-
-
Notifications
You must be signed in to change notification settings - Fork 609
feat!: Node 22 + ESM #4059
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: next
Are you sure you want to change the base?
feat!: Node 22 + ESM #4059
Conversation
|
All alerts resolved. Learn more about Socket for GitHub. This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
You're an absolute legend @erickzhao 🎸 |
| @@ -1,3 +1,4 @@ | |||
| // eslint-disable-next-line | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: we could update .eslintrc.json at line 117 to include .js / .cjs files so that "n/no-unpublished-require": "off" also applies here:
- "packages/*/*/spec/fixture/**/*.ts"
+ "packages/*/*/spec/fixture/**/*.{ts,js,cjs}"| "version": "1.0.0", | ||
| "main": "./src/main.js", | ||
| "main": "./src/main.cjs", | ||
| "type": "commonjs", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
aside: do we want to / should we update test fixtures to ESM at some point? That'd enable us to simplify the ESLint config a bit by removing all CJS-related rules.
| @@ -1412,7 +1405,7 @@ __metadata: | |||
| languageName: unknown | |||
| linkType: soft | |||
|
|
|||
| "@electron/asar@npm:^3.2.1, @electron/asar@npm:^3.2.13, @electron/asar@npm:^3.3.1": | |||
| "@electron/asar@npm:^3.2.1": | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note: looks like electron-winstaller hasn't been updated to ESM, which is why we still depend on an older version of @electron/asar. Do we want to update electron-winstaller before landing this PR so all first-party Forge deps are ESM or is this something that can be addressed later (probably before Forge 8 stable)?
BREAKING CHANGE: this package now requires Node.js 22 and ESM. All
@electron/packages are bumped to their latest major versions.Closes #3623
Closes #3684
enginesto Node 22@types/nodedependencies@electron/packages to their latest major versionstype: modulein package.jsonts-nodewithtsxdistutilsand Python 3.11lodashwithlodash-esSplit off PRs:
.nvmrcfile for CI #4081ts-nodewithtsx#4085pre-pushhook #4117Future improvements:
jitifor the configuration loading