Skip to content

Local generators are broken with @swc/core >= 1.13.21 #33290

@terrymun

Description

@terrymun

Current Behavior

When the latest version of @swc/core is installed (1.13.21 at the time of writing), Nx local generators will fail to run to completion. Nx will throw a "Failed to load native binding" error message.

Expected Behavior

If @swc/core of <=1.13.20 is installed, Nx local generators work without any issue and run to completion.

GitHub Repo

https://github.com/terrymun/nx-swc-core

Steps to Reproduce

  1. The repo at https://github.com/terrymun/nx-swc-core has been created, and a custom local generator was programatically created using the guide at https://nx.dev/docs/extending-nx/local-generators
  2. Run nx g my-generator and notice that it will fail (because @swc/[email protected] has been isntalled). The error message returned is "Failed to load native binding".
  3. Downgrade @swc/core by running npm install -DE @swc/[email protected]
  4. Repeat step 2 and notice the generator runs successfully

Nx Report

Node           : 22.14.0
OS             : darwin-arm64
Native Target  : aarch64-macos
npm            : 10.9.2

nx                 : 22.0.2
@nx/js             : 22.0.2
@nx/jest           : 22.0.2
@nx/eslint         : 22.0.2
@nx/workspace      : 22.0.2
@nx/devkit         : 22.0.2
@nx/eslint-plugin  : 22.0.2
@nx/plugin         : 22.0.2
typescript         : 5.9.3
---------------------------------------
Registered Plugins:
@nx/js/typescript
@nx/eslint/plugin
---------------------------------------
Local workspace plugins:
@nx-swc-core/my-plugin
---------------------------------------
Cache Usage: 0.00 B / 46.04 GB

Failure Logs

Error: Failed to load native binding
    at Object.<anonymous> (/[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core/binding.js:333:11)
    at Module._compile (node:internal/modules/cjs/loader:1554:14)
    at Object..js (node:internal/modules/cjs/loader:1706:10)
    at Module.load (node:internal/modules/cjs/loader:1289:32)
    at Function._load (node:internal/modules/cjs/loader:1108:12)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:220:24)
    at Module.require (node:internal/modules/cjs/loader:1311:12)
    at require (node:internal/modules/helpers:136:16)
    at Object.<anonymous> (/[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core/index.js:49:17)
Caused by:
Error: Cannot find module './swc.darwin-universal.node'
Require stack:
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core/binding.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core/index.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc-node/register/node_modules/@swc-node/core/lib/index.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc-node/register/lib/register.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/plugins/js/utils/register.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/transpiler.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/get-plugins.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/utils/retrieve-workspace-files.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/resolve-plugin.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/in-process-loader.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/index.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/command-line/run/executor-utils.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/utils/project-configuration-utils.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/utils/package-json.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/bin/nx.js,Error: Cannot find module '@swc/core-darwin-universal'
Require stack:
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core/binding.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core/index.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc-node/register/node_modules/@swc-node/core/lib/index.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc-node/register/lib/register.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/plugins/js/utils/register.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/transpiler.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/get-plugins.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/utils/retrieve-workspace-files.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/resolve-plugin.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/in-process-loader.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/index.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/command-line/run/executor-utils.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/utils/project-configuration-utils.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/utils/package-json.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/bin/nx.js,Error: Cannot find module './swc.darwin-arm64.node'
Require stack:
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core/binding.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core/index.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc-node/register/node_modules/@swc-node/core/lib/index.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/@swc-node/register/lib/register.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/plugins/js/utils/register.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/transpiler.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/get-plugins.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/utils/retrieve-workspace-files.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/resolve-plugin.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/in-process-loader.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/plugins/index.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/command-line/run/executor-utils.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/project-graph/utils/project-configuration-utils.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/src/utils/package-json.js
- /[REDACTED-PATH]/nx-swc-core/node_modules/nx/bin/nx.js,Error: dlopen(/[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core-darwin-arm64/swc.darwin-arm64.node, 0x0001): tried: '/[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core-darwin-arm64/swc.darwin-arm64.node' (code signature invalid in <F698CD9A-9F26-3583-BDA4-368FC7CB3407> '/[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core-darwin-arm64/swc.darwin-arm64.node' (errno=85) sliceOffset=0x00000000, codeBlobOffset=0x01F50D70, codeBlobSize=0x0003EAB0), '/System/Volumes/Preboot/Cryptexes/OS/[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core-darwin-arm64/swc.darwin-arm64.node' (no such file), '/[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core-darwin-arm64/swc.darwin-arm64.node' (code signature invalid in <F698CD9A-9F26-3583-BDA4-368FC7CB3407> '/[REDACTED-PATH]/nx-swc-core/node_modules/@swc/core-darwin-arm64/swc.darwin-arm64.node' (errno=85) sliceOffset=0x00000000, codeBlobOffset=0x01F50D70, codeBlobSize=0x0003EAB0)

Package Manager Version

10.9.2

Operating System

  • macOS
  • Linux
  • Windows
  • Other (Please specify)

Additional Information

We noticed this issue when developing locally on macOS after dependabot has performed a version bump for @swc/core from 1.13.20 → 1.13.21.

This issue does not seem to be affecting the Linux version, which is why this error was not caught by our automated checks and build pipelines.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions