Skip to content
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

chore(deps): update jest monorepo (major) #30434

Merged
merged 3 commits into from
Feb 15, 2019
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 27, 2019

This PR contains the following updates:

Package Type Update Change References
babel-jest devDependencies major 23.6.0 -> 24.1.0 source
jest devDependencies major 23.6.0 -> 24.1.0 homepage, source
jest-docblock devDependencies major 23.2.0 -> 24.0.0 source

Release Notes

facebook/jest

v24.1.0

Compare Source

Features
  • [jest-resolve]: Pass default resolver into custom resolvers (#​7714)
  • [jest-cli]: global{Setup,Teardown} use default export with es modules (#​7750)
  • [jest-runtime] Better error messages when the jest environment is used after teardown by async code (#​7756)
  • [jest-jasmine2] Will now only execute at most 5 concurrent tests within the same testsuite when using test.concurrent (#​7770)
  • [jest-circus] Same as [jest-jasmine2], only 5 tests will run concurrently by default (#​7770)
  • [jest-config] A new maxConcurrency option allows to change the number of tests allowed to run concurrently (#​7770)
Fixes
  • [jest-runtime] Fix for mocks not working with module name mapper (#​7787)
  • [jest-cli] Break dependency cycle when using Jest programmatically (#​7707)
  • [jest-config] Extract setupFilesAfterEnv from preset (#​7724)
  • [jest-cli] Do not execute any globalSetup or globalTeardown if there are no tests to execute (#​7745)
  • [jest-runtime] Lock down version of write-file-atomic (#​7725)
  • [jest-cli] Print log entries when logging happens after test environment is torn down (#​7731)
  • [jest-config] Do not use a uuid as name since that breaks caching (#​7746)
  • [jest-config] Make sure normalize can consume Defaults without warnings (#​7742)
  • [jest-config] Allow moduleFileExtensions without 'js' for custom runners (#​7751)
  • [jest-cli] Load transformers before installing require hooks (#​7752
  • [jest-cli] Handle missing numTodoTests in test results (#​7779)
  • [jest-runtime] Exclude setup/teardown files from coverage report (#​7790
  • [babel-jest] Throw an error if babel-jest tries to transform a file ignored by Babel (#​7797)
  • [babel-plugin-jest-hoist] Ignore TS type references when looking for out-of-scope references (#​7799
Chore & Maintenance
  • [jest] Update jest-junit to ^6.2.1 (#​7739)
  • [website] Fix broken help link on homepage (#​7706)
  • [docs] Changed Babel setup documentation to correctly compile async/await (#​7701)

v24.0.0

Compare Source

Features
  • [jest-each] [BREAKING] Add primitive pretty printing for interpolated titles (#​7694)
  • [jest-runtime] Add jest.isolateModules for scoped module initialization (#​6701)
  • [jest-diff] [BREAKING] Support diffing numbers and booleans instead of returning null for different ones (#​7605)
  • [jest-diff] [BREAKING] Replace diff with diff-sequences package (#​6961)
  • [jest-cli] [BREAKING] Only set error process error codes when they are non-zero (#​7363)
  • [jest-config] [BREAKING] Deprecate setupTestFrameworkScriptFile in favor of new setupFilesAfterEnv (#​7119)
  • [jest-worker] [BREAKING] Add functionality to call a setup method in the worker before the first call and a teardown method when ending the farm (#​7014)
  • [jest-config] [BREAKING] Set default notifyMode to failure-change (#​7024)
  • [jest-haste-map] [BREAKING] Remove support for @providesModule (#​6104)
  • [jest-haste-map] [BREAKING] Replace internal data structures to improve performance (#​6960)
  • [jest-haste-map] [BREAKING] Use relative paths to allow remote caching (#​7020)
  • [jest-haste-map] [BREAKING] Remove name from hash in HasteMap.getCacheFilePath (#​7218)
  • [babel-preset-jest] [BREAKING] Export a function instead of an object for Babel 7 compatibility (#​7203)
  • [jest-haste-map] [BREAKING] Expose relative paths when getting the file iterator (#​7321)
  • [jest-cli] [BREAKING] Run code transforms over global{Setup,Teardown} (#​7562)
  • [jest-haste-map] Add hasteFS.getSize(path) (#​7580)
  • [jest-cli] Print version ending in -dev when running a local Jest clone (#​7582)
  • [jest-cli] Add Support for globalSetup and globalTeardown in projects (#​6865)
  • [jest-runtime] Add extraGlobals to config to load extra global variables into the execution vm (#​7454)
  • [jest-util] Export specialChars containing Unicode characters and ANSI escapes for console output (#​7532)
  • [jest-config] Handle typescript (ts and tsx) by default (#​7533)
  • [jest-validate] Add support for comments in package.json using a "//" key (#​7295)
  • [jest-config] Add shorthand for watch plugins and runners (#​7213)
  • [jest-jasmine2/jest-circus/jest-cli] Add test.todo (#​6996)
  • [pretty-format] Option to not escape strings in diff messages (#​5661)
  • [jest-haste-map] Add getFileIterator to HasteFS for faster file iteration (#​7010)
  • [jest-config] Add readConfigs function, previously in jest-cli (#​7096)
  • [jest-snapshot] Enable configurable snapshot paths (#​6143)
  • [pretty-format] Support HTMLCollection and NodeList in DOMCollection plugin (#​7125)
  • [jest-runtime] Pass the normalized configuration to script transformers (#​7148)
  • [expect] Improve report when assertion fails, part 3 (#​7152)
  • [jest-runtime] If require fails without a file extension, print all files that match with one (#​7160)
  • [jest-haste-map] Make ignorePattern optional (#​7166)
  • [jest-haste-map] Add getCacheFilePath to get the path to the cache file for a HasteMap instance (#​7217)
  • [jest-runtime] Remove cacheDirectory from ignorePattern for HasteMap if not necessary (#​7166)
  • [jest-validate] Add syntax to validate multiple permitted types (#​7207)
  • [jest-config] Accept an array as as well as a string for testRegex([#​7209]#​7209))
  • [expect/jest-matcher-utils] Improve report when assertion fails, part 4 (#​7241)
  • [expect/jest-matcher-utils] Improve report when assertion fails, part 5 (#​7557)
  • [expect] Check constructor equality in .toStrictEqual() (#​7005)
  • [jest-util] Add jest.getTimerCount() to get the count of scheduled fake timers (#​7285)
  • [jest-config] Add dependencyExtractor option to use a custom module to extract dependencies from files (#​7313, #​7349, #​7350, #​7362)
  • [jest-haste-map] Accept a getCacheKey method in hasteImplModulePath modules to reset the cache when the logic changes (#​7350)
  • [jest-config] Add haste.computeSha1 option to compute the sha-1 of the files in the haste map (#​7345)
  • [expect] expect(Infinity).toBeCloseTo(Infinity) Treats Infinity as equal in toBeCloseTo matcher (#​7405)
  • [jest-worker] Add node worker-thread support to jest-worker (#​7408)
  • [jest-config] Allow bail setting to be configured with a number allowing tests to abort after n of failures (#​7335)
  • [jest-config] Allow % based configuration of --max-workers (#​7494)
  • [jest-runner] Instantiate the test environment class with the current testPath (#​7442)
  • [jest-config] Always resolve jest-environment-jsdom from jest-config (#​7476)
  • [expect] Improve report when assertion fails, part 6 (#​7621)
  • [jest-worker] Add enableWorkerThreads option to explicitly opt-in to worker_threads if available (#​7681)
Fixes
  • [expect] Accept inherited properties in toHaveProperty matcher (#​7686)
  • [jest-diff] Do not claim that -0 and 0 have no visual difference (#​7605)
  • [jest-mock] Fix automock for numeric function names (#​7653)
  • [jest-config] Ensure existsSync is only called with a string parameter (#​7607)
  • [expect] toStrictEqual considers sparseness of arrays. (#​7591)
  • [jest-cli] Fix empty coverage data for untested files (#​7388)
  • [jest-cli] [BREAKING] Do not use text-summary coverage reporter by default if other reporters are configured (#​7058)
  • [jest-mock] [BREAKING] Fix bugs with mock/spy result tracking of recursive functions (#​6381)
  • [jest-haste-map] [BREAKING] Recover files correctly after haste name collisions are fixed (#​7329)
  • [pretty-format] [BREAKING] Omit non-enumerable symbol properties (#​7448)
  • [*] [BREAKING] Upgrade to Babel 7, dropping support for Babel 6 (#​7016)
  • [jest-cli] Avoid watch mode causing bad terminal behavior in some cases (#​7523)
  • [jest-runner/jest-worker] Fix missing console output in verbose mode (#​6871)
  • [expect] Standardize file naming in expect (#​7306)
  • [jest-each] Add empty array validation check (#​7249)
  • [jest-cli] Interrupt tests if interactive watch plugin key is pressed (#​7222)
  • [jest-each] Add each array validation check (#​7033)
  • [jest-haste-map] Do not visit again files with the same sha-1 (#​6990)
  • [jest-jasmine2] Fix memory leak in Error objects hold by the framework (#​6965)
  • [jest-haste-map] Fixed Haste whitelist generation for scoped modules on Windows (#​6980)
  • [jest-mock] Fix inheritance of static properties and methods in mocks (#​7003)
  • [jest-mock] Fix mocking objects without Object.prototype in their prototype chain (#​7003)
  • [jest-mock] Check _isMockFunction is true rather than truthy on potential mocks (#​7017)
  • [jest-cli] Update jest-cli to show git ref in message when using changedSince (#​7028)
  • [jest-jasmine2] Fix crash when test return Promise rejected with null (#​7049)
  • [jest-runtime] Check _isMockFunction is true rather than truthy on potential global mocks (#​7017)
  • [jest-jasmine] Show proper error message from async assert errors (#​6821)
  • [jest-jasmine2] Better error message when a describe block is empty (#​6372)
  • [jest-jasmine2] Pending calls inside async tests are reported as pending not failed (#​6782)
  • [jest-circus] Better error message when a describe block is empty (#​6372)
  • [jest-jasmine2] Add missing testLocationResults for xit and fit(#​6482)
  • [expect] Return false from asymmetric matchers if received value isn’t string (#​7107)
  • [jest-cli] Fix unhandled error when a bad revision is provided to changedSince (#​7115)
  • [jest-config] Moved dynamically assigned cwd from jest-cli to default configuration in jest-config (#​7146)
  • [jest-config] Fix getMaxWorkers on termux (#​7154)
  • [jest-runtime] Throw an explicit error if js is missing from moduleFileExtensions (#​7160)
  • [jest-runtime] Fix missing coverage when using negative glob pattern in testMatch (#​7170)
  • [*] Ensure maxWorkers is at least 1 (was 0 in some cases where there was only 1 CPU) (#​7182)
  • [jest-runtime] Fix transform cache invalidation when requiring a test file from multiple projects (#​7186)
  • [jest-changed-files] Return correctly the changed files when using lastCommit=true on Mercurial repositories (#​7228)
  • [babel-jest] Cache includes babel environment variables (#​7239)
  • [jest-config] Use strings instead of RegExp instances in normalized configuration (#​7251)
  • [jest-circus] Make sure to display real duration even if time is mocked (#​7264)
  • [expect] Improves the failing message for toStrictEqual matcher. (#​7224)
  • [expect] Improves the failing message for toEqual matcher. (#​7325)
  • [jest-resolve] Fix not being able to resolve path to mapped file with custom platform (#​7312)
  • [jest-message-util] Improve parsing of error messages for unusually formatted stack traces (#​7319)
  • [jest-runtime] Ensure error message text is not lost on errors with code frames (#​7319)
  • [jest-haste-map] Fix to resolve path that is start with words same as rootDir (#​7324)
  • [expect] Fix toMatchObject matcher when used with Object.create(null) (#​7334)
  • [jest-haste-map] Remove legacy condition for duplicate module detection (#​7333)
  • [jest-haste-map] Fix require detection with trailing commas and ignore import typeof modules (#​7385)
  • [jest-cli] Fix to set prettierPath via config file (#​7412)
  • [expect] Test more precisely for class instance getters (#​7477)
  • [jest-cli] Support dashed args (#​7497)
  • [jest-cli] Fix to run in band tests if watch mode enable when runInBand arg used (#​7518)
  • [jest-runtime] Fix mistake as test files when run coverage issue. (#​7506)
  • [jest-cli] print info about passWithNoTests flag (#​7309)
  • [pretty-format] Omit unnecessary symbol filter for object keys (#​7457)
  • [jest-runtime] Fix requireActual on node_modules with mock present (#​7404)
  • [jest-resolve] Fix isBuiltinModule to support versions of node without module.builtinModules (#​7565)
  • [babel-jest] Set cwd to be resilient to it changing during the runtime of the tests (#​7574)
  • [jest-snapshot] Write and read snapshots from disk even if fs is mocked (#​7080)
  • [jest-config] Normalize config.cwd and config.rootDir using `realpath (#​7598)
  • [jest-environment-node] Fix buffer property is not ArrayBuffer issue. (#​7626)
  • [babel-plugin-jest-hoist] Ignore TS type annotations when looking for out-of-scope references (#​7641)
  • [jest-config] Add name to project if one does not exist to pick correct resolver (#​5862)
  • [jest-runtime] Pass watchPathIgnorePatterns to Haste instance (#​7585)
  • [jest-runtime] Resolve mock files via Haste when using require.resolve (#​7687)
Chore & Maintenance
  • [*] [BREAKING] Require Node.js 6+ for all packages (#​7258)
  • [jest-util] [BREAKING] Remove long-deprecated globals for fake timers (#​7285)
  • [*] [BREAKING] Upgrade to Micromatch 3 (#​6650)
  • [*] [BREAKING] Remove regenerator-runtime injection (#​7595)
  • [jest-worker] Disable worker_threads to avoid issues with libraries to ready for it (#​7681)
  • [docs] Fix message property in custom matcher example to return a function instead of a constant. (#​7426)
  • [jest-circus] Standardize file naming in jest-circus (#​7301)
  • [docs] Add synchronous test.each setup (#​7150)
  • [docs] Add this.extend to the Custom Matchers API reference (#​7130)
  • [docs] Fix default value for coverageReporters value in configuration docs (#​7126)
  • [docs] Add link for jest-extended in expect docs (#​7078)
  • [jest-util] Add ErrorWithStack class (#​7067)
  • [docs] Document --runTestsByPath CLI parameter (#​7046)
  • [docs] Fix babel-core installation instructions (#​6745)
  • [docs] Explain how to rewrite assertions to avoid large irrelevant diff (#​6971)
  • [examples] add example using Babel 7 (#​6983)
  • [docs] Replace shallow equality with referential identity in ExpectAPI.md (#​6991)
  • [jest-changed-files] Refactor to use execa over child_process (#​6987)
  • [*] Bump dated dependencies (#​6978)
  • [scripts] Don’t make empty sub-folders for ignored files in build folder (#​7001)
  • [docs] Add missing export statement in puppeteer_environment.js under docs/Puppeteer.md (#​7127)
  • [docs] Removed useless expect.assertions in TestingAsyncCode.md (#​7131)
  • [docs] Remove references to @providesModule which isn't supported anymore (#​7147)
  • [docs] Update setupFiles documentation for clarity (#​7187)
  • [docs] Change require.require* to jest.require* (#​7210)
  • [jest-circus] Add readme.md (#​7198)
  • [jest-editor-support] Remove from the repository (#​7232)
  • [jest-test-typescript-parser] Remove from the repository (#​7232)
  • [tests] Free tests from the dependency on value of FORCE_COLOR (#​6585)
  • [*] Add babel plugin to make sure Jest is unaffected by fake Promise implementations (#​7225)
  • [docs] Add correct default value for testUrl config option (#​7277)
  • [docs] Remove duplicate code in MockFunctions (#​7297)
  • [*] Add check for Facebook copyright headers on CI (#​7370)
  • [*] Update Facebook copyright headers (#​7589)
  • [jest-haste-map] Refactor dependencyExtractor and tests (#​7385)
  • [docs] Clearify conditional setting of NODE_ENV (#​7369)
  • [docs] Clarify conditional setting of NODE_ENV (#​7369)
  • [*] Standardize file names (#​7316, #​7266, #​7238, #​7314, #​7467, #​7464), #​7471)
  • [docs] Add testPathIgnorePatterns in CLI documentation (#​7440)
  • [docs] Removed misleading text about describe() grouping together tests into a test suite (#​7434)
  • [diff-sequences] Add performance benchmark to package (#​7603)
  • [*] Replace as many Object.assign with object spread as possible (#​7627)
  • [ci] Initial support for Azure Pipelines (#​7556)
Performance
  • [jest-mock] Improve getType function performance. (#​7159)

Renovate configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot. View repository job log here.

@renovate renovate bot added [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. [Type] Task Framework labels Jan 27, 2019
@matticbot
Copy link
Contributor

@blowery blowery changed the title chore(deps): update jest monorepo to v24 (major) rebase! chore(deps): update jest monorepo to v24 (major) Jan 28, 2019
@renovate renovate bot changed the title rebase! chore(deps): update jest monorepo to v24 (major) chore(deps): update jest monorepo to v24 (major) Jan 28, 2019
@renovate renovate bot force-pushed the renovate/major-jest-monorepo branch from 062c02b to 5dfd812 Compare January 28, 2019 14:16
@renovate renovate bot force-pushed the renovate/major-jest-monorepo branch from 5dfd812 to 55b407e Compare February 5, 2019 16:01
@renovate renovate bot changed the title chore(deps): update jest monorepo to v24 (major) chore(deps): update jest monorepo (major) Feb 5, 2019
@renovate renovate bot force-pushed the renovate/major-jest-monorepo branch 2 times, most recently from e5839ab to 4840155 Compare February 12, 2019 16:27
@renovate renovate bot force-pushed the renovate/major-jest-monorepo branch from 4840155 to 8d546c2 Compare February 14, 2019 14:40
@jsnajdr jsnajdr self-assigned this Feb 14, 2019
@jsnajdr
Copy link
Member

jsnajdr commented Feb 14, 2019

We'll need to fix a few things before merging. The setupTestFrameworkScriptFile config option has been deprecated. Some tests are failing because of undefined regeneratorRuntime. That's likely something with the Babel 6 to 7 upgrade in Jest. I'll be working on this.

@renovate
Copy link
Contributor Author

renovate bot commented Feb 15, 2019

PR has been edited

👷 This PR has received other commits, so Renovate will stop updating it to avoid conflicts or other problems. If you wish to abandon your changes and have Renovate start over you may click the "rebase" checkbox in the PR body/description.

Migrate `setupTestFrameworkScriptFile` to `setupFilesAfterEnv`: the option got renamed.

Add explicit import of the regenerator runtime. Although we run tests in recent Node and
don't transpile generators and async/await, some NPM modules (e.g., `@wordpress/api-fetch`)
are published in transpiled form that depends on the `regeneratorRuntime` global.
Jest stopped importing the regenerator runtime in v24, so we need to re-add it manually.
@jsnajdr
Copy link
Member

jsnajdr commented Feb 15, 2019

I did some additional migration work here:

Remove the babel-core bridge package. No longer needed in Jest 24 that uses Babel 7 natively. It served only as a temporary bridge between Babel 6 and 7.

Update Jest config files setup. Migrate setupTestFrameworkScriptFile to setupFilesAfterEnv as the option got deprecated.

Add explicit import of the regenerator runtime. Although we run tests in recent Node and don't transpile generators and async/await, some NPM modules (e.g., @wordpress/api-fetch) are published in transpiled form that depends on the regeneratorRuntime global. Jest stopped importing the regenerator runtime in v24 (jestjs/jest#7595), so we need to re-add it manually in the setupFiles config option. This problem wouldn't arise if the package depended on @babel/runtime and imported the regenerator runtime from there, rather than assuming that a global exists.

Making @gziolo aware as this PR can save you some research when migrating Gutenberg to Jest 24. Also, the regenerator runtime issue is interesting.

Copy link
Member

@jsnajdr jsnajdr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All checks passed, ready to 🚢

@jsnajdr jsnajdr merged commit f0829fb into master Feb 15, 2019
@jsnajdr jsnajdr deleted the renovate/major-jest-monorepo branch February 15, 2019 08:56
@matticbot matticbot removed the [Status] Needs Review The PR is ready for review. This also triggers e2e canary tests and wp-desktop tests automatically. label Feb 15, 2019
@gziolo
Copy link
Member

gziolo commented Feb 15, 2019

Making @gziolo aware as this PR can save you some research when migrating Gutenberg to Jest 24. Also, the regenerator runtime issue is interesting.

Thanks for heads up, I was waiting until jest-puppeteer is upgraded to work with Jest 24. I see it was released two days ago:
https://github.com/smooth-code/jest-puppeteer/releases/tag/v4.0.0

I will surely use your hints. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants