swc-project / swc-node

Faster ts-node without typecheck
MIT License
1.72k stars 71 forks source link

@swc-node/register: Error: Cannot find module '@swc/core' #671

Closed shellscape closed 1 year ago

shellscape commented 1 year ago

It appears that @swc-node/register has a peer dependency on @swc/core but none exists in package.json for the package. This is a pretty large oversight. If the intent was not to mandate a peerDependency range, * could be used, or optionalDependencies could be used at the minimum. But something should be set to define that a dependency on another package is required. Additionally, neither the repo README nor the README for @swc-node/register state that @swc/core is required.

Require stack:
- /Users/code/.../node_modules/.pnpm/@swc-node+core@1.9.1/node_modules/@swc-node/core/lib/index.js
- /Users/code/.../node_modules/.pnpm/@swc-node+register@1.5.2_typescript@4.8.4/node_modules/@swc-node/register/lib/register.js
- /Users/code/.../node_modules/.pnpm/@swc-node+register@1.5.2_typescript@4.8.4/node_modules/@swc-node/register/index.js
- internal/preload
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:956:15)
    at Function.Module._load (node:internal/modules/cjs/loader:804:27)
    at Module.require (node:internal/modules/cjs/loader:1028:19)
    at require (node:internal/modules/cjs/helpers:102:18)
shellscape commented 1 year ago

Alright this is my fault. We have a setting that turns off pnpm peerDep warnings, and @swc-node/core does indeed have a peerDep for @swc/core set.