ts-swc-transform 1.11.3 → 1.11.5
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.cjs +0 -4
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/lib/makeReplacements.cjs +26 -26
- package/dist/cjs/lib/makeReplacements.cjs.map +1 -1
- package/dist/cjs/lib/parseSpecifiers.cjs +37 -0
- package/dist/cjs/lib/parseSpecifiers.cjs.map +1 -0
- package/dist/cjs/lib/patchCJS.cjs +2 -2
- package/dist/cjs/lib/patchCJS.cjs.map +1 -1
- package/dist/cjs/lib/patchESM.cjs +21 -19
- package/dist/cjs/lib/patchESM.cjs.map +1 -1
- package/dist/cjs/{workers → lib}/transformFile.cjs +7 -7
- package/dist/cjs/lib/transformFile.cjs.map +1 -0
- package/dist/cjs/resolveFileSync.cjs +6 -2
- package/dist/cjs/resolveFileSync.cjs.map +1 -1
- package/dist/cjs/transformDirectory.cjs +1 -1
- package/dist/cjs/transformDirectory.cjs.map +1 -1
- package/dist/cjs/transformTypes.cjs +2 -2
- package/dist/cjs/transformTypes.cjs.map +1 -1
- package/dist/cjs/workers/transformDirectory.cjs +5 -4
- package/dist/cjs/workers/transformDirectory.cjs.map +1 -1
- package/dist/esm/index.mjs +0 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/lib/makeReplacements.mjs +24 -26
- package/dist/esm/lib/makeReplacements.mjs.map +1 -1
- package/dist/esm/lib/parseSpecifiers.mjs +26 -0
- package/dist/esm/lib/parseSpecifiers.mjs.map +1 -0
- package/dist/esm/lib/patchCJS.mjs +2 -2
- package/dist/esm/lib/patchCJS.mjs.map +1 -1
- package/dist/esm/lib/patchESM.mjs +21 -19
- package/dist/esm/lib/patchESM.mjs.map +1 -1
- package/dist/esm/{workers → lib}/transformFile.mjs +7 -7
- package/dist/esm/lib/transformFile.mjs.map +1 -0
- package/dist/esm/resolveFileSync.mjs +8 -2
- package/dist/esm/resolveFileSync.mjs.map +1 -1
- package/dist/esm/transformDirectory.mjs +1 -3
- package/dist/esm/transformDirectory.mjs.map +1 -1
- package/dist/esm/transformTypes.mjs +2 -4
- package/dist/esm/transformTypes.mjs.map +1 -1
- package/dist/esm/workers/transformDirectory.mjs +5 -4
- package/dist/esm/workers/transformDirectory.mjs.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/lib/makeReplacements.d.ts +1 -1
- package/dist/types/lib/parseSpecifiers.d.ts +1 -0
- package/dist/types/lib/patchCJS.d.ts +1 -1
- package/dist/types/lib/patchESM.d.ts +1 -1
- package/dist/types/lib/transformFile.d.ts +1 -0
- package/package.json +4 -7
- package/dist/cjs/transformFile.cjs +0 -87
- package/dist/cjs/transformFile.cjs.map +0 -1
- package/dist/cjs/workers/transformFile.cjs.map +0 -1
- package/dist/esm/transformFile.mjs +0 -43
- package/dist/esm/transformFile.mjs.map +0 -1
- package/dist/esm/workers/transformFile.mjs.map +0 -1
- package/dist/types/transformFile.d.ts +0 -10
- package/dist/types/workers/transformFile.d.ts +0 -1
package/dist/cjs/index.cjs
CHANGED
|
@@ -27,9 +27,6 @@ _export(exports, {
|
|
|
27
27
|
transformDirectory: function() {
|
|
28
28
|
return _transformDirectory.default;
|
|
29
29
|
},
|
|
30
|
-
transformFile: function() {
|
|
31
|
-
return _transformFile.default;
|
|
32
|
-
},
|
|
33
30
|
transformSync: function() {
|
|
34
31
|
return _transformSync.default;
|
|
35
32
|
},
|
|
@@ -42,7 +39,6 @@ var _constants = /*#__PURE__*/ _interop_require_wildcard(require("./constants.cj
|
|
|
42
39
|
var _extensions = /*#__PURE__*/ _interop_require_default(require("./extensions.cjs"));
|
|
43
40
|
var _resolveFileSync = /*#__PURE__*/ _interop_require_default(require("./resolveFileSync.cjs"));
|
|
44
41
|
var _toPath = /*#__PURE__*/ _interop_require_default(require("./toPath.cjs"));
|
|
45
|
-
var _transformFile = /*#__PURE__*/ _interop_require_default(require("./transformFile.cjs"));
|
|
46
42
|
var _transformDirectory = /*#__PURE__*/ _interop_require_default(require("./transformDirectory.cjs"));
|
|
47
43
|
var _transformSync = /*#__PURE__*/ _interop_require_default(require("./transformSync.cjs"));
|
|
48
44
|
var _transformTypes = /*#__PURE__*/ _interop_require_default(require("./transformTypes.cjs"));
|
package/dist/cjs/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/index.ts"],"sourcesContent":["export type * from './types';\nexport { default as createMatcher } from './createMatcher';\nexport * as constants from './constants';\nexport { default as extensions } from './extensions';\nexport { default as resolveFileSync } from './resolveFileSync';\nexport { default as toPath } from './toPath';\n\nexport { default as
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/index.ts"],"sourcesContent":["export type * from './types';\nexport { default as createMatcher } from './createMatcher';\nexport * as constants from './constants';\nexport { default as extensions } from './extensions';\nexport { default as resolveFileSync } from './resolveFileSync';\nexport { default as toPath } from './toPath';\n\nexport { default as transformDirectory } from './transformDirectory';\nexport { default as transformSync } from './transformSync';\nexport { default as transformTypes } from './transformTypes';\n"],"names":["constants","createMatcher","extensions","resolveFileSync","toPath","transformDirectory","transformSync","transformTypes"],"mappings":";;;;;;;;;;;IAEYA,SAAS;;;IADDC,aAAa;eAAbA,sBAAa;;IAEbC,UAAU;eAAVA,mBAAU;;IACVC,eAAe;eAAfA,wBAAe;;IACfC,MAAM;eAANA,eAAM;;IAENC,kBAAkB;eAAlBA,2BAAkB;;IAClBC,aAAa;eAAbA,sBAAa;;IACbC,cAAc;eAAdA,uBAAc;;;oEARO;iEACd;iEACW;sEACK;6DACT;yEAEY;oEACL;qEACC"}
|
|
@@ -8,39 +8,39 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return makeReplacements;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
11
12
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
13
|
var _constants = require("../constants.cjs");
|
|
14
|
+
var _parseSpecifiers = /*#__PURE__*/ _interop_require_default(require("./parseSpecifiers.cjs"));
|
|
13
15
|
function _interop_require_default(obj) {
|
|
14
16
|
return obj && obj.__esModule ? obj : {
|
|
15
17
|
default: obj
|
|
16
18
|
};
|
|
17
19
|
}
|
|
18
|
-
function makeReplacements(code, regex, extensions, extension) {
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
20
|
+
function makeReplacements(entry, code, regex, extensions, extension, options) {
|
|
21
|
+
var src = options.src;
|
|
22
|
+
var parsed = (0, _parseSpecifiers.default)(code, regex);
|
|
23
|
+
return parsed.map(function(parsed) {
|
|
24
|
+
if (!parsed.isSpecifier) return parsed.content;
|
|
25
|
+
var specifier = parsed.content;
|
|
26
|
+
if (_constants.moduleRegEx.test(specifier)) return specifier;
|
|
27
|
+
var ext = _path.default.extname(specifier);
|
|
28
|
+
if (ext && extensions.indexOf(ext) < 0) return specifier;
|
|
29
|
+
if (!ext) {
|
|
30
|
+
try {
|
|
31
|
+
var basename = _path.default.basename(specifier);
|
|
32
|
+
var fullPath = _path.default.normalize(_path.default.join(src, _path.default.dirname(entry.path), specifier));
|
|
33
|
+
var files = _fs.default.readdirSync(_path.default.dirname(fullPath), {
|
|
34
|
+
withFileTypes: true
|
|
35
|
+
});
|
|
36
|
+
var found = files.find(function(x) {
|
|
37
|
+
return x.name === basename;
|
|
38
|
+
});
|
|
39
|
+
if (found && found.isDirectory()) return specifier;
|
|
40
|
+
} catch (_err) {}
|
|
34
41
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
for(var index in matches){
|
|
39
|
-
var match1 = matches[index];
|
|
40
|
-
var start = match1.match.index + match1.match[0].lastIndexOf(match1.dependency);
|
|
41
|
-
var dependencyNoExt = match1.ext ? match1.dependency.substring(0, match1.dependency.length - match1.ext.length) : match1.dependency;
|
|
42
|
-
code = code.substring(0, start) + dependencyNoExt + extension + code.substring(start + match1.dependency.length);
|
|
43
|
-
}
|
|
44
|
-
return code;
|
|
42
|
+
var stripped = ext ? specifier.slice(0, -ext.length) : specifier;
|
|
43
|
+
return "".concat(stripped).concat(extension);
|
|
44
|
+
}).join('');
|
|
45
45
|
}
|
|
46
46
|
/* 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/makeReplacements.ts"],"sourcesContent":["import path from 'path';\nimport { moduleRegEx } from '../constants';\n\nexport default function makeReplacements(code, regex, extensions, extension) {\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/makeReplacements.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { moduleRegEx } from '../constants';\nimport parseSpecifiers from './parseSpecifiers';\n\nexport default function makeReplacements(entry, code, regex, extensions, extension, options) {\n const { src } = options;\n const parsed = parseSpecifiers(code, regex);\n\n return parsed\n .map((parsed) => {\n if (!parsed.isSpecifier) return parsed.content;\n const specifier = parsed.content;\n if (moduleRegEx.test(specifier)) return specifier;\n\n const ext = path.extname(specifier);\n if (ext && extensions.indexOf(ext) < 0) return specifier;\n if (!ext) {\n try {\n const basename = path.basename(specifier);\n const fullPath = path.normalize(path.join(src, path.dirname(entry.path), specifier));\n const files = fs.readdirSync(path.dirname(fullPath), { withFileTypes: true });\n const found = files.find((x) => x.name === basename);\n if (found && found.isDirectory()) return specifier;\n } catch (_err) {}\n }\n const stripped = ext ? specifier.slice(0, -ext.length) : specifier;\n return `${stripped}${extension}`;\n })\n .join('');\n}\n"],"names":["makeReplacements","entry","code","regex","extensions","extension","options","src","parsed","parseSpecifiers","map","isSpecifier","content","specifier","moduleRegEx","test","ext","path","extname","indexOf","basename","fullPath","normalize","join","dirname","files","fs","readdirSync","withFileTypes","found","find","x","name","isDirectory","_err","stripped","slice","length"],"mappings":";;;;+BAKA;;;eAAwBA;;;yDALT;2DACE;yBACW;sEACA;;;;;;AAEb,SAASA,iBAAiBC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO;IACzF,IAAM,AAAEC,MAAQD,QAARC;IACR,IAAMC,SAASC,IAAAA,wBAAe,EAACP,MAAMC;IAErC,OAAOK,OACJE,GAAG,CAAC,SAACF;QACJ,IAAI,CAACA,OAAOG,WAAW,EAAE,OAAOH,OAAOI,OAAO;QAC9C,IAAMC,YAAYL,OAAOI,OAAO;QAChC,IAAIE,sBAAW,CAACC,IAAI,CAACF,YAAY,OAAOA;QAExC,IAAMG,MAAMC,aAAI,CAACC,OAAO,CAACL;QACzB,IAAIG,OAAOZ,WAAWe,OAAO,CAACH,OAAO,GAAG,OAAOH;QAC/C,IAAI,CAACG,KAAK;YACR,IAAI;gBACF,IAAMI,WAAWH,aAAI,CAACG,QAAQ,CAACP;gBAC/B,IAAMQ,WAAWJ,aAAI,CAACK,SAAS,CAACL,aAAI,CAACM,IAAI,CAAChB,KAAKU,aAAI,CAACO,OAAO,CAACvB,MAAMgB,IAAI,GAAGJ;gBACzE,IAAMY,QAAQC,WAAE,CAACC,WAAW,CAACV,aAAI,CAACO,OAAO,CAACH,WAAW;oBAAEO,eAAe;gBAAK;gBAC3E,IAAMC,QAAQJ,MAAMK,IAAI,CAAC,SAACC;2BAAMA,EAAEC,IAAI,KAAKZ;;gBAC3C,IAAIS,SAASA,MAAMI,WAAW,IAAI,OAAOpB;YAC3C,EAAE,OAAOqB,MAAM,CAAC;QAClB;QACA,IAAMC,WAAWnB,MAAMH,UAAUuB,KAAK,CAAC,GAAG,CAACpB,IAAIqB,MAAM,IAAIxB;QACzD,OAAO,AAAC,GAAaR,OAAX8B,UAAqB,OAAV9B;IACvB,GACCkB,IAAI,CAAC;AACV"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 parser;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function parser(code, regex) {
|
|
12
|
+
var parsed = [];
|
|
13
|
+
var offset = 0;
|
|
14
|
+
var match = regex.exec(code);
|
|
15
|
+
while(match){
|
|
16
|
+
var dependency = match[1] || match[2] || match[3] || match[4];
|
|
17
|
+
parsed.push({
|
|
18
|
+
content: code.substring(offset, match.index + match[0].lastIndexOf(dependency)),
|
|
19
|
+
isSpecifier: false
|
|
20
|
+
});
|
|
21
|
+
offset += parsed[parsed.length - 1].content.length;
|
|
22
|
+
parsed.push({
|
|
23
|
+
content: dependency,
|
|
24
|
+
isSpecifier: true
|
|
25
|
+
});
|
|
26
|
+
offset += parsed[parsed.length - 1].content.length;
|
|
27
|
+
match = regex.exec(code);
|
|
28
|
+
}
|
|
29
|
+
if (offset < code.length) {
|
|
30
|
+
parsed.push({
|
|
31
|
+
content: code.substring(offset, code.length),
|
|
32
|
+
isSpecifier: false
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return parsed;
|
|
36
|
+
}
|
|
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; }
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/parseSpecifiers.ts"],"sourcesContent":["export default function parser(code, regex) {\n const parsed = [];\n let offset = 0;\n let match = regex.exec(code);\n while (match) {\n const dependency = match[1] || match[2] || match[3] || match[4];\n parsed.push({ content: code.substring(offset, match.index + match[0].lastIndexOf(dependency)), isSpecifier: false });\n offset += parsed[parsed.length - 1].content.length;\n parsed.push({ content: dependency, isSpecifier: true });\n offset += parsed[parsed.length - 1].content.length;\n match = regex.exec(code);\n }\n\n if (offset < code.length) {\n parsed.push({ content: code.substring(offset, code.length), isSpecifier: false });\n }\n return parsed;\n}\n"],"names":["parser","code","regex","parsed","offset","match","exec","dependency","push","content","substring","index","lastIndexOf","isSpecifier","length"],"mappings":";;;;+BAAA;;;eAAwBA;;;AAAT,SAASA,OAAOC,IAAI,EAAEC,KAAK;IACxC,IAAMC,SAAS,EAAE;IACjB,IAAIC,SAAS;IACb,IAAIC,QAAQH,MAAMI,IAAI,CAACL;IACvB,MAAOI,MAAO;QACZ,IAAME,aAAaF,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE,IAAIA,KAAK,CAAC,EAAE;QAC/DF,OAAOK,IAAI,CAAC;YAAEC,SAASR,KAAKS,SAAS,CAACN,QAAQC,MAAMM,KAAK,GAAGN,KAAK,CAAC,EAAE,CAACO,WAAW,CAACL;YAAcM,aAAa;QAAM;QAClHT,UAAUD,MAAM,CAACA,OAAOW,MAAM,GAAG,EAAE,CAACL,OAAO,CAACK,MAAM;QAClDX,OAAOK,IAAI,CAAC;YAAEC,SAASF;YAAYM,aAAa;QAAK;QACrDT,UAAUD,MAAM,CAACA,OAAOW,MAAM,GAAG,EAAE,CAACL,OAAO,CAACK,MAAM;QAClDT,QAAQH,MAAMI,IAAI,CAACL;IACrB;IAEA,IAAIG,SAASH,KAAKa,MAAM,EAAE;QACxBX,OAAOK,IAAI,CAAC;YAAEC,SAASR,KAAKS,SAAS,CAACN,QAAQH,KAAKa,MAAM;YAAGD,aAAa;QAAM;IACjF;IACA,OAAOV;AACT"}
|
|
@@ -19,9 +19,9 @@ function _interop_require_default(obj) {
|
|
|
19
19
|
// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125
|
|
20
20
|
var interopClientDefaultExport = "/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }";
|
|
21
21
|
var DEFAULT_EXTENSION = '.cjs';
|
|
22
|
-
function patchCJS(output, options
|
|
22
|
+
function patchCJS(entry, output, options) {
|
|
23
23
|
var cjsExtension = (options.extensions ? options.extensions.cjs : DEFAULT_EXTENSION) || DEFAULT_EXTENSION;
|
|
24
|
-
output.code = (0, _makeReplacements.default)(output.code, _constants.requireRegEx, _extensions.default, cjsExtension);
|
|
24
|
+
output.code = (0, _makeReplacements.default)(entry, output.code, _constants.requireRegEx, _extensions.default, cjsExtension, options);
|
|
25
25
|
output.code += interopClientDefaultExport;
|
|
26
26
|
return cjsExtension;
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/patchCJS.ts"],"sourcesContent":["import { requireRegEx } from '../constants';\nimport extensions from '../extensions';\nimport makeReplacements from './makeReplacements';\n\n// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125\nconst interopClientDefaultExport = \"/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }\";\nconst DEFAULT_EXTENSION = '.cjs';\n\nexport default function patchCJS(output, options
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/patchCJS.ts"],"sourcesContent":["import { requireRegEx } from '../constants';\nimport extensions from '../extensions';\nimport makeReplacements from './makeReplacements';\n\n// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125\nconst interopClientDefaultExport = \"/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }\";\n\nconst DEFAULT_EXTENSION = '.cjs';\n\nexport default function patchCJS(entry, output, options) {\n const cjsExtension = (options.extensions ? options.extensions.cjs : DEFAULT_EXTENSION) || DEFAULT_EXTENSION;\n\n output.code = makeReplacements(entry, output.code, requireRegEx, extensions, cjsExtension, options);\n output.code += interopClientDefaultExport;\n\n return cjsExtension;\n}\n"],"names":["patchCJS","interopClientDefaultExport","DEFAULT_EXTENSION","entry","output","options","cjsExtension","extensions","cjs","code","makeReplacements","requireRegEx"],"mappings":";;;;+BASA;;;eAAwBA;;;yBATK;iEACN;uEACM;;;;;;AAE7B,0HAA0H;AAC1H,IAAMC,6BAA6B;AAEnC,IAAMC,oBAAoB;AAEX,SAASF,SAASG,KAAK,EAAEC,MAAM,EAAEC,OAAO;IACrD,IAAMC,eAAe,AAACD,CAAAA,QAAQE,UAAU,GAAGF,QAAQE,UAAU,CAACC,GAAG,GAAGN,iBAAgB,KAAMA;IAE1FE,OAAOK,IAAI,GAAGC,IAAAA,yBAAgB,EAACP,OAAOC,OAAOK,IAAI,EAAEE,uBAAY,EAAEJ,mBAAU,EAAED,cAAcD;IAC3FD,OAAOK,IAAI,IAAIR;IAEf,OAAOK;AACT"}
|
|
@@ -16,27 +16,29 @@ function _interop_require_default(obj) {
|
|
|
16
16
|
default: obj
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
var
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
19
|
+
var EXTENSIONS = {
|
|
20
|
+
cjs: [
|
|
21
|
+
'.cjs',
|
|
22
|
+
'.cts'
|
|
23
|
+
],
|
|
24
|
+
esm: [
|
|
25
|
+
'.js',
|
|
26
|
+
'.ts',
|
|
27
|
+
'.tsx',
|
|
28
|
+
'.mts',
|
|
29
|
+
'.mjs'
|
|
30
|
+
]
|
|
31
|
+
};
|
|
30
32
|
var DEFAULT_EXTENSION_CJS = '.cjs';
|
|
31
|
-
var
|
|
32
|
-
function patchESM(output, options
|
|
33
|
+
var DEFAULT_EXTENSION_EMS = '.mjs';
|
|
34
|
+
function patchESM(entry, output, options) {
|
|
33
35
|
var cjsExtension = (options.extensions ? options.extensions.cjs : DEFAULT_EXTENSION_CJS) || DEFAULT_EXTENSION_CJS;
|
|
34
|
-
var esmExtension = (options.extensions ? options.extensions.esm :
|
|
35
|
-
output.code = (0, _makeReplacements.default)(output.code, _constants.importRegEx,
|
|
36
|
-
output.code = (0, _makeReplacements.default)(output.code, _constants.importRegEx,
|
|
37
|
-
var ext = _path.default.extname(basename);
|
|
38
|
-
if (
|
|
39
|
-
else if (
|
|
36
|
+
var esmExtension = (options.extensions ? options.extensions.esm : DEFAULT_EXTENSION_EMS) || DEFAULT_EXTENSION_EMS;
|
|
37
|
+
output.code = (0, _makeReplacements.default)(entry, output.code, _constants.importRegEx, EXTENSIONS.esm, esmExtension, options);
|
|
38
|
+
output.code = (0, _makeReplacements.default)(entry, output.code, _constants.importRegEx, EXTENSIONS.cjs, cjsExtension, options);
|
|
39
|
+
var ext = _path.default.extname(entry.basename);
|
|
40
|
+
if (EXTENSIONS.esm.indexOf(ext) >= 0) ext = esmExtension;
|
|
41
|
+
else if (EXTENSIONS.cjs.indexOf(ext) >= 0) ext = cjsExtension;
|
|
40
42
|
return ext;
|
|
41
43
|
}
|
|
42
44
|
/* 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/patchESM.ts"],"sourcesContent":["import path from 'path';\nimport { importRegEx } from '../constants';\nimport makeReplacements from './makeReplacements';\n\nconst
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/patchESM.ts"],"sourcesContent":["import path from 'path';\nimport { importRegEx } from '../constants';\nimport makeReplacements from './makeReplacements';\n\nconst EXTENSIONS = {\n cjs: ['.cjs', '.cts'],\n esm: ['.js', '.ts', '.tsx', '.mts', '.mjs'],\n};\nconst DEFAULT_EXTENSION_CJS = '.cjs';\nconst DEFAULT_EXTENSION_EMS = '.mjs';\n\nexport default function patchESM(entry, output, options) {\n const cjsExtension = (options.extensions ? options.extensions.cjs : DEFAULT_EXTENSION_CJS) || DEFAULT_EXTENSION_CJS;\n const esmExtension = (options.extensions ? options.extensions.esm : DEFAULT_EXTENSION_EMS) || DEFAULT_EXTENSION_EMS;\n\n output.code = makeReplacements(entry, output.code, importRegEx, EXTENSIONS.esm, esmExtension, options);\n output.code = makeReplacements(entry, output.code, importRegEx, EXTENSIONS.cjs, cjsExtension, options);\n\n let ext = path.extname(entry.basename);\n if (EXTENSIONS.esm.indexOf(ext) >= 0) ext = esmExtension;\n else if (EXTENSIONS.cjs.indexOf(ext) >= 0) ext = cjsExtension;\n return ext;\n}\n"],"names":["patchESM","EXTENSIONS","cjs","esm","DEFAULT_EXTENSION_CJS","DEFAULT_EXTENSION_EMS","entry","output","options","cjsExtension","extensions","esmExtension","code","makeReplacements","importRegEx","ext","path","extname","basename","indexOf"],"mappings":";;;;+BAWA;;;eAAwBA;;;2DAXP;yBACW;uEACC;;;;;;AAE7B,IAAMC,aAAa;IACjBC,KAAK;QAAC;QAAQ;KAAO;IACrBC,KAAK;QAAC;QAAO;QAAO;QAAQ;QAAQ;KAAO;AAC7C;AACA,IAAMC,wBAAwB;AAC9B,IAAMC,wBAAwB;AAEf,SAASL,SAASM,KAAK,EAAEC,MAAM,EAAEC,OAAO;IACrD,IAAMC,eAAe,AAACD,CAAAA,QAAQE,UAAU,GAAGF,QAAQE,UAAU,CAACR,GAAG,GAAGE,qBAAoB,KAAMA;IAC9F,IAAMO,eAAe,AAACH,CAAAA,QAAQE,UAAU,GAAGF,QAAQE,UAAU,CAACP,GAAG,GAAGE,qBAAoB,KAAMA;IAE9FE,OAAOK,IAAI,GAAGC,IAAAA,yBAAgB,EAACP,OAAOC,OAAOK,IAAI,EAAEE,sBAAW,EAAEb,WAAWE,GAAG,EAAEQ,cAAcH;IAC9FD,OAAOK,IAAI,GAAGC,IAAAA,yBAAgB,EAACP,OAAOC,OAAOK,IAAI,EAAEE,sBAAW,EAAEb,WAAWC,GAAG,EAAEO,cAAcD;IAE9F,IAAIO,MAAMC,aAAI,CAACC,OAAO,CAACX,MAAMY,QAAQ;IACrC,IAAIjB,WAAWE,GAAG,CAACgB,OAAO,CAACJ,QAAQ,GAAGA,MAAMJ;SACvC,IAAIV,WAAWC,GAAG,CAACiB,OAAO,CAACJ,QAAQ,GAAGA,MAAMN;IACjD,OAAOM;AACT"}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
Object.defineProperty(exports, "default", {
|
|
6
6
|
enumerable: true,
|
|
7
7
|
get: function() {
|
|
8
|
-
return
|
|
8
|
+
return transformFile;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
@@ -76,7 +76,7 @@ function _object_spread_props(target, source) {
|
|
|
76
76
|
}
|
|
77
77
|
var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
|
|
78
78
|
var swcLazy = (0, _lazycache.default)(_require)('@swc/core');
|
|
79
|
-
function
|
|
79
|
+
function transformFile(entry, dest, type, options, callback) {
|
|
80
80
|
var tsconfig = options.tsconfig;
|
|
81
81
|
// overrides for cjs
|
|
82
82
|
if (type === 'cjs') {
|
|
@@ -88,12 +88,12 @@ function transformFileWorker(src, dest, type, options, callback) {
|
|
|
88
88
|
}
|
|
89
89
|
var swcOptions = (0, _swcPrepareOptions.default)(tsconfig);
|
|
90
90
|
var swc = swcLazy();
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
filename: basename
|
|
91
|
+
swc.transformFile(entry.fullPath, _object_spread_props(_object_spread({}, entry.basename.endsWith('.tsx') || entry.basename.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions), {
|
|
92
|
+
filename: entry.basename
|
|
94
93
|
})).then(function(output) {
|
|
95
|
-
var
|
|
96
|
-
var
|
|
94
|
+
var extTarget = type === 'esm' ? (0, _patchESM.default)(entry, output, options) : (0, _patchCJS.default)(entry, output, options);
|
|
95
|
+
var ext = _path.default.extname(entry.path);
|
|
96
|
+
var outPath = _path.default.join(dest, (ext ? entry.path.slice(0, -ext.length) : entry.path) + extTarget);
|
|
97
97
|
(0, _mkdirpclassic.default)(_path.default.dirname(outPath), function() {
|
|
98
98
|
var queue = new _queuecb.default();
|
|
99
99
|
queue.defer(_fs.default.writeFile.bind(null, outPath, output.code, 'utf8'));
|
|
@@ -0,0 +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';\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 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"],"names":["transformFile","_require","require","Module","createRequire","swcLazy","lazy","entry","dest","type","options","callback","tsconfig","config","compilerOptions","module","target","swcOptions","swcPrepareOptions","swc","fullPath","basename","endsWith","tsxOptions","nonTsxOptions","filename","then","output","extTarget","patchESM","patchCJS","ext","path","extname","outPath","join","slice","length","mkdirp","dirname","queue","Queue","defer","fs","writeFile","bind","code","sourceMaps","map","await","err","catch"],"mappings":";;;;+BAcA;;;eAAwBA;;;yDAdT;2DACE;oEACE;8DACD;+DAEG;+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;IACxE,IAAIC,WAAWF,QAAQE,QAAQ;IAE/B,oBAAoB;IACpB,IAAIH,SAAS,OAAO;QAClBG,WAAW,mBAAKA;QAChBA,SAASC,MAAM,GAAG,mBAAKD,SAASC,MAAM;QACtCD,SAASC,MAAM,CAACC,eAAe,GAAG,mBAAMF,SAASC,MAAM,CAACC,eAAe,IAAI,CAAC;QAC5EF,SAASC,MAAM,CAACC,eAAe,CAACC,MAAM,GAAG;QACzCH,SAASC,MAAM,CAACC,eAAe,CAACE,MAAM,GAAG;IAC3C;IAEA,IAAMC,aAAaC,IAAAA,0BAAiB,EAACN;IACrC,IAAMO,MAAMd;IAEZc,IACGnB,aAAa,CAACO,MAAMa,QAAQ,EAAE,wCACzBb,MAAMc,QAAQ,CAACC,QAAQ,CAAC,WAAWf,MAAMc,QAAQ,CAACC,QAAQ,CAAC,UAAUL,WAAWM,UAAU,GAAGN,WAAWO,aAAa;QACzHC,UAAUlB,MAAMc,QAAQ;QAEzBK,IAAI,CAAC,SAACC;QACL,IAAMC,YAAYnB,SAAS,QAAQoB,IAAAA,iBAAQ,EAACtB,OAAOoB,QAAQjB,WAAWoB,IAAAA,iBAAQ,EAACvB,OAAOoB,QAAQjB;QAC9F,IAAMqB,MAAMC,aAAI,CAACC,OAAO,CAAC1B,MAAMyB,IAAI;QACnC,IAAME,UAAUF,aAAI,CAACG,IAAI,CAAC3B,MAAM,AAACuB,CAAAA,MAAMxB,MAAMyB,IAAI,CAACI,KAAK,CAAC,GAAG,CAACL,IAAIM,MAAM,IAAI9B,MAAMyB,IAAI,AAAD,IAAKJ;QAExFU,IAAAA,sBAAM,EAACN,aAAI,CAACO,OAAO,CAACL,UAAU;YAC5B,IAAMM,QAAQ,IAAIC,gBAAK;YACvBD,MAAME,KAAK,CAACC,WAAE,CAACC,SAAS,CAACC,IAAI,CAAC,MAAMX,SAASP,OAAOmB,IAAI,EAAE;YAC1D,CAACpC,QAAQqC,UAAU,IAAIP,MAAME,KAAK,CAACC,WAAE,CAACC,SAAS,CAACC,IAAI,CAAC,MAAM,AAAC,GAAU,OAARX,SAAQ,SAAOP,OAAOqB,GAAG,EAAE;YACzFR,MAAMS,KAAK,CAAC,SAACC;uBAASA,MAAMvC,SAASuC,OAAOvC,SAAS,MAAMuB;;QAC7D;IACF,GACCiB,KAAK,CAACxC;AACX"}
|
|
@@ -35,10 +35,14 @@ function resolveFileSync(specifier, context) {
|
|
|
35
35
|
});
|
|
36
36
|
if (item) return _path.default.join(filePath, item);
|
|
37
37
|
} else if (!stat && !_constants.moduleRegEx.test(specifier)) {
|
|
38
|
-
var
|
|
38
|
+
var ext = _path.default.extname(filePath);
|
|
39
|
+
var basename = ext ? _path.default.basename(filePath).slice(0, -ext.length) : _path.default.basename(filePath);
|
|
39
40
|
var items1 = _fs.default.readdirSync(_path.default.dirname(filePath));
|
|
40
41
|
var item1 = items1.find(function(x) {
|
|
41
|
-
|
|
42
|
+
if (_constants.typeFileRegEx.test(x)) return false;
|
|
43
|
+
var extTest = _path.default.extname(x);
|
|
44
|
+
var basenameTest = extTest ? _path.default.basename(x).slice(0, -extTest.length) : _path.default.basename(x);
|
|
45
|
+
return basename === basenameTest;
|
|
42
46
|
});
|
|
43
47
|
if (item1) return _path.default.join(_path.default.dirname(filePath), item1);
|
|
44
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { moduleRegEx, typeFileRegEx } from './constants';\nimport extensions from './extensions';\nimport toPath from './toPath';\nimport type { Context } from './types';\n\nconst indexExtensions = extensions.map((x) => `index${x}`);\n\nexport default function resolveFileSync(specifier: string, context?: Context) {\n const filePath = toPath(specifier, context);\n let stat: fs.Stats;\n try {\n stat = fs.statSync(filePath);\n } catch (_err) {}\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { moduleRegEx, typeFileRegEx } from './constants';\nimport extensions from './extensions';\nimport toPath from './toPath';\nimport type { Context } from './types';\n\nconst indexExtensions = extensions.map((x) => `index${x}`);\n\nexport default function resolveFileSync(specifier: string, context?: Context) {\n const filePath = toPath(specifier, context);\n let stat: fs.Stats;\n try {\n stat = fs.statSync(filePath);\n } catch (_err) {}\n try {\n if ((stat && stat.isDirectory()) || specifier.endsWith('/')) {\n const items = fs.readdirSync(filePath);\n const item = items.find((x) => indexExtensions.indexOf(x) >= 0);\n if (item) return path.join(filePath, item);\n } else if (!stat && !moduleRegEx.test(specifier)) {\n const ext = path.extname(filePath);\n const basename = ext ? path.basename(filePath).slice(0, -ext.length) : path.basename(filePath);\n const items = fs.readdirSync(path.dirname(filePath));\n const item = items.find((x) => {\n if (typeFileRegEx.test(x)) return false;\n const extTest = path.extname(x);\n const basenameTest = extTest ? path.basename(x).slice(0, -extTest.length) : path.basename(x);\n return basename === basenameTest;\n });\n if (item) return path.join(path.dirname(filePath), item);\n }\n // return what was found\n return stat ? filePath : null;\n } catch (_err) {\n return null;\n }\n}\n"],"names":["resolveFileSync","indexExtensions","extensions","map","x","specifier","context","filePath","toPath","stat","fs","statSync","_err","isDirectory","endsWith","items","readdirSync","item","find","indexOf","path","join","moduleRegEx","test","ext","extname","basename","slice","length","dirname","typeFileRegEx","extTest","basenameTest"],"mappings":";;;;+BASA;;;eAAwBA;;;yDATT;2DACE;yBAC0B;iEACpB;6DACJ;;;;;;AAGnB,IAAMC,kBAAkBC,mBAAU,CAACC,GAAG,CAAC,SAACC;WAAM,AAAC,QAAS,OAAFA;;AAEvC,SAASJ,gBAAgBK,SAAiB,EAAEC,OAAiB;IAC1E,IAAMC,WAAWC,IAAAA,eAAM,EAACH,WAAWC;IACnC,IAAIG;IACJ,IAAI;QACFA,OAAOC,WAAE,CAACC,QAAQ,CAACJ;IACrB,EAAE,OAAOK,MAAM,CAAC;IAChB,IAAI;QACF,IAAI,AAACH,QAAQA,KAAKI,WAAW,MAAOR,UAAUS,QAAQ,CAAC,MAAM;YAC3D,IAAMC,QAAQL,WAAE,CAACM,WAAW,CAACT;YAC7B,IAAMU,OAAOF,MAAMG,IAAI,CAAC,SAACd;uBAAMH,gBAAgBkB,OAAO,CAACf,MAAM;;YAC7D,IAAIa,MAAM,OAAOG,aAAI,CAACC,IAAI,CAACd,UAAUU;QACvC,OAAO,IAAI,CAACR,QAAQ,CAACa,sBAAW,CAACC,IAAI,CAAClB,YAAY;YAChD,IAAMmB,MAAMJ,aAAI,CAACK,OAAO,CAAClB;YACzB,IAAMmB,WAAWF,MAAMJ,aAAI,CAACM,QAAQ,CAACnB,UAAUoB,KAAK,CAAC,GAAG,CAACH,IAAII,MAAM,IAAIR,aAAI,CAACM,QAAQ,CAACnB;YACrF,IAAMQ,SAAQL,WAAE,CAACM,WAAW,CAACI,aAAI,CAACS,OAAO,CAACtB;YAC1C,IAAMU,QAAOF,OAAMG,IAAI,CAAC,SAACd;gBACvB,IAAI0B,wBAAa,CAACP,IAAI,CAACnB,IAAI,OAAO;gBAClC,IAAM2B,UAAUX,aAAI,CAACK,OAAO,CAACrB;gBAC7B,IAAM4B,eAAeD,UAAUX,aAAI,CAACM,QAAQ,CAACtB,GAAGuB,KAAK,CAAC,GAAG,CAACI,QAAQH,MAAM,IAAIR,aAAI,CAACM,QAAQ,CAACtB;gBAC1F,OAAOsB,aAAaM;YACtB;YACA,IAAIf,OAAM,OAAOG,aAAI,CAACC,IAAI,CAACD,aAAI,CAACS,OAAO,CAACtB,WAAWU;QACrD;QACA,wBAAwB;QACxB,OAAOR,OAAOF,WAAW;IAC3B,EAAE,OAAOK,MAAM;QACb,OAAO;IACT;AACF"}
|
|
@@ -75,7 +75,7 @@ function transformDirectory(src, dest, type, options, callback) {
|
|
|
75
75
|
if (typeof callback === 'function') return workerWrapper(version, src, dest, type, options, callback);
|
|
76
76
|
return new Promise(function(resolve, reject) {
|
|
77
77
|
return workerWrapper(version, src, dest, type, options, function(err, result) {
|
|
78
|
-
err ? reject(err) : resolve(result);
|
|
78
|
+
return err ? reject(err) : resolve(result);
|
|
79
79
|
});
|
|
80
80
|
});
|
|
81
81
|
} catch (err) {
|
|
@@ -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 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);\nimport wrapWorker from './lib/wrapWorker';\nconst workerWrapper = wrapWorker(path.resolve(__dirname, '..', 'cjs', 'workers', 'transformDirectory.cjs'));\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 workerWrapper(version, src, dest, type, options, callback);\n return new Promise((resolve, reject)
|
|
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);\nimport wrapWorker from './lib/wrapWorker';\nconst workerWrapper = wrapWorker(path.resolve(__dirname, '..', 'cjs', 'workers', 'transformDirectory.cjs'));\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 workerWrapper(version, src, dest, type, options, callback);\n return new Promise((resolve, reject) => workerWrapper(version, src, dest, type, options, (err, result) => (err ? reject(err) : resolve(result))));\n } catch (err) {\n console.log(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","workerWrapper","wrapWorker","resolve","src","dest","type","options","callback","Error","tsconfig","loadTsConfig","cwd","Promise","reject","err","result","console","log"],"mappings":";;;;+BAWA;;;;;;;CAOC,GACD;;;eAAwBA;;;2DAnBP;0DACD;mEACS;iEAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAHvB,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;AAExG,IAAMG,gBAAgBC,IAAAA,mBAAU,EAACN,aAAI,CAACO,OAAO,CAACR,WAAW,MAAM,OAAO,WAAW;AAWlE,SAASP,mBAAmBgB,GAAW,EAAEC,IAAY,EAAEC,IAAY,EAAEC,OAAoD,EAAEC,QAAqC;IAC7K,IAAI;QACF,IAAI,OAAOJ,QAAQ,UAAU,MAAM,IAAIK,MAAM;QAC7C,IAAI,OAAOJ,SAAS,UAAU,MAAM,IAAII,MAAM;QAC9C,IAAI,OAAOH,SAAS,UAAU,MAAM,IAAIG,MAAM;QAE9C,IAAI,OAAOF,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QACAA,UAAUA,WAAW,CAAC;QACtB,IAAMG,WAAWC,IAAAA,qBAAY,EAAC;YAAEC,KAAKR;WAAQG,UAAW;QACxDA,UAAU;YAAEG,UAAAA;WAAaH;QAEzB,IAAI,OAAOC,aAAa,YAAY,OAAOP,cAAcP,SAASU,KAAKC,MAAMC,MAAMC,SAASC;QAC5F,OAAO,IAAIK,QAAQ,SAACV,SAASW;mBAAWb,cAAcP,SAASU,KAAKC,MAAMC,MAAMC,SAAS,SAACQ,KAAKC;uBAAYD,MAAMD,OAAOC,OAAOZ,QAAQa;;;IACzI,EAAE,OAAOD,KAAK;QACZE,QAAQC,GAAG,CAACH;QACZ,IAAIP,UAAUA,SAASO;aAClB,OAAOF,QAAQC,MAAM,CAACC;IAC7B;AACF"}
|
|
@@ -66,14 +66,14 @@ function transformTypes(src, dest, options, callback) {
|
|
|
66
66
|
options = options || {};
|
|
67
67
|
var tsconfig = (0, _loadTsConfig.default)(_object_spread({
|
|
68
68
|
cwd: src
|
|
69
|
-
}, options), '
|
|
69
|
+
}, options), 'transformTypes');
|
|
70
70
|
options = _object_spread({
|
|
71
71
|
tsconfig: tsconfig
|
|
72
72
|
}, options);
|
|
73
73
|
if (typeof callback === 'function') return workerWrapper(version, src, dest, options, callback);
|
|
74
74
|
return new Promise(function(resolve, reject) {
|
|
75
75
|
return workerWrapper(version, src, dest, options, function(err, result) {
|
|
76
|
-
err ? reject(err) : resolve(result);
|
|
76
|
+
return err ? reject(err) : resolve(result);
|
|
77
77
|
});
|
|
78
78
|
});
|
|
79
79
|
} catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/transformTypes.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);\nimport wrapWorker from './lib/wrapWorker';\nconst workerWrapper = wrapWorker(path.resolve(__dirname, '..', 'cjs', 'workers', 'transformTypes.cjs'));\n\nimport type { ConfigOptions, TransformTypesCallback } from './types';\n\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write files to.\n * @param {{tsconfig: TsConfigResult}} options Options.\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 transformTypes(src: string, dest: string, options?: ConfigOptions | TransformTypesCallback, callback?: TransformTypesCallback): undefined | Promise<string[]> {\n try {\n if (typeof src !== 'string') throw new Error('transformTypes: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformTypes: unexpected destination directory');\n\n if (typeof options === 'function') {\n callback = options as TransformTypesCallback;\n options = null;\n }\n options = options || {};\n const tsconfig = loadTsConfig({ cwd: src, ...options }, '
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/transformTypes.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);\nimport wrapWorker from './lib/wrapWorker';\nconst workerWrapper = wrapWorker(path.resolve(__dirname, '..', 'cjs', 'workers', 'transformTypes.cjs'));\n\nimport type { ConfigOptions, TransformTypesCallback } from './types';\n\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write files to.\n * @param {{tsconfig: TsConfigResult}} options Options.\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 transformTypes(src: string, dest: string, options?: ConfigOptions | TransformTypesCallback, callback?: TransformTypesCallback): undefined | Promise<string[]> {\n try {\n if (typeof src !== 'string') throw new Error('transformTypes: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformTypes: unexpected destination directory');\n\n if (typeof options === 'function') {\n callback = options as TransformTypesCallback;\n options = null;\n }\n options = options || {};\n const tsconfig = loadTsConfig({ cwd: src, ...options }, 'transformTypes');\n options = { tsconfig, ...options };\n\n if (typeof callback === 'function') return workerWrapper(version, src, dest, options, callback);\n return new Promise((resolve, reject) => workerWrapper(version, src, dest, options, (err, result) => (err ? reject(err) : resolve(result))));\n } catch (err) {\n console.log(err);\n if (callback) callback(err);\n else return Promise.reject(err);\n }\n}\n"],"names":["transformTypes","major","process","versions","node","split","version","__dirname","path","dirname","__filename","url","fileURLToPath","workerWrapper","wrapWorker","resolve","src","dest","options","callback","Error","tsconfig","loadTsConfig","cwd","Promise","reject","err","result","console","log"],"mappings":";;;;+BAYA;;;;;;CAMC,GACD;;;eAAwBA;;;2DAnBP;0DACD;mEACS;iEAKF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAHvB,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;AAExG,IAAMG,gBAAgBC,IAAAA,mBAAU,EAACN,aAAI,CAACO,OAAO,CAACR,WAAW,MAAM,OAAO,WAAW;AAWlE,SAASP,eAAegB,GAAW,EAAEC,IAAY,EAAEC,OAAgD,EAAEC,QAAiC;IACnJ,IAAI;QACF,IAAI,OAAOH,QAAQ,UAAU,MAAM,IAAII,MAAM;QAC7C,IAAI,OAAOH,SAAS,UAAU,MAAM,IAAIG,MAAM;QAE9C,IAAI,OAAOF,YAAY,YAAY;YACjCC,WAAWD;YACXA,UAAU;QACZ;QACAA,UAAUA,WAAW,CAAC;QACtB,IAAMG,WAAWC,IAAAA,qBAAY,EAAC;YAAEC,KAAKP;WAAQE,UAAW;QACxDA,UAAU;YAAEG,UAAAA;WAAaH;QAEzB,IAAI,OAAOC,aAAa,YAAY,OAAON,cAAcP,SAASU,KAAKC,MAAMC,SAASC;QACtF,OAAO,IAAIK,QAAQ,SAACT,SAASU;mBAAWZ,cAAcP,SAASU,KAAKC,MAAMC,SAAS,SAACQ,KAAKC;uBAAYD,MAAMD,OAAOC,OAAOX,QAAQY;;;IACnI,EAAE,OAAOD,KAAK;QACZE,QAAQC,GAAG,CAACH;QACZ,IAAIP,UAAUA,SAASO;aAClB,OAAOF,QAAQC,MAAM,CAACC;IAC7B;AACF"}
|
|
@@ -8,13 +8,12 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return transformDirectoryWorker;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
12
11
|
var _fsiterator = /*#__PURE__*/ _interop_require_default(require("fs-iterator"));
|
|
13
12
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
14
13
|
var _rimraf2 = /*#__PURE__*/ _interop_require_default(require("rimraf2"));
|
|
15
14
|
var _constants = require("../constants.cjs");
|
|
16
15
|
var _createMatcher = /*#__PURE__*/ _interop_require_default(require("../createMatcher.cjs"));
|
|
17
|
-
var _transformFile = /*#__PURE__*/ _interop_require_default(require("
|
|
16
|
+
var _transformFile = /*#__PURE__*/ _interop_require_default(require("../lib/transformFile.cjs"));
|
|
18
17
|
function _define_property(obj, key, value) {
|
|
19
18
|
if (key in obj) {
|
|
20
19
|
Object.defineProperty(obj, key, {
|
|
@@ -90,12 +89,14 @@ function transformDirectoryWorker(src, dest, type, options, callback) {
|
|
|
90
89
|
if (err) return callback(err);
|
|
91
90
|
var results = [];
|
|
92
91
|
options = _object_spread_props(_object_spread({}, options), {
|
|
93
|
-
tsconfig: tsconfig
|
|
92
|
+
tsconfig: tsconfig,
|
|
93
|
+
src: src,
|
|
94
|
+
dest: dest
|
|
94
95
|
});
|
|
95
96
|
var queue = new _queuecb.default();
|
|
96
97
|
entries.forEach(function(entry) {
|
|
97
98
|
queue.defer(function(cb) {
|
|
98
|
-
return (0, _transformFile.default)(entry
|
|
99
|
+
return (0, _transformFile.default)(entry, dest, type, options, function(err, outPath) {
|
|
99
100
|
if (err) return cb(err);
|
|
100
101
|
results.push(outPath);
|
|
101
102
|
if (options.sourceMaps) results.push("".concat(outPath, ".map"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport { SKIPS, typeFileRegEx } from '../constants';\nimport createMatcher from '../createMatcher';\nimport transformFile from '
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport { SKIPS, typeFileRegEx } from '../constants';\nimport createMatcher from '../createMatcher';\nimport transformFile from '../lib/transformFile';\n\nexport default function transformDirectoryWorker(src, dest, type, options, callback) {\n const tsconfig = options.tsconfig;\n const matcher = createMatcher(tsconfig);\n\n rimraf2(dest, { disableGlob: true }, () => {\n const entries = [];\n const iterator = new Iterator(src);\n iterator.forEach(\n (entry) => {\n if (!entry.stats.isFile()) return;\n if (!matcher(entry.fullPath)) return;\n if (typeFileRegEx.test(entry.basename)) return;\n if (SKIPS.indexOf(entry.basename) >= 0) return;\n entries.push(entry);\n },\n (err) => {\n if (err) return callback(err);\n const results = [];\n options = { ...options, tsconfig, src, dest };\n\n const queue = new Queue();\n entries.forEach((entry) => {\n queue.defer((cb) =>\n transformFile(entry, dest, type, options, (err, outPath) => {\n if (err) return cb(err);\n results.push(outPath);\n if (options.sourceMaps) results.push(`${outPath}.map`);\n cb();\n })\n );\n });\n queue.await((err) => (err ? callback(err) : callback(null, results)));\n }\n );\n });\n}\n"],"names":["transformDirectoryWorker","src","dest","type","options","callback","tsconfig","matcher","createMatcher","rimraf2","disableGlob","entries","iterator","Iterator","forEach","entry","stats","isFile","fullPath","typeFileRegEx","test","basename","SKIPS","indexOf","push","err","results","queue","Queue","defer","cb","transformFile","outPath","sourceMaps","await"],"mappings":";;;;+BASA;;;eAAwBA;;;iEARH;8DACH;8DACE;yBAEiB;oEACX;oEACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEX,SAASA,yBAAyBC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACjF,IAAMC,WAAWF,QAAQE,QAAQ;IACjC,IAAMC,UAAUC,IAAAA,sBAAa,EAACF;IAE9BG,IAAAA,gBAAO,EAACP,MAAM;QAAEQ,aAAa;IAAK,GAAG;QACnC,IAAMC,UAAU,EAAE;QAClB,IAAMC,WAAW,IAAIC,mBAAQ,CAACZ;QAC9BW,SAASE,OAAO,CACd,SAACC;YACC,IAAI,CAACA,MAAMC,KAAK,CAACC,MAAM,IAAI;YAC3B,IAAI,CAACV,QAAQQ,MAAMG,QAAQ,GAAG;YAC9B,IAAIC,wBAAa,CAACC,IAAI,CAACL,MAAMM,QAAQ,GAAG;YACxC,IAAIC,gBAAK,CAACC,OAAO,CAACR,MAAMM,QAAQ,KAAK,GAAG;YACxCV,QAAQa,IAAI,CAACT;QACf,GACA,SAACU;YACC,IAAIA,KAAK,OAAOpB,SAASoB;YACzB,IAAMC,UAAU,EAAE;YAClBtB,UAAU,wCAAKA;gBAASE,UAAAA;gBAAUL,KAAAA;gBAAKC,MAAAA;;YAEvC,IAAMyB,QAAQ,IAAIC,gBAAK;YACvBjB,QAAQG,OAAO,CAAC,SAACC;gBACfY,MAAME,KAAK,CAAC,SAACC;2BACXC,IAAAA,sBAAa,EAAChB,OAAOb,MAAMC,MAAMC,SAAS,SAACqB,KAAKO;wBAC9C,IAAIP,KAAK,OAAOK,GAAGL;wBACnBC,QAAQF,IAAI,CAACQ;wBACb,IAAI5B,QAAQ6B,UAAU,EAAEP,QAAQF,IAAI,CAAC,AAAC,GAAU,OAARQ,SAAQ;wBAChDF;oBACF;;YAEJ;YACAH,MAAMO,KAAK,CAAC,SAACT;uBAASA,MAAMpB,SAASoB,OAAOpB,SAAS,MAAMqB;;QAC7D;IAEJ;AACF"}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -3,7 +3,6 @@ export * as constants from './constants.mjs';
|
|
|
3
3
|
export { default as extensions } from './extensions.mjs';
|
|
4
4
|
export { default as resolveFileSync } from './resolveFileSync.mjs';
|
|
5
5
|
export { default as toPath } from './toPath.mjs';
|
|
6
|
-
export { default as transformFile } from './transformFile.mjs';
|
|
7
6
|
export { default as transformDirectory } from './transformDirectory.mjs';
|
|
8
7
|
export { default as transformSync } from './transformSync.mjs';
|
|
9
8
|
export { default as transformTypes } from './transformTypes.mjs';
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/index.ts"],"sourcesContent":["export type * from './types';\nexport { default as createMatcher } from './createMatcher';\nexport * as constants from './constants';\nexport { default as extensions } from './extensions';\nexport { default as resolveFileSync } from './resolveFileSync';\nexport { default as toPath } from './toPath';\n\nexport { default as
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/index.ts"],"sourcesContent":["export type * from './types';\nexport { default as createMatcher } from './createMatcher';\nexport * as constants from './constants';\nexport { default as extensions } from './extensions';\nexport { default as resolveFileSync } from './resolveFileSync';\nexport { default as toPath } from './toPath';\n\nexport { default as transformDirectory } from './transformDirectory';\nexport { default as transformSync } from './transformSync';\nexport { default as transformTypes } from './transformTypes';\n"],"names":["default","createMatcher","constants","extensions","resolveFileSync","toPath","transformDirectory","transformSync","transformTypes"],"mappings":"AACA,SAASA,WAAWC,aAAa,QAAQ,kBAAkB;AAC3D,OAAO,KAAKC,SAAS,MAAM,cAAc;AACzC,SAASF,WAAWG,UAAU,QAAQ,eAAe;AACrD,SAASH,WAAWI,eAAe,QAAQ,oBAAoB;AAC/D,SAASJ,WAAWK,MAAM,QAAQ,WAAW;AAE7C,SAASL,WAAWM,kBAAkB,QAAQ,uBAAuB;AACrE,SAASN,WAAWO,aAAa,QAAQ,kBAAkB;AAC3D,SAASP,WAAWQ,cAAc,QAAQ,mBAAmB"}
|
|
@@ -1,30 +1,28 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
1
2
|
import path from 'path';
|
|
2
3
|
import { moduleRegEx } from '../constants.mjs';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (!
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
4
|
+
import parseSpecifiers from './parseSpecifiers.mjs';
|
|
5
|
+
export default function makeReplacements(entry, code, regex, extensions, extension, options) {
|
|
6
|
+
const { src } = options;
|
|
7
|
+
const parsed = parseSpecifiers(code, regex);
|
|
8
|
+
return parsed.map((parsed)=>{
|
|
9
|
+
if (!parsed.isSpecifier) return parsed.content;
|
|
10
|
+
const specifier = parsed.content;
|
|
11
|
+
if (moduleRegEx.test(specifier)) return specifier;
|
|
12
|
+
const ext = path.extname(specifier);
|
|
13
|
+
if (ext && extensions.indexOf(ext) < 0) return specifier;
|
|
14
|
+
if (!ext) {
|
|
15
|
+
try {
|
|
16
|
+
const basename = path.basename(specifier);
|
|
17
|
+
const fullPath = path.normalize(path.join(src, path.dirname(entry.path), specifier));
|
|
18
|
+
const files = fs.readdirSync(path.dirname(fullPath), {
|
|
19
|
+
withFileTypes: true
|
|
20
|
+
});
|
|
21
|
+
const found = files.find((x)=>x.name === basename);
|
|
22
|
+
if (found && found.isDirectory()) return specifier;
|
|
23
|
+
} catch (_err) {}
|
|
19
24
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
for(const index in matches){
|
|
24
|
-
const match = matches[index];
|
|
25
|
-
const start = match.match.index + match.match[0].lastIndexOf(match.dependency);
|
|
26
|
-
const dependencyNoExt = match.ext ? match.dependency.substring(0, match.dependency.length - match.ext.length) : match.dependency;
|
|
27
|
-
code = code.substring(0, start) + dependencyNoExt + extension + code.substring(start + match.dependency.length);
|
|
28
|
-
}
|
|
29
|
-
return code;
|
|
25
|
+
const stripped = ext ? specifier.slice(0, -ext.length) : specifier;
|
|
26
|
+
return `${stripped}${extension}`;
|
|
27
|
+
}).join('');
|
|
30
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/makeReplacements.ts"],"sourcesContent":["import path from 'path';\nimport { moduleRegEx } from '../constants';\n\nexport default function makeReplacements(code, regex, extensions, extension) {\n
|
|
1
|
+
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/makeReplacements.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { moduleRegEx } from '../constants';\nimport parseSpecifiers from './parseSpecifiers';\n\nexport default function makeReplacements(entry, code, regex, extensions, extension, options) {\n const { src } = options;\n const parsed = parseSpecifiers(code, regex);\n\n return parsed\n .map((parsed) => {\n if (!parsed.isSpecifier) return parsed.content;\n const specifier = parsed.content;\n if (moduleRegEx.test(specifier)) return specifier;\n\n const ext = path.extname(specifier);\n if (ext && extensions.indexOf(ext) < 0) return specifier;\n if (!ext) {\n try {\n const basename = path.basename(specifier);\n const fullPath = path.normalize(path.join(src, path.dirname(entry.path), specifier));\n const files = fs.readdirSync(path.dirname(fullPath), { withFileTypes: true });\n const found = files.find((x) => x.name === basename);\n if (found && found.isDirectory()) return specifier;\n } catch (_err) {}\n }\n const stripped = ext ? specifier.slice(0, -ext.length) : specifier;\n return `${stripped}${extension}`;\n })\n .join('');\n}\n"],"names":["fs","path","moduleRegEx","parseSpecifiers","makeReplacements","entry","code","regex","extensions","extension","options","src","parsed","map","isSpecifier","content","specifier","test","ext","extname","indexOf","basename","fullPath","normalize","join","dirname","files","readdirSync","withFileTypes","found","find","x","name","isDirectory","_err","stripped","slice","length"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,SAASC,WAAW,QAAQ,eAAe;AAC3C,OAAOC,qBAAqB,oBAAoB;AAEhD,eAAe,SAASC,iBAAiBC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO;IACzF,MAAM,EAAEC,GAAG,EAAE,GAAGD;IAChB,MAAME,SAAST,gBAAgBG,MAAMC;IAErC,OAAOK,OACJC,GAAG,CAAC,CAACD;QACJ,IAAI,CAACA,OAAOE,WAAW,EAAE,OAAOF,OAAOG,OAAO;QAC9C,MAAMC,YAAYJ,OAAOG,OAAO;QAChC,IAAIb,YAAYe,IAAI,CAACD,YAAY,OAAOA;QAExC,MAAME,MAAMjB,KAAKkB,OAAO,CAACH;QACzB,IAAIE,OAAOV,WAAWY,OAAO,CAACF,OAAO,GAAG,OAAOF;QAC/C,IAAI,CAACE,KAAK;YACR,IAAI;gBACF,MAAMG,WAAWpB,KAAKoB,QAAQ,CAACL;gBAC/B,MAAMM,WAAWrB,KAAKsB,SAAS,CAACtB,KAAKuB,IAAI,CAACb,KAAKV,KAAKwB,OAAO,CAACpB,MAAMJ,IAAI,GAAGe;gBACzE,MAAMU,QAAQ1B,GAAG2B,WAAW,CAAC1B,KAAKwB,OAAO,CAACH,WAAW;oBAAEM,eAAe;gBAAK;gBAC3E,MAAMC,QAAQH,MAAMI,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKX;gBAC3C,IAAIQ,SAASA,MAAMI,WAAW,IAAI,OAAOjB;YAC3C,EAAE,OAAOkB,MAAM,CAAC;QAClB;QACA,MAAMC,WAAWjB,MAAMF,UAAUoB,KAAK,CAAC,GAAG,CAAClB,IAAImB,MAAM,IAAIrB;QACzD,OAAO,GAAGmB,WAAW1B,WAAW;IAClC,GACCe,IAAI,CAAC;AACV"}
|