fix(deps): skip building the unused isolated-vm native addon + take n8n-workflow 1.120.22#143
Merged
Merged
Conversation
…8n-workflow 1.120.22 n8n-workflow 1.120.22 introduces a new transitive dependency, isolated-vm@6.1.2 (n8n's user-code sandbox), whose native addon does not compile against Node 20's V8 headers on the CI runner: ../src/isolate/holder.h:55:22: error: 'void ivm::IsolateTaskRunner::PostTaskImpl( std::unique_ptr<v8::Task>, const int&)' marked 'final', but is not virtual gyp ERR! build error / make failed with exit code: 2 That killed the install step, taking down Lint/Typecheck/Build, Public boundary, and Dependency audit together (Dependabot PR #141). We never execute that sandbox: n8n-workflow is only a devDependency + peerDependency of packages/n8n-nodes-multiwa, used for TypeScript types when building the node — n8n itself supplies isolated-vm at runtime inside the user's own n8n instance. So add pnpm.neverBuiltDependencies: ["isolated-vm"] to skip its build script rather than pin n8n-workflow back or ignore its patch updates (which carry fixes). Proven locally: with the setting, installing n8n-workflow 1.120.22 pulls isolated-vm@6.1.2 and completes with no node-gyp step. The bump is surgical — only n8n-workflow's specifier/version changed in the lockfile. All 6 workspace packages build; api/worker/admin typecheck; api 324/324 and worker 34/34 tests green; lockfile still air-gap safe (0 ssh refs).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The failure
Dependabot #141 (
n8n-workflow 1.120.7 → 1.120.22) failed three checks at once — Lint, Typecheck & Build, Public boundary, Dependency audit — with Docker Build and Tests skipped. That pattern is always "the install step died", and the log confirms it:Not the SSH-lockfile regression (that guard passed: "OK: no SSH git URLs").
n8n-workflow 1.120.22introduces a new transitive dependencyisolated-vm@6.1.2— n8n's user-code sandbox — whose native addon doesn't compile against Node 20's V8 headers.main(on 1.120.7) has noisolated-vmat all, so this is a fresh regression, not pre-existing.The fix
We never execute that sandbox.
n8n-workflowis only adevDependency+peerDependencyofpackages/n8n-nodes-multiwa, used for TypeScript types when building the node; n8n suppliesisolated-vmitself at runtime inside the user's own n8n instance.So instead of pinning n8n-workflow back or ignoring its patch stream (which carries real fixes), add:
…and take the 1.120.22 bump in the same PR.
Proven locally, not assumed
With the setting in place,
pnpm --filter n8n-nodes-multiwa add -D n8n-workflow@1.120.22:isolated-vm@6.1.2into the lockfile (same dep that broke CI)1.120.7 → 1.120.22); no other dependency movedVerification
n8n-nodes-multiwa)api/worker/admintypecheck ✓ssh://refs)Supersedes #141.