diff --git a/CHANGELOG.md b/CHANGELOG.md index e585080cec9e..6b0a49827dd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,16 +1,20 @@ ## main +### Fixes + +- `[jest-snapshot-utils]` Fix deprecated goo.gl snapshot warning not handling Windows end-of-line sequences ([#15800](https://github.com/jestjs/jest/pull/15800)) + ## 30.1.0 ## Features -- `[jest-leak-detector]` Configurable GC aggressiveness regarding to V8 heap snapshot generation ([#15793](https://github.com/jestjs/jest/pull/15793/)) +- `[jest-leak-detector]` Configurable GC aggressiveness regarding to V8 heap snapshot generation ([#15793](https://github.com/jestjs/jest/pull/15793/)) - `[jest-runtime]` Reduce redundant ReferenceError messages - `[jest-core]` Include test modules that failed to load when --onlyFailures is active ### Fixes -- `[jest-snapshot-utils] Fix deprecated goo.gl snapshot guide link not getting replaced with fully canonical URL ([#15787](https://github.com/jestjs/jest/pull/15787)) +- `[jest-snapshot-utils]` Fix deprecated goo.gl snapshot guide link not getting replaced with fully canonical URL ([#15787](https://github.com/jestjs/jest/pull/15787)) - `[jest-circus]` Fix `it.concurrent` not working with `describe.skip` ([#15765](https://github.com/jestjs/jest/pull/15765)) - `[jest-snapshot]` Fix mangled inline snapshot updates when used with Prettier 3 and CRLF line endings - `[jest-runtime]` Importing from `@jest/globals` in more than one file no longer breaks relative paths ([#15772](https://github.com/jestjs/jest/issues/15772)) diff --git a/lerna.json b/lerna.json index 8ae3919f6ab9..e58d1cc617d1 100644 --- a/lerna.json +++ b/lerna.json @@ -8,5 +8,5 @@ "syncWorkspaceLock": true } }, - "version": "30.1.0" + "version": "30.1.1" } diff --git a/packages/babel-jest/package.json b/packages/babel-jest/package.json index 79a45be68455..695df5d9d118 100644 --- a/packages/babel-jest/package.json +++ b/packages/babel-jest/package.json @@ -1,7 +1,7 @@ { "name": "babel-jest", "description": "Jest plugin to use babel for transformation.", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/create-jest/package.json b/packages/create-jest/package.json index ae5a59366878..37751794d033 100644 --- a/packages/create-jest/package.json +++ b/packages/create-jest/package.json @@ -1,7 +1,7 @@ { "name": "create-jest", "description": "Create a new Jest project", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/expect-utils/package.json b/packages/expect-utils/package.json index 1a381ced5db9..278cc8e2d18a 100644 --- a/packages/expect-utils/package.json +++ b/packages/expect-utils/package.json @@ -1,6 +1,6 @@ { "name": "@jest/expect-utils", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/expect/package.json b/packages/expect/package.json index 0856b0106869..5e1df087f79d 100644 --- a/packages/expect/package.json +++ b/packages/expect/package.json @@ -1,6 +1,6 @@ { "name": "expect", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-circus/package.json b/packages/jest-circus/package.json index 70955c45d95e..9a6e85b56955 100644 --- a/packages/jest-circus/package.json +++ b/packages/jest-circus/package.json @@ -1,6 +1,6 @@ { "name": "jest-circus", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-cli/package.json b/packages/jest-cli/package.json index a9de0a9fbc96..7dabb077d15b 100644 --- a/packages/jest-cli/package.json +++ b/packages/jest-cli/package.json @@ -1,7 +1,7 @@ { "name": "jest-cli", "description": "Delightful JavaScript Testing.", - "version": "30.1.0", + "version": "30.1.1", "main": "./build/index.js", "types": "./build/index.d.ts", "exports": { diff --git a/packages/jest-config/package.json b/packages/jest-config/package.json index c2721d5f3cef..c46ae2b112a3 100644 --- a/packages/jest-config/package.json +++ b/packages/jest-config/package.json @@ -1,6 +1,6 @@ { "name": "jest-config", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-console/package.json b/packages/jest-console/package.json index 5ed3f1bd8fe1..e6b4e389dd03 100644 --- a/packages/jest-console/package.json +++ b/packages/jest-console/package.json @@ -1,6 +1,6 @@ { "name": "@jest/console", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-core/package.json b/packages/jest-core/package.json index db571e8bb5fa..3d760a2d7a7d 100644 --- a/packages/jest-core/package.json +++ b/packages/jest-core/package.json @@ -1,7 +1,7 @@ { "name": "@jest/core", "description": "Delightful JavaScript Testing.", - "version": "30.1.0", + "version": "30.1.1", "main": "./build/index.js", "types": "./build/index.d.ts", "exports": { diff --git a/packages/jest-diff/package.json b/packages/jest-diff/package.json index 60f9c549b38d..938d9468f15c 100644 --- a/packages/jest-diff/package.json +++ b/packages/jest-diff/package.json @@ -1,6 +1,6 @@ { "name": "jest-diff", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-environment-jsdom-abstract/package.json b/packages/jest-environment-jsdom-abstract/package.json index 222aebc37c37..6b30c6191f37 100644 --- a/packages/jest-environment-jsdom-abstract/package.json +++ b/packages/jest-environment-jsdom-abstract/package.json @@ -1,6 +1,6 @@ { "name": "@jest/environment-jsdom-abstract", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-environment-jsdom/package.json b/packages/jest-environment-jsdom/package.json index ea9c16f700ea..637042ffd557 100644 --- a/packages/jest-environment-jsdom/package.json +++ b/packages/jest-environment-jsdom/package.json @@ -1,6 +1,6 @@ { "name": "jest-environment-jsdom", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-environment-node/package.json b/packages/jest-environment-node/package.json index 951da77a6846..2796a2c8755b 100644 --- a/packages/jest-environment-node/package.json +++ b/packages/jest-environment-node/package.json @@ -1,6 +1,6 @@ { "name": "jest-environment-node", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-environment/package.json b/packages/jest-environment/package.json index 83a5136b7e2e..c94eeb296e62 100644 --- a/packages/jest-environment/package.json +++ b/packages/jest-environment/package.json @@ -1,6 +1,6 @@ { "name": "@jest/environment", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-expect/package.json b/packages/jest-expect/package.json index 2fe9367d8b55..982357226798 100644 --- a/packages/jest-expect/package.json +++ b/packages/jest-expect/package.json @@ -1,6 +1,6 @@ { "name": "@jest/expect", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-fake-timers/package.json b/packages/jest-fake-timers/package.json index a12d55b33bec..27699e193b0a 100644 --- a/packages/jest-fake-timers/package.json +++ b/packages/jest-fake-timers/package.json @@ -1,6 +1,6 @@ { "name": "@jest/fake-timers", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-globals/package.json b/packages/jest-globals/package.json index 6928478b6f58..3fbc7048e8a3 100644 --- a/packages/jest-globals/package.json +++ b/packages/jest-globals/package.json @@ -1,6 +1,6 @@ { "name": "@jest/globals", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-jasmine2/package.json b/packages/jest-jasmine2/package.json index 8bde6ce53a2c..f51c565f7c46 100644 --- a/packages/jest-jasmine2/package.json +++ b/packages/jest-jasmine2/package.json @@ -1,6 +1,6 @@ { "name": "jest-jasmine2", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-matcher-utils/package.json b/packages/jest-matcher-utils/package.json index f382929237d7..cee1c512927b 100644 --- a/packages/jest-matcher-utils/package.json +++ b/packages/jest-matcher-utils/package.json @@ -1,7 +1,7 @@ { "name": "jest-matcher-utils", "description": "A set of utility functions for expect and related packages", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-phabricator/package.json b/packages/jest-phabricator/package.json index 89b634c5f7d1..afe2d45d2822 100644 --- a/packages/jest-phabricator/package.json +++ b/packages/jest-phabricator/package.json @@ -1,6 +1,6 @@ { "name": "jest-phabricator", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-reporters/package.json b/packages/jest-reporters/package.json index be922090bd3b..32621af96702 100644 --- a/packages/jest-reporters/package.json +++ b/packages/jest-reporters/package.json @@ -1,7 +1,7 @@ { "name": "@jest/reporters", "description": "Jest's reporters", - "version": "30.1.0", + "version": "30.1.1", "main": "./build/index.js", "types": "./build/index.d.ts", "exports": { diff --git a/packages/jest-resolve-dependencies/package.json b/packages/jest-resolve-dependencies/package.json index e2211e80d96f..1215154198d5 100644 --- a/packages/jest-resolve-dependencies/package.json +++ b/packages/jest-resolve-dependencies/package.json @@ -1,6 +1,6 @@ { "name": "jest-resolve-dependencies", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-runner/package.json b/packages/jest-runner/package.json index b053704651ff..f738a43b4493 100644 --- a/packages/jest-runner/package.json +++ b/packages/jest-runner/package.json @@ -1,6 +1,6 @@ { "name": "jest-runner", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-runtime/package.json b/packages/jest-runtime/package.json index b04207b2514d..f94b7b7db739 100644 --- a/packages/jest-runtime/package.json +++ b/packages/jest-runtime/package.json @@ -1,6 +1,6 @@ { "name": "jest-runtime", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-snapshot-utils/package.json b/packages/jest-snapshot-utils/package.json index eb4999787bee..d360b1fa9740 100644 --- a/packages/jest-snapshot-utils/package.json +++ b/packages/jest-snapshot-utils/package.json @@ -1,6 +1,6 @@ { "name": "@jest/snapshot-utils", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-snapshot-utils/src/__tests__/utils.test.ts b/packages/jest-snapshot-utils/src/__tests__/utils.test.ts index 6d0c68450ea1..b3712ee17fc9 100644 --- a/packages/jest-snapshot-utils/src/__tests__/utils.test.ts +++ b/packages/jest-snapshot-utils/src/__tests__/utils.test.ts @@ -135,27 +135,33 @@ test('getSnapshotData() throws for older snapshot version', () => { ); }); -test('getSnapshotData() throws for newer snapshot version', () => { - const filename = path.join(__dirname, 'old-snapshot.snap'); - jest - .mocked(fs.readFileSync) - .mockReturnValue( - `// Jest Snapshot v2, ${SNAPSHOT_GUIDE_LINK}\n\n` + - 'exports[`myKey`] = `
\n
`;\n', +test.each([ + ['Linux', '\n'], + ['Windows', '\r\n'], +])( + 'getSnapshotData() throws for newer snapshot version with %s line endings', + (_: string, fileEol: string) => { + const filename = path.join(__dirname, 'old-snapshot.snap'); + jest + .mocked(fs.readFileSync) + .mockReturnValue( + `// Jest Snapshot v2, ${SNAPSHOT_GUIDE_LINK}${fileEol}${fileEol}` + + `exports[\`myKey\`] = \`
${fileEol}
\`;${fileEol}`, + ); + const update = 'none'; + + expect(() => getSnapshotData(filename, update)).toThrow( + `${chalk.red( + `${chalk.red.bold('Outdated Jest version')}: The version of this ` + + 'snapshot file indicates that this project is meant to be used ' + + 'with a newer version of Jest. ' + + 'The snapshot file version ensures that all developers on a project ' + + 'are using the same version of Jest. ' + + 'Please update your version of Jest and re-run the tests.', + )}\n\nExpected: v${SNAPSHOT_VERSION}\nReceived: v2`, ); - const update = 'none'; - - expect(() => getSnapshotData(filename, update)).toThrow( - `${chalk.red( - `${chalk.red.bold('Outdated Jest version')}: The version of this ` + - 'snapshot file indicates that this project is meant to be used ' + - 'with a newer version of Jest. ' + - 'The snapshot file version ensures that all developers on a project ' + - 'are using the same version of Jest. ' + - 'Please update your version of Jest and re-run the tests.', - )}\n\nExpected: v${SNAPSHOT_VERSION}\nReceived: v2`, - ); -}); + }, +); test('getSnapshotData() throws for deprecated snapshot guide link', () => { const deprecatedGuideLink = 'https://goo.gl/fbAQLP'; @@ -170,7 +176,9 @@ test('getSnapshotData() throws for deprecated snapshot guide link', () => { expect(() => getSnapshotData(filename, update)).toThrow( `${chalk.red( - `${chalk.red.bold('Outdated guide link')}: The snapshot guide link is outdated.` + + `${chalk.red.bold( + 'Outdated guide link', + )}: The snapshot guide link is outdated.` + 'Please update all snapshots while upgrading of Jest', )}\n\nExpected: ${SNAPSHOT_GUIDE_LINK}\n` + `Received: ${deprecatedGuideLink}`, diff --git a/packages/jest-snapshot-utils/src/utils.ts b/packages/jest-snapshot-utils/src/utils.ts index f423fce2cda5..fbb737aa9651 100644 --- a/packages/jest-snapshot-utils/src/utils.ts +++ b/packages/jest-snapshot-utils/src/utils.ts @@ -13,7 +13,7 @@ import type {Config} from '@jest/types'; import type {SnapshotData} from './types'; export const SNAPSHOT_VERSION = '1'; -const SNAPSHOT_HEADER_REGEXP = /^\/\/ Jest Snapshot v(.+), (.+)\n/; +const SNAPSHOT_HEADER_REGEXP = /^\/\/ Jest Snapshot v(.+), (.+)\r?\n/; export const SNAPSHOT_GUIDE_LINK = 'https://jestjs.io/docs/snapshot-testing'; export const SNAPSHOT_VERSION_WARNING = chalk.yellow( `${chalk.bold('Warning')}: Before you upgrade snapshots, ` + @@ -77,7 +77,9 @@ const validateSnapshotHeader = (snapshotContents: string) => { return new Error( // eslint-disable-next-line prefer-template chalk.red( - `${chalk.red.bold('Outdated guide link')}: The snapshot guide link is outdated.` + + `${chalk.red.bold( + 'Outdated guide link', + )}: The snapshot guide link is outdated.` + 'Please update all snapshots while upgrading of Jest', ) + '\n\n' + diff --git a/packages/jest-snapshot/package.json b/packages/jest-snapshot/package.json index ec69a8d0e286..c8832a7637a1 100644 --- a/packages/jest-snapshot/package.json +++ b/packages/jest-snapshot/package.json @@ -1,6 +1,6 @@ { "name": "jest-snapshot", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-test-result/package.json b/packages/jest-test-result/package.json index 7380ee29f842..3ac525ec4a73 100644 --- a/packages/jest-test-result/package.json +++ b/packages/jest-test-result/package.json @@ -1,6 +1,6 @@ { "name": "@jest/test-result", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-test-sequencer/package.json b/packages/jest-test-sequencer/package.json index 8ffd15f5c450..f51b366c7cc1 100644 --- a/packages/jest-test-sequencer/package.json +++ b/packages/jest-test-sequencer/package.json @@ -1,6 +1,6 @@ { "name": "@jest/test-sequencer", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-transform/package.json b/packages/jest-transform/package.json index dbbfee9f443d..a314ddc0c323 100644 --- a/packages/jest-transform/package.json +++ b/packages/jest-transform/package.json @@ -1,6 +1,6 @@ { "name": "@jest/transform", - "version": "30.1.0", + "version": "30.1.1", "repository": { "type": "git", "url": "https://github.com/jestjs/jest.git", diff --git a/packages/jest-watcher/package.json b/packages/jest-watcher/package.json index 8b0c7099df28..44b554c2721e 100644 --- a/packages/jest-watcher/package.json +++ b/packages/jest-watcher/package.json @@ -1,7 +1,7 @@ { "name": "jest-watcher", "description": "Delightful JavaScript Testing.", - "version": "30.1.0", + "version": "30.1.1", "main": "./build/index.js", "types": "./build/index.d.ts", "exports": { diff --git a/packages/jest/package.json b/packages/jest/package.json index 869eae85436a..897dba4eb216 100644 --- a/packages/jest/package.json +++ b/packages/jest/package.json @@ -1,7 +1,7 @@ { "name": "jest", "description": "Delightful JavaScript Testing.", - "version": "30.1.0", + "version": "30.1.1", "main": "./build/index.js", "types": "./build/index.d.ts", "exports": { diff --git a/packages/test-globals/package.json b/packages/test-globals/package.json index a43d5181f63d..adf65528f356 100644 --- a/packages/test-globals/package.json +++ b/packages/test-globals/package.json @@ -1,6 +1,6 @@ { "name": "@jest/test-globals", - "version": "30.1.0", + "version": "30.1.1", "private": true, "main": "./build/index.js", "types": "./build/index.d.ts", diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index f87506efa5a6..c3fc2c960430 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@jest/test-utils", - "version": "30.1.0", + "version": "30.1.1", "private": true, "main": "./build/index.js", "types": "./build/index.d.ts",