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

fix(jest): use correct minimum jest version #4851

Merged
merged 2 commits into from
Sep 27, 2023

Conversation

rwaskiewicz
Copy link
Member

@rwaskiewicz rwaskiewicz commented Sep 27, 2023

What is the current behavior?

When a user attempts to use jest 24, they are greeted with an error:

$ npm t

> new-test@0.0.1 test
> stencil test --spec --e2e

[51:38.0]  @stencil/core
[51:38.1]  v4.3.0 🐫

[ ERROR ]  Please install supported versions of dev dependencies with either npm or yarn.
           npm install --save-dev jest@27.0.3

GitHub Issue Number: N/A

What is the new behavior?

this commit updates the check for the minimum allowed version of jest from v24.9.1 to v24.9.0. while working on the jest refactoring, it was discovered that v24.9.1 does not exist, making it impossible for anyone to use v24

Does this introduce a breaking change?

  • Yes
  • No

Testing

You can validate the bug exists today by trying to use Jest 24 in a new component starter project:

cd /tmp \
&& npm init stencil@latest component jest-24-test \
&& cd $_ \
&& npm i jest@24 jest-cli@24 @types/jest@24 \
&& npm t

> new-test@0.0.1 test
> stencil test --spec --e2e

[51:38.0]  @stencil/core
[51:38.1]  v4.3.0 🐫

[ ERROR ]  Please install supported versions of dev dependencies with either npm or yarn.
           npm install --save-dev jest@27.0.3

To verify this fix, build this branch:

npm ci \
&& npm run clean \
&& npm run build \
&& npm pack

Then spun up a new stencil component library with it:

cd /tmp \
&& npm init stencil@latest component jest-fix-test \
&& cd $_ \
&& npm i [PATH_TO_TARBALL] \
&& npm i jest@24 jest-cli@24 @types/jest@24 \
&& npm t

Other information

this commit updates the component starter ci tests to run each version of
jest that we support

STENCIL-953

this commit updates the check for the minimum allowed version of jest
from v24.9.1 to v24.9.0. while working on the jest refactoring, it was
discovered that v24.9.1 does not exist, making it impossible for anyone
to use v24
@github-actions
Copy link
Contributor

--strictNullChecks error report

Typechecking with --strictNullChecks resulted in 1440 errors on this branch.

That's the same number of errors on main, so at least we're not creating new ones!

reports and statistics

Our most error-prone files
Path Error Count
src/dev-server/index.ts 37
src/mock-doc/serialize-node.ts 36
src/dev-server/server-process.ts 32
src/compiler/build/build-stats.ts 27
src/compiler/output-targets/dist-lazy/generate-lazy-module.ts 25
src/compiler/style/test/optimize-css.spec.ts 23
src/runtime/vdom/vdom-render.ts 23
src/testing/puppeteer/puppeteer-element.ts 23
src/compiler/prerender/prerender-main.ts 22
src/runtime/client-hydrate.ts 19
src/screenshot/connector-base.ts 19
src/compiler/config/test/validate-paths.spec.ts 16
src/dev-server/request-handler.ts 15
src/compiler/prerender/prerender-optimize.ts 14
src/compiler/sys/stencil-sys.ts 14
src/compiler/transpile/transpile-module.ts 14
src/runtime/vdom/vdom-annotations.ts 14
src/sys/node/node-sys.ts 14
src/compiler/build/build-finish.ts 13
src/compiler/prerender/prerender-queue.ts 13
Our most common errors
Typescript Error Code Count
TS2345 435
TS2322 412
TS18048 321
TS18047 99
TS2722 38
TS2532 36
TS2531 25
TS2454 15
TS2352 13
TS2769 10
TS2790 10
TS2538 8
TS2344 5
TS2416 4
TS2493 3
TS18046 2
TS2684 1
TS2488 1
TS2464 1
TS2430 1

Unused exports report

There are 12 unused exports on this PR. That's the same number of errors on main, so at least we're not creating new ones!

Unused exports
File Line Identifier
src/runtime/bootstrap-lazy.ts 21 setNonce
src/screenshot/screenshot-fs.ts 18 readScreenshotData
src/testing/testing-utils.ts 198 withSilentWarn
src/utils/index.ts 140 CUSTOM
src/compiler/app-core/app-data.ts 25 BUILD
src/compiler/app-core/app-data.ts 114 Env
src/compiler/app-core/app-data.ts 116 NAMESPACE
src/compiler/fs-watch/fs-watch-rebuild.ts 110 updateCacheFromRebuild
src/compiler/types/validate-primary-package-output-target.ts 62 satisfies
src/compiler/types/validate-primary-package-output-target.ts 62 Record
src/testing/puppeteer/puppeteer-declarations.ts 485 WaitForEventOptions
src/compiler/sys/fetch/write-fetch-success.ts 7 writeFetchSuccessSync

this comit updates the component starter ci tests to run each version of
jest that we support

STENCIL-953
@rwaskiewicz rwaskiewicz marked this pull request as ready for review September 27, 2023 20:24
@rwaskiewicz rwaskiewicz requested a review from a team as a code owner September 27, 2023 20:24
Copy link
Member

@tanner-reits tanner-reits left a comment

Choose a reason for hiding this comment

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

Wow 😂

Copy link
Contributor

@alicewriteswrongs alicewriteswrongs left a comment

Choose a reason for hiding this comment

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

😬 I guess there aren't a lot of Jest 24 users out there!

@rwaskiewicz rwaskiewicz added this pull request to the merge queue Sep 27, 2023
@rwaskiewicz
Copy link
Member Author

@alicewriteswrongs right?!

Merged via the queue into main with commit 2f7fb88 Sep 27, 2023
52 checks passed
@rwaskiewicz rwaskiewicz deleted the rwaskiewicz/jest/fix-min-version branch September 27, 2023 21:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants