ts-swc-transform 1.3.4 → 1.4.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/index.js.map +1 -1
- package/dist/cjs/lib/existsSync.js +18 -4
- package/dist/cjs/lib/existsSync.js.map +1 -1
- package/dist/cjs/lib/installBindings.js +133 -20
- package/dist/cjs/lib/installBindings.js.map +1 -1
- package/dist/cjs/lib/loadSWC.js +24 -0
- package/dist/cjs/lib/loadSWC.js.map +1 -0
- package/dist/cjs/lib/packageRoot.js +23 -0
- package/dist/cjs/lib/packageRoot.js.map +1 -0
- package/dist/cjs/transformSync.js +9 -4
- package/dist/cjs/transformSync.js.map +1 -1
- package/dist/cjs/workers/transformSync.js +76 -24
- package/dist/cjs/workers/transformSync.js.map +1 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/lib/{existsSync.cjs → existsSync.mjs} +3 -3
- package/dist/esm/lib/existsSync.mjs.map +1 -0
- package/dist/esm/lib/installBindings.mjs +56 -0
- package/dist/esm/lib/installBindings.mjs.map +1 -0
- package/dist/esm/lib/loadSWC.mjs +9 -0
- package/dist/esm/lib/loadSWC.mjs.map +1 -0
- package/dist/esm/lib/packageRoot.mjs +7 -0
- package/dist/esm/lib/packageRoot.mjs.map +1 -0
- package/dist/esm/transformSync.mjs +9 -4
- package/dist/esm/transformSync.mjs.map +1 -1
- package/dist/esm/workers/transformSync.mjs +26 -0
- package/dist/esm/workers/transformSync.mjs.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/lib/existsSync.d.ts +1 -0
- package/dist/types/lib/installBindings.d.ts +1 -0
- package/dist/types/lib/loadSWC.d.ts +1 -0
- package/dist/types/lib/packageRoot.d.ts +1 -0
- package/dist/types/workers/transformSync.d.ts +2 -0
- package/package.json +6 -6
- package/dist/cjs/workers/installBinding.js +0 -73
- package/dist/cjs/workers/installBinding.js.map +0 -1
- package/dist/esm/lib/existsSync.cjs.map +0 -1
- package/dist/esm/lib/installBindings.cjs +0 -22
- package/dist/esm/lib/installBindings.cjs.map +0 -1
- package/dist/esm/workers/installBinding.cjs +0 -46
- package/dist/esm/workers/installBinding.cjs.map +0 -1
- package/dist/esm/workers/transformSync.cjs +0 -28
- package/dist/esm/workers/transformSync.cjs.map +0 -1
- package/dist/types/lib/existsSync.d.cts +0 -1
- package/dist/types/lib/installBindings.d.cts +0 -1
- package/dist/types/workers/installBinding.d.cts +0 -1
- package/dist/types/workers/transformSync.d.cts +0 -1
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"sourcesContent":["export type
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export type * from './types.js';\nexport { default as createMatcher } from './createMatcher.js';\nexport { default as extensions } from './extensions.js';\nexport { default as resolveFileSync } from './resolveFileSync.js';\nexport { default as toPath } from './toPath.js';\nexport { default as transformFile } from './transformFile.js';\nexport { default as transformDirectory } from './transformDirectory.js';\nexport { default as transformSync } from './transformSync.js';\n"],"names":["createMatcher","extensions","resolveFileSync","toPath","transformDirectory","transformFile","transformSync"],"mappings":";;;;;;;;;;;IACoBA,aAAa;eAAbA,sBAAa;;IACbC,UAAU;eAAVA,mBAAU;;IACVC,eAAe;eAAfA,wBAAe;;IACfC,MAAM;eAANA,eAAM;;IAENC,kBAAkB;eAAlBA,2BAAkB;;IADlBC,aAAa;eAAbA,sBAAa;;IAEbC,aAAa;eAAbA,sBAAa;;;oEANQ;iEACH;sEACK;6DACT;oEACO;yEACK;oEACL"}
|
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return existsSync;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _fsaccesssynccompat = /*#__PURE__*/ _interop_require_default(require("fs-access-sync-compat"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function existsSync(path) {
|
|
4
18
|
try {
|
|
5
|
-
|
|
19
|
+
(0, _fsaccesssynccompat.default)(path);
|
|
6
20
|
return true;
|
|
7
21
|
} catch (_) {
|
|
8
22
|
return false;
|
|
9
23
|
}
|
|
10
|
-
}
|
|
24
|
+
}
|
|
11
25
|
/* 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":["existsSync.
|
|
1
|
+
{"version":3,"sources":["existsSync.ts"],"sourcesContent":["import accessSync from 'fs-access-sync-compat';\n\nexport default function existsSync(path) {\n try {\n accessSync(path);\n return true;\n } catch (_) {\n return false;\n }\n}\n"],"names":["existsSync","path","accessSync","_"],"mappings":";;;;+BAEA;;;eAAwBA;;;yEAFD;;;;;;AAER,SAASA,WAAWC,IAAI;IACrC,IAAI;QACFC,IAAAA,2BAAU,EAACD;QACX,OAAO;IACT,EAAE,OAAOE,GAAG;QACV,OAAO;IACT;AACF"}
|
|
@@ -1,24 +1,137 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var installDir = path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json'))));
|
|
10
|
-
var optionalDependencies = require('@swc/core/package.json').optionalDependencies;
|
|
11
|
-
var depKey = "".concat(process.platform, "-").concat(process.arch);
|
|
12
|
-
for(var key in optionalDependencies){
|
|
13
|
-
var depPath = path.join(installDir, key);
|
|
14
|
-
if (key.indexOf(depKey) < 0 || existsSync(depPath)) continue;
|
|
15
|
-
try {
|
|
16
|
-
call()({
|
|
17
|
-
version: version,
|
|
18
|
-
callbacks: true
|
|
19
|
-
}, worker, key, optionalDependencies[key]);
|
|
20
|
-
} catch (err) {
|
|
21
|
-
console.log("Failed to install ".concat(key, "@").concat(optionalDependencies[key], ". Error: ").concat(err.message));
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return installBindings;
|
|
22
9
|
}
|
|
10
|
+
});
|
|
11
|
+
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
|
+
var _os = /*#__PURE__*/ _interop_require_default(require("os"));
|
|
13
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
14
|
+
var _calloncefn = /*#__PURE__*/ _interop_require_default(require("call-once-fn"));
|
|
15
|
+
var _crossspawncb = /*#__PURE__*/ _interop_require_default(require("cross-spawn-cb"));
|
|
16
|
+
var _mkdirp = /*#__PURE__*/ _interop_require_default(require("mkdirp"));
|
|
17
|
+
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
18
|
+
var _resolve = /*#__PURE__*/ _interop_require_default(require("resolve"));
|
|
19
|
+
var _rimraf2 = /*#__PURE__*/ _interop_require_default(require("rimraf2"));
|
|
20
|
+
var _tempsuffix = /*#__PURE__*/ _interop_require_default(require("temp-suffix"));
|
|
21
|
+
var _existsSync = /*#__PURE__*/ _interop_require_default(require("./existsSync.js"));
|
|
22
|
+
var _processcjs = /*#__PURE__*/ _interop_require_default(require("./process.js"));
|
|
23
|
+
function _array_like_to_array(arr, len) {
|
|
24
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
25
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
26
|
+
return arr2;
|
|
27
|
+
}
|
|
28
|
+
function _array_without_holes(arr) {
|
|
29
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
30
|
+
}
|
|
31
|
+
function _interop_require_default(obj) {
|
|
32
|
+
return obj && obj.__esModule ? obj : {
|
|
33
|
+
default: obj
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function _iterable_to_array(iter) {
|
|
37
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
38
|
+
}
|
|
39
|
+
function _non_iterable_spread() {
|
|
40
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
41
|
+
}
|
|
42
|
+
function _object_without_properties(source, excluded) {
|
|
43
|
+
if (source == null) return {};
|
|
44
|
+
var target = _object_without_properties_loose(source, excluded);
|
|
45
|
+
var key, i;
|
|
46
|
+
if (Object.getOwnPropertySymbols) {
|
|
47
|
+
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
|
|
48
|
+
for(i = 0; i < sourceSymbolKeys.length; i++){
|
|
49
|
+
key = sourceSymbolKeys[i];
|
|
50
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
51
|
+
if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
|
|
52
|
+
target[key] = source[key];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return target;
|
|
56
|
+
}
|
|
57
|
+
function _object_without_properties_loose(source, excluded) {
|
|
58
|
+
if (source == null) return {};
|
|
59
|
+
var target = {};
|
|
60
|
+
var sourceKeys = Object.keys(source);
|
|
61
|
+
var key, i;
|
|
62
|
+
for(i = 0; i < sourceKeys.length; i++){
|
|
63
|
+
key = sourceKeys[i];
|
|
64
|
+
if (excluded.indexOf(key) >= 0) continue;
|
|
65
|
+
target[key] = source[key];
|
|
66
|
+
}
|
|
67
|
+
return target;
|
|
68
|
+
}
|
|
69
|
+
function _to_consumable_array(arr) {
|
|
70
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
71
|
+
}
|
|
72
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
73
|
+
if (!o) return;
|
|
74
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
75
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
76
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
77
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
78
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
79
|
+
}
|
|
80
|
+
var swcDir = _path.default.dirname(_path.default.dirname(_resolve.default.sync('@swc/core/package.json')));
|
|
81
|
+
var optionalDependencies = JSON.parse(_fs.default.readFileSync(_path.default.join(swcDir, 'core', 'package.json'), 'utf8')).optionalDependencies;
|
|
82
|
+
var installDir = _path.default.dirname(swcDir);
|
|
83
|
+
function installBindings(callback) {
|
|
84
|
+
var depKey = "".concat(_processcjs.default.platform, "-").concat(_processcjs.default.arch);
|
|
85
|
+
var queue = new _queuecb.default();
|
|
86
|
+
Object.keys(optionalDependencies).filter(function(key) {
|
|
87
|
+
return key.indexOf(depKey) >= 0;
|
|
88
|
+
}).filter(function(key) {
|
|
89
|
+
return !(0, _existsSync.default)(_path.default.join(installDir, key));
|
|
90
|
+
}).map(function(name) {
|
|
91
|
+
queue.defer(function(callback) {
|
|
92
|
+
var install = {
|
|
93
|
+
name: name,
|
|
94
|
+
version: optionalDependencies[name]
|
|
95
|
+
};
|
|
96
|
+
var _process_env = _processcjs.default.env, NODE_OPTIONS = _process_env.NODE_OPTIONS, env = _object_without_properties(_process_env, [
|
|
97
|
+
"NODE_OPTIONS"
|
|
98
|
+
]);
|
|
99
|
+
var installString = "".concat(install.name).concat(install.version ? "@".concat(install.version) : '');
|
|
100
|
+
var installParts = install.name.split('/');
|
|
101
|
+
callback = (0, _calloncefn.default)(callback);
|
|
102
|
+
try {
|
|
103
|
+
var _path1, _path2;
|
|
104
|
+
var tmp = _path.default.join(_os.default.tmpdir(), 'ts-swc-transform', (0, _tempsuffix.default)());
|
|
105
|
+
var source = (_path1 = _path.default).join.apply(_path1, [
|
|
106
|
+
tmp,
|
|
107
|
+
'node_modules'
|
|
108
|
+
].concat(_to_consumable_array(installParts)));
|
|
109
|
+
var dest = (_path2 = _path.default).join.apply(_path2, [
|
|
110
|
+
_path.default.dirname(_path.default.dirname(_path.default.dirname(require.resolve('@swc/core/package.json'))))
|
|
111
|
+
].concat(_to_consumable_array(installParts)));
|
|
112
|
+
var queue = new _queuecb.default(1);
|
|
113
|
+
queue.defer(_mkdirp.default.bind(null, tmp));
|
|
114
|
+
queue.defer(_fs.default.writeFile.bind(null, _path.default.join(tmp, 'package.json'), '{}', 'utf8'));
|
|
115
|
+
queue.defer(_crossspawncb.default.bind(null, 'npm', [
|
|
116
|
+
'install',
|
|
117
|
+
installString
|
|
118
|
+
], {
|
|
119
|
+
cwd: tmp,
|
|
120
|
+
env: env
|
|
121
|
+
}));
|
|
122
|
+
queue.defer(_fs.default.rename.bind(null, source, dest));
|
|
123
|
+
queue.await(function(err) {
|
|
124
|
+
(0, _rimraf2.default)(tmp, {
|
|
125
|
+
disableGlob: true
|
|
126
|
+
}, function() {
|
|
127
|
+
return callback(err);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
} catch (err) {
|
|
131
|
+
return callback(err);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
queue.await(callback);
|
|
23
136
|
}
|
|
24
137
|
/* 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":["installBindings.
|
|
1
|
+
{"version":3,"sources":["installBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport spawn from 'cross-spawn-cb';\nimport mkdirp from 'mkdirp';\nimport Queue from 'queue-cb';\nimport resolve from 'resolve';\nimport rimraf2 from 'rimraf2';\nimport tempSuffix from 'temp-suffix';\nimport existsSync from './existsSync.js';\n// @ts-ignore\nimport process from './process.cjs';\n\nconst swcDir = path.dirname(path.dirname(resolve.sync('@swc/core/package.json')));\nconst { optionalDependencies } = JSON.parse(fs.readFileSync(path.join(swcDir, 'core', 'package.json'), 'utf8'));\nconst installDir = path.dirname(swcDir);\n\nexport default function installBindings(callback) {\n const depKey = `${process.platform}-${process.arch}`;\n\n const queue = new Queue();\n Object.keys(optionalDependencies)\n .filter((key) => key.indexOf(depKey) >= 0)\n .filter((key) => !existsSync(path.join(installDir, key)))\n .map((name) => {\n queue.defer((callback) => {\n const install = { name, version: optionalDependencies[name] };\n const { NODE_OPTIONS, ...env } = process.env;\n const installString = `${install.name}${install.version ? `@${install.version}` : ''}`;\n const installParts = install.name.split('/');\n callback = once(callback);\n try {\n const tmp = path.join(os.tmpdir(), 'ts-swc-transform', tempSuffix());\n const source = path.join(tmp, 'node_modules', ...installParts);\n const dest = path.join(path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json')))), ...installParts);\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, tmp));\n queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));\n queue.defer(spawn.bind(null, 'npm', ['install', installString], { cwd: tmp, env }));\n queue.defer(fs.rename.bind(null, source, dest));\n queue.await((err) => {\n rimraf2(tmp, { disableGlob: true }, () => callback(err));\n });\n } catch (err) {\n return callback(err);\n }\n });\n });\n queue.await(callback);\n}\n"],"names":["installBindings","swcDir","path","dirname","resolve","sync","optionalDependencies","JSON","parse","fs","readFileSync","join","installDir","callback","depKey","process","platform","arch","queue","Queue","Object","keys","filter","key","indexOf","existsSync","map","name","defer","install","version","env","NODE_OPTIONS","installString","installParts","split","once","tmp","os","tmpdir","tempSuffix","source","dest","require","mkdirp","bind","writeFile","spawn","cwd","rename","await","err","rimraf2","disableGlob"],"mappings":";;;;+BAkBA;;;eAAwBA;;;yDAlBT;yDACA;2DACE;iEACA;mEACC;6DACC;8DACD;8DACE;8DACA;iEACG;iEACA;iEAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEpB,IAAMC,SAASC,aAAI,CAACC,OAAO,CAACD,aAAI,CAACC,OAAO,CAACC,gBAAO,CAACC,IAAI,CAAC;AACtD,IAAM,AAAEC,uBAAyBC,KAAKC,KAAK,CAACC,WAAE,CAACC,YAAY,CAACR,aAAI,CAACS,IAAI,CAACV,QAAQ,QAAQ,iBAAiB,SAA/FK;AACR,IAAMM,aAAaV,aAAI,CAACC,OAAO,CAACF;AAEjB,SAASD,gBAAgBa,QAAQ;IAC9C,IAAMC,SAAS,AAAC,GAAsBC,OAApBA,mBAAO,CAACC,QAAQ,EAAC,KAAgB,OAAbD,mBAAO,CAACE,IAAI;IAElD,IAAMC,QAAQ,IAAIC,gBAAK;IACvBC,OAAOC,IAAI,CAACf,sBACTgB,MAAM,CAAC,SAACC;eAAQA,IAAIC,OAAO,CAACV,WAAW;OACvCQ,MAAM,CAAC,SAACC;eAAQ,CAACE,IAAAA,mBAAU,EAACvB,aAAI,CAACS,IAAI,CAACC,YAAYW;OAClDG,GAAG,CAAC,SAACC;QACJT,MAAMU,KAAK,CAAC,SAACf;YACX,IAAMgB,UAAU;gBAAEF,MAAAA;gBAAMG,SAASxB,oBAAoB,CAACqB,KAAK;YAAC;YAC5D,IAAiCZ,eAAAA,mBAAO,CAACgB,GAAG,EAAtC,AAAEC,eAAyBjB,aAAzBiB,cAAiBD,iCAAQhB;gBAAzBiB;;YACR,IAAMC,gBAAgB,AAAC,GAAiBJ,OAAfA,QAAQF,IAAI,EAAgD,OAA7CE,QAAQC,OAAO,GAAG,AAAC,IAAmB,OAAhBD,QAAQC,OAAO,IAAK;YAClF,IAAMI,eAAeL,QAAQF,IAAI,CAACQ,KAAK,CAAC;YACxCtB,WAAWuB,IAAAA,mBAAI,EAACvB;YAChB,IAAI;oBAEaX,QACFA;gBAFb,IAAMmC,MAAMnC,aAAI,CAACS,IAAI,CAAC2B,WAAE,CAACC,MAAM,IAAI,oBAAoBC,IAAAA,mBAAU;gBACjE,IAAMC,SAASvC,CAAAA,SAAAA,aAAI,EAACS,IAAI,OAATT,QAAAA;oBAAUmC;oBAAK;iBAAgC,CAA/CnC,OAA+B,qBAAGgC;gBACjD,IAAMQ,OAAOxC,CAAAA,SAAAA,aAAI,EAACS,IAAI,OAATT,QAAAA;oBAAUA,aAAI,CAACC,OAAO,CAACD,aAAI,CAACC,OAAO,CAACD,aAAI,CAACC,OAAO,CAACwC,QAAQvC,OAAO,CAAC;iBAA8C,CAA/GF,OAA+F,qBAAGgC;gBAE/G,IAAMhB,QAAQ,IAAIC,gBAAK,CAAC;gBACxBD,MAAMU,KAAK,CAACgB,eAAM,CAACC,IAAI,CAAC,MAAMR;gBAC9BnB,MAAMU,KAAK,CAACnB,WAAE,CAACqC,SAAS,CAACD,IAAI,CAAC,MAAM3C,aAAI,CAACS,IAAI,CAAC0B,KAAK,iBAAiB,MAAM;gBAC1EnB,MAAMU,KAAK,CAACmB,qBAAK,CAACF,IAAI,CAAC,MAAM,OAAO;oBAAC;oBAAWZ;iBAAc,EAAE;oBAAEe,KAAKX;oBAAKN,KAAAA;gBAAI;gBAChFb,MAAMU,KAAK,CAACnB,WAAE,CAACwC,MAAM,CAACJ,IAAI,CAAC,MAAMJ,QAAQC;gBACzCxB,MAAMgC,KAAK,CAAC,SAACC;oBACXC,IAAAA,gBAAO,EAACf,KAAK;wBAAEgB,aAAa;oBAAK,GAAG;+BAAMxC,SAASsC;;gBACrD;YACF,EAAE,OAAOA,KAAK;gBACZ,OAAOtC,SAASsC;YAClB;QACF;IACF;IACFjC,MAAMgC,KAAK,CAACrC;AACd"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return loadSWC;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _installBindings = /*#__PURE__*/ _interop_require_default(require("./installBindings.js"));
|
|
12
|
+
var _lazycjs = /*#__PURE__*/ _interop_require_default(require("./lazy.js"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
var swc = (0, _lazycjs.default)('@swc/core');
|
|
19
|
+
function loadSWC(callback) {
|
|
20
|
+
(0, _installBindings.default)(function(err) {
|
|
21
|
+
err ? callback(err) : callback(null, swc());
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/* 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":["loadSWC.ts"],"sourcesContent":["import installBindings from './installBindings.js';\n// @ts-ignore\nimport lazy from './lazy.cjs';\nconst swc = lazy('@swc/core');\n\nexport default function loadSWC(callback) {\n installBindings((err) => {\n err ? callback(err) : callback(null, swc());\n });\n}\n"],"names":["loadSWC","swc","lazy","callback","installBindings","err"],"mappings":";;;;+BAKA;;;eAAwBA;;;sEALI;8DAEX;;;;;;AACjB,IAAMC,MAAMC,IAAAA,gBAAI,EAAC;AAEF,SAASF,QAAQG,QAAQ;IACtCC,IAAAA,wBAAe,EAAC,SAACC;QACfA,MAAMF,SAASE,OAAOF,SAAS,MAAMF;IACvC;AACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return packageRoot;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function packageRoot(dir, packageName) {
|
|
18
|
+
if (_path.default.basename(dir) === packageName) return dir;
|
|
19
|
+
var nextDir = _path.default.dirname(dir);
|
|
20
|
+
if (nextDir === dir) throw new Error("".concat(packageName, " not found"));
|
|
21
|
+
return packageRoot(nextDir, packageName);
|
|
22
|
+
}
|
|
23
|
+
/* 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":["packageRoot.ts"],"sourcesContent":["import path from 'path';\n\nexport default function packageRoot(dir, packageName) {\n if (path.basename(dir) === packageName) return dir;\n const nextDir = path.dirname(dir);\n if (nextDir === dir) throw new Error(`${packageName} not found`);\n return packageRoot(nextDir, packageName);\n}\n"],"names":["packageRoot","dir","packageName","path","basename","nextDir","dirname","Error"],"mappings":";;;;+BAEA;;;eAAwBA;;;2DAFP;;;;;;AAEF,SAASA,YAAYC,GAAG,EAAEC,WAAW;IAClD,IAAIC,aAAI,CAACC,QAAQ,CAACH,SAASC,aAAa,OAAOD;IAC/C,IAAMI,UAAUF,aAAI,CAACG,OAAO,CAACL;IAC7B,IAAII,YAAYJ,KAAK,MAAM,IAAIM,MAAM,AAAC,GAAc,OAAZL,aAAY;IACpD,OAAOF,YAAYK,SAASH;AAC9B"}
|
|
@@ -15,18 +15,23 @@ Object.defineProperty(exports, /**
|
|
|
15
15
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
16
16
|
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
17
17
|
var _lazycjs = /*#__PURE__*/ _interop_require_default(require("./lib/lazy.js"));
|
|
18
|
+
var _packageRoot = /*#__PURE__*/ _interop_require_default(require("./lib/packageRoot.js"));
|
|
18
19
|
var _processcjs = /*#__PURE__*/ _interop_require_default(require("./lib/process.js"));
|
|
19
20
|
function _interop_require_default(obj) {
|
|
20
21
|
return obj && obj.__esModule ? obj : {
|
|
21
22
|
default: obj
|
|
22
23
|
};
|
|
23
24
|
}
|
|
25
|
+
var __dirname = _path.default.dirname(typeof __filename !== 'undefined' ? __filename : _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()));
|
|
24
26
|
var major = +_processcjs.default.versions.node.split('.')[0];
|
|
25
|
-
var version = major
|
|
26
|
-
var
|
|
27
|
-
var worker = _path.default.resolve(
|
|
27
|
+
var version = major < 14 ? '14' : 'local';
|
|
28
|
+
var root = (0, _packageRoot.default)(__dirname, 'ts-swc-transform');
|
|
29
|
+
var worker = _path.default.resolve(root, 'dist', 'cjs', 'workers', 'transformSync.js');
|
|
28
30
|
var call = (0, _lazycjs.default)('node-version-call');
|
|
29
31
|
function transformSync(contents, fileName, config) {
|
|
30
|
-
return call()(
|
|
32
|
+
return call()({
|
|
33
|
+
version: version,
|
|
34
|
+
callbacks: true
|
|
35
|
+
}, worker, contents, fileName, config);
|
|
31
36
|
}
|
|
32
37
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\n// @ts-ignore\nimport process from './lib/process.cjs';\n\nconst major = +process.versions.node.split('.')[0];\nconst version = major
|
|
1
|
+
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\nimport packageRoot from './lib/packageRoot.js';\n// @ts-ignore\nimport process from './lib/process.cjs';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst major = +process.versions.node.split('.')[0];\nconst version = major < 14 ? '14' : 'local';\nconst root = packageRoot(__dirname, 'ts-swc-transform');\nconst worker = path.resolve(root, 'dist', 'cjs', 'workers', 'transformSync.js');\nconst call = lazy('node-version-call');\n\n/**\n * @param {string} contents The file contents.\n * @param {string} fileName The filename.\n * @returns {{ code: string, map?: string }} Returns object with the transformed code and source map if option sourceMaps was provided.\n */\nexport default function transformSync(contents, fileName, config) {\n return call()({ version, callbacks: true }, worker, contents, fileName, config);\n}\n"],"names":["transformSync","__dirname","path","dirname","__filename","url","fileURLToPath","major","process","versions","node","split","version","root","packageRoot","worker","resolve","call","lazy","contents","fileName","config","callbacks"],"mappings":";;;;+BAgBA;;;;CAIC,GACD;;;eAAwBA;;;2DArBP;0DACD;8DAGC;kEACO;iEAEJ;;;;;;AAEpB,IAAMC,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaC,YAAG,CAACC,aAAa,CAAC;AAClG,IAAMC,QAAQ,CAACC,mBAAO,CAACC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,IAAMC,UAAUL,QAAQ,KAAK,OAAO;AACpC,IAAMM,OAAOC,IAAAA,oBAAW,EAACb,WAAW;AACpC,IAAMc,SAASb,aAAI,CAACc,OAAO,CAACH,MAAM,QAAQ,OAAO,WAAW;AAC5D,IAAMI,OAAOC,IAAAA,gBAAI,EAAC;AAOH,SAASlB,cAAcmB,QAAQ,EAAEC,QAAQ,EAAEC,MAAM;IAC9D,OAAOJ,OAAO;QAAEL,SAAAA;QAASU,WAAW;IAAK,GAAGP,QAAQI,UAAUC,UAAUC;AAC1E"}
|
|
@@ -1,30 +1,82 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return transformSync;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
|
+
var _swc = /*#__PURE__*/ _interop_require_wildcard(require("ts-node/transpilers/swc"));
|
|
13
|
+
var _typescript = /*#__PURE__*/ _interop_require_wildcard(require("typescript"));
|
|
14
|
+
var _loadSWC = /*#__PURE__*/ _interop_require_default(require("../lib/loadSWC.js"));
|
|
15
|
+
function _interop_require_default(obj) {
|
|
16
|
+
return obj && obj.__esModule ? obj : {
|
|
17
|
+
default: obj
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
21
|
+
if (typeof WeakMap !== "function") return null;
|
|
22
|
+
var cacheBabelInterop = new WeakMap();
|
|
23
|
+
var cacheNodeInterop = new WeakMap();
|
|
24
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
25
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
26
|
+
})(nodeInterop);
|
|
9
27
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
28
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
29
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
30
|
+
return obj;
|
|
31
|
+
}
|
|
32
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
33
|
+
return {
|
|
34
|
+
default: obj
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
38
|
+
if (cache && cache.has(obj)) {
|
|
39
|
+
return cache.get(obj);
|
|
40
|
+
}
|
|
41
|
+
var newObj = {
|
|
42
|
+
__proto__: null
|
|
43
|
+
};
|
|
44
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
45
|
+
for(var key in obj){
|
|
46
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
47
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
48
|
+
if (desc && (desc.get || desc.set)) {
|
|
49
|
+
Object.defineProperty(newObj, key, desc);
|
|
50
|
+
} else {
|
|
51
|
+
newObj[key] = obj[key];
|
|
19
52
|
}
|
|
20
53
|
}
|
|
54
|
+
}
|
|
55
|
+
newObj.default = obj;
|
|
56
|
+
if (cache) {
|
|
57
|
+
cache.set(obj, newObj);
|
|
58
|
+
}
|
|
59
|
+
return newObj;
|
|
60
|
+
}
|
|
61
|
+
function transformSync(contents, fileName, config, callback) {
|
|
62
|
+
(0, _loadSWC.default)(function(err, swc) {
|
|
63
|
+
if (err) return callback(err);
|
|
64
|
+
var parsed = _typescript.parseJsonConfigFileContent(config.config, _typescript.sys, _path.default.dirname(config.path));
|
|
65
|
+
var transpile = _swc.create({
|
|
66
|
+
swc: swc,
|
|
67
|
+
service: {
|
|
68
|
+
config: {
|
|
69
|
+
options: parsed.options
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
var res = transpile.transpile(contents, {
|
|
74
|
+
fileName: fileName
|
|
75
|
+
});
|
|
76
|
+
callback(null, {
|
|
77
|
+
code: res.outputText,
|
|
78
|
+
map: res.sourceMapText
|
|
79
|
+
});
|
|
21
80
|
});
|
|
22
|
-
|
|
23
|
-
fileName: fileName
|
|
24
|
-
});
|
|
25
|
-
return {
|
|
26
|
-
code: res.outputText,
|
|
27
|
-
map: res.sourceMapText
|
|
28
|
-
};
|
|
29
|
-
};
|
|
81
|
+
}
|
|
30
82
|
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformSync.
|
|
1
|
+
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nimport * as transpiler from 'ts-node/transpilers/swc';\nimport * as ts from 'typescript';\n// @ts-ignore\nimport loadSWC from '../lib/loadSWC.js';\n\nexport default function transformSync(contents: string, fileName: string, config: TsConfigResult, callback) {\n loadSWC((err, swc) => {\n if (err) return callback(err);\n const parsed = ts.parseJsonConfigFileContent(config.config, ts.sys, path.dirname(config.path));\n const transpile = transpiler.create({ swc: swc, service: { config: { options: parsed.options } } });\n const res = transpile.transpile(contents, { fileName });\n callback(null, { code: res.outputText, map: res.sourceMapText });\n });\n}\n"],"names":["transformSync","contents","fileName","config","callback","loadSWC","err","swc","parsed","ts","parseJsonConfigFileContent","sys","path","dirname","transpile","transpiler","create","service","options","res","code","outputText","map","sourceMapText"],"mappings":";;;;+BAOA;;;eAAwBA;;;2DAPP;2DAEW;kEACR;8DAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL,SAASA,cAAcC,QAAgB,EAAEC,QAAgB,EAAEC,MAAsB,EAAEC,QAAQ;IACxGC,IAAAA,gBAAO,EAAC,SAACC,KAAKC;QACZ,IAAID,KAAK,OAAOF,SAASE;QACzB,IAAME,SAASC,YAAGC,0BAA0B,CAACP,OAAOA,MAAM,EAAEM,YAAGE,GAAG,EAAEC,aAAI,CAACC,OAAO,CAACV,OAAOS,IAAI;QAC5F,IAAME,YAAYC,KAAWC,MAAM,CAAC;YAAET,KAAKA;YAAKU,SAAS;gBAAEd,QAAQ;oBAAEe,SAASV,OAAOU,OAAO;gBAAC;YAAE;QAAE;QACjG,IAAMC,MAAML,UAAUA,SAAS,CAACb,UAAU;YAAEC,UAAAA;QAAS;QACrDE,SAAS,MAAM;YAAEgB,MAAMD,IAAIE,UAAU;YAAEC,KAAKH,IAAII,aAAa;QAAC;IAChE;AACF"}
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"sourcesContent":["export type
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export type * from './types.js';\nexport { default as createMatcher } from './createMatcher.js';\nexport { default as extensions } from './extensions.js';\nexport { default as resolveFileSync } from './resolveFileSync.js';\nexport { default as toPath } from './toPath.js';\nexport { default as transformFile } from './transformFile.js';\nexport { default as transformDirectory } from './transformDirectory.js';\nexport { default as transformSync } from './transformSync.js';\n"],"names":["default","createMatcher","extensions","resolveFileSync","toPath","transformFile","transformDirectory","transformSync"],"mappings":"AACA,SAASA,WAAWC,aAAa,QAAQ,qBAAqB;AAC9D,SAASD,WAAWE,UAAU,QAAQ,kBAAkB;AACxD,SAASF,WAAWG,eAAe,QAAQ,uBAAuB;AAClE,SAASH,WAAWI,MAAM,QAAQ,cAAc;AAChD,SAASJ,WAAWK,aAAa,QAAQ,qBAAqB;AAC9D,SAASL,WAAWM,kBAAkB,QAAQ,0BAA0B;AACxE,SAASN,WAAWO,aAAa,QAAQ,qBAAqB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import accessSync from 'fs-access-sync-compat';
|
|
2
|
+
export default function existsSync(path) {
|
|
3
3
|
try {
|
|
4
4
|
accessSync(path);
|
|
5
5
|
return true;
|
|
6
6
|
} catch (_) {
|
|
7
7
|
return false;
|
|
8
8
|
}
|
|
9
|
-
}
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["existsSync.ts"],"sourcesContent":["import accessSync from 'fs-access-sync-compat';\n\nexport default function existsSync(path) {\n try {\n accessSync(path);\n return true;\n } catch (_) {\n return false;\n }\n}\n"],"names":["accessSync","existsSync","path","_"],"mappings":"AAAA,OAAOA,gBAAgB,wBAAwB;AAE/C,eAAe,SAASC,WAAWC,IAAI;IACrC,IAAI;QACFF,WAAWE;QACX,OAAO;IACT,EAAE,OAAOC,GAAG;QACV,OAAO;IACT;AACF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import os from 'os';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import once from 'call-once-fn';
|
|
5
|
+
import spawn from 'cross-spawn-cb';
|
|
6
|
+
import mkdirp from 'mkdirp';
|
|
7
|
+
import Queue from 'queue-cb';
|
|
8
|
+
import resolve from 'resolve';
|
|
9
|
+
import rimraf2 from 'rimraf2';
|
|
10
|
+
import tempSuffix from 'temp-suffix';
|
|
11
|
+
import existsSync from './existsSync.mjs';
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
import process from './process.cjs';
|
|
14
|
+
const swcDir = path.dirname(path.dirname(resolve.sync('@swc/core/package.json')));
|
|
15
|
+
const { optionalDependencies } = JSON.parse(fs.readFileSync(path.join(swcDir, 'core', 'package.json'), 'utf8'));
|
|
16
|
+
const installDir = path.dirname(swcDir);
|
|
17
|
+
export default function installBindings(callback) {
|
|
18
|
+
const depKey = `${process.platform}-${process.arch}`;
|
|
19
|
+
const queue = new Queue();
|
|
20
|
+
Object.keys(optionalDependencies).filter((key)=>key.indexOf(depKey) >= 0).filter((key)=>!existsSync(path.join(installDir, key))).map((name)=>{
|
|
21
|
+
queue.defer((callback)=>{
|
|
22
|
+
const install = {
|
|
23
|
+
name,
|
|
24
|
+
version: optionalDependencies[name]
|
|
25
|
+
};
|
|
26
|
+
const { NODE_OPTIONS, ...env } = process.env;
|
|
27
|
+
const installString = `${install.name}${install.version ? `@${install.version}` : ''}`;
|
|
28
|
+
const installParts = install.name.split('/');
|
|
29
|
+
callback = once(callback);
|
|
30
|
+
try {
|
|
31
|
+
const tmp = path.join(os.tmpdir(), 'ts-swc-transform', tempSuffix());
|
|
32
|
+
const source = path.join(tmp, 'node_modules', ...installParts);
|
|
33
|
+
const dest = path.join(path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json')))), ...installParts);
|
|
34
|
+
const queue = new Queue(1);
|
|
35
|
+
queue.defer(mkdirp.bind(null, tmp));
|
|
36
|
+
queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));
|
|
37
|
+
queue.defer(spawn.bind(null, 'npm', [
|
|
38
|
+
'install',
|
|
39
|
+
installString
|
|
40
|
+
], {
|
|
41
|
+
cwd: tmp,
|
|
42
|
+
env
|
|
43
|
+
}));
|
|
44
|
+
queue.defer(fs.rename.bind(null, source, dest));
|
|
45
|
+
queue.await((err)=>{
|
|
46
|
+
rimraf2(tmp, {
|
|
47
|
+
disableGlob: true
|
|
48
|
+
}, ()=>callback(err));
|
|
49
|
+
});
|
|
50
|
+
} catch (err) {
|
|
51
|
+
return callback(err);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
queue.await(callback);
|
|
56
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["installBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport spawn from 'cross-spawn-cb';\nimport mkdirp from 'mkdirp';\nimport Queue from 'queue-cb';\nimport resolve from 'resolve';\nimport rimraf2 from 'rimraf2';\nimport tempSuffix from 'temp-suffix';\nimport existsSync from './existsSync.js';\n// @ts-ignore\nimport process from './process.cjs';\n\nconst swcDir = path.dirname(path.dirname(resolve.sync('@swc/core/package.json')));\nconst { optionalDependencies } = JSON.parse(fs.readFileSync(path.join(swcDir, 'core', 'package.json'), 'utf8'));\nconst installDir = path.dirname(swcDir);\n\nexport default function installBindings(callback) {\n const depKey = `${process.platform}-${process.arch}`;\n\n const queue = new Queue();\n Object.keys(optionalDependencies)\n .filter((key) => key.indexOf(depKey) >= 0)\n .filter((key) => !existsSync(path.join(installDir, key)))\n .map((name) => {\n queue.defer((callback) => {\n const install = { name, version: optionalDependencies[name] };\n const { NODE_OPTIONS, ...env } = process.env;\n const installString = `${install.name}${install.version ? `@${install.version}` : ''}`;\n const installParts = install.name.split('/');\n callback = once(callback);\n try {\n const tmp = path.join(os.tmpdir(), 'ts-swc-transform', tempSuffix());\n const source = path.join(tmp, 'node_modules', ...installParts);\n const dest = path.join(path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json')))), ...installParts);\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, tmp));\n queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));\n queue.defer(spawn.bind(null, 'npm', ['install', installString], { cwd: tmp, env }));\n queue.defer(fs.rename.bind(null, source, dest));\n queue.await((err) => {\n rimraf2(tmp, { disableGlob: true }, () => callback(err));\n });\n } catch (err) {\n return callback(err);\n }\n });\n });\n queue.await(callback);\n}\n"],"names":["fs","os","path","once","spawn","mkdirp","Queue","resolve","rimraf2","tempSuffix","existsSync","process","swcDir","dirname","sync","optionalDependencies","JSON","parse","readFileSync","join","installDir","installBindings","callback","depKey","platform","arch","queue","Object","keys","filter","key","indexOf","map","name","defer","install","version","NODE_OPTIONS","env","installString","installParts","split","tmp","tmpdir","source","dest","require","bind","writeFile","cwd","rename","await","err","disableGlob"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,UAAU,eAAe;AAChC,OAAOC,WAAW,iBAAiB;AACnC,OAAOC,YAAY,SAAS;AAC5B,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,gBAAgB,cAAc;AACrC,OAAOC,gBAAgB,kBAAkB;AACzC,aAAa;AACb,OAAOC,aAAa,gBAAgB;AAEpC,MAAMC,SAASV,KAAKW,OAAO,CAACX,KAAKW,OAAO,CAACN,QAAQO,IAAI,CAAC;AACtD,MAAM,EAAEC,oBAAoB,EAAE,GAAGC,KAAKC,KAAK,CAACjB,GAAGkB,YAAY,CAAChB,KAAKiB,IAAI,CAACP,QAAQ,QAAQ,iBAAiB;AACvG,MAAMQ,aAAalB,KAAKW,OAAO,CAACD;AAEhC,eAAe,SAASS,gBAAgBC,QAAQ;IAC9C,MAAMC,SAAS,GAAGZ,QAAQa,QAAQ,CAAC,CAAC,EAAEb,QAAQc,IAAI,EAAE;IAEpD,MAAMC,QAAQ,IAAIpB;IAClBqB,OAAOC,IAAI,CAACb,sBACTc,MAAM,CAAC,CAACC,MAAQA,IAAIC,OAAO,CAACR,WAAW,GACvCM,MAAM,CAAC,CAACC,MAAQ,CAACpB,WAAWR,KAAKiB,IAAI,CAACC,YAAYU,OAClDE,GAAG,CAAC,CAACC;QACJP,MAAMQ,KAAK,CAAC,CAACZ;YACX,MAAMa,UAAU;gBAAEF;gBAAMG,SAASrB,oBAAoB,CAACkB,KAAK;YAAC;YAC5D,MAAM,EAAEI,YAAY,EAAE,GAAGC,KAAK,GAAG3B,QAAQ2B,GAAG;YAC5C,MAAMC,gBAAgB,GAAGJ,QAAQF,IAAI,GAAGE,QAAQC,OAAO,GAAG,CAAC,CAAC,EAAED,QAAQC,OAAO,EAAE,GAAG,IAAI;YACtF,MAAMI,eAAeL,QAAQF,IAAI,CAACQ,KAAK,CAAC;YACxCnB,WAAWnB,KAAKmB;YAChB,IAAI;gBACF,MAAMoB,MAAMxC,KAAKiB,IAAI,CAAClB,GAAG0C,MAAM,IAAI,oBAAoBlC;gBACvD,MAAMmC,SAAS1C,KAAKiB,IAAI,CAACuB,KAAK,mBAAmBF;gBACjD,MAAMK,OAAO3C,KAAKiB,IAAI,CAACjB,KAAKW,OAAO,CAACX,KAAKW,OAAO,CAACX,KAAKW,OAAO,CAACiC,QAAQvC,OAAO,CAAC,iCAAiCiC;gBAE/G,MAAMd,QAAQ,IAAIpB,MAAM;gBACxBoB,MAAMQ,KAAK,CAAC7B,OAAO0C,IAAI,CAAC,MAAML;gBAC9BhB,MAAMQ,KAAK,CAAClC,GAAGgD,SAAS,CAACD,IAAI,CAAC,MAAM7C,KAAKiB,IAAI,CAACuB,KAAK,iBAAiB,MAAM;gBAC1EhB,MAAMQ,KAAK,CAAC9B,MAAM2C,IAAI,CAAC,MAAM,OAAO;oBAAC;oBAAWR;iBAAc,EAAE;oBAAEU,KAAKP;oBAAKJ;gBAAI;gBAChFZ,MAAMQ,KAAK,CAAClC,GAAGkD,MAAM,CAACH,IAAI,CAAC,MAAMH,QAAQC;gBACzCnB,MAAMyB,KAAK,CAAC,CAACC;oBACX5C,QAAQkC,KAAK;wBAAEW,aAAa;oBAAK,GAAG,IAAM/B,SAAS8B;gBACrD;YACF,EAAE,OAAOA,KAAK;gBACZ,OAAO9B,SAAS8B;YAClB;QACF;IACF;IACF1B,MAAMyB,KAAK,CAAC7B;AACd"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import installBindings from './installBindings.mjs';
|
|
2
|
+
// @ts-ignore
|
|
3
|
+
import lazy from './lazy.cjs';
|
|
4
|
+
const swc = lazy('@swc/core');
|
|
5
|
+
export default function loadSWC(callback) {
|
|
6
|
+
installBindings((err)=>{
|
|
7
|
+
err ? callback(err) : callback(null, swc());
|
|
8
|
+
});
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["loadSWC.ts"],"sourcesContent":["import installBindings from './installBindings.js';\n// @ts-ignore\nimport lazy from './lazy.cjs';\nconst swc = lazy('@swc/core');\n\nexport default function loadSWC(callback) {\n installBindings((err) => {\n err ? callback(err) : callback(null, swc());\n });\n}\n"],"names":["installBindings","lazy","swc","loadSWC","callback","err"],"mappings":"AAAA,OAAOA,qBAAqB,uBAAuB;AACnD,aAAa;AACb,OAAOC,UAAU,aAAa;AAC9B,MAAMC,MAAMD,KAAK;AAEjB,eAAe,SAASE,QAAQC,QAAQ;IACtCJ,gBAAgB,CAACK;QACfA,MAAMD,SAASC,OAAOD,SAAS,MAAMF;IACvC;AACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
export default function packageRoot(dir, packageName) {
|
|
3
|
+
if (path.basename(dir) === packageName) return dir;
|
|
4
|
+
const nextDir = path.dirname(dir);
|
|
5
|
+
if (nextDir === dir) throw new Error(`${packageName} not found`);
|
|
6
|
+
return packageRoot(nextDir, packageName);
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["packageRoot.ts"],"sourcesContent":["import path from 'path';\n\nexport default function packageRoot(dir, packageName) {\n if (path.basename(dir) === packageName) return dir;\n const nextDir = path.dirname(dir);\n if (nextDir === dir) throw new Error(`${packageName} not found`);\n return packageRoot(nextDir, packageName);\n}\n"],"names":["path","packageRoot","dir","packageName","basename","nextDir","dirname","Error"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AAExB,eAAe,SAASC,YAAYC,GAAG,EAAEC,WAAW;IAClD,IAAIH,KAAKI,QAAQ,CAACF,SAASC,aAAa,OAAOD;IAC/C,MAAMG,UAAUL,KAAKM,OAAO,CAACJ;IAC7B,IAAIG,YAAYH,KAAK,MAAM,IAAIK,MAAM,GAAGJ,YAAY,UAAU,CAAC;IAC/D,OAAOF,YAAYI,SAASF;AAC9B"}
|
|
@@ -2,17 +2,22 @@ import path from 'path';
|
|
|
2
2
|
import url from 'url';
|
|
3
3
|
// @ts-ignore
|
|
4
4
|
import lazy from './lib/lazy.cjs';
|
|
5
|
+
import packageRoot from './lib/packageRoot.mjs';
|
|
5
6
|
// @ts-ignore
|
|
6
7
|
import process from './lib/process.cjs';
|
|
8
|
+
const __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));
|
|
7
9
|
const major = +process.versions.node.split('.')[0];
|
|
8
|
-
const version = major
|
|
9
|
-
const
|
|
10
|
-
const worker = path.resolve(
|
|
10
|
+
const version = major < 14 ? '14' : 'local';
|
|
11
|
+
const root = packageRoot(__dirname, 'ts-swc-transform');
|
|
12
|
+
const worker = path.resolve(root, 'dist', 'cjs', 'workers', 'transformSync.js');
|
|
11
13
|
const call = lazy('node-version-call');
|
|
12
14
|
/**
|
|
13
15
|
* @param {string} contents The file contents.
|
|
14
16
|
* @param {string} fileName The filename.
|
|
15
17
|
* @returns {{ code: string, map?: string }} Returns object with the transformed code and source map if option sourceMaps was provided.
|
|
16
18
|
*/ export default function transformSync(contents, fileName, config) {
|
|
17
|
-
return call()(
|
|
19
|
+
return call()({
|
|
20
|
+
version,
|
|
21
|
+
callbacks: true
|
|
22
|
+
}, worker, contents, fileName, config);
|
|
18
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\n// @ts-ignore\nimport process from './lib/process.cjs';\n\nconst major = +process.versions.node.split('.')[0];\nconst version = major
|
|
1
|
+
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\nimport packageRoot from './lib/packageRoot.js';\n// @ts-ignore\nimport process from './lib/process.cjs';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst major = +process.versions.node.split('.')[0];\nconst version = major < 14 ? '14' : 'local';\nconst root = packageRoot(__dirname, 'ts-swc-transform');\nconst worker = path.resolve(root, 'dist', 'cjs', 'workers', 'transformSync.js');\nconst call = lazy('node-version-call');\n\n/**\n * @param {string} contents The file contents.\n * @param {string} fileName The filename.\n * @returns {{ code: string, map?: string }} Returns object with the transformed code and source map if option sourceMaps was provided.\n */\nexport default function transformSync(contents, fileName, config) {\n return call()({ version, callbacks: true }, worker, contents, fileName, config);\n}\n"],"names":["path","url","lazy","packageRoot","process","__dirname","dirname","__filename","fileURLToPath","major","versions","node","split","version","root","worker","resolve","call","transformSync","contents","fileName","config","callbacks"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAEtB,aAAa;AACb,OAAOC,UAAU,iBAAiB;AAClC,OAAOC,iBAAiB,uBAAuB;AAC/C,aAAa;AACb,OAAOC,aAAa,oBAAoB;AAExC,MAAMC,YAAYL,KAAKM,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaN,IAAIO,aAAa,CAAC,YAAYP,GAAG;AACjH,MAAMQ,QAAQ,CAACL,QAAQM,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,MAAMC,UAAUJ,QAAQ,KAAK,OAAO;AACpC,MAAMK,OAAOX,YAAYE,WAAW;AACpC,MAAMU,SAASf,KAAKgB,OAAO,CAACF,MAAM,QAAQ,OAAO,WAAW;AAC5D,MAAMG,OAAOf,KAAK;AAElB;;;;CAIC,GACD,eAAe,SAASgB,cAAcC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM;IAC9D,OAAOJ,OAAO;QAAEJ;QAASS,WAAW;IAAK,GAAGP,QAAQI,UAAUC,UAAUC;AAC1E"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import * as transpiler from 'ts-node/transpilers/swc';
|
|
3
|
+
import * as ts from 'typescript';
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
import loadSWC from '../lib/loadSWC.mjs';
|
|
6
|
+
export default function transformSync(contents, fileName, config, callback) {
|
|
7
|
+
loadSWC((err, swc)=>{
|
|
8
|
+
if (err) return callback(err);
|
|
9
|
+
const parsed = ts.parseJsonConfigFileContent(config.config, ts.sys, path.dirname(config.path));
|
|
10
|
+
const transpile = transpiler.create({
|
|
11
|
+
swc: swc,
|
|
12
|
+
service: {
|
|
13
|
+
config: {
|
|
14
|
+
options: parsed.options
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
const res = transpile.transpile(contents, {
|
|
19
|
+
fileName
|
|
20
|
+
});
|
|
21
|
+
callback(null, {
|
|
22
|
+
code: res.outputText,
|
|
23
|
+
map: res.sourceMapText
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nimport * as transpiler from 'ts-node/transpilers/swc';\nimport * as ts from 'typescript';\n// @ts-ignore\nimport loadSWC from '../lib/loadSWC.js';\n\nexport default function transformSync(contents: string, fileName: string, config: TsConfigResult, callback) {\n loadSWC((err, swc) => {\n if (err) return callback(err);\n const parsed = ts.parseJsonConfigFileContent(config.config, ts.sys, path.dirname(config.path));\n const transpile = transpiler.create({ swc: swc, service: { config: { options: parsed.options } } });\n const res = transpile.transpile(contents, { fileName });\n callback(null, { code: res.outputText, map: res.sourceMapText });\n });\n}\n"],"names":["path","transpiler","ts","loadSWC","transformSync","contents","fileName","config","callback","err","swc","parsed","parseJsonConfigFileContent","sys","dirname","transpile","create","service","options","res","code","outputText","map","sourceMapText"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AAExB,YAAYC,gBAAgB,0BAA0B;AACtD,YAAYC,QAAQ,aAAa;AACjC,aAAa;AACb,OAAOC,aAAa,oBAAoB;AAExC,eAAe,SAASC,cAAcC,QAAgB,EAAEC,QAAgB,EAAEC,MAAsB,EAAEC,QAAQ;IACxGL,QAAQ,CAACM,KAAKC;QACZ,IAAID,KAAK,OAAOD,SAASC;QACzB,MAAME,SAAST,GAAGU,0BAA0B,CAACL,OAAOA,MAAM,EAAEL,GAAGW,GAAG,EAAEb,KAAKc,OAAO,CAACP,OAAOP,IAAI;QAC5F,MAAMe,YAAYd,WAAWe,MAAM,CAAC;YAAEN,KAAKA;YAAKO,SAAS;gBAAEV,QAAQ;oBAAEW,SAASP,OAAOO,OAAO;gBAAC;YAAE;QAAE;QACjG,MAAMC,MAAMJ,UAAUA,SAAS,CAACV,UAAU;YAAEC;QAAS;QACrDE,SAAS,MAAM;YAAEY,MAAMD,IAAIE,UAAU;YAAEC,KAAKH,IAAII,aAAa;QAAC;IAChE;AACF"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function existsSync(path: any): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function installBindings(callback: any): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function loadSWC(callback: any): void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function packageRoot(dir: any, packageName: any): any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-swc-transform",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Typescript transformers for swc. Supports Node >= 0.8",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"matcher",
|
|
@@ -59,10 +59,11 @@
|
|
|
59
59
|
"lazy-cache": "^2.0.2",
|
|
60
60
|
"minimatch": "^3.1.2",
|
|
61
61
|
"mkdirp": "^0.5.6",
|
|
62
|
-
"node-version-call": "^1.1.
|
|
62
|
+
"node-version-call": "^1.1.3",
|
|
63
63
|
"path-posix": "^1.0.0",
|
|
64
|
-
"queue-cb": "^1.4.
|
|
65
|
-
"resolve": "^1.22.
|
|
64
|
+
"queue-cb": "^1.4.4",
|
|
65
|
+
"resolve": "^1.22.10",
|
|
66
|
+
"rimraf2": "^2.8.2",
|
|
66
67
|
"temp-suffix": "^0.1.1",
|
|
67
68
|
"ts-node": "*",
|
|
68
69
|
"typescript": "*",
|
|
@@ -76,8 +77,7 @@
|
|
|
76
77
|
"core-js": "^3.39.0",
|
|
77
78
|
"cr": "^0.1.0",
|
|
78
79
|
"react": "^19.0.0",
|
|
79
|
-
"
|
|
80
|
-
"ts-dev-stack": "^1.2.5",
|
|
80
|
+
"ts-dev-stack": "^1.4.0",
|
|
81
81
|
"ts-node": "^10.8.2",
|
|
82
82
|
"typescript": "^5.7.2"
|
|
83
83
|
},
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
function _array_like_to_array(arr, len) {
|
|
3
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
4
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
5
|
-
return arr2;
|
|
6
|
-
}
|
|
7
|
-
function _array_without_holes(arr) {
|
|
8
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
9
|
-
}
|
|
10
|
-
function _iterable_to_array(iter) {
|
|
11
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
12
|
-
}
|
|
13
|
-
function _non_iterable_spread() {
|
|
14
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
15
|
-
}
|
|
16
|
-
function _to_consumable_array(arr) {
|
|
17
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
18
|
-
}
|
|
19
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
20
|
-
if (!o) return;
|
|
21
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
22
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
23
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
24
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
25
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
26
|
-
}
|
|
27
|
-
var path = require('path');
|
|
28
|
-
var fs = require('fs');
|
|
29
|
-
var tmpdir = require('os').tmpdir;
|
|
30
|
-
var tempSuffix = require('temp-suffix');
|
|
31
|
-
var mkdirp = require('mkdirp');
|
|
32
|
-
var Queue = require('queue-cb');
|
|
33
|
-
var spawn = require('cross-spawn-cb');
|
|
34
|
-
var once = require('call-once-fn');
|
|
35
|
-
module.exports = function installBindings(name, version, callback) {
|
|
36
|
-
callback = once(callback);
|
|
37
|
-
try {
|
|
38
|
-
var tmp = path.join(tmpdir(), 'ts-swc-transform', tempSuffix());
|
|
39
|
-
var source = path.join.apply(null, [
|
|
40
|
-
tmp,
|
|
41
|
-
'node_modules'
|
|
42
|
-
].concat(_to_consumable_array(name.split('/'))));
|
|
43
|
-
var dest = path.join.apply(null, [
|
|
44
|
-
path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json'))))
|
|
45
|
-
].concat(_to_consumable_array(name.split('/'))));
|
|
46
|
-
var queue = new Queue(1);
|
|
47
|
-
queue.defer(mkdirp.bind(null, tmp));
|
|
48
|
-
queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));
|
|
49
|
-
queue.defer(function(cb) {
|
|
50
|
-
// remove NODE_OPTIONS from ts-dev-stack
|
|
51
|
-
// biome-ignore lint/performance/noDelete: <explanation>
|
|
52
|
-
delete process.env.NODE_OPTIONS;
|
|
53
|
-
spawn('npm', [
|
|
54
|
-
'install',
|
|
55
|
-
"".concat(name, "@").concat(version)
|
|
56
|
-
], {
|
|
57
|
-
cwd: tmp
|
|
58
|
-
}, cb);
|
|
59
|
-
});
|
|
60
|
-
queue.defer(fs.rename.bind(null, source, dest));
|
|
61
|
-
queue.await(function(err) {
|
|
62
|
-
fs.rm(tmp, {
|
|
63
|
-
recursive: true,
|
|
64
|
-
force: true
|
|
65
|
-
}, function() {
|
|
66
|
-
return callback(err);
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
} catch (err) {
|
|
70
|
-
return callback(err);
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
/* 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":["installBinding.cts"],"sourcesContent":["const path = require('path');\nconst fs = require('fs');\nconst { tmpdir } = require('os');\nconst tempSuffix = require('temp-suffix');\nconst mkdirp = require('mkdirp');\n\nconst Queue = require('queue-cb');\nconst spawn = require('cross-spawn-cb');\nconst once = require('call-once-fn');\n\nmodule.exports = function installBindings(name, version, callback) {\n callback = once(callback);\n try {\n const tmp = path.join(tmpdir(), 'ts-swc-transform', tempSuffix());\n const source = path.join.apply(null, [tmp, 'node_modules', ...name.split('/')]);\n const dest = path.join.apply(null, [path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json')))), ...name.split('/')]);\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, tmp));\n queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));\n queue.defer((cb) => {\n // remove NODE_OPTIONS from ts-dev-stack\n // biome-ignore lint/performance/noDelete: <explanation>\n delete process.env.NODE_OPTIONS;\n spawn('npm', ['install', `${name}@${version}`], { cwd: tmp }, cb);\n });\n queue.defer(fs.rename.bind(null, source, dest));\n queue.await((err) => {\n fs.rm(tmp, { recursive: true, force: true }, () => callback(err));\n });\n } catch (err) {\n return callback(err);\n }\n};\n"],"names":["path","require","fs","tmpdir","tempSuffix","mkdirp","Queue","spawn","once","module","exports","installBindings","name","version","callback","tmp","join","source","apply","split","dest","dirname","resolve","queue","defer","bind","writeFile","cb","process","env","NODE_OPTIONS","cwd","rename","await","err","rm","recursive","force"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,KAAKD,QAAQ;AACnB,IAAM,AAAEE,SAAWF,QAAQ,MAAnBE;AACR,IAAMC,aAAaH,QAAQ;AAC3B,IAAMI,SAASJ,QAAQ;AAEvB,IAAMK,QAAQL,QAAQ;AACtB,IAAMM,QAAQN,QAAQ;AACtB,IAAMO,OAAOP,QAAQ;AAErBQ,OAAOC,OAAO,GAAG,SAASC,gBAAgBC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC/DA,WAAWN,KAAKM;IAChB,IAAI;QACF,IAAMC,MAAMf,KAAKgB,IAAI,CAACb,UAAU,oBAAoBC;QACpD,IAAMa,SAASjB,KAAKgB,IAAI,CAACE,KAAK,CAAC,MAAM;YAACH;YAAK;SAAmC,CAAzC,OAAsB,qBAAGH,KAAKO,KAAK,CAAC;QACzE,IAAMC,OAAOpB,KAAKgB,IAAI,CAACE,KAAK,CAAC,MAAM;YAAClB,KAAKqB,OAAO,CAACrB,KAAKqB,OAAO,CAACrB,KAAKqB,OAAO,CAACpB,QAAQqB,OAAO,CAAC;SAAiD,CAAzG,OAAsF,qBAAGV,KAAKO,KAAK,CAAC;QAEvI,IAAMI,QAAQ,IAAIjB,MAAM;QACxBiB,MAAMC,KAAK,CAACnB,OAAOoB,IAAI,CAAC,MAAMV;QAC9BQ,MAAMC,KAAK,CAACtB,GAAGwB,SAAS,CAACD,IAAI,CAAC,MAAMzB,KAAKgB,IAAI,CAACD,KAAK,iBAAiB,MAAM;QAC1EQ,MAAMC,KAAK,CAAC,SAACG;YACX,wCAAwC;YACxC,wDAAwD;YACxD,OAAOC,QAAQC,GAAG,CAACC,YAAY;YAC/BvB,MAAM,OAAO;gBAAC;gBAAY,GAAUM,OAARD,MAAK,KAAW,OAARC;aAAU,EAAE;gBAAEkB,KAAKhB;YAAI,GAAGY;QAChE;QACAJ,MAAMC,KAAK,CAACtB,GAAG8B,MAAM,CAACP,IAAI,CAAC,MAAMR,QAAQG;QACzCG,MAAMU,KAAK,CAAC,SAACC;YACXhC,GAAGiC,EAAE,CAACpB,KAAK;gBAAEqB,WAAW;gBAAMC,OAAO;YAAK,GAAG;uBAAMvB,SAASoB;;QAC9D;IACF,EAAE,OAAOA,KAAK;QACZ,OAAOpB,SAASoB;IAClB;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["existsSync.cts"],"sourcesContent":["const accessSync = require('fs-access-sync-compat');\n\nmodule.exports = function existsSync(path) {\n try {\n accessSync(path);\n return true;\n } catch (_) {\n return false;\n }\n};\n"],"names":["accessSync","require","module","exports","existsSync","path","_"],"mappings":"AAAA,MAAMA,aAAaC,QAAQ;AAE3BC,OAAOC,OAAO,GAAG,SAASC,WAAWC,IAAI;IACvC,IAAI;QACFL,WAAWK;QACX,OAAO;IACT,EAAE,OAAOC,GAAG;QACV,OAAO;IACT;AACF"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
const path = require('path');
|
|
2
|
-
const existsSync = require('./existsSync.cjs');
|
|
3
|
-
const lazy = require('./lazy.cjs');
|
|
4
|
-
const major = +process.versions.node.split('.')[0];
|
|
5
|
-
const version = major >= 14 ? 'local' : 'lts';
|
|
6
|
-
const worker = path.resolve(path.dirname(__dirname), 'workers', `installBinding${path.extname(__filename)}`);
|
|
7
|
-
const call = lazy('node-version-call');
|
|
8
|
-
const installDir = path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json'))));
|
|
9
|
-
const { optionalDependencies } = require('@swc/core/package.json');
|
|
10
|
-
const depKey = `${process.platform}-${process.arch}`;
|
|
11
|
-
for(const key in optionalDependencies){
|
|
12
|
-
const depPath = path.join(installDir, key);
|
|
13
|
-
if (key.indexOf(depKey) < 0 || existsSync(depPath)) continue;
|
|
14
|
-
try {
|
|
15
|
-
call()({
|
|
16
|
-
version,
|
|
17
|
-
callbacks: true
|
|
18
|
-
}, worker, key, optionalDependencies[key]);
|
|
19
|
-
} catch (err) {
|
|
20
|
-
console.log(`Failed to install ${key}@${optionalDependencies[key]}. Error: ${err.message}`);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["installBindings.cts"],"sourcesContent":["const path = require('path');\nconst existsSync = require('./existsSync.cjs');\nconst lazy = require('./lazy.cjs');\n\nconst major = +process.versions.node.split('.')[0];\nconst version = major >= 14 ? 'local' : 'lts';\nconst worker = path.resolve(path.dirname(__dirname), 'workers', `installBinding${path.extname(__filename)}`);\nconst call = lazy('node-version-call');\n\nconst installDir = path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json'))));\nconst { optionalDependencies } = require('@swc/core/package.json');\nconst depKey = `${process.platform}-${process.arch}`;\n\nfor (const key in optionalDependencies) {\n const depPath = path.join(installDir, key);\n if (key.indexOf(depKey) < 0 || existsSync(depPath)) continue;\n\n try {\n call()({ version, callbacks: true }, worker, key, optionalDependencies[key]);\n } catch (err) {\n console.log(`Failed to install ${key}@${optionalDependencies[key]}. Error: ${err.message}`);\n }\n}\n"],"names":["path","require","existsSync","lazy","major","process","versions","node","split","version","worker","resolve","dirname","__dirname","extname","__filename","call","installDir","optionalDependencies","depKey","platform","arch","key","depPath","join","indexOf","callbacks","err","console","log","message"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AACrB,MAAMC,aAAaD,QAAQ;AAC3B,MAAME,OAAOF,QAAQ;AAErB,MAAMG,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,MAAMC,UAAUL,SAAS,KAAK,UAAU;AACxC,MAAMM,SAASV,KAAKW,OAAO,CAACX,KAAKY,OAAO,CAACC,YAAY,WAAW,CAAC,cAAc,EAAEb,KAAKc,OAAO,CAACC,aAAa;AAC3G,MAAMC,OAAOb,KAAK;AAElB,MAAMc,aAAajB,KAAKY,OAAO,CAACZ,KAAKY,OAAO,CAACZ,KAAKY,OAAO,CAACX,QAAQU,OAAO,CAAC;AAC1E,MAAM,EAAEO,oBAAoB,EAAE,GAAGjB,QAAQ;AACzC,MAAMkB,SAAS,GAAGd,QAAQe,QAAQ,CAAC,CAAC,EAAEf,QAAQgB,IAAI,EAAE;AAEpD,IAAK,MAAMC,OAAOJ,qBAAsB;IACtC,MAAMK,UAAUvB,KAAKwB,IAAI,CAACP,YAAYK;IACtC,IAAIA,IAAIG,OAAO,CAACN,UAAU,KAAKjB,WAAWqB,UAAU;IAEpD,IAAI;QACFP,OAAO;YAAEP;YAASiB,WAAW;QAAK,GAAGhB,QAAQY,KAAKJ,oBAAoB,CAACI,IAAI;IAC7E,EAAE,OAAOK,KAAK;QACZC,QAAQC,GAAG,CAAC,CAAC,kBAAkB,EAAEP,IAAI,CAAC,EAAEJ,oBAAoB,CAACI,IAAI,CAAC,SAAS,EAAEK,IAAIG,OAAO,EAAE;IAC5F;AACF"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
const path = require('path');
|
|
2
|
-
const fs = require('fs');
|
|
3
|
-
const { tmpdir } = require('os');
|
|
4
|
-
const tempSuffix = require('temp-suffix');
|
|
5
|
-
const mkdirp = require('mkdirp');
|
|
6
|
-
const Queue = require('queue-cb');
|
|
7
|
-
const spawn = require('cross-spawn-cb');
|
|
8
|
-
const once = require('call-once-fn');
|
|
9
|
-
module.exports = function installBindings(name, version, callback) {
|
|
10
|
-
callback = once(callback);
|
|
11
|
-
try {
|
|
12
|
-
const tmp = path.join(tmpdir(), 'ts-swc-transform', tempSuffix());
|
|
13
|
-
const source = path.join.apply(null, [
|
|
14
|
-
tmp,
|
|
15
|
-
'node_modules',
|
|
16
|
-
...name.split('/')
|
|
17
|
-
]);
|
|
18
|
-
const dest = path.join.apply(null, [
|
|
19
|
-
path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json')))),
|
|
20
|
-
...name.split('/')
|
|
21
|
-
]);
|
|
22
|
-
const queue = new Queue(1);
|
|
23
|
-
queue.defer(mkdirp.bind(null, tmp));
|
|
24
|
-
queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));
|
|
25
|
-
queue.defer((cb)=>{
|
|
26
|
-
// remove NODE_OPTIONS from ts-dev-stack
|
|
27
|
-
// biome-ignore lint/performance/noDelete: <explanation>
|
|
28
|
-
delete process.env.NODE_OPTIONS;
|
|
29
|
-
spawn('npm', [
|
|
30
|
-
'install',
|
|
31
|
-
`${name}@${version}`
|
|
32
|
-
], {
|
|
33
|
-
cwd: tmp
|
|
34
|
-
}, cb);
|
|
35
|
-
});
|
|
36
|
-
queue.defer(fs.rename.bind(null, source, dest));
|
|
37
|
-
queue.await((err)=>{
|
|
38
|
-
fs.rm(tmp, {
|
|
39
|
-
recursive: true,
|
|
40
|
-
force: true
|
|
41
|
-
}, ()=>callback(err));
|
|
42
|
-
});
|
|
43
|
-
} catch (err) {
|
|
44
|
-
return callback(err);
|
|
45
|
-
}
|
|
46
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["installBinding.cts"],"sourcesContent":["const path = require('path');\nconst fs = require('fs');\nconst { tmpdir } = require('os');\nconst tempSuffix = require('temp-suffix');\nconst mkdirp = require('mkdirp');\n\nconst Queue = require('queue-cb');\nconst spawn = require('cross-spawn-cb');\nconst once = require('call-once-fn');\n\nmodule.exports = function installBindings(name, version, callback) {\n callback = once(callback);\n try {\n const tmp = path.join(tmpdir(), 'ts-swc-transform', tempSuffix());\n const source = path.join.apply(null, [tmp, 'node_modules', ...name.split('/')]);\n const dest = path.join.apply(null, [path.dirname(path.dirname(path.dirname(require.resolve('@swc/core/package.json')))), ...name.split('/')]);\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, tmp));\n queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));\n queue.defer((cb) => {\n // remove NODE_OPTIONS from ts-dev-stack\n // biome-ignore lint/performance/noDelete: <explanation>\n delete process.env.NODE_OPTIONS;\n spawn('npm', ['install', `${name}@${version}`], { cwd: tmp }, cb);\n });\n queue.defer(fs.rename.bind(null, source, dest));\n queue.await((err) => {\n fs.rm(tmp, { recursive: true, force: true }, () => callback(err));\n });\n } catch (err) {\n return callback(err);\n }\n};\n"],"names":["path","require","fs","tmpdir","tempSuffix","mkdirp","Queue","spawn","once","module","exports","installBindings","name","version","callback","tmp","join","source","apply","split","dest","dirname","resolve","queue","defer","bind","writeFile","cb","process","env","NODE_OPTIONS","cwd","rename","await","err","rm","recursive","force"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AACrB,MAAMC,KAAKD,QAAQ;AACnB,MAAM,EAAEE,MAAM,EAAE,GAAGF,QAAQ;AAC3B,MAAMG,aAAaH,QAAQ;AAC3B,MAAMI,SAASJ,QAAQ;AAEvB,MAAMK,QAAQL,QAAQ;AACtB,MAAMM,QAAQN,QAAQ;AACtB,MAAMO,OAAOP,QAAQ;AAErBQ,OAAOC,OAAO,GAAG,SAASC,gBAAgBC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC/DA,WAAWN,KAAKM;IAChB,IAAI;QACF,MAAMC,MAAMf,KAAKgB,IAAI,CAACb,UAAU,oBAAoBC;QACpD,MAAMa,SAASjB,KAAKgB,IAAI,CAACE,KAAK,CAAC,MAAM;YAACH;YAAK;eAAmBH,KAAKO,KAAK,CAAC;SAAK;QAC9E,MAAMC,OAAOpB,KAAKgB,IAAI,CAACE,KAAK,CAAC,MAAM;YAAClB,KAAKqB,OAAO,CAACrB,KAAKqB,OAAO,CAACrB,KAAKqB,OAAO,CAACpB,QAAQqB,OAAO,CAAC;eAAiCV,KAAKO,KAAK,CAAC;SAAK;QAE5I,MAAMI,QAAQ,IAAIjB,MAAM;QACxBiB,MAAMC,KAAK,CAACnB,OAAOoB,IAAI,CAAC,MAAMV;QAC9BQ,MAAMC,KAAK,CAACtB,GAAGwB,SAAS,CAACD,IAAI,CAAC,MAAMzB,KAAKgB,IAAI,CAACD,KAAK,iBAAiB,MAAM;QAC1EQ,MAAMC,KAAK,CAAC,CAACG;YACX,wCAAwC;YACxC,wDAAwD;YACxD,OAAOC,QAAQC,GAAG,CAACC,YAAY;YAC/BvB,MAAM,OAAO;gBAAC;gBAAW,GAAGK,KAAK,CAAC,EAAEC,SAAS;aAAC,EAAE;gBAAEkB,KAAKhB;YAAI,GAAGY;QAChE;QACAJ,MAAMC,KAAK,CAACtB,GAAG8B,MAAM,CAACP,IAAI,CAAC,MAAMR,QAAQG;QACzCG,MAAMU,KAAK,CAAC,CAACC;YACXhC,GAAGiC,EAAE,CAACpB,KAAK;gBAAEqB,WAAW;gBAAMC,OAAO;YAAK,GAAG,IAAMvB,SAASoB;QAC9D;IACF,EAAE,OAAOA,KAAK;QACZ,OAAOpB,SAASoB;IAClB;AACF"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const path = require('path');
|
|
2
|
-
let swc;
|
|
3
|
-
try {
|
|
4
|
-
swc = require('@swc/core');
|
|
5
|
-
} catch (_) {
|
|
6
|
-
require('../lib/installBindings.cjs');
|
|
7
|
-
swc = require('@swc/core');
|
|
8
|
-
}
|
|
9
|
-
const ts = require('typescript');
|
|
10
|
-
const swcTranspiler = require('ts-node/transpilers/swc');
|
|
11
|
-
module.exports = function transformSync(contents, fileName, config) {
|
|
12
|
-
const parsed = ts.parseJsonConfigFileContent(config.config, ts.sys, path.dirname(config.path));
|
|
13
|
-
const transpile = swcTranspiler.create({
|
|
14
|
-
swc: swc,
|
|
15
|
-
service: {
|
|
16
|
-
config: {
|
|
17
|
-
options: parsed.options
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
const res = transpile.transpile(contents, {
|
|
22
|
-
fileName: fileName
|
|
23
|
-
});
|
|
24
|
-
return {
|
|
25
|
-
code: res.outputText,
|
|
26
|
-
map: res.sourceMapText
|
|
27
|
-
};
|
|
28
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["transformSync.cts"],"sourcesContent":["const path = require('path');\nlet swc: string;\ntry {\n swc = require('@swc/core');\n} catch (_) {\n require('../lib/installBindings.cjs');\n swc = require('@swc/core');\n}\nconst ts = require('typescript');\nconst swcTranspiler = require('ts-node/transpilers/swc');\n\nmodule.exports = function transformSync(contents, fileName, config) {\n const parsed = ts.parseJsonConfigFileContent(config.config, ts.sys, path.dirname(config.path));\n const transpile = swcTranspiler.create({ swc: swc, service: { config: { options: parsed.options } } });\n const res = transpile.transpile(contents, { fileName: fileName });\n return { code: res.outputText, map: res.sourceMapText };\n};\n"],"names":["path","require","swc","_","ts","swcTranspiler","module","exports","transformSync","contents","fileName","config","parsed","parseJsonConfigFileContent","sys","dirname","transpile","create","service","options","res","code","outputText","map","sourceMapText"],"mappings":"AAAA,MAAMA,OAAOC,QAAQ;AACrB,IAAIC;AACJ,IAAI;IACFA,MAAMD,QAAQ;AAChB,EAAE,OAAOE,GAAG;IACVF,QAAQ;IACRC,MAAMD,QAAQ;AAChB;AACA,MAAMG,KAAKH,QAAQ;AACnB,MAAMI,gBAAgBJ,QAAQ;AAE9BK,OAAOC,OAAO,GAAG,SAASC,cAAcC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM;IAChE,MAAMC,SAASR,GAAGS,0BAA0B,CAACF,OAAOA,MAAM,EAAEP,GAAGU,GAAG,EAAEd,KAAKe,OAAO,CAACJ,OAAOX,IAAI;IAC5F,MAAMgB,YAAYX,cAAcY,MAAM,CAAC;QAAEf,KAAKA;QAAKgB,SAAS;YAAEP,QAAQ;gBAAEQ,SAASP,OAAOO,OAAO;YAAC;QAAE;IAAE;IACpG,MAAMC,MAAMJ,UAAUA,SAAS,CAACP,UAAU;QAAEC,UAAUA;IAAS;IAC/D,OAAO;QAAEW,MAAMD,IAAIE,UAAU;QAAEC,KAAKH,IAAII,aAAa;IAAC;AACxD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|