@swc-node/register 1.11.1 → 1.12.1

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.
@@ -36,6 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getSourceMapMode = getSourceMapMode;
39
40
  exports.readDefaultTsConfig = readDefaultTsConfig;
40
41
  exports.tsCompilerOptionsToSwcConfig = tsCompilerOptionsToSwcConfig;
41
42
  const fs_1 = require("fs");
@@ -45,6 +46,35 @@ const debug_1 = __importDefault(require("debug"));
45
46
  const ts = __importStar(require("typescript"));
46
47
  const debug = (0, debug_1.default)('@swc-node');
47
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, always inline the map: the V8 inspector reads the inline
67
+ // sourceMappingURL off the running code to bind breakpoints, and it does so
68
+ // regardless of `process.sourceMapsEnabled` (which only governs how Node
69
+ // rewrites Error.stack). Gating inline emission on that flag broke debuggers
70
+ // in 1.12.0 (https://github.com/swc-project/swc-node/issues/1059).
71
+ //
72
+ // Additionally store the map when native source maps are off so
73
+ // @swc-node/sourcemap-support keeps Error.stack line numbers correct; when
74
+ // native maps are on, Node handles stack traces and storing would just retain
75
+ // a duplicate map.
76
+ return process.sourceMapsEnabled ? { inline: true, store: false } : { inline: true, store: true };
77
+ }
48
78
  function readDefaultTsConfig(tsConfigPath) {
49
79
  var _a, _b;
50
80
  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'); }
@@ -108,9 +138,13 @@ function toTsTarget(target) {
108
138
  case ts.ScriptTarget.ES2021:
109
139
  return 'es2021';
110
140
  case ts.ScriptTarget.ES2022:
141
+ return 'es2022';
142
+ case ts.ScriptTarget.ES2023:
143
+ return 'es2023';
144
+ case ts.ScriptTarget.ES2024:
111
145
  case ts.ScriptTarget.ESNext:
112
146
  case ts.ScriptTarget.Latest:
113
- return 'es2022';
147
+ return 'es2024';
114
148
  case ts.ScriptTarget.JSON:
115
149
  return 'es5';
116
150
  }
@@ -144,36 +178,35 @@ function getUseDefineForClassFields(compilerOptions, target) {
144
178
  return (_a = compilerOptions.useDefineForClassFields) !== null && _a !== void 0 ? _a : target >= ts.ScriptTarget.ES2022;
145
179
  }
146
180
  function tsCompilerOptionsToSwcConfig(options, filename) {
147
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
181
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
148
182
  const isJsx = filename.endsWith('.tsx') || filename.endsWith('.jsx') || Boolean(options.jsx);
149
183
  const target = (_a = options.target) !== null && _a !== void 0 ? _a : ts.ScriptTarget.ES2018;
150
- const enableInlineSourceMap = (_b = options.inlineSourceMap) !== null && _b !== void 0 ? _b : (typeof process.env.SWC_NODE_INLINE_SOURCE_MAP === 'string'
151
- ? Boolean(process.env.SWC_NODE_INLINE_SOURCE_MAP)
152
- : undefined);
184
+ const sourceMapModeName = (_b = process.env.SWC_NODE_SOURCE_MAP_MODE) === null || _b === void 0 ? void 0 : _b.trim().toLowerCase();
185
+ const enableInlineSourceMap = (_c = options.inlineSourceMap) !== null && _c !== void 0 ? _c : (sourceMapModeName === 'inline' ? true : undefined);
186
+ const shouldEmitSourceMap = Boolean(options.sourceMap || enableInlineSourceMap);
153
187
  return {
154
- module: toModule((_c = options.module) !== null && _c !== void 0 ? _c : ts.ModuleKind.ES2015),
188
+ module: toModule((_d = options.module) !== null && _d !== void 0 ? _d : ts.ModuleKind.ES2015),
155
189
  target: toTsTarget(target),
156
190
  jsx: isJsx,
157
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
158
- sourcemap: options.sourceMap || enableInlineSourceMap ? 'inline' : Boolean(options.sourceMap),
159
- experimentalDecorators: (_d = options.experimentalDecorators) !== null && _d !== void 0 ? _d : false,
160
- emitDecoratorMetadata: (_e = options.emitDecoratorMetadata) !== null && _e !== void 0 ? _e : false,
191
+ sourcemap: enableInlineSourceMap ? 'inline' : shouldEmitSourceMap,
192
+ experimentalDecorators: (_e = options.experimentalDecorators) !== null && _e !== void 0 ? _e : false,
193
+ emitDecoratorMetadata: (_f = options.emitDecoratorMetadata) !== null && _f !== void 0 ? _f : false,
161
194
  useDefineForClassFields: getUseDefineForClassFields(options, target),
162
- esModuleInterop: (_f = options.esModuleInterop) !== null && _f !== void 0 ? _f : false,
195
+ esModuleInterop: (_g = options.esModuleInterop) !== null && _g !== void 0 ? _g : false,
163
196
  dynamicImport: true,
164
197
  keepClassNames: true,
165
198
  externalHelpers: Boolean(options.importHelpers),
166
- react: ((_j = (_h = (_g = options.jsxFactory) !== null && _g !== void 0 ? _g : options.jsxFragmentFactory) !== null && _h !== void 0 ? _h : options.jsx) !== null && _j !== void 0 ? _j : options.jsxImportSource)
199
+ 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)
167
200
  ? {
168
201
  pragma: options.jsxFactory,
169
202
  pragmaFrag: options.jsxFragmentFactory,
170
- importSource: (_k = options.jsxImportSource) !== null && _k !== void 0 ? _k : 'react',
171
- runtime: ((_l = options.jsx) !== null && _l !== void 0 ? _l : 0) >= ts.JsxEmit.ReactJSX ? 'automatic' : 'classic',
203
+ importSource: (_l = options.jsxImportSource) !== null && _l !== void 0 ? _l : 'react',
204
+ runtime: ((_m = options.jsx) !== null && _m !== void 0 ? _m : 0) >= ts.JsxEmit.ReactJSX ? 'automatic' : 'classic',
172
205
  useBuiltins: true,
173
206
  }
174
207
  : undefined,
175
208
  baseUrl: options.baseUrl ? (0, path_1.resolve)(options.baseUrl) : undefined,
176
- paths: Object.fromEntries(Object.entries((_m = options.paths) !== null && _m !== void 0 ? _m : {}).map(([aliasKey, aliasPaths]) => {
209
+ paths: Object.fromEntries(Object.entries((_o = options.paths) !== null && _o !== void 0 ? _o : {}).map(([aliasKey, aliasPaths]) => {
177
210
  var _a;
178
211
  return [
179
212
  aliasKey,
@@ -1 +1 @@
1
- {"version":3,"file":"read-default-tsconfig.js","sourceRoot":"","sources":["../read-default-tsconfig.ts"],"names":[],"mappings":"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"}
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
@@ -32,6 +32,7 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var _a, _b;
35
36
  Object.defineProperty(exports, "__esModule", { value: true });
36
37
  exports.compile = compile;
37
38
  exports.register = register;
@@ -40,6 +41,7 @@ const sourcemap_support_1 = require("@swc-node/sourcemap-support");
40
41
  const pirates_1 = require("pirates");
41
42
  const ts = __importStar(require("typescript"));
42
43
  const read_default_tsconfig_1 = require("./read-default-tsconfig");
44
+ const transform_cache_1 = require("./transform-cache");
43
45
  const DEFAULT_EXTENSIONS = new Set([
44
46
  ts.Extension.Js,
45
47
  ts.Extension.Ts,
@@ -52,9 +54,28 @@ const DEFAULT_EXTENSIONS = new Set([
52
54
  '.es6',
53
55
  '.es',
54
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(';');
55
68
  const injectInlineSourceMap = ({ filename, code, map, }) => {
56
- 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) {
57
76
  sourcemap_support_1.SourcemapMap.set(filename, map);
77
+ }
78
+ if (sourceMapMode.inline) {
58
79
  const base64Map = Buffer.from(map, 'utf8').toString('base64');
59
80
  const sourceMapContent = `//# sourceMappingURL=data:application/json;charset=utf-8;base64,${base64Map}`;
60
81
  return `${code}\n${sourceMapContent}`;
@@ -65,13 +86,37 @@ function compile(sourcecode, filename, options, async = false) {
65
86
  if (sourcecode == null) {
66
87
  return;
67
88
  }
68
- if (options && typeof options.fallbackToTs === 'function' && options.fallbackToTs(filename)) {
69
- 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) {
70
114
  const { outputText, sourceMapText } = ts.transpileModule(sourcecode, {
71
115
  fileName: filename,
72
116
  compilerOptions: options,
73
117
  });
74
- 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 }));
75
120
  }
76
121
  let swcRegisterConfig;
77
122
  if (process.env.SWCRC) {
@@ -79,7 +124,7 @@ function compile(sourcecode, filename, options, async = false) {
79
124
  swcRegisterConfig = {
80
125
  swc: {
81
126
  swcrc: true,
82
- configFile: process.env.SWC_CONFIG_FILE
127
+ configFile: process.env.SWC_CONFIG_FILE,
83
128
  },
84
129
  };
85
130
  }
@@ -88,11 +133,13 @@ function compile(sourcecode, filename, options, async = false) {
88
133
  }
89
134
  if (async) {
90
135
  return (0, core_1.transform)(sourcecode, filename, swcRegisterConfig).then(({ code, map }) => {
136
+ (0, transform_cache_1.setCachedTransform)(cacheKey, { code, map });
91
137
  return injectInlineSourceMap({ filename, code, map });
92
138
  });
93
139
  }
94
140
  else {
95
141
  const { code, map } = (0, core_1.transformSync)(sourcecode, filename, swcRegisterConfig);
142
+ (0, transform_cache_1.setCachedTransform)(cacheKey, { code, map });
96
143
  return injectInlineSourceMap({ filename, code, map });
97
144
  }
98
145
  }
@@ -101,7 +148,11 @@ function register(options = {}, hookOpts = {}) {
101
148
  options = Object.keys(options).length ? options : (0, read_default_tsconfig_1.readDefaultTsConfig)();
102
149
  }
103
150
  options.module = ts.ModuleKind.CommonJS;
104
- (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
+ }
105
156
  return (0, pirates_1.addHook)((code, filename) => compile(code, filename, options), {
106
157
  exts: Array.from(DEFAULT_EXTENSIONS),
107
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 {};
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
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 __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ var _a;
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.getCachedTransform = getCachedTransform;
41
+ exports.setCachedTransform = setCachedTransform;
42
+ exports.createCacheKey = createCacheKey;
43
+ exports.clearTransformCache = clearTransformCache;
44
+ exports.getTransformCacheDirectory = getTransformCacheDirectory;
45
+ exports.shouldSkipTransformForRuntimeJs = shouldSkipTransformForRuntimeJs;
46
+ const node_fs_1 = __importDefault(require("node:fs"));
47
+ const node_path_1 = __importDefault(require("node:path"));
48
+ const ts = __importStar(require("typescript"));
49
+ const node_os_1 = require("node:os");
50
+ const node_path_2 = require("node:path");
51
+ const xxhash_1 = require("@node-rs/xxhash");
52
+ const debug_1 = __importDefault(require("debug"));
53
+ const fast_json_stable_stringify_1 = __importDefault(require("fast-json-stable-stringify"));
54
+ const LOOKS_LIKE_ESM_SYNTAX_REGEX = /(?:^|\n)\s*import\s|(?:^|\n)\s*export\s|\bimport\.meta\b/;
55
+ // Strong JSX signals: a closing element `</Tag`, a self-closing element
56
+ // `<Tag ... />`, or a fragment `<>`. These are rare in plain JS (a `<`/`>`
57
+ // comparison matches none of them), so a hit reliably means the file needs the
58
+ // JSX transform and must not be skipped.
59
+ const LOOKS_LIKE_JSX_REGEX = /<\/[A-Za-z]|<[A-Za-z][^>]*\/>|<>/;
60
+ const JS_RUNTIME_EXTENSIONS = new Set([ts.Extension.Js, ts.Extension.Mjs, ts.Extension.Cjs, '.es6', '.es']);
61
+ const debug = (0, debug_1.default)('@swc-node');
62
+ const CACHE_ENABLED = isEnabled(process.env.SWC_NODE_CACHE, true);
63
+ const MEMORY_CACHE_LIMIT = Number((_a = process.env.SWC_NODE_CACHE_MEMORY_LIMIT) !== null && _a !== void 0 ? _a : '2000');
64
+ // A stable per-user segment so the on-disk cache is shared across runs by the
65
+ // same user. Windows has no getuid(); falling back to the pid there would give
66
+ // every process a throwaway directory and defeat the disk cache entirely.
67
+ function cacheUserSegment() {
68
+ if (typeof process.getuid === 'function') {
69
+ return String(process.getuid());
70
+ }
71
+ try {
72
+ const name = (0, node_os_1.userInfo)().username;
73
+ if (name) {
74
+ return name.replace(/[^a-zA-Z0-9_-]/g, '_');
75
+ }
76
+ }
77
+ catch (_a) {
78
+ // userInfo() can throw when there is no backing passwd entry.
79
+ }
80
+ return 'default';
81
+ }
82
+ // Resolved lazily rather than frozen at import time so SWC_NODE_CACHE_DIR is
83
+ // honored whenever it is set (including by tests) and getTransformCacheDirectory
84
+ // always reflects the current value.
85
+ function getCacheDirectory() {
86
+ var _a;
87
+ return (_a = process.env.SWC_NODE_CACHE_DIR) !== null && _a !== void 0 ? _a : (0, node_path_2.join)((0, node_os_1.tmpdir)(), `swc-node-${cacheUserSegment()}`);
88
+ }
89
+ if (!Number.isFinite(MEMORY_CACHE_LIMIT) || MEMORY_CACHE_LIMIT < 0) {
90
+ throw new Error(`Invalid value for SWC_NODE_CACHE_MEMORY_LIMIT: ${process.env.SWC_NODE_CACHE_MEMORY_LIMIT}`);
91
+ }
92
+ const REGISTER_VERSION = readPackageVersion('../package.json');
93
+ const SWC_VERSION = readPackageVersion('@swc/core/package.json');
94
+ const memoryCache = new Map();
95
+ let optionsSignatureCache = new WeakMap();
96
+ let ensuredCacheDirectory;
97
+ let diskWriteCounter = 0;
98
+ function getCachedTransform(cacheKey) {
99
+ if (!CACHE_ENABLED) {
100
+ return undefined;
101
+ }
102
+ const memoryValue = memoryCache.get(cacheKey);
103
+ if (memoryValue) {
104
+ return memoryValue;
105
+ }
106
+ const diskValue = readDiskCache(cacheKey);
107
+ if (diskValue) {
108
+ setMemoryCache(cacheKey, diskValue);
109
+ }
110
+ return diskValue;
111
+ }
112
+ function setCachedTransform(cacheKey, value) {
113
+ if (!CACHE_ENABLED) {
114
+ return;
115
+ }
116
+ setMemoryCache(cacheKey, value);
117
+ writeDiskCache(cacheKey, value);
118
+ }
119
+ function createCacheKey(input) {
120
+ // Keep cache reuse scoped to both source intent and toolchain version so
121
+ // stale compiled output is not reused across upgrades/config changes. NUL
122
+ // separators keep field boundaries unambiguous.
123
+ const payload = [
124
+ input.sourcecode,
125
+ input.filename,
126
+ input.fallbackToTs ? 'ts' : 'swc',
127
+ getOptionsSignature(input.options),
128
+ input.runSalt,
129
+ `register:${REGISTER_VERSION};swc:${SWC_VERSION}`,
130
+ ].join('\0');
131
+ // xxh64 over a byte Buffer: faster than a crypto hash over strings on this
132
+ // per-file hot path, and 64-bit collision odds are negligible for a transform
133
+ // cache. Matches @swc-node/jest's hashing and standard build-cache practice.
134
+ return (0, xxhash_1.xxh64)(Buffer.from(payload)).toString(16);
135
+ }
136
+ function getOptionsSignature(options) {
137
+ const cached = optionsSignatureCache.get(options);
138
+ if (cached) {
139
+ return cached;
140
+ }
141
+ // Options are usually reused for most compiles in one process; cache the
142
+ // normalized signature so hash generation stays near O(source length).
143
+ const signature = (0, fast_json_stable_stringify_1.default)(options);
144
+ optionsSignatureCache.set(options, signature);
145
+ return signature;
146
+ }
147
+ function setMemoryCache(key, value) {
148
+ memoryCache.set(key, value);
149
+ // Bound in-process retention for long-lived services where many modules
150
+ // may be touched once and never needed again.
151
+ while (memoryCache.size > MEMORY_CACHE_LIMIT) {
152
+ const oldestKey = memoryCache.keys().next().value;
153
+ if (!oldestKey) {
154
+ break;
155
+ }
156
+ memoryCache.delete(oldestKey);
157
+ }
158
+ }
159
+ function readDiskCache(key) {
160
+ try {
161
+ const directory = ensureCacheDirectory();
162
+ const file = node_fs_1.default.readFileSync((0, node_path_2.join)(directory, `${key}.json`), 'utf8');
163
+ return JSON.parse(file);
164
+ }
165
+ catch (error) {
166
+ debug('Failed to read cache file', error);
167
+ return undefined;
168
+ }
169
+ }
170
+ function writeDiskCache(key, value) {
171
+ const directory = ensureCacheDirectory();
172
+ const target = (0, node_path_2.join)(directory, `${key}.json`);
173
+ // Write to a unique temp file then atomically rename into place. A crash or
174
+ // concurrent writer can then only leave a stray .tmp file, never a
175
+ // partial/zero-byte entry that a reader could observe at the final path.
176
+ // Writes stay non-blocking (fire-and-forget).
177
+ const tmp = `${target}.${process.pid}.${diskWriteCounter++}.tmp`;
178
+ void node_fs_1.default.promises
179
+ .writeFile(tmp, JSON.stringify(value), 'utf8')
180
+ .then(() => node_fs_1.default.promises.rename(tmp, target))
181
+ .catch((error) => {
182
+ debug('Failed to write cache file', error);
183
+ void node_fs_1.default.promises.rm(tmp, { force: true }).catch(() => { });
184
+ });
185
+ }
186
+ function ensureCacheDirectory() {
187
+ const directory = getCacheDirectory();
188
+ if (ensuredCacheDirectory !== directory) {
189
+ node_fs_1.default.mkdirSync(directory, { recursive: true });
190
+ ensuredCacheDirectory = directory;
191
+ }
192
+ // Note that we do not attempt to clean up old cache files since we store it
193
+ // on tmpdir and we assume the OS take care of that.
194
+ return directory;
195
+ }
196
+ function readPackageVersion(path) {
197
+ var _a;
198
+ try {
199
+ return (_a = require(path).version) !== null && _a !== void 0 ? _a : 'unknown';
200
+ }
201
+ catch (error) {
202
+ debug(`Failed to read package ${path} version`, error);
203
+ return 'unknown';
204
+ }
205
+ }
206
+ function isEnabled(value, fallback) {
207
+ if (!value) {
208
+ return fallback;
209
+ }
210
+ const normalized = value.trim().toLowerCase();
211
+ return normalized !== '0' && normalized !== 'false' && normalized !== 'off' && normalized !== 'no';
212
+ }
213
+ function clearTransformCache(options = {}) {
214
+ const { memory = true, disk = true } = options;
215
+ if (memory) {
216
+ memoryCache.clear();
217
+ optionsSignatureCache = new WeakMap();
218
+ }
219
+ if (disk) {
220
+ try {
221
+ node_fs_1.default.rmSync(getCacheDirectory(), { recursive: true, force: true });
222
+ }
223
+ catch (error) {
224
+ debug('Failed to clear cache directory', error);
225
+ }
226
+ ensuredCacheDirectory = undefined;
227
+ }
228
+ }
229
+ function getTransformCacheDirectory() {
230
+ return getCacheDirectory();
231
+ }
232
+ function shouldSkipTransformForRuntimeJs(filename, sourcecode, moduleKind = ts.ModuleKind.ES2015, jsxEnabled = false, swcrcEnabled = Boolean(process.env.SWCRC)) {
233
+ // Respect SWCRC workflows first. When users opt into external SWC config,
234
+ // consistency with that config takes priority over local fast-path heuristics.
235
+ if (swcrcEnabled) {
236
+ return false;
237
+ }
238
+ const extension = node_path_1.default.extname(filename).toLowerCase();
239
+ if (!JS_RUNTIME_EXTENSIONS.has(extension)) {
240
+ return false;
241
+ }
242
+ // JSX in a .js file must be transformed; skipping would ship raw JSX to the
243
+ // runtime and throw a SyntaxError. Never skip when JSX is configured or the
244
+ // source looks like JSX. This guard runs before the module-kind branch so it
245
+ // also protects ESM mode, which would otherwise skip every .js unconditionally.
246
+ if (jsxEnabled || LOOKS_LIKE_JSX_REGEX.test(sourcecode)) {
247
+ return false;
248
+ }
249
+ // In non-CommonJS output modes, runtime JS files are already executable for
250
+ // Node, so compiling them again mostly adds overhead.
251
+ if (moduleKind !== ts.ModuleKind.CommonJS) {
252
+ return true;
253
+ }
254
+ // CommonJS mode is where accidental ESM-in-JS files usually break at runtime,
255
+ // so we keep the transform path only when file content indicates that risk.
256
+ return !LOOKS_LIKE_ESM_SYNTAX_REGEX.test(sourcecode);
257
+ }
258
+ //# sourceMappingURL=transform-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-cache.js","sourceRoot":"","sources":["../transform-cache.ts"],"names":[],"mappings":"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"}