ts-swc-transform 1.15.28 → 1.15.30

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.
@@ -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 _lodashfind = /*#__PURE__*/ _interop_require_default(require("lodash.find"));
13
14
  var _constants = require("../constants.cjs");
14
15
  var _parseSpecifiers = /*#__PURE__*/ _interop_require_default(require("./parseSpecifiers.cjs"));
15
16
  function _interop_require_default(obj) {
@@ -33,7 +34,7 @@ function makeReplacements(entry, code, regex, extensions, extension, options) {
33
34
  var files = _fs.default.readdirSync(_path.default.dirname(fullPath), {
34
35
  withFileTypes: true
35
36
  });
36
- var found = files.find(function(x) {
37
+ var found = (0, _lodashfind.default)(files, function(x) {
37
38
  return x.name === basename;
38
39
  });
39
40
  if (found && found.isDirectory()) return specifier;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/makeReplacements.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { moduleRegEx } from '../constants';\nimport parseSpecifiers from './parseSpecifiers';\n\nexport default function makeReplacements(entry, code, regex, extensions, extension, options) {\n const { src } = options;\n const parsed = parseSpecifiers(code, regex);\n\n return parsed\n .map((parsed) => {\n if (!parsed.isSpecifier) return parsed.content;\n const specifier = parsed.content;\n if (moduleRegEx.test(specifier)) return specifier;\n\n const ext = path.extname(specifier);\n if (ext && extensions.indexOf(ext) < 0) return specifier;\n if (!ext) {\n try {\n const basename = path.basename(specifier);\n const fullPath = path.join(src, path.dirname(entry.path), specifier);\n const files = fs.readdirSync(path.dirname(fullPath), { withFileTypes: true });\n const found = files.find((x) => x.name === basename);\n if (found && found.isDirectory()) return specifier;\n } catch (_err) {}\n }\n const stripped = ext ? specifier.slice(0, -ext.length) : specifier;\n return `${stripped}${extension}`;\n })\n .join('');\n}\n"],"names":["makeReplacements","entry","code","regex","extensions","extension","options","src","parsed","parseSpecifiers","map","isSpecifier","content","specifier","moduleRegEx","test","ext","path","extname","indexOf","basename","fullPath","join","dirname","files","fs","readdirSync","withFileTypes","found","find","x","name","isDirectory","_err","stripped","slice","length"],"mappings":";;;;+BAKA;;;eAAwBA;;;yDALT;2DACE;yBACW;sEACA;;;;;;AAEb,SAASA,iBAAiBC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO;IACzF,IAAM,AAAEC,MAAQD,QAARC;IACR,IAAMC,SAASC,IAAAA,wBAAe,EAACP,MAAMC;IAErC,OAAOK,OACJE,GAAG,CAAC,SAACF;QACJ,IAAI,CAACA,OAAOG,WAAW,EAAE,OAAOH,OAAOI,OAAO;QAC9C,IAAMC,YAAYL,OAAOI,OAAO;QAChC,IAAIE,sBAAW,CAACC,IAAI,CAACF,YAAY,OAAOA;QAExC,IAAMG,MAAMC,aAAI,CAACC,OAAO,CAACL;QACzB,IAAIG,OAAOZ,WAAWe,OAAO,CAACH,OAAO,GAAG,OAAOH;QAC/C,IAAI,CAACG,KAAK;YACR,IAAI;gBACF,IAAMI,WAAWH,aAAI,CAACG,QAAQ,CAACP;gBAC/B,IAAMQ,WAAWJ,aAAI,CAACK,IAAI,CAACf,KAAKU,aAAI,CAACM,OAAO,CAACtB,MAAMgB,IAAI,GAAGJ;gBAC1D,IAAMW,QAAQC,WAAE,CAACC,WAAW,CAACT,aAAI,CAACM,OAAO,CAACF,WAAW;oBAAEM,eAAe;gBAAK;gBAC3E,IAAMC,QAAQJ,MAAMK,IAAI,CAAC,SAACC;2BAAMA,EAAEC,IAAI,KAAKX;;gBAC3C,IAAIQ,SAASA,MAAMI,WAAW,IAAI,OAAOnB;YAC3C,EAAE,OAAOoB,MAAM,CAAC;QAClB;QACA,IAAMC,WAAWlB,MAAMH,UAAUsB,KAAK,CAAC,GAAG,CAACnB,IAAIoB,MAAM,IAAIvB;QACzD,OAAO,AAAC,GAAaR,OAAX6B,UAAqB,OAAV7B;IACvB,GACCiB,IAAI,CAAC;AACV"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/makeReplacements.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport find from 'lodash.find';\nimport { moduleRegEx } from '../constants';\nimport parseSpecifiers from './parseSpecifiers';\n\nexport default function makeReplacements(entry, code, regex, extensions, extension, options) {\n const { src } = options;\n const parsed = parseSpecifiers(code, regex);\n\n return parsed\n .map((parsed) => {\n if (!parsed.isSpecifier) return parsed.content;\n const specifier = parsed.content;\n if (moduleRegEx.test(specifier)) return specifier;\n\n const ext = path.extname(specifier);\n if (ext && extensions.indexOf(ext) < 0) return specifier;\n if (!ext) {\n try {\n const basename = path.basename(specifier);\n const fullPath = path.join(src, path.dirname(entry.path), specifier);\n const files = fs.readdirSync(path.dirname(fullPath), { withFileTypes: true });\n const found = find(files, (x) => x.name === basename);\n if (found && found.isDirectory()) return specifier;\n } catch (_err) {}\n }\n const stripped = ext ? specifier.slice(0, -ext.length) : specifier;\n return `${stripped}${extension}`;\n })\n .join('');\n}\n"],"names":["makeReplacements","entry","code","regex","extensions","extension","options","src","parsed","parseSpecifiers","map","isSpecifier","content","specifier","moduleRegEx","test","ext","path","extname","indexOf","basename","fullPath","join","dirname","files","fs","readdirSync","withFileTypes","found","find","x","name","isDirectory","_err","stripped","slice","length"],"mappings":";;;;+BAMA;;;eAAwBA;;;yDANT;2DACE;iEACA;yBACW;sEACA;;;;;;AAEb,SAASA,iBAAiBC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO;IACzF,IAAM,AAAEC,MAAQD,QAARC;IACR,IAAMC,SAASC,IAAAA,wBAAe,EAACP,MAAMC;IAErC,OAAOK,OACJE,GAAG,CAAC,SAACF;QACJ,IAAI,CAACA,OAAOG,WAAW,EAAE,OAAOH,OAAOI,OAAO;QAC9C,IAAMC,YAAYL,OAAOI,OAAO;QAChC,IAAIE,sBAAW,CAACC,IAAI,CAACF,YAAY,OAAOA;QAExC,IAAMG,MAAMC,aAAI,CAACC,OAAO,CAACL;QACzB,IAAIG,OAAOZ,WAAWe,OAAO,CAACH,OAAO,GAAG,OAAOH;QAC/C,IAAI,CAACG,KAAK;YACR,IAAI;gBACF,IAAMI,WAAWH,aAAI,CAACG,QAAQ,CAACP;gBAC/B,IAAMQ,WAAWJ,aAAI,CAACK,IAAI,CAACf,KAAKU,aAAI,CAACM,OAAO,CAACtB,MAAMgB,IAAI,GAAGJ;gBAC1D,IAAMW,QAAQC,WAAE,CAACC,WAAW,CAACT,aAAI,CAACM,OAAO,CAACF,WAAW;oBAAEM,eAAe;gBAAK;gBAC3E,IAAMC,QAAQC,IAAAA,mBAAI,EAACL,OAAO,SAACM;2BAAMA,EAAEC,IAAI,KAAKX;;gBAC5C,IAAIQ,SAASA,MAAMI,WAAW,IAAI,OAAOnB;YAC3C,EAAE,OAAOoB,MAAM,CAAC;QAClB;QACA,IAAMC,WAAWlB,MAAMH,UAAUsB,KAAK,CAAC,GAAG,CAACnB,IAAIoB,MAAM,IAAIvB;QACzD,OAAO,AAAC,GAAaR,OAAX6B,UAAqB,OAAV7B;IACvB,GACCiB,IAAI,CAAC;AACV"}
@@ -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 _lodashfind = /*#__PURE__*/ _interop_require_default(require("lodash.find"));
13
14
  var _constants = require("./constants.cjs");
14
15
  var _toPath = /*#__PURE__*/ _interop_require_default(require("./toPath.cjs"));
15
16
  function _interop_require_default(obj) {
@@ -29,7 +30,7 @@ function resolveFileSync(specifier, context) {
29
30
  try {
30
31
  if (stat && stat.isDirectory() || specifier.endsWith('/')) {
31
32
  var items = _fs.default.readdirSync(filePath);
32
- var item = items.find(function(x) {
33
+ var item = (0, _lodashfind.default)(items, function(x) {
33
34
  return indexExtensions.indexOf(x) >= 0;
34
35
  });
35
36
  if (item) return _path.default.join(filePath, item);
@@ -37,7 +38,7 @@ function resolveFileSync(specifier, context) {
37
38
  var ext = _path.default.extname(filePath);
38
39
  var basename = ext ? _path.default.basename(filePath).slice(0, -ext.length) : _path.default.basename(filePath);
39
40
  var items1 = _fs.default.readdirSync(_path.default.dirname(filePath));
40
- var item1 = items1.find(function(x) {
41
+ var item1 = (0, _lodashfind.default)(items1, function(x) {
41
42
  if (_constants.typeFileRegEx.test(x)) return false;
42
43
  var extTest = _path.default.extname(x);
43
44
  var basenameTest = extTest ? _path.default.basename(x).slice(0, -extTest.length) : _path.default.basename(x);
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { extensions, moduleRegEx, typeFileRegEx } from './constants';\nimport toPath from './toPath';\nimport type { Context } from './types';\n\nconst indexExtensions = extensions.map((x) => `index${x}`);\n\nexport default function resolveFileSync(specifier: string, context?: Context) {\n const filePath = toPath(specifier, context);\n let stat: fs.Stats;\n try {\n stat = fs.statSync(filePath);\n } catch (_err) {}\n try {\n if ((stat && stat.isDirectory()) || specifier.endsWith('/')) {\n const items = fs.readdirSync(filePath);\n const item = items.find((x) => indexExtensions.indexOf(x) >= 0);\n if (item) return path.join(filePath, item);\n } else if (!stat && !moduleRegEx.test(specifier)) {\n const ext = path.extname(filePath);\n const basename = ext ? path.basename(filePath).slice(0, -ext.length) : path.basename(filePath);\n const items = fs.readdirSync(path.dirname(filePath));\n const item = items.find((x) => {\n if (typeFileRegEx.test(x)) return false;\n const extTest = path.extname(x);\n const basenameTest = extTest ? path.basename(x).slice(0, -extTest.length) : path.basename(x);\n return basename === basenameTest;\n });\n if (item) return path.join(path.dirname(filePath), item);\n }\n // return what was found\n return stat ? filePath : null;\n } catch (_err) {\n return null;\n }\n}\n"],"names":["resolveFileSync","indexExtensions","extensions","map","x","specifier","context","filePath","toPath","stat","fs","statSync","_err","isDirectory","endsWith","items","readdirSync","item","find","indexOf","path","join","moduleRegEx","test","ext","extname","basename","slice","length","dirname","typeFileRegEx","extTest","basenameTest"],"mappings":";;;;+BAQA;;;eAAwBA;;;yDART;2DACE;yBACsC;6DACpC;;;;;;AAGnB,IAAMC,kBAAkBC,qBAAU,CAACC,GAAG,CAAC,SAACC;WAAM,AAAC,QAAS,OAAFA;;AAEvC,SAASJ,gBAAgBK,SAAiB,EAAEC,OAAiB;IAC1E,IAAMC,WAAWC,IAAAA,eAAM,EAACH,WAAWC;IACnC,IAAIG;IACJ,IAAI;QACFA,OAAOC,WAAE,CAACC,QAAQ,CAACJ;IACrB,EAAE,OAAOK,MAAM,CAAC;IAChB,IAAI;QACF,IAAI,AAACH,QAAQA,KAAKI,WAAW,MAAOR,UAAUS,QAAQ,CAAC,MAAM;YAC3D,IAAMC,QAAQL,WAAE,CAACM,WAAW,CAACT;YAC7B,IAAMU,OAAOF,MAAMG,IAAI,CAAC,SAACd;uBAAMH,gBAAgBkB,OAAO,CAACf,MAAM;;YAC7D,IAAIa,MAAM,OAAOG,aAAI,CAACC,IAAI,CAACd,UAAUU;QACvC,OAAO,IAAI,CAACR,QAAQ,CAACa,sBAAW,CAACC,IAAI,CAAClB,YAAY;YAChD,IAAMmB,MAAMJ,aAAI,CAACK,OAAO,CAAClB;YACzB,IAAMmB,WAAWF,MAAMJ,aAAI,CAACM,QAAQ,CAACnB,UAAUoB,KAAK,CAAC,GAAG,CAACH,IAAII,MAAM,IAAIR,aAAI,CAACM,QAAQ,CAACnB;YACrF,IAAMQ,SAAQL,WAAE,CAACM,WAAW,CAACI,aAAI,CAACS,OAAO,CAACtB;YAC1C,IAAMU,QAAOF,OAAMG,IAAI,CAAC,SAACd;gBACvB,IAAI0B,wBAAa,CAACP,IAAI,CAACnB,IAAI,OAAO;gBAClC,IAAM2B,UAAUX,aAAI,CAACK,OAAO,CAACrB;gBAC7B,IAAM4B,eAAeD,UAAUX,aAAI,CAACM,QAAQ,CAACtB,GAAGuB,KAAK,CAAC,GAAG,CAACI,QAAQH,MAAM,IAAIR,aAAI,CAACM,QAAQ,CAACtB;gBAC1F,OAAOsB,aAAaM;YACtB;YACA,IAAIf,OAAM,OAAOG,aAAI,CAACC,IAAI,CAACD,aAAI,CAACS,OAAO,CAACtB,WAAWU;QACrD;QACA,wBAAwB;QACxB,OAAOR,OAAOF,WAAW;IAC3B,EAAE,OAAOK,MAAM;QACb,OAAO;IACT;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport find from 'lodash.find';\nimport { extensions, moduleRegEx, typeFileRegEx } from './constants';\nimport toPath from './toPath';\nimport type { Context } from './types';\n\nconst indexExtensions = extensions.map((x) => `index${x}`);\n\nexport default function resolveFileSync(specifier: string, context?: Context) {\n const filePath = toPath(specifier, context);\n let stat: fs.Stats;\n try {\n stat = fs.statSync(filePath);\n } catch (_err) {}\n try {\n if ((stat && stat.isDirectory()) || specifier.endsWith('/')) {\n const items = fs.readdirSync(filePath);\n const item = find(items, (x) => indexExtensions.indexOf(x) >= 0);\n if (item) return path.join(filePath, item);\n } else if (!stat && !moduleRegEx.test(specifier)) {\n const ext = path.extname(filePath);\n const basename = ext ? path.basename(filePath).slice(0, -ext.length) : path.basename(filePath);\n const items = fs.readdirSync(path.dirname(filePath));\n const item = find(items, (x) => {\n if (typeFileRegEx.test(x)) return false;\n const extTest = path.extname(x);\n const basenameTest = extTest ? path.basename(x).slice(0, -extTest.length) : path.basename(x);\n return basename === basenameTest;\n });\n if (item) return path.join(path.dirname(filePath), item);\n }\n // return what was found\n return stat ? filePath : null;\n } catch (_err) {\n return null;\n }\n}\n"],"names":["resolveFileSync","indexExtensions","extensions","map","x","specifier","context","filePath","toPath","stat","fs","statSync","_err","isDirectory","endsWith","items","readdirSync","item","find","indexOf","path","join","moduleRegEx","test","ext","extname","basename","slice","length","dirname","typeFileRegEx","extTest","basenameTest"],"mappings":";;;;+BASA;;;eAAwBA;;;yDATT;2DACE;iEACA;yBACsC;6DACpC;;;;;;AAGnB,IAAMC,kBAAkBC,qBAAU,CAACC,GAAG,CAAC,SAACC;WAAM,AAAC,QAAS,OAAFA;;AAEvC,SAASJ,gBAAgBK,SAAiB,EAAEC,OAAiB;IAC1E,IAAMC,WAAWC,IAAAA,eAAM,EAACH,WAAWC;IACnC,IAAIG;IACJ,IAAI;QACFA,OAAOC,WAAE,CAACC,QAAQ,CAACJ;IACrB,EAAE,OAAOK,MAAM,CAAC;IAChB,IAAI;QACF,IAAI,AAACH,QAAQA,KAAKI,WAAW,MAAOR,UAAUS,QAAQ,CAAC,MAAM;YAC3D,IAAMC,QAAQL,WAAE,CAACM,WAAW,CAACT;YAC7B,IAAMU,OAAOC,IAAAA,mBAAI,EAACH,OAAO,SAACX;uBAAMH,gBAAgBkB,OAAO,CAACf,MAAM;;YAC9D,IAAIa,MAAM,OAAOG,aAAI,CAACC,IAAI,CAACd,UAAUU;QACvC,OAAO,IAAI,CAACR,QAAQ,CAACa,sBAAW,CAACC,IAAI,CAAClB,YAAY;YAChD,IAAMmB,MAAMJ,aAAI,CAACK,OAAO,CAAClB;YACzB,IAAMmB,WAAWF,MAAMJ,aAAI,CAACM,QAAQ,CAACnB,UAAUoB,KAAK,CAAC,GAAG,CAACH,IAAII,MAAM,IAAIR,aAAI,CAACM,QAAQ,CAACnB;YACrF,IAAMQ,SAAQL,WAAE,CAACM,WAAW,CAACI,aAAI,CAACS,OAAO,CAACtB;YAC1C,IAAMU,QAAOC,IAAAA,mBAAI,EAACH,QAAO,SAACX;gBACxB,IAAI0B,wBAAa,CAACP,IAAI,CAACnB,IAAI,OAAO;gBAClC,IAAM2B,UAAUX,aAAI,CAACK,OAAO,CAACrB;gBAC7B,IAAM4B,eAAeD,UAAUX,aAAI,CAACM,QAAQ,CAACtB,GAAGuB,KAAK,CAAC,GAAG,CAACI,QAAQH,MAAM,IAAIR,aAAI,CAACM,QAAQ,CAACtB;gBAC1F,OAAOsB,aAAaM;YACtB;YACA,IAAIf,OAAM,OAAOG,aAAI,CAACC,IAAI,CAACD,aAAI,CAACS,OAAO,CAACtB,WAAWU;QACrD;QACA,wBAAwB;QACxB,OAAOR,OAAOF,WAAW;IAC3B,EAAE,OAAOK,MAAM;QACb,OAAO;IACT;AACF"}
@@ -1,5 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
+ import find from 'lodash.find';
3
4
  import { moduleRegEx } from '../constants.mjs';
4
5
  import parseSpecifiers from './parseSpecifiers.mjs';
5
6
  export default function makeReplacements(entry, code, regex, extensions, extension, options) {
@@ -18,7 +19,7 @@ export default function makeReplacements(entry, code, regex, extensions, extensi
18
19
  const files = fs.readdirSync(path.dirname(fullPath), {
19
20
  withFileTypes: true
20
21
  });
21
- const found = files.find((x)=>x.name === basename);
22
+ const found = find(files, (x)=>x.name === basename);
22
23
  if (found && found.isDirectory()) return specifier;
23
24
  } catch (_err) {}
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/makeReplacements.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { moduleRegEx } from '../constants';\nimport parseSpecifiers from './parseSpecifiers';\n\nexport default function makeReplacements(entry, code, regex, extensions, extension, options) {\n const { src } = options;\n const parsed = parseSpecifiers(code, regex);\n\n return parsed\n .map((parsed) => {\n if (!parsed.isSpecifier) return parsed.content;\n const specifier = parsed.content;\n if (moduleRegEx.test(specifier)) return specifier;\n\n const ext = path.extname(specifier);\n if (ext && extensions.indexOf(ext) < 0) return specifier;\n if (!ext) {\n try {\n const basename = path.basename(specifier);\n const fullPath = path.join(src, path.dirname(entry.path), specifier);\n const files = fs.readdirSync(path.dirname(fullPath), { withFileTypes: true });\n const found = files.find((x) => x.name === basename);\n if (found && found.isDirectory()) return specifier;\n } catch (_err) {}\n }\n const stripped = ext ? specifier.slice(0, -ext.length) : specifier;\n return `${stripped}${extension}`;\n })\n .join('');\n}\n"],"names":["fs","path","moduleRegEx","parseSpecifiers","makeReplacements","entry","code","regex","extensions","extension","options","src","parsed","map","isSpecifier","content","specifier","test","ext","extname","indexOf","basename","fullPath","join","dirname","files","readdirSync","withFileTypes","found","find","x","name","isDirectory","_err","stripped","slice","length"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,SAASC,WAAW,QAAQ,eAAe;AAC3C,OAAOC,qBAAqB,oBAAoB;AAEhD,eAAe,SAASC,iBAAiBC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO;IACzF,MAAM,EAAEC,GAAG,EAAE,GAAGD;IAChB,MAAME,SAAST,gBAAgBG,MAAMC;IAErC,OAAOK,OACJC,GAAG,CAAC,CAACD;QACJ,IAAI,CAACA,OAAOE,WAAW,EAAE,OAAOF,OAAOG,OAAO;QAC9C,MAAMC,YAAYJ,OAAOG,OAAO;QAChC,IAAIb,YAAYe,IAAI,CAACD,YAAY,OAAOA;QAExC,MAAME,MAAMjB,KAAKkB,OAAO,CAACH;QACzB,IAAIE,OAAOV,WAAWY,OAAO,CAACF,OAAO,GAAG,OAAOF;QAC/C,IAAI,CAACE,KAAK;YACR,IAAI;gBACF,MAAMG,WAAWpB,KAAKoB,QAAQ,CAACL;gBAC/B,MAAMM,WAAWrB,KAAKsB,IAAI,CAACZ,KAAKV,KAAKuB,OAAO,CAACnB,MAAMJ,IAAI,GAAGe;gBAC1D,MAAMS,QAAQzB,GAAG0B,WAAW,CAACzB,KAAKuB,OAAO,CAACF,WAAW;oBAAEK,eAAe;gBAAK;gBAC3E,MAAMC,QAAQH,MAAMI,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKV;gBAC3C,IAAIO,SAASA,MAAMI,WAAW,IAAI,OAAOhB;YAC3C,EAAE,OAAOiB,MAAM,CAAC;QAClB;QACA,MAAMC,WAAWhB,MAAMF,UAAUmB,KAAK,CAAC,GAAG,CAACjB,IAAIkB,MAAM,IAAIpB;QACzD,OAAO,GAAGkB,WAAWzB,WAAW;IAClC,GACCc,IAAI,CAAC;AACV"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/makeReplacements.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport find from 'lodash.find';\nimport { moduleRegEx } from '../constants';\nimport parseSpecifiers from './parseSpecifiers';\n\nexport default function makeReplacements(entry, code, regex, extensions, extension, options) {\n const { src } = options;\n const parsed = parseSpecifiers(code, regex);\n\n return parsed\n .map((parsed) => {\n if (!parsed.isSpecifier) return parsed.content;\n const specifier = parsed.content;\n if (moduleRegEx.test(specifier)) return specifier;\n\n const ext = path.extname(specifier);\n if (ext && extensions.indexOf(ext) < 0) return specifier;\n if (!ext) {\n try {\n const basename = path.basename(specifier);\n const fullPath = path.join(src, path.dirname(entry.path), specifier);\n const files = fs.readdirSync(path.dirname(fullPath), { withFileTypes: true });\n const found = find(files, (x) => x.name === basename);\n if (found && found.isDirectory()) return specifier;\n } catch (_err) {}\n }\n const stripped = ext ? specifier.slice(0, -ext.length) : specifier;\n return `${stripped}${extension}`;\n })\n .join('');\n}\n"],"names":["fs","path","find","moduleRegEx","parseSpecifiers","makeReplacements","entry","code","regex","extensions","extension","options","src","parsed","map","isSpecifier","content","specifier","test","ext","extname","indexOf","basename","fullPath","join","dirname","files","readdirSync","withFileTypes","found","x","name","isDirectory","_err","stripped","slice","length"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,UAAU,cAAc;AAC/B,SAASC,WAAW,QAAQ,eAAe;AAC3C,OAAOC,qBAAqB,oBAAoB;AAEhD,eAAe,SAASC,iBAAiBC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO;IACzF,MAAM,EAAEC,GAAG,EAAE,GAAGD;IAChB,MAAME,SAAST,gBAAgBG,MAAMC;IAErC,OAAOK,OACJC,GAAG,CAAC,CAACD;QACJ,IAAI,CAACA,OAAOE,WAAW,EAAE,OAAOF,OAAOG,OAAO;QAC9C,MAAMC,YAAYJ,OAAOG,OAAO;QAChC,IAAIb,YAAYe,IAAI,CAACD,YAAY,OAAOA;QAExC,MAAME,MAAMlB,KAAKmB,OAAO,CAACH;QACzB,IAAIE,OAAOV,WAAWY,OAAO,CAACF,OAAO,GAAG,OAAOF;QAC/C,IAAI,CAACE,KAAK;YACR,IAAI;gBACF,MAAMG,WAAWrB,KAAKqB,QAAQ,CAACL;gBAC/B,MAAMM,WAAWtB,KAAKuB,IAAI,CAACZ,KAAKX,KAAKwB,OAAO,CAACnB,MAAML,IAAI,GAAGgB;gBAC1D,MAAMS,QAAQ1B,GAAG2B,WAAW,CAAC1B,KAAKwB,OAAO,CAACF,WAAW;oBAAEK,eAAe;gBAAK;gBAC3E,MAAMC,QAAQ3B,KAAKwB,OAAO,CAACI,IAAMA,EAAEC,IAAI,KAAKT;gBAC5C,IAAIO,SAASA,MAAMG,WAAW,IAAI,OAAOf;YAC3C,EAAE,OAAOgB,MAAM,CAAC;QAClB;QACA,MAAMC,WAAWf,MAAMF,UAAUkB,KAAK,CAAC,GAAG,CAAChB,IAAIiB,MAAM,IAAInB;QACzD,OAAO,GAAGiB,WAAWxB,WAAW;IAClC,GACCc,IAAI,CAAC;AACV"}
@@ -1,5 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
+ import find from 'lodash.find';
3
4
  import { extensions, moduleRegEx, typeFileRegEx } from './constants.mjs';
4
5
  import toPath from './toPath.mjs';
5
6
  const indexExtensions = extensions.map((x)=>`index${x}`);
@@ -12,13 +13,13 @@ export default function resolveFileSync(specifier, context) {
12
13
  try {
13
14
  if (stat && stat.isDirectory() || specifier.endsWith('/')) {
14
15
  const items = fs.readdirSync(filePath);
15
- const item = items.find((x)=>indexExtensions.indexOf(x) >= 0);
16
+ const item = find(items, (x)=>indexExtensions.indexOf(x) >= 0);
16
17
  if (item) return path.join(filePath, item);
17
18
  } else if (!stat && !moduleRegEx.test(specifier)) {
18
19
  const ext = path.extname(filePath);
19
20
  const basename = ext ? path.basename(filePath).slice(0, -ext.length) : path.basename(filePath);
20
21
  const items = fs.readdirSync(path.dirname(filePath));
21
- const item = items.find((x)=>{
22
+ const item = find(items, (x)=>{
22
23
  if (typeFileRegEx.test(x)) return false;
23
24
  const extTest = path.extname(x);
24
25
  const basenameTest = extTest ? path.basename(x).slice(0, -extTest.length) : path.basename(x);
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { extensions, moduleRegEx, typeFileRegEx } from './constants';\nimport toPath from './toPath';\nimport type { Context } from './types';\n\nconst indexExtensions = extensions.map((x) => `index${x}`);\n\nexport default function resolveFileSync(specifier: string, context?: Context) {\n const filePath = toPath(specifier, context);\n let stat: fs.Stats;\n try {\n stat = fs.statSync(filePath);\n } catch (_err) {}\n try {\n if ((stat && stat.isDirectory()) || specifier.endsWith('/')) {\n const items = fs.readdirSync(filePath);\n const item = items.find((x) => indexExtensions.indexOf(x) >= 0);\n if (item) return path.join(filePath, item);\n } else if (!stat && !moduleRegEx.test(specifier)) {\n const ext = path.extname(filePath);\n const basename = ext ? path.basename(filePath).slice(0, -ext.length) : path.basename(filePath);\n const items = fs.readdirSync(path.dirname(filePath));\n const item = items.find((x) => {\n if (typeFileRegEx.test(x)) return false;\n const extTest = path.extname(x);\n const basenameTest = extTest ? path.basename(x).slice(0, -extTest.length) : path.basename(x);\n return basename === basenameTest;\n });\n if (item) return path.join(path.dirname(filePath), item);\n }\n // return what was found\n return stat ? filePath : null;\n } catch (_err) {\n return null;\n }\n}\n"],"names":["fs","path","extensions","moduleRegEx","typeFileRegEx","toPath","indexExtensions","map","x","resolveFileSync","specifier","context","filePath","stat","statSync","_err","isDirectory","endsWith","items","readdirSync","item","find","indexOf","join","test","ext","extname","basename","slice","length","dirname","extTest","basenameTest"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,SAASC,UAAU,EAAEC,WAAW,EAAEC,aAAa,QAAQ,cAAc;AACrE,OAAOC,YAAY,WAAW;AAG9B,MAAMC,kBAAkBJ,WAAWK,GAAG,CAAC,CAACC,IAAM,CAAC,KAAK,EAAEA,GAAG;AAEzD,eAAe,SAASC,gBAAgBC,SAAiB,EAAEC,OAAiB;IAC1E,MAAMC,WAAWP,OAAOK,WAAWC;IACnC,IAAIE;IACJ,IAAI;QACFA,OAAOb,GAAGc,QAAQ,CAACF;IACrB,EAAE,OAAOG,MAAM,CAAC;IAChB,IAAI;QACF,IAAI,AAACF,QAAQA,KAAKG,WAAW,MAAON,UAAUO,QAAQ,CAAC,MAAM;YAC3D,MAAMC,QAAQlB,GAAGmB,WAAW,CAACP;YAC7B,MAAMQ,OAAOF,MAAMG,IAAI,CAAC,CAACb,IAAMF,gBAAgBgB,OAAO,CAACd,MAAM;YAC7D,IAAIY,MAAM,OAAOnB,KAAKsB,IAAI,CAACX,UAAUQ;QACvC,OAAO,IAAI,CAACP,QAAQ,CAACV,YAAYqB,IAAI,CAACd,YAAY;YAChD,MAAMe,MAAMxB,KAAKyB,OAAO,CAACd;YACzB,MAAMe,WAAWF,MAAMxB,KAAK0B,QAAQ,CAACf,UAAUgB,KAAK,CAAC,GAAG,CAACH,IAAII,MAAM,IAAI5B,KAAK0B,QAAQ,CAACf;YACrF,MAAMM,QAAQlB,GAAGmB,WAAW,CAAClB,KAAK6B,OAAO,CAAClB;YAC1C,MAAMQ,OAAOF,MAAMG,IAAI,CAAC,CAACb;gBACvB,IAAIJ,cAAcoB,IAAI,CAAChB,IAAI,OAAO;gBAClC,MAAMuB,UAAU9B,KAAKyB,OAAO,CAAClB;gBAC7B,MAAMwB,eAAeD,UAAU9B,KAAK0B,QAAQ,CAACnB,GAAGoB,KAAK,CAAC,GAAG,CAACG,QAAQF,MAAM,IAAI5B,KAAK0B,QAAQ,CAACnB;gBAC1F,OAAOmB,aAAaK;YACtB;YACA,IAAIZ,MAAM,OAAOnB,KAAKsB,IAAI,CAACtB,KAAK6B,OAAO,CAAClB,WAAWQ;QACrD;QACA,wBAAwB;QACxB,OAAOP,OAAOD,WAAW;IAC3B,EAAE,OAAOG,MAAM;QACb,OAAO;IACT;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport find from 'lodash.find';\nimport { extensions, moduleRegEx, typeFileRegEx } from './constants';\nimport toPath from './toPath';\nimport type { Context } from './types';\n\nconst indexExtensions = extensions.map((x) => `index${x}`);\n\nexport default function resolveFileSync(specifier: string, context?: Context) {\n const filePath = toPath(specifier, context);\n let stat: fs.Stats;\n try {\n stat = fs.statSync(filePath);\n } catch (_err) {}\n try {\n if ((stat && stat.isDirectory()) || specifier.endsWith('/')) {\n const items = fs.readdirSync(filePath);\n const item = find(items, (x) => indexExtensions.indexOf(x) >= 0);\n if (item) return path.join(filePath, item);\n } else if (!stat && !moduleRegEx.test(specifier)) {\n const ext = path.extname(filePath);\n const basename = ext ? path.basename(filePath).slice(0, -ext.length) : path.basename(filePath);\n const items = fs.readdirSync(path.dirname(filePath));\n const item = find(items, (x) => {\n if (typeFileRegEx.test(x)) return false;\n const extTest = path.extname(x);\n const basenameTest = extTest ? path.basename(x).slice(0, -extTest.length) : path.basename(x);\n return basename === basenameTest;\n });\n if (item) return path.join(path.dirname(filePath), item);\n }\n // return what was found\n return stat ? filePath : null;\n } catch (_err) {\n return null;\n }\n}\n"],"names":["fs","path","find","extensions","moduleRegEx","typeFileRegEx","toPath","indexExtensions","map","x","resolveFileSync","specifier","context","filePath","stat","statSync","_err","isDirectory","endsWith","items","readdirSync","item","indexOf","join","test","ext","extname","basename","slice","length","dirname","extTest","basenameTest"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,UAAU,cAAc;AAC/B,SAASC,UAAU,EAAEC,WAAW,EAAEC,aAAa,QAAQ,cAAc;AACrE,OAAOC,YAAY,WAAW;AAG9B,MAAMC,kBAAkBJ,WAAWK,GAAG,CAAC,CAACC,IAAM,CAAC,KAAK,EAAEA,GAAG;AAEzD,eAAe,SAASC,gBAAgBC,SAAiB,EAAEC,OAAiB;IAC1E,MAAMC,WAAWP,OAAOK,WAAWC;IACnC,IAAIE;IACJ,IAAI;QACFA,OAAOd,GAAGe,QAAQ,CAACF;IACrB,EAAE,OAAOG,MAAM,CAAC;IAChB,IAAI;QACF,IAAI,AAACF,QAAQA,KAAKG,WAAW,MAAON,UAAUO,QAAQ,CAAC,MAAM;YAC3D,MAAMC,QAAQnB,GAAGoB,WAAW,CAACP;YAC7B,MAAMQ,OAAOnB,KAAKiB,OAAO,CAACV,IAAMF,gBAAgBe,OAAO,CAACb,MAAM;YAC9D,IAAIY,MAAM,OAAOpB,KAAKsB,IAAI,CAACV,UAAUQ;QACvC,OAAO,IAAI,CAACP,QAAQ,CAACV,YAAYoB,IAAI,CAACb,YAAY;YAChD,MAAMc,MAAMxB,KAAKyB,OAAO,CAACb;YACzB,MAAMc,WAAWF,MAAMxB,KAAK0B,QAAQ,CAACd,UAAUe,KAAK,CAAC,GAAG,CAACH,IAAII,MAAM,IAAI5B,KAAK0B,QAAQ,CAACd;YACrF,MAAMM,QAAQnB,GAAGoB,WAAW,CAACnB,KAAK6B,OAAO,CAACjB;YAC1C,MAAMQ,OAAOnB,KAAKiB,OAAO,CAACV;gBACxB,IAAIJ,cAAcmB,IAAI,CAACf,IAAI,OAAO;gBAClC,MAAMsB,UAAU9B,KAAKyB,OAAO,CAACjB;gBAC7B,MAAMuB,eAAeD,UAAU9B,KAAK0B,QAAQ,CAAClB,GAAGmB,KAAK,CAAC,GAAG,CAACG,QAAQF,MAAM,IAAI5B,KAAK0B,QAAQ,CAAClB;gBAC1F,OAAOkB,aAAaK;YACtB;YACA,IAAIX,MAAM,OAAOpB,KAAKsB,IAAI,CAACtB,KAAK6B,OAAO,CAACjB,WAAWQ;QACrD;QACA,wBAAwB;QACxB,OAAOP,OAAOD,WAAW;IAC3B,EAAE,OAAOG,MAAM;QACb,OAAO;IACT;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-swc-transform",
3
- "version": "1.15.28",
3
+ "version": "1.15.30",
4
4
  "description": "Typescript transformers for swc. Supports Node >= 0.8",
5
5
  "keywords": [
6
6
  "matcher",
@@ -47,8 +47,9 @@
47
47
  "exit": "^0.1.2",
48
48
  "fs-iterator": "^5.2.15",
49
49
  "get-tsconfig-compat": "^2.0.3",
50
- "install-optional": "^0.1.28",
50
+ "install-optional": "^0.1.29",
51
51
  "is-absolute": "^1.0.0",
52
+ "lodash.find": "^4.6.0",
52
53
  "minimatch": "^3.1.2",
53
54
  "mkdirp-classic": "^0.5.3",
54
55
  "path-posix": "^1.0.0",