swc-project / swc-node

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

swc-node issue importing files outside of root directory #703

Open kg-jcaron opened 1 year ago

kg-jcaron commented 1 year ago

Describe the bug

swc-node throws a SyntaxError and crashes when importing files from outside the directory, even if included in the tsconfig files property.

This works with both tsc and ts-node.

I did look for any swc configuration options that might affect this, but didn't find anything that seemed relevant or that helped, but it's possible I'm just missing something in the config here.

See this repo for a basic example: https://github.com/kg-jcaron/swc-issue-repro

Thanks!

Input code

No response

Config

No response

Playground link

No response

Expected behavior

I expect swc-node to match the behaviour of tsc and ts-node and run without errors.

Actual behavior

Throws a SyntaxError and crashes:

export const someImportedValue = "hello world";
^^^^^^

SyntaxError: Unexpected token 'export'
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1094:15)
    at Module._compile (node:internal/modules/cjs/loader:1129:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1219:10)
    at Object.newLoader [as .ts] (/Users/xxxx/Documents/repos/swc-node-issue/node_modules/pirates/lib/index.js:141:7)
    at Module.load (node:internal/modules/cjs/loader:1043:32)
    at Function.Module._load (node:internal/modules/cjs/loader:878:12)
    at Module.require (node:internal/modules/cjs/loader:1067:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (/Users/xxxx/Documents/repos/swc-node-issue/primary/index.ts:6:18)

Version

1.3.38

Additional context

No response

LeonAlvarez commented 1 year ago

had same issue with pnpm monorepo

kvet commented 1 year ago

Experiencing the same issue

mmmeff commented 8 months ago

A transpileModules feature would be excellent for monorepo support. Something similar to next-transpile-modules, basically.

313364973 commented 2 months ago

same problem,i have ts project with client and server ,server import some client shared ts code,and have this issue