swc-project / swc-node

Faster ts-node without typecheck
MIT License
1.69k stars 69 forks source link

fix(register): respect SWCRC environment variable when running in async mode #715

Closed bgdavidx closed 10 months ago

bgdavidx commented 1 year ago

The current @swc-node/register/esm loader does not respect the SWCRC environment variable. This is due to the condition for setting swcRegisterConfig only applying to the sync transform version.

This PR fixes that, and also fixes module being overridden by "commonjs" when SWCRC environment variable is specified, which causes files being transformed by register/esm to be loaded as CommonJS which causes errors such as these:

server  | file:///app/apps/backend/src/app.ts:2
server  | Object.defineProperty(exports, "__esModule", {
server  |                       ^
server  |
server  | ReferenceError: exports is not defined in ES module scope
server  |     at file:///app/apps/backend/src/app.ts.mjs:2:23
server  |     at ModuleJob.run (node:internal/modules/esm/module_job:194:25)
server  |
CLAassistant commented 1 year ago

CLA assistant check
All committers have signed the CLA.