ts-swc-transform 1.1.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js 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
  },
@@ -32,6 +35,7 @@ _export_star(require("./types.js"), exports);
32
35
  var _createMatcher = /*#__PURE__*/ _interop_require_default(require("./createMatcher.js"));
33
36
  var _extensions = /*#__PURE__*/ _interop_require_default(require("./extensions.js"));
34
37
  var _resolveFileSync = /*#__PURE__*/ _interop_require_default(require("./resolveFileSync.js"));
38
+ var _toPath = /*#__PURE__*/ _interop_require_default(require("./toPath.js"));
35
39
  var _transformFile = /*#__PURE__*/ _interop_require_default(require("./transformFile.js"));
36
40
  var _transformDirectory = /*#__PURE__*/ _interop_require_default(require("./transformDirectory.js"));
37
41
  var _transformSync = /*#__PURE__*/ _interop_require_default(require("./transformSync.js"));
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["export * 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 transformFile } from './transformFile.js';\nexport { default as transformDirectory } from './transformDirectory.js';\nexport { default as transformSync } from './transformSync.js';\n"],"names":["createMatcher","extensions","resolveFileSync","transformDirectory","transformFile","transformSync"],"mappings":";;;;;;;;;;;IACoBA,aAAa;eAAbA,sBAAa;;IACbC,UAAU;eAAVA,mBAAU;;IACVC,eAAe;eAAfA,wBAAe;;IAEfC,kBAAkB;eAAlBA,2BAAkB;;IADlBC,aAAa;eAAbA,sBAAa;;IAEbC,aAAa;eAAbA,sBAAa;;;qBANnB;oEAC2B;iEACH;sEACK;oEACF;yEACK;oEACL"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * 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;;;qBAPnB;oEAC2B;iEACH;sEACK;6DACT;oEACO;yEACK;oEACL"}
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "default", {
11
11
  var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
12
12
  var _path = /*#__PURE__*/ _interop_require_default(require("path"));
13
13
  var _extensions = /*#__PURE__*/ _interop_require_default(require("./extensions.js"));
14
- var _toPath = /*#__PURE__*/ _interop_require_default(require("./lib/toPath.js"));
14
+ var _toPath = /*#__PURE__*/ _interop_require_default(require("./toPath.js"));
15
15
  function _interop_require_default(obj) {
16
16
  return obj && obj.__esModule ? obj : {
17
17
  default: obj
@@ -29,14 +29,14 @@ function resolveFileSync(specifier, context) {
29
29
  try {
30
30
  stats = _fs.default.statSync(filePath);
31
31
  } catch (_err) {}
32
- // directory
33
- if ((stats === null || stats === void 0 ? void 0 : stats.isDirectory()) || specifier.endsWith('/')) {
32
+ // biome-ignore lint/complexity/useOptionalChain: <explanation>
33
+ if (stats && stats.isDirectory() || specifier.endsWith('/')) {
34
34
  var items = _fs.default.readdirSync(filePath);
35
35
  var item = items.find(function(x) {
36
36
  return indexExtensions.indexOf(x) >= 0;
37
37
  });
38
38
  if (item) return _path.default.join(filePath, item);
39
- } else if (!ext && !stats || !moduleRegEx.test(specifier)) {
39
+ } else if (!stats || !ext && !moduleRegEx.test(specifier)) {
40
40
  var fileName = _path.default.basename(filePath).replace(/(\.[^/.]+)+$/, '');
41
41
  var items1 = _fs.default.readdirSync(_path.default.dirname(filePath));
42
42
  var item1 = items1.find(function(x) {
@@ -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 './lib/toPath.js';\n\nimport type { Context } from './types';\n\nconst moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\nconst typeFileRegEx = /^[^.]+\\.d\\.[cm]?ts$/;\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 // directory\n if (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 ((!ext && !stats) || !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","moduleRegEx","typeFileRegEx","indexExtensions","extensions","map","x","specifier","context","filePath","toPath","ext","path","extname","stats","fs","statSync","_err","isDirectory","endsWith","items","readdirSync","item","find","indexOf","join","test","fileName","basename","replace","dirname","startsWith"],"mappings":";;;;+BAWA;;;eAAwBA;;;yDAXT;2DACE;iEACM;6DACJ;;;;;;AAInB,IAAMC,cAAc;AACpB,IAAMC,gBAAgB;AACtB,IAAMC,kBAAkBC,mBAAU,CAACC,GAAG,CAAC,SAACC;WAAM,AAAC,QAAS,OAAFA;;AAEvC,SAASN,gBAAgBO,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,YAAY;IACZ,IAAIH,CAAAA,kBAAAA,4BAAAA,MAAOI,WAAW,OAAMX,UAAUY,QAAQ,CAAC,MAAM;QACnD,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,AAAC,CAACX,OAAO,CAACG,SAAU,CAACb,YAAYyB,IAAI,CAACnB,YAAY;QACzD,IAAMoB,WAAWf,aAAI,CAACgB,QAAQ,CAACnB,UAAUoB,OAAO,CAAC,gBAAgB;QACjE,IAAMT,SAAQL,WAAE,CAACM,WAAW,CAACT,aAAI,CAACkB,OAAO,CAACrB;QAC1C,IAAMa,QAAOF,OAAMG,IAAI,CAAC,SAACjB;mBAAMA,EAAEyB,UAAU,CAACJ,aAAa,CAACzB,cAAcwB,IAAI,CAACpB,MAAMF,mBAAU,CAACoB,OAAO,CAACZ,aAAI,CAACC,OAAO,CAACP,OAAO;;QAC1H,IAAIgB,OAAM,OAAOV,aAAI,CAACa,IAAI,CAACb,aAAI,CAACkB,OAAO,CAACrB,WAAWa;IACrD;IAEA,wBAAwB;IACxB,OAAOR,QAAQL,WAAW;AAC5B"}
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 moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\nconst typeFileRegEx = /^[^.]+\\.d\\.[cm]?ts$/;\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","moduleRegEx","typeFileRegEx","indexExtensions","extensions","map","x","specifier","context","filePath","toPath","ext","path","extname","stats","fs","statSync","_err","isDirectory","endsWith","items","readdirSync","item","find","indexOf","join","test","fileName","basename","replace","dirname","startsWith"],"mappings":";;;;+BAUA;;;eAAwBA;;;yDAVT;2DACE;iEACM;6DACJ;;;;;;AAGnB,IAAMC,cAAc;AACpB,IAAMC,gBAAgB;AACtB,IAAMC,kBAAkBC,mBAAU,CAACC,GAAG,CAAC,SAACC;WAAM,AAAC,QAAS,OAAFA;;AAEvC,SAASN,gBAAgBO,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,CAACV,YAAYyB,IAAI,CAACnB,YAAa;QACzD,IAAMoB,WAAWf,aAAI,CAACgB,QAAQ,CAACnB,UAAUoB,OAAO,CAAC,gBAAgB;QACjE,IAAMT,SAAQL,WAAE,CAACM,WAAW,CAACT,aAAI,CAACkB,OAAO,CAACrB;QAC1C,IAAMa,QAAOF,OAAMG,IAAI,CAAC,SAACjB;mBAAMA,EAAEyB,UAAU,CAACJ,aAAa,CAACzB,cAAcwB,IAAI,CAACpB,MAAMF,mBAAU,CAACoB,OAAO,CAACZ,aAAI,CAACC,OAAO,CAACP,OAAO;;QAC1H,IAAIgB,OAAM,OAAOV,aAAI,CAACa,IAAI,CAACb,aAAI,CAACkB,OAAO,CAACrB,WAAWa;IACrD;IAEA,wBAAwB;IACxB,OAAOR,QAAQL,WAAW;AAC5B"}
@@ -13,7 +13,7 @@ var _path = /*#__PURE__*/ _interop_require_default(require("path"));
13
13
  var _url = /*#__PURE__*/ _interop_require_default(require("url"));
14
14
  var _isabsolute = /*#__PURE__*/ _interop_require_default(require("is-absolute"));
15
15
  var _resolve = /*#__PURE__*/ _interop_require_default(require("resolve"));
16
- var _processcjs = /*#__PURE__*/ _interop_require_default(require("./process.js"));
16
+ var _processcjs = /*#__PURE__*/ _interop_require_default(require("./lib/process.js"));
17
17
  function _interop_require_default(obj) {
18
18
  return obj && obj.__esModule ? obj : {
19
19
  default: obj
@@ -25,7 +25,7 @@ function getParentPath(context) {
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 _url.default.parse(specifier).pathname;
28
+ if (specifier.startsWith('file://')) return _url.default.parse(specifier).pathname;
29
29
  if ((0, _isabsolute.default)(specifier)) return specifier;
30
30
  if (specifier[0] === '.') {
31
31
  var parentPath = context ? getParentPath(context) : _processcjs.default.cwd();
@@ -0,0 +1 @@
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';\n// @ts-ignore\nimport process from './lib/process.cjs';\nimport type { Context } from './types.js';\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;iEAEA;;;;;;AAGpB,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,YAAY,OAAOC,YAAG,CAACC,KAAK,CAACH,WAAWI,QAAQ;IACzE,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"}
@@ -2,6 +2,7 @@ export * from './types.mjs';
2
2
  export { default as createMatcher } from './createMatcher.mjs';
3
3
  export { default as extensions } from './extensions.mjs';
4
4
  export { default as resolveFileSync } from './resolveFileSync.mjs';
5
+ export { default as toPath } from './toPath.mjs';
5
6
  export { default as transformFile } from './transformFile.mjs';
6
7
  export { default as transformDirectory } from './transformDirectory.mjs';
7
8
  export { default as transformSync } from './transformSync.mjs';
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"sourcesContent":["export * 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 transformFile } from './transformFile.js';\nexport { default as transformDirectory } from './transformDirectory.js';\nexport { default as transformSync } from './transformSync.js';\n"],"names":["default","createMatcher","extensions","resolveFileSync","transformFile","transformDirectory","transformSync"],"mappings":"AAAA,cAAc,aAAa;AAC3B,SAASA,WAAWC,aAAa,QAAQ,qBAAqB;AAC9D,SAASD,WAAWE,UAAU,QAAQ,kBAAkB;AACxD,SAASF,WAAWG,eAAe,QAAQ,uBAAuB;AAClE,SAASH,WAAWI,aAAa,QAAQ,qBAAqB;AAC9D,SAASJ,WAAWK,kBAAkB,QAAQ,0BAA0B;AACxE,SAASL,WAAWM,aAAa,QAAQ,qBAAqB"}
1
+ {"version":3,"sources":["index.ts"],"sourcesContent":["export * 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":"AAAA,cAAc,aAAa;AAC3B,SAASA,WAAWC,aAAa,QAAQ,qBAAqB;AAC9D,SAASD,WAAWE,UAAU,QAAQ,kBAAkB;AACxD,SAASF,WAAWG,eAAe,QAAQ,uBAAuB;AAClE,SAASH,WAAWI,MAAM,QAAQ,cAAc;AAChD,SAASJ,WAAWK,aAAa,QAAQ,qBAAqB;AAC9D,SAASL,WAAWM,kBAAkB,QAAQ,0BAA0B;AACxE,SAASN,WAAWO,aAAa,QAAQ,qBAAqB"}
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
3
  import extensions from './extensions.mjs';
4
- import toPath from './lib/toPath.mjs';
4
+ import toPath from './toPath.mjs';
5
5
  const moduleRegEx = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/;
6
6
  const typeFileRegEx = /^[^.]+\.d\.[cm]?ts$/;
7
7
  const indexExtensions = extensions.map((x)=>`index${x}`);
@@ -12,12 +12,12 @@ export default function resolveFileSync(specifier, context) {
12
12
  try {
13
13
  stats = fs.statSync(filePath);
14
14
  } catch (_err) {}
15
- // directory
16
- if (stats?.isDirectory() || specifier.endsWith('/')) {
15
+ // biome-ignore lint/complexity/useOptionalChain: <explanation>
16
+ if (stats && stats.isDirectory() || specifier.endsWith('/')) {
17
17
  const items = fs.readdirSync(filePath);
18
18
  const item = items.find((x)=>indexExtensions.indexOf(x) >= 0);
19
19
  if (item) return path.join(filePath, item);
20
- } else if (!ext && !stats || !moduleRegEx.test(specifier)) {
20
+ } else if (!stats || !ext && !moduleRegEx.test(specifier)) {
21
21
  const fileName = path.basename(filePath).replace(/(\.[^/.]+)+$/, '');
22
22
  const items = fs.readdirSync(path.dirname(filePath));
23
23
  const item = items.find((x)=>x.startsWith(fileName) && !typeFileRegEx.test(x) && extensions.indexOf(path.extname(x)) >= 0);
@@ -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 './lib/toPath.js';\n\nimport type { Context } from './types';\n\nconst moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\nconst typeFileRegEx = /^[^.]+\\.d\\.[cm]?ts$/;\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 // directory\n if (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 ((!ext && !stats) || !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","extensions","toPath","moduleRegEx","typeFileRegEx","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,OAAOC,gBAAgB,kBAAkB;AACzC,OAAOC,YAAY,kBAAkB;AAIrC,MAAMC,cAAc;AACpB,MAAMC,gBAAgB;AACtB,MAAMC,kBAAkBJ,WAAWK,GAAG,CAAC,CAACC,IAAM,CAAC,KAAK,EAAEA,GAAG;AAEzD,eAAe,SAASC,gBAAgBC,SAAiB,EAAEC,OAAiB;IAC1E,MAAMC,WAAWT,OAAOO,WAAWC;IACnC,MAAME,MAAMZ,KAAKa,OAAO,CAACF;IAEzB,IAAIG;IACJ,IAAI;QACFA,QAAQf,GAAGgB,QAAQ,CAACJ;IACtB,EAAE,OAAOK,MAAM,CAAC;IAEhB,YAAY;IACZ,IAAIF,OAAOG,iBAAiBR,UAAUS,QAAQ,CAAC,MAAM;QACnD,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,AAAC,CAACT,OAAO,CAACE,SAAU,CAACX,YAAYsB,IAAI,CAAChB,YAAY;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,CAACtB,cAAcqB,IAAI,CAAClB,MAAMN,WAAWsB,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
+ {"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 moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\nconst typeFileRegEx = /^[^.]+\\.d\\.[cm]?ts$/;\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","extensions","toPath","moduleRegEx","typeFileRegEx","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,OAAOC,gBAAgB,kBAAkB;AACzC,OAAOC,YAAY,cAAc;AAGjC,MAAMC,cAAc;AACpB,MAAMC,gBAAgB;AACtB,MAAMC,kBAAkBJ,WAAWK,GAAG,CAAC,CAACC,IAAM,CAAC,KAAK,EAAEA,GAAG;AAEzD,eAAe,SAASC,gBAAgBC,SAAiB,EAAEC,OAAiB;IAC1E,MAAMC,WAAWT,OAAOO,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,CAACT,YAAYsB,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,CAACtB,cAAcqB,IAAI,CAAClB,MAAMN,WAAWsB,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"}
@@ -4,14 +4,14 @@ import url from 'url';
4
4
  import isAbsolute from 'is-absolute';
5
5
  import resolve from 'resolve';
6
6
  // @ts-ignore
7
- import process from './process.cjs';
7
+ import process from './lib/process.cjs';
8
8
  const moduleRegEx = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/;
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 url.parse(specifier).pathname;
14
+ if (specifier.startsWith('file://')) return url.parse(specifier).pathname;
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 url from 'url';\nimport isAbsolute from 'is-absolute';\nimport resolve from 'resolve';\n// @ts-ignore\nimport process from './lib/process.cjs';\nimport type { Context } from './types.js';\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;AAC9B,aAAa;AACb,OAAOC,aAAa,oBAAoB;AAGxC,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,YAAY,OAAOb,IAAIc,KAAK,CAACF,WAAWG,QAAQ;IACzE,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"}
@@ -2,6 +2,7 @@ export * 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 '../types';
1
+ import type { Context } from './types.js';
2
2
  export default function toPath(specifier: string, context?: Context): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-swc-transform",
3
- "version": "1.1.2",
3
+ "version": "1.3.0",
4
4
  "description": "Typescript transformers for swc. Supports Node >= 0.8",
5
5
  "keywords": [
6
6
  "matcher",
@@ -61,7 +61,7 @@
61
61
  "mkdirp": "^0.5.6",
62
62
  "node-version-call": "^1.1.1",
63
63
  "path-posix": "^1.0.0",
64
- "queue-cb": "^1.4.2",
64
+ "queue-cb": "^1.4.3",
65
65
  "resolve": "^1.22.9",
66
66
  "temp-suffix": "^0.1.1",
67
67
  "ts-node": "*",
@@ -75,9 +75,9 @@
75
75
  "@types/node": "^22.10.2",
76
76
  "core-js": "^3.39.0",
77
77
  "cr": "^0.1.0",
78
- "react": "^18.3.1",
78
+ "react": "^19.0.0",
79
79
  "rimraf2": "^2.8.2",
80
- "ts-dev-stack": "^1.2.1",
80
+ "ts-dev-stack": "^1.2.2",
81
81
  "ts-node": "^10.8.2",
82
82
  "typescript": "^5.7.2"
83
83
  },
@@ -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"}