ts-swc-transform 1.2.0 → 1.3.1
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 +4 -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 +4 -5
- package/dist/cjs/resolveFileSync.js.map +1 -1
- package/dist/cjs/{lib/toPath.js → toPath.js} +5 -5
- package/dist/cjs/toPath.js.map +1 -0
- package/dist/esm/constants.mjs +2 -0
- package/dist/esm/constants.mjs.map +1 -0
- package/dist/esm/index.mjs +1 -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 +2 -3
- package/dist/esm/resolveFileSync.mjs.map +1 -1
- package/dist/esm/{lib/toPath.mjs → toPath.mjs} +4 -4
- package/dist/esm/toPath.mjs.map +1 -0
- package/dist/types/constants.d.ts +2 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/lib/fileURLToPath.d.ts +3 -0
- package/dist/types/resolveFileSync.d.ts +1 -1
- package/dist/types/{lib/toPath.d.ts → toPath.d.ts} +1 -1
- package/package.json +1 -1
- package/dist/cjs/lib/toPath.js.map +0 -1
- package/dist/esm/lib/toPath.mjs.map +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
|
@@ -18,6 +18,9 @@ _export(exports, {
|
|
|
18
18
|
resolveFileSync: function() {
|
|
19
19
|
return _resolveFileSync.default;
|
|
20
20
|
},
|
|
21
|
+
toPath: function() {
|
|
22
|
+
return _toPath.default;
|
|
23
|
+
},
|
|
21
24
|
transformDirectory: function() {
|
|
22
25
|
return _transformDirectory.default;
|
|
23
26
|
},
|
|
@@ -28,26 +31,13 @@ _export(exports, {
|
|
|
28
31
|
return _transformSync.default;
|
|
29
32
|
}
|
|
30
33
|
});
|
|
31
|
-
_export_star(require("./types.js"), exports);
|
|
32
34
|
var _createMatcher = /*#__PURE__*/ _interop_require_default(require("./createMatcher.js"));
|
|
33
35
|
var _extensions = /*#__PURE__*/ _interop_require_default(require("./extensions.js"));
|
|
34
36
|
var _resolveFileSync = /*#__PURE__*/ _interop_require_default(require("./resolveFileSync.js"));
|
|
37
|
+
var _toPath = /*#__PURE__*/ _interop_require_default(require("./toPath.js"));
|
|
35
38
|
var _transformFile = /*#__PURE__*/ _interop_require_default(require("./transformFile.js"));
|
|
36
39
|
var _transformDirectory = /*#__PURE__*/ _interop_require_default(require("./transformDirectory.js"));
|
|
37
40
|
var _transformSync = /*#__PURE__*/ _interop_require_default(require("./transformSync.js"));
|
|
38
|
-
function _export_star(from, to) {
|
|
39
|
-
Object.keys(from).forEach(function(k) {
|
|
40
|
-
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
41
|
-
Object.defineProperty(to, k, {
|
|
42
|
-
enumerable: true,
|
|
43
|
-
get: function() {
|
|
44
|
-
return from[k];
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
return from;
|
|
50
|
-
}
|
|
51
41
|
function _interop_require_default(obj) {
|
|
52
42
|
return obj && obj.__esModule ? obj : {
|
|
53
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,15 +10,14 @@ 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
|
-
var _toPath = /*#__PURE__*/ _interop_require_default(require("./
|
|
15
|
+
var _toPath = /*#__PURE__*/ _interop_require_default(require("./toPath.js"));
|
|
15
16
|
function _interop_require_default(obj) {
|
|
16
17
|
return obj && obj.__esModule ? 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 './
|
|
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"}
|
|
@@ -10,28 +10,28 @@ 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"));
|
|
15
14
|
var _resolve = /*#__PURE__*/ _interop_require_default(require("resolve"));
|
|
16
|
-
var
|
|
15
|
+
var _fileURLToPath = /*#__PURE__*/ _interop_require_default(require("./lib/fileURLToPath.js"));
|
|
16
|
+
var _processcjs = /*#__PURE__*/ _interop_require_default(require("./lib/process.js"));
|
|
17
|
+
var _constants = require("./constants.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
25
|
return context.parentURL ? _path.default.dirname(toPath(context.parentURL)) : _processcjs.default.cwd();
|
|
26
26
|
}
|
|
27
27
|
function toPath(specifier, context) {
|
|
28
|
-
if (specifier.startsWith('file:')) return
|
|
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
31
|
var parentPath = context ? getParentPath(context) : _processcjs.default.cwd();
|
|
32
32
|
return _path.default.resolve(parentPath, specifier);
|
|
33
33
|
}
|
|
34
|
-
if (moduleRegEx.test(specifier)) {
|
|
34
|
+
if (_constants.moduleRegEx.test(specifier)) {
|
|
35
35
|
var parentPath1 = context ? getParentPath(context) : _processcjs.default.cwd();
|
|
36
36
|
var pkg = null;
|
|
37
37
|
var main = _resolve.default.sync(specifier, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["toPath.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport isAbsolute from 'is-absolute';\nimport resolve from 'resolve';\nimport fileURLToPath from './lib/fileURLToPath.js';\n// @ts-ignore\nimport process from './lib/process.cjs';\nimport { moduleRegEx } from './constants.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":";;;;+BAeA;;;eAAwBA;;;yDAfT;2DACE;iEACM;8DACH;oEACM;iEAEN;yBACQ;;;;;;AAG5B,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,mBAAO,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,mBAAO,CAACC,GAAG;QACjE,OAAOJ,aAAI,CAACS,OAAO,CAACV,YAAYM;IAClC;IACA,IAAIK,sBAAW,CAACC,IAAI,CAACN,YAAY;QAC/B,IAAMN,cAAaD,UAAUD,cAAcC,WAAWK,mBAAO,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"}
|
|
@@ -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
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './types.mjs';
|
|
2
1
|
export { default as createMatcher } from './createMatcher.mjs';
|
|
3
2
|
export { default as extensions } from './extensions.mjs';
|
|
4
3
|
export { default as resolveFileSync } from './resolveFileSync.mjs';
|
|
4
|
+
export { default as toPath } from './toPath.mjs';
|
|
5
5
|
export { default as transformFile } from './transformFile.mjs';
|
|
6
6
|
export { default as transformDirectory } from './transformDirectory.mjs';
|
|
7
7
|
export { default as transformSync } from './transformSync.mjs';
|
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
|
-
import toPath from './
|
|
5
|
-
const moduleRegEx = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/;
|
|
6
|
-
const typeFileRegEx = /^[^.]+\.d\.[cm]?ts$/;
|
|
5
|
+
import toPath from './toPath.mjs';
|
|
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 './
|
|
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"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
|
-
import url from 'url';
|
|
4
3
|
import isAbsolute from 'is-absolute';
|
|
5
4
|
import resolve from 'resolve';
|
|
5
|
+
import fileURLToPath from './lib/fileURLToPath.mjs';
|
|
6
6
|
// @ts-ignore
|
|
7
|
-
import process from './process.cjs';
|
|
8
|
-
|
|
7
|
+
import process from './lib/process.cjs';
|
|
8
|
+
import { moduleRegEx } from './constants.mjs';
|
|
9
9
|
function getParentPath(context) {
|
|
10
10
|
if (context.parentPath) return path.dirname(context.parentPath);
|
|
11
11
|
return context.parentURL ? path.dirname(toPath(context.parentURL)) : process.cwd();
|
|
12
12
|
}
|
|
13
13
|
export default function toPath(specifier, context) {
|
|
14
|
-
if (specifier.startsWith('file:')) return
|
|
14
|
+
if (specifier.startsWith('file:')) return fileURLToPath(specifier);
|
|
15
15
|
if (isAbsolute(specifier)) return specifier;
|
|
16
16
|
if (specifier[0] === '.') {
|
|
17
17
|
const parentPath = context ? getParentPath(context) : process.cwd();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["toPath.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport isAbsolute from 'is-absolute';\nimport resolve from 'resolve';\nimport fileURLToPath from './lib/fileURLToPath.js';\n// @ts-ignore\nimport process from './lib/process.cjs';\nimport { moduleRegEx } from './constants.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","resolve","fileURLToPath","process","moduleRegEx","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,mBAAmB,yBAAyB;AACnD,aAAa;AACb,OAAOC,aAAa,oBAAoB;AACxC,SAASC,WAAW,QAAQ,iBAAiB;AAG7C,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,KAAKN,QAAQQ,GAAG;AAClF;AAEA,eAAe,SAASD,OAAOE,SAAiB,EAAEN,OAAiB;IACjE,IAAIM,UAAUC,UAAU,CAAC,UAAU,OAAOX,cAAcU;IACxD,IAAIZ,WAAWY,YAAY,OAAOA;IAClC,IAAIA,SAAS,CAAC,EAAE,KAAK,KAAK;QACxB,MAAML,aAAaD,UAAUD,cAAcC,WAAWH,QAAQQ,GAAG;QACjE,OAAOZ,KAAKE,OAAO,CAACM,YAAYK;IAClC;IACA,IAAIR,YAAYU,IAAI,CAACF,YAAY;QAC/B,MAAML,aAAaD,UAAUD,cAAcC,WAAWH,QAAQQ,GAAG;QAEjE,IAAII,MAAM;QACV,MAAMC,OAAOf,QAAQgB,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,KAAKE,OAAO,CAACc,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM,GAAG,aAAa;QAE7F,qFAAqF;QACrF,MAAME,aAAa1B,KAAKE,OAAO,CAACc,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM;QACxD,MAAMG,WAAW3B,KAAKE,OAAO,CAACc,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACL,IAAI;QACpD,MAAMW,iBAAiB5B,KAAKE,OAAO,CAACwB,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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type { Context } from './types.js';
|
|
2
2
|
export { default as createMatcher } from './createMatcher.js';
|
|
3
3
|
export { default as extensions } from './extensions.js';
|
|
4
4
|
export { default as resolveFileSync } from './resolveFileSync.js';
|
|
5
|
+
export { default as toPath } from './toPath.js';
|
|
5
6
|
export { default as transformFile } from './transformFile.js';
|
|
6
7
|
export { default as transformDirectory } from './transformDirectory.js';
|
|
7
8
|
export { default as transformSync } from './transformSync.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Context } from './types';
|
|
1
|
+
import type { Context } from './types.js';
|
|
2
2
|
export default function resolveFileSync(specifier: string, context?: Context): any;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Context } from '
|
|
1
|
+
import type { Context } from './types.js';
|
|
2
2
|
export default function toPath(specifier: string, context?: Context): any;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["toPath.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport url from 'url';\nimport isAbsolute from 'is-absolute';\nimport resolve from 'resolve';\nimport type { Context } from '../types';\n// @ts-ignore\nimport process from './process.cjs';\n\nconst moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\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 url.parse(specifier).pathname;\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","moduleRegEx","getParentPath","context","parentPath","path","dirname","parentURL","process","cwd","specifier","startsWith","url","parse","pathname","isAbsolute","resolve","test","pkg","main","sync","basedir","extensions","packageFilter","json","dir","module","name","modulePath","mainPath","moduleResolved","relative","indexOf","replace","fs","existsSync"],"mappings":";;;;+BAgBA;;;eAAwBA;;;yDAhBT;2DACE;0DACD;iEACO;8DACH;iEAGA;;;;;;AAEpB,IAAMC,cAAc;AAEpB,SAASC,cAAcC,OAAgB;IACrC,IAAIA,QAAQC,UAAU,EAAE,OAAOC,aAAI,CAACC,OAAO,CAACH,QAAQC,UAAU;IAC9D,OAAOD,QAAQI,SAAS,GAAGF,aAAI,CAACC,OAAO,CAACN,OAAOG,QAAQI,SAAS,KAAKC,mBAAO,CAACC,GAAG;AAClF;AAEe,SAAST,OAAOU,SAAiB,EAAEP,OAAiB;IACjE,IAAIO,UAAUC,UAAU,CAAC,UAAU,OAAOC,YAAG,CAACC,KAAK,CAACH,WAAWI,QAAQ;IACvE,IAAIC,IAAAA,mBAAU,EAACL,YAAY,OAAOA;IAClC,IAAIA,SAAS,CAAC,EAAE,KAAK,KAAK;QACxB,IAAMN,aAAaD,UAAUD,cAAcC,WAAWK,mBAAO,CAACC,GAAG;QACjE,OAAOJ,aAAI,CAACW,OAAO,CAACZ,YAAYM;IAClC;IACA,IAAIT,YAAYgB,IAAI,CAACP,YAAY;QAC/B,IAAMN,cAAaD,UAAUD,cAAcC,WAAWK,mBAAO,CAACC,GAAG;QAEjE,IAAIS,MAAM;QACV,IAAMC,OAAOH,gBAAO,CAACI,IAAI,CAACV,WAAW;YACnCW,SAASjB;YACTkB,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,KAAKjB,WAAW,OAAOL,aAAI,CAACW,OAAO,CAACE,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM,GAAG,aAAa;QAE7F,qFAAqF;QACrF,IAAME,aAAavB,aAAI,CAACW,OAAO,CAACE,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM;QACxD,IAAMG,WAAWxB,aAAI,CAACW,OAAO,CAACE,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACL,IAAI;QACpD,IAAMW,iBAAiBzB,aAAI,CAACW,OAAO,CAACY,YAAYvB,aAAI,CAAC0B,QAAQ,CAACF,UAAUV;QACxE,OAAOW,eAAeE,OAAO,CAACtB,UAAUuB,OAAO,CAACf,IAAIM,IAAI,CAACG,IAAI,EAAE,OAAO,KAAK,CAACO,WAAE,CAACC,UAAU,CAACL,kBAAkBX,OAAOW;IACrH;IAEA,OAAOpB;AACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["toPath.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport url from 'url';\nimport isAbsolute from 'is-absolute';\nimport resolve from 'resolve';\nimport type { Context } from '../types';\n// @ts-ignore\nimport process from './process.cjs';\n\nconst moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\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 url.parse(specifier).pathname;\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","url","isAbsolute","resolve","process","moduleRegEx","getParentPath","context","parentPath","dirname","parentURL","toPath","cwd","specifier","startsWith","parse","pathname","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,SAAS,MAAM;AACtB,OAAOC,gBAAgB,cAAc;AACrC,OAAOC,aAAa,UAAU;AAE9B,aAAa;AACb,OAAOC,aAAa,gBAAgB;AAEpC,MAAMC,cAAc;AAEpB,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,KAAKN,QAAQQ,GAAG;AAClF;AAEA,eAAe,SAASD,OAAOE,SAAiB,EAAEN,OAAiB;IACjE,IAAIM,UAAUC,UAAU,CAAC,UAAU,OAAOb,IAAIc,KAAK,CAACF,WAAWG,QAAQ;IACvE,IAAId,WAAWW,YAAY,OAAOA;IAClC,IAAIA,SAAS,CAAC,EAAE,KAAK,KAAK;QACxB,MAAML,aAAaD,UAAUD,cAAcC,WAAWH,QAAQQ,GAAG;QACjE,OAAOZ,KAAKG,OAAO,CAACK,YAAYK;IAClC;IACA,IAAIR,YAAYY,IAAI,CAACJ,YAAY;QAC/B,MAAML,aAAaD,UAAUD,cAAcC,WAAWH,QAAQQ,GAAG;QAEjE,IAAIM,MAAM;QACV,MAAMC,OAAOhB,QAAQiB,IAAI,CAACP,WAAW;YACnCQ,SAASb;YACTc,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,KAAKd,WAAW,OAAOb,KAAKG,OAAO,CAACe,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM,GAAG,aAAa;QAE7F,qFAAqF;QACrF,MAAME,aAAa5B,KAAKG,OAAO,CAACe,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACE,MAAM;QACxD,MAAMG,WAAW7B,KAAKG,OAAO,CAACe,IAAIO,GAAG,EAAEP,IAAIM,IAAI,CAACL,IAAI;QACpD,MAAMW,iBAAiB9B,KAAKG,OAAO,CAACyB,YAAY5B,KAAK+B,QAAQ,CAACF,UAAUV;QACxE,OAAOW,eAAeE,OAAO,CAACnB,UAAUoB,OAAO,CAACf,IAAIM,IAAI,CAACG,IAAI,EAAE,OAAO,KAAK,CAAC5B,GAAGmC,UAAU,CAACJ,kBAAkBX,OAAOW;IACrH;IAEA,OAAOjB;AACT"}
|