@swc-node/register 1.10.10 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/esm.mjs CHANGED
@@ -2,7 +2,7 @@
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import { createRequire, builtinModules, } from 'node:module';
4
4
  import { extname, isAbsolute, join } from 'node:path';
5
- import { fileURLToPath, parse as parseUrl, pathToFileURL } from 'node:url';
5
+ import { fileURLToPath, URL, pathToFileURL } from 'node:url';
6
6
  import debugFactory from 'debug';
7
7
  import { ResolverFactory } from 'oxc-resolver';
8
8
  import ts from 'typescript';
@@ -10,6 +10,8 @@ import ts from 'typescript';
10
10
  import { readDefaultTsConfig } from '../lib/read-default-tsconfig.js';
11
11
  // @ts-expect-error
12
12
  import { compile } from '../lib/register.js';
13
+ // @ts-expect-error
14
+ import { shouldSkipTransformForRuntimeJs } from '../lib/transform-cache.js';
13
15
  const debug = debugFactory('@swc-node');
14
16
  const builtin = new Set(builtinModules);
15
17
  const tsconfig = readDefaultTsConfig();
@@ -22,20 +24,10 @@ const TSCONFIG_PATH = (function () {
22
24
  }
23
25
  return pathFromEnv;
24
26
  })();
25
- const resolver = new ResolverFactory({
26
- tsconfig: {
27
- configFile: TSCONFIG_PATH,
28
- references: 'auto',
29
- },
30
- conditionNames: ['node', 'import'],
31
- enforceExtension: 0 /* EnforceExtension.Auto */,
32
- extensions: ['.js', '.mjs', '.cjs', '.ts', '.tsx', '.mts', '.cts', '.json', '.wasm', '.node'],
33
- extensionAlias: {
34
- '.js': ['.ts', '.tsx', '.js'],
35
- '.mjs': ['.mts', '.mjs'],
36
- '.cjs': ['.cts', '.cjs'],
37
- },
38
- });
27
+ async function getModuleType(path) {
28
+ const pkgJsonReadContent = await readPackageJSON(path);
29
+ return pkgJsonReadContent === null || pkgJsonReadContent === void 0 ? void 0 : pkgJsonReadContent.type;
30
+ }
39
31
  const addShortCircuitSignal = (input) => {
40
32
  return {
41
33
  ...input,
@@ -107,9 +99,39 @@ const EXTENSION_MODULE_MAP = {
107
99
  '.wasm': 'wasm',
108
100
  '.node': 'commonjs',
109
101
  };
102
+ // Source extensions swc-node is responsible for transforming. A file: URL import
103
+ // that lands on one of these must flow through the resolver/transform below
104
+ // instead of the runtime dynamic-import fast path, otherwise the file is loaded
105
+ // untransformed (this is how test runners such as AVA import `.ts` test files).
106
+ // Already-runnable files (.mjs/.cjs/…) keep the native fast path that #883 needs.
107
+ const TRANSFORMABLE_SOURCE_EXTENSIONS = new Set(['.ts', '.tsx', '.mts', '.cts', '.js', '.jsx']);
108
+ let conditions = undefined;
109
+ const resolverOptions = {
110
+ tsconfig: {
111
+ configFile: TSCONFIG_PATH,
112
+ references: 'auto',
113
+ },
114
+ conditionNames: ['node', 'import'],
115
+ enforceExtension: 0 /* EnforceExtension.Auto */,
116
+ extensions: ['.js', '.mjs', '.cjs', '.ts', '.tsx', '.mts', '.cts', '.json', '.wasm', '.node'],
117
+ extensionAlias: {
118
+ '.js': ['.ts', '.tsx', '.js'],
119
+ '.mjs': ['.mts', '.mjs'],
120
+ '.cjs': ['.cts', '.cjs'],
121
+ },
122
+ moduleType: true,
123
+ };
124
+ let resolver = new ResolverFactory(resolverOptions);
110
125
  export const resolve = async (specifier, context, nextResolve) => {
111
126
  var _a;
112
127
  debug('resolve', specifier, JSON.stringify(context));
128
+ if (!conditions) {
129
+ conditions = context.conditions;
130
+ resolver = resolver.cloneWithOptions({
131
+ ...resolverOptions,
132
+ conditionNames: conditions,
133
+ });
134
+ }
113
135
  if (specifier.startsWith('node:') || specifier.startsWith('nodejs:')) {
114
136
  debug('skip resolve: internal format', specifier);
115
137
  return addShortCircuitSignal({
@@ -131,8 +153,27 @@ export const resolve = async (specifier, context, nextResolve) => {
131
153
  });
132
154
  }
133
155
  const parsedUrl = parseUrl(specifier);
156
+ // A file: URL specifier that arrives with a parentURL is either a runtime
157
+ // dynamic import (`await import('file://…')`, see #883) or a test runner such
158
+ // as AVA importing a source file. When it points at a source file swc-node is
159
+ // responsible for transforming, let it fall through to the resolver/transform
160
+ // below; skipping it would load the raw, untransformed source. Files Node can
161
+ // already execute (.mjs/.cjs/…) keep the native fast path that #883 needs.
162
+ const isParentedFileUrl = Boolean(context.parentURL) && (parsedUrl === null || parsedUrl === void 0 ? void 0 : parsedUrl.protocol) === 'file:';
163
+ const shouldTransformParentedFileUrl = isParentedFileUrl && TRANSFORMABLE_SOURCE_EXTENSIONS.has(extname(parsedUrl.pathname).toLowerCase());
164
+ if (isParentedFileUrl && !shouldTransformParentedFileUrl) {
165
+ debug('skip resolve: dynamic import', specifier);
166
+ return addShortCircuitSignal({
167
+ ...context,
168
+ url: specifier,
169
+ importAttributes: {
170
+ ...context.importAttributes,
171
+ dynamic: 'true',
172
+ },
173
+ });
174
+ }
134
175
  // as entrypoint, just return specifier
135
- if (!context.parentURL || parsedUrl.protocol === 'file:') {
176
+ if (!context.parentURL || (parsedUrl === null || parsedUrl === void 0 ? void 0 : parsedUrl.protocol) === 'file:') {
136
177
  debug('skip resolve: absolute path or entrypoint', specifier);
137
178
  let format = null;
138
179
  const specifierPath = fileURLToPath(specifier);
@@ -153,20 +194,28 @@ export const resolve = async (specifier, context, nextResolve) => {
153
194
  debug('skip resolve: import attributes', specifier);
154
195
  return addShortCircuitSignal(await nextResolve(specifier));
155
196
  }
156
- const { error, path, moduleType } = await resolver.async(join(fileURLToPath(context.parentURL), '..'), specifier.startsWith('file:') ? fileURLToPath(specifier) : specifier);
197
+ const { error, path, moduleType, packageJsonPath } = await resolver.async(join(fileURLToPath(context.parentURL), '..'), specifier.startsWith('file:') ? fileURLToPath(specifier) : specifier);
157
198
  if (error) {
158
- throw new Error(`${error}: ${specifier} cannot be resolved in ${context.parentURL}`);
199
+ debug('oxc-resolver error, falling back to node resolver', specifier, error);
200
+ try {
201
+ const res = await nextResolve(specifier);
202
+ return addShortCircuitSignal(res);
203
+ }
204
+ catch (resolveError) {
205
+ throw new Error(`${error}: ${specifier} cannot be resolved in ${context.parentURL}`);
206
+ }
159
207
  }
160
208
  // local project file
161
209
  if (path && isPathNotInNodeModules(path)) {
162
- debug('resolved: typescript', specifier, path);
210
+ debug('resolved: typescript', specifier, moduleType, path);
163
211
  const url = new URL('file://' + join(path));
212
+ const mt = moduleType !== null && moduleType !== void 0 ? moduleType : (packageJsonPath ? await getModuleType(packageJsonPath) : null);
164
213
  return addShortCircuitSignal({
165
214
  ...context,
166
215
  url: url.href,
167
- format: path.endsWith('cjs') || path.endsWith('cts') || moduleType === 'commonjs' || !moduleType
216
+ format: path.endsWith('cjs') || path.endsWith('cts') || mt === 'commonjs' || !mt
168
217
  ? 'commonjs'
169
- : moduleType === 'module'
218
+ : mt === 'module'
170
219
  ? 'module'
171
220
  : 'commonjs',
172
221
  });
@@ -199,7 +248,13 @@ const tsconfigForSWCNode = {
199
248
  baseUrl: undefined,
200
249
  };
201
250
  export const load = async (url, context, nextLoad) => {
251
+ var _a;
202
252
  debug('load', url, JSON.stringify(context));
253
+ if (context.importAttributes.dynamic === 'true') {
254
+ debug('skip load: dynamic file url', url);
255
+ delete context.importAttributes.dynamic;
256
+ return nextLoad(url, context);
257
+ }
203
258
  if (url.startsWith('data:')) {
204
259
  debug('skip load: data url', url);
205
260
  return nextLoad(url, context);
@@ -208,10 +263,16 @@ export const load = async (url, context, nextLoad) => {
208
263
  debug('skip load: node_modules', url);
209
264
  return nextLoad(url, context);
210
265
  }
211
- if (['builtin', 'json', 'wasm'].includes(context.format)) {
266
+ if (context.format && ['builtin', 'json', 'wasm'].includes(context.format)) {
212
267
  debug('loaded: internal format', url);
213
268
  return nextLoad(url, context);
214
269
  }
270
+ // import attributes are handled by the default loader,
271
+ // e.g. `with { type: 'text' }` since Node.js 26.5 (behind --experimental-import-text)
272
+ if ((_a = context.importAttributes) === null || _a === void 0 ? void 0 : _a.type) {
273
+ debug('skip load: import attributes', url);
274
+ return nextLoad(url, context);
275
+ }
215
276
  const { source, format: resolvedFormat } = await nextLoad(url, context);
216
277
  if (!source) {
217
278
  debug('No source', url, resolvedFormat);
@@ -227,6 +288,13 @@ export const load = async (url, context, nextLoad) => {
227
288
  // and would likely be a breaking change anyway. Do a best effort to give a real path
228
289
  // like it expects, which at least fixes relative input sourcemap paths.
229
290
  const filename = url.startsWith('file:') ? fileURLToPath(url) : url;
291
+ if (shouldSkipTransformForRuntimeJs(filename, code, tsconfigForSWCNode.module, Boolean(tsconfigForSWCNode.jsx))) {
292
+ debug('skip compile: runtime js module', url);
293
+ return addShortCircuitSignal({
294
+ format: resolvedFormat,
295
+ source,
296
+ });
297
+ }
230
298
  const compiled = await compile(code, filename, tsconfigForSWCNode, true);
231
299
  debug('compiled', url, resolvedFormat);
232
300
  return addShortCircuitSignal({
@@ -239,4 +307,14 @@ function isPathNotInNodeModules(path) {
239
307
  return ((process.platform !== 'win32' && !path.includes('/node_modules/')) ||
240
308
  (process.platform === 'win32' && !path.includes('\\node_modules\\')));
241
309
  }
310
+ const parseUrl = typeof URL.parse === 'function'
311
+ ? URL.parse
312
+ : (url) => {
313
+ try {
314
+ return new URL(url);
315
+ }
316
+ catch (_a) {
317
+ return null;
318
+ }
319
+ };
242
320
  //# sourceMappingURL=esm.mjs.map
package/lib/esm.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"esm.mjs","sourceRoot":"","sources":["../esm.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esm.mjs","sourceRoot":"","sources":["../esm.mts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import type { Options } from '@swc-node/core';
2
2
  import * as ts from 'typescript';
3
+ export declare function getSourceMapMode(): {
4
+ inline: boolean;
5
+ store: boolean;
6
+ };
3
7
  export declare function readDefaultTsConfig(tsConfigPath?: string): Partial<ts.CompilerOptions & {
4
8
  fallbackToTs: (path: string) => boolean;
5
9
  }>;
@@ -15,17 +15,28 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
28
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getSourceMapMode = getSourceMapMode;
29
40
  exports.readDefaultTsConfig = readDefaultTsConfig;
30
41
  exports.tsCompilerOptionsToSwcConfig = tsCompilerOptionsToSwcConfig;
31
42
  const fs_1 = require("fs");
@@ -34,6 +45,28 @@ const colorette_1 = require("colorette");
34
45
  const debug_1 = __importDefault(require("debug"));
35
46
  const ts = __importStar(require("typescript"));
36
47
  const debug = (0, debug_1.default)('@swc-node');
48
+ const configCache = {};
49
+ // Keep compatibility with the legacy SWC_NODE_INLINE_SOURCE_MAP env by
50
+ // mapping it to SWC_NODE_SOURCE_MAP_MODE=inline.
51
+ if (typeof process.env.SWC_NODE_INLINE_SOURCE_MAP === 'string') {
52
+ process.env.SWC_NODE_SOURCE_MAP_MODE = 'inline';
53
+ }
54
+ function getSourceMapMode() {
55
+ var _a;
56
+ switch ((_a = process.env.SWC_NODE_SOURCE_MAP_MODE) === null || _a === void 0 ? void 0 : _a.trim().toLowerCase()) {
57
+ case 'both':
58
+ return { inline: true, store: true };
59
+ case 'inline':
60
+ return { inline: true, store: false };
61
+ case 'store':
62
+ return { inline: false, store: true };
63
+ case 'none':
64
+ return { inline: false, store: false };
65
+ }
66
+ // In auto mode, follow runtime capability: native source maps favor inline,
67
+ // non-native stacks favor store mode.
68
+ return process.sourceMapsEnabled ? { inline: true, store: false } : { inline: false, store: true };
69
+ }
37
70
  function readDefaultTsConfig(tsConfigPath) {
38
71
  var _a, _b;
39
72
  if (tsConfigPath === void 0) { tsConfigPath = (_b = (_a = process.env.SWC_NODE_PROJECT) !== null && _a !== void 0 ? _a : process.env.TS_NODE_PROJECT) !== null && _b !== void 0 ? _b : (0, path_1.join)(process.cwd(), 'tsconfig.json'); }
@@ -48,6 +81,9 @@ function readDefaultTsConfig(tsConfigPath) {
48
81
  return compilerOptions;
49
82
  }
50
83
  const fullTsConfigPath = (0, path_1.resolve)(tsConfigPath);
84
+ if (fullTsConfigPath in configCache) {
85
+ return configCache[fullTsConfigPath];
86
+ }
51
87
  if (!(0, fs_1.existsSync)(fullTsConfigPath)) {
52
88
  return compilerOptions;
53
89
  }
@@ -70,6 +106,7 @@ function readDefaultTsConfig(tsConfigPath) {
70
106
  catch (e) {
71
107
  console.info((0, colorette_1.yellow)(`Read ${tsConfigPath} failed: ${e.message}`));
72
108
  }
109
+ configCache[fullTsConfigPath] = compilerOptions;
73
110
  return compilerOptions;
74
111
  }
75
112
  function toTsTarget(target) {
@@ -93,9 +130,13 @@ function toTsTarget(target) {
93
130
  case ts.ScriptTarget.ES2021:
94
131
  return 'es2021';
95
132
  case ts.ScriptTarget.ES2022:
133
+ return 'es2022';
134
+ case ts.ScriptTarget.ES2023:
135
+ return 'es2023';
136
+ case ts.ScriptTarget.ES2024:
96
137
  case ts.ScriptTarget.ESNext:
97
138
  case ts.ScriptTarget.Latest:
98
- return 'es2022';
139
+ return 'es2024';
99
140
  case ts.ScriptTarget.JSON:
100
141
  return 'es5';
101
142
  }
@@ -129,33 +170,35 @@ function getUseDefineForClassFields(compilerOptions, target) {
129
170
  return (_a = compilerOptions.useDefineForClassFields) !== null && _a !== void 0 ? _a : target >= ts.ScriptTarget.ES2022;
130
171
  }
131
172
  function tsCompilerOptionsToSwcConfig(options, filename) {
132
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
173
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
133
174
  const isJsx = filename.endsWith('.tsx') || filename.endsWith('.jsx') || Boolean(options.jsx);
134
175
  const target = (_a = options.target) !== null && _a !== void 0 ? _a : ts.ScriptTarget.ES2018;
176
+ const sourceMapModeName = (_b = process.env.SWC_NODE_SOURCE_MAP_MODE) === null || _b === void 0 ? void 0 : _b.trim().toLowerCase();
177
+ const enableInlineSourceMap = (_c = options.inlineSourceMap) !== null && _c !== void 0 ? _c : (sourceMapModeName === 'inline' ? true : undefined);
178
+ const shouldEmitSourceMap = Boolean(options.sourceMap || enableInlineSourceMap);
135
179
  return {
136
- module: toModule((_b = options.module) !== null && _b !== void 0 ? _b : ts.ModuleKind.ES2015),
180
+ module: toModule((_d = options.module) !== null && _d !== void 0 ? _d : ts.ModuleKind.ES2015),
137
181
  target: toTsTarget(target),
138
182
  jsx: isJsx,
139
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
140
- sourcemap: options.sourceMap || options.inlineSourceMap ? 'inline' : Boolean(options.sourceMap),
141
- experimentalDecorators: (_c = options.experimentalDecorators) !== null && _c !== void 0 ? _c : false,
142
- emitDecoratorMetadata: (_d = options.emitDecoratorMetadata) !== null && _d !== void 0 ? _d : false,
183
+ sourcemap: enableInlineSourceMap ? 'inline' : shouldEmitSourceMap,
184
+ experimentalDecorators: (_e = options.experimentalDecorators) !== null && _e !== void 0 ? _e : false,
185
+ emitDecoratorMetadata: (_f = options.emitDecoratorMetadata) !== null && _f !== void 0 ? _f : false,
143
186
  useDefineForClassFields: getUseDefineForClassFields(options, target),
144
- esModuleInterop: (_e = options.esModuleInterop) !== null && _e !== void 0 ? _e : false,
187
+ esModuleInterop: (_g = options.esModuleInterop) !== null && _g !== void 0 ? _g : false,
145
188
  dynamicImport: true,
146
189
  keepClassNames: true,
147
190
  externalHelpers: Boolean(options.importHelpers),
148
- react: ((_h = (_g = (_f = options.jsxFactory) !== null && _f !== void 0 ? _f : options.jsxFragmentFactory) !== null && _g !== void 0 ? _g : options.jsx) !== null && _h !== void 0 ? _h : options.jsxImportSource)
191
+ react: ((_k = (_j = (_h = options.jsxFactory) !== null && _h !== void 0 ? _h : options.jsxFragmentFactory) !== null && _j !== void 0 ? _j : options.jsx) !== null && _k !== void 0 ? _k : options.jsxImportSource)
149
192
  ? {
150
193
  pragma: options.jsxFactory,
151
194
  pragmaFrag: options.jsxFragmentFactory,
152
- importSource: (_j = options.jsxImportSource) !== null && _j !== void 0 ? _j : 'react',
153
- runtime: ((_k = options.jsx) !== null && _k !== void 0 ? _k : 0) >= ts.JsxEmit.ReactJSX ? 'automatic' : 'classic',
195
+ importSource: (_l = options.jsxImportSource) !== null && _l !== void 0 ? _l : 'react',
196
+ runtime: ((_m = options.jsx) !== null && _m !== void 0 ? _m : 0) >= ts.JsxEmit.ReactJSX ? 'automatic' : 'classic',
154
197
  useBuiltins: true,
155
198
  }
156
199
  : undefined,
157
200
  baseUrl: options.baseUrl ? (0, path_1.resolve)(options.baseUrl) : undefined,
158
- paths: Object.fromEntries(Object.entries((_l = options.paths) !== null && _l !== void 0 ? _l : {}).map(([aliasKey, aliasPaths]) => {
201
+ paths: Object.fromEntries(Object.entries((_o = options.paths) !== null && _o !== void 0 ? _o : {}).map(([aliasKey, aliasPaths]) => {
159
202
  var _a;
160
203
  return [
161
204
  aliasKey,
@@ -165,7 +208,7 @@ function tsCompilerOptionsToSwcConfig(options, filename) {
165
208
  ignoreDynamic: Boolean(process.env.SWC_NODE_IGNORE_DYNAMIC),
166
209
  swc: {
167
210
  sourceRoot: options.sourceRoot,
168
- inputSourceMap: options.inlineSourceMap,
211
+ inputSourceMap: enableInlineSourceMap,
169
212
  },
170
213
  };
171
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-default-tsconfig.js","sourceRoot":"","sources":["../read-default-tsconfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,kDA2CC;AA4DD,oEAuCC;AAxJD,2BAA+B;AAC/B,+BAA6C;AAG7C,yCAAkC;AAClC,kDAAgC;AAChC,+CAAgC;AAEhC,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,WAAW,CAAC,CAAA;AAEvC,SAAgB,mBAAmB,CACjC,YAAkH;;iCAAlH,EAAA,qBAAe,MAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,mCAAI,OAAO,CAAC,GAAG,CAAC,eAAe,mCAAI,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC;IAElH,IAAI,eAAe,GAA8E;QAC/F,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;QAC9B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ;QAC9B,gBAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM;QAChD,SAAS,EAAE,IAAI;QACf,eAAe,EAAE,IAAI;KACtB,CAAA;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAA,cAAO,EAAC,YAAY,CAAC,CAAA;IAE9C,IAAI,CAAC,IAAA,eAAU,EAAC,gBAAgB,CAAC,EAAE,CAAC;QAClC,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,IAAI,CAAC;QACH,KAAK,CAAC,yBAAyB,gBAAgB,EAAE,CAAC,CAAA;QAClD,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAEvE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,IAAA,cAAO,EAAC,gBAAgB,CAAC,CAAC,CAAA;QAE/G,gHAAgH;QAChH,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACtC,OAAO,CAAC,OAAO,GAAG,IAAA,cAAO,EAAC,gBAAgB,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,eAAe,GAAG,OAAO,CAAA;YACzB,eAAe,CAAC,KAAK,GAAG,SAAS,CAAA;QACnC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,IAAA,kBAAM,EAAC,8CAA8C,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;QACnH,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,IAAA,kBAAM,EAAC,QAAQ,YAAY,YAAa,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,SAAS,UAAU,CAAC,MAAuB;IACzC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,EAAE,CAAC,YAAY,CAAC,GAAG;YACtB,OAAO,KAAK,CAAA;QACd,KAAK,EAAE,CAAC,YAAY,CAAC,GAAG;YACtB,OAAO,KAAK,CAAA;QACd,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM;YACzB,OAAO,QAAQ,CAAA;QACjB,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM;YACzB,OAAO,QAAQ,CAAA;QACjB,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM;YACzB,OAAO,QAAQ,CAAA;QACjB,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM;YACzB,OAAO,QAAQ,CAAA;QACjB,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM;YACzB,OAAO,QAAQ,CAAA;QACjB,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM;YACzB,OAAO,QAAQ,CAAA;QACjB,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM;YACzB,OAAO,QAAQ,CAAA;QACjB,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;QAC5B,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM;YACzB,OAAO,QAAQ,CAAA;QACjB,KAAK,EAAE,CAAC,YAAY,CAAC,IAAI;YACvB,OAAO,KAAK,CAAA;IAChB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,UAAyB;IACzC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,EAAE,CAAC,UAAU,CAAC,QAAQ;YACzB,OAAO,UAAU,CAAA;QACnB,KAAK,EAAE,CAAC,UAAU,CAAC,GAAG;YACpB,OAAO,KAAK,CAAA;QACd,KAAK,EAAE,CAAC,UAAU,CAAC,GAAG;YACpB,OAAO,KAAK,CAAA;QACd,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAC1B,KAAK,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC5B,KAAK,EAAE,CAAC,UAAU,CAAC,IAAI;YACrB,OAAO,KAAK,CAAA;QACd,KAAK,EAAE,CAAC,UAAU,CAAC,MAAM;YACvB,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,0BAA0B,CAAC,eAAmC,EAAE,MAAuB;;IAC9F,OAAO,MAAA,eAAe,CAAC,uBAAuB,mCAAI,MAAM,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAA;AACpF,CAAC;AAED,SAAgB,4BAA4B,CAAC,OAA2B,EAAE,QAAgB;;IACxF,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC5F,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAA;IACvD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAA,OAAO,CAAC,MAAM,mCAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QACxD,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;QAC1B,GAAG,EAAE,KAAK;QACV,wEAAwE;QACxE,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAC/F,sBAAsB,EAAE,MAAA,OAAO,CAAC,sBAAsB,mCAAI,KAAK;QAC/D,qBAAqB,EAAE,MAAA,OAAO,CAAC,qBAAqB,mCAAI,KAAK;QAC7D,uBAAuB,EAAE,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC;QACpE,eAAe,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,KAAK;QACjD,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QAC/C,KAAK,EACH,CAAA,MAAA,MAAA,MAAA,OAAO,CAAC,UAAU,mCAAI,OAAO,CAAC,kBAAkB,mCAAI,OAAO,CAAC,GAAG,mCAAI,OAAO,CAAC,eAAe;YACxF,CAAC,CAAC;gBACE,MAAM,EAAE,OAAO,CAAC,UAAU;gBAC1B,UAAU,EAAE,OAAO,CAAC,kBAAkB;gBACtC,YAAY,EAAE,MAAA,OAAO,CAAC,eAAe,mCAAI,OAAO;gBAChD,OAAO,EAAE,CAAC,MAAA,OAAO,CAAC,GAAG,mCAAI,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAC5E,WAAW,EAAE,IAAI;aAClB;YACH,CAAC,CAAC,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QAC/D,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAA,OAAO,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;;YAAC,OAAA;gBAClE,QAAQ;gBACR,CAAC,MAAC,UAAuB,mCAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,IAAA,cAAO,EAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,IAAI,EAAE,IAAI,CAAC,CAAA,EAAA,CAAC;aACvF,CAAA;SAAA,CAAC,CACiB;QACrB,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAC3D,GAAG,EAAE;YACH,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,cAAc,EAAE,OAAO,CAAC,eAAe;SACxC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"read-default-tsconfig.js","sourceRoot":"","sources":["../read-default-tsconfig.ts"],"names":[],"mappings":"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"}
package/lib/register.js CHANGED
@@ -15,13 +15,24 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var _a, _b;
25
36
  Object.defineProperty(exports, "__esModule", { value: true });
26
37
  exports.compile = compile;
27
38
  exports.register = register;
@@ -30,6 +41,7 @@ const sourcemap_support_1 = require("@swc-node/sourcemap-support");
30
41
  const pirates_1 = require("pirates");
31
42
  const ts = __importStar(require("typescript"));
32
43
  const read_default_tsconfig_1 = require("./read-default-tsconfig");
44
+ const transform_cache_1 = require("./transform-cache");
33
45
  const DEFAULT_EXTENSIONS = new Set([
34
46
  ts.Extension.Js,
35
47
  ts.Extension.Ts,
@@ -42,9 +54,28 @@ const DEFAULT_EXTENSIONS = new Set([
42
54
  '.es6',
43
55
  '.es',
44
56
  ]);
57
+ // Runtime knobs here are process-scoped and comparatively cheap to read, so
58
+ // they gate cache safety without paying per-module deep serialization costs.
59
+ // Every env var that changes transform output must appear here, otherwise a
60
+ // warm cache would serve output produced under a different configuration.
61
+ const CacheRuntimeSalt = [
62
+ process.env.SWCRC ? 'swcrc=1' : 'swcrc=0',
63
+ `swcConfig=${(_a = process.env.SWC_CONFIG_FILE) !== null && _a !== void 0 ? _a : ''}`,
64
+ `sourceMapMode=${(_b = process.env.SWC_NODE_SOURCE_MAP_MODE) !== null && _b !== void 0 ? _b : 'auto'}`,
65
+ // Toggles import()/import.meta rewriting, so it changes emitted code.
66
+ `ignoreDynamic=${process.env.SWC_NODE_IGNORE_DYNAMIC ? '1' : '0'}`,
67
+ ].join(';');
45
68
  const injectInlineSourceMap = ({ filename, code, map, }) => {
46
- if (map) {
69
+ if (!map) {
70
+ return code;
71
+ }
72
+ // Choose map storage strategy at emit time so one process can tune behavior
73
+ // per runtime profile (debuggability vs memory) without rebuilds.
74
+ const sourceMapMode = (0, read_default_tsconfig_1.getSourceMapMode)();
75
+ if (sourceMapMode.store) {
47
76
  sourcemap_support_1.SourcemapMap.set(filename, map);
77
+ }
78
+ if (sourceMapMode.inline) {
48
79
  const base64Map = Buffer.from(map, 'utf8').toString('base64');
49
80
  const sourceMapContent = `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`;
50
81
  return `${code}\n${sourceMapContent}`;
@@ -55,13 +86,37 @@ function compile(sourcecode, filename, options, async = false) {
55
86
  if (sourcecode == null) {
56
87
  return;
57
88
  }
58
- if (options && typeof options.fallbackToTs === 'function' && options.fallbackToTs(filename)) {
59
- delete options.fallbackToTs;
89
+ const fallbackToTs = Boolean(options && typeof options.fallbackToTs === 'function' && options.fallbackToTs(filename));
90
+ delete options.fallbackToTs;
91
+ // Preserve the overloaded return contract: an async caller may `.then()` the
92
+ // result, so every synchronous return below must be wrapped when async.
93
+ const finalize = (result) => (async ? Promise.resolve(result) : result);
94
+ // Fast-path before cache work for files intentionally left as runtime JS.
95
+ // This keeps cache logs meaningful and avoids unnecessary key generation.
96
+ if (!fallbackToTs && (0, transform_cache_1.shouldSkipTransformForRuntimeJs)(filename, sourcecode, options.module, Boolean(options.jsx))) {
97
+ return finalize(sourcecode);
98
+ }
99
+ const cacheInput = {
100
+ sourcecode,
101
+ filename,
102
+ options,
103
+ fallbackToTs,
104
+ runSalt: CacheRuntimeSalt,
105
+ };
106
+ const cacheKey = (0, transform_cache_1.createCacheKey)(cacheInput);
107
+ const cacheEntry = (0, transform_cache_1.getCachedTransform)(cacheKey);
108
+ if (cacheEntry) {
109
+ // Keep source-map behavior consistent for cache hits, otherwise stack trace
110
+ // semantics would differ between warm and cold compiles.
111
+ return finalize(injectInlineSourceMap({ filename, code: cacheEntry.code, map: cacheEntry.map }));
112
+ }
113
+ if (fallbackToTs) {
60
114
  const { outputText, sourceMapText } = ts.transpileModule(sourcecode, {
61
115
  fileName: filename,
62
116
  compilerOptions: options,
63
117
  });
64
- return injectInlineSourceMap({ filename, code: outputText, map: sourceMapText });
118
+ (0, transform_cache_1.setCachedTransform)(cacheKey, { code: outputText, map: sourceMapText });
119
+ return finalize(injectInlineSourceMap({ filename, code: outputText, map: sourceMapText }));
65
120
  }
66
121
  let swcRegisterConfig;
67
122
  if (process.env.SWCRC) {
@@ -69,7 +124,7 @@ function compile(sourcecode, filename, options, async = false) {
69
124
  swcRegisterConfig = {
70
125
  swc: {
71
126
  swcrc: true,
72
- configFile: process.env.SWC_CONFIG_FILE
127
+ configFile: process.env.SWC_CONFIG_FILE,
73
128
  },
74
129
  };
75
130
  }
@@ -78,11 +133,13 @@ function compile(sourcecode, filename, options, async = false) {
78
133
  }
79
134
  if (async) {
80
135
  return (0, core_1.transform)(sourcecode, filename, swcRegisterConfig).then(({ code, map }) => {
136
+ (0, transform_cache_1.setCachedTransform)(cacheKey, { code, map });
81
137
  return injectInlineSourceMap({ filename, code, map });
82
138
  });
83
139
  }
84
140
  else {
85
141
  const { code, map } = (0, core_1.transformSync)(sourcecode, filename, swcRegisterConfig);
142
+ (0, transform_cache_1.setCachedTransform)(cacheKey, { code, map });
86
143
  return injectInlineSourceMap({ filename, code, map });
87
144
  }
88
145
  }
@@ -91,7 +148,11 @@ function register(options = {}, hookOpts = {}) {
91
148
  options = Object.keys(options).length ? options : (0, read_default_tsconfig_1.readDefaultTsConfig)();
92
149
  }
93
150
  options.module = ts.ModuleKind.CommonJS;
94
- (0, sourcemap_support_1.installSourceMapSupport)();
151
+ // Install source-map-support only when map-store mode is active; with inline
152
+ // mode and native source maps, this avoids duplicate map retention.
153
+ if ((0, read_default_tsconfig_1.getSourceMapMode)().store) {
154
+ (0, sourcemap_support_1.installSourceMapSupport)();
155
+ }
95
156
  return (0, pirates_1.addHook)((code, filename) => compile(code, filename, options), {
96
157
  exts: Array.from(DEFAULT_EXTENSIONS),
97
158
  ...hookOpts,
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../register.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../register.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import * as ts from 'typescript';
2
+ interface TransformCacheEntry {
3
+ code: string;
4
+ map?: string;
5
+ }
6
+ interface TransformCacheKeyInput {
7
+ sourcecode: string;
8
+ filename: string;
9
+ options: Record<string, unknown>;
10
+ fallbackToTs: boolean;
11
+ runSalt: string;
12
+ }
13
+ export declare function getCachedTransform(cacheKey: string): TransformCacheEntry | undefined;
14
+ export declare function setCachedTransform(cacheKey: string, value: TransformCacheEntry): void;
15
+ export declare function createCacheKey(input: TransformCacheKeyInput): string;
16
+ export declare function clearTransformCache(options?: {
17
+ memory?: boolean;
18
+ disk?: boolean;
19
+ }): void;
20
+ export declare function getTransformCacheDirectory(): string;
21
+ export declare function shouldSkipTransformForRuntimeJs(filename: string, sourcecode: string, moduleKind?: ts.ModuleKind, jsxEnabled?: boolean, swcrcEnabled?: boolean): boolean;
22
+ export {};