You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG_V4+.md
+11-4Lines changed: 11 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,10 @@ All notable changes to this project on `v4+` will be documented in this file.
4
4
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
Copy file name to clipboardExpand all lines: README.md
+21-32Lines changed: 21 additions & 32 deletions
Original file line number
Diff line number
Diff line change
@@ -23,11 +23,11 @@ Starting from [`v4.0.0`], this project is set to receive regular maintenances. N
23
23
Maintenance work will begin on 1st of each month, and expect the new version to be released within the first week of the month. New features from different tools integrated in this boilerplate might not always be implemented at once, especially on experimental features. If you want any particular feature to be implemented, please [file an issue], or consider make a [new pull request].
24
24
25
25
### Development plan
26
-
-[ ] Develop a `create-react-app`-like NPX tool __!!! *([working on it](https://github.com/Devtography/create-ertw-app))*__
26
+
-[ ] Develop a `create-react-app`-like NPX tool __!!! *(pending)*__
27
27
-[ ] Integrate another end-to-end testing framework to replace [Spectron]
28
28
-[ ] Migrate to Webpack 5 `Asset Modules`__*(pending for `v4.2.0`)*__
29
29
-[ ] Integrate HMR & Webpack dev server
30
-
-[x] Monitor the status of ESM support on [Jest] & [ts-jest]__*(Check [Known issues](#known-issues) for details)*__
30
+
-[ ] Introduce `v5.x-beta` releases based on `v4.x` with ESM support.
31
31
32
32
---
33
33
@@ -42,12 +42,18 @@ Maintenance work will begin on 1st of each month, and expect the new version to
42
42
43
43
-[ESLint] config file `.eslintrc.cjs` introduced in [`v4.1.0`] is written in CommonJS syntax on purpose. As of the release of [`v4.1.0`], ESLint has yet to support ES module for its' config file. __Converting the config file to ES module will result in ESLint not working.__
44
44
45
-
-As of [`v4.1.2`], [Jest] & [ts-jest] are __NOT__ configured to run the test files as ES modules, despite all other sections of this boilerplate are configured to support native ES modules. Please check [Known issues](#known-issues) for details.
45
+
-ESM support introduced in [`v4.1.2`] has been reversed in [`v4.1.3`] as enabling ESM support has caused some incompatibilities with popular packages (e.g. `MUI`) without workarounds. A separate `v5.x-beta` branch will be released in the near future with ESM enabled by default.
46
46
47
47
---
48
48
49
49
## Getting started
50
-
1. Clone this repository, or if you're hosting your Electron project on GitHub, click [`Use this template`] to create a new project.
50
+
1. Clone this repository with the following `git clone` command:
Alternatively, if you're hosting your Electron project on GitHub, click [`Use this template`] to create a new project.
51
57
52
58
2. Edit the following fields in `package.json` for your own project:
53
59
@@ -95,32 +101,17 @@ To package your Electron app, run `npm run prod` to get your code compiled in `p
95
101
96
102
This solution isn't ideal but since `asar` archiving is meant to improve performance of reading files if bundler like Webpack is not being used. The app packaging workflow defined in this boilerplate already uses Webpack to minify your code in `production` builds, so there shouldn't be any significant performance difference with `asar` archiving disabled.
97
103
98
-
- __IMPORTANT!!!__
99
-
100
-
As of [`v4.1.2`], the `jest.mock()` function is broken if [Jest] and [ts-jest] are configured with [ESM Support]. The following code will result in a `SyntaxError` being thrown when trying to execute the test with Jest.
104
+
## Contributing
105
+
Development of Electron-React-Typescript-Webpack(ERTW) Boilerplate happens 100% open on GitHub, all contributions on bugfixes and improvements are welcomed. Read below to learn how you can take part in improving this boilerplate.
101
106
102
-
```ts
103
-
import { jest } from '@jest/globals';
104
-
import { BrowserWindow } from 'electron';
107
+
### [Code of Conduct](CODE_OF_CONDUCT.md)
108
+
A simple Code of Conduct has been adopted and all project participants are expected to adhere to. Please read [the full text](CODE_OF_CONDUCT.md) so that you can understand what actions will and will not be tolerated.
Read the [contributing guide](CONTRIBUTING.md) to learn about the development process, how to propose bugfixes and improvements, and how to build and test your changes to ERTW Boilerplate.
113
112
114
-
```
115
-
SyntaxError: The requested module 'electron' does not provide an export named 'BrowserWindow'
116
-
```
117
-
118
-
The current solution is to keep using the non ESM supported version of `jest.config.js`, but with `NODE_OPTIONS=--experimental-vm-modules` set when running Jest (already set in [`v4.1.2`]). The drawback of this is you won't be able to use `import.meta` APIs in your code. It could be a deal breaker for some of you.
119
-
120
-
I'm closely monitoring the situation atm, and I'll consider rollback the ESM related setting introduced in [`v4.1.0`] if there's no progress made solving this issue by the time I prepare the release of `v4.2.0`. You can track the progress on a related issue [facebook/jest #10025] if you want.
Maintaining this project takes time, lots of cups of coffee, and I do it for free. Consider buy me some coffee via [GitHub Sponsors] or [PayPal]. 100% of your donation will fund my coffee buying budget for quality coffee beans from great roasters I know 😉 ☕️️
0 commit comments