-
Notifications
You must be signed in to change notification settings - Fork 67
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
Node 18 & Jest 29 #2210
Node 18 & Jest 29 #2210
Changes from all commits
3c3c46f
efbb100
5772293
daa248e
616a6cb
eeeea94
94aad39
4bcf9b5
fae4e7c
105aa18
561602b
91b1b56
66851de
016a4c2
37d7519
6bc398d
be97f64
a21371e
e27117a
4dddf8b
6369acf
a7eacb3
530c935
99b4c0d
0dd0c7a
3758206
700267f
2559c07
66fd5d2
393d950
469816d
508b9da
e7d34cc
4badd56
a7d0cb5
631d2a4
a1410e6
3552d2b
397652a
fda49b3
a7f1741
cf48235
b173d0c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
'create-modular-react-app': major | ||
'eslint-config-modular-app': major | ||
'modular-scripts': major | ||
'modular-template-app': patch | ||
'modular-template-esm-view': patch | ||
'modular-template-view': patch | ||
--- | ||
|
||
Added Node 18 engine support | ||
Upgraded Jest from 26 to 29 as 26 wasn't compatible with Node 18 | ||
Upgraded to rollup-plugin-esbuild 5, dropping support for Node 14.17 and below | ||
Supported Node versions now: ^14.18.0 || >=16.10.0 || >=18.0.0 | ||
Changed Jest flag --watchAll default to false (was previously true if running locally and not in CI) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
--- | ||
parent: Release Notes | ||
title: 4.0.x | ||
--- | ||
|
||
# Modular 4.0.0 (IN PROGRESS, EDIT BEFORE RELEASE) | ||
|
||
## New Features | ||
|
||
- Node 18 Support | ||
- Updated Jest to [^29.3.1](https://github.com/facebook/jest/releases) | ||
|
||
## Breaking Changes | ||
|
||
### Upgraded to Jest 29 | ||
|
||
Jest has been bumped up three major versions from Jest 26, and it comes with a | ||
number of breaking changes. | ||
|
||
We suggest reading through the following migration guides: | ||
|
||
- [Jest 26 to 27 Change Log](https://github.com/facebook/jest/releases/tag/v27.0.0) | ||
- [Jest 27 to 28 Migration Guide](https://jestjs.io/docs/28.x/upgrading-to-jest28) | ||
| [Change log](https://github.com/facebook/jest/releases/tag/v28.0.0) | ||
- [Jest 28 to 29 Migration Guide](https://jestjs.io/docs/next/upgrading-to-jest29) | ||
| [Change log](https://github.com/facebook/jest/releases/tag/v29.0.0) | ||
|
||
Some noteworthy breaking changes: | ||
|
||
- Changed default snapshot formatting options to {escapeString: false, | ||
printBasicPrototype: false} as outlined by | ||
[this blogpost](https://jestjs.io/blog/2022/04/25/jest-28#future) - Any | ||
snapshots tests will have to be updated with the new format, or you can | ||
override the snapshotFormat option to the old defaults. | ||
- As of Jest 28 Jest-Environment-JSDOM is no longer shipped with Jest and needs | ||
to be installed separately | ||
- Jest now includes full support of package.json exports - some existing imports | ||
might not resolve correctly | ||
|
||
### Upgraded to ESLint 8 | ||
|
||
(NOT YET DONE, ADD ANY ISSUES/BREAKING CHANGES) | ||
|
||
### Removed Commands | ||
|
||
We no longer provide the following commands: (FILL AS NEEDED) (PROVIDE/LINK | ||
DOCUMENTATION FOR HOW TO REPLICATE COMMAND BEHAVIOUR MANUALLY) | ||
|
||
### Other | ||
|
||
- Jest `--watchAll` flag when running modular test is now `false` by default | ||
(Previously set to true unless running in CI) | ||
- Dropped support for minor versions of Node 14.17 and Node 16 version 16.9 and | ||
below | ||
- Now support Node ^14.18.0, >=16.10.0, and >=18.0.0 | ||
|
||
# Merged Changes | ||
|
||
ADD WHEN RELEASING | ||
|
||
<!-- UPDATE WHEN RELEASING - `modular-scripts` @ 3.4.0 - See | ||
[the GitHub release](https://github.com/jpmorganchase/modular/releases/tag/modular-scripts%403.4.0) | ||
for full details | ||
- `create-modular-react-app` @ 3.0.1 - See | ||
[the GitHub release](https://github.com/jpmorganchase/modular/releases/tag/create-modular-react-app%403.0.1) | ||
for full details | ||
- `eslint-config-modular-app` @ 3.0.2 - See | ||
[the GitHub release](https://github.com/jpmorganchase/modular/releases/tag/eslint-config-modular-app%403.0.2) | ||
for full details | ||
- `@modular-scripts/modular-types` @ 1.1.0 - See | ||
[the GitHub release](https://github.com/jpmorganchase/modular/releases/tag/%40modular-scripts%2Fmodular-types%401.1.0) | ||
for full details | ||
- `@modular-scripts/workspace-resolver` @ 1.1.0 - See | ||
[the GitHub release](https://github.com/jpmorganchase/modular/releases/tag/%40modular-scripts%2Fworkspace-resolver%401.1.0) | ||
for full details --> | ||
|
||
# Patch Versions | ||
|
||
Patch versions of this release do not have a dedicated summary. For details of | ||
patch releases, please visit | ||
[the GitHub releases page](https://github.com/jpmorganchase/modular/releases). |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,7 +5,7 @@ | |
"packages/**" | ||
], | ||
"engines": { | ||
"node": "^14.17.0 || >=16.0.0" | ||
"node": "^14.18.0 || >=16.10.0 || >=18.0.0" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Matched node support to what Jest 29 supports |
||
}, | ||
"repository": "https://github.com/jpmorganchase/modular.git", | ||
"scripts": { | ||
|
@@ -14,7 +14,7 @@ | |
"lint:fix": "yarn lint --fix", | ||
"create-modular-react-app": "ts-node packages/create-modular-react-app/src/cli.ts", | ||
"modular": "ts-node packages/modular-scripts/src/cli.ts", | ||
"test": "yarn modular test --watchAll false --runInBand", | ||
"test": "yarn modular test --watchAll false --runInBand --env node", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Our tests are mostly back end tests that don't require the JSDOM env that we set as default for Modular (Modular users will continue to use JSDOM as default) |
||
"build": "yarn workspace @modular-scripts/workspace-resolver build && yarn workspace create-modular-react-app build && yarn workspace modular-scripts build && yarn workspace modular-views.macro build", | ||
"start": "yarn modular start modular-site", | ||
"prepare": "is-ci || husky install", | ||
|
@@ -59,7 +59,7 @@ | |
"@types/global-modules": "^2.0.0", | ||
"@types/html-minifier-terser": "6.1.0", | ||
"@types/is-ci": "3.0.0", | ||
"@types/jest": "26.0.24", | ||
"@types/jest": "^29.0.0", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Setting Jest version range to allow minor updates so that we stay up to date until we come across any issues |
||
"@types/mime": "^2.0.3", | ||
"@types/node": "*", | ||
"@types/npm-packlist": "3.0.0", | ||
|
@@ -80,6 +80,7 @@ | |
"execa": "5.1.1", | ||
"husky": "8.0.1", | ||
"is-ci": "2.0.0", | ||
"jest-environment-jsdom": "^29.3.1", | ||
"lint-staged": "12.4.1", | ||
"micromatch": "4.0.5", | ||
"patch-package": "^6.4.7", | ||
|
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.
Started documenting Modular 4.0 changes - will be updating it in future PRs before release