ts-swc-transform 1.3.0 → 1.3.2
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/constants.js +21 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/index.js +0 -14
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/fileURLToPath.js +23 -0
- package/dist/cjs/lib/fileURLToPath.js.map +1 -0
- package/dist/cjs/resolveFileSync.js +3 -4
- package/dist/cjs/resolveFileSync.js.map +1 -1
- package/dist/cjs/toPath.js +8 -8
- package/dist/cjs/toPath.js.map +1 -1
- package/dist/cjs/transformDirectory.js +4 -4
- package/dist/cjs/transformDirectory.js.map +1 -1
- package/dist/cjs/transformFile.js +2 -2
- package/dist/cjs/transformFile.js.map +1 -1
- package/dist/cjs/transformSync.js +2 -2
- package/dist/cjs/transformSync.js.map +1 -1
- package/dist/esm/constants.mjs +2 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/index.mjs +0 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/lib/fileURLToPath.mjs +7 -0
- package/dist/esm/lib/fileURLToPath.mjs.map +1 -0
- package/dist/esm/resolveFileSync.mjs +1 -2
- package/dist/esm/resolveFileSync.mjs.map +1 -1
- package/dist/esm/toPath.mjs +4 -5
- package/dist/esm/toPath.mjs.map +1 -1
- package/dist/esm/transformDirectory.mjs +0 -2
- package/dist/esm/transformDirectory.mjs.map +1 -1
- package/dist/esm/transformFile.mjs +0 -1
- package/dist/esm/transformFile.mjs.map +1 -1
- package/dist/esm/transformSync.mjs +1 -2
- package/dist/esm/transformSync.mjs.map +1 -1
- package/dist/types/constants.d.ts +2 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/lib/fileURLToPath.d.ts +3 -0
- package/package.json +3 -2
- package/dist/cjs/lib/process.js +0 -3
- package/dist/cjs/lib/process.js.map +0 -1
- package/dist/esm/lib/process.cjs +0 -1
- package/dist/esm/lib/process.cjs.map +0 -1
- package/dist/types/lib/process.d.cts +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
moduleRegEx: function() {
|
|
13
|
+
return moduleRegEx;
|
|
14
|
+
},
|
|
15
|
+
typeFileRegEx: function() {
|
|
16
|
+
return typeFileRegEx;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var moduleRegEx = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/;
|
|
20
|
+
var typeFileRegEx = /^[^.]+\.d\.[cm]?ts$/;
|
|
21
|
+
/* 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":["constants.ts"],"sourcesContent":["export const moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\nexport const typeFileRegEx = /^[^.]+\\.d\\.[cm]?ts$/;\n"],"names":["moduleRegEx","typeFileRegEx"],"mappings":";;;;;;;;;;;IAAaA,WAAW;eAAXA;;IACAC,aAAa;eAAbA;;;AADN,IAAMD,cAAc;AACpB,IAAMC,gBAAgB"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -31,7 +31,6 @@ _export(exports, {
|
|
|
31
31
|
return _transformSync.default;
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
-
_export_star(require("./types.js"), exports);
|
|
35
34
|
var _createMatcher = /*#__PURE__*/ _interop_require_default(require("./createMatcher.js"));
|
|
36
35
|
var _extensions = /*#__PURE__*/ _interop_require_default(require("./extensions.js"));
|
|
37
36
|
var _resolveFileSync = /*#__PURE__*/ _interop_require_default(require("./resolveFileSync.js"));
|
|
@@ -39,19 +38,6 @@ var _toPath = /*#__PURE__*/ _interop_require_default(require("./toPath.js"));
|
|
|
39
38
|
var _transformFile = /*#__PURE__*/ _interop_require_default(require("./transformFile.js"));
|
|
40
39
|
var _transformDirectory = /*#__PURE__*/ _interop_require_default(require("./transformDirectory.js"));
|
|
41
40
|
var _transformSync = /*#__PURE__*/ _interop_require_default(require("./transformSync.js"));
|
|
42
|
-
function _export_star(from, to) {
|
|
43
|
-
Object.keys(from).forEach(function(k) {
|
|
44
|
-
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
45
|
-
Object.defineProperty(to, k, {
|
|
46
|
-
enumerable: true,
|
|
47
|
-
get: function() {
|
|
48
|
-
return from[k];
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
return from;
|
|
54
|
-
}
|
|
55
41
|
function _interop_require_default(obj) {
|
|
56
42
|
return obj && obj.__esModule ? obj : {
|
|
57
43
|
default: obj
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export type { Context } 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"}
|
|
@@ -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 _default;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
12
|
+
function _interop_require_default(obj) {
|
|
13
|
+
return obj && obj.__esModule ? obj : {
|
|
14
|
+
default: obj
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function fileURLToPathPolyfill(fileURL) {
|
|
18
|
+
var path = typeof fileURL === 'string' ? fileURL : fileURL.pathname;
|
|
19
|
+
if (!path.startsWith('file:')) throw new Error('The URL must use the file: protocol');
|
|
20
|
+
return decodeURIComponent(path.substring(7));
|
|
21
|
+
}
|
|
22
|
+
var _default = _url.default.fileURLToPath || fileURLToPathPolyfill;
|
|
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":["fileURLToPath.ts"],"sourcesContent":["import url from 'url';\n\nfunction fileURLToPathPolyfill(fileURL) {\n const path = typeof fileURL === 'string' ? fileURL : fileURL.pathname;\n if (!path.startsWith('file:')) throw new Error('The URL must use the file: protocol');\n return decodeURIComponent(path.substring(7));\n}\n\nexport default url.fileURLToPath || fileURLToPathPolyfill;\n"],"names":["fileURLToPathPolyfill","fileURL","path","pathname","startsWith","Error","decodeURIComponent","substring","url","fileURLToPath"],"mappings":";;;;+BAQA;;;eAAA;;;0DARgB;;;;;;AAEhB,SAASA,sBAAsBC,OAAO;IACpC,IAAMC,OAAO,OAAOD,YAAY,WAAWA,UAAUA,QAAQE,QAAQ;IACrE,IAAI,CAACD,KAAKE,UAAU,CAAC,UAAU,MAAM,IAAIC,MAAM;IAC/C,OAAOC,mBAAmBJ,KAAKK,SAAS,CAAC;AAC3C;IAEA,WAAeC,YAAG,CAACC,aAAa,IAAIT"}
|
|
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
12
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
|
+
var _constants = require("./constants.js");
|
|
13
14
|
var _extensions = /*#__PURE__*/ _interop_require_default(require("./extensions.js"));
|
|
14
15
|
var _toPath = /*#__PURE__*/ _interop_require_default(require("./toPath.js"));
|
|
15
16
|
function _interop_require_default(obj) {
|
|
@@ -17,8 +18,6 @@ function _interop_require_default(obj) {
|
|
|
17
18
|
default: obj
|
|
18
19
|
};
|
|
19
20
|
}
|
|
20
|
-
var moduleRegEx = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/;
|
|
21
|
-
var typeFileRegEx = /^[^.]+\.d\.[cm]?ts$/;
|
|
22
21
|
var indexExtensions = _extensions.default.map(function(x) {
|
|
23
22
|
return "index".concat(x);
|
|
24
23
|
});
|
|
@@ -36,11 +35,11 @@ function resolveFileSync(specifier, context) {
|
|
|
36
35
|
return indexExtensions.indexOf(x) >= 0;
|
|
37
36
|
});
|
|
38
37
|
if (item) return _path.default.join(filePath, item);
|
|
39
|
-
} else if (!stats || !ext && !moduleRegEx.test(specifier)) {
|
|
38
|
+
} else if (!stats || !ext && !_constants.moduleRegEx.test(specifier)) {
|
|
40
39
|
var fileName = _path.default.basename(filePath).replace(/(\.[^/.]+)+$/, '');
|
|
41
40
|
var items1 = _fs.default.readdirSync(_path.default.dirname(filePath));
|
|
42
41
|
var item1 = items1.find(function(x) {
|
|
43
|
-
return x.startsWith(fileName) && !typeFileRegEx.test(x) && _extensions.default.indexOf(_path.default.extname(x)) >= 0;
|
|
42
|
+
return x.startsWith(fileName) && !_constants.typeFileRegEx.test(x) && _extensions.default.indexOf(_path.default.extname(x)) >= 0;
|
|
44
43
|
});
|
|
45
44
|
if (item1) return _path.default.join(_path.default.dirname(filePath), item1);
|
|
46
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport extensions from './extensions.js';\nimport toPath from './toPath.js';\nimport type { Context } from './types.js';\n\nconst
|
|
1
|
+
{"version":3,"sources":["resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { moduleRegEx, typeFileRegEx } from './constants.js';\nimport extensions from './extensions.js';\nimport toPath from './toPath.js';\nimport type { Context } from './types.js';\n\nconst indexExtensions = extensions.map((x) => `index${x}`);\n\nexport default function resolveFileSync(specifier: string, context?: Context) {\n const filePath = toPath(specifier, context);\n const ext = path.extname(filePath);\n\n let stats: fs.Stats | undefined;\n try {\n stats = fs.statSync(filePath);\n } catch (_err) {}\n\n // biome-ignore lint/complexity/useOptionalChain: <explanation>\n if ((stats && stats.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 }\n\n // look up the extension\n else if (!stats || (!ext && !moduleRegEx.test(specifier))) {\n const fileName = path.basename(filePath).replace(/(\\.[^/.]+)+$/, '');\n const items = fs.readdirSync(path.dirname(filePath));\n const item = items.find((x) => x.startsWith(fileName) && !typeFileRegEx.test(x) && extensions.indexOf(path.extname(x)) >= 0);\n if (item) return path.join(path.dirname(filePath), item);\n }\n\n // return what was found\n return stats ? filePath : null;\n}\n"],"names":["resolveFileSync","indexExtensions","extensions","map","x","specifier","context","filePath","toPath","ext","path","extname","stats","fs","statSync","_err","isDirectory","endsWith","items","readdirSync","item","find","indexOf","join","moduleRegEx","test","fileName","basename","replace","dirname","startsWith","typeFileRegEx"],"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,IAAMG,MAAMC,aAAI,CAACC,OAAO,CAACJ;IAEzB,IAAIK;IACJ,IAAI;QACFA,QAAQC,WAAE,CAACC,QAAQ,CAACP;IACtB,EAAE,OAAOQ,MAAM,CAAC;IAEhB,+DAA+D;IAC/D,IAAI,AAACH,SAASA,MAAMI,WAAW,MAAOX,UAAUY,QAAQ,CAAC,MAAM;QAC7D,IAAMC,QAAQL,WAAE,CAACM,WAAW,CAACZ;QAC7B,IAAMa,OAAOF,MAAMG,IAAI,CAAC,SAACjB;mBAAMH,gBAAgBqB,OAAO,CAAClB,MAAM;;QAC7D,IAAIgB,MAAM,OAAOV,aAAI,CAACa,IAAI,CAAChB,UAAUa;IACvC,OAGK,IAAI,CAACR,SAAU,CAACH,OAAO,CAACe,sBAAW,CAACC,IAAI,CAACpB,YAAa;QACzD,IAAMqB,WAAWhB,aAAI,CAACiB,QAAQ,CAACpB,UAAUqB,OAAO,CAAC,gBAAgB;QACjE,IAAMV,SAAQL,WAAE,CAACM,WAAW,CAACT,aAAI,CAACmB,OAAO,CAACtB;QAC1C,IAAMa,QAAOF,OAAMG,IAAI,CAAC,SAACjB;mBAAMA,EAAE0B,UAAU,CAACJ,aAAa,CAACK,wBAAa,CAACN,IAAI,CAACrB,MAAMF,mBAAU,CAACoB,OAAO,CAACZ,aAAI,CAACC,OAAO,CAACP,OAAO;;QAC1H,IAAIgB,OAAM,OAAOV,aAAI,CAACa,IAAI,CAACb,aAAI,CAACmB,OAAO,CAACtB,WAAWa;IACrD;IAEA,wBAAwB;IACxB,OAAOR,QAAQL,WAAW;AAC5B"}
|
package/dist/cjs/toPath.js
CHANGED
|
@@ -10,29 +10,29 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
|
|
12
12
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
13
|
-
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
14
13
|
var _isabsolute = /*#__PURE__*/ _interop_require_default(require("is-absolute"));
|
|
14
|
+
var _process = /*#__PURE__*/ _interop_require_default(require("process"));
|
|
15
15
|
var _resolve = /*#__PURE__*/ _interop_require_default(require("resolve"));
|
|
16
|
-
var
|
|
16
|
+
var _constants = require("./constants.js");
|
|
17
|
+
var _fileURLToPath = /*#__PURE__*/ _interop_require_default(require("./lib/fileURLToPath.js"));
|
|
17
18
|
function _interop_require_default(obj) {
|
|
18
19
|
return obj && obj.__esModule ? obj : {
|
|
19
20
|
default: obj
|
|
20
21
|
};
|
|
21
22
|
}
|
|
22
|
-
var moduleRegEx = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/;
|
|
23
23
|
function getParentPath(context) {
|
|
24
24
|
if (context.parentPath) return _path.default.dirname(context.parentPath);
|
|
25
|
-
return context.parentURL ? _path.default.dirname(toPath(context.parentURL)) :
|
|
25
|
+
return context.parentURL ? _path.default.dirname(toPath(context.parentURL)) : _process.default.cwd();
|
|
26
26
|
}
|
|
27
27
|
function toPath(specifier, context) {
|
|
28
|
-
if (specifier.startsWith('file
|
|
28
|
+
if (specifier.startsWith('file:')) return (0, _fileURLToPath.default)(specifier);
|
|
29
29
|
if ((0, _isabsolute.default)(specifier)) return specifier;
|
|
30
30
|
if (specifier[0] === '.') {
|
|
31
|
-
var parentPath = context ? getParentPath(context) :
|
|
31
|
+
var parentPath = context ? getParentPath(context) : _process.default.cwd();
|
|
32
32
|
return _path.default.resolve(parentPath, specifier);
|
|
33
33
|
}
|
|
34
|
-
if (moduleRegEx.test(specifier)) {
|
|
35
|
-
var parentPath1 = context ? getParentPath(context) :
|
|
34
|
+
if (_constants.moduleRegEx.test(specifier)) {
|
|
35
|
+
var parentPath1 = context ? getParentPath(context) : _process.default.cwd();
|
|
36
36
|
var pkg = null;
|
|
37
37
|
var main = _resolve.default.sync(specifier, {
|
|
38
38
|
basedir: parentPath1,
|
package/dist/cjs/toPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["toPath.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport
|
|
1
|
+
{"version":3,"sources":["toPath.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport isAbsolute from 'is-absolute';\nimport process from 'process';\nimport resolve from 'resolve';\nimport { moduleRegEx } from './constants.js';\nimport fileURLToPath from './lib/fileURLToPath.js';\nimport type { Context } from './types.js';\n\nfunction getParentPath(context: Context) {\n if (context.parentPath) return path.dirname(context.parentPath);\n return context.parentURL ? path.dirname(toPath(context.parentURL)) : process.cwd();\n}\n\nexport default function toPath(specifier: string, context?: Context) {\n if (specifier.startsWith('file:')) return fileURLToPath(specifier);\n if (isAbsolute(specifier)) return specifier;\n if (specifier[0] === '.') {\n const parentPath = context ? getParentPath(context) : process.cwd();\n return path.resolve(parentPath, specifier);\n }\n if (moduleRegEx.test(specifier)) {\n const parentPath = context ? getParentPath(context) : process.cwd();\n\n let pkg = null;\n const main = resolve.sync(specifier, {\n basedir: parentPath,\n extensions: ['.js', '.json', '.node', '.mjs'],\n packageFilter(json, dir) {\n pkg = { json, dir };\n return json;\n },\n });\n if (!pkg || !pkg.json.module) return main; // no modules, use main\n if (pkg.json.name === specifier) return path.resolve(pkg.dir, pkg.json.module); // the module\n\n // a relative path. Only accept if it doesn't break the relative naming and it exists\n const modulePath = path.resolve(pkg.dir, pkg.json.module);\n const mainPath = path.resolve(pkg.dir, pkg.json.main);\n const moduleResolved = path.resolve(modulePath, path.relative(mainPath, main));\n return moduleResolved.indexOf(specifier.replace(pkg.json.name, '')) < 0 || !fs.existsSync(moduleResolved) ? main : moduleResolved;\n }\n\n return specifier;\n}\n"],"names":["toPath","getParentPath","context","parentPath","path","dirname","parentURL","process","cwd","specifier","startsWith","fileURLToPath","isAbsolute","resolve","moduleRegEx","test","pkg","main","sync","basedir","extensions","packageFilter","json","dir","module","name","modulePath","mainPath","moduleResolved","relative","indexOf","replace","fs","existsSync"],"mappings":";;;;+BAcA;;;eAAwBA;;;yDAdT;2DACE;iEACM;8DACH;8DACA;yBACQ;oEACF;;;;;;AAG1B,SAASC,cAAcC,OAAgB;IACrC,IAAIA,QAAQC,UAAU,EAAE,OAAOC,aAAI,CAACC,OAAO,CAACH,QAAQC,UAAU;IAC9D,OAAOD,QAAQI,SAAS,GAAGF,aAAI,CAACC,OAAO,CAACL,OAAOE,QAAQI,SAAS,KAAKC,gBAAO,CAACC,GAAG;AAClF;AAEe,SAASR,OAAOS,SAAiB,EAAEP,OAAiB;IACjE,IAAIO,UAAUC,UAAU,CAAC,UAAU,OAAOC,IAAAA,sBAAa,EAACF;IACxD,IAAIG,IAAAA,mBAAU,EAACH,YAAY,OAAOA;IAClC,IAAIA,SAAS,CAAC,EAAE,KAAK,KAAK;QACxB,IAAMN,aAAaD,UAAUD,cAAcC,WAAWK,gBAAO,CAACC,GAAG;QACjE,OAAOJ,aAAI,CAACS,OAAO,CAACV,YAAYM;IAClC;IACA,IAAIK,sBAAW,CAACC,IAAI,CAACN,YAAY;QAC/B,IAAMN,cAAaD,UAAUD,cAAcC,WAAWK,gBAAO,CAACC,GAAG;QAEjE,IAAIQ,MAAM;QACV,IAAMC,OAAOJ,gBAAO,CAACK,IAAI,CAACT,WAAW;YACnCU,SAAShB;YACTiB,YAAY;gBAAC;gBAAO;gBAAS;gBAAS;aAAO;YAC7CC,eAAAA,SAAAA,cAAcC,IAAI,EAAEC,GAAG;gBACrBP,MAAM;oBAAEM,MAAAA;oBAAMC,KAAAA;gBAAI;gBAClB,OAAOD;YACT;QACF;QACA,IAAI,CAACN,OAAO,CAACA,IAAIM,IAAI,CAACE,MAAM,EAAE,OAAOP,MAAM,uBAAuB;QAClE,IAAID,IAAIM,IAAI,CAACG,IAAI,KAAKhB,WAAW,OAAOL,aAAI,CAACS,OAAO,CAACG,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM,GAAG,aAAa;QAE7F,qFAAqF;QACrF,IAAME,aAAatB,aAAI,CAACS,OAAO,CAACG,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM;QACxD,IAAMG,WAAWvB,aAAI,CAACS,OAAO,CAACG,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACL,IAAI;QACpD,IAAMW,iBAAiBxB,aAAI,CAACS,OAAO,CAACa,YAAYtB,aAAI,CAACyB,QAAQ,CAACF,UAAUV;QACxE,OAAOW,eAAeE,OAAO,CAACrB,UAAUsB,OAAO,CAACf,IAAIM,IAAI,CAACG,IAAI,EAAE,OAAO,KAAK,CAACO,WAAE,CAACC,UAAU,CAACL,kBAAkBX,OAAOW;IACrH;IAEA,OAAOnB;AACT"}
|
|
@@ -18,8 +18,8 @@ Object.defineProperty(exports, /**
|
|
|
18
18
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
19
19
|
var _fsiterator = /*#__PURE__*/ _interop_require_default(require("fs-iterator"));
|
|
20
20
|
var _gettsconfigcompat = /*#__PURE__*/ _interop_require_default(require("get-tsconfig-compat"));
|
|
21
|
-
var
|
|
22
|
-
var
|
|
21
|
+
var _createMatcher = /*#__PURE__*/ _interop_require_default(require("./createMatcher.js"));
|
|
22
|
+
var _transformFile = /*#__PURE__*/ _interop_require_default(require("./transformFile.js"));
|
|
23
23
|
function _define_property(obj, key, value) {
|
|
24
24
|
if (key in obj) {
|
|
25
25
|
Object.defineProperty(obj, key, {
|
|
@@ -87,7 +87,7 @@ function transformDirectoryCallback(src, dest, type, options, callback) {
|
|
|
87
87
|
if (typeof dest !== 'string') throw new Error('transformDirectory: unexpected destination directory');
|
|
88
88
|
if (typeof type !== 'string') throw new Error('transformDirectory: unexpected type');
|
|
89
89
|
var tsconfig = options.tsconfig ? options.tsconfig : _gettsconfigcompat.default.getTsconfig(src);
|
|
90
|
-
var matcher = (0,
|
|
90
|
+
var matcher = (0, _createMatcher.default)(tsconfig);
|
|
91
91
|
options = _object_spread_props(_object_spread({}, options), {
|
|
92
92
|
tsconfig: tsconfig
|
|
93
93
|
});
|
|
@@ -95,7 +95,7 @@ function transformDirectoryCallback(src, dest, type, options, callback) {
|
|
|
95
95
|
iterator.forEach(function(entry, cb) {
|
|
96
96
|
if (!entry.stats.isFile()) return cb();
|
|
97
97
|
if (!matcher(entry.fullPath)) return cb();
|
|
98
|
-
(0,
|
|
98
|
+
(0, _transformFile.default)(entry.fullPath, _path.default.dirname(_path.default.join(dest, entry.path)), type, options, cb);
|
|
99
99
|
}, {
|
|
100
100
|
callbacks: true,
|
|
101
101
|
concurrency: options.concurrency || 1024
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport getTS from 'get-tsconfig-compat';\n\
|
|
1
|
+
{"version":3,"sources":["transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport getTS from 'get-tsconfig-compat';\n\nimport createMatcher from './createMatcher.js';\nimport transformFile from './transformFile.js';\n\nfunction transformDirectoryCallback(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\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 const tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);\n const matcher = createMatcher(tsconfig);\n\n options = { ...options, tsconfig };\n const iterator = new Iterator(src);\n iterator.forEach(\n (entry, cb) => {\n if (!entry.stats.isFile()) return cb();\n if (!matcher(entry.fullPath)) return cb();\n transformFile(entry.fullPath, path.dirname(path.join(dest, entry.path)), type, options, cb);\n },\n { callbacks: true, concurrency: options.concurrency || 1024 },\n callback\n );\n}\n\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, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n if (typeof callback === 'function') return transformDirectoryCallback(src, dest, type, options, callback);\n return new Promise((resolve, reject) => {\n transformDirectoryCallback(src, dest, type, options, function compileCallback(err, result) {\n err ? reject(err) : resolve(result);\n });\n });\n}\n"],"names":["transformDirectory","transformDirectoryCallback","src","dest","type","options","callback","Error","tsconfig","getTS","getTsconfig","matcher","createMatcher","iterator","Iterator","forEach","entry","cb","stats","isFile","fullPath","transformFile","path","dirname","join","callbacks","concurrency","Promise","resolve","reject","compileCallback","err","result"],"mappings":";;;;+BAkCA;;;;;;;CAOC,GACD;;;eAAwBA;;;2DA1CP;iEACI;wEACH;oEAEQ;oEACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE1B,SAASC,2BAA2BC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACpE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOH,QAAQ,UAAU,MAAM,IAAIK,MAAM;IAC7C,IAAI,OAAOJ,SAAS,UAAU,MAAM,IAAII,MAAM;IAC9C,IAAI,OAAOH,SAAS,UAAU,MAAM,IAAIG,MAAM;IAE9C,IAAMC,WAAWH,QAAQG,QAAQ,GAAGH,QAAQG,QAAQ,GAAGC,0BAAK,CAACC,WAAW,CAACR;IACzE,IAAMS,UAAUC,IAAAA,sBAAa,EAACJ;IAE9BH,UAAU,wCAAKA;QAASG,UAAAA;;IACxB,IAAMK,WAAW,IAAIC,mBAAQ,CAACZ;IAC9BW,SAASE,OAAO,CACd,SAACC,OAAOC;QACN,IAAI,CAACD,MAAME,KAAK,CAACC,MAAM,IAAI,OAAOF;QAClC,IAAI,CAACN,QAAQK,MAAMI,QAAQ,GAAG,OAAOH;QACrCI,IAAAA,sBAAa,EAACL,MAAMI,QAAQ,EAAEE,aAAI,CAACC,OAAO,CAACD,aAAI,CAACE,IAAI,CAACrB,MAAMa,MAAMM,IAAI,IAAIlB,MAAMC,SAASY;IAC1F,GACA;QAAEQ,WAAW;QAAMC,aAAarB,QAAQqB,WAAW,IAAI;IAAK,GAC5DpB;AAEJ;AAUe,SAASN,mBAAmBE,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC3E,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOL,2BAA2BC,KAAKC,MAAMC,MAAMC,SAASC;IAChG,OAAO,IAAIqB,QAAQ,SAACC,SAASC;QAC3B5B,2BAA2BC,KAAKC,MAAMC,MAAMC,SAAS,SAASyB,gBAAgBC,GAAG,EAAEC,MAAM;YACvFD,MAAMF,OAAOE,OAAOH,QAAQI;QAC9B;IACF;AACF"}
|
|
@@ -21,7 +21,7 @@ var _calloncefn = /*#__PURE__*/ _interop_require_default(require("call-once-fn")
|
|
|
21
21
|
var _gettsconfigcompat = /*#__PURE__*/ _interop_require_default(require("get-tsconfig-compat"));
|
|
22
22
|
var _mkdirp = /*#__PURE__*/ _interop_require_default(require("mkdirp"));
|
|
23
23
|
var _queuecb = /*#__PURE__*/ _interop_require_default(require("queue-cb"));
|
|
24
|
-
var
|
|
24
|
+
var _transformSync = /*#__PURE__*/ _interop_require_default(require("./transformSync.js"));
|
|
25
25
|
function _define_property(obj, key, value) {
|
|
26
26
|
if (key in obj) {
|
|
27
27
|
Object.defineProperty(obj, key, {
|
|
@@ -126,7 +126,7 @@ function transformFileCallback(src, dest, type, options, callback) {
|
|
|
126
126
|
tsconfig.config.compilerOptions.target = 'ES5';
|
|
127
127
|
}
|
|
128
128
|
var basename = _path.default.basename(src);
|
|
129
|
-
var output = (0,
|
|
129
|
+
var output = (0, _transformSync.default)(contents, basename, tsconfig);
|
|
130
130
|
// infer extension and patch .mjs imports
|
|
131
131
|
var ext = _path.default.extname(basename);
|
|
132
132
|
if (type === 'esm') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport getTS from 'get-tsconfig-compat';\nimport mkdirp from 'mkdirp';\nimport Queue from 'queue-cb';\n\
|
|
1
|
+
{"version":3,"sources":["transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport getTS from 'get-tsconfig-compat';\nimport mkdirp from 'mkdirp';\nimport Queue from 'queue-cb';\n\nimport transformSync from './transformSync.js';\n\nconst matchingDeps = '\\\\s*[\\'\"`]([^\\'\"`]+)[\\'\"`]\\\\s*';\nconst matchingName = '\\\\s*(?:[\\\\w${},\\\\s*]+)\\\\s*';\nconst regexCJS = new RegExp(`(?:(?:var|const|let)${matchingName}=\\\\s*)?require\\\\(${matchingDeps}\\\\);?`, 'g');\nconst regexESM = new RegExp(`${regexCJS}|import(?:${matchingName}from\\\\s*)?${matchingDeps};?|export(?:${matchingName}from\\\\s*)?${matchingDeps};?`, 'g');\n\nconst importReplaceMJS = ['.js', '.ts', '.tsx', '.mts', '.mjs'];\nconst importReplaceCJS = ['.cts'];\nconst requireReplaceJS = ['.mjs', '.cjs', '.ts', '.tsx', '.mts', '.cts'];\n\nfunction makeReplacements(code, regex, extensions, extension) {\n let matches = [];\n let match = regex.exec(code);\n while (match) {\n const dependency = match[1] || match[2] || match[3] || match[4];\n const ext = extensions.find((x) => dependency.slice(-x.length) === x);\n if (ext) matches.push({ ext, match, dependency });\n match = regex.exec(code);\n }\n\n matches = matches.reverse();\n for (const index in matches) {\n const match = matches[index];\n const start = match.match.index + match.match[0].indexOf(match.dependency) + match.dependency.indexOf(match.ext);\n code = code.substring(0, start) + extension + code.substring(start + match.ext.length);\n }\n return code;\n}\n\n// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125\nconst interopClientDefaultExport = \"/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }\";\n\nfunction transformFileCallback(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\n if (typeof src !== 'string') throw new Error('transformFile: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformFile: unexpected destination directory');\n if (typeof type !== 'string') throw new Error('transformFile: unexpected type');\n\n fs.readFile(src, 'utf8', (err, contents) => {\n if (err) return callback(err);\n callback = once(callback);\n\n try {\n let tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);\n\n // overrides for cjs\n if (type === 'cjs') {\n tsconfig = { ...tsconfig };\n tsconfig.tsconfig = { ...(tsconfig.config || {}) };\n tsconfig.config.compilerOptions = { ...(tsconfig.config.compilerOptions || {}) };\n tsconfig.config.compilerOptions.module = 'CommonJS';\n tsconfig.config.compilerOptions.target = 'ES5';\n }\n\n const basename = path.basename(src);\n const output = transformSync(contents, basename, tsconfig);\n\n // infer extension and patch .mjs imports\n let ext = path.extname(basename);\n if (type === 'esm') {\n ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;\n output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');\n ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;\n output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');\n } else {\n ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;\n output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');\n output.code += interopClientDefaultExport;\n }\n const destFilePath = path.join(dest, basename.replace(/\\.[^/.]+$/, '') + ext);\n\n mkdirp(path.dirname(destFilePath), () => {\n const queue = new Queue();\n queue.defer(fs.writeFile.bind(null, destFilePath, output.code, 'utf8'));\n !options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${destFilePath}.map`, output.map, 'utf8'));\n queue.await(() => (err ? callback(err) : callback(null, destFilePath)));\n });\n } catch (err) {\n callback(err);\n }\n });\n}\n\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write the file 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 | null, destFilePath: string) =>} [callback] Optional callback returing the path to the transformed file. Uses promise if callback not provided.\n * @returns {void | Promise<string>} Optional promise returing the path to the transformed file if callback not provided.\n */\nexport default function transformFile(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n if (typeof callback === 'function') return transformFileCallback(src, dest, type, options, callback);\n return new Promise((resolve, reject) => {\n transformFileCallback(src, dest, type, options, function compileCallback(err, result) {\n err ? reject(err) : resolve(result);\n });\n });\n}\n"],"names":["transformFile","matchingDeps","matchingName","regexCJS","RegExp","regexESM","importReplaceMJS","importReplaceCJS","requireReplaceJS","makeReplacements","code","regex","extensions","extension","dependency","match","ext","find","x","slice","length","matches","push","exec","reverse","index","start","indexOf","substring","interopClientDefaultExport","transformFileCallback","src","dest","type","options","callback","Error","fs","readFile","err","contents","once","tsconfig","getTS","getTsconfig","config","compilerOptions","module","target","basename","path","output","transformSync","extname","destFilePath","join","replace","mkdirp","dirname","queue","Queue","defer","writeFile","bind","sourceMaps","map","await","Promise","resolve","reject","compileCallback","result"],"mappings":"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"}
|
|
@@ -14,14 +14,14 @@ Object.defineProperty(exports, /**
|
|
|
14
14
|
});
|
|
15
15
|
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
|
16
16
|
var _url = /*#__PURE__*/ _interop_require_default(require("url"));
|
|
17
|
+
var _process = /*#__PURE__*/ _interop_require_default(require("process"));
|
|
17
18
|
var _lazycjs = /*#__PURE__*/ _interop_require_default(require("./lib/lazy.js"));
|
|
18
|
-
var _processcjs = /*#__PURE__*/ _interop_require_default(require("./lib/process.js"));
|
|
19
19
|
function _interop_require_default(obj) {
|
|
20
20
|
return obj && obj.__esModule ? obj : {
|
|
21
21
|
default: obj
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
|
-
var major = +
|
|
24
|
+
var major = +_process.default.versions.node.split('.')[0];
|
|
25
25
|
var version = major >= 14 ? 'local' : 'lts';
|
|
26
26
|
var filename = typeof __filename !== 'undefined' ? __filename : _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString());
|
|
27
27
|
var worker = _path.default.resolve(_path.default.dirname(filename), 'workers', "transformSync".concat(_path.default.extname(filename) === '.mjs' ? '.cjs' : '.js'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n
|
|
1
|
+
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\nimport process from 'process';\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\n\nconst major = +process.versions.node.split('.')[0];\nconst version = major >= 14 ? 'local' : 'lts';\nconst filename = typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url);\nconst worker = path.resolve(path.dirname(filename), 'workers', `transformSync${path.extname(filename) === '.mjs' ? '.cjs' : '.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, worker, contents, fileName, config);\n}\n"],"names":["transformSync","major","process","versions","node","split","version","filename","__filename","url","fileURLToPath","worker","path","resolve","dirname","extname","call","lazy","contents","fileName","config"],"mappings":";;;;+BAaA;;;;CAIC,GACD;;;eAAwBA;;;2DAlBP;0DACD;8DAEI;8DAEH;;;;;;AAEjB,IAAMC,QAAQ,CAACC,gBAAO,CAACC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,IAAMC,UAAUL,SAAS,KAAK,UAAU;AACxC,IAAMM,WAAW,OAAOC,eAAe,cAAcA,aAAaC,YAAG,CAACC,aAAa,CAAC;AACpF,IAAMC,SAASC,aAAI,CAACC,OAAO,CAACD,aAAI,CAACE,OAAO,CAACP,WAAW,WAAW,AAAC,gBAAkE,OAAnDK,aAAI,CAACG,OAAO,CAACR,cAAc,SAAS,SAAS;AAC5H,IAAMS,OAAOC,IAAAA,gBAAI,EAAC;AAOH,SAASjB,cAAckB,QAAQ,EAAEC,QAAQ,EAAEC,MAAM;IAC9D,OAAOJ,OAAOV,SAASK,QAAQO,UAAUC,UAAUC;AACrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["constants.ts"],"sourcesContent":["export const moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\nexport const typeFileRegEx = /^[^.]+\\.d\\.[cm]?ts$/;\n"],"names":["moduleRegEx","typeFileRegEx"],"mappings":"AAAA,OAAO,MAAMA,cAAc,+BAA+B;AAC1D,OAAO,MAAMC,gBAAgB,sBAAsB"}
|
package/dist/esm/index.mjs
CHANGED
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"sourcesContent":["export
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export type { Context } 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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import url from 'url';
|
|
2
|
+
function fileURLToPathPolyfill(fileURL) {
|
|
3
|
+
const path = typeof fileURL === 'string' ? fileURL : fileURL.pathname;
|
|
4
|
+
if (!path.startsWith('file:')) throw new Error('The URL must use the file: protocol');
|
|
5
|
+
return decodeURIComponent(path.substring(7));
|
|
6
|
+
}
|
|
7
|
+
export default url.fileURLToPath || fileURLToPathPolyfill;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["fileURLToPath.ts"],"sourcesContent":["import url from 'url';\n\nfunction fileURLToPathPolyfill(fileURL) {\n const path = typeof fileURL === 'string' ? fileURL : fileURL.pathname;\n if (!path.startsWith('file:')) throw new Error('The URL must use the file: protocol');\n return decodeURIComponent(path.substring(7));\n}\n\nexport default url.fileURLToPath || fileURLToPathPolyfill;\n"],"names":["url","fileURLToPathPolyfill","fileURL","path","pathname","startsWith","Error","decodeURIComponent","substring","fileURLToPath"],"mappings":"AAAA,OAAOA,SAAS,MAAM;AAEtB,SAASC,sBAAsBC,OAAO;IACpC,MAAMC,OAAO,OAAOD,YAAY,WAAWA,UAAUA,QAAQE,QAAQ;IACrE,IAAI,CAACD,KAAKE,UAAU,CAAC,UAAU,MAAM,IAAIC,MAAM;IAC/C,OAAOC,mBAAmBJ,KAAKK,SAAS,CAAC;AAC3C;AAEA,eAAeR,IAAIS,aAAa,IAAIR,sBAAsB"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
|
+
import { moduleRegEx, typeFileRegEx } from './constants.mjs';
|
|
3
4
|
import extensions from './extensions.mjs';
|
|
4
5
|
import toPath from './toPath.mjs';
|
|
5
|
-
const moduleRegEx = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/;
|
|
6
|
-
const typeFileRegEx = /^[^.]+\.d\.[cm]?ts$/;
|
|
7
6
|
const indexExtensions = extensions.map((x)=>`index${x}`);
|
|
8
7
|
export default function resolveFileSync(specifier, context) {
|
|
9
8
|
const filePath = toPath(specifier, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport extensions from './extensions.js';\nimport toPath from './toPath.js';\nimport type { Context } from './types.js';\n\nconst
|
|
1
|
+
{"version":3,"sources":["resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { moduleRegEx, typeFileRegEx } from './constants.js';\nimport extensions from './extensions.js';\nimport toPath from './toPath.js';\nimport type { Context } from './types.js';\n\nconst indexExtensions = extensions.map((x) => `index${x}`);\n\nexport default function resolveFileSync(specifier: string, context?: Context) {\n const filePath = toPath(specifier, context);\n const ext = path.extname(filePath);\n\n let stats: fs.Stats | undefined;\n try {\n stats = fs.statSync(filePath);\n } catch (_err) {}\n\n // biome-ignore lint/complexity/useOptionalChain: <explanation>\n if ((stats && stats.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 }\n\n // look up the extension\n else if (!stats || (!ext && !moduleRegEx.test(specifier))) {\n const fileName = path.basename(filePath).replace(/(\\.[^/.]+)+$/, '');\n const items = fs.readdirSync(path.dirname(filePath));\n const item = items.find((x) => x.startsWith(fileName) && !typeFileRegEx.test(x) && extensions.indexOf(path.extname(x)) >= 0);\n if (item) return path.join(path.dirname(filePath), item);\n }\n\n // return what was found\n return stats ? filePath : null;\n}\n"],"names":["fs","path","moduleRegEx","typeFileRegEx","extensions","toPath","indexExtensions","map","x","resolveFileSync","specifier","context","filePath","ext","extname","stats","statSync","_err","isDirectory","endsWith","items","readdirSync","item","find","indexOf","join","test","fileName","basename","replace","dirname","startsWith"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,SAASC,WAAW,EAAEC,aAAa,QAAQ,iBAAiB;AAC5D,OAAOC,gBAAgB,kBAAkB;AACzC,OAAOC,YAAY,cAAc;AAGjC,MAAMC,kBAAkBF,WAAWG,GAAG,CAAC,CAACC,IAAM,CAAC,KAAK,EAAEA,GAAG;AAEzD,eAAe,SAASC,gBAAgBC,SAAiB,EAAEC,OAAiB;IAC1E,MAAMC,WAAWP,OAAOK,WAAWC;IACnC,MAAME,MAAMZ,KAAKa,OAAO,CAACF;IAEzB,IAAIG;IACJ,IAAI;QACFA,QAAQf,GAAGgB,QAAQ,CAACJ;IACtB,EAAE,OAAOK,MAAM,CAAC;IAEhB,+DAA+D;IAC/D,IAAI,AAACF,SAASA,MAAMG,WAAW,MAAOR,UAAUS,QAAQ,CAAC,MAAM;QAC7D,MAAMC,QAAQpB,GAAGqB,WAAW,CAACT;QAC7B,MAAMU,OAAOF,MAAMG,IAAI,CAAC,CAACf,IAAMF,gBAAgBkB,OAAO,CAAChB,MAAM;QAC7D,IAAIc,MAAM,OAAOrB,KAAKwB,IAAI,CAACb,UAAUU;IACvC,OAGK,IAAI,CAACP,SAAU,CAACF,OAAO,CAACX,YAAYwB,IAAI,CAAChB,YAAa;QACzD,MAAMiB,WAAW1B,KAAK2B,QAAQ,CAAChB,UAAUiB,OAAO,CAAC,gBAAgB;QACjE,MAAMT,QAAQpB,GAAGqB,WAAW,CAACpB,KAAK6B,OAAO,CAAClB;QAC1C,MAAMU,OAAOF,MAAMG,IAAI,CAAC,CAACf,IAAMA,EAAEuB,UAAU,CAACJ,aAAa,CAACxB,cAAcuB,IAAI,CAAClB,MAAMJ,WAAWoB,OAAO,CAACvB,KAAKa,OAAO,CAACN,OAAO;QAC1H,IAAIc,MAAM,OAAOrB,KAAKwB,IAAI,CAACxB,KAAK6B,OAAO,CAAClB,WAAWU;IACrD;IAEA,wBAAwB;IACxB,OAAOP,QAAQH,WAAW;AAC5B"}
|
package/dist/esm/toPath.mjs
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import url from 'url';
|
|
4
3
|
import isAbsolute from 'is-absolute';
|
|
4
|
+
import process from 'process';
|
|
5
5
|
import resolve from 'resolve';
|
|
6
|
-
|
|
7
|
-
import
|
|
8
|
-
const moduleRegEx = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/;
|
|
6
|
+
import { moduleRegEx } from './constants.mjs';
|
|
7
|
+
import fileURLToPath from './lib/fileURLToPath.mjs';
|
|
9
8
|
function getParentPath(context) {
|
|
10
9
|
if (context.parentPath) return path.dirname(context.parentPath);
|
|
11
10
|
return context.parentURL ? path.dirname(toPath(context.parentURL)) : process.cwd();
|
|
12
11
|
}
|
|
13
12
|
export default function toPath(specifier, context) {
|
|
14
|
-
if (specifier.startsWith('file
|
|
13
|
+
if (specifier.startsWith('file:')) return fileURLToPath(specifier);
|
|
15
14
|
if (isAbsolute(specifier)) return specifier;
|
|
16
15
|
if (specifier[0] === '.') {
|
|
17
16
|
const parentPath = context ? getParentPath(context) : process.cwd();
|
package/dist/esm/toPath.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["toPath.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport
|
|
1
|
+
{"version":3,"sources":["toPath.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport isAbsolute from 'is-absolute';\nimport process from 'process';\nimport resolve from 'resolve';\nimport { moduleRegEx } from './constants.js';\nimport fileURLToPath from './lib/fileURLToPath.js';\nimport type { Context } from './types.js';\n\nfunction getParentPath(context: Context) {\n if (context.parentPath) return path.dirname(context.parentPath);\n return context.parentURL ? path.dirname(toPath(context.parentURL)) : process.cwd();\n}\n\nexport default function toPath(specifier: string, context?: Context) {\n if (specifier.startsWith('file:')) return fileURLToPath(specifier);\n if (isAbsolute(specifier)) return specifier;\n if (specifier[0] === '.') {\n const parentPath = context ? getParentPath(context) : process.cwd();\n return path.resolve(parentPath, specifier);\n }\n if (moduleRegEx.test(specifier)) {\n const parentPath = context ? getParentPath(context) : process.cwd();\n\n let pkg = null;\n const main = resolve.sync(specifier, {\n basedir: parentPath,\n extensions: ['.js', '.json', '.node', '.mjs'],\n packageFilter(json, dir) {\n pkg = { json, dir };\n return json;\n },\n });\n if (!pkg || !pkg.json.module) return main; // no modules, use main\n if (pkg.json.name === specifier) return path.resolve(pkg.dir, pkg.json.module); // the module\n\n // a relative path. Only accept if it doesn't break the relative naming and it exists\n const modulePath = path.resolve(pkg.dir, pkg.json.module);\n const mainPath = path.resolve(pkg.dir, pkg.json.main);\n const moduleResolved = path.resolve(modulePath, path.relative(mainPath, main));\n return moduleResolved.indexOf(specifier.replace(pkg.json.name, '')) < 0 || !fs.existsSync(moduleResolved) ? main : moduleResolved;\n }\n\n return specifier;\n}\n"],"names":["fs","path","isAbsolute","process","resolve","moduleRegEx","fileURLToPath","getParentPath","context","parentPath","dirname","parentURL","toPath","cwd","specifier","startsWith","test","pkg","main","sync","basedir","extensions","packageFilter","json","dir","module","name","modulePath","mainPath","moduleResolved","relative","indexOf","replace","existsSync"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,gBAAgB,cAAc;AACrC,OAAOC,aAAa,UAAU;AAC9B,OAAOC,aAAa,UAAU;AAC9B,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,OAAOC,mBAAmB,yBAAyB;AAGnD,SAASC,cAAcC,OAAgB;IACrC,IAAIA,QAAQC,UAAU,EAAE,OAAOR,KAAKS,OAAO,CAACF,QAAQC,UAAU;IAC9D,OAAOD,QAAQG,SAAS,GAAGV,KAAKS,OAAO,CAACE,OAAOJ,QAAQG,SAAS,KAAKR,QAAQU,GAAG;AAClF;AAEA,eAAe,SAASD,OAAOE,SAAiB,EAAEN,OAAiB;IACjE,IAAIM,UAAUC,UAAU,CAAC,UAAU,OAAOT,cAAcQ;IACxD,IAAIZ,WAAWY,YAAY,OAAOA;IAClC,IAAIA,SAAS,CAAC,EAAE,KAAK,KAAK;QACxB,MAAML,aAAaD,UAAUD,cAAcC,WAAWL,QAAQU,GAAG;QACjE,OAAOZ,KAAKG,OAAO,CAACK,YAAYK;IAClC;IACA,IAAIT,YAAYW,IAAI,CAACF,YAAY;QAC/B,MAAML,aAAaD,UAAUD,cAAcC,WAAWL,QAAQU,GAAG;QAEjE,IAAII,MAAM;QACV,MAAMC,OAAOd,QAAQe,IAAI,CAACL,WAAW;YACnCM,SAASX;YACTY,YAAY;gBAAC;gBAAO;gBAAS;gBAAS;aAAO;YAC7CC,eAAcC,IAAI,EAAEC,GAAG;gBACrBP,MAAM;oBAAEM;oBAAMC;gBAAI;gBAClB,OAAOD;YACT;QACF;QACA,IAAI,CAACN,OAAO,CAACA,IAAIM,IAAI,CAACE,MAAM,EAAE,OAAOP,MAAM,uBAAuB;QAClE,IAAID,IAAIM,IAAI,CAACG,IAAI,KAAKZ,WAAW,OAAOb,KAAKG,OAAO,CAACa,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM,GAAG,aAAa;QAE7F,qFAAqF;QACrF,MAAME,aAAa1B,KAAKG,OAAO,CAACa,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM;QACxD,MAAMG,WAAW3B,KAAKG,OAAO,CAACa,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACL,IAAI;QACpD,MAAMW,iBAAiB5B,KAAKG,OAAO,CAACuB,YAAY1B,KAAK6B,QAAQ,CAACF,UAAUV;QACxE,OAAOW,eAAeE,OAAO,CAACjB,UAAUkB,OAAO,CAACf,IAAIM,IAAI,CAACG,IAAI,EAAE,OAAO,KAAK,CAAC1B,GAAGiC,UAAU,CAACJ,kBAAkBX,OAAOW;IACrH;IAEA,OAAOf;AACT"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import Iterator from 'fs-iterator';
|
|
3
3
|
import getTS from 'get-tsconfig-compat';
|
|
4
|
-
// @ts-ignore
|
|
5
4
|
import createMatcher from './createMatcher.mjs';
|
|
6
|
-
// @ts-ignore
|
|
7
5
|
import transformFile from './transformFile.mjs';
|
|
8
6
|
function transformDirectoryCallback(src, dest, type, options, callback) {
|
|
9
7
|
if (typeof options === 'function') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport getTS from 'get-tsconfig-compat';\n\
|
|
1
|
+
{"version":3,"sources":["transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport getTS from 'get-tsconfig-compat';\n\nimport createMatcher from './createMatcher.js';\nimport transformFile from './transformFile.js';\n\nfunction transformDirectoryCallback(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\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 const tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);\n const matcher = createMatcher(tsconfig);\n\n options = { ...options, tsconfig };\n const iterator = new Iterator(src);\n iterator.forEach(\n (entry, cb) => {\n if (!entry.stats.isFile()) return cb();\n if (!matcher(entry.fullPath)) return cb();\n transformFile(entry.fullPath, path.dirname(path.join(dest, entry.path)), type, options, cb);\n },\n { callbacks: true, concurrency: options.concurrency || 1024 },\n callback\n );\n}\n\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, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n if (typeof callback === 'function') return transformDirectoryCallback(src, dest, type, options, callback);\n return new Promise((resolve, reject) => {\n transformDirectoryCallback(src, dest, type, options, function compileCallback(err, result) {\n err ? reject(err) : resolve(result);\n });\n });\n}\n"],"names":["path","Iterator","getTS","createMatcher","transformFile","transformDirectoryCallback","src","dest","type","options","callback","Error","tsconfig","getTsconfig","matcher","iterator","forEach","entry","cb","stats","isFile","fullPath","dirname","join","callbacks","concurrency","transformDirectory","Promise","resolve","reject","compileCallback","err","result"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,cAAc,cAAc;AACnC,OAAOC,WAAW,sBAAsB;AAExC,OAAOC,mBAAmB,qBAAqB;AAC/C,OAAOC,mBAAmB,qBAAqB;AAE/C,SAASC,2BAA2BC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACpE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOH,QAAQ,UAAU,MAAM,IAAIK,MAAM;IAC7C,IAAI,OAAOJ,SAAS,UAAU,MAAM,IAAII,MAAM;IAC9C,IAAI,OAAOH,SAAS,UAAU,MAAM,IAAIG,MAAM;IAE9C,MAAMC,WAAWH,QAAQG,QAAQ,GAAGH,QAAQG,QAAQ,GAAGV,MAAMW,WAAW,CAACP;IACzE,MAAMQ,UAAUX,cAAcS;IAE9BH,UAAU;QAAE,GAAGA,OAAO;QAAEG;IAAS;IACjC,MAAMG,WAAW,IAAId,SAASK;IAC9BS,SAASC,OAAO,CACd,CAACC,OAAOC;QACN,IAAI,CAACD,MAAME,KAAK,CAACC,MAAM,IAAI,OAAOF;QAClC,IAAI,CAACJ,QAAQG,MAAMI,QAAQ,GAAG,OAAOH;QACrCd,cAAca,MAAMI,QAAQ,EAAErB,KAAKsB,OAAO,CAACtB,KAAKuB,IAAI,CAAChB,MAAMU,MAAMjB,IAAI,IAAIQ,MAAMC,SAASS;IAC1F,GACA;QAAEM,WAAW;QAAMC,aAAahB,QAAQgB,WAAW,IAAI;IAAK,GAC5Df;AAEJ;AAEA;;;;;;;CAOC,GACD,eAAe,SAASgB,mBAAmBpB,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC3E,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOL,2BAA2BC,KAAKC,MAAMC,MAAMC,SAASC;IAChG,OAAO,IAAIiB,QAAQ,CAACC,SAASC;QAC3BxB,2BAA2BC,KAAKC,MAAMC,MAAMC,SAAS,SAASqB,gBAAgBC,GAAG,EAAEC,MAAM;YACvFD,MAAMF,OAAOE,OAAOH,QAAQI;QAC9B;IACF;AACF"}
|
|
@@ -4,7 +4,6 @@ import once from 'call-once-fn';
|
|
|
4
4
|
import getTS from 'get-tsconfig-compat';
|
|
5
5
|
import mkdirp from 'mkdirp';
|
|
6
6
|
import Queue from 'queue-cb';
|
|
7
|
-
// @ts-ignore
|
|
8
7
|
import transformSync from './transformSync.mjs';
|
|
9
8
|
const matchingDeps = '\\s*[\'"`]([^\'"`]+)[\'"`]\\s*';
|
|
10
9
|
const matchingName = '\\s*(?:[\\w${},\\s*]+)\\s*';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport getTS from 'get-tsconfig-compat';\nimport mkdirp from 'mkdirp';\nimport Queue from 'queue-cb';\n\
|
|
1
|
+
{"version":3,"sources":["transformFile.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport once from 'call-once-fn';\nimport getTS from 'get-tsconfig-compat';\nimport mkdirp from 'mkdirp';\nimport Queue from 'queue-cb';\n\nimport transformSync from './transformSync.js';\n\nconst matchingDeps = '\\\\s*[\\'\"`]([^\\'\"`]+)[\\'\"`]\\\\s*';\nconst matchingName = '\\\\s*(?:[\\\\w${},\\\\s*]+)\\\\s*';\nconst regexCJS = new RegExp(`(?:(?:var|const|let)${matchingName}=\\\\s*)?require\\\\(${matchingDeps}\\\\);?`, 'g');\nconst regexESM = new RegExp(`${regexCJS}|import(?:${matchingName}from\\\\s*)?${matchingDeps};?|export(?:${matchingName}from\\\\s*)?${matchingDeps};?`, 'g');\n\nconst importReplaceMJS = ['.js', '.ts', '.tsx', '.mts', '.mjs'];\nconst importReplaceCJS = ['.cts'];\nconst requireReplaceJS = ['.mjs', '.cjs', '.ts', '.tsx', '.mts', '.cts'];\n\nfunction makeReplacements(code, regex, extensions, extension) {\n let matches = [];\n let match = regex.exec(code);\n while (match) {\n const dependency = match[1] || match[2] || match[3] || match[4];\n const ext = extensions.find((x) => dependency.slice(-x.length) === x);\n if (ext) matches.push({ ext, match, dependency });\n match = regex.exec(code);\n }\n\n matches = matches.reverse();\n for (const index in matches) {\n const match = matches[index];\n const start = match.match.index + match.match[0].indexOf(match.dependency) + match.dependency.indexOf(match.ext);\n code = code.substring(0, start) + extension + code.substring(start + match.ext.length);\n }\n return code;\n}\n\n// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125\nconst interopClientDefaultExport = \"/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }\";\n\nfunction transformFileCallback(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n options = options || {};\n\n if (typeof src !== 'string') throw new Error('transformFile: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformFile: unexpected destination directory');\n if (typeof type !== 'string') throw new Error('transformFile: unexpected type');\n\n fs.readFile(src, 'utf8', (err, contents) => {\n if (err) return callback(err);\n callback = once(callback);\n\n try {\n let tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);\n\n // overrides for cjs\n if (type === 'cjs') {\n tsconfig = { ...tsconfig };\n tsconfig.tsconfig = { ...(tsconfig.config || {}) };\n tsconfig.config.compilerOptions = { ...(tsconfig.config.compilerOptions || {}) };\n tsconfig.config.compilerOptions.module = 'CommonJS';\n tsconfig.config.compilerOptions.target = 'ES5';\n }\n\n const basename = path.basename(src);\n const output = transformSync(contents, basename, tsconfig);\n\n // infer extension and patch .mjs imports\n let ext = path.extname(basename);\n if (type === 'esm') {\n ext = importReplaceMJS.indexOf(ext) >= 0 ? '.mjs' : ext;\n output.code = makeReplacements(output.code, regexESM, importReplaceMJS, '.mjs');\n ext = importReplaceCJS.indexOf(ext) >= 0 ? '.cjs' : ext;\n output.code = makeReplacements(output.code, regexESM, importReplaceCJS, '.cjs');\n } else {\n ext = requireReplaceJS.indexOf(ext) >= 0 ? '.js' : ext;\n output.code = makeReplacements(output.code, regexCJS, requireReplaceJS, '.js');\n output.code += interopClientDefaultExport;\n }\n const destFilePath = path.join(dest, basename.replace(/\\.[^/.]+$/, '') + ext);\n\n mkdirp(path.dirname(destFilePath), () => {\n const queue = new Queue();\n queue.defer(fs.writeFile.bind(null, destFilePath, output.code, 'utf8'));\n !options.sourceMaps || queue.defer(fs.writeFile.bind(null, `${destFilePath}.map`, output.map, 'utf8'));\n queue.await(() => (err ? callback(err) : callback(null, destFilePath)));\n });\n } catch (err) {\n callback(err);\n }\n });\n}\n\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write the file 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 | null, destFilePath: string) =>} [callback] Optional callback returing the path to the transformed file. Uses promise if callback not provided.\n * @returns {void | Promise<string>} Optional promise returing the path to the transformed file if callback not provided.\n */\nexport default function transformFile(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n if (typeof callback === 'function') return transformFileCallback(src, dest, type, options, callback);\n return new Promise((resolve, reject) => {\n transformFileCallback(src, dest, type, options, function compileCallback(err, result) {\n err ? reject(err) : resolve(result);\n });\n });\n}\n"],"names":["fs","path","once","getTS","mkdirp","Queue","transformSync","matchingDeps","matchingName","regexCJS","RegExp","regexESM","importReplaceMJS","importReplaceCJS","requireReplaceJS","makeReplacements","code","regex","extensions","extension","matches","match","exec","dependency","ext","find","x","slice","length","push","reverse","index","start","indexOf","substring","interopClientDefaultExport","transformFileCallback","src","dest","type","options","callback","Error","readFile","err","contents","tsconfig","getTsconfig","config","compilerOptions","module","target","basename","output","extname","destFilePath","join","replace","dirname","queue","defer","writeFile","bind","sourceMaps","map","await","transformFile","Promise","resolve","reject","compileCallback","result"],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import url from 'url';
|
|
3
|
+
import process from 'process';
|
|
3
4
|
// @ts-ignore
|
|
4
5
|
import lazy from './lib/lazy.cjs';
|
|
5
|
-
// @ts-ignore
|
|
6
|
-
import process from './lib/process.cjs';
|
|
7
6
|
const major = +process.versions.node.split('.')[0];
|
|
8
7
|
const version = major >= 14 ? 'local' : 'lts';
|
|
9
8
|
const filename = typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n
|
|
1
|
+
{"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\nimport process from 'process';\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\n\nconst major = +process.versions.node.split('.')[0];\nconst version = major >= 14 ? 'local' : 'lts';\nconst filename = typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url);\nconst worker = path.resolve(path.dirname(filename), 'workers', `transformSync${path.extname(filename) === '.mjs' ? '.cjs' : '.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, worker, contents, fileName, config);\n}\n"],"names":["path","url","process","lazy","major","versions","node","split","version","filename","__filename","fileURLToPath","worker","resolve","dirname","extname","call","transformSync","contents","fileName","config"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAEtB,OAAOC,aAAa,UAAU;AAC9B,aAAa;AACb,OAAOC,UAAU,iBAAiB;AAElC,MAAMC,QAAQ,CAACF,QAAQG,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,MAAMC,UAAUJ,SAAS,KAAK,UAAU;AACxC,MAAMK,WAAW,OAAOC,eAAe,cAAcA,aAAaT,IAAIU,aAAa,CAAC,YAAYV,GAAG;AACnG,MAAMW,SAASZ,KAAKa,OAAO,CAACb,KAAKc,OAAO,CAACL,WAAW,WAAW,CAAC,aAAa,EAAET,KAAKe,OAAO,CAACN,cAAc,SAAS,SAAS,OAAO;AACnI,MAAMO,OAAOb,KAAK;AAElB;;;;CAIC,GACD,eAAe,SAASc,cAAcC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM;IAC9D,OAAOJ,OAAOR,SAASI,QAAQM,UAAUC,UAAUC;AACrD"}
|
package/dist/types/index.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ts-swc-transform",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
4
4
|
"description": "Typescript transformers for swc. Supports Node >= 0.8",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"matcher",
|
|
@@ -61,6 +61,7 @@
|
|
|
61
61
|
"mkdirp": "^0.5.6",
|
|
62
62
|
"node-version-call": "^1.1.1",
|
|
63
63
|
"path-posix": "^1.0.0",
|
|
64
|
+
"process": "^0.11.10",
|
|
64
65
|
"queue-cb": "^1.4.3",
|
|
65
66
|
"resolve": "^1.22.9",
|
|
66
67
|
"temp-suffix": "^0.1.1",
|
|
@@ -77,7 +78,7 @@
|
|
|
77
78
|
"cr": "^0.1.0",
|
|
78
79
|
"react": "^19.0.0",
|
|
79
80
|
"rimraf2": "^2.8.2",
|
|
80
|
-
"ts-dev-stack": "^1.2.
|
|
81
|
+
"ts-dev-stack": "^1.2.3",
|
|
81
82
|
"ts-node": "^10.8.2",
|
|
82
83
|
"typescript": "^5.7.2"
|
|
83
84
|
},
|
package/dist/cjs/lib/process.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
module.exports = process;
|
|
3
|
-
/* 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":["process.cts"],"sourcesContent":["module.exports = process;\n"],"names":["module","exports","process"],"mappings":";AAAAA,OAAOC,OAAO,GAAGC"}
|
package/dist/esm/lib/process.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
module.exports = process;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["process.cts"],"sourcesContent":["module.exports = process;\n"],"names":["module","exports","process"],"mappings":"AAAAA,OAAOC,OAAO,GAAGC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|