ts-swc-transform 1.8.2 → 1.8.4
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/dist/cjs/lib/{loadSWC.js → swcInstallBindings.js} +2 -14
- package/dist/cjs/lib/swcInstallBindings.js.map +1 -0
- package/dist/cjs/lib/swcPrepareOptions.js +36 -0
- package/dist/cjs/lib/swcPrepareOptions.js.map +1 -0
- package/dist/cjs/workers/transformFile.js +61 -39
- package/dist/cjs/workers/transformFile.js.map +1 -1
- package/dist/cjs/workers/transformSync.js +61 -23
- package/dist/cjs/workers/transformSync.js.map +1 -1
- package/dist/esm/lib/{loadSWC.mjs → swcInstallBindings.mjs} +2 -15
- package/dist/esm/lib/swcInstallBindings.mjs.map +1 -0
- package/dist/esm/lib/swcPrepareOptions.mjs +21 -0
- package/dist/esm/lib/swcPrepareOptions.mjs.map +1 -0
- package/dist/esm/package.json +1 -1
- package/dist/esm/workers/transformFile.mjs +44 -44
- package/dist/esm/workers/transformFile.mjs.map +1 -1
- package/dist/esm/workers/transformSync.mjs +8 -24
- package/dist/esm/workers/transformSync.mjs.map +1 -1
- package/dist/types/lib/swcPrepareOptions.d.ts +2 -0
- package/package.json +2 -2
- package/dist/cjs/lib/loadSWC.js.map +0 -1
- package/dist/esm/lib/loadSWC.mjs.map +0 -1
- /package/dist/types/lib/{loadSWC.d.ts → swcInstallBindings.d.ts} +0 -0
|
@@ -14,14 +14,12 @@ var _installmodulelinked = /*#__PURE__*/ _interop_require_default(require("insta
|
|
|
14
14
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
15
15
|
var _resolve = /*#__PURE__*/ _interop_require_default(require("resolve"));
|
|
16
16
|
var _resolveoncecb = /*#__PURE__*/ _interop_require_default(require("resolve-once-cb"));
|
|
17
|
-
var _lazycjs = /*#__PURE__*/ _interop_require_default(require("./lazy.js"));
|
|
18
17
|
function _interop_require_default(obj) {
|
|
19
18
|
return obj && obj.__esModule ? obj : {
|
|
20
19
|
default: obj
|
|
21
20
|
};
|
|
22
21
|
}
|
|
23
|
-
|
|
24
|
-
function installBindings(callback) {
|
|
22
|
+
function installSWCBindings(callback) {
|
|
25
23
|
var swcPackagePath = _resolve.default.sync('@swc/core/package.json');
|
|
26
24
|
var swcDir = _path.default.dirname(_path.default.dirname(swcPackagePath));
|
|
27
25
|
var optionalDependencies = JSON.parse(_fs.default.readFileSync(swcPackagePath, 'utf8')).optionalDependencies;
|
|
@@ -38,15 +36,5 @@ function installBindings(callback) {
|
|
|
38
36
|
});
|
|
39
37
|
queue.await(callback);
|
|
40
38
|
}
|
|
41
|
-
|
|
42
|
-
installBindings(function(err) {
|
|
43
|
-
if (err) return callback(err);
|
|
44
|
-
try {
|
|
45
|
-
return callback(null, swc());
|
|
46
|
-
} catch (err) {
|
|
47
|
-
return callback(err);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
var _default = (0, _resolveoncecb.default)(loadSWC);
|
|
39
|
+
var _default = (0, _resolveoncecb.default)(installSWCBindings);
|
|
52
40
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["swcInstallBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport installModule from 'install-module-linked';\nimport Queue from 'queue-cb';\nimport resolve from 'resolve';\nimport resolveOnce from 'resolve-once-cb';\n\nfunction installSWCBindings(callback) {\n const swcPackagePath = resolve.sync('@swc/core/package.json');\n const swcDir = path.dirname(path.dirname(swcPackagePath));\n const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));\n const depKey = `${process.platform}-${process.arch}`;\n\n const queue = new Queue();\n Object.keys(optionalDependencies)\n .filter((name) => name.indexOf(depKey) >= 0)\n .map((name) => {\n queue.defer((callback) => {\n const version = optionalDependencies[name];\n const installString = `${name}${version ? `@${version}` : ''}`;\n installModule(installString, path.dirname(swcDir), callback);\n });\n });\n queue.await(callback);\n}\n\nexport default resolveOnce(installSWCBindings);\n"],"names":["installSWCBindings","callback","swcPackagePath","resolve","sync","swcDir","path","dirname","optionalDependencies","JSON","parse","fs","readFileSync","depKey","process","platform","arch","queue","Queue","Object","keys","filter","name","indexOf","map","defer","version","installString","installModule","await","resolveOnce"],"mappings":";;;;+BA0BA;;;eAAA;;;yDA1Be;2DACE;0EACS;8DACR;8DACE;oEACI;;;;;;AAExB,SAASA,mBAAmBC,QAAQ;IAClC,IAAMC,iBAAiBC,gBAAO,CAACC,IAAI,CAAC;IACpC,IAAMC,SAASC,aAAI,CAACC,OAAO,CAACD,aAAI,CAACC,OAAO,CAACL;IACzC,IAAM,AAAEM,uBAAyBC,KAAKC,KAAK,CAACC,WAAE,CAACC,YAAY,CAACV,gBAAgB,SAApEM;IACR,IAAMK,SAAS,AAAC,GAAsBC,OAApBA,QAAQC,QAAQ,EAAC,KAAgB,OAAbD,QAAQE,IAAI;IAElD,IAAMC,QAAQ,IAAIC,gBAAK;IACvBC,OAAOC,IAAI,CAACZ,sBACTa,MAAM,CAAC,SAACC;eAASA,KAAKC,OAAO,CAACV,WAAW;OACzCW,GAAG,CAAC,SAACF;QACJL,MAAMQ,KAAK,CAAC,SAACxB;YACX,IAAMyB,UAAUlB,oBAAoB,CAACc,KAAK;YAC1C,IAAMK,gBAAgB,AAAC,GAASD,OAAPJ,MAAoC,OAA7BI,UAAU,AAAC,IAAW,OAARA,WAAY;YAC1DE,IAAAA,4BAAa,EAACD,eAAerB,aAAI,CAACC,OAAO,CAACF,SAASJ;QACrD;IACF;IACFgB,MAAMY,KAAK,CAAC5B;AACd;IAEA,WAAe6B,IAAAA,sBAAW,EAAC9B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return swcPrepareOptions;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
+
var _swcInstallBindings = /*#__PURE__*/ _interop_require_default(require("./swcInstallBindings.js"));
|
|
13
|
+
var _lazycjs = /*#__PURE__*/ _interop_require_default(require("./lazy.js"));
|
|
14
|
+
function _interop_require_default(obj) {
|
|
15
|
+
return obj && obj.__esModule ? obj : {
|
|
16
|
+
default: obj
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
var lazyTS = (0, _lazycjs.default)('typescript');
|
|
20
|
+
var lazySWC = (0, _lazycjs.default)('@swc/core');
|
|
21
|
+
var lazyTranspiler = (0, _lazycjs.default)('ts-node/transpilers/swc');
|
|
22
|
+
function swcPrepareOptions(tsconfig, callback) {
|
|
23
|
+
(0, _swcInstallBindings.default)(function(err) {
|
|
24
|
+
if (err) return callback(err);
|
|
25
|
+
try {
|
|
26
|
+
var ts = lazyTS();
|
|
27
|
+
var swc = lazySWC();
|
|
28
|
+
var transpiler = lazyTranspiler();
|
|
29
|
+
var parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, _path.default.dirname(tsconfig.path));
|
|
30
|
+
callback(null, transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc'));
|
|
31
|
+
} catch (err) {
|
|
32
|
+
callback(err);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport swcInstallBindings from './swcInstallBindings.js';\n\n// @ts-ignore\nimport lazy from './lazy.cjs';\nconst lazyTS = lazy('typescript');\nconst lazySWC = lazy('@swc/core');\nconst lazyTranspiler = lazy('ts-node/transpilers/swc');\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\n\nexport default function swcPrepareOptions(tsconfig: TsConfigResult, callback) {\n swcInstallBindings((err) => {\n if (err) return callback(err);\n\n try {\n const ts = lazyTS();\n const swc = lazySWC();\n const transpiler = lazyTranspiler();\n const parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, path.dirname(tsconfig.path));\n callback(null, transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc'));\n } catch (err) {\n callback(err);\n }\n });\n}\n"],"names":["swcPrepareOptions","lazyTS","lazy","lazySWC","lazyTranspiler","tsconfig","callback","swcInstallBindings","err","ts","swc","transpiler","parsed","parseJsonConfigFileContent","config","sys","path","dirname","createSwcOptions","options","undefined"],"mappings":";;;;+BAWA;;;eAAwBA;;;2DAXP;yEACc;8DAGd;;;;;;AACjB,IAAMC,SAASC,IAAAA,gBAAI,EAAC;AACpB,IAAMC,UAAUD,IAAAA,gBAAI,EAAC;AACrB,IAAME,iBAAiBF,IAAAA,gBAAI,EAAC;AAIb,SAASF,kBAAkBK,QAAwB,EAAEC,QAAQ;IAC1EC,IAAAA,2BAAkB,EAAC,SAACC;QAClB,IAAIA,KAAK,OAAOF,SAASE;QAEzB,IAAI;YACF,IAAMC,KAAKR;YACX,IAAMS,MAAMP;YACZ,IAAMQ,aAAaP;YACnB,IAAMQ,SAASH,GAAGI,0BAA0B,CAACR,SAASS,MAAM,EAAEL,GAAGM,GAAG,EAAEC,aAAI,CAACC,OAAO,CAACZ,SAASW,IAAI;YAChGV,SAAS,MAAMK,WAAWO,gBAAgB,CAACN,OAAOO,OAAO,EAAEC,WAAWV,KAAK;QAC7E,EAAE,OAAOF,KAAK;YACZF,SAASE;QACX;IACF;AACF"}
|
|
@@ -10,11 +10,11 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
12
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
|
-
var _calloncefn = /*#__PURE__*/ _interop_require_default(require("call-once-fn"));
|
|
14
13
|
var _gettsconfigcompat = /*#__PURE__*/ _interop_require_wildcard(require("get-tsconfig-compat"));
|
|
15
14
|
var _mkdirpclassic = /*#__PURE__*/ _interop_require_default(require("mkdirp-classic"));
|
|
16
15
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
17
|
-
var
|
|
16
|
+
var _swcPrepareOptions = /*#__PURE__*/ _interop_require_default(require("../lib/swcPrepareOptions.js"));
|
|
17
|
+
var _lazycjs = /*#__PURE__*/ _interop_require_default(require("../lib/lazy.js"));
|
|
18
18
|
function _define_property(obj, key, value) {
|
|
19
19
|
if (key in obj) {
|
|
20
20
|
Object.defineProperty(obj, key, {
|
|
@@ -89,6 +89,31 @@ function _object_spread(target) {
|
|
|
89
89
|
}
|
|
90
90
|
return target;
|
|
91
91
|
}
|
|
92
|
+
function ownKeys(object, enumerableOnly) {
|
|
93
|
+
var keys = Object.keys(object);
|
|
94
|
+
if (Object.getOwnPropertySymbols) {
|
|
95
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
96
|
+
if (enumerableOnly) {
|
|
97
|
+
symbols = symbols.filter(function(sym) {
|
|
98
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
keys.push.apply(keys, symbols);
|
|
102
|
+
}
|
|
103
|
+
return keys;
|
|
104
|
+
}
|
|
105
|
+
function _object_spread_props(target, source) {
|
|
106
|
+
source = source != null ? source : {};
|
|
107
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
108
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
109
|
+
} else {
|
|
110
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
111
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
return target;
|
|
115
|
+
}
|
|
116
|
+
var lazySWC = (0, _lazycjs.default)('@swc/core');
|
|
92
117
|
var matchingDeps = '\\s*[\'"`]([^\'"`]+)[\'"`]\\s*';
|
|
93
118
|
var matchingName = '\\s*(?:[\\w${},\\s*]+)\\s*';
|
|
94
119
|
var regexCJS = new RegExp("(?:(?:var|const|let)".concat(matchingName, "=\\s*)?require\\(").concat(matchingDeps, "\\);?"), 'g');
|
|
@@ -138,47 +163,44 @@ function makeReplacements(code, regex, extensions, extension) {
|
|
|
138
163
|
// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125
|
|
139
164
|
var interopClientDefaultExport = "/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }";
|
|
140
165
|
function transformFileWorker(src, dest, type, options, callback) {
|
|
141
|
-
|
|
166
|
+
var tsconfig = options.tsconfig ? options.tsconfig : _gettsconfigcompat.getTsconfig(src);
|
|
167
|
+
// overrides for cjs
|
|
168
|
+
if (type === 'cjs') {
|
|
169
|
+
tsconfig = _object_spread({}, tsconfig);
|
|
170
|
+
tsconfig.tsconfig = _object_spread({}, tsconfig.config || {});
|
|
171
|
+
tsconfig.config.compilerOptions = _object_spread({}, tsconfig.config.compilerOptions || {});
|
|
172
|
+
tsconfig.config.compilerOptions.module = 'CommonJS';
|
|
173
|
+
tsconfig.config.compilerOptions.target = 'ES5';
|
|
174
|
+
}
|
|
175
|
+
(0, _swcPrepareOptions.default)(tsconfig, function(err, swcOptions) {
|
|
142
176
|
if (err) return callback(err);
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
177
|
+
var swc = lazySWC();
|
|
178
|
+
var basename = _path.default.basename(src);
|
|
179
|
+
swc.transformFile(src, _object_spread_props(_object_spread({}, basename.endsWith('.tsx') || basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions), {
|
|
180
|
+
filename: basename
|
|
181
|
+
})).then(function(output) {
|
|
182
|
+
// infer extension and patch .mjs imports
|
|
183
|
+
var ext = _path.default.extname(basename);
|
|
184
|
+
if (type === 'esm') {
|
|
185
|
+
ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;
|
|
186
|
+
output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');
|
|
187
|
+
ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;
|
|
188
|
+
output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');
|
|
189
|
+
} else {
|
|
190
|
+
ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;
|
|
191
|
+
output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');
|
|
192
|
+
output.code += interopClientDefaultExport;
|
|
153
193
|
}
|
|
154
|
-
var
|
|
155
|
-
(0,
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');
|
|
162
|
-
ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;
|
|
163
|
-
output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');
|
|
164
|
-
} else {
|
|
165
|
-
ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;
|
|
166
|
-
output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');
|
|
167
|
-
output.code += interopClientDefaultExport;
|
|
168
|
-
}
|
|
169
|
-
var destFilePath = _path.default.join(dest, basename.replace(/\.[^/.]+$/, '') + ext);
|
|
170
|
-
(0, _mkdirpclassic.default)(_path.default.dirname(destFilePath), function() {
|
|
171
|
-
var queue = new _queuecb.default();
|
|
172
|
-
queue.defer(_fs.default.writeFile.bind(null, destFilePath, output.code, 'utf8'));
|
|
173
|
-
!options.sourceMaps || queue.defer(_fs.default.writeFile.bind(null, "".concat(destFilePath, ".map"), output.map, 'utf8'));
|
|
174
|
-
queue.await(function() {
|
|
175
|
-
return err ? callback(err) : callback(null, _path.default.relative(dest, destFilePath));
|
|
176
|
-
});
|
|
194
|
+
var destFilePath = _path.default.join(dest, basename.replace(/\.[^/.]+$/, '') + ext);
|
|
195
|
+
(0, _mkdirpclassic.default)(_path.default.dirname(destFilePath), function() {
|
|
196
|
+
var queue = new _queuecb.default();
|
|
197
|
+
queue.defer(_fs.default.writeFile.bind(null, destFilePath, output.code, 'utf8'));
|
|
198
|
+
!options.sourceMaps || queue.defer(_fs.default.writeFile.bind(null, "".concat(destFilePath, ".map"), output.map, 'utf8'));
|
|
199
|
+
queue.await(function() {
|
|
200
|
+
return err ? callback(err) : callback(null, _path.default.relative(dest, destFilePath));
|
|
177
201
|
});
|
|
178
202
|
});
|
|
179
|
-
}
|
|
180
|
-
callback(err);
|
|
181
|
-
}
|
|
203
|
+
}).catch(callback);
|
|
182
204
|
});
|
|
183
205
|
}
|
|
184
206
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport * as getTS from 'get-tsconfig-compat';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\n\nimport
|
|
1
|
+
{"version":3,"sources":["transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport * as getTS from 'get-tsconfig-compat';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\n\nimport swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\n// @ts-ignore\nimport lazy from '../lib/lazy.cjs';\nconst lazySWC = lazy('@swc/core');\n\nconst matchingDeps = '\\\\s*[\\'\"`]([^\\'\"`]+)[\\'\"`]\\\\s*';\nconst matchingName = '\\\\s*(?:[\\\\w${},\\\\s*]+)\\\\s*';\nconst regexCJS = new RegExp(`(?:(?:var|const|let)${matchingName}=\\\\s*)?require\\\\(${matchingDeps}\\\\);?`, 'g');\nconst regexESM = new RegExp(`${regexCJS}|import(?:${matchingName}from\\\\s*)?${matchingDeps};?|export(?:${matchingName}from\\\\s*)?${matchingDeps};?`, 'g');\n\nconst importReplaceMJS = ['.js', '.ts', '.tsx', '.mts', '.mjs'];\nconst importReplaceCJS = ['.cts'];\nconst requireReplaceJS = ['.mjs', '.cjs', '.ts', '.tsx', '.mts', '.cts'];\n\nfunction makeReplacements(code, regex, extensions, extension) {\n let matches = [];\n let match = regex.exec(code);\n while (match) {\n const dependency = match[1] || match[2] || match[3] || match[4];\n const ext = extensions.find((x) => dependency.slice(-x.length) === x);\n if (ext) matches.push({ ext, match, dependency });\n match = regex.exec(code);\n }\n\n matches = matches.reverse();\n for (const index in matches) {\n const match = matches[index];\n const start = match.match.index + match.match[0].indexOf(match.dependency) + match.dependency.indexOf(match.ext);\n code = code.substring(0, start) + extension + code.substring(start + match.ext.length);\n }\n return code;\n}\n\n// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125\nconst interopClientDefaultExport = \"/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }\";\n\nexport default function transformFileWorker(src, dest, type, options, callback) {\n let tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);\n\n // overrides for cjs\n if (type === 'cjs') {\n tsconfig = { ...tsconfig };\n tsconfig.tsconfig = { ...(tsconfig.config || {}) };\n tsconfig.config.compilerOptions = { ...(tsconfig.config.compilerOptions || {}) };\n tsconfig.config.compilerOptions.module = 'CommonJS';\n tsconfig.config.compilerOptions.target = 'ES5';\n }\n\n swcPrepareOptions(tsconfig, (err, swcOptions) => {\n if (err) return callback(err);\n const swc = lazySWC();\n\n const basename = path.basename(src);\n swc\n .transformFile(src, {\n ...(basename.endsWith('.tsx') || basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions),\n filename: basename,\n })\n .then((output) => {\n // infer extension and patch .mjs imports\n let ext = path.extname(basename);\n if (type === 'esm') {\n ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;\n output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');\n ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;\n output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');\n } else {\n ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;\n output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');\n output.code += interopClientDefaultExport;\n }\n const destFilePath = path.join(dest, basename.replace(/\\.[^/.]+$/, '') + ext);\n\n mkdirp(path.dirname(destFilePath), () => {\n const queue = new Queue();\n queue.defer(fs.writeFile.bind(null, destFilePath, output.code, 'utf8'));\n !options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${destFilePath}.map`, output.map, 'utf8'));\n queue.await(() => (err ? callback(err) : callback(null, path.relative(dest, destFilePath))));\n });\n })\n .catch(callback);\n });\n}\n"],"names":["transformFileWorker","lazySWC","lazy","matchingDeps","matchingName","regexCJS","RegExp","regexESM","importReplaceMJS","importReplaceCJS","requireReplaceJS","makeReplacements","code","regex","extensions","extension","dependency","match","ext","find","x","slice","length","matches","push","exec","reverse","index","start","indexOf","substring","interopClientDefaultExport","src","dest","type","options","callback","tsconfig","getTS","getTsconfig","config","compilerOptions","module","target","swcPrepareOptions","err","swcOptions","swc","basename","path","transformFile","endsWith","tsxOptions","nonTsxOptions","filename","then","output","extname","destFilePath","join","replace","mkdirp","dirname","queue","Queue","defer","fs","writeFile","bind","sourceMaps","map","await","relative","catch"],"mappings":";;;;+BA4CA;;;eAAwBA;;;yDA5CT;2DACE;yEAEM;oEACJ;8DACD;wEAEY;8DAGb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACjB,IAAMC,UAAUC,IAAAA,gBAAI,EAAC;AAErB,IAAMC,eAAe;AACrB,IAAMC,eAAe;AACrB,IAAMC,WAAW,IAAIC,OAAO,AAAC,uBAAsDH,OAAhCC,cAAa,qBAAgC,OAAbD,cAAa,UAAQ;AACxG,IAAMI,WAAW,IAAID,OAAO,AAAC,GAAuBF,OAArBC,UAAS,cAAqCF,OAAzBC,cAAa,cAAuCA,OAA3BD,cAAa,gBAAuCA,OAAzBC,cAAa,cAAyB,OAAbD,cAAa,OAAK;AAEnJ,IAAMK,mBAAmB;IAAC;IAAO;IAAO;IAAQ;IAAQ;CAAO;AAC/D,IAAMC,mBAAmB;IAAC;CAAO;AACjC,IAAMC,mBAAmB;IAAC;IAAQ;IAAQ;IAAO;IAAQ;IAAQ;CAAO;AAExE,SAASC,iBAAiBC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,SAAS;;QAIxD,IAAMC,aAAaC,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE;QAC/D,IAAMC,MAAMJ,WAAWK,IAAI,CAAC,SAACC;mBAAMJ,WAAWK,KAAK,CAAC,CAACD,EAAEE,MAAM,MAAMF;;QACnE,IAAIF,KAAKK,QAAQC,IAAI,CAAC;YAAEN,KAAAA;YAAKD,OAAAA;YAAOD,YAAAA;QAAW;QAC/CC,QAAQJ,MAAMY,IAAI,CAACb;IACrB;IAPA,IAAIW,UAAU,EAAE;IAChB,IAAIN,QAAQJ,MAAMY,IAAI,CAACb;IACvB,MAAOK;IAOPM,UAAUA,QAAQG,OAAO;IACzB,IAAK,IAAMC,SAASJ,QAAS;QAC3B,IAAMN,SAAQM,OAAO,CAACI,MAAM;QAC5B,IAAMC,QAAQX,OAAMA,KAAK,CAACU,KAAK,GAAGV,OAAMA,KAAK,CAAC,EAAE,CAACY,OAAO,CAACZ,OAAMD,UAAU,IAAIC,OAAMD,UAAU,CAACa,OAAO,CAACZ,OAAMC,GAAG;QAC/GN,OAAOA,KAAKkB,SAAS,CAAC,GAAGF,SAASb,YAAYH,KAAKkB,SAAS,CAACF,QAAQX,OAAMC,GAAG,CAACI,MAAM;IACvF;IACA,OAAOV;AACT;AAEA,0HAA0H;AAC1H,IAAMmB,6BAA6B;AAEpB,SAAS/B,oBAAoBgC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC5E,IAAIC,WAAWF,QAAQE,QAAQ,GAAGF,QAAQE,QAAQ,GAAGC,mBAAMC,WAAW,CAACP;IAEvE,oBAAoB;IACpB,IAAIE,SAAS,OAAO;QAClBG,WAAW,mBAAKA;QAChBA,SAASA,QAAQ,GAAG,mBAAMA,SAASG,MAAM,IAAI,CAAC;QAC9CH,SAASG,MAAM,CAACC,eAAe,GAAG,mBAAMJ,SAASG,MAAM,CAACC,eAAe,IAAI,CAAC;QAC5EJ,SAASG,MAAM,CAACC,eAAe,CAACC,MAAM,GAAG;QACzCL,SAASG,MAAM,CAACC,eAAe,CAACE,MAAM,GAAG;IAC3C;IAEAC,IAAAA,0BAAiB,EAACP,UAAU,SAACQ,KAAKC;QAChC,IAAID,KAAK,OAAOT,SAASS;QACzB,IAAME,MAAM9C;QAEZ,IAAM+C,WAAWC,aAAI,CAACD,QAAQ,CAAChB;QAC/Be,IACGG,aAAa,CAAClB,KAAK,wCACdgB,SAASG,QAAQ,CAAC,WAAWH,SAASG,QAAQ,CAAC,UAAUL,WAAWM,UAAU,GAAGN,WAAWO,aAAa;YAC7GC,UAAUN;YAEXO,IAAI,CAAC,SAACC;YACL,yCAAyC;YACzC,IAAItC,MAAM+B,aAAI,CAACQ,OAAO,CAACT;YACvB,IAAId,SAAS,OAAO;gBAClBhB,MAAMV,iBAAiBqB,OAAO,CAACX,QAAQ,IAAI,SAASA;gBACpDsC,OAAO5C,IAAI,GAAGD,iBAAiB6C,OAAO5C,IAAI,EAAEL,UAAUC,kBAAkB;gBACxEU,MAAMT,iBAAiBoB,OAAO,CAACX,QAAQ,IAAI,SAASA;gBACpDsC,OAAO5C,IAAI,GAAGD,iBAAiB6C,OAAO5C,IAAI,EAAEL,UAAUE,kBAAkB;YAC1E,OAAO;gBACLS,MAAMR,iBAAiBmB,OAAO,CAACX,QAAQ,IAAI,QAAQA;gBACnDsC,OAAO5C,IAAI,GAAGD,iBAAiB6C,OAAO5C,IAAI,EAAEP,UAAUK,kBAAkB;gBACxE8C,OAAO5C,IAAI,IAAImB;YACjB;YACA,IAAM2B,eAAeT,aAAI,CAACU,IAAI,CAAC1B,MAAMe,SAASY,OAAO,CAAC,aAAa,MAAM1C;YAEzE2C,IAAAA,sBAAM,EAACZ,aAAI,CAACa,OAAO,CAACJ,eAAe;gBACjC,IAAMK,QAAQ,IAAIC,gBAAK;gBACvBD,MAAME,KAAK,CAACC,WAAE,CAACC,SAAS,CAACC,IAAI,CAAC,MAAMV,cAAcF,OAAO5C,IAAI,EAAE;gBAC/D,CAACuB,QAAQkC,UAAU,IAAIN,MAAME,KAAK,CAACC,WAAE,CAACC,SAAS,CAACC,IAAI,CAAC,MAAM,AAAC,GAAe,OAAbV,cAAa,SAAOF,OAAOc,GAAG,EAAE;gBAC9FP,MAAMQ,KAAK,CAAC;2BAAO1B,MAAMT,SAASS,OAAOT,SAAS,MAAMa,aAAI,CAACuB,QAAQ,CAACvC,MAAMyB;;YAC9E;QACF,GACCe,KAAK,CAACrC;IACX;AACF"}
|
|
@@ -8,37 +8,75 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return transformSyncWorker;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var
|
|
11
|
+
var _swcPrepareOptions = /*#__PURE__*/ _interop_require_default(require("../lib/swcPrepareOptions.js"));
|
|
12
12
|
var _lazycjs = /*#__PURE__*/ _interop_require_default(require("../lib/lazy.js"));
|
|
13
|
-
|
|
13
|
+
function _define_property(obj, key, value) {
|
|
14
|
+
if (key in obj) {
|
|
15
|
+
Object.defineProperty(obj, key, {
|
|
16
|
+
value: value,
|
|
17
|
+
enumerable: true,
|
|
18
|
+
configurable: true,
|
|
19
|
+
writable: true
|
|
20
|
+
});
|
|
21
|
+
} else {
|
|
22
|
+
obj[key] = value;
|
|
23
|
+
}
|
|
24
|
+
return obj;
|
|
25
|
+
}
|
|
14
26
|
function _interop_require_default(obj) {
|
|
15
27
|
return obj && obj.__esModule ? obj : {
|
|
16
28
|
default: obj
|
|
17
29
|
};
|
|
18
30
|
}
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
config: {
|
|
31
|
-
options: parsed.options
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
var res = transpile.transpile(contents, {
|
|
36
|
-
fileName: fileName
|
|
31
|
+
function _object_spread(target) {
|
|
32
|
+
for(var i = 1; i < arguments.length; i++){
|
|
33
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
34
|
+
var ownKeys = Object.keys(source);
|
|
35
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
36
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
37
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
ownKeys.forEach(function(key) {
|
|
41
|
+
_define_property(target, key, source[key]);
|
|
37
42
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
}
|
|
44
|
+
return target;
|
|
45
|
+
}
|
|
46
|
+
function ownKeys(object, enumerableOnly) {
|
|
47
|
+
var keys = Object.keys(object);
|
|
48
|
+
if (Object.getOwnPropertySymbols) {
|
|
49
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
50
|
+
if (enumerableOnly) {
|
|
51
|
+
symbols = symbols.filter(function(sym) {
|
|
52
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
keys.push.apply(keys, symbols);
|
|
56
|
+
}
|
|
57
|
+
return keys;
|
|
58
|
+
}
|
|
59
|
+
function _object_spread_props(target, source) {
|
|
60
|
+
source = source != null ? source : {};
|
|
61
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
62
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
63
|
+
} else {
|
|
64
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
65
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
41
66
|
});
|
|
67
|
+
}
|
|
68
|
+
return target;
|
|
69
|
+
}
|
|
70
|
+
var lazySWC = (0, _lazycjs.default)('@swc/core');
|
|
71
|
+
function transformSyncWorker(contents, fileName, tsconfig, callback) {
|
|
72
|
+
(0, _swcPrepareOptions.default)(tsconfig, function(err, swcOptions) {
|
|
73
|
+
if (err) return callback(err);
|
|
74
|
+
var swc = lazySWC();
|
|
75
|
+
swc.transform(contents, _object_spread_props(_object_spread({}, fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions), {
|
|
76
|
+
filename: fileName
|
|
77
|
+
})).then(function(output) {
|
|
78
|
+
return callback(null, output);
|
|
79
|
+
}).catch(callback);
|
|
42
80
|
});
|
|
43
81
|
}
|
|
44
82
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\n// @ts-ignore\nimport lazy from '../lib/lazy.cjs';\nconst lazySWC = lazy('@swc/core');\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nexport default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult, callback) {\n swcPrepareOptions(tsconfig, (err, swcOptions) => {\n if (err) return callback(err);\n const swc = lazySWC();\n swc\n .transform(contents, {\n ...(fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions),\n filename: fileName,\n })\n .then((output) => callback(null, output))\n .catch(callback);\n });\n}\n"],"names":["transformSyncWorker","lazySWC","lazy","contents","fileName","tsconfig","callback","swcPrepareOptions","err","swcOptions","swc","transform","endsWith","tsxOptions","nonTsxOptions","filename","then","output","catch"],"mappings":";;;;+BAOA;;;eAAwBA;;;wEAPM;8DAGb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACjB,IAAMC,UAAUC,IAAAA,gBAAI,EAAC;AAGN,SAASF,oBAAoBG,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB,EAAEC,QAAQ;IAChHC,IAAAA,0BAAiB,EAACF,UAAU,SAACG,KAAKC;QAChC,IAAID,KAAK,OAAOF,SAASE;QACzB,IAAME,MAAMT;QACZS,IACGC,SAAS,CAACR,UAAU,wCACfC,SAASQ,QAAQ,CAAC,WAAWR,SAASQ,QAAQ,CAAC,UAAUH,WAAWI,UAAU,GAAGJ,WAAWK,aAAa;YAC7GC,UAAUX;YAEXY,IAAI,CAAC,SAACC;mBAAWX,SAAS,MAAMW;WAChCC,KAAK,CAACZ;IACX;AACF"}
|
|
@@ -4,10 +4,7 @@ import installModule from 'install-module-linked';
|
|
|
4
4
|
import Queue from 'queue-cb';
|
|
5
5
|
import resolve from 'resolve';
|
|
6
6
|
import resolveOnce from 'resolve-once-cb';
|
|
7
|
-
|
|
8
|
-
import lazy from './lazy.cjs';
|
|
9
|
-
const swc = lazy('@swc/core');
|
|
10
|
-
function installBindings(callback) {
|
|
7
|
+
function installSWCBindings(callback) {
|
|
11
8
|
const swcPackagePath = resolve.sync('@swc/core/package.json');
|
|
12
9
|
const swcDir = path.dirname(path.dirname(swcPackagePath));
|
|
13
10
|
const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));
|
|
@@ -22,14 +19,4 @@ function installBindings(callback) {
|
|
|
22
19
|
});
|
|
23
20
|
queue.await(callback);
|
|
24
21
|
}
|
|
25
|
-
|
|
26
|
-
installBindings((err)=>{
|
|
27
|
-
if (err) return callback(err);
|
|
28
|
-
try {
|
|
29
|
-
return callback(null, swc());
|
|
30
|
-
} catch (err) {
|
|
31
|
-
return callback(err);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
export default resolveOnce(loadSWC);
|
|
22
|
+
export default resolveOnce(installSWCBindings);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["swcInstallBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport installModule from 'install-module-linked';\nimport Queue from 'queue-cb';\nimport resolve from 'resolve';\nimport resolveOnce from 'resolve-once-cb';\n\nfunction installSWCBindings(callback) {\n const swcPackagePath = resolve.sync('@swc/core/package.json');\n const swcDir = path.dirname(path.dirname(swcPackagePath));\n const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));\n const depKey = `${process.platform}-${process.arch}`;\n\n const queue = new Queue();\n Object.keys(optionalDependencies)\n .filter((name) => name.indexOf(depKey) >= 0)\n .map((name) => {\n queue.defer((callback) => {\n const version = optionalDependencies[name];\n const installString = `${name}${version ? `@${version}` : ''}`;\n installModule(installString, path.dirname(swcDir), callback);\n });\n });\n queue.await(callback);\n}\n\nexport default resolveOnce(installSWCBindings);\n"],"names":["fs","path","installModule","Queue","resolve","resolveOnce","installSWCBindings","callback","swcPackagePath","sync","swcDir","dirname","optionalDependencies","JSON","parse","readFileSync","depKey","process","platform","arch","queue","Object","keys","filter","name","indexOf","map","defer","version","installString","await"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,mBAAmB,wBAAwB;AAClD,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,iBAAiB,kBAAkB;AAE1C,SAASC,mBAAmBC,QAAQ;IAClC,MAAMC,iBAAiBJ,QAAQK,IAAI,CAAC;IACpC,MAAMC,SAAST,KAAKU,OAAO,CAACV,KAAKU,OAAO,CAACH;IACzC,MAAM,EAAEI,oBAAoB,EAAE,GAAGC,KAAKC,KAAK,CAACd,GAAGe,YAAY,CAACP,gBAAgB;IAC5E,MAAMQ,SAAS,GAAGC,QAAQC,QAAQ,CAAC,CAAC,EAAED,QAAQE,IAAI,EAAE;IAEpD,MAAMC,QAAQ,IAAIjB;IAClBkB,OAAOC,IAAI,CAACV,sBACTW,MAAM,CAAC,CAACC,OAASA,KAAKC,OAAO,CAACT,WAAW,GACzCU,GAAG,CAAC,CAACF;QACJJ,MAAMO,KAAK,CAAC,CAACpB;YACX,MAAMqB,UAAUhB,oBAAoB,CAACY,KAAK;YAC1C,MAAMK,gBAAgB,GAAGL,OAAOI,UAAU,CAAC,CAAC,EAAEA,SAAS,GAAG,IAAI;YAC9D1B,cAAc2B,eAAe5B,KAAKU,OAAO,CAACD,SAASH;QACrD;IACF;IACFa,MAAMU,KAAK,CAACvB;AACd;AAEA,eAAeF,YAAYC,oBAAoB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import swcInstallBindings from './swcInstallBindings.mjs';
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
import lazy from './lazy.cjs';
|
|
5
|
+
const lazyTS = lazy('typescript');
|
|
6
|
+
const lazySWC = lazy('@swc/core');
|
|
7
|
+
const lazyTranspiler = lazy('ts-node/transpilers/swc');
|
|
8
|
+
export default function swcPrepareOptions(tsconfig, callback) {
|
|
9
|
+
swcInstallBindings((err)=>{
|
|
10
|
+
if (err) return callback(err);
|
|
11
|
+
try {
|
|
12
|
+
const ts = lazyTS();
|
|
13
|
+
const swc = lazySWC();
|
|
14
|
+
const transpiler = lazyTranspiler();
|
|
15
|
+
const parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, path.dirname(tsconfig.path));
|
|
16
|
+
callback(null, transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc'));
|
|
17
|
+
} catch (err) {
|
|
18
|
+
callback(err);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport swcInstallBindings from './swcInstallBindings.js';\n\n// @ts-ignore\nimport lazy from './lazy.cjs';\nconst lazyTS = lazy('typescript');\nconst lazySWC = lazy('@swc/core');\nconst lazyTranspiler = lazy('ts-node/transpilers/swc');\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\n\nexport default function swcPrepareOptions(tsconfig: TsConfigResult, callback) {\n swcInstallBindings((err) => {\n if (err) return callback(err);\n\n try {\n const ts = lazyTS();\n const swc = lazySWC();\n const transpiler = lazyTranspiler();\n const parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, path.dirname(tsconfig.path));\n callback(null, transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc'));\n } catch (err) {\n callback(err);\n }\n });\n}\n"],"names":["path","swcInstallBindings","lazy","lazyTS","lazySWC","lazyTranspiler","swcPrepareOptions","tsconfig","callback","err","ts","swc","transpiler","parsed","parseJsonConfigFileContent","config","sys","dirname","createSwcOptions","options","undefined"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,wBAAwB,0BAA0B;AAEzD,aAAa;AACb,OAAOC,UAAU,aAAa;AAC9B,MAAMC,SAASD,KAAK;AACpB,MAAME,UAAUF,KAAK;AACrB,MAAMG,iBAAiBH,KAAK;AAI5B,eAAe,SAASI,kBAAkBC,QAAwB,EAAEC,QAAQ;IAC1EP,mBAAmB,CAACQ;QAClB,IAAIA,KAAK,OAAOD,SAASC;QAEzB,IAAI;YACF,MAAMC,KAAKP;YACX,MAAMQ,MAAMP;YACZ,MAAMQ,aAAaP;YACnB,MAAMQ,SAASH,GAAGI,0BAA0B,CAACP,SAASQ,MAAM,EAAEL,GAAGM,GAAG,EAAEhB,KAAKiB,OAAO,CAACV,SAASP,IAAI;YAChGQ,SAAS,MAAMI,WAAWM,gBAAgB,CAACL,OAAOM,OAAO,EAAEC,WAAWT,KAAK;QAC7E,EAAE,OAAOF,KAAK;YACZD,SAASC;QACX;IACF;AACF"}
|
package/dist/esm/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"type":"
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import once from 'call-once-fn';
|
|
4
3
|
import * as getTS from 'get-tsconfig-compat';
|
|
5
4
|
import mkdirp from 'mkdirp-classic';
|
|
6
5
|
import Queue from 'queue-cb';
|
|
7
|
-
import
|
|
6
|
+
import swcPrepareOptions from '../lib/swcPrepareOptions.mjs';
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
import lazy from '../lib/lazy.cjs';
|
|
9
|
+
const lazySWC = lazy('@swc/core');
|
|
8
10
|
const matchingDeps = '\\s*[\'"`]([^\'"`]+)[\'"`]\\s*';
|
|
9
11
|
const matchingName = '\\s*(?:[\\w${},\\s*]+)\\s*';
|
|
10
12
|
const regexCJS = new RegExp(`(?:(?:var|const|let)${matchingName}=\\s*)?require\\(${matchingDeps}\\);?`, 'g');
|
|
@@ -51,50 +53,48 @@ function makeReplacements(code, regex, extensions, extension) {
|
|
|
51
53
|
// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125
|
|
52
54
|
const interopClientDefaultExport = "/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }";
|
|
53
55
|
export default function transformFileWorker(src, dest, type, options, callback) {
|
|
54
|
-
|
|
56
|
+
let tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);
|
|
57
|
+
// overrides for cjs
|
|
58
|
+
if (type === 'cjs') {
|
|
59
|
+
tsconfig = {
|
|
60
|
+
...tsconfig
|
|
61
|
+
};
|
|
62
|
+
tsconfig.tsconfig = {
|
|
63
|
+
...tsconfig.config || {}
|
|
64
|
+
};
|
|
65
|
+
tsconfig.config.compilerOptions = {
|
|
66
|
+
...tsconfig.config.compilerOptions || {}
|
|
67
|
+
};
|
|
68
|
+
tsconfig.config.compilerOptions.module = 'CommonJS';
|
|
69
|
+
tsconfig.config.compilerOptions.target = 'ES5';
|
|
70
|
+
}
|
|
71
|
+
swcPrepareOptions(tsconfig, (err, swcOptions)=>{
|
|
55
72
|
if (err) return callback(err);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
const swc = lazySWC();
|
|
74
|
+
const basename = path.basename(src);
|
|
75
|
+
swc.transformFile(src, {
|
|
76
|
+
...basename.endsWith('.tsx') || basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions,
|
|
77
|
+
filename: basename
|
|
78
|
+
}).then((output)=>{
|
|
79
|
+
// infer extension and patch .mjs imports
|
|
80
|
+
let ext = path.extname(basename);
|
|
81
|
+
if (type === 'esm') {
|
|
82
|
+
ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;
|
|
83
|
+
output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');
|
|
84
|
+
ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;
|
|
85
|
+
output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');
|
|
86
|
+
} else {
|
|
87
|
+
ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;
|
|
88
|
+
output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');
|
|
89
|
+
output.code += interopClientDefaultExport;
|
|
72
90
|
}
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;
|
|
80
|
-
output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');
|
|
81
|
-
ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;
|
|
82
|
-
output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');
|
|
83
|
-
} else {
|
|
84
|
-
ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;
|
|
85
|
-
output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');
|
|
86
|
-
output.code += interopClientDefaultExport;
|
|
87
|
-
}
|
|
88
|
-
const destFilePath = path.join(dest, basename.replace(/\.[^/.]+$/, '') + ext);
|
|
89
|
-
mkdirp(path.dirname(destFilePath), ()=>{
|
|
90
|
-
const queue = new Queue();
|
|
91
|
-
queue.defer(fs.writeFile.bind(null, destFilePath, output.code, 'utf8'));
|
|
92
|
-
!options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${destFilePath}.map`, output.map, 'utf8'));
|
|
93
|
-
queue.await(()=>err ? callback(err) : callback(null, path.relative(dest, destFilePath)));
|
|
94
|
-
});
|
|
91
|
+
const destFilePath = path.join(dest, basename.replace(/\.[^/.]+$/, '') + ext);
|
|
92
|
+
mkdirp(path.dirname(destFilePath), ()=>{
|
|
93
|
+
const queue = new Queue();
|
|
94
|
+
queue.defer(fs.writeFile.bind(null, destFilePath, output.code, 'utf8'));
|
|
95
|
+
!options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${destFilePath}.map`, output.map, 'utf8'));
|
|
96
|
+
queue.await(()=>err ? callback(err) : callback(null, path.relative(dest, destFilePath)));
|
|
95
97
|
});
|
|
96
|
-
}
|
|
97
|
-
callback(err);
|
|
98
|
-
}
|
|
98
|
+
}).catch(callback);
|
|
99
99
|
});
|
|
100
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport * as getTS from 'get-tsconfig-compat';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\n\nimport
|
|
1
|
+
{"version":3,"sources":["transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport * as getTS from 'get-tsconfig-compat';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\n\nimport swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\n// @ts-ignore\nimport lazy from '../lib/lazy.cjs';\nconst lazySWC = lazy('@swc/core');\n\nconst matchingDeps = '\\\\s*[\\'\"`]([^\\'\"`]+)[\\'\"`]\\\\s*';\nconst matchingName = '\\\\s*(?:[\\\\w${},\\\\s*]+)\\\\s*';\nconst regexCJS = new RegExp(`(?:(?:var|const|let)${matchingName}=\\\\s*)?require\\\\(${matchingDeps}\\\\);?`, 'g');\nconst regexESM = new RegExp(`${regexCJS}|import(?:${matchingName}from\\\\s*)?${matchingDeps};?|export(?:${matchingName}from\\\\s*)?${matchingDeps};?`, 'g');\n\nconst importReplaceMJS = ['.js', '.ts', '.tsx', '.mts', '.mjs'];\nconst importReplaceCJS = ['.cts'];\nconst requireReplaceJS = ['.mjs', '.cjs', '.ts', '.tsx', '.mts', '.cts'];\n\nfunction makeReplacements(code, regex, extensions, extension) {\n let matches = [];\n let match = regex.exec(code);\n while (match) {\n const dependency = match[1] || match[2] || match[3] || match[4];\n const ext = extensions.find((x) => dependency.slice(-x.length) === x);\n if (ext) matches.push({ ext, match, dependency });\n match = regex.exec(code);\n }\n\n matches = matches.reverse();\n for (const index in matches) {\n const match = matches[index];\n const start = match.match.index + match.match[0].indexOf(match.dependency) + match.dependency.indexOf(match.ext);\n code = code.substring(0, start) + extension + code.substring(start + match.ext.length);\n }\n return code;\n}\n\n// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125\nconst interopClientDefaultExport = \"/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }\";\n\nexport default function transformFileWorker(src, dest, type, options, callback) {\n let tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);\n\n // overrides for cjs\n if (type === 'cjs') {\n tsconfig = { ...tsconfig };\n tsconfig.tsconfig = { ...(tsconfig.config || {}) };\n tsconfig.config.compilerOptions = { ...(tsconfig.config.compilerOptions || {}) };\n tsconfig.config.compilerOptions.module = 'CommonJS';\n tsconfig.config.compilerOptions.target = 'ES5';\n }\n\n swcPrepareOptions(tsconfig, (err, swcOptions) => {\n if (err) return callback(err);\n const swc = lazySWC();\n\n const basename = path.basename(src);\n swc\n .transformFile(src, {\n ...(basename.endsWith('.tsx') || basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions),\n filename: basename,\n })\n .then((output) => {\n // infer extension and patch .mjs imports\n let ext = path.extname(basename);\n if (type === 'esm') {\n ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;\n output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');\n ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;\n output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');\n } else {\n ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;\n output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');\n output.code += interopClientDefaultExport;\n }\n const destFilePath = path.join(dest, basename.replace(/\\.[^/.]+$/, '') + ext);\n\n mkdirp(path.dirname(destFilePath), () => {\n const queue = new Queue();\n queue.defer(fs.writeFile.bind(null, destFilePath, output.code, 'utf8'));\n !options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${destFilePath}.map`, output.map, 'utf8'));\n queue.await(() => (err ? callback(err) : callback(null, path.relative(dest, destFilePath))));\n });\n })\n .catch(callback);\n });\n}\n"],"names":["fs","path","getTS","mkdirp","Queue","swcPrepareOptions","lazy","lazySWC","matchingDeps","matchingName","regexCJS","RegExp","regexESM","importReplaceMJS","importReplaceCJS","requireReplaceJS","makeReplacements","code","regex","extensions","extension","matches","match","exec","dependency","ext","find","x","slice","length","push","reverse","index","start","indexOf","substring","interopClientDefaultExport","transformFileWorker","src","dest","type","options","callback","tsconfig","getTsconfig","config","compilerOptions","module","target","err","swcOptions","swc","basename","transformFile","endsWith","tsxOptions","nonTsxOptions","filename","then","output","extname","destFilePath","join","replace","dirname","queue","defer","writeFile","bind","sourceMaps","map","await","relative","catch"],"mappings":"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"}
|
|
@@ -1,30 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import swcPrepareOptions from '../lib/swcPrepareOptions.mjs';
|
|
2
2
|
// @ts-ignore
|
|
3
3
|
import lazy from '../lib/lazy.cjs';
|
|
4
|
-
|
|
5
|
-
import loadSWC from '../lib/loadSWC.mjs';
|
|
6
|
-
const lazyTS = lazy('typescript');
|
|
7
|
-
const lazyTranspiler = lazy('ts-node/transpilers/swc');
|
|
4
|
+
const lazySWC = lazy('@swc/core');
|
|
8
5
|
export default function transformSyncWorker(contents, fileName, tsconfig, callback) {
|
|
9
|
-
|
|
6
|
+
swcPrepareOptions(tsconfig, (err, swcOptions)=>{
|
|
10
7
|
if (err) return callback(err);
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
service: {
|
|
17
|
-
config: {
|
|
18
|
-
options: parsed.options
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const res = transpile.transpile(contents, {
|
|
23
|
-
fileName
|
|
24
|
-
});
|
|
25
|
-
callback(null, {
|
|
26
|
-
code: res.outputText,
|
|
27
|
-
map: res.sourceMapText
|
|
28
|
-
});
|
|
8
|
+
const swc = lazySWC();
|
|
9
|
+
swc.transform(contents, {
|
|
10
|
+
...fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions,
|
|
11
|
+
filename: fileName
|
|
12
|
+
}).then((output)=>callback(null, output)).catch(callback);
|
|
29
13
|
});
|
|
30
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\n// @ts-ignore\nimport lazy from '../lib/lazy.cjs';\nconst lazySWC = lazy('@swc/core');\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nexport default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult, callback) {\n swcPrepareOptions(tsconfig, (err, swcOptions) => {\n if (err) return callback(err);\n const swc = lazySWC();\n swc\n .transform(contents, {\n ...(fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions),\n filename: fileName,\n })\n .then((output) => callback(null, output))\n .catch(callback);\n });\n}\n"],"names":["swcPrepareOptions","lazy","lazySWC","transformSyncWorker","contents","fileName","tsconfig","callback","err","swcOptions","swc","transform","endsWith","tsxOptions","nonTsxOptions","filename","then","output","catch"],"mappings":"AAAA,OAAOA,uBAAuB,8BAA8B;AAE5D,aAAa;AACb,OAAOC,UAAU,kBAAkB;AACnC,MAAMC,UAAUD,KAAK;AAGrB,eAAe,SAASE,oBAAoBC,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB,EAAEC,QAAQ;IAChHP,kBAAkBM,UAAU,CAACE,KAAKC;QAChC,IAAID,KAAK,OAAOD,SAASC;QACzB,MAAME,MAAMR;QACZQ,IACGC,SAAS,CAACP,UAAU;YACnB,GAAIC,SAASO,QAAQ,CAAC,WAAWP,SAASO,QAAQ,CAAC,UAAUH,WAAWI,UAAU,GAAGJ,WAAWK,aAAa;YAC7GC,UAAUV;QACZ,GACCW,IAAI,CAAC,CAACC,SAAWV,SAAS,MAAMU,SAChCC,KAAK,CAACX;IACX;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-swc-transform",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.4",
|
|
4
4
|
"description": "Typescript transformers for swc. Supports Node >= 0.8",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"matcher",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"lodash.difference": "^4.5.0",
|
|
83
83
|
"object-assign": "^4.1.1",
|
|
84
84
|
"react": "^19.0.0",
|
|
85
|
-
"ts-dev-stack": "^1.
|
|
85
|
+
"ts-dev-stack": "^1.6.0",
|
|
86
86
|
"ts-node": "^10.8.2",
|
|
87
87
|
"typescript": "^5.7.2"
|
|
88
88
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["loadSWC.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport installModule from 'install-module-linked';\nimport Queue from 'queue-cb';\nimport resolve from 'resolve';\nimport resolveOnce from 'resolve-once-cb';\n// @ts-ignore\nimport lazy from './lazy.cjs';\nconst swc = lazy('@swc/core');\n\nfunction installBindings(callback) {\n const swcPackagePath = resolve.sync('@swc/core/package.json');\n const swcDir = path.dirname(path.dirname(swcPackagePath));\n const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));\n const depKey = `${process.platform}-${process.arch}`;\n\n const queue = new Queue();\n Object.keys(optionalDependencies)\n .filter((name) => name.indexOf(depKey) >= 0)\n .map((name) => {\n queue.defer((callback) => {\n const version = optionalDependencies[name];\n const installString = `${name}${version ? `@${version}` : ''}`;\n installModule(installString, path.dirname(swcDir), callback);\n });\n });\n queue.await(callback);\n}\n\nfunction loadSWC(callback) {\n installBindings((err) => {\n if (err) return callback(err);\n try {\n return callback(null, swc());\n } catch (err) {\n return callback(err);\n }\n });\n}\n\nexport default resolveOnce(loadSWC);\n"],"names":["swc","lazy","installBindings","callback","swcPackagePath","resolve","sync","swcDir","path","dirname","optionalDependencies","JSON","parse","fs","readFileSync","depKey","process","platform","arch","queue","Queue","Object","keys","filter","name","indexOf","map","defer","version","installString","installModule","await","loadSWC","err","resolveOnce"],"mappings":";;;;+BAwCA;;;eAAA;;;yDAxCe;2DACE;0EACS;8DACR;8DACE;oEACI;8DAEP;;;;;;AACjB,IAAMA,MAAMC,IAAAA,gBAAI,EAAC;AAEjB,SAASC,gBAAgBC,QAAQ;IAC/B,IAAMC,iBAAiBC,gBAAO,CAACC,IAAI,CAAC;IACpC,IAAMC,SAASC,aAAI,CAACC,OAAO,CAACD,aAAI,CAACC,OAAO,CAACL;IACzC,IAAM,AAAEM,uBAAyBC,KAAKC,KAAK,CAACC,WAAE,CAACC,YAAY,CAACV,gBAAgB,SAApEM;IACR,IAAMK,SAAS,AAAC,GAAsBC,OAApBA,QAAQC,QAAQ,EAAC,KAAgB,OAAbD,QAAQE,IAAI;IAElD,IAAMC,QAAQ,IAAIC,gBAAK;IACvBC,OAAOC,IAAI,CAACZ,sBACTa,MAAM,CAAC,SAACC;eAASA,KAAKC,OAAO,CAACV,WAAW;OACzCW,GAAG,CAAC,SAACF;QACJL,MAAMQ,KAAK,CAAC,SAACxB;YACX,IAAMyB,UAAUlB,oBAAoB,CAACc,KAAK;YAC1C,IAAMK,gBAAgB,AAAC,GAASD,OAAPJ,MAAoC,OAA7BI,UAAU,AAAC,IAAW,OAARA,WAAY;YAC1DE,IAAAA,4BAAa,EAACD,eAAerB,aAAI,CAACC,OAAO,CAACF,SAASJ;QACrD;IACF;IACFgB,MAAMY,KAAK,CAAC5B;AACd;AAEA,SAAS6B,QAAQ7B,QAAQ;IACvBD,gBAAgB,SAAC+B;QACf,IAAIA,KAAK,OAAO9B,SAAS8B;QACzB,IAAI;YACF,OAAO9B,SAAS,MAAMH;QACxB,EAAE,OAAOiC,KAAK;YACZ,OAAO9B,SAAS8B;QAClB;IACF;AACF;IAEA,WAAeC,IAAAA,sBAAW,EAACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["loadSWC.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport installModule from 'install-module-linked';\nimport Queue from 'queue-cb';\nimport resolve from 'resolve';\nimport resolveOnce from 'resolve-once-cb';\n// @ts-ignore\nimport lazy from './lazy.cjs';\nconst swc = lazy('@swc/core');\n\nfunction installBindings(callback) {\n const swcPackagePath = resolve.sync('@swc/core/package.json');\n const swcDir = path.dirname(path.dirname(swcPackagePath));\n const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));\n const depKey = `${process.platform}-${process.arch}`;\n\n const queue = new Queue();\n Object.keys(optionalDependencies)\n .filter((name) => name.indexOf(depKey) >= 0)\n .map((name) => {\n queue.defer((callback) => {\n const version = optionalDependencies[name];\n const installString = `${name}${version ? `@${version}` : ''}`;\n installModule(installString, path.dirname(swcDir), callback);\n });\n });\n queue.await(callback);\n}\n\nfunction loadSWC(callback) {\n installBindings((err) => {\n if (err) return callback(err);\n try {\n return callback(null, swc());\n } catch (err) {\n return callback(err);\n }\n });\n}\n\nexport default resolveOnce(loadSWC);\n"],"names":["fs","path","installModule","Queue","resolve","resolveOnce","lazy","swc","installBindings","callback","swcPackagePath","sync","swcDir","dirname","optionalDependencies","JSON","parse","readFileSync","depKey","process","platform","arch","queue","Object","keys","filter","name","indexOf","map","defer","version","installString","await","loadSWC","err"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,mBAAmB,wBAAwB;AAClD,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,iBAAiB,kBAAkB;AAC1C,aAAa;AACb,OAAOC,UAAU,aAAa;AAC9B,MAAMC,MAAMD,KAAK;AAEjB,SAASE,gBAAgBC,QAAQ;IAC/B,MAAMC,iBAAiBN,QAAQO,IAAI,CAAC;IACpC,MAAMC,SAASX,KAAKY,OAAO,CAACZ,KAAKY,OAAO,CAACH;IACzC,MAAM,EAAEI,oBAAoB,EAAE,GAAGC,KAAKC,KAAK,CAAChB,GAAGiB,YAAY,CAACP,gBAAgB;IAC5E,MAAMQ,SAAS,GAAGC,QAAQC,QAAQ,CAAC,CAAC,EAAED,QAAQE,IAAI,EAAE;IAEpD,MAAMC,QAAQ,IAAInB;IAClBoB,OAAOC,IAAI,CAACV,sBACTW,MAAM,CAAC,CAACC,OAASA,KAAKC,OAAO,CAACT,WAAW,GACzCU,GAAG,CAAC,CAACF;QACJJ,MAAMO,KAAK,CAAC,CAACpB;YACX,MAAMqB,UAAUhB,oBAAoB,CAACY,KAAK;YAC1C,MAAMK,gBAAgB,GAAGL,OAAOI,UAAU,CAAC,CAAC,EAAEA,SAAS,GAAG,IAAI;YAC9D5B,cAAc6B,eAAe9B,KAAKY,OAAO,CAACD,SAASH;QACrD;IACF;IACFa,MAAMU,KAAK,CAACvB;AACd;AAEA,SAASwB,QAAQxB,QAAQ;IACvBD,gBAAgB,CAAC0B;QACf,IAAIA,KAAK,OAAOzB,SAASyB;QACzB,IAAI;YACF,OAAOzB,SAAS,MAAMF;QACxB,EAAE,OAAO2B,KAAK;YACZ,OAAOzB,SAASyB;QAClB;IACF;AACF;AAEA,eAAe7B,YAAY4B,SAAS"}
|
|
File without changes
|