ts-swc-transform 1.9.8 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
- var _swcInstallBindings = /*#__PURE__*/ _interop_require_default(require("./swcInstallBindings.js"));
13
12
  var _module = /*#__PURE__*/ _interop_require_default(require("module"));
14
13
  var _lazycache = /*#__PURE__*/ _interop_require_default(require("lazy-cache"));
15
14
  function _interop_require_default(obj) {
@@ -21,18 +20,15 @@ var _require = typeof require === 'undefined' ? _module.default.createRequire(re
21
20
  var tsLazy = (0, _lazycache.default)(_require)('typescript');
22
21
  var swcLazy = (0, _lazycache.default)(_require)('@swc/core');
23
22
  var transpilerLazy = (0, _lazycache.default)(_require)('ts-node/transpilers/swc');
24
- function swcPrepareOptions(tsconfig, callback) {
25
- (0, _swcInstallBindings.default)(function(err) {
26
- if (err) return callback(err);
27
- try {
28
- var ts = tsLazy();
29
- var swc = swcLazy();
30
- var transpiler = transpilerLazy();
31
- var parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, _path.default.dirname(tsconfig.path));
32
- callback(null, transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc'));
33
- } catch (err) {
34
- callback(err);
35
- }
36
- });
23
+ function swcPrepareOptions(tsconfig) {
24
+ try {
25
+ var ts = tsLazy();
26
+ var swc = swcLazy();
27
+ var transpiler = transpilerLazy();
28
+ var parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, _path.default.dirname(tsconfig.path));
29
+ return transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc');
30
+ } catch (err) {
31
+ console.log("swcPrepareOptions failed: ".concat(err.message));
32
+ }
37
33
  }
38
34
  /* 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":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport swcInstallBindings from './swcInstallBindings.js';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst tsLazy = lazy(_require)('typescript');\nconst swcLazy = lazy(_require)('@swc/core');\nconst transpilerLazy = lazy(_require)('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 = tsLazy();\n const swc = swcLazy();\n const transpiler = transpilerLazy();\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","_require","require","Module","createRequire","tsLazy","lazy","swcLazy","transpilerLazy","tsconfig","callback","swcInstallBindings","err","ts","swc","transpiler","parsed","parseJsonConfigFileContent","config","sys","path","dirname","createSwcOptions","options","undefined"],"mappings":";;;;+BAYA;;;eAAwBA;;;2DAZP;yEACc;6DAEZ;gEACF;;;;;;AACjB,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,SAASC,IAAAA,kBAAI,EAACL,UAAU;AAC9B,IAAMM,UAAUD,IAAAA,kBAAI,EAACL,UAAU;AAC/B,IAAMO,iBAAiBF,IAAAA,kBAAI,EAACL,UAAU;AAIvB,SAASD,kBAAkBS,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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst tsLazy = lazy(_require)('typescript');\nconst swcLazy = lazy(_require)('@swc/core');\nconst transpilerLazy = lazy(_require)('ts-node/transpilers/swc');\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\n\nexport default function swcPrepareOptions(tsconfig: TsConfigResult) {\n try {\n const ts = tsLazy();\n const swc = swcLazy();\n const transpiler = transpilerLazy();\n const parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, path.dirname(tsconfig.path));\n return transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc');\n } catch (err) {\n console.log(`swcPrepareOptions failed: ${err.message}`);\n }\n}\n"],"names":["swcPrepareOptions","_require","require","Module","createRequire","tsLazy","lazy","swcLazy","transpilerLazy","tsconfig","ts","swc","transpiler","parsed","parseJsonConfigFileContent","config","sys","path","dirname","createSwcOptions","options","undefined","err","console","log","message"],"mappings":";;;;+BAWA;;;eAAwBA;;;2DAXP;6DAEE;gEACF;;;;;;AACjB,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,SAASC,IAAAA,kBAAI,EAACL,UAAU;AAC9B,IAAMM,UAAUD,IAAAA,kBAAI,EAACL,UAAU;AAC/B,IAAMO,iBAAiBF,IAAAA,kBAAI,EAACL,UAAU;AAIvB,SAASD,kBAAkBS,QAAwB;IAChE,IAAI;QACF,IAAMC,KAAKL;QACX,IAAMM,MAAMJ;QACZ,IAAMK,aAAaJ;QACnB,IAAMK,SAASH,GAAGI,0BAA0B,CAACL,SAASM,MAAM,EAAEL,GAAGM,GAAG,EAAEC,aAAI,CAACC,OAAO,CAACT,SAASQ,IAAI;QAChG,OAAOL,WAAWO,gBAAgB,CAACN,OAAOO,OAAO,EAAEC,WAAWV,KAAK;IACrE,EAAE,OAAOW,KAAK;QACZC,QAAQC,GAAG,CAAC,AAAC,6BAAwC,OAAZF,IAAIG,OAAO;IACtD;AACF"}
@@ -132,35 +132,33 @@ function transformFileWorker(src, dest, type, options, callback) {
132
132
  tsconfig.config.compilerOptions.module = 'CommonJS';
133
133
  tsconfig.config.compilerOptions.target = 'ES5';
134
134
  }
135
- (0, _swcPrepareOptions.default)(tsconfig, function(err, swcOptions) {
136
- if (err) return callback(err);
137
- var swc = swcLazy();
138
- var basename = _path.default.basename(src);
139
- swc.transformFile(src, _object_spread_props(_object_spread({}, basename.endsWith('.tsx') || basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions), {
140
- filename: basename
141
- })).then(function(output) {
142
- // infer extension and patch .mjs imports
143
- var ext = _path.default.extname(basename);
144
- if (type === 'esm') {
145
- ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;
146
- output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');
147
- ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;
148
- output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');
149
- } else {
150
- ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;
151
- output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');
152
- output.code += interopClientDefaultExport;
153
- }
154
- var destFilePath = _path.default.join(dest, basename.replace(/\.[^/.]+$/, '') + ext);
155
- (0, _mkdirpclassic.default)(_path.default.dirname(destFilePath), function() {
156
- var queue = new _queuecb.default();
157
- queue.defer(_fs.default.writeFile.bind(null, destFilePath, output.code, 'utf8'));
158
- !options.sourceMaps || queue.defer(_fs.default.writeFile.bind(null, "".concat(destFilePath, ".map"), output.map, 'utf8'));
159
- queue.await(function() {
160
- return err ? callback(err) : callback(null, _path.default.relative(dest, destFilePath));
161
- });
135
+ var swcOptions = (0, _swcPrepareOptions.default)(tsconfig);
136
+ var swc = swcLazy();
137
+ var basename = _path.default.basename(src);
138
+ swc.transformFile(src, _object_spread_props(_object_spread({}, basename.endsWith('.tsx') || basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions), {
139
+ filename: basename
140
+ })).then(function(output) {
141
+ // infer extension and patch .mjs imports
142
+ var ext = _path.default.extname(basename);
143
+ if (type === 'esm') {
144
+ ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;
145
+ output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');
146
+ ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;
147
+ output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');
148
+ } else {
149
+ ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;
150
+ output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');
151
+ output.code += interopClientDefaultExport;
152
+ }
153
+ var destFilePath = _path.default.join(dest, basename.replace(/\.[^/.]+$/, '') + ext);
154
+ (0, _mkdirpclassic.default)(_path.default.dirname(destFilePath), function() {
155
+ var queue = new _queuecb.default();
156
+ queue.defer(_fs.default.writeFile.bind(null, destFilePath, output.code, 'utf8'));
157
+ !options.sourceMaps || queue.defer(_fs.default.writeFile.bind(null, "".concat(destFilePath, ".map"), output.map, 'utf8'));
158
+ queue.await(function(err) {
159
+ return err ? callback(err) : callback(null, _path.default.relative(dest, destFilePath));
162
160
  });
163
- }).catch(callback);
164
- });
161
+ });
162
+ }).catch(callback);
165
163
  }
166
164
  /* 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":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\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\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@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;\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 = swcLazy();\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","_require","require","Module","createRequire","swcLazy","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","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;oEAEE;8DACD;wEAEY;6DAEX;gEACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACjB,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,UAAUC,IAAAA,kBAAI,EAACL,UAAU;AAE/B,IAAMM,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,SAASnC,oBAAoBoC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC5E,IAAIC,WAAWF,QAAQE,QAAQ;IAE/B,oBAAoB;IACpB,IAAIH,SAAS,OAAO;QAClBG,WAAW,mBAAKA;QAChBA,SAASA,QAAQ,GAAG,mBAAMA,SAASC,MAAM,IAAI,CAAC;QAC9CD,SAASC,MAAM,CAACC,eAAe,GAAG,mBAAMF,SAASC,MAAM,CAACC,eAAe,IAAI,CAAC;QAC5EF,SAASC,MAAM,CAACC,eAAe,CAACC,MAAM,GAAG;QACzCH,SAASC,MAAM,CAACC,eAAe,CAACE,MAAM,GAAG;IAC3C;IAEAC,IAAAA,0BAAiB,EAACL,UAAU,SAACM,KAAKC;QAChC,IAAID,KAAK,OAAOP,SAASO;QACzB,IAAME,MAAM5C;QAEZ,IAAM6C,WAAWC,aAAI,CAACD,QAAQ,CAACd;QAC/Ba,IACGG,aAAa,CAAChB,KAAK,wCACdc,SAASG,QAAQ,CAAC,WAAWH,SAASG,QAAQ,CAAC,UAAUL,WAAWM,UAAU,GAAGN,WAAWO,aAAa;YAC7GC,UAAUN;YAEXO,IAAI,CAAC,SAACC;YACL,yCAAyC;YACzC,IAAIpC,MAAM6B,aAAI,CAACQ,OAAO,CAACT;YACvB,IAAIZ,SAAS,OAAO;gBAClBhB,MAAMV,iBAAiBqB,OAAO,CAACX,QAAQ,IAAI,SAASA;gBACpDoC,OAAO1C,IAAI,GAAGD,iBAAiB2C,OAAO1C,IAAI,EAAEL,UAAUC,kBAAkB;gBACxEU,MAAMT,iBAAiBoB,OAAO,CAACX,QAAQ,IAAI,SAASA;gBACpDoC,OAAO1C,IAAI,GAAGD,iBAAiB2C,OAAO1C,IAAI,EAAEL,UAAUE,kBAAkB;YAC1E,OAAO;gBACLS,MAAMR,iBAAiBmB,OAAO,CAACX,QAAQ,IAAI,QAAQA;gBACnDoC,OAAO1C,IAAI,GAAGD,iBAAiB2C,OAAO1C,IAAI,EAAEP,UAAUK,kBAAkB;gBACxE4C,OAAO1C,IAAI,IAAImB;YACjB;YACA,IAAMyB,eAAeT,aAAI,CAACU,IAAI,CAACxB,MAAMa,SAASY,OAAO,CAAC,aAAa,MAAMxC;YAEzEyC,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,OAAO1C,IAAI,EAAE;gBAC/D,CAACuB,QAAQgC,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,MAAMP,SAASO,OAAOP,SAAS,MAAMW,aAAI,CAACuB,QAAQ,CAACrC,MAAMuB;;YAC9E;QACF,GACCe,KAAK,CAACnC;IACX;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\n\nimport swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@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;\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 const swcOptions = swcPrepareOptions(tsconfig);\n const swc = swcLazy();\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) => (err ? callback(err) : callback(null, path.relative(dest, destFilePath))));\n });\n })\n .catch(callback);\n}\n"],"names":["transformFileWorker","_require","require","Module","createRequire","swcLazy","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","config","compilerOptions","module","target","swcOptions","swcPrepareOptions","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","err","relative","catch"],"mappings":"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"}
@@ -71,14 +71,12 @@ function _object_spread_props(target, source) {
71
71
  var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
72
72
  var swcLazy = (0, _lazycache.default)(_require)('@swc/core');
73
73
  function transformSyncWorker(contents, fileName, tsconfig, callback) {
74
- (0, _swcPrepareOptions.default)(tsconfig, function(err, swcOptions) {
75
- if (err) return callback(err);
76
- var swc = swcLazy();
77
- swc.transform(contents, _object_spread_props(_object_spread({}, fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions), {
78
- filename: fileName
79
- })).then(function(output) {
80
- return callback(null, output);
81
- }).catch(callback);
82
- });
74
+ var swcOptions = (0, _swcPrepareOptions.default)(tsconfig);
75
+ var swc = swcLazy();
76
+ swc.transform(contents, _object_spread_props(_object_spread({}, fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions), {
77
+ filename: fileName
78
+ })).then(function(output) {
79
+ return callback(null, output);
80
+ }).catch(callback);
83
81
  }
84
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":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformSync.ts"],"sourcesContent":["import swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@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 = swcLazy();\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","_require","require","Module","createRequire","swcLazy","lazy","contents","fileName","tsconfig","callback","swcPrepareOptions","err","swcOptions","swc","transform","endsWith","tsxOptions","nonTsxOptions","filename","then","output","catch"],"mappings":";;;;+BAQA;;;eAAwBA;;;wEARM;6DAEX;gEACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACjB,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,UAAUC,IAAAA,kBAAI,EAACL,UAAU;AAGhB,SAASD,oBAAoBO,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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformSync.ts"],"sourcesContent":["import swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@swc/core');\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nexport default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult, callback) {\n const swcOptions = swcPrepareOptions(tsconfig);\n const swc = swcLazy();\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"],"names":["transformSyncWorker","_require","require","Module","createRequire","swcLazy","lazy","contents","fileName","tsconfig","callback","swcOptions","swcPrepareOptions","swc","transform","endsWith","tsxOptions","nonTsxOptions","filename","then","output","catch"],"mappings":";;;;+BAQA;;;eAAwBA;;;wEARM;6DAEX;gEACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACjB,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,UAAUC,IAAAA,kBAAI,EAACL,UAAU;AAGhB,SAASD,oBAAoBO,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB,EAAEC,QAAQ;IAChH,IAAMC,aAAaC,IAAAA,0BAAiB,EAACH;IACrC,IAAMI,MAAMR;IACZQ,IACGC,SAAS,CAACP,UAAU,wCACfC,SAASO,QAAQ,CAAC,WAAWP,SAASO,QAAQ,CAAC,UAAUJ,WAAWK,UAAU,GAAGL,WAAWM,aAAa;QAC7GC,UAAUV;QAEXW,IAAI,CAAC,SAACC;eAAWV,SAAS,MAAMU;OAChCC,KAAK,CAACX;AACX"}
@@ -1,22 +1,18 @@
1
1
  import path from 'path';
2
- import swcInstallBindings from './swcInstallBindings.mjs';
3
2
  import Module from 'module';
4
3
  import lazy from 'lazy-cache';
5
4
  const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
6
5
  const tsLazy = lazy(_require)('typescript');
7
6
  const swcLazy = lazy(_require)('@swc/core');
8
7
  const transpilerLazy = lazy(_require)('ts-node/transpilers/swc');
9
- export default function swcPrepareOptions(tsconfig, callback) {
10
- swcInstallBindings((err)=>{
11
- if (err) return callback(err);
12
- try {
13
- const ts = tsLazy();
14
- const swc = swcLazy();
15
- const transpiler = transpilerLazy();
16
- const parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, path.dirname(tsconfig.path));
17
- callback(null, transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc'));
18
- } catch (err) {
19
- callback(err);
20
- }
21
- });
8
+ export default function swcPrepareOptions(tsconfig) {
9
+ try {
10
+ const ts = tsLazy();
11
+ const swc = swcLazy();
12
+ const transpiler = transpilerLazy();
13
+ const parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, path.dirname(tsconfig.path));
14
+ return transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc');
15
+ } catch (err) {
16
+ console.log(`swcPrepareOptions failed: ${err.message}`);
17
+ }
22
18
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport swcInstallBindings from './swcInstallBindings.js';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst tsLazy = lazy(_require)('typescript');\nconst swcLazy = lazy(_require)('@swc/core');\nconst transpilerLazy = lazy(_require)('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 = tsLazy();\n const swc = swcLazy();\n const transpiler = transpilerLazy();\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","Module","lazy","_require","require","createRequire","url","tsLazy","swcLazy","transpilerLazy","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,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,SAASL,KAAKC,UAAU;AAC9B,MAAMK,UAAUN,KAAKC,UAAU;AAC/B,MAAMM,iBAAiBP,KAAKC,UAAU;AAItC,eAAe,SAASO,kBAAkBC,QAAwB,EAAEC,QAAQ;IAC1EZ,mBAAmB,CAACa;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,EAAErB,KAAKsB,OAAO,CAACV,SAASZ,IAAI;YAChGa,SAAS,MAAMI,WAAWM,gBAAgB,CAACL,OAAOM,OAAO,EAAEC,WAAWT,KAAK;QAC7E,EAAE,OAAOF,KAAK;YACZD,SAASC;QACX;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst tsLazy = lazy(_require)('typescript');\nconst swcLazy = lazy(_require)('@swc/core');\nconst transpilerLazy = lazy(_require)('ts-node/transpilers/swc');\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\n\nexport default function swcPrepareOptions(tsconfig: TsConfigResult) {\n try {\n const ts = tsLazy();\n const swc = swcLazy();\n const transpiler = transpilerLazy();\n const parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, path.dirname(tsconfig.path));\n return transpiler.createSwcOptions(parsed.options, undefined, swc, 'swc');\n } catch (err) {\n console.log(`swcPrepareOptions failed: ${err.message}`);\n }\n}\n"],"names":["path","Module","lazy","_require","require","createRequire","url","tsLazy","swcLazy","transpilerLazy","swcPrepareOptions","tsconfig","ts","swc","transpiler","parsed","parseJsonConfigFileContent","config","sys","dirname","createSwcOptions","options","undefined","err","console","log","message"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AAExB,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,SAASL,KAAKC,UAAU;AAC9B,MAAMK,UAAUN,KAAKC,UAAU;AAC/B,MAAMM,iBAAiBP,KAAKC,UAAU;AAItC,eAAe,SAASO,kBAAkBC,QAAwB;IAChE,IAAI;QACF,MAAMC,KAAKL;QACX,MAAMM,MAAML;QACZ,MAAMM,aAAaL;QACnB,MAAMM,SAASH,GAAGI,0BAA0B,CAACL,SAASM,MAAM,EAAEL,GAAGM,GAAG,EAAElB,KAAKmB,OAAO,CAACR,SAASX,IAAI;QAChG,OAAOc,WAAWM,gBAAgB,CAACL,OAAOM,OAAO,EAAEC,WAAWT,KAAK;IACrE,EAAE,OAAOU,KAAK;QACZC,QAAQC,GAAG,CAAC,CAAC,0BAA0B,EAAEF,IAAIG,OAAO,EAAE;IACxD;AACF"}
@@ -68,33 +68,31 @@ export default function transformFileWorker(src, dest, type, options, callback)
68
68
  tsconfig.config.compilerOptions.module = 'CommonJS';
69
69
  tsconfig.config.compilerOptions.target = 'ES5';
70
70
  }
71
- swcPrepareOptions(tsconfig, (err, swcOptions)=>{
72
- if (err) return callback(err);
73
- const swc = swcLazy();
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;
90
- }
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)));
97
- });
98
- }).catch(callback);
99
- });
71
+ const swcOptions = swcPrepareOptions(tsconfig);
72
+ const swc = swcLazy();
73
+ const basename = path.basename(src);
74
+ swc.transformFile(src, {
75
+ ...basename.endsWith('.tsx') || basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions,
76
+ filename: basename
77
+ }).then((output)=>{
78
+ // infer extension and patch .mjs imports
79
+ let ext = path.extname(basename);
80
+ if (type === 'esm') {
81
+ ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;
82
+ output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');
83
+ ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;
84
+ output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');
85
+ } else {
86
+ ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;
87
+ output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');
88
+ output.code += interopClientDefaultExport;
89
+ }
90
+ const destFilePath = path.join(dest, basename.replace(/\.[^/.]+$/, '') + ext);
91
+ mkdirp(path.dirname(destFilePath), ()=>{
92
+ const queue = new Queue();
93
+ queue.defer(fs.writeFile.bind(null, destFilePath, output.code, 'utf8'));
94
+ !options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${destFilePath}.map`, output.map, 'utf8'));
95
+ queue.await((err)=>err ? callback(err) : callback(null, path.relative(dest, destFilePath)));
96
+ });
97
+ }).catch(callback);
100
98
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\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\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@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;\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 = swcLazy();\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","mkdirp","Queue","swcPrepareOptions","Module","lazy","_require","require","createRequire","url","swcLazy","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","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
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\n\nimport swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@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;\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 const swcOptions = swcPrepareOptions(tsconfig);\n const swc = swcLazy();\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) => (err ? callback(err) : callback(null, path.relative(dest, destFilePath))));\n });\n })\n .catch(callback);\n}\n"],"names":["fs","path","mkdirp","Queue","swcPrepareOptions","Module","lazy","_require","require","createRequire","url","swcLazy","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","config","compilerOptions","module","target","swcOptions","swc","basename","transformFile","endsWith","tsxOptions","nonTsxOptions","filename","then","output","extname","destFilePath","join","replace","dirname","queue","defer","writeFile","bind","sourceMaps","map","await","err","relative","catch"],"mappings":"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"}
@@ -4,12 +4,10 @@ import lazy from 'lazy-cache';
4
4
  const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
5
5
  const swcLazy = lazy(_require)('@swc/core');
6
6
  export default function transformSyncWorker(contents, fileName, tsconfig, callback) {
7
- swcPrepareOptions(tsconfig, (err, swcOptions)=>{
8
- if (err) return callback(err);
9
- const swc = swcLazy();
10
- swc.transform(contents, {
11
- ...fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions,
12
- filename: fileName
13
- }).then((output)=>callback(null, output)).catch(callback);
14
- });
7
+ const swcOptions = swcPrepareOptions(tsconfig);
8
+ const swc = swcLazy();
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);
15
13
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformSync.ts"],"sourcesContent":["import swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@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 = swcLazy();\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","Module","lazy","_require","require","createRequire","url","swcLazy","transformSyncWorker","contents","fileName","tsconfig","callback","err","swcOptions","swc","transform","endsWith","tsxOptions","nonTsxOptions","filename","then","output","catch"],"mappings":"AAAA,OAAOA,uBAAuB,8BAA8B;AAE5D,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,UAAUL,KAAKC,UAAU;AAG/B,eAAe,SAASK,oBAAoBC,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB,EAAEC,QAAQ;IAChHZ,kBAAkBW,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"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformSync.ts"],"sourcesContent":["import swcPrepareOptions from '../lib/swcPrepareOptions.js';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@swc/core');\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nexport default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult, callback) {\n const swcOptions = swcPrepareOptions(tsconfig);\n const swc = swcLazy();\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"],"names":["swcPrepareOptions","Module","lazy","_require","require","createRequire","url","swcLazy","transformSyncWorker","contents","fileName","tsconfig","callback","swcOptions","swc","transform","endsWith","tsxOptions","nonTsxOptions","filename","then","output","catch"],"mappings":"AAAA,OAAOA,uBAAuB,8BAA8B;AAE5D,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,UAAUL,KAAKC,UAAU;AAG/B,eAAe,SAASK,oBAAoBC,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB,EAAEC,QAAQ;IAChH,MAAMC,aAAab,kBAAkBW;IACrC,MAAMG,MAAMP;IACZO,IACGC,SAAS,CAACN,UAAU;QACnB,GAAIC,SAASM,QAAQ,CAAC,WAAWN,SAASM,QAAQ,CAAC,UAAUH,WAAWI,UAAU,GAAGJ,WAAWK,aAAa;QAC7GC,UAAUT;IACZ,GACCU,IAAI,CAAC,CAACC,SAAWT,SAAS,MAAMS,SAChCC,KAAK,CAACV;AACX"}
@@ -1,2 +1,2 @@
1
1
  import type { TsConfigResult } from 'get-tsconfig-compat';
2
- export default function swcPrepareOptions(tsconfig: TsConfigResult, callback: any): void;
2
+ export default function swcPrepareOptions(tsconfig: TsConfigResult): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-swc-transform",
3
- "version": "1.9.8",
3
+ "version": "1.10.0",
4
4
  "description": "Typescript transformers for swc. Supports Node >= 0.8",
5
5
  "keywords": [
6
6
  "matcher",
@@ -36,13 +36,14 @@
36
36
  "tst": "bin/cli.js"
37
37
  },
38
38
  "files": [
39
- "dist"
39
+ "dist",
40
+ "scripts"
40
41
  ],
41
42
  "scripts": {
42
43
  "build": "tsds build",
43
- "depcheck": "depcheck",
44
44
  "deploy": "tsds deploy",
45
- "format": "biome check --write --unsafe src/ test/",
45
+ "format": "biome check --write --unsafe src/ test/ scripts/",
46
+ "postinstall": "node ./scripts/postinstall.cjs",
46
47
  "test": "tsds test:node --no-timeouts",
47
48
  "test:engines": "nvu engines npm test",
48
49
  "version": "",
@@ -59,11 +60,10 @@
59
60
  "lazy-cache": "^2.0.2",
60
61
  "minimatch": "^3.1.2",
61
62
  "mkdirp-classic": "^0.5.3",
62
- "node-version-call": "^1.4.1",
63
+ "node-version-call": "^1.4.2",
63
64
  "path-posix": "^1.0.0",
64
65
  "queue-cb": "^1.4.4",
65
66
  "resolve": "^1.22.10",
66
- "resolve-once-cb": "^0.1.2",
67
67
  "resolve-once-map-cb": "^0.1.0",
68
68
  "rimraf2": "^2.8.2",
69
69
  "ts-node": "*",
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env node
2
+ const fs = require('fs');
3
+ const path = require('path');
4
+ const installModule = require('install-module-linked');
5
+ const Queue = require('queue-cb');
6
+ const resolve = require('resolve');
7
+
8
+ function patch(callback) {
9
+ const swcPackagePath = resolve.sync('@swc/core/package.json');
10
+ const swcDir = path.dirname(path.dirname(swcPackagePath));
11
+ const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));
12
+ const depKey = `${process.platform}-${process.arch}`;
13
+
14
+ const queue = new Queue();
15
+ Object.keys(optionalDependencies)
16
+ .filter((name) => name.indexOf(depKey) >= 0)
17
+ .map((name) => {
18
+ queue.defer((callback) => {
19
+ const version = optionalDependencies[name];
20
+ const installString = `${name}${version ? `@${version}` : ''}`;
21
+ installModule(installString, path.dirname(swcDir), callback);
22
+ });
23
+ });
24
+ queue.await(callback);
25
+ }
26
+
27
+ // run patch
28
+ patch((err) => {
29
+ !err || console.log(err.message);
30
+ process.exit(0);
31
+ });
@@ -1,40 +0,0 @@
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 _default;
9
- }
10
- });
11
- var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
12
- var _path = /*#__PURE__*/ _interop_require_default(require("path"));
13
- var _installmodulelinked = /*#__PURE__*/ _interop_require_default(require("install-module-linked"));
14
- var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
15
- var _resolve = /*#__PURE__*/ _interop_require_default(require("resolve"));
16
- var _resolveoncecb = /*#__PURE__*/ _interop_require_default(require("resolve-once-cb"));
17
- function _interop_require_default(obj) {
18
- return obj && obj.__esModule ? obj : {
19
- default: obj
20
- };
21
- }
22
- function installSWCBindings(callback) {
23
- var swcPackagePath = _resolve.default.sync('@swc/core/package.json');
24
- var swcDir = _path.default.dirname(_path.default.dirname(swcPackagePath));
25
- var optionalDependencies = JSON.parse(_fs.default.readFileSync(swcPackagePath, 'utf8')).optionalDependencies;
26
- var depKey = "".concat(process.platform, "-").concat(process.arch);
27
- var queue = new _queuecb.default();
28
- Object.keys(optionalDependencies).filter(function(name) {
29
- return name.indexOf(depKey) >= 0;
30
- }).map(function(name) {
31
- queue.defer(function(callback) {
32
- var version = optionalDependencies[name];
33
- var installString = "".concat(name).concat(version ? "@".concat(version) : '');
34
- (0, _installmodulelinked.default)(installString, _path.default.dirname(swcDir), callback);
35
- });
36
- });
37
- queue.await(callback);
38
- }
39
- var _default = (0, _resolveoncecb.default)(installSWCBindings);
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; }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/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"}
@@ -1,22 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import installModule from 'install-module-linked';
4
- import Queue from 'queue-cb';
5
- import resolve from 'resolve';
6
- import resolveOnce from 'resolve-once-cb';
7
- function installSWCBindings(callback) {
8
- const swcPackagePath = resolve.sync('@swc/core/package.json');
9
- const swcDir = path.dirname(path.dirname(swcPackagePath));
10
- const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));
11
- const depKey = `${process.platform}-${process.arch}`;
12
- const queue = new Queue();
13
- Object.keys(optionalDependencies).filter((name)=>name.indexOf(depKey) >= 0).map((name)=>{
14
- queue.defer((callback)=>{
15
- const version = optionalDependencies[name];
16
- const installString = `${name}${version ? `@${version}` : ''}`;
17
- installModule(installString, path.dirname(swcDir), callback);
18
- });
19
- });
20
- queue.await(callback);
21
- }
22
- export default resolveOnce(installSWCBindings);
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/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"}
@@ -1,2 +0,0 @@
1
- declare const _default: any;
2
- export default _default;