ts-swc-transform 2.11.4 → 2.11.6
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.
|
@@ -105,12 +105,6 @@ var _ref;
|
|
|
105
105
|
var _os_cpus;
|
|
106
106
|
var concurrency = Math.min(64, Math.max(8, ((_ref = (_os_cpus = _os.default.cpus()) === null || _os_cpus === void 0 ? void 0 : _os_cpus.length) !== null && _ref !== void 0 ? _ref : 4) * 8));
|
|
107
107
|
var tscPath = (0, _resolvebinsync.default)('typescript', 'tsc');
|
|
108
|
-
var tsgoPath = null;
|
|
109
|
-
try {
|
|
110
|
-
tsgoPath = (0, _resolvebinsync.default)('@typescript/native-preview', 'tsgo');
|
|
111
|
-
} catch (unused) {
|
|
112
|
-
tsgoPath = null;
|
|
113
|
-
}
|
|
114
108
|
/* ---------------- root file filtering ---------------- */ function isAllowedRootFile(basename) {
|
|
115
109
|
return basename.endsWith('.d.ts') || basename.endsWith('.d.mts') || basename.endsWith('.d.cts') || basename.endsWith('.ts') || basename.endsWith('.tsx') || basename.endsWith('.mts') || basename.endsWith('.cts') || basename.endsWith('.js') || basename.endsWith('.jsx') || basename.endsWith('.mjs') || basename.endsWith('.cjs');
|
|
116
110
|
}
|
|
@@ -121,17 +115,6 @@ try {
|
|
|
121
115
|
encoding: 'utf8'
|
|
122
116
|
}, cb);
|
|
123
117
|
}
|
|
124
|
-
function runTsgoThenTsc(args, cb) {
|
|
125
|
-
if (tsgoPath) {
|
|
126
|
-
runCompiler(tsgoPath, args, function(err, res) {
|
|
127
|
-
// Prefer status code over "err" for deciding success/fallback
|
|
128
|
-
if (!err && res.status === 0) return cb(null, res);
|
|
129
|
-
runCompiler(tscPath, args, cb);
|
|
130
|
-
});
|
|
131
|
-
} else {
|
|
132
|
-
runCompiler(tscPath, args, cb);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
118
|
/* ---------------- emitted file parsing ---------------- */ function parseEmittedFiles(res, dest) {
|
|
136
119
|
var out = [];
|
|
137
120
|
var seen = new Set();
|
|
@@ -188,11 +171,14 @@ function transformTypesWorker(src, dest, options, callback) {
|
|
|
188
171
|
if (err1) return callback(err1);
|
|
189
172
|
if (rootFiles.length === 0) return callback(null, []);
|
|
190
173
|
var compilerOptions = _object_spread_props(_object_spread({}, tsconfig.config.compilerOptions), {
|
|
174
|
+
rootDir: src,
|
|
191
175
|
outDir: dest,
|
|
192
176
|
noEmit: false,
|
|
193
177
|
allowJs: true,
|
|
194
178
|
declaration: true,
|
|
195
|
-
emitDeclarationOnly: true
|
|
179
|
+
emitDeclarationOnly: true,
|
|
180
|
+
downlevelIteration: undefined,
|
|
181
|
+
ignoreDeprecations: '6.0'
|
|
196
182
|
});
|
|
197
183
|
var rewrite = ((_tsconfig_config_compilerOptions = tsconfig.config.compilerOptions) === null || _tsconfig_config_compilerOptions === void 0 ? void 0 : _tsconfig_config_compilerOptions.rewriteRelativeImportExtensions) === true;
|
|
198
184
|
// Avoid collisions across concurrent runs.
|
|
@@ -227,7 +213,7 @@ function transformTypesWorker(src, dest, options, callback) {
|
|
|
227
213
|
'--pretty',
|
|
228
214
|
'false'
|
|
229
215
|
];
|
|
230
|
-
|
|
216
|
+
runCompiler(tscPath, args, function(runErr, res) {
|
|
231
217
|
if (runErr || res.status !== 0) {
|
|
232
218
|
var _ref;
|
|
233
219
|
var msg = "TypeScript compiler failed (status=".concat(res === null || res === void 0 ? void 0 : res.status, ").\n").concat("stderr:\n".concat(String((_ref = res === null || res === void 0 ? void 0 : res.stderr) !== null && _ref !== void 0 ? _ref : '')).slice(0, 20000));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformTypes.ts"],"sourcesContent":["import spawn, { type SpawnCallback, type SpawnResult } from 'cross-spawn-cb';\nimport fs from 'fs';\nimport Iterator, { type Entry } from 'fs-iterator';\nimport { safeRm } from 'fs-remove-compat';\nimport os from 'os';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport resolveBin from 'resolve-bin-sync';\n\nconst concurrency = Math.min(64, Math.max(8, (os.cpus()?.length ?? 4) * 8));\n\nconst tscPath = resolveBin('typescript', 'tsc');\nlet tsgoPath: string | null = null;\ntry {\n tsgoPath = resolveBin('@typescript/native-preview', 'tsgo');\n} catch {\n tsgoPath = null;\n}\n\nimport { typeFileRegEx } from '../constants.ts';\nimport createMatcher from '../createMatcher.ts';\nimport { rewriteExtensions } from '../lib/rewriteExtensions.ts';\n\nimport type { ConfigOptions, TransformTypesCallback } from '../types.ts';\n\n/* ---------------- root file filtering ---------------- */\n\nfunction isAllowedRootFile(basename: string): boolean {\n return (\n basename.endsWith('.d.ts') ||\n basename.endsWith('.d.mts') ||\n basename.endsWith('.d.cts') ||\n basename.endsWith('.ts') ||\n basename.endsWith('.tsx') ||\n basename.endsWith('.mts') ||\n basename.endsWith('.cts') ||\n basename.endsWith('.js') ||\n basename.endsWith('.jsx') ||\n basename.endsWith('.mjs') ||\n basename.endsWith('.cjs')\n );\n}\n\n/* ---------------- compiler execution ---------------- */\n\nfunction runCompiler(cmdPath: string, args: string[], cb: SpawnCallback): void {\n spawn(process.execPath, [cmdPath, ...args], { encoding: 'utf8' }, cb);\n}\n\nfunction runTsgoThenTsc(args: string[], cb: SpawnCallback): void {\n if (tsgoPath) {\n runCompiler(tsgoPath, args, (err, res) => {\n // Prefer status code over \"err\" for deciding success/fallback\n if (!err && res.status === 0) return cb(null, res);\n runCompiler(tscPath, args, cb);\n });\n } else {\n runCompiler(tscPath, args, cb);\n }\n}\n\n/* ---------------- emitted file parsing ---------------- */\n\nfunction parseEmittedFiles(res: SpawnResult, dest: string): string[] {\n const out: string[] = [];\n const seen = new Set<string>();\n const lines = `${res.stdout}\\n${res.stderr}`.split(/\\r?\\n/);\n\n for (let line of lines) {\n line = line.trim();\n if (!line) continue;\n\n if (/^TSFILE:\\s+/i.test(line)) line = line.replace(/^TSFILE:\\s+/i, '').trim();\n\n if (!path.isAbsolute(line)) continue;\n if (!(line.endsWith('.d.ts') || line.endsWith('.d.mts') || line.endsWith('.d.cts'))) continue;\n\n // Optional safety: only accept outputs under dest\n const rel = path.relative(dest, line);\n if (rel.startsWith('..') || path.isAbsolute(rel)) continue;\n\n if (!seen.has(line)) {\n seen.add(line);\n out.push(line);\n }\n }\n\n return out;\n}\n\nexport default function transformTypesWorker(src: string, dest: string, options: ConfigOptions, callback: TransformTypesCallback) {\n const tsconfig = options.tsconfig;\n const matcher = createMatcher(tsconfig);\n\n const rootFiles: string[] = [];\n const iterator = new Iterator(src);\n\n iterator.forEach(\n (entry: Entry): void => {\n if (!entry.stats.isFile()) return;\n if (entry.basename[0] === '.') return;\n if (typeFileRegEx.test(entry.basename)) return;\n if (!isAllowedRootFile(entry.basename)) return;\n if (!matcher(entry.fullPath)) return;\n\n rootFiles.push(entry.fullPath);\n },\n { concurrency },\n (err) => {\n if (err) return callback(err);\n if (rootFiles.length === 0) return callback(null, []);\n\n const compilerOptions = {\n ...tsconfig.config.compilerOptions,\n outDir: dest,\n noEmit: false,\n allowJs: true,\n declaration: true,\n emitDeclarationOnly: true,\n };\n\n const rewrite = tsconfig.config.compilerOptions?.rewriteRelativeImportExtensions === true;\n\n // Avoid collisions across concurrent runs.\n const tempDir = path.join(dest, '.ts-swc-transform-temp', String(process.pid), String(Date.now()));\n const tempConfigPath = path.join(tempDir, 'tsconfig.json');\n\n const tempConfig = {\n compilerOptions,\n files: rootFiles,\n include: [],\n exclude: [],\n ...(tsconfig.config.references && { references: tsconfig.config.references }),\n };\n\n fs.mkdir(tempDir, { recursive: true }, (mkdirErr) => {\n if (mkdirErr) return callback(mkdirErr);\n\n fs.writeFile(tempConfigPath, JSON.stringify(tempConfig, null, 2), 'utf8', (writeErr) => {\n if (writeErr) {\n safeRm(tempDir, { recursive: true, force: true }, () => callback(writeErr));\n return;\n }\n\n const args = ['--project', tempConfigPath, '--listEmittedFiles', '--pretty', 'false'];\n\n runTsgoThenTsc(args, (runErr, res) => {\n if (runErr || res.status !== 0) {\n const msg = `TypeScript compiler failed (status=${res?.status}).\\n${`stderr:\\n${String(res?.stderr ?? '')}`.slice(0, 20_000)}`;\n safeRm(tempDir, { recursive: true, force: true }, () => callback(runErr ?? new Error(msg)));\n return;\n }\n\n const emittedFiles = parseEmittedFiles(res, dest);\n if (emittedFiles.length === 0) {\n safeRm(tempDir, { recursive: true, force: true }, () => callback(new Error('TypeScript compiler produced no emitted declaration files')));\n return;\n }\n\n const postQueue = new Queue();\n\n if (rewrite) {\n for (const file of emittedFiles) {\n postQueue.defer((cb) => {\n fs.readFile(file, 'utf8', (readErr, content) => {\n if (readErr) return cb();\n const updated = rewriteExtensions(content);\n updated === content ? cb() : fs.writeFile(file, updated, 'utf8', cb);\n });\n });\n }\n }\n\n postQueue.await(() => {\n safeRm(tempDir, { recursive: true, force: true }, (rmErr) => callback(rmErr || null, emittedFiles));\n });\n });\n });\n });\n }\n );\n}\n"],"names":["transformTypesWorker","os","concurrency","Math","min","max","cpus","length","tscPath","resolveBin","tsgoPath","isAllowedRootFile","basename","endsWith","runCompiler","cmdPath","args","cb","spawn","process","execPath","encoding","runTsgoThenTsc","err","res","status","parseEmittedFiles","dest","out","seen","Set","lines","stdout","stderr","split","line","trim","test","replace","path","isAbsolute","rel","relative","startsWith","has","add","push","src","options","callback","tsconfig","matcher","createMatcher","rootFiles","iterator","Iterator","forEach","entry","stats","isFile","typeFileRegEx","fullPath","compilerOptions","config","outDir","noEmit","allowJs","declaration","emitDeclarationOnly","rewrite","rewriteRelativeImportExtensions","tempDir","join","String","pid","Date","now","tempConfigPath","tempConfig","files","include","exclude","references","fs","mkdir","recursive","mkdirErr","writeFile","JSON","stringify","writeErr","safeRm","force","runErr","msg","slice","Error","emittedFiles","postQueue","Queue","file","defer","readFile","readErr","content","updated","rewriteExtensions","await","rmErr"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformTypes.ts"],"sourcesContent":["import spawn, { type SpawnCallback, type SpawnResult } from 'cross-spawn-cb';\nimport fs from 'fs';\nimport Iterator, { type Entry } from 'fs-iterator';\nimport { safeRm } from 'fs-remove-compat';\nimport os from 'os';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport resolveBin from 'resolve-bin-sync';\n\nconst concurrency = Math.min(64, Math.max(8, (os.cpus()?.length ?? 4) * 8));\n\nconst tscPath = resolveBin('typescript', 'tsc');\n\nimport { typeFileRegEx } from '../constants.ts';\nimport createMatcher from '../createMatcher.ts';\nimport { rewriteExtensions } from '../lib/rewriteExtensions.ts';\n\nimport type { ConfigOptions, TransformTypesCallback } from '../types.ts';\n\n/* ---------------- root file filtering ---------------- */\n\nfunction isAllowedRootFile(basename: string): boolean {\n return (\n basename.endsWith('.d.ts') ||\n basename.endsWith('.d.mts') ||\n basename.endsWith('.d.cts') ||\n basename.endsWith('.ts') ||\n basename.endsWith('.tsx') ||\n basename.endsWith('.mts') ||\n basename.endsWith('.cts') ||\n basename.endsWith('.js') ||\n basename.endsWith('.jsx') ||\n basename.endsWith('.mjs') ||\n basename.endsWith('.cjs')\n );\n}\n\n/* ---------------- compiler execution ---------------- */\n\nfunction runCompiler(cmdPath: string, args: string[], cb: SpawnCallback): void {\n spawn(process.execPath, [cmdPath, ...args], { encoding: 'utf8' }, cb);\n}\n\n/* ---------------- emitted file parsing ---------------- */\n\nfunction parseEmittedFiles(res: SpawnResult, dest: string): string[] {\n const out: string[] = [];\n const seen = new Set<string>();\n const lines = `${res.stdout}\\n${res.stderr}`.split(/\\r?\\n/);\n\n for (let line of lines) {\n line = line.trim();\n if (!line) continue;\n\n if (/^TSFILE:\\s+/i.test(line)) line = line.replace(/^TSFILE:\\s+/i, '').trim();\n\n if (!path.isAbsolute(line)) continue;\n if (!(line.endsWith('.d.ts') || line.endsWith('.d.mts') || line.endsWith('.d.cts'))) continue;\n\n // Optional safety: only accept outputs under dest\n const rel = path.relative(dest, line);\n if (rel.startsWith('..') || path.isAbsolute(rel)) continue;\n\n if (!seen.has(line)) {\n seen.add(line);\n out.push(line);\n }\n }\n\n return out;\n}\n\nexport default function transformTypesWorker(src: string, dest: string, options: ConfigOptions, callback: TransformTypesCallback) {\n const tsconfig = options.tsconfig;\n const matcher = createMatcher(tsconfig);\n\n const rootFiles: string[] = [];\n const iterator = new Iterator(src);\n\n iterator.forEach(\n (entry: Entry): void => {\n if (!entry.stats.isFile()) return;\n if (entry.basename[0] === '.') return;\n if (typeFileRegEx.test(entry.basename)) return;\n if (!isAllowedRootFile(entry.basename)) return;\n if (!matcher(entry.fullPath)) return;\n\n rootFiles.push(entry.fullPath);\n },\n { concurrency },\n (err) => {\n if (err) return callback(err);\n if (rootFiles.length === 0) return callback(null, []);\n\n const compilerOptions = {\n ...tsconfig.config.compilerOptions,\n rootDir: src,\n outDir: dest,\n noEmit: false,\n allowJs: true,\n declaration: true,\n emitDeclarationOnly: true,\n downlevelIteration: undefined,\n ignoreDeprecations: '6.0',\n };\n\n const rewrite = tsconfig.config.compilerOptions?.rewriteRelativeImportExtensions === true;\n\n // Avoid collisions across concurrent runs.\n const tempDir = path.join(dest, '.ts-swc-transform-temp', String(process.pid), String(Date.now()));\n const tempConfigPath = path.join(tempDir, 'tsconfig.json');\n\n const tempConfig = {\n compilerOptions,\n files: rootFiles,\n include: [],\n exclude: [],\n ...(tsconfig.config.references && { references: tsconfig.config.references }),\n };\n\n fs.mkdir(tempDir, { recursive: true }, (mkdirErr) => {\n if (mkdirErr) return callback(mkdirErr);\n\n fs.writeFile(tempConfigPath, JSON.stringify(tempConfig, null, 2), 'utf8', (writeErr) => {\n if (writeErr) {\n safeRm(tempDir, { recursive: true, force: true }, () => callback(writeErr));\n return;\n }\n\n const args = ['--project', tempConfigPath, '--listEmittedFiles', '--pretty', 'false'];\n\n runCompiler(tscPath, args, (runErr, res) => {\n if (runErr || res.status !== 0) {\n const msg = `TypeScript compiler failed (status=${res?.status}).\\n${`stderr:\\n${String(res?.stderr ?? '')}`.slice(0, 20_000)}`;\n safeRm(tempDir, { recursive: true, force: true }, () => callback(runErr ?? new Error(msg)));\n return;\n }\n\n const emittedFiles = parseEmittedFiles(res, dest);\n if (emittedFiles.length === 0) {\n safeRm(tempDir, { recursive: true, force: true }, () => callback(new Error('TypeScript compiler produced no emitted declaration files')));\n return;\n }\n\n const postQueue = new Queue();\n\n if (rewrite) {\n for (const file of emittedFiles) {\n postQueue.defer((cb) => {\n fs.readFile(file, 'utf8', (readErr, content) => {\n if (readErr) return cb();\n const updated = rewriteExtensions(content);\n updated === content ? cb() : fs.writeFile(file, updated, 'utf8', cb);\n });\n });\n }\n }\n\n postQueue.await(() => {\n safeRm(tempDir, { recursive: true, force: true }, (rmErr) => callback(rmErr || null, emittedFiles));\n });\n });\n });\n });\n }\n );\n}\n"],"names":["transformTypesWorker","os","concurrency","Math","min","max","cpus","length","tscPath","resolveBin","isAllowedRootFile","basename","endsWith","runCompiler","cmdPath","args","cb","spawn","process","execPath","encoding","parseEmittedFiles","res","dest","out","seen","Set","lines","stdout","stderr","split","line","trim","test","replace","path","isAbsolute","rel","relative","startsWith","has","add","push","src","options","callback","tsconfig","matcher","createMatcher","rootFiles","iterator","Iterator","forEach","entry","stats","isFile","typeFileRegEx","fullPath","err","compilerOptions","config","rootDir","outDir","noEmit","allowJs","declaration","emitDeclarationOnly","downlevelIteration","undefined","ignoreDeprecations","rewrite","rewriteRelativeImportExtensions","tempDir","join","String","pid","Date","now","tempConfigPath","tempConfig","files","include","exclude","references","fs","mkdir","recursive","mkdirErr","writeFile","JSON","stringify","writeErr","safeRm","force","runErr","status","msg","slice","Error","emittedFiles","postQueue","Queue","file","defer","readFile","readErr","content","updated","rewriteExtensions","await","rmErr"],"mappings":";;;;+BAwEA;;;eAAwBA;;;mEAxEoC;yDAC7C;iEACsB;8BACd;yDACR;2DACE;8DACC;qEACK;2BAMO;sEACJ;mCACQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IANYC;AAA9C,IAAMC,cAAcC,KAAKC,GAAG,CAAC,IAAID,KAAKE,GAAG,CAAC,GAAG,UAACJ,WAAAA,WAAE,CAACK,IAAI,gBAAPL,+BAAAA,SAAWM,MAAM,uCAAI,KAAK;AAExE,IAAMC,UAAUC,IAAAA,uBAAU,EAAC,cAAc;AAQzC,yDAAyD,GAEzD,SAASC,kBAAkBC,QAAgB;IACzC,OACEA,SAASC,QAAQ,CAAC,YAClBD,SAASC,QAAQ,CAAC,aAClBD,SAASC,QAAQ,CAAC,aAClBD,SAASC,QAAQ,CAAC,UAClBD,SAASC,QAAQ,CAAC,WAClBD,SAASC,QAAQ,CAAC,WAClBD,SAASC,QAAQ,CAAC,WAClBD,SAASC,QAAQ,CAAC,UAClBD,SAASC,QAAQ,CAAC,WAClBD,SAASC,QAAQ,CAAC,WAClBD,SAASC,QAAQ,CAAC;AAEtB;AAEA,wDAAwD,GAExD,SAASC,YAAYC,OAAe,EAAEC,IAAc,EAAEC,EAAiB;IACrEC,IAAAA,qBAAK,EAACC,QAAQC,QAAQ,EAAE;QAACL;KAAiB,CAAlB,OAAU,qBAAGC,QAAO;QAAEK,UAAU;IAAO,GAAGJ;AACpE;AAEA,0DAA0D,GAE1D,SAASK,kBAAkBC,GAAgB,EAAEC,IAAY;IACvD,IAAMC,MAAgB,EAAE;IACxB,IAAMC,OAAO,IAAIC;IACjB,IAAMC,QAAQ,AAAC,GAAiBL,OAAfA,IAAIM,MAAM,EAAC,MAAe,OAAXN,IAAIO,MAAM,EAAGC,KAAK,CAAC;QAE9C,kCAAA,2BAAA;;QAAL,QAAK,YAAYH,0BAAZ,SAAA,6BAAA,QAAA,yBAAA,iCAAmB;YAAnB,IAAII,OAAJ;YACHA,OAAOA,KAAKC,IAAI;YAChB,IAAI,CAACD,MAAM;YAEX,IAAI,eAAeE,IAAI,CAACF,OAAOA,OAAOA,KAAKG,OAAO,CAAC,gBAAgB,IAAIF,IAAI;YAE3E,IAAI,CAACG,aAAI,CAACC,UAAU,CAACL,OAAO;YAC5B,IAAI,CAAEA,CAAAA,KAAKnB,QAAQ,CAAC,YAAYmB,KAAKnB,QAAQ,CAAC,aAAamB,KAAKnB,QAAQ,CAAC,SAAQ,GAAI;YAErF,kDAAkD;YAClD,IAAMyB,MAAMF,aAAI,CAACG,QAAQ,CAACf,MAAMQ;YAChC,IAAIM,IAAIE,UAAU,CAAC,SAASJ,aAAI,CAACC,UAAU,CAACC,MAAM;YAElD,IAAI,CAACZ,KAAKe,GAAG,CAACT,OAAO;gBACnBN,KAAKgB,GAAG,CAACV;gBACTP,IAAIkB,IAAI,CAACX;YACX;QACF;;QAjBK;QAAA;;;iBAAA,6BAAA;gBAAA;;;gBAAA;sBAAA;;;;IAmBL,OAAOP;AACT;AAEe,SAASxB,qBAAqB2C,GAAW,EAAEpB,IAAY,EAAEqB,OAAsB,EAAEC,QAAgC;IAC9H,IAAMC,WAAWF,QAAQE,QAAQ;IACjC,IAAMC,UAAUC,IAAAA,wBAAa,EAACF;IAE9B,IAAMG,YAAsB,EAAE;IAC9B,IAAMC,WAAW,IAAIC,mBAAQ,CAACR;IAE9BO,SAASE,OAAO,CACd,SAACC;QACC,IAAI,CAACA,MAAMC,KAAK,CAACC,MAAM,IAAI;QAC3B,IAAIF,MAAM1C,QAAQ,CAAC,EAAE,KAAK,KAAK;QAC/B,IAAI6C,0BAAa,CAACvB,IAAI,CAACoB,MAAM1C,QAAQ,GAAG;QACxC,IAAI,CAACD,kBAAkB2C,MAAM1C,QAAQ,GAAG;QACxC,IAAI,CAACoC,QAAQM,MAAMI,QAAQ,GAAG;QAE9BR,UAAUP,IAAI,CAACW,MAAMI,QAAQ;IAC/B,GACA;QAAEvD,aAAAA;IAAY,GACd,SAACwD;YAgBiBZ;QAfhB,IAAIY,MAAK,OAAOb,SAASa;QACzB,IAAIT,UAAU1C,MAAM,KAAK,GAAG,OAAOsC,SAAS,MAAM,EAAE;QAEpD,IAAMc,kBAAkB,wCACnBb,SAASc,MAAM,CAACD,eAAe;YAClCE,SAASlB;YACTmB,QAAQvC;YACRwC,QAAQ;YACRC,SAAS;YACTC,aAAa;YACbC,qBAAqB;YACrBC,oBAAoBC;YACpBC,oBAAoB;;QAGtB,IAAMC,UAAUxB,EAAAA,mCAAAA,SAASc,MAAM,CAACD,eAAe,cAA/Bb,uDAAAA,iCAAiCyB,+BAA+B,MAAK;QAErF,2CAA2C;QAC3C,IAAMC,UAAUrC,aAAI,CAACsC,IAAI,CAAClD,MAAM,0BAA0BmD,OAAOxD,QAAQyD,GAAG,GAAGD,OAAOE,KAAKC,GAAG;QAC9F,IAAMC,iBAAiB3C,aAAI,CAACsC,IAAI,CAACD,SAAS;QAE1C,IAAMO,aAAa;YACjBpB,iBAAAA;YACAqB,OAAO/B;YACPgC,SAAS,EAAE;YACXC,SAAS,EAAE;WACPpC,SAASc,MAAM,CAACuB,UAAU,IAAI;YAAEA,YAAYrC,SAASc,MAAM,CAACuB,UAAU;QAAC;QAG7EC,WAAE,CAACC,KAAK,CAACb,SAAS;YAAEc,WAAW;QAAK,GAAG,SAACC;YACtC,IAAIA,UAAU,OAAO1C,SAAS0C;YAE9BH,WAAE,CAACI,SAAS,CAACV,gBAAgBW,KAAKC,SAAS,CAACX,YAAY,MAAM,IAAI,QAAQ,SAACY;gBACzE,IAAIA,UAAU;oBACZC,IAAAA,sBAAM,EAACpB,SAAS;wBAAEc,WAAW;wBAAMO,OAAO;oBAAK,GAAG;+BAAMhD,SAAS8C;;oBACjE;gBACF;gBAEA,IAAM5E,OAAO;oBAAC;oBAAa+D;oBAAgB;oBAAsB;oBAAY;iBAAQ;gBAErFjE,YAAYL,SAASO,MAAM,SAAC+E,QAAQxE;oBAClC,IAAIwE,UAAUxE,IAAIyE,MAAM,KAAK,GAAG;;wBAC9B,IAAMC,MAAM,AAAC,sCAAuD,OAAlB1E,gBAAAA,0BAAAA,IAAKyE,MAAM,EAAC,QAA+D,OAAzD,AAAC,YAAqC,OAA1BrB,eAAOpD,gBAAAA,0BAAAA,IAAKO,MAAM,uCAAI,KAAMoE,KAAK,CAAC,GAAG;wBACrHL,IAAAA,sBAAM,EAACpB,SAAS;4BAAEc,WAAW;4BAAMO,OAAO;wBAAK,GAAG;mCAAMhD,SAASiD,mBAAAA,oBAAAA,SAAU,IAAII,MAAMF;;wBACrF;oBACF;oBAEA,IAAMG,eAAe9E,kBAAkBC,KAAKC;oBAC5C,IAAI4E,aAAa5F,MAAM,KAAK,GAAG;wBAC7BqF,IAAAA,sBAAM,EAACpB,SAAS;4BAAEc,WAAW;4BAAMO,OAAO;wBAAK,GAAG;mCAAMhD,SAAS,IAAIqD,MAAM;;wBAC3E;oBACF;oBAEA,IAAME,YAAY,IAAIC,gBAAK;oBAE3B,IAAI/B,SAAS;4BACN,kCAAA,2BAAA;;;gCAAA,IAAMgC,OAAN;gCACHF,UAAUG,KAAK,CAAC,SAACvF;oCACfoE,WAAE,CAACoB,QAAQ,CAACF,MAAM,QAAQ,SAACG,SAASC;wCAClC,IAAID,SAAS,OAAOzF;wCACpB,IAAM2F,UAAUC,IAAAA,sCAAiB,EAACF;wCAClCC,YAAYD,UAAU1F,OAAOoE,WAAE,CAACI,SAAS,CAACc,MAAMK,SAAS,QAAQ3F;oCACnE;gCACF;4BACF;4BARA,QAAK,YAAcmF,iCAAd,SAAA,6BAAA,QAAA,yBAAA;;4BAAA;4BAAA;;;qCAAA,6BAAA;oCAAA;;;oCAAA;0CAAA;;;;oBASP;oBAEAC,UAAUS,KAAK,CAAC;wBACdjB,IAAAA,sBAAM,EAACpB,SAAS;4BAAEc,WAAW;4BAAMO,OAAO;wBAAK,GAAG,SAACiB;mCAAUjE,SAASiE,SAAS,MAAMX;;oBACvF;gBACF;YACF;QACF;IACF;AAEJ"}
|
|
@@ -10,12 +10,6 @@ import Queue from 'queue-cb';
|
|
|
10
10
|
import resolveBin from 'resolve-bin-sync';
|
|
11
11
|
const concurrency = Math.min(64, Math.max(8, ((_ref = (_os_cpus = os.cpus()) === null || _os_cpus === void 0 ? void 0 : _os_cpus.length) !== null && _ref !== void 0 ? _ref : 4) * 8));
|
|
12
12
|
const tscPath = resolveBin('typescript', 'tsc');
|
|
13
|
-
let tsgoPath = null;
|
|
14
|
-
try {
|
|
15
|
-
tsgoPath = resolveBin('@typescript/native-preview', 'tsgo');
|
|
16
|
-
} catch {
|
|
17
|
-
tsgoPath = null;
|
|
18
|
-
}
|
|
19
13
|
import { typeFileRegEx } from '../constants.js';
|
|
20
14
|
import createMatcher from '../createMatcher.js';
|
|
21
15
|
import { rewriteExtensions } from '../lib/rewriteExtensions.js';
|
|
@@ -30,17 +24,6 @@ import { rewriteExtensions } from '../lib/rewriteExtensions.js';
|
|
|
30
24
|
encoding: 'utf8'
|
|
31
25
|
}, cb);
|
|
32
26
|
}
|
|
33
|
-
function runTsgoThenTsc(args, cb) {
|
|
34
|
-
if (tsgoPath) {
|
|
35
|
-
runCompiler(tsgoPath, args, (err, res)=>{
|
|
36
|
-
// Prefer status code over "err" for deciding success/fallback
|
|
37
|
-
if (!err && res.status === 0) return cb(null, res);
|
|
38
|
-
runCompiler(tscPath, args, cb);
|
|
39
|
-
});
|
|
40
|
-
} else {
|
|
41
|
-
runCompiler(tscPath, args, cb);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
27
|
/* ---------------- emitted file parsing ---------------- */ function parseEmittedFiles(res, dest) {
|
|
45
28
|
const out = [];
|
|
46
29
|
const seen = new Set();
|
|
@@ -81,11 +64,14 @@ export default function transformTypesWorker(src, dest, options, callback) {
|
|
|
81
64
|
if (rootFiles.length === 0) return callback(null, []);
|
|
82
65
|
const compilerOptions = {
|
|
83
66
|
...tsconfig.config.compilerOptions,
|
|
67
|
+
rootDir: src,
|
|
84
68
|
outDir: dest,
|
|
85
69
|
noEmit: false,
|
|
86
70
|
allowJs: true,
|
|
87
71
|
declaration: true,
|
|
88
|
-
emitDeclarationOnly: true
|
|
72
|
+
emitDeclarationOnly: true,
|
|
73
|
+
downlevelIteration: undefined,
|
|
74
|
+
ignoreDeprecations: '6.0'
|
|
89
75
|
};
|
|
90
76
|
const rewrite = ((_tsconfig_config_compilerOptions = tsconfig.config.compilerOptions) === null || _tsconfig_config_compilerOptions === void 0 ? void 0 : _tsconfig_config_compilerOptions.rewriteRelativeImportExtensions) === true;
|
|
91
77
|
// Avoid collisions across concurrent runs.
|
|
@@ -119,7 +105,7 @@ export default function transformTypesWorker(src, dest, options, callback) {
|
|
|
119
105
|
'--pretty',
|
|
120
106
|
'false'
|
|
121
107
|
];
|
|
122
|
-
|
|
108
|
+
runCompiler(tscPath, args, (runErr, res)=>{
|
|
123
109
|
if (runErr || res.status !== 0) {
|
|
124
110
|
var _ref;
|
|
125
111
|
const msg = `TypeScript compiler failed (status=${res === null || res === void 0 ? void 0 : res.status}).\n${`stderr:\n${String((_ref = res === null || res === void 0 ? void 0 : res.stderr) !== null && _ref !== void 0 ? _ref : '')}`.slice(0, 20000)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformTypes.ts"],"sourcesContent":["import spawn, { type SpawnCallback, type SpawnResult } from 'cross-spawn-cb';\nimport fs from 'fs';\nimport Iterator, { type Entry } from 'fs-iterator';\nimport { safeRm } from 'fs-remove-compat';\nimport os from 'os';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport resolveBin from 'resolve-bin-sync';\n\nconst concurrency = Math.min(64, Math.max(8, (os.cpus()?.length ?? 4) * 8));\n\nconst tscPath = resolveBin('typescript', 'tsc');\nlet tsgoPath: string | null = null;\ntry {\n tsgoPath = resolveBin('@typescript/native-preview', 'tsgo');\n} catch {\n tsgoPath = null;\n}\n\nimport { typeFileRegEx } from '../constants.ts';\nimport createMatcher from '../createMatcher.ts';\nimport { rewriteExtensions } from '../lib/rewriteExtensions.ts';\n\nimport type { ConfigOptions, TransformTypesCallback } from '../types.ts';\n\n/* ---------------- root file filtering ---------------- */\n\nfunction isAllowedRootFile(basename: string): boolean {\n return (\n basename.endsWith('.d.ts') ||\n basename.endsWith('.d.mts') ||\n basename.endsWith('.d.cts') ||\n basename.endsWith('.ts') ||\n basename.endsWith('.tsx') ||\n basename.endsWith('.mts') ||\n basename.endsWith('.cts') ||\n basename.endsWith('.js') ||\n basename.endsWith('.jsx') ||\n basename.endsWith('.mjs') ||\n basename.endsWith('.cjs')\n );\n}\n\n/* ---------------- compiler execution ---------------- */\n\nfunction runCompiler(cmdPath: string, args: string[], cb: SpawnCallback): void {\n spawn(process.execPath, [cmdPath, ...args], { encoding: 'utf8' }, cb);\n}\n\nfunction runTsgoThenTsc(args: string[], cb: SpawnCallback): void {\n if (tsgoPath) {\n runCompiler(tsgoPath, args, (err, res) => {\n // Prefer status code over \"err\" for deciding success/fallback\n if (!err && res.status === 0) return cb(null, res);\n runCompiler(tscPath, args, cb);\n });\n } else {\n runCompiler(tscPath, args, cb);\n }\n}\n\n/* ---------------- emitted file parsing ---------------- */\n\nfunction parseEmittedFiles(res: SpawnResult, dest: string): string[] {\n const out: string[] = [];\n const seen = new Set<string>();\n const lines = `${res.stdout}\\n${res.stderr}`.split(/\\r?\\n/);\n\n for (let line of lines) {\n line = line.trim();\n if (!line) continue;\n\n if (/^TSFILE:\\s+/i.test(line)) line = line.replace(/^TSFILE:\\s+/i, '').trim();\n\n if (!path.isAbsolute(line)) continue;\n if (!(line.endsWith('.d.ts') || line.endsWith('.d.mts') || line.endsWith('.d.cts'))) continue;\n\n // Optional safety: only accept outputs under dest\n const rel = path.relative(dest, line);\n if (rel.startsWith('..') || path.isAbsolute(rel)) continue;\n\n if (!seen.has(line)) {\n seen.add(line);\n out.push(line);\n }\n }\n\n return out;\n}\n\nexport default function transformTypesWorker(src: string, dest: string, options: ConfigOptions, callback: TransformTypesCallback) {\n const tsconfig = options.tsconfig;\n const matcher = createMatcher(tsconfig);\n\n const rootFiles: string[] = [];\n const iterator = new Iterator(src);\n\n iterator.forEach(\n (entry: Entry): void => {\n if (!entry.stats.isFile()) return;\n if (entry.basename[0] === '.') return;\n if (typeFileRegEx.test(entry.basename)) return;\n if (!isAllowedRootFile(entry.basename)) return;\n if (!matcher(entry.fullPath)) return;\n\n rootFiles.push(entry.fullPath);\n },\n { concurrency },\n (err) => {\n if (err) return callback(err);\n if (rootFiles.length === 0) return callback(null, []);\n\n const compilerOptions = {\n ...tsconfig.config.compilerOptions,\n outDir: dest,\n noEmit: false,\n allowJs: true,\n declaration: true,\n emitDeclarationOnly: true,\n };\n\n const rewrite = tsconfig.config.compilerOptions?.rewriteRelativeImportExtensions === true;\n\n // Avoid collisions across concurrent runs.\n const tempDir = path.join(dest, '.ts-swc-transform-temp', String(process.pid), String(Date.now()));\n const tempConfigPath = path.join(tempDir, 'tsconfig.json');\n\n const tempConfig = {\n compilerOptions,\n files: rootFiles,\n include: [],\n exclude: [],\n ...(tsconfig.config.references && { references: tsconfig.config.references }),\n };\n\n fs.mkdir(tempDir, { recursive: true }, (mkdirErr) => {\n if (mkdirErr) return callback(mkdirErr);\n\n fs.writeFile(tempConfigPath, JSON.stringify(tempConfig, null, 2), 'utf8', (writeErr) => {\n if (writeErr) {\n safeRm(tempDir, { recursive: true, force: true }, () => callback(writeErr));\n return;\n }\n\n const args = ['--project', tempConfigPath, '--listEmittedFiles', '--pretty', 'false'];\n\n runTsgoThenTsc(args, (runErr, res) => {\n if (runErr || res.status !== 0) {\n const msg = `TypeScript compiler failed (status=${res?.status}).\\n${`stderr:\\n${String(res?.stderr ?? '')}`.slice(0, 20_000)}`;\n safeRm(tempDir, { recursive: true, force: true }, () => callback(runErr ?? new Error(msg)));\n return;\n }\n\n const emittedFiles = parseEmittedFiles(res, dest);\n if (emittedFiles.length === 0) {\n safeRm(tempDir, { recursive: true, force: true }, () => callback(new Error('TypeScript compiler produced no emitted declaration files')));\n return;\n }\n\n const postQueue = new Queue();\n\n if (rewrite) {\n for (const file of emittedFiles) {\n postQueue.defer((cb) => {\n fs.readFile(file, 'utf8', (readErr, content) => {\n if (readErr) return cb();\n const updated = rewriteExtensions(content);\n updated === content ? cb() : fs.writeFile(file, updated, 'utf8', cb);\n });\n });\n }\n }\n\n postQueue.await(() => {\n safeRm(tempDir, { recursive: true, force: true }, (rmErr) => callback(rmErr || null, emittedFiles));\n });\n });\n });\n });\n }\n );\n}\n"],"names":["os","spawn","fs","Iterator","safeRm","path","Queue","resolveBin","concurrency","Math","min","max","cpus","length","tscPath","tsgoPath","typeFileRegEx","createMatcher","rewriteExtensions","isAllowedRootFile","basename","endsWith","runCompiler","cmdPath","args","cb","process","execPath","encoding","runTsgoThenTsc","err","res","status","parseEmittedFiles","dest","out","seen","Set","lines","stdout","stderr","split","line","trim","test","replace","isAbsolute","rel","relative","startsWith","has","add","push","transformTypesWorker","src","options","callback","tsconfig","matcher","rootFiles","iterator","forEach","entry","stats","isFile","fullPath","compilerOptions","config","outDir","noEmit","allowJs","declaration","emitDeclarationOnly","rewrite","rewriteRelativeImportExtensions","tempDir","join","String","pid","Date","now","tempConfigPath","tempConfig","files","include","exclude","references","mkdir","recursive","mkdirErr","writeFile","JSON","stringify","writeErr","force","runErr","msg","slice","Error","emittedFiles","postQueue","file","defer","readFile","readErr","content","updated","await","rmErr"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformTypes.ts"],"sourcesContent":["import spawn, { type SpawnCallback, type SpawnResult } from 'cross-spawn-cb';\nimport fs from 'fs';\nimport Iterator, { type Entry } from 'fs-iterator';\nimport { safeRm } from 'fs-remove-compat';\nimport os from 'os';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport resolveBin from 'resolve-bin-sync';\n\nconst concurrency = Math.min(64, Math.max(8, (os.cpus()?.length ?? 4) * 8));\n\nconst tscPath = resolveBin('typescript', 'tsc');\n\nimport { typeFileRegEx } from '../constants.ts';\nimport createMatcher from '../createMatcher.ts';\nimport { rewriteExtensions } from '../lib/rewriteExtensions.ts';\n\nimport type { ConfigOptions, TransformTypesCallback } from '../types.ts';\n\n/* ---------------- root file filtering ---------------- */\n\nfunction isAllowedRootFile(basename: string): boolean {\n return (\n basename.endsWith('.d.ts') ||\n basename.endsWith('.d.mts') ||\n basename.endsWith('.d.cts') ||\n basename.endsWith('.ts') ||\n basename.endsWith('.tsx') ||\n basename.endsWith('.mts') ||\n basename.endsWith('.cts') ||\n basename.endsWith('.js') ||\n basename.endsWith('.jsx') ||\n basename.endsWith('.mjs') ||\n basename.endsWith('.cjs')\n );\n}\n\n/* ---------------- compiler execution ---------------- */\n\nfunction runCompiler(cmdPath: string, args: string[], cb: SpawnCallback): void {\n spawn(process.execPath, [cmdPath, ...args], { encoding: 'utf8' }, cb);\n}\n\n/* ---------------- emitted file parsing ---------------- */\n\nfunction parseEmittedFiles(res: SpawnResult, dest: string): string[] {\n const out: string[] = [];\n const seen = new Set<string>();\n const lines = `${res.stdout}\\n${res.stderr}`.split(/\\r?\\n/);\n\n for (let line of lines) {\n line = line.trim();\n if (!line) continue;\n\n if (/^TSFILE:\\s+/i.test(line)) line = line.replace(/^TSFILE:\\s+/i, '').trim();\n\n if (!path.isAbsolute(line)) continue;\n if (!(line.endsWith('.d.ts') || line.endsWith('.d.mts') || line.endsWith('.d.cts'))) continue;\n\n // Optional safety: only accept outputs under dest\n const rel = path.relative(dest, line);\n if (rel.startsWith('..') || path.isAbsolute(rel)) continue;\n\n if (!seen.has(line)) {\n seen.add(line);\n out.push(line);\n }\n }\n\n return out;\n}\n\nexport default function transformTypesWorker(src: string, dest: string, options: ConfigOptions, callback: TransformTypesCallback) {\n const tsconfig = options.tsconfig;\n const matcher = createMatcher(tsconfig);\n\n const rootFiles: string[] = [];\n const iterator = new Iterator(src);\n\n iterator.forEach(\n (entry: Entry): void => {\n if (!entry.stats.isFile()) return;\n if (entry.basename[0] === '.') return;\n if (typeFileRegEx.test(entry.basename)) return;\n if (!isAllowedRootFile(entry.basename)) return;\n if (!matcher(entry.fullPath)) return;\n\n rootFiles.push(entry.fullPath);\n },\n { concurrency },\n (err) => {\n if (err) return callback(err);\n if (rootFiles.length === 0) return callback(null, []);\n\n const compilerOptions = {\n ...tsconfig.config.compilerOptions,\n rootDir: src,\n outDir: dest,\n noEmit: false,\n allowJs: true,\n declaration: true,\n emitDeclarationOnly: true,\n downlevelIteration: undefined,\n ignoreDeprecations: '6.0',\n };\n\n const rewrite = tsconfig.config.compilerOptions?.rewriteRelativeImportExtensions === true;\n\n // Avoid collisions across concurrent runs.\n const tempDir = path.join(dest, '.ts-swc-transform-temp', String(process.pid), String(Date.now()));\n const tempConfigPath = path.join(tempDir, 'tsconfig.json');\n\n const tempConfig = {\n compilerOptions,\n files: rootFiles,\n include: [],\n exclude: [],\n ...(tsconfig.config.references && { references: tsconfig.config.references }),\n };\n\n fs.mkdir(tempDir, { recursive: true }, (mkdirErr) => {\n if (mkdirErr) return callback(mkdirErr);\n\n fs.writeFile(tempConfigPath, JSON.stringify(tempConfig, null, 2), 'utf8', (writeErr) => {\n if (writeErr) {\n safeRm(tempDir, { recursive: true, force: true }, () => callback(writeErr));\n return;\n }\n\n const args = ['--project', tempConfigPath, '--listEmittedFiles', '--pretty', 'false'];\n\n runCompiler(tscPath, args, (runErr, res) => {\n if (runErr || res.status !== 0) {\n const msg = `TypeScript compiler failed (status=${res?.status}).\\n${`stderr:\\n${String(res?.stderr ?? '')}`.slice(0, 20_000)}`;\n safeRm(tempDir, { recursive: true, force: true }, () => callback(runErr ?? new Error(msg)));\n return;\n }\n\n const emittedFiles = parseEmittedFiles(res, dest);\n if (emittedFiles.length === 0) {\n safeRm(tempDir, { recursive: true, force: true }, () => callback(new Error('TypeScript compiler produced no emitted declaration files')));\n return;\n }\n\n const postQueue = new Queue();\n\n if (rewrite) {\n for (const file of emittedFiles) {\n postQueue.defer((cb) => {\n fs.readFile(file, 'utf8', (readErr, content) => {\n if (readErr) return cb();\n const updated = rewriteExtensions(content);\n updated === content ? cb() : fs.writeFile(file, updated, 'utf8', cb);\n });\n });\n }\n }\n\n postQueue.await(() => {\n safeRm(tempDir, { recursive: true, force: true }, (rmErr) => callback(rmErr || null, emittedFiles));\n });\n });\n });\n });\n }\n );\n}\n"],"names":["os","spawn","fs","Iterator","safeRm","path","Queue","resolveBin","concurrency","Math","min","max","cpus","length","tscPath","typeFileRegEx","createMatcher","rewriteExtensions","isAllowedRootFile","basename","endsWith","runCompiler","cmdPath","args","cb","process","execPath","encoding","parseEmittedFiles","res","dest","out","seen","Set","lines","stdout","stderr","split","line","trim","test","replace","isAbsolute","rel","relative","startsWith","has","add","push","transformTypesWorker","src","options","callback","tsconfig","matcher","rootFiles","iterator","forEach","entry","stats","isFile","fullPath","err","compilerOptions","config","rootDir","outDir","noEmit","allowJs","declaration","emitDeclarationOnly","downlevelIteration","undefined","ignoreDeprecations","rewrite","rewriteRelativeImportExtensions","tempDir","join","String","pid","Date","now","tempConfigPath","tempConfig","files","include","exclude","references","mkdir","recursive","mkdirErr","writeFile","JSON","stringify","writeErr","force","runErr","status","msg","slice","Error","emittedFiles","postQueue","file","defer","readFile","readErr","content","updated","await","rmErr"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-swc-transform",
|
|
3
|
-
"version": "2.11.
|
|
3
|
+
"version": "2.11.6",
|
|
4
4
|
"description": "Typescript transformers for swc. Supports Node >= 0.8",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"matcher",
|
|
@@ -45,7 +45,6 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@swc/core": "^1.15.5",
|
|
48
|
-
"@typescript/native-preview": "^7.0.0-dev.20260108.1",
|
|
49
48
|
"core-js-pure": "^3.20.0",
|
|
50
49
|
"exit-compat": "^1.0.0",
|
|
51
50
|
"fs-iterator": "^7.0.0",
|
|
@@ -62,11 +61,12 @@
|
|
|
62
61
|
"resolve.exports": "^2.0.3",
|
|
63
62
|
"test-match": "^1.0.0",
|
|
64
63
|
"ts-node": "^10.9.0",
|
|
65
|
-
"typescript": "^
|
|
64
|
+
"typescript": "^6.0.0"
|
|
66
65
|
},
|
|
67
66
|
"devDependencies": {
|
|
68
67
|
"@types/mocha": "*",
|
|
69
68
|
"@types/node": "*",
|
|
69
|
+
"@types/react": "*",
|
|
70
70
|
"cr": "^0.1.0",
|
|
71
71
|
"cross-spawn-cb": "^3.0.0",
|
|
72
72
|
"fs-remove-compat": "^1.0.0",
|