Repository navigation
fix: bump synckit to surface worker failures instead of hanging - #805
Conversation
🦋 Changeset detectedLatest commit: b1d04ea The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
commit: |
Fixes #781. When prettier is not installed the sync worker fails to load its module graph, and synckit kept the caller blocked in Atomics.wait() forever, so ESLint hung without any output. synckit 0.12 reports worker failures and exits instead, so ESLint now fails fast with a clear `Cannot find package 'prettier'` error.
2434b72 to
b1d04ea
Compare
| datasource | package | from | to | | ---------- | ---------------------- | ----- | ----- | | npm | eslint-plugin-prettier | 5.5.6 | 5.5.7 | ## [v5.5.7](https://github.com/prettier/eslint-plugin-prettier/blob/HEAD/CHANGELOG.md#557) ##### Patch Changes - [#796](prettier/eslint-plugin-prettier#796) [`7e53ecd`](prettier/eslint-plugin-prettier@7e53ecd) Thanks [@OskarEichler](https://github.com/OskarEichler)! - Fix fallback diagnostic locations for all supported line endings. - [#805](prettier/eslint-plugin-prettier#805) [`1b7c433`](prettier/eslint-plugin-prettier@1b7c433) Thanks [@JounQin](https://github.com/JounQin)! - Report a clear error when the sync worker fails to load, so a missing `prettier` dependency now fails fast with `Cannot find package 'prettier'` instead of hanging ESLint indefinitely.
| datasource | package | from | to | | ---------- | ---------------------- | ----- | ----- | | npm | eslint-plugin-prettier | 5.5.6 | 5.5.7 | ## [v5.5.7](https://github.com/prettier/eslint-plugin-prettier/blob/HEAD/CHANGELOG.md#557) ##### Patch Changes - [#796](prettier/eslint-plugin-prettier#796) [`7e53ecd`](prettier/eslint-plugin-prettier@7e53ecd) Thanks [@OskarEichler](https://github.com/OskarEichler)! - Fix fallback diagnostic locations for all supported line endings. - [#805](prettier/eslint-plugin-prettier#805) [`1b7c433`](prettier/eslint-plugin-prettier@1b7c433) Thanks [@JounQin](https://github.com/JounQin)! - Report a clear error when the sync worker fails to load, so a missing `prettier` dependency now fails fast with `Cannot find package 'prettier'` instead of hanging ESLint indefinitely.
| datasource | package | from | to | | ---------- | ---------------------- | ----- | ----- | | npm | eslint-plugin-prettier | 5.5.6 | 5.5.7 | ## [v5.5.7](https://github.com/prettier/eslint-plugin-prettier/blob/HEAD/CHANGELOG.md#557) ##### Patch Changes - [#796](prettier/eslint-plugin-prettier#796) [`7e53ecd`](prettier/eslint-plugin-prettier@7e53ecd) Thanks [@OskarEichler](https://github.com/OskarEichler)! - Fix fallback diagnostic locations for all supported line endings. - [#805](prettier/eslint-plugin-prettier#805) [`1b7c433`](prettier/eslint-plugin-prettier@1b7c433) Thanks [@JounQin](https://github.com/JounQin)! - Report a clear error when the sync worker fails to load, so a missing `prettier` dependency now fails fast with `Cannot find package 'prettier'` instead of hanging ESLint indefinitely.
| datasource | package | from | to | | ---------- | ---------------------- | ----- | ----- | | npm | eslint-plugin-prettier | 5.5.6 | 5.5.7 | ## [v5.5.7](https://github.com/prettier/eslint-plugin-prettier/blob/HEAD/CHANGELOG.md#557) ##### Patch Changes - [#796](prettier/eslint-plugin-prettier#796) [`7e53ecd`](prettier/eslint-plugin-prettier@7e53ecd) Thanks [@OskarEichler](https://github.com/OskarEichler)! - Fix fallback diagnostic locations for all supported line endings. - [#805](prettier/eslint-plugin-prettier#805) [`1b7c433`](prettier/eslint-plugin-prettier@1b7c433) Thanks [@JounQin](https://github.com/JounQin)! - Report a clear error when the sync worker fails to load, so a missing `prettier` dependency now fails fast with `Cannot find package 'prettier'` instead of hanging ESLint indefinitely.
Summary
Bumps
synckitfrom^0.11.13to^0.12.3.Fixes #781.
Fixes #777.
Why
When
prettieris not installed, the worker (worker.mjs) fails at its top-levelimport 'prettier'. With synckit 0.11.x the failure inside the worker is never reported back, so the caller stays blocked inAtomics.wait()forever and ESLint hangs with no output.synckit 0.12.0 added exactly this: worker load failures, worker throws and worker exits are surfaced to the caller instead of hanging (see synckit changelog). After the bump, ESLint fails fast with a clear error that names the missing
prettierpackage.Verification
In an isolated project with the plugin installed but
prettierintentionally absent:synckit@0.11.13):eslint test.jshangs — killed after 20s (exit code: 124)synckit@0.12.3):and ESLint exits with code 2.
Existing suite passes:
yarn checkandyarn mocha(42 passing).Summary by CodeRabbit