ts-swc-transform 1.13.12 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/lib/swcPrepareOptions.cjs +2 -2
- package/dist/cjs/lib/swcPrepareOptions.cjs.map +1 -1
- package/dist/cjs/lib/transformFile.cjs +25 -29
- package/dist/cjs/lib/transformFile.cjs.map +1 -1
- package/dist/esm/lib/swcPrepareOptions.mjs +2 -2
- package/dist/esm/lib/swcPrepareOptions.mjs.map +1 -1
- package/dist/esm/lib/transformFile.mjs +31 -35
- package/dist/esm/lib/transformFile.mjs.map +1 -1
- package/package.json +2 -3
- package/dist/cjs/lib/ensureBindings.cjs +0 -114
- package/dist/cjs/lib/ensureBindings.cjs.map +0 -1
- package/dist/esm/lib/ensureBindings.mjs +0 -47
- package/dist/esm/lib/ensureBindings.mjs.map +0 -1
- package/dist/types/lib/ensureBindings.d.ts +0 -2
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
-
var
|
|
12
|
+
var _installoptional = require("install-optional");
|
|
13
13
|
var _module = /*#__PURE__*/ _interop_require_default(require("module"));
|
|
14
14
|
function _interop_require_default(obj) {
|
|
15
15
|
return obj && obj.__esModule ? obj : {
|
|
@@ -18,7 +18,7 @@ function _interop_require_default(obj) {
|
|
|
18
18
|
}
|
|
19
19
|
var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
|
|
20
20
|
function swcPrepareOptions(tsconfig) {
|
|
21
|
-
(0,
|
|
21
|
+
(0, _installoptional.installSync)('@swc/core', "".concat(process.platform, "-").concat(process.arch));
|
|
22
22
|
try {
|
|
23
23
|
var ts = _require('typescript');
|
|
24
24
|
var swc = _require('@swc/core');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport {
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport { installSync } from 'install-optional';\n\nimport Module from 'module';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nexport default function swcPrepareOptions(tsconfig: TsConfigResult) {\n installSync('@swc/core', `${process.platform}-${process.arch}`);\n try {\n const ts = _require('typescript');\n const swc = _require('@swc/core');\n const transpiler = _require('ts-node/transpilers/swc');\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 return {};\n }\n}\n"],"names":["swcPrepareOptions","_require","require","Module","createRequire","tsconfig","installSync","process","platform","arch","ts","swc","transpiler","parsed","parseJsonConfigFileContent","config","sys","path","dirname","createSwcOptions","options","undefined","err","console","log","message"],"mappings":";;;;+BAOA;;;eAAwBA;;;2DAPP;+BACW;6DAET;;;;;;AACnB,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAG3E,SAASF,kBAAkBK,QAAwB;IAChEC,IAAAA,4BAAW,EAAC,aAAa,AAAC,GAAsBC,OAApBA,QAAQC,QAAQ,EAAC,KAAgB,OAAbD,QAAQE,IAAI;IAC5D,IAAI;QACF,IAAMC,KAAKT,SAAS;QACpB,IAAMU,MAAMV,SAAS;QACrB,IAAMW,aAAaX,SAAS;QAC5B,IAAMY,SAASH,GAAGI,0BAA0B,CAACT,SAASU,MAAM,EAAEL,GAAGM,GAAG,EAAEC,aAAI,CAACC,OAAO,CAACb,SAASY,IAAI;QAChG,OAAOL,WAAWO,gBAAgB,CAACN,OAAOO,OAAO,EAAEC,WAAWV,KAAK;IACrE,EAAE,OAAOW,KAAK;QACZC,QAAQC,GAAG,CAAC,AAAC,6BAAwC,OAAZF,IAAIG,OAAO;QACpD,OAAO,CAAC;IACV;AACF"}
|
|
@@ -12,7 +12,6 @@ var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
|
12
12
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
13
|
var _mkdirpclassic = /*#__PURE__*/ _interop_require_default(require("mkdirp-classic"));
|
|
14
14
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
15
|
-
var _ensureBindings = /*#__PURE__*/ _interop_require_default(require("./ensureBindings.cjs"));
|
|
16
15
|
var _patchCJS = /*#__PURE__*/ _interop_require_default(require("../lib/patchCJS.cjs"));
|
|
17
16
|
var _patchESM = /*#__PURE__*/ _interop_require_default(require("../lib/patchESM.cjs"));
|
|
18
17
|
var _swcPrepareOptions = /*#__PURE__*/ _interop_require_default(require("../lib/swcPrepareOptions.cjs"));
|
|
@@ -76,34 +75,31 @@ function _object_spread_props(target, source) {
|
|
|
76
75
|
}
|
|
77
76
|
var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
|
|
78
77
|
function transformFile(entry, dest, type, options, callback) {
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
var
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
queue.await(function(err) {
|
|
103
|
-
return err ? callback(err) : callback(null, outPath);
|
|
104
|
-
});
|
|
78
|
+
var tsconfig = options.tsconfig;
|
|
79
|
+
// overrides for cjs
|
|
80
|
+
if (type === 'cjs') {
|
|
81
|
+
tsconfig = _object_spread({}, tsconfig);
|
|
82
|
+
tsconfig.config = _object_spread({}, tsconfig.config);
|
|
83
|
+
tsconfig.config.compilerOptions = _object_spread({}, tsconfig.config.compilerOptions || {});
|
|
84
|
+
tsconfig.config.compilerOptions.module = 'CommonJS';
|
|
85
|
+
tsconfig.config.compilerOptions.target = 'ES5';
|
|
86
|
+
}
|
|
87
|
+
var swcOptions = (0, _swcPrepareOptions.default)(tsconfig);
|
|
88
|
+
var swc = _require('@swc/core');
|
|
89
|
+
swc.transformFile(entry.fullPath, _object_spread_props(_object_spread({}, entry.basename.endsWith('.tsx') || entry.basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions), {
|
|
90
|
+
filename: entry.basename
|
|
91
|
+
})).then(function(output) {
|
|
92
|
+
var extTarget = type === 'esm' ? (0, _patchESM.default)(entry, output, options) : (0, _patchCJS.default)(entry, output, options);
|
|
93
|
+
var ext = _path.default.extname(entry.path);
|
|
94
|
+
var outPath = _path.default.join(dest, (ext ? entry.path.slice(0, -ext.length) : entry.path) + extTarget);
|
|
95
|
+
(0, _mkdirpclassic.default)(_path.default.dirname(outPath), function() {
|
|
96
|
+
var queue = new _queuecb.default();
|
|
97
|
+
queue.defer(_fs.default.writeFile.bind(null, outPath, output.code, 'utf8'));
|
|
98
|
+
!options.sourceMaps || queue.defer(_fs.default.writeFile.bind(null, "".concat(outPath, ".map"), output.map, 'utf8'));
|
|
99
|
+
queue.await(function(err) {
|
|
100
|
+
return err ? callback(err) : callback(null, outPath);
|
|
105
101
|
});
|
|
106
|
-
})
|
|
107
|
-
});
|
|
102
|
+
});
|
|
103
|
+
}).catch(callback);
|
|
108
104
|
}
|
|
109
105
|
/* 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/transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\n\nimport patchCJS from '../lib/patchCJS';\nimport patchESM from '../lib/patchESM';\nimport swcPrepareOptions from '../lib/swcPrepareOptions';\n\nimport Module from 'module';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nexport default function transformFile(entry, dest, type, options, callback) {\n let tsconfig = options.tsconfig;\n\n // overrides for cjs\n if (type === 'cjs') {\n tsconfig = { ...tsconfig };\n tsconfig.config = { ...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 = _require('@swc/core');\n\n swc\n .transformFile(entry.fullPath, {\n ...(entry.basename.endsWith('.tsx') || entry.basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions),\n filename: entry.basename,\n })\n .then((output) => {\n const extTarget = type === 'esm' ? patchESM(entry, output, options) : patchCJS(entry, output, options);\n const ext = path.extname(entry.path);\n const outPath = path.join(dest, (ext ? entry.path.slice(0, -ext.length) : entry.path) + extTarget);\n\n mkdirp(path.dirname(outPath), () => {\n const queue = new Queue();\n queue.defer(fs.writeFile.bind(null, outPath, output.code, 'utf8'));\n !options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${outPath}.map`, output.map, 'utf8'));\n queue.await((err) => (err ? callback(err) : callback(null, outPath)));\n });\n })\n .catch(callback);\n}\n"],"names":["transformFile","_require","require","Module","createRequire","entry","dest","type","options","callback","tsconfig","config","compilerOptions","module","target","swcOptions","swcPrepareOptions","swc","fullPath","basename","endsWith","tsxOptions","nonTsxOptions","filename","then","output","extTarget","patchESM","patchCJS","ext","path","extname","outPath","join","slice","length","mkdirp","dirname","queue","Queue","defer","fs","writeFile","bind","code","sourceMaps","map","await","err","catch"],"mappings":";;;;+BAYA;;;eAAwBA;;;yDAZT;2DACE;oEACE;8DACD;+DAEG;+DACA;wEACS;6DAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACnB,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAE3E,SAASF,cAAcK,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACxE,IAAIC,WAAWF,QAAQE,QAAQ;IAE/B,oBAAoB;IACpB,IAAIH,SAAS,OAAO;QAClBG,WAAW,mBAAKA;QAChBA,SAASC,MAAM,GAAG,mBAAKD,SAASC,MAAM;QACtCD,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;IAEA,IAAMC,aAAaC,IAAAA,0BAAiB,EAACN;IACrC,IAAMO,MAAMhB,SAAS;IAErBgB,IACGjB,aAAa,CAACK,MAAMa,QAAQ,EAAE,wCACzBb,MAAMc,QAAQ,CAACC,QAAQ,CAAC,WAAWf,MAAMc,QAAQ,CAACC,QAAQ,CAAC,UAAUL,WAAWM,UAAU,GAAGN,WAAWO,aAAa;QACzHC,UAAUlB,MAAMc,QAAQ;QAEzBK,IAAI,CAAC,SAACC;QACL,IAAMC,YAAYnB,SAAS,QAAQoB,IAAAA,iBAAQ,EAACtB,OAAOoB,QAAQjB,WAAWoB,IAAAA,iBAAQ,EAACvB,OAAOoB,QAAQjB;QAC9F,IAAMqB,MAAMC,aAAI,CAACC,OAAO,CAAC1B,MAAMyB,IAAI;QACnC,IAAME,UAAUF,aAAI,CAACG,IAAI,CAAC3B,MAAM,AAACuB,CAAAA,MAAMxB,MAAMyB,IAAI,CAACI,KAAK,CAAC,GAAG,CAACL,IAAIM,MAAM,IAAI9B,MAAMyB,IAAI,AAAD,IAAKJ;QAExFU,IAAAA,sBAAM,EAACN,aAAI,CAACO,OAAO,CAACL,UAAU;YAC5B,IAAMM,QAAQ,IAAIC,gBAAK;YACvBD,MAAME,KAAK,CAACC,WAAE,CAACC,SAAS,CAACC,IAAI,CAAC,MAAMX,SAASP,OAAOmB,IAAI,EAAE;YAC1D,CAACpC,QAAQqC,UAAU,IAAIP,MAAME,KAAK,CAACC,WAAE,CAACC,SAAS,CAACC,IAAI,CAAC,MAAM,AAAC,GAAU,OAARX,SAAQ,SAAOP,OAAOqB,GAAG,EAAE;YACzFR,MAAMS,KAAK,CAAC,SAACC;uBAASA,MAAMvC,SAASuC,OAAOvC,SAAS,MAAMuB;;QAC7D;IACF,GACCiB,KAAK,CAACxC;AACX"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
|
-
import {
|
|
2
|
+
import { installSync } from 'install-optional';
|
|
3
3
|
import Module from 'module';
|
|
4
4
|
const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
|
|
5
5
|
export default function swcPrepareOptions(tsconfig) {
|
|
6
|
-
|
|
6
|
+
installSync('@swc/core', `${process.platform}-${process.arch}`);
|
|
7
7
|
try {
|
|
8
8
|
const ts = _require('typescript');
|
|
9
9
|
const swc = _require('@swc/core');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport {
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport { installSync } from 'install-optional';\n\nimport Module from 'module';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nexport default function swcPrepareOptions(tsconfig: TsConfigResult) {\n installSync('@swc/core', `${process.platform}-${process.arch}`);\n try {\n const ts = _require('typescript');\n const swc = _require('@swc/core');\n const transpiler = _require('ts-node/transpilers/swc');\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 return {};\n }\n}\n"],"names":["path","installSync","Module","_require","require","createRequire","url","swcPrepareOptions","tsconfig","process","platform","arch","ts","swc","transpiler","parsed","parseJsonConfigFileContent","config","sys","dirname","createSwcOptions","options","undefined","err","console","log","message"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,OAAOC,YAAY,SAAS;AAC5B,MAAMC,WAAW,OAAOC,YAAY,cAAcF,OAAOG,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAG1F,eAAe,SAASG,kBAAkBC,QAAwB;IAChEP,YAAY,aAAa,GAAGQ,QAAQC,QAAQ,CAAC,CAAC,EAAED,QAAQE,IAAI,EAAE;IAC9D,IAAI;QACF,MAAMC,KAAKT,SAAS;QACpB,MAAMU,MAAMV,SAAS;QACrB,MAAMW,aAAaX,SAAS;QAC5B,MAAMY,SAASH,GAAGI,0BAA0B,CAACR,SAASS,MAAM,EAAEL,GAAGM,GAAG,EAAElB,KAAKmB,OAAO,CAACX,SAASR,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;QACtD,OAAO,CAAC;IACV;AACF"}
|
|
@@ -2,45 +2,41 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import mkdirp from 'mkdirp-classic';
|
|
4
4
|
import Queue from 'queue-cb';
|
|
5
|
-
import ensureBindings from './ensureBindings.mjs';
|
|
6
5
|
import patchCJS from '../lib/patchCJS.mjs';
|
|
7
6
|
import patchESM from '../lib/patchESM.mjs';
|
|
8
7
|
import swcPrepareOptions from '../lib/swcPrepareOptions.mjs';
|
|
9
8
|
import Module from 'module';
|
|
10
9
|
const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
|
|
11
10
|
export default function transformFile(entry, dest, type, options, callback) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
});
|
|
44
|
-
}).catch(callback);
|
|
45
|
-
});
|
|
11
|
+
let tsconfig = options.tsconfig;
|
|
12
|
+
// overrides for cjs
|
|
13
|
+
if (type === 'cjs') {
|
|
14
|
+
tsconfig = {
|
|
15
|
+
...tsconfig
|
|
16
|
+
};
|
|
17
|
+
tsconfig.config = {
|
|
18
|
+
...tsconfig.config
|
|
19
|
+
};
|
|
20
|
+
tsconfig.config.compilerOptions = {
|
|
21
|
+
...tsconfig.config.compilerOptions || {}
|
|
22
|
+
};
|
|
23
|
+
tsconfig.config.compilerOptions.module = 'CommonJS';
|
|
24
|
+
tsconfig.config.compilerOptions.target = 'ES5';
|
|
25
|
+
}
|
|
26
|
+
const swcOptions = swcPrepareOptions(tsconfig);
|
|
27
|
+
const swc = _require('@swc/core');
|
|
28
|
+
swc.transformFile(entry.fullPath, {
|
|
29
|
+
...entry.basename.endsWith('.tsx') || entry.basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions,
|
|
30
|
+
filename: entry.basename
|
|
31
|
+
}).then((output)=>{
|
|
32
|
+
const extTarget = type === 'esm' ? patchESM(entry, output, options) : patchCJS(entry, output, options);
|
|
33
|
+
const ext = path.extname(entry.path);
|
|
34
|
+
const outPath = path.join(dest, (ext ? entry.path.slice(0, -ext.length) : entry.path) + extTarget);
|
|
35
|
+
mkdirp(path.dirname(outPath), ()=>{
|
|
36
|
+
const queue = new Queue();
|
|
37
|
+
queue.defer(fs.writeFile.bind(null, outPath, output.code, 'utf8'));
|
|
38
|
+
!options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${outPath}.map`, output.map, 'utf8'));
|
|
39
|
+
queue.await((err)=>err ? callback(err) : callback(null, outPath));
|
|
40
|
+
});
|
|
41
|
+
}).catch(callback);
|
|
46
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\n\nimport patchCJS from '../lib/patchCJS';\nimport patchESM from '../lib/patchESM';\nimport swcPrepareOptions from '../lib/swcPrepareOptions';\n\nimport Module from 'module';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nexport default function transformFile(entry, dest, type, options, callback) {\n let tsconfig = options.tsconfig;\n\n // overrides for cjs\n if (type === 'cjs') {\n tsconfig = { ...tsconfig };\n tsconfig.config = { ...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 = _require('@swc/core');\n\n swc\n .transformFile(entry.fullPath, {\n ...(entry.basename.endsWith('.tsx') || entry.basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions),\n filename: entry.basename,\n })\n .then((output) => {\n const extTarget = type === 'esm' ? patchESM(entry, output, options) : patchCJS(entry, output, options);\n const ext = path.extname(entry.path);\n const outPath = path.join(dest, (ext ? entry.path.slice(0, -ext.length) : entry.path) + extTarget);\n\n mkdirp(path.dirname(outPath), () => {\n const queue = new Queue();\n queue.defer(fs.writeFile.bind(null, outPath, output.code, 'utf8'));\n !options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${outPath}.map`, output.map, 'utf8'));\n queue.await((err) => (err ? callback(err) : callback(null, outPath)));\n });\n })\n .catch(callback);\n}\n"],"names":["fs","path","mkdirp","Queue","patchCJS","patchESM","swcPrepareOptions","Module","_require","require","createRequire","url","transformFile","entry","dest","type","options","callback","tsconfig","config","compilerOptions","module","target","swcOptions","swc","fullPath","basename","endsWith","tsxOptions","nonTsxOptions","filename","then","output","extTarget","ext","extname","outPath","join","slice","length","dirname","queue","defer","writeFile","bind","code","sourceMaps","map","await","err","catch"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,WAAW,WAAW;AAE7B,OAAOC,cAAc,kBAAkB;AACvC,OAAOC,cAAc,kBAAkB;AACvC,OAAOC,uBAAuB,2BAA2B;AAEzD,OAAOC,YAAY,SAAS;AAC5B,MAAMC,WAAW,OAAOC,YAAY,cAAcF,OAAOG,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAE1F,eAAe,SAASG,cAAcC,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACxE,IAAIC,WAAWF,QAAQE,QAAQ;IAE/B,oBAAoB;IACpB,IAAIH,SAAS,OAAO;QAClBG,WAAW;YAAE,GAAGA,QAAQ;QAAC;QACzBA,SAASC,MAAM,GAAG;YAAE,GAAGD,SAASC,MAAM;QAAC;QACvCD,SAASC,MAAM,CAACC,eAAe,GAAG;YAAE,GAAIF,SAASC,MAAM,CAACC,eAAe,IAAI,CAAC,CAAC;QAAE;QAC/EF,SAASC,MAAM,CAACC,eAAe,CAACC,MAAM,GAAG;QACzCH,SAASC,MAAM,CAACC,eAAe,CAACE,MAAM,GAAG;IAC3C;IAEA,MAAMC,aAAajB,kBAAkBY;IACrC,MAAMM,MAAMhB,SAAS;IAErBgB,IACGZ,aAAa,CAACC,MAAMY,QAAQ,EAAE;QAC7B,GAAIZ,MAAMa,QAAQ,CAACC,QAAQ,CAAC,WAAWd,MAAMa,QAAQ,CAACC,QAAQ,CAAC,UAAUJ,WAAWK,UAAU,GAAGL,WAAWM,aAAa;QACzHC,UAAUjB,MAAMa,QAAQ;IAC1B,GACCK,IAAI,CAAC,CAACC;QACL,MAAMC,YAAYlB,SAAS,QAAQV,SAASQ,OAAOmB,QAAQhB,WAAWZ,SAASS,OAAOmB,QAAQhB;QAC9F,MAAMkB,MAAMjC,KAAKkC,OAAO,CAACtB,MAAMZ,IAAI;QACnC,MAAMmC,UAAUnC,KAAKoC,IAAI,CAACvB,MAAM,AAACoB,CAAAA,MAAMrB,MAAMZ,IAAI,CAACqC,KAAK,CAAC,GAAG,CAACJ,IAAIK,MAAM,IAAI1B,MAAMZ,IAAI,AAAD,IAAKgC;QAExF/B,OAAOD,KAAKuC,OAAO,CAACJ,UAAU;YAC5B,MAAMK,QAAQ,IAAItC;YAClBsC,MAAMC,KAAK,CAAC1C,GAAG2C,SAAS,CAACC,IAAI,CAAC,MAAMR,SAASJ,OAAOa,IAAI,EAAE;YAC1D,CAAC7B,QAAQ8B,UAAU,IAAIL,MAAMC,KAAK,CAAC1C,GAAG2C,SAAS,CAACC,IAAI,CAAC,MAAM,GAAGR,QAAQ,IAAI,CAAC,EAAEJ,OAAOe,GAAG,EAAE;YACzFN,MAAMO,KAAK,CAAC,CAACC,MAASA,MAAMhC,SAASgC,OAAOhC,SAAS,MAAMmB;QAC7D;IACF,GACCc,KAAK,CAACjC;AACX"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-swc-transform",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "Typescript transformers for swc. Supports Node >= 0.8",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"matcher",
|
|
@@ -48,14 +48,13 @@
|
|
|
48
48
|
"exit": "^0.1.2",
|
|
49
49
|
"fs-iterator": "^5.2.10",
|
|
50
50
|
"get-tsconfig-compat": "^2.0.3",
|
|
51
|
-
"install-
|
|
51
|
+
"install-optional": "^0.1.0",
|
|
52
52
|
"is-absolute": "^1.0.0",
|
|
53
53
|
"minimatch": "^3.1.2",
|
|
54
54
|
"mkdirp-classic": "^0.5.3",
|
|
55
55
|
"path-posix": "^1.0.0",
|
|
56
56
|
"queue-cb": "^1.4.10",
|
|
57
57
|
"resolve": "^1.22.10",
|
|
58
|
-
"resolve-once-cb": "^0.1.7",
|
|
59
58
|
"rimraf2": "^2.8.2",
|
|
60
59
|
"ts-node": "*",
|
|
61
60
|
"typescript": "*",
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
13
|
-
return ensureBindings;
|
|
14
|
-
},
|
|
15
|
-
sync: function() {
|
|
16
|
-
return sync;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
20
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
21
|
-
var _installmodulelinked = /*#__PURE__*/ _interop_require_wildcard(require("install-module-linked"));
|
|
22
|
-
var _resolve = /*#__PURE__*/ _interop_require_default(require("resolve"));
|
|
23
|
-
var _resolveoncecb = /*#__PURE__*/ _interop_require_default(require("resolve-once-cb"));
|
|
24
|
-
function _interop_require_default(obj) {
|
|
25
|
-
return obj && obj.__esModule ? obj : {
|
|
26
|
-
default: obj
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
30
|
-
if (typeof WeakMap !== "function") return null;
|
|
31
|
-
var cacheBabelInterop = new WeakMap();
|
|
32
|
-
var cacheNodeInterop = new WeakMap();
|
|
33
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
34
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
35
|
-
})(nodeInterop);
|
|
36
|
-
}
|
|
37
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
38
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
39
|
-
return obj;
|
|
40
|
-
}
|
|
41
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
42
|
-
return {
|
|
43
|
-
default: obj
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
47
|
-
if (cache && cache.has(obj)) {
|
|
48
|
-
return cache.get(obj);
|
|
49
|
-
}
|
|
50
|
-
var newObj = {
|
|
51
|
-
__proto__: null
|
|
52
|
-
};
|
|
53
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
54
|
-
for(var key in obj){
|
|
55
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
56
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
57
|
-
if (desc && (desc.get || desc.set)) {
|
|
58
|
-
Object.defineProperty(newObj, key, desc);
|
|
59
|
-
} else {
|
|
60
|
-
newObj[key] = obj[key];
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
newObj.default = obj;
|
|
65
|
-
if (cache) {
|
|
66
|
-
cache.set(obj, newObj);
|
|
67
|
-
}
|
|
68
|
-
return newObj;
|
|
69
|
-
}
|
|
70
|
-
var existsSync = function(test) {
|
|
71
|
-
try {
|
|
72
|
-
(_fs.default.accessSync || _fs.default.statSync)(test);
|
|
73
|
-
return true;
|
|
74
|
-
} catch (_) {
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
function findDependency(identifier, target) {
|
|
79
|
-
var packagePath = _resolve.default.sync("".concat(identifier, "/package.json"));
|
|
80
|
-
var nodeModules = identifier[0] === '@' ? _path.default.join(packagePath, '..', '..', '..') : _path.default.join(packagePath, '..', '..');
|
|
81
|
-
var optionalDependencies = JSON.parse(_fs.default.readFileSync(packagePath, 'utf8')).optionalDependencies;
|
|
82
|
-
var name = Object.keys(optionalDependencies).find(function(name) {
|
|
83
|
-
return name.indexOf(target) >= 0;
|
|
84
|
-
});
|
|
85
|
-
return name ? {
|
|
86
|
-
name: name,
|
|
87
|
-
version: optionalDependencies[name],
|
|
88
|
-
nodeModules: nodeModules
|
|
89
|
-
} : null;
|
|
90
|
-
}
|
|
91
|
-
var bindings = {};
|
|
92
|
-
function ensureBindings(identifier, target, callback) {
|
|
93
|
-
if (bindings[identifier] === undefined) bindings[identifier] = {};
|
|
94
|
-
if (bindings[identifier][target] === undefined) {
|
|
95
|
-
bindings[identifier][target] = (0, _resolveoncecb.default)(function(cb) {
|
|
96
|
-
var _findDependency = findDependency(identifier, target), name = _findDependency.name, version = _findDependency.version, nodeModules = _findDependency.nodeModules;
|
|
97
|
-
var installString = version ? "".concat(name, "@").concat(version) : name;
|
|
98
|
-
return existsSync(_path.default.join(nodeModules, name)) ? cb() : (0, _installmodulelinked.default)(installString, nodeModules, cb);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
bindings[identifier][target](callback);
|
|
102
|
-
}
|
|
103
|
-
var bindingsSync = {};
|
|
104
|
-
function sync(identifier, target) {
|
|
105
|
-
if (bindingsSync[identifier] === undefined) bindingsSync[identifier] = {};
|
|
106
|
-
if (bindingsSync[identifier][target] === undefined) {
|
|
107
|
-
bindingsSync[identifier][target] = function() {
|
|
108
|
-
var _findDependency = findDependency(identifier, target), name = _findDependency.name, version = _findDependency.version, nodeModules = _findDependency.nodeModules;
|
|
109
|
-
var installString = version ? "".concat(name, "@").concat(version) : name;
|
|
110
|
-
return existsSync(_path.default.join(nodeModules, name)) ? target : (0, _installmodulelinked.sync)(installString, nodeModules);
|
|
111
|
-
}();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
/* 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/ensureBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport installModule, { sync as installModuleSync } from 'install-module-linked';\nimport resolve from 'resolve';\nimport resolveOnce from 'resolve-once-cb';\n\nconst existsSync = (test) => {\n try {\n (fs.accessSync || fs.statSync)(test);\n return true;\n } catch (_) {\n return false;\n }\n};\n\nfunction findDependency(identifier, target) {\n const packagePath = resolve.sync(`${identifier}/package.json`);\n const nodeModules = identifier[0] === '@' ? path.join(packagePath, '..', '..', '..') : path.join(packagePath, '..', '..');\n const optionalDependencies = JSON.parse(fs.readFileSync(packagePath, 'utf8')).optionalDependencies;\n const name = Object.keys(optionalDependencies).find((name) => name.indexOf(target) >= 0);\n return name ? { name, version: optionalDependencies[name], nodeModules } : null;\n}\n\nconst bindings = {};\nexport default function ensureBindings(identifier, target, callback) {\n if (bindings[identifier] === undefined) bindings[identifier] = {};\n if (bindings[identifier][target] === undefined) {\n bindings[identifier][target] = resolveOnce((cb) => {\n const { name, version, nodeModules } = findDependency(identifier, target);\n const installString = version ? `${name}@${version}` : name;\n return existsSync(path.join(nodeModules, name)) ? cb() : installModule(installString, nodeModules, cb);\n });\n }\n bindings[identifier][target](callback);\n}\n\nconst bindingsSync = {};\nexport function sync(identifier, target) {\n if (bindingsSync[identifier] === undefined) bindingsSync[identifier] = {};\n if (bindingsSync[identifier][target] === undefined) {\n bindingsSync[identifier][target] = (() => {\n const { name, version, nodeModules } = findDependency(identifier, target);\n const installString = version ? `${name}@${version}` : name;\n return existsSync(path.join(nodeModules, name)) ? target : installModuleSync(installString, nodeModules);\n })();\n }\n}\n"],"names":["ensureBindings","sync","existsSync","test","fs","accessSync","statSync","_","findDependency","identifier","target","packagePath","resolve","nodeModules","path","join","optionalDependencies","JSON","parse","readFileSync","name","Object","keys","find","indexOf","version","bindings","callback","undefined","resolveOnce","cb","installString","installModule","bindingsSync","installModuleSync"],"mappings":";;;;;;;;;;;IAwBA,OAUC;eAVuBA;;IAaRC,IAAI;eAAJA;;;yDArCD;2DACE;2EACwC;8DACrC;oEACI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExB,IAAMC,aAAa,SAACC;IAClB,IAAI;QACDC,CAAAA,WAAE,CAACC,UAAU,IAAID,WAAE,CAACE,QAAQ,AAAD,EAAGH;QAC/B,OAAO;IACT,EAAE,OAAOI,GAAG;QACV,OAAO;IACT;AACF;AAEA,SAASC,eAAeC,UAAU,EAAEC,MAAM;IACxC,IAAMC,cAAcC,gBAAO,CAACX,IAAI,CAAC,AAAC,GAAa,OAAXQ,YAAW;IAC/C,IAAMI,cAAcJ,UAAU,CAAC,EAAE,KAAK,MAAMK,aAAI,CAACC,IAAI,CAACJ,aAAa,MAAM,MAAM,QAAQG,aAAI,CAACC,IAAI,CAACJ,aAAa,MAAM;IACpH,IAAMK,uBAAuBC,KAAKC,KAAK,CAACd,WAAE,CAACe,YAAY,CAACR,aAAa,SAASK,oBAAoB;IAClG,IAAMI,OAAOC,OAAOC,IAAI,CAACN,sBAAsBO,IAAI,CAAC,SAACH;eAASA,KAAKI,OAAO,CAACd,WAAW;;IACtF,OAAOU,OAAO;QAAEA,MAAAA;QAAMK,SAAST,oBAAoB,CAACI,KAAK;QAAEP,aAAAA;IAAY,IAAI;AAC7E;AAEA,IAAMa,WAAW,CAAC;AACH,SAAS1B,eAAeS,UAAU,EAAEC,MAAM,EAAEiB,QAAQ;IACjE,IAAID,QAAQ,CAACjB,WAAW,KAAKmB,WAAWF,QAAQ,CAACjB,WAAW,GAAG,CAAC;IAChE,IAAIiB,QAAQ,CAACjB,WAAW,CAACC,OAAO,KAAKkB,WAAW;QAC9CF,QAAQ,CAACjB,WAAW,CAACC,OAAO,GAAGmB,IAAAA,sBAAW,EAAC,SAACC;YAC1C,IAAuCtB,kBAAAA,eAAeC,YAAYC,SAA1DU,OAA+BZ,gBAA/BY,MAAMK,UAAyBjB,gBAAzBiB,SAASZ,cAAgBL,gBAAhBK;YACvB,IAAMkB,gBAAgBN,UAAU,AAAC,GAAUA,OAARL,MAAK,KAAW,OAARK,WAAYL;YACvD,OAAOlB,WAAWY,aAAI,CAACC,IAAI,CAACF,aAAaO,SAASU,OAAOE,IAAAA,4BAAa,EAACD,eAAelB,aAAaiB;QACrG;IACF;IACAJ,QAAQ,CAACjB,WAAW,CAACC,OAAO,CAACiB;AAC/B;AAEA,IAAMM,eAAe,CAAC;AACf,SAAShC,KAAKQ,UAAU,EAAEC,MAAM;IACrC,IAAIuB,YAAY,CAACxB,WAAW,KAAKmB,WAAWK,YAAY,CAACxB,WAAW,GAAG,CAAC;IACxE,IAAIwB,YAAY,CAACxB,WAAW,CAACC,OAAO,KAAKkB,WAAW;QAClDK,YAAY,CAACxB,WAAW,CAACC,OAAO,GAAG,AAAC;YAClC,IAAuCF,kBAAAA,eAAeC,YAAYC,SAA1DU,OAA+BZ,gBAA/BY,MAAMK,UAAyBjB,gBAAzBiB,SAASZ,cAAgBL,gBAAhBK;YACvB,IAAMkB,gBAAgBN,UAAU,AAAC,GAAUA,OAARL,MAAK,KAAW,OAARK,WAAYL;YACvD,OAAOlB,WAAWY,aAAI,CAACC,IAAI,CAACF,aAAaO,SAASV,SAASwB,IAAAA,yBAAiB,EAACH,eAAelB;QAC9F;IACF;AACF"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import installModule, { sync as installModuleSync } from 'install-module-linked';
|
|
4
|
-
import resolve from 'resolve';
|
|
5
|
-
import resolveOnce from 'resolve-once-cb';
|
|
6
|
-
const existsSync = (test)=>{
|
|
7
|
-
try {
|
|
8
|
-
(fs.accessSync || fs.statSync)(test);
|
|
9
|
-
return true;
|
|
10
|
-
} catch (_) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
function findDependency(identifier, target) {
|
|
15
|
-
const packagePath = resolve.sync(`${identifier}/package.json`);
|
|
16
|
-
const nodeModules = identifier[0] === '@' ? path.join(packagePath, '..', '..', '..') : path.join(packagePath, '..', '..');
|
|
17
|
-
const optionalDependencies = JSON.parse(fs.readFileSync(packagePath, 'utf8')).optionalDependencies;
|
|
18
|
-
const name = Object.keys(optionalDependencies).find((name)=>name.indexOf(target) >= 0);
|
|
19
|
-
return name ? {
|
|
20
|
-
name,
|
|
21
|
-
version: optionalDependencies[name],
|
|
22
|
-
nodeModules
|
|
23
|
-
} : null;
|
|
24
|
-
}
|
|
25
|
-
const bindings = {};
|
|
26
|
-
export default function ensureBindings(identifier, target, callback) {
|
|
27
|
-
if (bindings[identifier] === undefined) bindings[identifier] = {};
|
|
28
|
-
if (bindings[identifier][target] === undefined) {
|
|
29
|
-
bindings[identifier][target] = resolveOnce((cb)=>{
|
|
30
|
-
const { name, version, nodeModules } = findDependency(identifier, target);
|
|
31
|
-
const installString = version ? `${name}@${version}` : name;
|
|
32
|
-
return existsSync(path.join(nodeModules, name)) ? cb() : installModule(installString, nodeModules, cb);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
bindings[identifier][target](callback);
|
|
36
|
-
}
|
|
37
|
-
const bindingsSync = {};
|
|
38
|
-
export function sync(identifier, target) {
|
|
39
|
-
if (bindingsSync[identifier] === undefined) bindingsSync[identifier] = {};
|
|
40
|
-
if (bindingsSync[identifier][target] === undefined) {
|
|
41
|
-
bindingsSync[identifier][target] = (()=>{
|
|
42
|
-
const { name, version, nodeModules } = findDependency(identifier, target);
|
|
43
|
-
const installString = version ? `${name}@${version}` : name;
|
|
44
|
-
return existsSync(path.join(nodeModules, name)) ? target : installModuleSync(installString, nodeModules);
|
|
45
|
-
})();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/ensureBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport installModule, { sync as installModuleSync } from 'install-module-linked';\nimport resolve from 'resolve';\nimport resolveOnce from 'resolve-once-cb';\n\nconst existsSync = (test) => {\n try {\n (fs.accessSync || fs.statSync)(test);\n return true;\n } catch (_) {\n return false;\n }\n};\n\nfunction findDependency(identifier, target) {\n const packagePath = resolve.sync(`${identifier}/package.json`);\n const nodeModules = identifier[0] === '@' ? path.join(packagePath, '..', '..', '..') : path.join(packagePath, '..', '..');\n const optionalDependencies = JSON.parse(fs.readFileSync(packagePath, 'utf8')).optionalDependencies;\n const name = Object.keys(optionalDependencies).find((name) => name.indexOf(target) >= 0);\n return name ? { name, version: optionalDependencies[name], nodeModules } : null;\n}\n\nconst bindings = {};\nexport default function ensureBindings(identifier, target, callback) {\n if (bindings[identifier] === undefined) bindings[identifier] = {};\n if (bindings[identifier][target] === undefined) {\n bindings[identifier][target] = resolveOnce((cb) => {\n const { name, version, nodeModules } = findDependency(identifier, target);\n const installString = version ? `${name}@${version}` : name;\n return existsSync(path.join(nodeModules, name)) ? cb() : installModule(installString, nodeModules, cb);\n });\n }\n bindings[identifier][target](callback);\n}\n\nconst bindingsSync = {};\nexport function sync(identifier, target) {\n if (bindingsSync[identifier] === undefined) bindingsSync[identifier] = {};\n if (bindingsSync[identifier][target] === undefined) {\n bindingsSync[identifier][target] = (() => {\n const { name, version, nodeModules } = findDependency(identifier, target);\n const installString = version ? `${name}@${version}` : name;\n return existsSync(path.join(nodeModules, name)) ? target : installModuleSync(installString, nodeModules);\n })();\n }\n}\n"],"names":["fs","path","installModule","sync","installModuleSync","resolve","resolveOnce","existsSync","test","accessSync","statSync","_","findDependency","identifier","target","packagePath","nodeModules","join","optionalDependencies","JSON","parse","readFileSync","name","Object","keys","find","indexOf","version","bindings","ensureBindings","callback","undefined","cb","installString","bindingsSync"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,iBAAiBC,QAAQC,iBAAiB,QAAQ,wBAAwB;AACjF,OAAOC,aAAa,UAAU;AAC9B,OAAOC,iBAAiB,kBAAkB;AAE1C,MAAMC,aAAa,CAACC;IAClB,IAAI;QACDR,CAAAA,GAAGS,UAAU,IAAIT,GAAGU,QAAQ,AAAD,EAAGF;QAC/B,OAAO;IACT,EAAE,OAAOG,GAAG;QACV,OAAO;IACT;AACF;AAEA,SAASC,eAAeC,UAAU,EAAEC,MAAM;IACxC,MAAMC,cAAcV,QAAQF,IAAI,CAAC,GAAGU,WAAW,aAAa,CAAC;IAC7D,MAAMG,cAAcH,UAAU,CAAC,EAAE,KAAK,MAAMZ,KAAKgB,IAAI,CAACF,aAAa,MAAM,MAAM,QAAQd,KAAKgB,IAAI,CAACF,aAAa,MAAM;IACpH,MAAMG,uBAAuBC,KAAKC,KAAK,CAACpB,GAAGqB,YAAY,CAACN,aAAa,SAASG,oBAAoB;IAClG,MAAMI,OAAOC,OAAOC,IAAI,CAACN,sBAAsBO,IAAI,CAAC,CAACH,OAASA,KAAKI,OAAO,CAACZ,WAAW;IACtF,OAAOQ,OAAO;QAAEA;QAAMK,SAAST,oBAAoB,CAACI,KAAK;QAAEN;IAAY,IAAI;AAC7E;AAEA,MAAMY,WAAW,CAAC;AAClB,eAAe,SAASC,eAAehB,UAAU,EAAEC,MAAM,EAAEgB,QAAQ;IACjE,IAAIF,QAAQ,CAACf,WAAW,KAAKkB,WAAWH,QAAQ,CAACf,WAAW,GAAG,CAAC;IAChE,IAAIe,QAAQ,CAACf,WAAW,CAACC,OAAO,KAAKiB,WAAW;QAC9CH,QAAQ,CAACf,WAAW,CAACC,OAAO,GAAGR,YAAY,CAAC0B;YAC1C,MAAM,EAAEV,IAAI,EAAEK,OAAO,EAAEX,WAAW,EAAE,GAAGJ,eAAeC,YAAYC;YAClE,MAAMmB,gBAAgBN,UAAU,GAAGL,KAAK,CAAC,EAAEK,SAAS,GAAGL;YACvD,OAAOf,WAAWN,KAAKgB,IAAI,CAACD,aAAaM,SAASU,OAAO9B,cAAc+B,eAAejB,aAAagB;QACrG;IACF;IACAJ,QAAQ,CAACf,WAAW,CAACC,OAAO,CAACgB;AAC/B;AAEA,MAAMI,eAAe,CAAC;AACtB,OAAO,SAAS/B,KAAKU,UAAU,EAAEC,MAAM;IACrC,IAAIoB,YAAY,CAACrB,WAAW,KAAKkB,WAAWG,YAAY,CAACrB,WAAW,GAAG,CAAC;IACxE,IAAIqB,YAAY,CAACrB,WAAW,CAACC,OAAO,KAAKiB,WAAW;QAClDG,YAAY,CAACrB,WAAW,CAACC,OAAO,GAAG,AAAC,CAAA;YAClC,MAAM,EAAEQ,IAAI,EAAEK,OAAO,EAAEX,WAAW,EAAE,GAAGJ,eAAeC,YAAYC;YAClE,MAAMmB,gBAAgBN,UAAU,GAAGL,KAAK,CAAC,EAAEK,SAAS,GAAGL;YACvD,OAAOf,WAAWN,KAAKgB,IAAI,CAACD,aAAaM,SAASR,SAASV,kBAAkB6B,eAAejB;QAC9F,CAAA;IACF;AACF"}
|