Update @emnapi/wasi-threads 1.2.1 → 2.0.0 (major)#20239
Conversation
Confidence Score: 4/5Safe to merge after CI passes; the change is isolated to the WASM runtime package with no direct call sites in the codebase. The only change is bumping a bundled WASM-thread-support library to its new major version. No release notes are available for 2.0.0, so any API changes are opaque, but no JS/TS code in the repo calls into this package directly — the risk surface is limited to the generated WASM runtime behavior. The lock file shows no new transitive dependencies. CI test results are the main signal to watch here. No files require special attention beyond verifying that the WASM-based package still works correctly in CI. Reviews (1): Last reviewed commit: "Update @emnapi/wasi-threads to version 2..." | Re-trigger Greptile |
WalkthroughThe 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@crates/node/npm/wasm32-wasi/package.json`:
- Line 34: The `@emnapi/wasi-threads` package at line 34 in package.json was
upgraded to version 2.0.0, which is incompatible with the currently declared
`@emnapi/core` version 1.10.0. The 2.0.0 release of `@emnapi/wasi-threads` requires
`@emnapi/core` 2.0.0-alpha.1 or later due to breaking changes. To resolve this
dependency incompatibility, either upgrade `@emnapi/core` to version 2.0.0 or
later (ensuring both packages are on compatible major versions), or revert
`@emnapi/wasi-threads` back to the 1.x version range that is compatible with
`@emnapi/core` 1.10.0. Choose the upgrade path to keep both packages current.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 097b1b24-0bda-40e5-b3ca-b5378bb1b550
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (1)
crates/node/npm/wasm32-wasi/package.json
| "@emnapi/runtime": "^1.10.0", | ||
| "@tybys/wasm-util": "^0.10.2", | ||
| "@emnapi/wasi-threads": "^1.2.1", | ||
| "@emnapi/wasi-threads": "^2.0.0", |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
LOCKFILE="$(fd -HI '^pnpm-lock\.yaml$' | head -n1)"
if [ -z "${LOCKFILE}" ]; then
echo "pnpm-lock.yaml not found"
exit 1
fi
echo "=== wasm32-wasi manifest dependency entry ==="
rg -n -C2 '"`@emnapi/wasi-threads`"' crates/node/npm/wasm32-wasi/package.json
echo
echo "=== lockfile: workspace package resolution ==="
rg -n -A12 -B4 "crates/node/npm/wasm32-wasi:|`@emnapi/wasi-threads`" "${LOCKFILE}"
echo
echo "=== lockfile: snapshots for core + wasi-threads ==="
rg -n -A8 -B2 "'`@emnapi/core`@|`@emnapi/wasi-threads`@" "${LOCKFILE}"
echo
echo "=== direct imports/usages in wasm32-wasi package sources ==="
rg -n -C2 "from ['\"]`@emnapi/wasi-threads`['\"]|require\\(['\"]`@emnapi/wasi-threads`['\"]\\)|`@emnapi/wasi-threads`" crates/node/npm/wasm32-wasiRepository: tailwindlabs/tailwindcss
Length of output: 5045
🌐 Web query:
What are the breaking changes in @emnapi/wasi-threads2.0.0 vs 1.2.1, and which@emnapi/coreversion first declares compatibility with@emnapi/wasi-threads 2.x?
💡 Result:
The transition from @emnapi/wasi-threads 1.2.1 to 2.0.0 is part of a broader major version update for the emnapi ecosystem [1][2]. The primary breaking changes in the 2.x release cycle include: - Deprecation and removal of the JavaScript-based implementation for AsyncWork and ThreadSafeFunction (TSFN), shifting entirely to shared C implementations for consistency and stability [1]. - Dropping support for wasm32-unknown-unknown and wasm32-wasip1 targets, which have been removed from continuous integration (CI) tests [1]. - Removal of the libemnapi-basic[-mt].a prebuilt library [1]. Regarding compatibility, @emnapi/core first declares official compatibility with @emnapi/wasi-threads 2.x in its 2.0.0-alpha.1 release, published in May 2026 [3]. As of June 2026, the stable @emnapi/core releases (e.g., 1.11.1) continue to depend on @emnapi/wasi-threads 1.2.2 [3].
Citations:
- 1: Deprecate the JavaScript implementation for AsyncWork and TSFN in v2.x toyobayashi/emnapi#184
- 2: https://registry.npmjs.org/@emnapi/wasi-threads
- 3: https://registry.npmjs.org/@emnapi/core
Incompatible upgrade: @emnapi/wasi-threads 2.0.0 requires @emnapi/core 2.0.0-alpha.1 or later.
Line 34 bumps @emnapi/wasi-threads to ^2.0.0, but this package currently uses @emnapi/core@1.10.0, which declares a dependency on @emnapi/wasi-threads@1.2.1. The 2.0.0 release contains breaking changes (removal of JavaScript-based AsyncWork/TSFN implementations) and is not compatible with @emnapi/core 1.10.0. Upgrade @emnapi/core to version 2.0.0 or later, or revert @emnapi/wasi-threads to a 1.x version.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@crates/node/npm/wasm32-wasi/package.json` at line 34, The
`@emnapi/wasi-threads` package at line 34 in package.json was upgraded to version
2.0.0, which is incompatible with the currently declared `@emnapi/core` version
1.10.0. The 2.0.0 release of `@emnapi/wasi-threads` requires `@emnapi/core`
2.0.0-alpha.1 or later due to breaking changes. To resolve this dependency
incompatibility, either upgrade `@emnapi/core` to version 2.0.0 or later (ensuring
both packages are on compatible major versions), or revert `@emnapi/wasi-threads`
back to the 1.x version range that is compatible with `@emnapi/core` 1.10.0.
Choose the upgrade path to keep both packages current.
Here is everything you need to know about this upgrade. Please take a good look at what changed and the test results before merging this pull request.
What changed?
✳️ @emnapi/wasi-threads (1.2.1 → 2.0.0) · Repo
Sorry, we couldn't find anything useful about this release.
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with
@depfu rebase.All Depfu comment commands