ts-swc-transform 1.13.6 → 1.13.7
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/ensureBindings.cjs +23 -79
- package/dist/cjs/lib/ensureBindings.cjs.map +1 -1
- package/dist/cjs/lib/findDependency.cjs +17 -0
- package/dist/cjs/lib/findDependency.cjs.map +1 -0
- package/dist/cjs/lib/swcPrepareOptions.cjs +2 -2
- package/dist/cjs/lib/swcPrepareOptions.cjs.map +1 -1
- package/dist/cjs/lib/transformFile.cjs +2 -2
- package/dist/cjs/lib/transformFile.cjs.map +1 -1
- package/dist/cjs/transformDirectory.cjs.map +1 -1
- package/dist/cjs/workers/installBindings.cjs +9 -56
- package/dist/cjs/workers/installBindings.cjs.map +1 -1
- package/dist/esm/lib/ensureBindings.cjs +29 -0
- package/dist/esm/lib/ensureBindings.cjs.map +1 -0
- package/dist/esm/lib/findDependency.cjs +13 -0
- package/dist/esm/lib/findDependency.cjs.map +1 -0
- package/dist/esm/lib/swcPrepareOptions.mjs +1 -1
- package/dist/esm/lib/swcPrepareOptions.mjs.map +1 -1
- package/dist/esm/lib/transformFile.mjs +1 -1
- package/dist/esm/lib/transformFile.mjs.map +1 -1
- package/dist/esm/transformDirectory.mjs.map +1 -1
- package/dist/esm/workers/installBindings.cjs +12 -0
- package/dist/esm/workers/installBindings.cjs.map +1 -0
- package/dist/types/lib/ensureBindings.d.cts +2 -0
- package/dist/types/lib/findDependency.d.cts +6 -0
- package/dist/types/workers/installBindings.d.cts +2 -0
- package/package.json +3 -3
- package/dist/esm/lib/ensureBindings.mjs +0 -22
- package/dist/esm/lib/ensureBindings.mjs.map +0 -1
- package/dist/esm/workers/installBindings.mjs +0 -32
- package/dist/esm/workers/installBindings.mjs.map +0 -1
- package/dist/types/lib/ensureBindings.d.ts +0 -3
- package/dist/types/workers/installBindings.d.ts +0 -7
|
@@ -1,89 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
13
|
-
return _default;
|
|
14
|
-
},
|
|
15
|
-
sync: function() {
|
|
16
|
-
return sync;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
var _resolveoncemapcb = /*#__PURE__*/ _interop_require_default(require("resolve-once-map-cb"));
|
|
20
|
-
var _installBindings = /*#__PURE__*/ _interop_require_wildcard(require("../workers/installBindings.cjs"));
|
|
21
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
22
|
-
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
23
|
-
var _module = /*#__PURE__*/ _interop_require_default(require("module"));
|
|
24
|
-
var _lazycache = /*#__PURE__*/ _interop_require_default(require("lazy-cache"));
|
|
25
|
-
function _interop_require_default(obj) {
|
|
26
|
-
return obj && obj.__esModule ? obj : {
|
|
27
|
-
default: obj
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
31
|
-
if (typeof WeakMap !== "function") return null;
|
|
32
|
-
var cacheBabelInterop = new WeakMap();
|
|
33
|
-
var cacheNodeInterop = new WeakMap();
|
|
34
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
35
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
36
|
-
})(nodeInterop);
|
|
37
|
-
}
|
|
38
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
39
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
40
|
-
return obj;
|
|
41
|
-
}
|
|
42
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
43
|
-
return {
|
|
44
|
-
default: obj
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
48
|
-
if (cache && cache.has(obj)) {
|
|
49
|
-
return cache.get(obj);
|
|
50
|
-
}
|
|
51
|
-
var newObj = {
|
|
52
|
-
__proto__: null
|
|
53
|
-
};
|
|
54
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
55
|
-
for(var key in obj){
|
|
56
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
57
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
58
|
-
if (desc && (desc.get || desc.set)) {
|
|
59
|
-
Object.defineProperty(newObj, key, desc);
|
|
60
|
-
} else {
|
|
61
|
-
newObj[key] = obj[key];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
newObj.default = obj;
|
|
66
|
-
if (cache) {
|
|
67
|
-
cache.set(obj, newObj);
|
|
68
|
-
}
|
|
69
|
-
return newObj;
|
|
70
|
-
}
|
|
71
|
-
var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
|
|
72
|
-
var __dirname = _path.default.dirname(typeof __filename === 'undefined' ? _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()) : __filename);
|
|
73
|
-
var workerPath = _path.default.join(__dirname, '..', '..', 'cjs', 'workers', 'installBindings.cjs');
|
|
2
|
+
var path = require('path');
|
|
3
|
+
var fs = require('fs');
|
|
4
|
+
var lazy = require('lazy-cache');
|
|
5
|
+
var resolveOnceMap = require('resolve-once-map-cb');
|
|
6
|
+
var installBindings = require('../workers/installBindings.cjs');
|
|
7
|
+
var findDependency = require('./findDependency.cjs');
|
|
8
|
+
var workerPath = path.join(__dirname, 'workers', 'installBindings.cjs');
|
|
74
9
|
var major = +process.versions.node.split('.')[0];
|
|
75
10
|
var version = major < 14 ? 'stable' : 'local';
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
11
|
+
var existsSync = function(test) {
|
|
12
|
+
try {
|
|
13
|
+
(fs.accessSync || fs.statSync)(test);
|
|
14
|
+
return true;
|
|
15
|
+
} catch (_) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
var install = lazy(function(target) {
|
|
20
|
+
var _findDependency = findDependency('@swc/core/package.json', target), name = _findDependency.name, modulePath = _findDependency.modulePath;
|
|
21
|
+
return existsSync(path.join(modulePath, '..', 'node_modules', name)) ? target : require('node-version-call')({
|
|
79
22
|
version: version,
|
|
80
23
|
callbacks: true
|
|
81
24
|
}, workerPath, target);
|
|
82
25
|
});
|
|
83
|
-
|
|
26
|
+
module.exports = resolveOnceMap(function(target, callback) {
|
|
27
|
+
var _findDependency = findDependency('@swc/core/package.json', target), name = _findDependency.name, modulePath = _findDependency.modulePath;
|
|
28
|
+
return existsSync(path.join(modulePath, '..', 'node_modules', name)) ? callback() : installBindings(target, callback);
|
|
29
|
+
});
|
|
30
|
+
module.exports.sync = function(target) {
|
|
84
31
|
return install(target)();
|
|
85
32
|
};
|
|
86
|
-
var _default = (0, _resolveoncemapcb.default)(function(target, callback) {
|
|
87
|
-
return (0, _installBindings.isInstalled)(target) ? callback() : (0, _installBindings.default)(target, callback);
|
|
88
|
-
});
|
|
89
33
|
/* 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/ensureBindings.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/ensureBindings.cjs"],"sourcesContent":["const path = require('path');\nconst fs = require('fs');\nconst lazy = require('lazy-cache');\nconst resolveOnceMap = require('resolve-once-map-cb');\nconst installBindings = require('../workers/installBindings');\nconst findDependency = require('./findDependency.cjs');\n\nconst workerPath = path.join(__dirname, 'workers', 'installBindings.cjs');\nconst major = +process.versions.node.split('.')[0];\nconst version = major < 14 ? 'stable' : 'local';\n\nconst existsSync = (test) => {\n try {\n (fs.accessSync || fs.statSync)(test);\n return true;\n } catch (_) {\n return false;\n }\n};\n\nconst install = lazy((target) => {\n const { name, modulePath } = findDependency('@swc/core/package.json', target);\n return existsSync(path.join(modulePath, '..', 'node_modules', name)) ? target : require('node-version-call')({ version, callbacks: true }, workerPath, target);\n});\n\nmodule.exports = resolveOnceMap((target, callback) => {\n const { name, modulePath } = findDependency('@swc/core/package.json', target);\n return existsSync(path.join(modulePath, '..', 'node_modules', name)) ? callback() : installBindings(target, callback);\n});\nmodule.exports.sync = (target) => install(target)();\n"],"names":["path","require","fs","lazy","resolveOnceMap","installBindings","findDependency","workerPath","join","__dirname","major","process","versions","node","split","version","existsSync","test","accessSync","statSync","_","install","target","name","modulePath","callbacks","module","exports","callback","sync"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,KAAKD,QAAQ;AACnB,IAAME,OAAOF,QAAQ;AACrB,IAAMG,iBAAiBH,QAAQ;AAC/B,IAAMI,kBAAkBJ,QAAQ;AAChC,IAAMK,iBAAiBL,QAAQ;AAE/B,IAAMM,aAAaP,KAAKQ,IAAI,CAACC,WAAW,WAAW;AACnD,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,IAAMC,UAAUL,QAAQ,KAAK,WAAW;AAExC,IAAMM,aAAa,SAACC;IAClB,IAAI;QACDf,CAAAA,GAAGgB,UAAU,IAAIhB,GAAGiB,QAAQ,AAAD,EAAGF;QAC/B,OAAO;IACT,EAAE,OAAOG,GAAG;QACV,OAAO;IACT;AACF;AAEA,IAAMC,UAAUlB,KAAK,SAACmB;IACpB,IAA6BhB,kBAAAA,eAAe,0BAA0BgB,SAA9DC,OAAqBjB,gBAArBiB,MAAMC,aAAelB,gBAAfkB;IACd,OAAOR,WAAWhB,KAAKQ,IAAI,CAACgB,YAAY,MAAM,gBAAgBD,SAASD,SAASrB,QAAQ,qBAAqB;QAAEc,SAAAA;QAASU,WAAW;IAAK,GAAGlB,YAAYe;AACzJ;AAEAI,OAAOC,OAAO,GAAGvB,eAAe,SAACkB,QAAQM;IACvC,IAA6BtB,kBAAAA,eAAe,0BAA0BgB,SAA9DC,OAAqBjB,gBAArBiB,MAAMC,aAAelB,gBAAfkB;IACd,OAAOR,WAAWhB,KAAKQ,IAAI,CAACgB,YAAY,MAAM,gBAAgBD,SAASK,aAAavB,gBAAgBiB,QAAQM;AAC9G;AACAF,OAAOC,OAAO,CAACE,IAAI,GAAG,SAACP;WAAWD,QAAQC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var path = require('path');
|
|
3
|
+
var fs = require('fs');
|
|
4
|
+
var resolve = require('resolve');
|
|
5
|
+
module.exports = function findDependency(identifier, target) {
|
|
6
|
+
var packagePath = resolve.sync(identifier);
|
|
7
|
+
var optionalDependencies = JSON.parse(fs.readFileSync(packagePath, 'utf8')).optionalDependencies;
|
|
8
|
+
var name = Object.keys(optionalDependencies).find(function(name) {
|
|
9
|
+
return name.indexOf(target) >= 0;
|
|
10
|
+
});
|
|
11
|
+
return name ? {
|
|
12
|
+
name: name,
|
|
13
|
+
version: optionalDependencies[name],
|
|
14
|
+
modulePath: path.dirname(packagePath)
|
|
15
|
+
} : null;
|
|
16
|
+
};
|
|
17
|
+
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/findDependency.cjs"],"sourcesContent":["const path = require('path');\nconst fs = require('fs');\nconst resolve = require('resolve');\n\nmodule.exports = function findDependency(identifier, target) {\n const packagePath = resolve.sync(identifier);\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], modulePath: path.dirname(packagePath) } : null;\n};\n"],"names":["path","require","fs","resolve","module","exports","findDependency","identifier","target","packagePath","sync","optionalDependencies","JSON","parse","readFileSync","name","Object","keys","find","indexOf","version","modulePath","dirname"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,KAAKD,QAAQ;AACnB,IAAME,UAAUF,QAAQ;AAExBG,OAAOC,OAAO,GAAG,SAASC,eAAeC,UAAU,EAAEC,MAAM;IACzD,IAAMC,cAAcN,QAAQO,IAAI,CAACH;IACjC,IAAMI,uBAAuBC,KAAKC,KAAK,CAACX,GAAGY,YAAY,CAACL,aAAa,SAASE,oBAAoB;IAClG,IAAMI,OAAOC,OAAOC,IAAI,CAACN,sBAAsBO,IAAI,CAAC,SAACH;eAASA,KAAKI,OAAO,CAACX,WAAW;;IACtF,OAAOO,OAAO;QAAEA,MAAAA;QAAMK,SAAST,oBAAoB,CAACI,KAAK;QAAEM,YAAYrB,KAAKsB,OAAO,CAACb;IAAa,IAAI;AACvG"}
|
|
@@ -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 _ensureBindingscjs = require("./ensureBindings.cjs");
|
|
13
13
|
var _module = /*#__PURE__*/ _interop_require_default(require("module"));
|
|
14
14
|
var _lazycache = /*#__PURE__*/ _interop_require_default(require("lazy-cache"));
|
|
15
15
|
function _interop_require_default(obj) {
|
|
@@ -22,7 +22,7 @@ var tsLazy = (0, _lazycache.default)(_require)('typescript');
|
|
|
22
22
|
var swcLazy = (0, _lazycache.default)(_require)('@swc/core');
|
|
23
23
|
var transpilerLazy = (0, _lazycache.default)(_require)('ts-node/transpilers/swc');
|
|
24
24
|
function swcPrepareOptions(tsconfig) {
|
|
25
|
-
(0,
|
|
25
|
+
(0, _ensureBindingscjs.sync)("".concat(process.platform, "-").concat(process.arch));
|
|
26
26
|
try {
|
|
27
27
|
var ts = tsLazy();
|
|
28
28
|
var swc = swcLazy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport { sync as ensureBindings } from './ensureBindings';\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 ensureBindings(`${process.platform}-${process.arch}`);\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 return {};\n }\n}\n"],"names":["swcPrepareOptions","_require","require","Module","createRequire","tsLazy","lazy","swcLazy","transpilerLazy","tsconfig","ensureBindings","process","platform","arch","ts","swc","transpiler","parsed","parseJsonConfigFileContent","config","sys","path","dirname","createSwcOptions","options","undefined","err","console","log","message"],"mappings":";;;;+BAYA;;;eAAwBA;;;2DAZP;
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport { sync as ensureBindings } from './ensureBindings.cjs';\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 ensureBindings(`${process.platform}-${process.arch}`);\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 return {};\n }\n}\n"],"names":["swcPrepareOptions","_require","require","Module","createRequire","tsLazy","lazy","swcLazy","transpilerLazy","tsconfig","ensureBindings","process","platform","arch","ts","swc","transpiler","parsed","parseJsonConfigFileContent","config","sys","path","dirname","createSwcOptions","options","undefined","err","console","log","message"],"mappings":";;;;+BAYA;;;eAAwBA;;;2DAZP;iCACsB;6DAEpB;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;IAChEC,IAAAA,uBAAc,EAAC,AAAC,GAAsBC,OAApBA,QAAQC,QAAQ,EAAC,KAAgB,OAAbD,QAAQE,IAAI;IAClD,IAAI;QACF,IAAMC,KAAKT;QACX,IAAMU,MAAMR;QACZ,IAAMS,aAAaR;QACnB,IAAMS,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,7 @@ 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
|
|
15
|
+
var _ensureBindingscjs = /*#__PURE__*/ _interop_require_default(require("./ensureBindings.cjs"));
|
|
16
16
|
var _patchCJS = /*#__PURE__*/ _interop_require_default(require("../lib/patchCJS.cjs"));
|
|
17
17
|
var _patchESM = /*#__PURE__*/ _interop_require_default(require("../lib/patchESM.cjs"));
|
|
18
18
|
var _swcPrepareOptions = /*#__PURE__*/ _interop_require_default(require("../lib/swcPrepareOptions.cjs"));
|
|
@@ -78,7 +78,7 @@ function _object_spread_props(target, source) {
|
|
|
78
78
|
var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
|
|
79
79
|
var swcLazy = (0, _lazycache.default)(_require)('@swc/core');
|
|
80
80
|
function transformFile(entry, dest, type, options, callback) {
|
|
81
|
-
(0,
|
|
81
|
+
(0, _ensureBindingscjs.default)("".concat(process.platform, "-").concat(process.arch), function(err) {
|
|
82
82
|
if (err) return callback(err);
|
|
83
83
|
var tsconfig = options.tsconfig;
|
|
84
84
|
// overrides for cjs
|
|
@@ -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';\nimport ensureBindings from './ensureBindings';\n\nimport patchCJS from '../lib/patchCJS';\nimport patchESM from '../lib/patchESM';\nimport swcPrepareOptions from '../lib/swcPrepareOptions';\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\nexport default function transformFile(entry, dest, type, options, callback) {\n ensureBindings(`${process.platform}-${process.arch}`, (err) => {\n if (err) return callback(err);\n\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 = swcLazy();\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}\n"],"names":["transformFile","_require","require","Module","createRequire","swcLazy","lazy","entry","dest","type","options","callback","ensureBindings","process","platform","arch","err","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","catch"],"mappings":";;;;+BAeA;;;eAAwBA;;;yDAfT;2DACE;oEACE;8DACD;
|
|
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';\nimport ensureBindings from './ensureBindings.cjs';\n\nimport patchCJS from '../lib/patchCJS';\nimport patchESM from '../lib/patchESM';\nimport swcPrepareOptions from '../lib/swcPrepareOptions';\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\nexport default function transformFile(entry, dest, type, options, callback) {\n ensureBindings(`${process.platform}-${process.arch}`, (err) => {\n if (err) return callback(err);\n\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 = swcLazy();\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}\n"],"names":["transformFile","_require","require","Module","createRequire","swcLazy","lazy","entry","dest","type","options","callback","ensureBindings","process","platform","arch","err","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","catch"],"mappings":";;;;+BAeA;;;eAAwBA;;;yDAfT;2DACE;oEACE;8DACD;wEACS;+DAEN;+DACA;wEACS;6DAEX;gEACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACjB,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,UAAUC,IAAAA,kBAAI,EAACL,UAAU;AAEhB,SAASD,cAAcO,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACxEC,IAAAA,0BAAc,EAAC,AAAC,GAAsBC,OAApBA,QAAQC,QAAQ,EAAC,KAAgB,OAAbD,QAAQE,IAAI,GAAI,SAACC;QACrD,IAAIA,KAAK,OAAOL,SAASK;QAEzB,IAAIC,WAAWP,QAAQO,QAAQ;QAE/B,oBAAoB;QACpB,IAAIR,SAAS,OAAO;YAClBQ,WAAW,mBAAKA;YAChBA,SAASC,MAAM,GAAG,mBAAKD,SAASC,MAAM;YACtCD,SAASC,MAAM,CAACC,eAAe,GAAG,mBAAMF,SAASC,MAAM,CAACC,eAAe,IAAI,CAAC;YAC5EF,SAASC,MAAM,CAACC,eAAe,CAACC,MAAM,GAAG;YACzCH,SAASC,MAAM,CAACC,eAAe,CAACE,MAAM,GAAG;QAC3C;QAEA,IAAMC,aAAaC,IAAAA,0BAAiB,EAACN;QACrC,IAAMO,MAAMnB;QAEZmB,IACGxB,aAAa,CAACO,MAAMkB,QAAQ,EAAE,wCACzBlB,MAAMmB,QAAQ,CAACC,QAAQ,CAAC,WAAWpB,MAAMmB,QAAQ,CAACC,QAAQ,CAAC,UAAUL,WAAWM,UAAU,GAAGN,WAAWO,aAAa;YACzHC,UAAUvB,MAAMmB,QAAQ;YAEzBK,IAAI,CAAC,SAACC;YACL,IAAMC,YAAYxB,SAAS,QAAQyB,IAAAA,iBAAQ,EAAC3B,OAAOyB,QAAQtB,WAAWyB,IAAAA,iBAAQ,EAAC5B,OAAOyB,QAAQtB;YAC9F,IAAM0B,MAAMC,aAAI,CAACC,OAAO,CAAC/B,MAAM8B,IAAI;YACnC,IAAME,UAAUF,aAAI,CAACG,IAAI,CAAChC,MAAM,AAAC4B,CAAAA,MAAM7B,MAAM8B,IAAI,CAACI,KAAK,CAAC,GAAG,CAACL,IAAIM,MAAM,IAAInC,MAAM8B,IAAI,AAAD,IAAKJ;YAExFU,IAAAA,sBAAM,EAACN,aAAI,CAACO,OAAO,CAACL,UAAU;gBAC5B,IAAMM,QAAQ,IAAIC,gBAAK;gBACvBD,MAAME,KAAK,CAACC,WAAE,CAACC,SAAS,CAACC,IAAI,CAAC,MAAMX,SAASP,OAAOmB,IAAI,EAAE;gBAC1D,CAACzC,QAAQ0C,UAAU,IAAIP,MAAME,KAAK,CAACC,WAAE,CAACC,SAAS,CAACC,IAAI,CAAC,MAAM,AAAC,GAAU,OAARX,SAAQ,SAAOP,OAAOqB,GAAG,EAAE;gBACzFR,MAAMS,KAAK,CAAC,SAACtC;2BAASA,MAAML,SAASK,OAAOL,SAAS,MAAM4B;;YAC7D;QACF,GACCgB,KAAK,CAAC5C;IACX;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport loadTsConfig from './loadTsConfig';\n\nconst major = +process.versions.node.split('.')[0];\nconst version = major < 14 ? 'stable' : 'local';\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst workerPath = path.join(__dirname, '..', 'cjs', 'workers', 'transformDirectory.cjs');\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst callLazy = lazy(_require)('node-version-call');\nconst workerLazy = lazy(_require)(workerPath);\n\nfunction dispatch(version, src, dest, type, options, callback) {\n if (version === 'local') return workerLazy()(src, dest, type, options, callback);\n try {\n callback(null, callLazy()({ version, callbacks: true }, workerPath, src, dest, type, options));\n } catch (err) {\n callback(err);\n }\n}\n\nimport type { ConfigOptions, TransformDirectoryCallback } from './types';\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write files to.\n * @param {string} type The type of transform ('esm' or 'cjs').\n * @param {{sourceMaps: boolean}} options Options to pass to swc.\n * @param {(err?: Error) =>} [callback] Optional callback. Uses promise if callback not provided.\n * @returns {void | Promise<any>} Optional promise if callback not provided.\n */\nexport default function transformDirectory(src: string, dest: string, type: string, options?: ConfigOptions | TransformDirectoryCallback, callback?: TransformDirectoryCallback): undefined | Promise<string[]> {\n try {\n if (typeof src !== 'string') throw new Error('transformDirectory: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformDirectory: unexpected destination directory');\n if (typeof type !== 'string') throw new Error('transformDirectory: unexpected type');\n\n if (typeof options === 'function') {\n callback = options as TransformDirectoryCallback;\n options = null;\n }\n options = options || {};\n const tsconfig = loadTsConfig({ cwd: src, ...options }, 'transformDirectory');\n options = { tsconfig, ...options };\n\n if (typeof callback === 'function') return dispatch(version, src, dest, type, options, callback) as undefined;\n return new Promise((resolve, reject) => dispatch(version, src, dest, type, options, (err, result) => (err ? reject(err) : resolve(result))));\n } catch (err) {\n if (callback) callback(err);\n else return Promise.reject(err);\n }\n}\n"],"names":["transformDirectory","major","process","versions","node","split","version","__dirname","path","dirname","__filename","url","fileURLToPath","workerPath","join","_require","require","Module","createRequire","callLazy","lazy","workerLazy","dispatch","src","dest","type","options","callback","callbacks","err","Error","tsconfig","loadTsConfig","cwd","Promise","resolve","reject","result"],"mappings":";;;;+BAyBA;;;;;;;CAOC,GACD;;;eAAwBA;;;2DAjCP;0DACD;mEACS;6DAON;gEACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AANjB,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,IAAMC,UAAUL,QAAQ,KAAK,WAAW;AACxC,IAAMM,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcC,YAAG,CAACC,aAAa,CAAC,uDAAmBF;AACxG,IAAMG,aAAaL,aAAI,CAACM,IAAI,CAACP,WAAW,MAAM,OAAO,WAAW;AAIhE,IAAMQ,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,WAAWC,IAAAA,kBAAI,EAACL,UAAU;AAChC,IAAMM,aAAaD,IAAAA,kBAAI,EAACL,UAAUF;AAElC,SAASS,SAAShB,OAAO,EAAEiB,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC3D,IAAIrB,YAAY,SAAS,OAAOe,aAAaE,KAAKC,MAAMC,MAAMC,SAASC;IACvE,IAAI;QACFA,SAAS,MAAMR,WAAW;YAAEb,SAAAA;YAASsB,WAAW;QAAK,GAAGf,YAAYU,KAAKC,MAAMC,MAAMC;IACvF,EAAE,OAAOG,KAAK;QACZF,SAASE;IACX;AACF;AAWe,SAAS7B,mBAAmBuB,GAAW,EAAEC,IAAY,EAAEC,IAAY,EAAEC,OAAoD,EAAEC,QAAqC;IAC7K,IAAI;QACF,IAAI,OAAOJ,QAAQ,UAAU,MAAM,IAAIO,MAAM;QAC7C,IAAI,OAAON,SAAS,UAAU,MAAM,IAAIM,MAAM;QAC9C,IAAI,OAAOL,SAAS,UAAU,MAAM,IAAIK,MAAM;QAE9C,IAAI,OAAOJ,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QACAA,UAAUA,WAAW,CAAC;QACtB,IAAMK,WAAWC,IAAAA,qBAAY,EAAC;YAAEC,KAAKV;WAAQG,UAAW;QACxDA,UAAU;YAAEK,UAAAA;WAAaL;QAEzB,IAAI,OAAOC,aAAa,YAAY,OAAOL,SAAShB,SAASiB,KAAKC,MAAMC,MAAMC,SAASC;QACvF,OAAO,IAAIO,QAAQ,SAACC,SAASC;mBAAWd,SAAShB,SAASiB,KAAKC,MAAMC,MAAMC,SAAS,SAACG,KAAKQ;uBAAYR,MAAMO,OAAOP,OAAOM,QAAQE;;;IACpI,EAAE,OAAOR,KAAK;QACZ,IAAIF,UAAUA,SAASE;aAClB,OAAOK,QAAQE,MAAM,CAACP;IAC7B;AACF"}
|
|
@@ -1,61 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
get: all[name]
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
default: function() {
|
|
13
|
-
return installBindings;
|
|
14
|
-
},
|
|
15
|
-
getDependencyInfo: function() {
|
|
16
|
-
return getDependencyInfo;
|
|
17
|
-
},
|
|
18
|
-
isInstalled: function() {
|
|
19
|
-
return isInstalled;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
23
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
24
|
-
var _installmodulelinked = /*#__PURE__*/ _interop_require_default(require("install-module-linked"));
|
|
25
|
-
var _resolve = /*#__PURE__*/ _interop_require_default(require("resolve"));
|
|
26
|
-
function _interop_require_default(obj) {
|
|
27
|
-
return obj && obj.__esModule ? obj : {
|
|
28
|
-
default: obj
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
function getDependencyInfo(target) {
|
|
32
|
-
var packagePath = _resolve.default.sync('@swc/core/package.json');
|
|
33
|
-
var nodeModules = _path.default.dirname(_path.default.dirname(_path.default.dirname(packagePath)));
|
|
34
|
-
var optionalDependencies = JSON.parse(_fs.default.readFileSync(packagePath, 'utf8')).optionalDependencies;
|
|
35
|
-
var name = Object.keys(optionalDependencies).find(function(name) {
|
|
36
|
-
return name.indexOf(target) >= 0;
|
|
37
|
-
});
|
|
38
|
-
return {
|
|
39
|
-
name: name,
|
|
40
|
-
version: optionalDependencies[name],
|
|
41
|
-
nodeModules: nodeModules
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
function isInstalled(target) {
|
|
45
|
-
var _getDependencyInfo = getDependencyInfo(target), name = _getDependencyInfo.name, nodeModules = _getDependencyInfo.nodeModules;
|
|
46
|
-
try {
|
|
47
|
-
_fs.default.statSync(_path.default.join(nodeModules, name));
|
|
48
|
-
return true;
|
|
49
|
-
} catch (_err) {
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
function installBindings(target, callback) {
|
|
54
|
-
var _getDependencyInfo = getDependencyInfo(target), name = _getDependencyInfo.name, version = _getDependencyInfo.version, nodeModules = _getDependencyInfo.nodeModules;
|
|
2
|
+
var path = require('path');
|
|
3
|
+
var installModule = require('install-module-linked');
|
|
4
|
+
var findDependency = require('../lib/findDependency.cjs');
|
|
5
|
+
module.exports = function installBindings(target, callback) {
|
|
6
|
+
var _findDependency = findDependency('@swc/core/package.json', target), name = _findDependency.name, version = _findDependency.version, modulePath = _findDependency.modulePath;
|
|
7
|
+
var nodeModules = path.join(modulePath, '..', 'node_modules');
|
|
55
8
|
var installString = version ? "".concat(name, "@").concat(version) : name;
|
|
56
|
-
(
|
|
57
|
-
console.log("installed ".concat(
|
|
9
|
+
installModule(installString, nodeModules, function(err) {
|
|
10
|
+
console.log("installed ".concat(path.join(nodeModules, name), " ").concat(!err ? 'successfully' : 'with errors: ${err.message}'));
|
|
58
11
|
callback(err);
|
|
59
12
|
});
|
|
60
|
-
}
|
|
13
|
+
};
|
|
61
14
|
/* 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/installBindings.
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/installBindings.cjs"],"sourcesContent":["const path = require('path');\nconst installModule = require('install-module-linked');\nconst findDependency = require('../lib/findDependency.cjs');\n\nmodule.exports = function installBindings(target, callback) {\n const { name, version, modulePath } = findDependency('@swc/core/package.json', target);\n const nodeModules = path.join(modulePath, '..', 'node_modules');\n const installString = version ? `${name}@${version}` : name;\n\n installModule(installString, nodeModules, (err) => {\n console.log(`installed ${path.join(nodeModules, name)} ${!err ? 'successfully' : 'with errors: ${err.message}'}`);\n callback(err);\n });\n};\n"],"names":["path","require","installModule","findDependency","module","exports","installBindings","target","callback","name","version","modulePath","nodeModules","join","installString","err","console","log"],"mappings":";AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,gBAAgBD,QAAQ;AAC9B,IAAME,iBAAiBF,QAAQ;AAE/BG,OAAOC,OAAO,GAAG,SAASC,gBAAgBC,MAAM,EAAEC,QAAQ;IACxD,IAAsCL,kBAAAA,eAAe,0BAA0BI,SAAvEE,OAA8BN,gBAA9BM,MAAMC,UAAwBP,gBAAxBO,SAASC,aAAeR,gBAAfQ;IACvB,IAAMC,cAAcZ,KAAKa,IAAI,CAACF,YAAY,MAAM;IAChD,IAAMG,gBAAgBJ,UAAU,AAAC,GAAUA,OAARD,MAAK,KAAW,OAARC,WAAYD;IAEvDP,cAAcY,eAAeF,aAAa,SAACG;QACzCC,QAAQC,GAAG,CAAC,AAAC,aAA4C,OAAhCjB,KAAKa,IAAI,CAACD,aAAaH,OAAM,KAAyD,OAAtD,CAACM,MAAM,iBAAiB;QACjFP,SAASO;IACX;AACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const lazy = require('lazy-cache');
|
|
4
|
+
const resolveOnceMap = require('resolve-once-map-cb');
|
|
5
|
+
const installBindings = require('../workers/installBindings');
|
|
6
|
+
const findDependency = require('./findDependency.cjs');
|
|
7
|
+
const workerPath = path.join(__dirname, 'workers', 'installBindings.cjs');
|
|
8
|
+
const major = +process.versions.node.split('.')[0];
|
|
9
|
+
const version = major < 14 ? 'stable' : 'local';
|
|
10
|
+
const existsSync = (test)=>{
|
|
11
|
+
try {
|
|
12
|
+
(fs.accessSync || fs.statSync)(test);
|
|
13
|
+
return true;
|
|
14
|
+
} catch (_) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const install = lazy((target)=>{
|
|
19
|
+
const { name, modulePath } = findDependency('@swc/core/package.json', target);
|
|
20
|
+
return existsSync(path.join(modulePath, '..', 'node_modules', name)) ? target : require('node-version-call')({
|
|
21
|
+
version,
|
|
22
|
+
callbacks: true
|
|
23
|
+
}, workerPath, target);
|
|
24
|
+
});
|
|
25
|
+
module.exports = resolveOnceMap((target, callback)=>{
|
|
26
|
+
const { name, modulePath } = findDependency('@swc/core/package.json', target);
|
|
27
|
+
return existsSync(path.join(modulePath, '..', 'node_modules', name)) ? callback() : installBindings(target, callback);
|
|
28
|
+
});
|
|
29
|
+
module.exports.sync = (target)=>install(target)();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/ensureBindings.cjs"],"sourcesContent":["const path = require('path');\nconst fs = require('fs');\nconst lazy = require('lazy-cache');\nconst resolveOnceMap = require('resolve-once-map-cb');\nconst installBindings = require('../workers/installBindings');\nconst findDependency = require('./findDependency.cjs');\n\nconst workerPath = path.join(__dirname, 'workers', 'installBindings.cjs');\nconst major = +process.versions.node.split('.')[0];\nconst version = major < 14 ? 'stable' : 'local';\n\nconst existsSync = (test) => {\n try {\n (fs.accessSync || fs.statSync)(test);\n return true;\n } catch (_) {\n return false;\n }\n};\n\nconst install = lazy((target) => {\n const { name, modulePath } = findDependency('@swc/core/package.json', target);\n return existsSync(path.join(modulePath, '..', 'node_modules', name)) ? target : require('node-version-call')({ version, callbacks: true }, workerPath, target);\n});\n\nmodule.exports = resolveOnceMap((target, callback) => {\n const { name, modulePath } = findDependency('@swc/core/package.json', target);\n return existsSync(path.join(modulePath, '..', 'node_modules', name)) ? callback() : installBindings(target, callback);\n});\nmodule.exports.sync = (target) => install(target)();\n"],"names":["path","require","fs","lazy","resolveOnceMap","installBindings","findDependency","workerPath","join","__dirname","major","process","versions","node","split","version","existsSync","test","accessSync","statSync","_","install","target","name","modulePath","callbacks","module","exports","callback","sync"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AACrB,MAAMC,KAAKD,QAAQ;AACnB,MAAME,OAAOF,QAAQ;AACrB,MAAMG,iBAAiBH,QAAQ;AAC/B,MAAMI,kBAAkBJ,QAAQ;AAChC,MAAMK,iBAAiBL,QAAQ;AAE/B,MAAMM,aAAaP,KAAKQ,IAAI,CAACC,WAAW,WAAW;AACnD,MAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,MAAMC,UAAUL,QAAQ,KAAK,WAAW;AAExC,MAAMM,aAAa,CAACC;IAClB,IAAI;QACDf,CAAAA,GAAGgB,UAAU,IAAIhB,GAAGiB,QAAQ,AAAD,EAAGF;QAC/B,OAAO;IACT,EAAE,OAAOG,GAAG;QACV,OAAO;IACT;AACF;AAEA,MAAMC,UAAUlB,KAAK,CAACmB;IACpB,MAAM,EAAEC,IAAI,EAAEC,UAAU,EAAE,GAAGlB,eAAe,0BAA0BgB;IACtE,OAAON,WAAWhB,KAAKQ,IAAI,CAACgB,YAAY,MAAM,gBAAgBD,SAASD,SAASrB,QAAQ,qBAAqB;QAAEc;QAASU,WAAW;IAAK,GAAGlB,YAAYe;AACzJ;AAEAI,OAAOC,OAAO,GAAGvB,eAAe,CAACkB,QAAQM;IACvC,MAAM,EAAEL,IAAI,EAAEC,UAAU,EAAE,GAAGlB,eAAe,0BAA0BgB;IACtE,OAAON,WAAWhB,KAAKQ,IAAI,CAACgB,YAAY,MAAM,gBAAgBD,SAASK,aAAavB,gBAAgBiB,QAAQM;AAC9G;AACAF,OAAOC,OAAO,CAACE,IAAI,GAAG,CAACP,SAAWD,QAAQC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const resolve = require('resolve');
|
|
4
|
+
module.exports = function findDependency(identifier, target) {
|
|
5
|
+
const packagePath = resolve.sync(identifier);
|
|
6
|
+
const optionalDependencies = JSON.parse(fs.readFileSync(packagePath, 'utf8')).optionalDependencies;
|
|
7
|
+
const name = Object.keys(optionalDependencies).find((name)=>name.indexOf(target) >= 0);
|
|
8
|
+
return name ? {
|
|
9
|
+
name,
|
|
10
|
+
version: optionalDependencies[name],
|
|
11
|
+
modulePath: path.dirname(packagePath)
|
|
12
|
+
} : null;
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/findDependency.cjs"],"sourcesContent":["const path = require('path');\nconst fs = require('fs');\nconst resolve = require('resolve');\n\nmodule.exports = function findDependency(identifier, target) {\n const packagePath = resolve.sync(identifier);\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], modulePath: path.dirname(packagePath) } : null;\n};\n"],"names":["path","require","fs","resolve","module","exports","findDependency","identifier","target","packagePath","sync","optionalDependencies","JSON","parse","readFileSync","name","Object","keys","find","indexOf","version","modulePath","dirname"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AACrB,MAAMC,KAAKD,QAAQ;AACnB,MAAME,UAAUF,QAAQ;AAExBG,OAAOC,OAAO,GAAG,SAASC,eAAeC,UAAU,EAAEC,MAAM;IACzD,MAAMC,cAAcN,QAAQO,IAAI,CAACH;IACjC,MAAMI,uBAAuBC,KAAKC,KAAK,CAACX,GAAGY,YAAY,CAACL,aAAa,SAASE,oBAAoB;IAClG,MAAMI,OAAOC,OAAOC,IAAI,CAACN,sBAAsBO,IAAI,CAAC,CAACH,OAASA,KAAKI,OAAO,CAACX,WAAW;IACtF,OAAOO,OAAO;QAAEA;QAAMK,SAAST,oBAAoB,CAACI,KAAK;QAAEM,YAAYrB,KAAKsB,OAAO,CAACb;IAAa,IAAI;AACvG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
|
-
import { sync as ensureBindings } from './ensureBindings.
|
|
2
|
+
import { sync as ensureBindings } from './ensureBindings.cjs';
|
|
3
3
|
import Module from 'module';
|
|
4
4
|
import lazy from 'lazy-cache';
|
|
5
5
|
const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport { sync as ensureBindings } from './ensureBindings';\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 ensureBindings(`${process.platform}-${process.arch}`);\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 return {};\n }\n}\n"],"names":["path","sync","ensureBindings","Module","lazy","_require","require","createRequire","url","tsLazy","swcLazy","transpilerLazy","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,QAAQC,cAAc,QAAQ,
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/swcPrepareOptions.ts"],"sourcesContent":["import path from 'path';\nimport { sync as ensureBindings } from './ensureBindings.cjs';\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 ensureBindings(`${process.platform}-${process.arch}`);\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 return {};\n }\n}\n"],"names":["path","sync","ensureBindings","Module","lazy","_require","require","createRequire","url","tsLazy","swcLazy","transpilerLazy","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,QAAQC,cAAc,QAAQ,uBAAuB;AAE9D,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;IAChEX,eAAe,GAAGY,QAAQC,QAAQ,CAAC,CAAC,EAAED,QAAQE,IAAI,EAAE;IACpD,IAAI;QACF,MAAMC,KAAKR;QACX,MAAMS,MAAMR;QACZ,MAAMS,aAAaR;QACnB,MAAMS,SAASH,GAAGI,0BAA0B,CAACR,SAASS,MAAM,EAAEL,GAAGM,GAAG,EAAEvB,KAAKwB,OAAO,CAACX,SAASb,IAAI;QAChG,OAAOmB,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,7 +2,7 @@ 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.
|
|
5
|
+
import ensureBindings from './ensureBindings.cjs';
|
|
6
6
|
import patchCJS from '../lib/patchCJS.mjs';
|
|
7
7
|
import patchESM from '../lib/patchESM.mjs';
|
|
8
8
|
import swcPrepareOptions from '../lib/swcPrepareOptions.mjs';
|
|
@@ -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';\nimport ensureBindings from './ensureBindings';\n\nimport patchCJS from '../lib/patchCJS';\nimport patchESM from '../lib/patchESM';\nimport swcPrepareOptions from '../lib/swcPrepareOptions';\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\nexport default function transformFile(entry, dest, type, options, callback) {\n ensureBindings(`${process.platform}-${process.arch}`, (err) => {\n if (err) return callback(err);\n\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 = swcLazy();\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}\n"],"names":["fs","path","mkdirp","Queue","ensureBindings","patchCJS","patchESM","swcPrepareOptions","Module","lazy","_require","require","createRequire","url","swcLazy","transformFile","entry","dest","type","options","callback","process","platform","arch","err","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","catch"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,WAAW,WAAW;AAC7B,OAAOC,oBAAoB,
|
|
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';\nimport ensureBindings from './ensureBindings.cjs';\n\nimport patchCJS from '../lib/patchCJS';\nimport patchESM from '../lib/patchESM';\nimport swcPrepareOptions from '../lib/swcPrepareOptions';\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\nexport default function transformFile(entry, dest, type, options, callback) {\n ensureBindings(`${process.platform}-${process.arch}`, (err) => {\n if (err) return callback(err);\n\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 = swcLazy();\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}\n"],"names":["fs","path","mkdirp","Queue","ensureBindings","patchCJS","patchESM","swcPrepareOptions","Module","lazy","_require","require","createRequire","url","swcLazy","transformFile","entry","dest","type","options","callback","process","platform","arch","err","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","catch"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,WAAW,WAAW;AAC7B,OAAOC,oBAAoB,uBAAuB;AAElD,OAAOC,cAAc,kBAAkB;AACvC,OAAOC,cAAc,kBAAkB;AACvC,OAAOC,uBAAuB,2BAA2B;AAEzD,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,UAAUL,KAAKC,UAAU;AAE/B,eAAe,SAASK,cAAcC,KAAK,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACxEhB,eAAe,GAAGiB,QAAQC,QAAQ,CAAC,CAAC,EAAED,QAAQE,IAAI,EAAE,EAAE,CAACC;QACrD,IAAIA,KAAK,OAAOJ,SAASI;QAEzB,IAAIC,WAAWN,QAAQM,QAAQ;QAE/B,oBAAoB;QACpB,IAAIP,SAAS,OAAO;YAClBO,WAAW;gBAAE,GAAGA,QAAQ;YAAC;YACzBA,SAASC,MAAM,GAAG;gBAAE,GAAGD,SAASC,MAAM;YAAC;YACvCD,SAASC,MAAM,CAACC,eAAe,GAAG;gBAAE,GAAIF,SAASC,MAAM,CAACC,eAAe,IAAI,CAAC,CAAC;YAAE;YAC/EF,SAASC,MAAM,CAACC,eAAe,CAACC,MAAM,GAAG;YACzCH,SAASC,MAAM,CAACC,eAAe,CAACE,MAAM,GAAG;QAC3C;QAEA,MAAMC,aAAavB,kBAAkBkB;QACrC,MAAMM,MAAMjB;QAEZiB,IACGhB,aAAa,CAACC,MAAMgB,QAAQ,EAAE;YAC7B,GAAIhB,MAAMiB,QAAQ,CAACC,QAAQ,CAAC,WAAWlB,MAAMiB,QAAQ,CAACC,QAAQ,CAAC,UAAUJ,WAAWK,UAAU,GAAGL,WAAWM,aAAa;YACzHC,UAAUrB,MAAMiB,QAAQ;QAC1B,GACCK,IAAI,CAAC,CAACC;YACL,MAAMC,YAAYtB,SAAS,QAAQZ,SAASU,OAAOuB,QAAQpB,WAAWd,SAASW,OAAOuB,QAAQpB;YAC9F,MAAMsB,MAAMxC,KAAKyC,OAAO,CAAC1B,MAAMf,IAAI;YACnC,MAAM0C,UAAU1C,KAAK2C,IAAI,CAAC3B,MAAM,AAACwB,CAAAA,MAAMzB,MAAMf,IAAI,CAAC4C,KAAK,CAAC,GAAG,CAACJ,IAAIK,MAAM,IAAI9B,MAAMf,IAAI,AAAD,IAAKuC;YAExFtC,OAAOD,KAAK8C,OAAO,CAACJ,UAAU;gBAC5B,MAAMK,QAAQ,IAAI7C;gBAClB6C,MAAMC,KAAK,CAACjD,GAAGkD,SAAS,CAACC,IAAI,CAAC,MAAMR,SAASJ,OAAOa,IAAI,EAAE;gBAC1D,CAACjC,QAAQkC,UAAU,IAAIL,MAAMC,KAAK,CAACjD,GAAGkD,SAAS,CAACC,IAAI,CAAC,MAAM,GAAGR,QAAQ,IAAI,CAAC,EAAEJ,OAAOe,GAAG,EAAE;gBACzFN,MAAMO,KAAK,CAAC,CAAC/B,MAASA,MAAMJ,SAASI,OAAOJ,SAAS,MAAMuB;YAC7D;QACF,GACCa,KAAK,CAACpC;IACX;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport loadTsConfig from './loadTsConfig';\n\nconst major = +process.versions.node.split('.')[0];\nconst version = major < 14 ? 'stable' : 'local';\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst workerPath = path.join(__dirname, '..', 'cjs', 'workers', 'transformDirectory.cjs');\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst callLazy = lazy(_require)('node-version-call');\nconst workerLazy = lazy(_require)(workerPath);\n\nfunction dispatch(version, src, dest, type, options, callback) {\n if (version === 'local') return workerLazy()(src, dest, type, options, callback);\n try {\n callback(null, callLazy()({ version, callbacks: true }, workerPath, src, dest, type, options));\n } catch (err) {\n callback(err);\n }\n}\n\nimport type { ConfigOptions, TransformDirectoryCallback } from './types';\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write files to.\n * @param {string} type The type of transform ('esm' or 'cjs').\n * @param {{sourceMaps: boolean}} options Options to pass to swc.\n * @param {(err?: Error) =>} [callback] Optional callback. Uses promise if callback not provided.\n * @returns {void | Promise<any>} Optional promise if callback not provided.\n */\nexport default function transformDirectory(src: string, dest: string, type: string, options?: ConfigOptions | TransformDirectoryCallback, callback?: TransformDirectoryCallback): undefined | Promise<string[]> {\n try {\n if (typeof src !== 'string') throw new Error('transformDirectory: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformDirectory: unexpected destination directory');\n if (typeof type !== 'string') throw new Error('transformDirectory: unexpected type');\n\n if (typeof options === 'function') {\n callback = options as TransformDirectoryCallback;\n options = null;\n }\n options = options || {};\n const tsconfig = loadTsConfig({ cwd: src, ...options }, 'transformDirectory');\n options = { tsconfig, ...options };\n\n if (typeof callback === 'function') return dispatch(version, src, dest, type, options, callback) as undefined;\n return new Promise((resolve, reject) => dispatch(version, src, dest, type, options, (err, result) => (err ? reject(err) : resolve(result))));\n } catch (err) {\n if (callback) callback(err);\n else return Promise.reject(err);\n }\n}\n"],"names":["path","url","loadTsConfig","major","process","versions","node","split","version","__dirname","dirname","__filename","fileURLToPath","workerPath","join","Module","lazy","_require","require","createRequire","callLazy","workerLazy","dispatch","src","dest","type","options","callback","callbacks","err","transformDirectory","Error","tsconfig","cwd","Promise","resolve","reject","result"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AACtB,OAAOC,kBAAkB,iBAAiB;AAE1C,MAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,MAAMC,UAAUL,QAAQ,KAAK,WAAW;AACxC,MAAMM,YAAYT,KAAKU,OAAO,CAAC,OAAOC,eAAe,cAAcV,IAAIW,aAAa,CAAC,YAAYX,GAAG,IAAIU;AACxG,MAAME,aAAab,KAAKc,IAAI,CAACL,WAAW,MAAM,OAAO,WAAW;AAEhE,OAAOM,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYlB,GAAG,IAAIiB;AAC1F,MAAME,WAAWJ,KAAKC,UAAU;AAChC,MAAMI,aAAaL,KAAKC,UAAUJ;AAElC,SAASS,SAASd,OAAO,EAAEe,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC3D,IAAInB,YAAY,SAAS,OAAOa,aAAaE,KAAKC,MAAMC,MAAMC,SAASC;IACvE,IAAI;QACFA,SAAS,MAAMP,WAAW;YAAEZ;YAASoB,WAAW;QAAK,GAAGf,YAAYU,KAAKC,MAAMC,MAAMC;IACvF,EAAE,OAAOG,KAAK;QACZF,SAASE;IACX;AACF;AAGA;;;;;;;CAOC,GACD,eAAe,SAASC,mBAAmBP,GAAW,EAAEC,IAAY,EAAEC,IAAY,EAAEC,OAAoD,EAAEC,QAAqC;IAC7K,IAAI;QACF,IAAI,OAAOJ,QAAQ,UAAU,MAAM,IAAIQ,MAAM;QAC7C,IAAI,OAAOP,SAAS,UAAU,MAAM,IAAIO,MAAM;QAC9C,IAAI,OAAON,SAAS,UAAU,MAAM,IAAIM,MAAM;QAE9C,IAAI,OAAOL,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QACAA,UAAUA,WAAW,CAAC;QACtB,MAAMM,WAAW9B,aAAa;YAAE+B,KAAKV;YAAK,GAAGG,OAAO;QAAC,GAAG;QACxDA,UAAU;YAAEM;YAAU,GAAGN,OAAO;QAAC;QAEjC,IAAI,OAAOC,aAAa,YAAY,OAAOL,SAASd,SAASe,KAAKC,MAAMC,MAAMC,SAASC;QACvF,OAAO,IAAIO,QAAQ,CAACC,SAASC,SAAWd,SAASd,SAASe,KAAKC,MAAMC,MAAMC,SAAS,CAACG,KAAKQ,SAAYR,MAAMO,OAAOP,OAAOM,QAAQE;IACpI,EAAE,OAAOR,KAAK;QACZ,IAAIF,UAAUA,SAASE;aAClB,OAAOK,QAAQE,MAAM,CAACP;IAC7B;AACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const installModule = require('install-module-linked');
|
|
3
|
+
const findDependency = require('../lib/findDependency.cjs');
|
|
4
|
+
module.exports = function installBindings(target, callback) {
|
|
5
|
+
const { name, version, modulePath } = findDependency('@swc/core/package.json', target);
|
|
6
|
+
const nodeModules = path.join(modulePath, '..', 'node_modules');
|
|
7
|
+
const installString = version ? `${name}@${version}` : name;
|
|
8
|
+
installModule(installString, nodeModules, (err)=>{
|
|
9
|
+
console.log(`installed ${path.join(nodeModules, name)} ${!err ? 'successfully' : 'with errors: ${err.message}'}`);
|
|
10
|
+
callback(err);
|
|
11
|
+
});
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/installBindings.cjs"],"sourcesContent":["const path = require('path');\nconst installModule = require('install-module-linked');\nconst findDependency = require('../lib/findDependency.cjs');\n\nmodule.exports = function installBindings(target, callback) {\n const { name, version, modulePath } = findDependency('@swc/core/package.json', target);\n const nodeModules = path.join(modulePath, '..', 'node_modules');\n const installString = version ? `${name}@${version}` : name;\n\n installModule(installString, nodeModules, (err) => {\n console.log(`installed ${path.join(nodeModules, name)} ${!err ? 'successfully' : 'with errors: ${err.message}'}`);\n callback(err);\n });\n};\n"],"names":["path","require","installModule","findDependency","module","exports","installBindings","target","callback","name","version","modulePath","nodeModules","join","installString","err","console","log"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AACrB,MAAMC,gBAAgBD,QAAQ;AAC9B,MAAME,iBAAiBF,QAAQ;AAE/BG,OAAOC,OAAO,GAAG,SAASC,gBAAgBC,MAAM,EAAEC,QAAQ;IACxD,MAAM,EAAEC,IAAI,EAAEC,OAAO,EAAEC,UAAU,EAAE,GAAGR,eAAe,0BAA0BI;IAC/E,MAAMK,cAAcZ,KAAKa,IAAI,CAACF,YAAY,MAAM;IAChD,MAAMG,gBAAgBJ,UAAU,GAAGD,KAAK,CAAC,EAAEC,SAAS,GAAGD;IAEvDP,cAAcY,eAAeF,aAAa,CAACG;QACzCC,QAAQC,GAAG,CAAC,CAAC,UAAU,EAAEjB,KAAKa,IAAI,CAACD,aAAaH,MAAM,CAAC,EAAE,CAACM,MAAM,iBAAiB,+BAA+B;QAChHP,SAASO;IACX;AACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-swc-transform",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.7",
|
|
4
4
|
"description": "Typescript transformers for swc. Supports Node >= 0.8",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"matcher",
|
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
"exit": "^0.1.2",
|
|
49
49
|
"fs-iterator": "^5.2.10",
|
|
50
50
|
"get-tsconfig-compat": "^2.0.3",
|
|
51
|
-
"install-module-linked": "^1.1.
|
|
51
|
+
"install-module-linked": "^1.1.8",
|
|
52
52
|
"is-absolute": "^1.0.0",
|
|
53
53
|
"lazy-cache": "^2.0.2",
|
|
54
54
|
"minimatch": "^3.1.2",
|
|
55
55
|
"mkdirp-classic": "^0.5.3",
|
|
56
|
-
"node-version-call": "^1.6.
|
|
56
|
+
"node-version-call": "^1.6.6",
|
|
57
57
|
"path-posix": "^1.0.0",
|
|
58
58
|
"queue-cb": "^1.4.10",
|
|
59
59
|
"resolve": "^1.22.10",
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import resolveOnceMap from 'resolve-once-map-cb';
|
|
2
|
-
import installBindings, { isInstalled } from '../workers/installBindings.mjs';
|
|
3
|
-
import path from 'path';
|
|
4
|
-
import url from 'url';
|
|
5
|
-
import Module from 'module';
|
|
6
|
-
import lazy from 'lazy-cache';
|
|
7
|
-
const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
|
|
8
|
-
const __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);
|
|
9
|
-
const workerPath = path.join(__dirname, '..', '..', 'cjs', 'workers', 'installBindings.cjs');
|
|
10
|
-
const major = +process.versions.node.split('.')[0];
|
|
11
|
-
const version = major < 14 ? 'stable' : 'local';
|
|
12
|
-
const callLazy = lazy(_require)('node-version-call');
|
|
13
|
-
const install = lazy((target)=>{
|
|
14
|
-
return isInstalled(target) ? target : callLazy()({
|
|
15
|
-
version,
|
|
16
|
-
callbacks: true
|
|
17
|
-
}, workerPath, target);
|
|
18
|
-
});
|
|
19
|
-
export const sync = (target)=>install(target)();
|
|
20
|
-
export default resolveOnceMap((target, callback)=>{
|
|
21
|
-
return isInstalled(target) ? callback() : installBindings(target, callback);
|
|
22
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/ensureBindings.ts"],"sourcesContent":["import resolveOnceMap from 'resolve-once-map-cb';\nimport installBindings, { isInstalled } from '../workers/installBindings';\n\nimport path from 'path';\nimport url from 'url';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'workers', 'installBindings.cjs');\nconst major = +process.versions.node.split('.')[0];\nconst version = major < 14 ? 'stable' : 'local';\n\nconst callLazy = lazy(_require)('node-version-call');\nconst install = lazy((target) => {\n return isInstalled(target) ? target : callLazy()({ version, callbacks: true }, workerPath, target);\n});\n\nexport const sync = (target) => install(target)();\nexport default resolveOnceMap((target, callback) => {\n return isInstalled(target) ? callback() : installBindings(target, callback);\n});\n"],"names":["resolveOnceMap","installBindings","isInstalled","path","url","Module","lazy","_require","require","createRequire","__dirname","dirname","__filename","fileURLToPath","workerPath","join","major","process","versions","node","split","version","callLazy","install","target","callbacks","sync","callback"],"mappings":"AAAA,OAAOA,oBAAoB,sBAAsB;AACjD,OAAOC,mBAAmBC,WAAW,QAAQ,6BAA6B;AAE1E,OAAOC,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAEtB,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYL,GAAG,IAAII;AAC1F,MAAME,YAAYP,KAAKQ,OAAO,CAAC,OAAOC,eAAe,cAAcR,IAAIS,aAAa,CAAC,YAAYT,GAAG,IAAIQ;AACxG,MAAME,aAAaX,KAAKY,IAAI,CAACL,WAAW,MAAM,MAAM,OAAO,WAAW;AACtE,MAAMM,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,MAAMC,UAAUL,QAAQ,KAAK,WAAW;AAExC,MAAMM,WAAWhB,KAAKC,UAAU;AAChC,MAAMgB,UAAUjB,KAAK,CAACkB;IACpB,OAAOtB,YAAYsB,UAAUA,SAASF,WAAW;QAAED;QAASI,WAAW;IAAK,GAAGX,YAAYU;AAC7F;AAEA,OAAO,MAAME,OAAO,CAACF,SAAWD,QAAQC,UAAU;AAClD,eAAexB,eAAe,CAACwB,QAAQG;IACrC,OAAOzB,YAAYsB,UAAUG,aAAa1B,gBAAgBuB,QAAQG;AACpE,GAAG"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import installModule from 'install-module-linked';
|
|
4
|
-
import resolve from 'resolve';
|
|
5
|
-
export function getDependencyInfo(target) {
|
|
6
|
-
const packagePath = resolve.sync('@swc/core/package.json');
|
|
7
|
-
const nodeModules = path.dirname(path.dirname(path.dirname(packagePath)));
|
|
8
|
-
const optionalDependencies = JSON.parse(fs.readFileSync(packagePath, 'utf8')).optionalDependencies;
|
|
9
|
-
const name = Object.keys(optionalDependencies).find((name)=>name.indexOf(target) >= 0);
|
|
10
|
-
return {
|
|
11
|
-
name,
|
|
12
|
-
version: optionalDependencies[name],
|
|
13
|
-
nodeModules
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export function isInstalled(target) {
|
|
17
|
-
const { name, nodeModules } = getDependencyInfo(target);
|
|
18
|
-
try {
|
|
19
|
-
fs.statSync(path.join(nodeModules, name));
|
|
20
|
-
return true;
|
|
21
|
-
} catch (_err) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
export default function installBindings(target, callback) {
|
|
26
|
-
const { name, version, nodeModules } = getDependencyInfo(target);
|
|
27
|
-
const installString = version ? `${name}@${version}` : name;
|
|
28
|
-
installModule(installString, nodeModules, (err)=>{
|
|
29
|
-
console.log(`installed ${path.join(nodeModules, name)} ${!err ? 'successfully' : 'with errors: ${err.message}'}`);
|
|
30
|
-
callback(err);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/installBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport installModule from 'install-module-linked';\nimport resolve from 'resolve';\n\nexport function getDependencyInfo(target) {\n const packagePath = resolve.sync('@swc/core/package.json');\n const nodeModules = path.dirname(path.dirname(path.dirname(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, version: optionalDependencies[name], nodeModules };\n}\n\nexport function isInstalled(target) {\n const { name, nodeModules } = getDependencyInfo(target);\n try {\n fs.statSync(path.join(nodeModules, name));\n return true;\n } catch (_err) {\n return false;\n }\n}\n\nexport default function installBindings(target, callback) {\n const { name, version, nodeModules } = getDependencyInfo(target);\n const installString = version ? `${name}@${version}` : name;\n\n installModule(installString, nodeModules, (err) => {\n console.log(`installed ${path.join(nodeModules, name)} ${!err ? 'successfully' : 'with errors: ${err.message}'}`);\n callback(err);\n });\n}\n"],"names":["fs","path","installModule","resolve","getDependencyInfo","target","packagePath","sync","nodeModules","dirname","optionalDependencies","JSON","parse","readFileSync","name","Object","keys","find","indexOf","version","isInstalled","statSync","join","_err","installBindings","callback","installString","err","console","log"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,mBAAmB,wBAAwB;AAClD,OAAOC,aAAa,UAAU;AAE9B,OAAO,SAASC,kBAAkBC,MAAM;IACtC,MAAMC,cAAcH,QAAQI,IAAI,CAAC;IACjC,MAAMC,cAAcP,KAAKQ,OAAO,CAACR,KAAKQ,OAAO,CAACR,KAAKQ,OAAO,CAACH;IAC3D,MAAMI,uBAAuBC,KAAKC,KAAK,CAACZ,GAAGa,YAAY,CAACP,aAAa,SAASI,oBAAoB;IAClG,MAAMI,OAAOC,OAAOC,IAAI,CAACN,sBAAsBO,IAAI,CAAC,CAACH,OAASA,KAAKI,OAAO,CAACb,WAAW;IACtF,OAAO;QAAES;QAAMK,SAAST,oBAAoB,CAACI,KAAK;QAAEN;IAAY;AAClE;AAEA,OAAO,SAASY,YAAYf,MAAM;IAChC,MAAM,EAAES,IAAI,EAAEN,WAAW,EAAE,GAAGJ,kBAAkBC;IAChD,IAAI;QACFL,GAAGqB,QAAQ,CAACpB,KAAKqB,IAAI,CAACd,aAAaM;QACnC,OAAO;IACT,EAAE,OAAOS,MAAM;QACb,OAAO;IACT;AACF;AAEA,eAAe,SAASC,gBAAgBnB,MAAM,EAAEoB,QAAQ;IACtD,MAAM,EAAEX,IAAI,EAAEK,OAAO,EAAEX,WAAW,EAAE,GAAGJ,kBAAkBC;IACzD,MAAMqB,gBAAgBP,UAAU,GAAGL,KAAK,CAAC,EAAEK,SAAS,GAAGL;IAEvDZ,cAAcwB,eAAelB,aAAa,CAACmB;QACzCC,QAAQC,GAAG,CAAC,CAAC,UAAU,EAAE5B,KAAKqB,IAAI,CAACd,aAAaM,MAAM,CAAC,EAAE,CAACa,MAAM,iBAAiB,+BAA+B;QAChHF,SAASE;IACX;AACF"}
|