ts-swc-transform 1.11.5 → 1.11.7

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.
Files changed (60) hide show
  1. package/dist/cjs/constants.cjs +14 -5
  2. package/dist/cjs/constants.cjs.map +1 -1
  3. package/dist/cjs/index.cjs +0 -4
  4. package/dist/cjs/index.cjs.map +1 -1
  5. package/dist/cjs/lib/installBindings.cjs +86 -0
  6. package/dist/cjs/lib/installBindings.cjs.map +1 -0
  7. package/dist/cjs/lib/makeReplacements.cjs +1 -1
  8. package/dist/cjs/lib/makeReplacements.cjs.map +1 -1
  9. package/dist/cjs/lib/patchCJS.cjs +1 -2
  10. package/dist/cjs/lib/patchCJS.cjs.map +1 -1
  11. package/dist/cjs/lib/wrapWorkerSync.cjs +1 -4
  12. package/dist/cjs/lib/wrapWorkerSync.cjs.map +1 -1
  13. package/dist/cjs/resolveFileSync.cjs +1 -2
  14. package/dist/cjs/resolveFileSync.cjs.map +1 -1
  15. package/dist/cjs/transformSync.cjs +3 -1
  16. package/dist/cjs/transformSync.cjs.map +1 -1
  17. package/dist/cjs/workers/installBindings.cjs +64 -0
  18. package/dist/cjs/workers/installBindings.cjs.map +1 -0
  19. package/dist/cjs/workers/transformDirectory.cjs +37 -30
  20. package/dist/cjs/workers/transformDirectory.cjs.map +1 -1
  21. package/dist/cjs/workers/transformSync.cjs +6 -5
  22. package/dist/cjs/workers/transformSync.cjs.map +1 -1
  23. package/dist/cjs/workers/transformTypes.cjs +1 -2
  24. package/dist/cjs/workers/transformTypes.cjs.map +1 -1
  25. package/dist/esm/constants.mjs +12 -3
  26. package/dist/esm/constants.mjs.map +1 -1
  27. package/dist/esm/index.mjs +0 -1
  28. package/dist/esm/index.mjs.map +1 -1
  29. package/dist/esm/lib/installBindings.mjs +19 -0
  30. package/dist/esm/lib/installBindings.mjs.map +1 -0
  31. package/dist/esm/lib/makeReplacements.mjs +1 -1
  32. package/dist/esm/lib/makeReplacements.mjs.map +1 -1
  33. package/dist/esm/lib/patchCJS.mjs +1 -2
  34. package/dist/esm/lib/patchCJS.mjs.map +1 -1
  35. package/dist/esm/lib/wrapWorkerSync.mjs +1 -4
  36. package/dist/esm/lib/wrapWorkerSync.mjs.map +1 -1
  37. package/dist/esm/resolveFileSync.mjs +1 -2
  38. package/dist/esm/resolveFileSync.mjs.map +1 -1
  39. package/dist/esm/transformSync.mjs +3 -1
  40. package/dist/esm/transformSync.mjs.map +1 -1
  41. package/dist/esm/workers/installBindings.mjs +35 -0
  42. package/dist/esm/workers/installBindings.mjs.map +1 -0
  43. package/dist/esm/workers/transformDirectory.mjs +37 -30
  44. package/dist/esm/workers/transformDirectory.mjs.map +1 -1
  45. package/dist/esm/workers/transformSync.mjs +6 -3
  46. package/dist/esm/workers/transformSync.mjs.map +1 -1
  47. package/dist/esm/workers/transformTypes.mjs +2 -3
  48. package/dist/esm/workers/transformTypes.mjs.map +1 -1
  49. package/dist/types/constants.d.ts +1 -1
  50. package/dist/types/index.d.ts +0 -1
  51. package/dist/types/lib/installBindings.d.ts +3 -0
  52. package/dist/types/workers/installBindings.d.ts +8 -0
  53. package/dist/types/workers/transformSync.d.ts +1 -1
  54. package/package.json +6 -6
  55. package/dist/cjs/extensions.cjs +0 -23
  56. package/dist/cjs/extensions.cjs.map +0 -1
  57. package/dist/esm/extensions.mjs +0 -12
  58. package/dist/esm/extensions.mjs.map +0 -1
  59. package/dist/types/extensions.d.ts +0 -2
  60. package/scripts/postinstall.cjs +0 -43
@@ -1,9 +1,18 @@
1
1
  export const moduleRegEx = /^[^.\/]|^\.[^.\/]|^\.\.[^\/]/;
2
2
  export const typeFileRegEx = /^[^.]+\.d\.[cm]?ts$/;
3
- export const SKIPS = [
4
- '.DS_Store'
5
- ];
6
3
  export const moduleDependencyRegEx = '\\s*[\'"`]([^\'"`]+)[\'"`]\\s*';
7
4
  export const moduleNameRegEx = '\\s*(?:[\\w${},\\s*]+)\\s*';
8
5
  export const requireRegEx = new RegExp(`(?:(?:var|const|let)${moduleNameRegEx}=\\s*)?require\\(${moduleDependencyRegEx}\\)?`, 'g');
9
6
  export const importRegEx = new RegExp(`${requireRegEx}|import(?:${moduleNameRegEx}from\\s*)?${moduleDependencyRegEx};?|export(?:${moduleNameRegEx}from\\s*)?${moduleDependencyRegEx}?`, 'g');
7
+ export const extensions = [
8
+ '.js',
9
+ '.jsx',
10
+ '.cjs',
11
+ '.mjs',
12
+ '.ts',
13
+ '.tsx',
14
+ '.cts',
15
+ '.mts',
16
+ '.es6',
17
+ '.es'
18
+ ];
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/constants.ts"],"sourcesContent":["export const moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\nexport const typeFileRegEx = /^[^.]+\\.d\\.[cm]?ts$/;\nexport const SKIPS = ['.DS_Store'];\n\nexport const moduleDependencyRegEx = '\\\\s*[\\'\"`]([^\\'\"`]+)[\\'\"`]\\\\s*';\nexport const moduleNameRegEx = '\\\\s*(?:[\\\\w${},\\\\s*]+)\\\\s*';\nexport const requireRegEx = new RegExp(`(?:(?:var|const|let)${moduleNameRegEx}=\\\\s*)?require\\\\(${moduleDependencyRegEx}\\\\)?`, 'g');\nexport const importRegEx = new RegExp(`${requireRegEx}|import(?:${moduleNameRegEx}from\\\\s*)?${moduleDependencyRegEx};?|export(?:${moduleNameRegEx}from\\\\s*)?${moduleDependencyRegEx}?`, 'g');\n"],"names":["moduleRegEx","typeFileRegEx","SKIPS","moduleDependencyRegEx","moduleNameRegEx","requireRegEx","RegExp","importRegEx"],"mappings":"AAAA,OAAO,MAAMA,cAAc,+BAA+B;AAC1D,OAAO,MAAMC,gBAAgB,sBAAsB;AACnD,OAAO,MAAMC,QAAQ;IAAC;CAAY,CAAC;AAEnC,OAAO,MAAMC,wBAAwB,iCAAiC;AACtE,OAAO,MAAMC,kBAAkB,6BAA6B;AAC5D,OAAO,MAAMC,eAAe,IAAIC,OAAO,CAAC,oBAAoB,EAAEF,gBAAgB,iBAAiB,EAAED,sBAAsB,IAAI,CAAC,EAAE,KAAK;AACnI,OAAO,MAAMI,cAAc,IAAID,OAAO,GAAGD,aAAa,UAAU,EAAED,gBAAgB,UAAU,EAAED,sBAAsB,YAAY,EAAEC,gBAAgB,UAAU,EAAED,sBAAsB,CAAC,CAAC,EAAE,KAAK"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/constants.ts"],"sourcesContent":["export const moduleRegEx = /^[^.\\/]|^\\.[^.\\/]|^\\.\\.[^\\/]/;\nexport const typeFileRegEx = /^[^.]+\\.d\\.[cm]?ts$/;\n\nexport const moduleDependencyRegEx = '\\\\s*[\\'\"`]([^\\'\"`]+)[\\'\"`]\\\\s*';\nexport const moduleNameRegEx = '\\\\s*(?:[\\\\w${},\\\\s*]+)\\\\s*';\nexport const requireRegEx = new RegExp(`(?:(?:var|const|let)${moduleNameRegEx}=\\\\s*)?require\\\\(${moduleDependencyRegEx}\\\\)?`, 'g');\nexport const importRegEx = new RegExp(`${requireRegEx}|import(?:${moduleNameRegEx}from\\\\s*)?${moduleDependencyRegEx};?|export(?:${moduleNameRegEx}from\\\\s*)?${moduleDependencyRegEx}?`, 'g');\nexport const extensions = ['.js', '.jsx', '.cjs', '.mjs', '.ts', '.tsx', '.cts', '.mts', '.es6', '.es'];\n"],"names":["moduleRegEx","typeFileRegEx","moduleDependencyRegEx","moduleNameRegEx","requireRegEx","RegExp","importRegEx","extensions"],"mappings":"AAAA,OAAO,MAAMA,cAAc,+BAA+B;AAC1D,OAAO,MAAMC,gBAAgB,sBAAsB;AAEnD,OAAO,MAAMC,wBAAwB,iCAAiC;AACtE,OAAO,MAAMC,kBAAkB,6BAA6B;AAC5D,OAAO,MAAMC,eAAe,IAAIC,OAAO,CAAC,oBAAoB,EAAEF,gBAAgB,iBAAiB,EAAED,sBAAsB,IAAI,CAAC,EAAE,KAAK;AACnI,OAAO,MAAMI,cAAc,IAAID,OAAO,GAAGD,aAAa,UAAU,EAAED,gBAAgB,UAAU,EAAED,sBAAsB,YAAY,EAAEC,gBAAgB,UAAU,EAAED,sBAAsB,CAAC,CAAC,EAAE,KAAK;AAC7L,OAAO,MAAMK,aAAa;IAAC;IAAO;IAAQ;IAAQ;IAAQ;IAAO;IAAQ;IAAQ;IAAQ;IAAQ;CAAM,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export { default as createMatcher } from './createMatcher.mjs';
2
2
  export * as constants from './constants.mjs';
3
- export { default as extensions } from './extensions.mjs';
4
3
  export { default as resolveFileSync } from './resolveFileSync.mjs';
5
4
  export { default as toPath } from './toPath.mjs';
6
5
  export { default as transformDirectory } from './transformDirectory.mjs';
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/index.ts"],"sourcesContent":["export type * from './types';\nexport { default as createMatcher } from './createMatcher';\nexport * as constants from './constants';\nexport { default as extensions } from './extensions';\nexport { default as resolveFileSync } from './resolveFileSync';\nexport { default as toPath } from './toPath';\n\nexport { default as transformDirectory } from './transformDirectory';\nexport { default as transformSync } from './transformSync';\nexport { default as transformTypes } from './transformTypes';\n"],"names":["default","createMatcher","constants","extensions","resolveFileSync","toPath","transformDirectory","transformSync","transformTypes"],"mappings":"AACA,SAASA,WAAWC,aAAa,QAAQ,kBAAkB;AAC3D,OAAO,KAAKC,SAAS,MAAM,cAAc;AACzC,SAASF,WAAWG,UAAU,QAAQ,eAAe;AACrD,SAASH,WAAWI,eAAe,QAAQ,oBAAoB;AAC/D,SAASJ,WAAWK,MAAM,QAAQ,WAAW;AAE7C,SAASL,WAAWM,kBAAkB,QAAQ,uBAAuB;AACrE,SAASN,WAAWO,aAAa,QAAQ,kBAAkB;AAC3D,SAASP,WAAWQ,cAAc,QAAQ,mBAAmB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/index.ts"],"sourcesContent":["export type * from './types';\nexport { default as createMatcher } from './createMatcher';\nexport * as constants from './constants';\nexport { default as resolveFileSync } from './resolveFileSync';\nexport { default as toPath } from './toPath';\n\nexport { default as transformDirectory } from './transformDirectory';\nexport { default as transformSync } from './transformSync';\nexport { default as transformTypes } from './transformTypes';\n"],"names":["default","createMatcher","constants","resolveFileSync","toPath","transformDirectory","transformSync","transformTypes"],"mappings":"AACA,SAASA,WAAWC,aAAa,QAAQ,kBAAkB;AAC3D,OAAO,KAAKC,SAAS,MAAM,cAAc;AACzC,SAASF,WAAWG,eAAe,QAAQ,oBAAoB;AAC/D,SAASH,WAAWI,MAAM,QAAQ,WAAW;AAE7C,SAASJ,WAAWK,kBAAkB,QAAQ,uBAAuB;AACrE,SAASL,WAAWM,aAAa,QAAQ,kBAAkB;AAC3D,SAASN,WAAWO,cAAc,QAAQ,mBAAmB"}
@@ -0,0 +1,19 @@
1
+ import installBindings, { isInstalled } from '../workers/installBindings.mjs';
2
+ export default installBindings;
3
+ import path from 'path';
4
+ import url from 'url';
5
+ import Module from 'module';
6
+ import lazy from 'lazy-cache';
7
+ const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
8
+ const __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);
9
+ const workerPath = path.resolve(__dirname, '..', '..', 'cjs', 'workers', 'installBindings.cjs');
10
+ const major = +process.versions.node.split('.')[0];
11
+ const version = major < 14 ? 'stable' : 'local';
12
+ const call = lazy(_require)('node-version-call');
13
+ const install = lazy((target)=>{
14
+ return isInstalled(target) ? target : call()({
15
+ version,
16
+ callbacks: true
17
+ }, workerPath, target);
18
+ });
19
+ export const sync = (target)=>install(target)();
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/installBindings.ts"],"sourcesContent":["import installBindings, { isInstalled } from '../workers/installBindings';\nexport default installBindings;\n\nimport path from 'path';\nimport url from 'url';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst workerPath = path.resolve(__dirname, '..', '..', 'cjs', 'workers', 'installBindings.cjs');\nconst major = +process.versions.node.split('.')[0];\nconst version = major < 14 ? 'stable' : 'local';\n\nconst call = lazy(_require)('node-version-call');\nconst install = lazy((target) => {\n return isInstalled(target) ? target : call()({ version, callbacks: true }, workerPath, target);\n});\n\nexport const sync = (target) => install(target)();\n"],"names":["installBindings","isInstalled","path","url","Module","lazy","_require","require","createRequire","__dirname","dirname","__filename","fileURLToPath","workerPath","resolve","major","process","versions","node","split","version","call","install","target","callbacks","sync"],"mappings":"AAAA,OAAOA,mBAAmBC,WAAW,QAAQ,6BAA6B;AAC1E,eAAeD,gBAAgB;AAE/B,OAAOE,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAEtB,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYL,GAAG,IAAII;AAC1F,MAAME,YAAYP,KAAKQ,OAAO,CAAC,OAAOC,eAAe,cAAcR,IAAIS,aAAa,CAAC,YAAYT,GAAG,IAAIQ;AACxG,MAAME,aAAaX,KAAKY,OAAO,CAACL,WAAW,MAAM,MAAM,OAAO,WAAW;AACzE,MAAMM,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,MAAMC,UAAUL,QAAQ,KAAK,WAAW;AAExC,MAAMM,OAAOhB,KAAKC,UAAU;AAC5B,MAAMgB,UAAUjB,KAAK,CAACkB;IACpB,OAAOtB,YAAYsB,UAAUA,SAASF,OAAO;QAAED;QAASI,WAAW;IAAK,GAAGX,YAAYU;AACzF;AAEA,OAAO,MAAME,OAAO,CAACF,SAAWD,QAAQC,UAAU"}
@@ -14,7 +14,7 @@ export default function makeReplacements(entry, code, regex, extensions, extensi
14
14
  if (!ext) {
15
15
  try {
16
16
  const basename = path.basename(specifier);
17
- const fullPath = path.normalize(path.join(src, path.dirname(entry.path), specifier));
17
+ const fullPath = path.join(src, path.dirname(entry.path), specifier);
18
18
  const files = fs.readdirSync(path.dirname(fullPath), {
19
19
  withFileTypes: true
20
20
  });
@@ -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.normalize(path.join(src, path.dirname(entry.path), specifier));\n const files = fs.readdirSync(path.dirname(fullPath), { withFileTypes: true });\n const found = files.find((x) => x.name === basename);\n if (found && found.isDirectory()) return specifier;\n } catch (_err) {}\n }\n const stripped = ext ? specifier.slice(0, -ext.length) : specifier;\n return `${stripped}${extension}`;\n })\n .join('');\n}\n"],"names":["fs","path","moduleRegEx","parseSpecifiers","makeReplacements","entry","code","regex","extensions","extension","options","src","parsed","map","isSpecifier","content","specifier","test","ext","extname","indexOf","basename","fullPath","normalize","join","dirname","files","readdirSync","withFileTypes","found","find","x","name","isDirectory","_err","stripped","slice","length"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,SAASC,WAAW,QAAQ,eAAe;AAC3C,OAAOC,qBAAqB,oBAAoB;AAEhD,eAAe,SAASC,iBAAiBC,KAAK,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,EAAEC,SAAS,EAAEC,OAAO;IACzF,MAAM,EAAEC,GAAG,EAAE,GAAGD;IAChB,MAAME,SAAST,gBAAgBG,MAAMC;IAErC,OAAOK,OACJC,GAAG,CAAC,CAACD;QACJ,IAAI,CAACA,OAAOE,WAAW,EAAE,OAAOF,OAAOG,OAAO;QAC9C,MAAMC,YAAYJ,OAAOG,OAAO;QAChC,IAAIb,YAAYe,IAAI,CAACD,YAAY,OAAOA;QAExC,MAAME,MAAMjB,KAAKkB,OAAO,CAACH;QACzB,IAAIE,OAAOV,WAAWY,OAAO,CAACF,OAAO,GAAG,OAAOF;QAC/C,IAAI,CAACE,KAAK;YACR,IAAI;gBACF,MAAMG,WAAWpB,KAAKoB,QAAQ,CAACL;gBAC/B,MAAMM,WAAWrB,KAAKsB,SAAS,CAACtB,KAAKuB,IAAI,CAACb,KAAKV,KAAKwB,OAAO,CAACpB,MAAMJ,IAAI,GAAGe;gBACzE,MAAMU,QAAQ1B,GAAG2B,WAAW,CAAC1B,KAAKwB,OAAO,CAACH,WAAW;oBAAEM,eAAe;gBAAK;gBAC3E,MAAMC,QAAQH,MAAMI,IAAI,CAAC,CAACC,IAAMA,EAAEC,IAAI,KAAKX;gBAC3C,IAAIQ,SAASA,MAAMI,WAAW,IAAI,OAAOjB;YAC3C,EAAE,OAAOkB,MAAM,CAAC;QAClB;QACA,MAAMC,WAAWjB,MAAMF,UAAUoB,KAAK,CAAC,GAAG,CAAClB,IAAImB,MAAM,IAAIrB;QACzD,OAAO,GAAGmB,WAAW1B,WAAW;IAClC,GACCe,IAAI,CAAC;AACV"}
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,5 +1,4 @@
1
- import { requireRegEx } from '../constants.mjs';
2
- import extensions from '../extensions.mjs';
1
+ import { extensions, requireRegEx } from '../constants.mjs';
3
2
  import makeReplacements from './makeReplacements.mjs';
4
3
  // https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125
5
4
  const interopClientDefaultExport = "/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }";
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/patchCJS.ts"],"sourcesContent":["import { requireRegEx } from '../constants';\nimport extensions from '../extensions';\nimport makeReplacements from './makeReplacements';\n\n// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125\nconst interopClientDefaultExport = \"/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }\";\n\nconst DEFAULT_EXTENSION = '.cjs';\n\nexport default function patchCJS(entry, output, options) {\n const cjsExtension = (options.extensions ? options.extensions.cjs : DEFAULT_EXTENSION) || DEFAULT_EXTENSION;\n\n output.code = makeReplacements(entry, output.code, requireRegEx, extensions, cjsExtension, options);\n output.code += interopClientDefaultExport;\n\n return cjsExtension;\n}\n"],"names":["requireRegEx","extensions","makeReplacements","interopClientDefaultExport","DEFAULT_EXTENSION","patchCJS","entry","output","options","cjsExtension","cjs","code"],"mappings":"AAAA,SAASA,YAAY,QAAQ,eAAe;AAC5C,OAAOC,gBAAgB,gBAAgB;AACvC,OAAOC,sBAAsB,qBAAqB;AAElD,0HAA0H;AAC1H,MAAMC,6BAA6B;AAEnC,MAAMC,oBAAoB;AAE1B,eAAe,SAASC,SAASC,KAAK,EAAEC,MAAM,EAAEC,OAAO;IACrD,MAAMC,eAAe,AAACD,CAAAA,QAAQP,UAAU,GAAGO,QAAQP,UAAU,CAACS,GAAG,GAAGN,iBAAgB,KAAMA;IAE1FG,OAAOI,IAAI,GAAGT,iBAAiBI,OAAOC,OAAOI,IAAI,EAAEX,cAAcC,YAAYQ,cAAcD;IAC3FD,OAAOI,IAAI,IAAIR;IAEf,OAAOM;AACT"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/patchCJS.ts"],"sourcesContent":["import { extensions, requireRegEx } from '../constants';\nimport makeReplacements from './makeReplacements';\n\n// https://github.com/vercel/next.js/blob/20b63e13ab2631d6043277895d373aa31a1b327c/packages/next/taskfile-swc.js#L118-L125\nconst interopClientDefaultExport = \"/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }\";\n\nconst DEFAULT_EXTENSION = '.cjs';\n\nexport default function patchCJS(entry, output, options) {\n const cjsExtension = (options.extensions ? options.extensions.cjs : DEFAULT_EXTENSION) || DEFAULT_EXTENSION;\n\n output.code = makeReplacements(entry, output.code, requireRegEx, extensions, cjsExtension, options);\n output.code += interopClientDefaultExport;\n\n return cjsExtension;\n}\n"],"names":["extensions","requireRegEx","makeReplacements","interopClientDefaultExport","DEFAULT_EXTENSION","patchCJS","entry","output","options","cjsExtension","cjs","code"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,eAAe;AACxD,OAAOC,sBAAsB,qBAAqB;AAElD,0HAA0H;AAC1H,MAAMC,6BAA6B;AAEnC,MAAMC,oBAAoB;AAE1B,eAAe,SAASC,SAASC,KAAK,EAAEC,MAAM,EAAEC,OAAO;IACrD,MAAMC,eAAe,AAACD,CAAAA,QAAQR,UAAU,GAAGQ,QAAQR,UAAU,CAACU,GAAG,GAAGN,iBAAgB,KAAMA;IAE1FG,OAAOI,IAAI,GAAGT,iBAAiBI,OAAOC,OAAOI,IAAI,EAAEV,cAAcD,YAAYS,cAAcD;IAC3FD,OAAOI,IAAI,IAAIR;IAEf,OAAOM;AACT"}
@@ -6,9 +6,6 @@ export default function wrapWorkerSync(workerPath) {
6
6
  const workerLazy = lazy(_require)(workerPath);
7
7
  return function workerWrapperSync(version, ...args) {
8
8
  if (version === 'local') return workerLazy().apply(null, args);
9
- return call()({
10
- version,
11
- callbacks: true
12
- }, workerPath, ...args);
9
+ return call()(version, workerPath, ...args);
13
10
  };
14
11
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/wrapWorkerSync.ts"],"sourcesContent":["import Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst call = lazy(_require)('node-version-call');\n\nexport default function wrapWorkerSync(workerPath: string) {\n const workerLazy = lazy(_require)(workerPath);\n\n return function workerWrapperSync(version, ...args) {\n if (version === 'local') return workerLazy().apply(null, args);\n return call()({ version, callbacks: true }, workerPath, ...args);\n };\n}\n"],"names":["Module","lazy","_require","require","createRequire","url","call","wrapWorkerSync","workerPath","workerLazy","workerWrapperSync","version","args","apply","callbacks"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,OAAOL,KAAKC,UAAU;AAE5B,eAAe,SAASK,eAAeC,UAAkB;IACvD,MAAMC,aAAaR,KAAKC,UAAUM;IAElC,OAAO,SAASE,kBAAkBC,OAAO,EAAE,GAAGC,IAAI;QAChD,IAAID,YAAY,SAAS,OAAOF,aAAaI,KAAK,CAAC,MAAMD;QACzD,OAAON,OAAO;YAAEK;YAASG,WAAW;QAAK,GAAGN,eAAeI;IAC7D;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/lib/wrapWorkerSync.ts"],"sourcesContent":["import Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst call = lazy(_require)('node-version-call');\n\nexport default function wrapWorkerSync(workerPath: string) {\n const workerLazy = lazy(_require)(workerPath);\n\n return function workerWrapperSync(version, ...args) {\n if (version === 'local') return workerLazy().apply(null, args);\n return call()(version, workerPath, ...args);\n };\n}\n"],"names":["Module","lazy","_require","require","createRequire","url","call","wrapWorkerSync","workerPath","workerLazy","workerWrapperSync","version","args","apply"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,OAAOL,KAAKC,UAAU;AAE5B,eAAe,SAASK,eAAeC,UAAkB;IACvD,MAAMC,aAAaR,KAAKC,UAAUM;IAElC,OAAO,SAASE,kBAAkBC,OAAO,EAAE,GAAGC,IAAI;QAChD,IAAID,YAAY,SAAS,OAAOF,aAAaI,KAAK,CAAC,MAAMD;QACzD,OAAON,OAAOK,SAASH,eAAeI;IACxC;AACF"}
@@ -1,7 +1,6 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import { moduleRegEx, typeFileRegEx } from './constants.mjs';
4
- import extensions from './extensions.mjs';
3
+ import { extensions, moduleRegEx, typeFileRegEx } from './constants.mjs';
5
4
  import toPath from './toPath.mjs';
6
5
  const indexExtensions = extensions.map((x)=>`index${x}`);
7
6
  export default function resolveFileSync(specifier, context) {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/resolveFileSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { moduleRegEx, typeFileRegEx } from './constants';\nimport extensions from './extensions';\nimport toPath from './toPath';\nimport type { Context } from './types';\n\nconst indexExtensions = extensions.map((x) => `index${x}`);\n\nexport default function resolveFileSync(specifier: string, context?: Context) {\n const filePath = toPath(specifier, context);\n let stat: fs.Stats;\n try {\n stat = fs.statSync(filePath);\n } catch (_err) {}\n 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","moduleRegEx","typeFileRegEx","extensions","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,WAAW,EAAEC,aAAa,QAAQ,cAAc;AACzD,OAAOC,gBAAgB,eAAe;AACtC,OAAOC,YAAY,WAAW;AAG9B,MAAMC,kBAAkBF,WAAWG,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,CAACX,YAAYsB,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,IAAIL,cAAcqB,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 { 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"}
@@ -4,6 +4,8 @@ import * as getTS from 'get-tsconfig-compat';
4
4
  import wrapWorkerSync from './lib/wrapWorkerSync.mjs';
5
5
  const __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);
6
6
  const workerWrapper = wrapWorkerSync(path.resolve(__dirname, '..', 'cjs', 'workers', 'transformSync.cjs'));
7
+ const major = +process.versions.node.split('.')[0];
8
+ const version = major < 14 ? 'stable' : 'local';
7
9
  /**
8
10
  * @param {string} contents The file contents.
9
11
  * @param {string} fileName The filename.
@@ -13,5 +15,5 @@ const workerWrapper = wrapWorkerSync(path.resolve(__dirname, '..', 'cjs', 'worke
13
15
  if (typeof contents !== 'string') throw new Error('transformTypes: unexpected contents');
14
16
  if (typeof fileName !== 'string') throw new Error('transformTypes: unexpected fileName');
15
17
  if (!tsconfig) tsconfig = getTS.getTsconfig(process.cwd());
16
- return workerWrapper('stable', contents, fileName, tsconfig);
18
+ return workerWrapper(version, contents, fileName, tsconfig);
17
19
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport * as getTS from 'get-tsconfig-compat';\n\nimport wrapWorkerSync from './lib/wrapWorkerSync';\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst workerWrapper = wrapWorkerSync(path.resolve(__dirname, '..', 'cjs', 'workers', 'transformSync.cjs'));\n\nimport type { Output } from '@swc/core';\nimport type { TsConfigResult } from 'get-tsconfig-compat';\n/**\n * @param {string} contents The file contents.\n * @param {string} fileName The filename.\n * @param {TsConfigResult} tsconfig The configuration.\n * @returns {{ code: string, map?: string }} Returns object with the transformed code and source map if option sourceMaps was provided.\n */\nexport default function transformSync(contents: string, fileName: string, tsconfig: TsConfigResult): Output {\n if (typeof contents !== 'string') throw new Error('transformTypes: unexpected contents');\n if (typeof fileName !== 'string') throw new Error('transformTypes: unexpected fileName');\n if (!tsconfig) tsconfig = getTS.getTsconfig(process.cwd());\n return workerWrapper('stable', contents, fileName, tsconfig);\n}\n"],"names":["path","url","getTS","wrapWorkerSync","__dirname","dirname","__filename","fileURLToPath","workerWrapper","resolve","transformSync","contents","fileName","tsconfig","Error","getTsconfig","process","cwd"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AACtB,YAAYC,WAAW,sBAAsB;AAE7C,OAAOC,oBAAoB,uBAAuB;AAClD,MAAMC,YAAYJ,KAAKK,OAAO,CAAC,OAAOC,eAAe,cAAcL,IAAIM,aAAa,CAAC,YAAYN,GAAG,IAAIK;AACxG,MAAME,gBAAgBL,eAAeH,KAAKS,OAAO,CAACL,WAAW,MAAM,OAAO,WAAW;AAIrF;;;;;CAKC,GACD,eAAe,SAASM,cAAcC,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB;IAChG,IAAI,OAAOF,aAAa,UAAU,MAAM,IAAIG,MAAM;IAClD,IAAI,OAAOF,aAAa,UAAU,MAAM,IAAIE,MAAM;IAClD,IAAI,CAACD,UAAUA,WAAWX,MAAMa,WAAW,CAACC,QAAQC,GAAG;IACvD,OAAOT,cAAc,UAAUG,UAAUC,UAAUC;AACrD"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport * as getTS from 'get-tsconfig-compat';\n\nimport wrapWorkerSync from './lib/wrapWorkerSync';\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst workerWrapper = wrapWorkerSync(path.resolve(__dirname, '..', 'cjs', 'workers', 'transformSync.cjs'));\nconst major = +process.versions.node.split('.')[0];\nconst version = major < 14 ? 'stable' : 'local';\n\nimport type { Output } from '@swc/core';\nimport type { TsConfigResult } from 'get-tsconfig-compat';\n/**\n * @param {string} contents The file contents.\n * @param {string} fileName The filename.\n * @param {TsConfigResult} tsconfig The configuration.\n * @returns {{ code: string, map?: string }} Returns object with the transformed code and source map if option sourceMaps was provided.\n */\nexport default function transformSync(contents: string, fileName: string, tsconfig: TsConfigResult): Output {\n if (typeof contents !== 'string') throw new Error('transformTypes: unexpected contents');\n if (typeof fileName !== 'string') throw new Error('transformTypes: unexpected fileName');\n if (!tsconfig) tsconfig = getTS.getTsconfig(process.cwd());\n return workerWrapper(version, contents, fileName, tsconfig);\n}\n"],"names":["path","url","getTS","wrapWorkerSync","__dirname","dirname","__filename","fileURLToPath","workerWrapper","resolve","major","process","versions","node","split","version","transformSync","contents","fileName","tsconfig","Error","getTsconfig","cwd"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AACtB,YAAYC,WAAW,sBAAsB;AAE7C,OAAOC,oBAAoB,uBAAuB;AAClD,MAAMC,YAAYJ,KAAKK,OAAO,CAAC,OAAOC,eAAe,cAAcL,IAAIM,aAAa,CAAC,YAAYN,GAAG,IAAIK;AACxG,MAAME,gBAAgBL,eAAeH,KAAKS,OAAO,CAACL,WAAW,MAAM,OAAO,WAAW;AACrF,MAAMM,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,MAAMC,UAAUL,QAAQ,KAAK,WAAW;AAIxC;;;;;CAKC,GACD,eAAe,SAASM,cAAcC,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB;IAChG,IAAI,OAAOF,aAAa,UAAU,MAAM,IAAIG,MAAM;IAClD,IAAI,OAAOF,aAAa,UAAU,MAAM,IAAIE,MAAM;IAClD,IAAI,CAACD,UAAUA,WAAWjB,MAAMmB,WAAW,CAACV,QAAQW,GAAG;IACvD,OAAOd,cAAcO,SAASE,UAAUC,UAAUC;AACpD"}
@@ -0,0 +1,35 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import installModule from 'install-module-linked';
4
+ import resolve from 'resolve';
5
+ import resolveOnceMap from 'resolve-once-map-cb';
6
+ export function getDependencyInfo(target) {
7
+ const packagePath = resolve.sync('@swc/core/package.json');
8
+ const nodeModules = path.dirname(path.dirname(path.dirname(packagePath)));
9
+ const optionalDependencies = JSON.parse(fs.readFileSync(packagePath, 'utf8')).optionalDependencies;
10
+ const name = Object.keys(optionalDependencies).find((name)=>name.indexOf(target) >= 0);
11
+ return {
12
+ name,
13
+ version: optionalDependencies[name],
14
+ nodeModules
15
+ };
16
+ }
17
+ export function isInstalled(target) {
18
+ const { name, nodeModules } = getDependencyInfo(target);
19
+ try {
20
+ fs.statSync(path.join(nodeModules, name));
21
+ return true;
22
+ } catch (_err) {
23
+ return false;
24
+ }
25
+ }
26
+ export default resolveOnceMap(function installBindings(target, callback) {
27
+ if (isInstalled(target)) return callback();
28
+ const { name, version, nodeModules } = getDependencyInfo(target);
29
+ const installString = version ? `${name}@${version}` : name;
30
+ installModule(installString, nodeModules, (err)=>{
31
+ if (err) return callback(err);
32
+ console.log(`installed ${path.join(nodeModules, name)}`);
33
+ callback();
34
+ });
35
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/installBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport installModule from 'install-module-linked';\nimport resolve from 'resolve';\nimport resolveOnceMap from 'resolve-once-map-cb';\n\nexport function getDependencyInfo(target) {\n const packagePath = resolve.sync('@swc/core/package.json');\n const nodeModules = path.dirname(path.dirname(path.dirname(packagePath)));\n const optionalDependencies = JSON.parse(fs.readFileSync(packagePath, 'utf8')).optionalDependencies;\n const name = Object.keys(optionalDependencies).find((name) => name.indexOf(target) >= 0);\n return { name, version: optionalDependencies[name], nodeModules };\n}\n\nexport function isInstalled(target) {\n const { name, nodeModules } = getDependencyInfo(target);\n try {\n fs.statSync(path.join(nodeModules, name));\n return true;\n } catch (_err) {\n return false;\n }\n}\n\nexport default resolveOnceMap(function installBindings(target, callback) {\n if (isInstalled(target)) return callback();\n\n const { name, version, nodeModules } = getDependencyInfo(target);\n const installString = version ? `${name}@${version}` : name;\n\n installModule(installString, nodeModules, (err) => {\n if (err) return callback(err);\n console.log(`installed ${path.join(nodeModules, name)}`);\n callback();\n });\n});\n"],"names":["fs","path","installModule","resolve","resolveOnceMap","getDependencyInfo","target","packagePath","sync","nodeModules","dirname","optionalDependencies","JSON","parse","readFileSync","name","Object","keys","find","indexOf","version","isInstalled","statSync","join","_err","installBindings","callback","installString","err","console","log"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,mBAAmB,wBAAwB;AAClD,OAAOC,aAAa,UAAU;AAC9B,OAAOC,oBAAoB,sBAAsB;AAEjD,OAAO,SAASC,kBAAkBC,MAAM;IACtC,MAAMC,cAAcJ,QAAQK,IAAI,CAAC;IACjC,MAAMC,cAAcR,KAAKS,OAAO,CAACT,KAAKS,OAAO,CAACT,KAAKS,OAAO,CAACH;IAC3D,MAAMI,uBAAuBC,KAAKC,KAAK,CAACb,GAAGc,YAAY,CAACP,aAAa,SAASI,oBAAoB;IAClG,MAAMI,OAAOC,OAAOC,IAAI,CAACN,sBAAsBO,IAAI,CAAC,CAACH,OAASA,KAAKI,OAAO,CAACb,WAAW;IACtF,OAAO;QAAES;QAAMK,SAAST,oBAAoB,CAACI,KAAK;QAAEN;IAAY;AAClE;AAEA,OAAO,SAASY,YAAYf,MAAM;IAChC,MAAM,EAAES,IAAI,EAAEN,WAAW,EAAE,GAAGJ,kBAAkBC;IAChD,IAAI;QACFN,GAAGsB,QAAQ,CAACrB,KAAKsB,IAAI,CAACd,aAAaM;QACnC,OAAO;IACT,EAAE,OAAOS,MAAM;QACb,OAAO;IACT;AACF;AAEA,eAAepB,eAAe,SAASqB,gBAAgBnB,MAAM,EAAEoB,QAAQ;IACrE,IAAIL,YAAYf,SAAS,OAAOoB;IAEhC,MAAM,EAAEX,IAAI,EAAEK,OAAO,EAAEX,WAAW,EAAE,GAAGJ,kBAAkBC;IACzD,MAAMqB,gBAAgBP,UAAU,GAAGL,KAAK,CAAC,EAAEK,SAAS,GAAGL;IAEvDb,cAAcyB,eAAelB,aAAa,CAACmB;QACzC,IAAIA,KAAK,OAAOF,SAASE;QACzBC,QAAQC,GAAG,CAAC,CAAC,UAAU,EAAE7B,KAAKsB,IAAI,CAACd,aAAaM,OAAO;QACvDW;IACF;AACF,GAAG"}
@@ -1,42 +1,49 @@
1
+ import path from 'path';
1
2
  import Iterator from 'fs-iterator';
2
3
  import Queue from 'queue-cb';
3
4
  import rimraf2 from 'rimraf2';
4
- import { SKIPS, typeFileRegEx } from '../constants.mjs';
5
+ import { extensions, typeFileRegEx } from '../constants.mjs';
5
6
  import createMatcher from '../createMatcher.mjs';
7
+ import installBindings from '../lib/installBindings.mjs';
6
8
  import transformFile from '../lib/transformFile.mjs';
9
+ const target = `${process.platform}-${process.arch}`;
7
10
  export default function transformDirectoryWorker(src, dest, type, options, callback) {
8
11
  const tsconfig = options.tsconfig;
9
12
  const matcher = createMatcher(tsconfig);
10
- rimraf2(dest, {
11
- disableGlob: true
12
- }, ()=>{
13
- const entries = [];
14
- const iterator = new Iterator(src);
15
- iterator.forEach((entry)=>{
16
- if (!entry.stats.isFile()) return;
17
- if (!matcher(entry.fullPath)) return;
18
- if (typeFileRegEx.test(entry.basename)) return;
19
- if (SKIPS.indexOf(entry.basename) >= 0) return;
20
- entries.push(entry);
21
- }, (err)=>{
22
- if (err) return callback(err);
23
- const results = [];
24
- options = {
25
- ...options,
26
- tsconfig,
27
- src,
28
- dest
29
- };
30
- const queue = new Queue();
31
- entries.forEach((entry)=>{
32
- queue.defer((cb)=>transformFile(entry, dest, type, options, (err, outPath)=>{
33
- if (err) return cb(err);
34
- results.push(outPath);
35
- if (options.sourceMaps) results.push(`${outPath}.map`);
36
- cb();
37
- }));
13
+ installBindings(target, (err)=>{
14
+ if (err) return callback(err);
15
+ rimraf2(dest, {
16
+ disableGlob: true
17
+ }, ()=>{
18
+ const entries = [];
19
+ const iterator = new Iterator(src);
20
+ iterator.forEach((entry)=>{
21
+ if (!entry.stats.isFile()) return;
22
+ if (!matcher(entry.fullPath)) return;
23
+ if (typeFileRegEx.test(entry.basename)) return;
24
+ const ext = path.extname(entry.basename);
25
+ if (ext && extensions.indexOf(ext) < 0) return;
26
+ entries.push(entry);
27
+ }, (err)=>{
28
+ if (err) return callback(err);
29
+ const results = [];
30
+ options = {
31
+ ...options,
32
+ tsconfig,
33
+ src,
34
+ dest
35
+ };
36
+ const queue = new Queue();
37
+ entries.forEach((entry)=>{
38
+ queue.defer((cb)=>transformFile(entry, dest, type, options, (err, outPath)=>{
39
+ if (err) return cb(err);
40
+ results.push(path.normalize(outPath));
41
+ if (options.sourceMaps) results.push(`${path.normalize(outPath)}.map`);
42
+ cb();
43
+ }));
44
+ });
45
+ queue.await((err)=>err ? callback(err) : callback(null, results));
38
46
  });
39
- queue.await((err)=>err ? callback(err) : callback(null, results));
40
47
  });
41
48
  });
42
49
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport { SKIPS, typeFileRegEx } from '../constants';\nimport createMatcher from '../createMatcher';\nimport transformFile from '../lib/transformFile';\n\nexport default function transformDirectoryWorker(src, dest, type, options, callback) {\n const tsconfig = options.tsconfig;\n const matcher = createMatcher(tsconfig);\n\n rimraf2(dest, { disableGlob: true }, () => {\n const entries = [];\n const iterator = new Iterator(src);\n iterator.forEach(\n (entry) => {\n if (!entry.stats.isFile()) return;\n if (!matcher(entry.fullPath)) return;\n if (typeFileRegEx.test(entry.basename)) return;\n if (SKIPS.indexOf(entry.basename) >= 0) return;\n entries.push(entry);\n },\n (err) => {\n if (err) return callback(err);\n const results = [];\n options = { ...options, tsconfig, src, dest };\n\n const queue = new Queue();\n entries.forEach((entry) => {\n queue.defer((cb) =>\n transformFile(entry, dest, type, options, (err, outPath) => {\n if (err) return cb(err);\n results.push(outPath);\n if (options.sourceMaps) results.push(`${outPath}.map`);\n cb();\n })\n );\n });\n queue.await((err) => (err ? callback(err) : callback(null, results)));\n }\n );\n });\n}\n"],"names":["Iterator","Queue","rimraf2","SKIPS","typeFileRegEx","createMatcher","transformFile","transformDirectoryWorker","src","dest","type","options","callback","tsconfig","matcher","disableGlob","entries","iterator","forEach","entry","stats","isFile","fullPath","test","basename","indexOf","push","err","results","queue","defer","cb","outPath","sourceMaps","await"],"mappings":"AACA,OAAOA,cAAc,cAAc;AACnC,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAE9B,SAASC,KAAK,EAAEC,aAAa,QAAQ,eAAe;AACpD,OAAOC,mBAAmB,mBAAmB;AAC7C,OAAOC,mBAAmB,uBAAuB;AAEjD,eAAe,SAASC,yBAAyBC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACjF,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,UAAUT,cAAcQ;IAE9BX,QAAQO,MAAM;QAAEM,aAAa;IAAK,GAAG;QACnC,MAAMC,UAAU,EAAE;QAClB,MAAMC,WAAW,IAAIjB,SAASQ;QAC9BS,SAASC,OAAO,CACd,CAACC;YACC,IAAI,CAACA,MAAMC,KAAK,CAACC,MAAM,IAAI;YAC3B,IAAI,CAACP,QAAQK,MAAMG,QAAQ,GAAG;YAC9B,IAAIlB,cAAcmB,IAAI,CAACJ,MAAMK,QAAQ,GAAG;YACxC,IAAIrB,MAAMsB,OAAO,CAACN,MAAMK,QAAQ,KAAK,GAAG;YACxCR,QAAQU,IAAI,CAACP;QACf,GACA,CAACQ;YACC,IAAIA,KAAK,OAAOf,SAASe;YACzB,MAAMC,UAAU,EAAE;YAClBjB,UAAU;gBAAE,GAAGA,OAAO;gBAAEE;gBAAUL;gBAAKC;YAAK;YAE5C,MAAMoB,QAAQ,IAAI5B;YAClBe,QAAQE,OAAO,CAAC,CAACC;gBACfU,MAAMC,KAAK,CAAC,CAACC,KACXzB,cAAca,OAAOV,MAAMC,MAAMC,SAAS,CAACgB,KAAKK;wBAC9C,IAAIL,KAAK,OAAOI,GAAGJ;wBACnBC,QAAQF,IAAI,CAACM;wBACb,IAAIrB,QAAQsB,UAAU,EAAEL,QAAQF,IAAI,CAAC,GAAGM,QAAQ,IAAI,CAAC;wBACrDD;oBACF;YAEJ;YACAF,MAAMK,KAAK,CAAC,CAACP,MAASA,MAAMf,SAASe,OAAOf,SAAS,MAAMgB;QAC7D;IAEJ;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport { extensions, typeFileRegEx } from '../constants';\nimport createMatcher from '../createMatcher';\nimport installBindings from '../lib/installBindings';\nimport transformFile from '../lib/transformFile';\n\nconst target = `${process.platform}-${process.arch}`;\n\nexport default function transformDirectoryWorker(src, dest, type, options, callback) {\n const tsconfig = options.tsconfig;\n const matcher = createMatcher(tsconfig);\n\n installBindings(target, (err) => {\n if (err) return callback(err);\n\n rimraf2(dest, { disableGlob: true }, () => {\n const entries = [];\n const iterator = new Iterator(src);\n iterator.forEach(\n (entry) => {\n if (!entry.stats.isFile()) return;\n if (!matcher(entry.fullPath)) return;\n if (typeFileRegEx.test(entry.basename)) return;\n const ext = path.extname(entry.basename);\n if (ext && extensions.indexOf(ext) < 0) return;\n entries.push(entry);\n },\n (err) => {\n if (err) return callback(err);\n const results = [];\n options = { ...options, tsconfig, src, dest };\n\n const queue = new Queue();\n entries.forEach((entry) => {\n queue.defer((cb) =>\n transformFile(entry, dest, type, options, (err, outPath) => {\n if (err) return cb(err);\n results.push(path.normalize(outPath));\n if (options.sourceMaps) results.push(`${path.normalize(outPath)}.map`);\n cb();\n })\n );\n });\n queue.await((err) => (err ? callback(err) : callback(null, results)));\n }\n );\n });\n });\n}\n"],"names":["path","Iterator","Queue","rimraf2","extensions","typeFileRegEx","createMatcher","installBindings","transformFile","target","process","platform","arch","transformDirectoryWorker","src","dest","type","options","callback","tsconfig","matcher","err","disableGlob","entries","iterator","forEach","entry","stats","isFile","fullPath","test","basename","ext","extname","indexOf","push","results","queue","defer","cb","outPath","normalize","sourceMaps","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,cAAc,cAAc;AACnC,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAE9B,SAASC,UAAU,EAAEC,aAAa,QAAQ,eAAe;AACzD,OAAOC,mBAAmB,mBAAmB;AAC7C,OAAOC,qBAAqB,yBAAyB;AACrD,OAAOC,mBAAmB,uBAAuB;AAEjD,MAAMC,SAAS,GAAGC,QAAQC,QAAQ,CAAC,CAAC,EAAED,QAAQE,IAAI,EAAE;AAEpD,eAAe,SAASC,yBAAyBC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACjF,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,UAAUd,cAAca;IAE9BZ,gBAAgBE,QAAQ,CAACY;QACvB,IAAIA,KAAK,OAAOH,SAASG;QAEzBlB,QAAQY,MAAM;YAAEO,aAAa;QAAK,GAAG;YACnC,MAAMC,UAAU,EAAE;YAClB,MAAMC,WAAW,IAAIvB,SAASa;YAC9BU,SAASC,OAAO,CACd,CAACC;gBACC,IAAI,CAACA,MAAMC,KAAK,CAACC,MAAM,IAAI;gBAC3B,IAAI,CAACR,QAAQM,MAAMG,QAAQ,GAAG;gBAC9B,IAAIxB,cAAcyB,IAAI,CAACJ,MAAMK,QAAQ,GAAG;gBACxC,MAAMC,MAAMhC,KAAKiC,OAAO,CAACP,MAAMK,QAAQ;gBACvC,IAAIC,OAAO5B,WAAW8B,OAAO,CAACF,OAAO,GAAG;gBACxCT,QAAQY,IAAI,CAACT;YACf,GACA,CAACL;gBACC,IAAIA,KAAK,OAAOH,SAASG;gBACzB,MAAMe,UAAU,EAAE;gBAClBnB,UAAU;oBAAE,GAAGA,OAAO;oBAAEE;oBAAUL;oBAAKC;gBAAK;gBAE5C,MAAMsB,QAAQ,IAAInC;gBAClBqB,QAAQE,OAAO,CAAC,CAACC;oBACfW,MAAMC,KAAK,CAAC,CAACC,KACX/B,cAAckB,OAAOX,MAAMC,MAAMC,SAAS,CAACI,KAAKmB;4BAC9C,IAAInB,KAAK,OAAOkB,GAAGlB;4BACnBe,QAAQD,IAAI,CAACnC,KAAKyC,SAAS,CAACD;4BAC5B,IAAIvB,QAAQyB,UAAU,EAAEN,QAAQD,IAAI,CAAC,GAAGnC,KAAKyC,SAAS,CAACD,SAAS,IAAI,CAAC;4BACrED;wBACF;gBAEJ;gBACAF,MAAMM,KAAK,CAAC,CAACtB,MAASA,MAAMH,SAASG,OAAOH,SAAS,MAAMkB;YAC7D;QAEJ;IACF;AACF"}
@@ -1,13 +1,16 @@
1
+ import { sync as installBindingsSync } from '../lib/installBindings.mjs';
1
2
  import swcPrepareOptions from '../lib/swcPrepareOptions.mjs';
2
3
  import Module from 'module';
3
4
  import lazy from 'lazy-cache';
4
5
  const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
5
6
  const swcLazy = lazy(_require)('@swc/core');
6
- export default function transformSyncWorker(contents, fileName, tsconfig, callback) {
7
+ const target = `${process.platform}-${process.arch}`;
8
+ export default function transformSyncWorker(contents, fileName, tsconfig) {
9
+ installBindingsSync(target);
7
10
  const swcOptions = swcPrepareOptions(tsconfig);
8
11
  const swc = swcLazy();
9
- swc.transform(contents, {
12
+ return swc.transformSync(contents, {
10
13
  ...fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions,
11
14
  filename: fileName
12
- }).then((output)=>callback(null, output)).catch(callback);
15
+ });
13
16
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformSync.ts"],"sourcesContent":["import swcPrepareOptions from '../lib/swcPrepareOptions';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@swc/core');\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nexport default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult, callback) {\n const swcOptions = swcPrepareOptions(tsconfig);\n const swc = swcLazy();\n swc\n .transform(contents, {\n ...(fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions),\n filename: fileName,\n })\n .then((output) => callback(null, output))\n .catch(callback);\n}\n"],"names":["swcPrepareOptions","Module","lazy","_require","require","createRequire","url","swcLazy","transformSyncWorker","contents","fileName","tsconfig","callback","swcOptions","swc","transform","endsWith","tsxOptions","nonTsxOptions","filename","then","output","catch"],"mappings":"AAAA,OAAOA,uBAAuB,2BAA2B;AAEzD,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,UAAUL,KAAKC,UAAU;AAG/B,eAAe,SAASK,oBAAoBC,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB,EAAEC,QAAQ;IAChH,MAAMC,aAAab,kBAAkBW;IACrC,MAAMG,MAAMP;IACZO,IACGC,SAAS,CAACN,UAAU;QACnB,GAAIC,SAASM,QAAQ,CAAC,WAAWN,SAASM,QAAQ,CAAC,UAAUH,WAAWI,UAAU,GAAGJ,WAAWK,aAAa;QAC7GC,UAAUT;IACZ,GACCU,IAAI,CAAC,CAACC,SAAWT,SAAS,MAAMS,SAChCC,KAAK,CAACV;AACX"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformSync.ts"],"sourcesContent":["import { sync as installBindingsSync } from '../lib/installBindings';\nimport swcPrepareOptions from '../lib/swcPrepareOptions';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst swcLazy = lazy(_require)('@swc/core');\nconst target = `${process.platform}-${process.arch}`;\n\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nexport default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult) {\n installBindingsSync(target);\n\n const swcOptions = swcPrepareOptions(tsconfig);\n const swc = swcLazy();\n return swc.transformSync(contents, {\n ...(fileName.endsWith('.tsx') || fileName.endsWith('.jsx') ? swcOptions.tsxOptions : swcOptions.nonTsxOptions),\n filename: fileName,\n });\n}\n"],"names":["sync","installBindingsSync","swcPrepareOptions","Module","lazy","_require","require","createRequire","url","swcLazy","target","process","platform","arch","transformSyncWorker","contents","fileName","tsconfig","swcOptions","swc","transformSync","endsWith","tsxOptions","nonTsxOptions","filename"],"mappings":"AAAA,SAASA,QAAQC,mBAAmB,QAAQ,yBAAyB;AACrE,OAAOC,uBAAuB,2BAA2B;AAEzD,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,UAAUL,KAAKC,UAAU;AAC/B,MAAMK,SAAS,GAAGC,QAAQC,QAAQ,CAAC,CAAC,EAAED,QAAQE,IAAI,EAAE;AAGpD,eAAe,SAASC,oBAAoBC,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB;IACtGhB,oBAAoBS;IAEpB,MAAMQ,aAAahB,kBAAkBe;IACrC,MAAME,MAAMV;IACZ,OAAOU,IAAIC,aAAa,CAACL,UAAU;QACjC,GAAIC,SAASK,QAAQ,CAAC,WAAWL,SAASK,QAAQ,CAAC,UAAUH,WAAWI,UAAU,GAAGJ,WAAWK,aAAa;QAC7GC,UAAUR;IACZ;AACF"}
@@ -4,7 +4,7 @@ import Module from 'module';
4
4
  import lazy from 'lazy-cache';
5
5
  const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
6
6
  const tsLazy = lazy(_require)('typescript');
7
- import { SKIPS, typeFileRegEx } from '../constants.mjs';
7
+ import { typeFileRegEx } from '../constants.mjs';
8
8
  import createMatcher from '../createMatcher.mjs';
9
9
  export default function transformTypesWorker(src, dest, options, callback) {
10
10
  const tsconfig = options.tsconfig;
@@ -17,8 +17,7 @@ export default function transformTypesWorker(src, dest, options, callback) {
17
17
  iterator.forEach((entry)=>{
18
18
  if (!entry.stats.isFile()) return;
19
19
  if (!matcher(entry.fullPath)) return;
20
- if (SKIPS.indexOf(entry.basename) >= 0) return;
21
- if (typeFileRegEx.test(entry.basename)) return; // return existingTypes.push(entry.fullPath);
20
+ if (typeFileRegEx.test(entry.basename)) return;
22
21
  entries.push(entry);
23
22
  }, {
24
23
  concurrency: Infinity
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformTypes.ts"],"sourcesContent":["import Iterator from 'fs-iterator';\nimport rimraf2 from 'rimraf2';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst tsLazy = lazy(_require)('typescript');\n\nimport { SKIPS, typeFileRegEx } from '../constants';\nimport createMatcher from '../createMatcher';\n\nexport default function transformTypesWorker(src, dest, options, callback) {\n const tsconfig = options.tsconfig;\n const matcher = createMatcher(tsconfig);\n\n rimraf2(dest, { disableGlob: true }, () => {\n const entries = [];\n const iterator = new Iterator(src);\n iterator.forEach(\n (entry) => {\n if (!entry.stats.isFile()) return;\n if (!matcher(entry.fullPath)) return;\n if (SKIPS.indexOf(entry.basename) >= 0) return;\n if (typeFileRegEx.test(entry.basename)) return; // return existingTypes.push(entry.fullPath);\n entries.push(entry);\n },\n { concurrency: Infinity },\n (err) => {\n if (err) return callback(err);\n\n const ts = tsLazy();\n const config = {\n fileNames: entries.map((entry) => entry.fullPath),\n options: {\n ...(tsconfig.compilerOptions || {}),\n outDir: dest,\n allowJs: true,\n declaration: true,\n emitDeclarationOnly: true,\n listEmittedFiles: true,\n },\n projectReferences: tsconfig.config.references,\n };\n const { fileNames, options, projectReferences } = config;\n const host = ts.createCompilerHostWorker(options, /*setParentNodes*/ undefined, ts.sys);\n const programOptions = {\n rootNames: fileNames,\n options,\n projectReferences,\n host,\n configFileParsingDiagnostics: ts.getConfigFileParsingDiagnostics({ fileNames, options }),\n };\n const program = ts.createProgram(programOptions);\n const res = program.emit();\n callback(null, res.emittedFiles);\n }\n );\n });\n}\n"],"names":["Iterator","rimraf2","Module","lazy","_require","require","createRequire","url","tsLazy","SKIPS","typeFileRegEx","createMatcher","transformTypesWorker","src","dest","options","callback","tsconfig","matcher","disableGlob","entries","iterator","forEach","entry","stats","isFile","fullPath","indexOf","basename","test","push","concurrency","Infinity","err","ts","config","fileNames","map","compilerOptions","outDir","allowJs","declaration","emitDeclarationOnly","listEmittedFiles","projectReferences","references","host","createCompilerHostWorker","undefined","sys","programOptions","rootNames","configFileParsingDiagnostics","getConfigFileParsingDiagnostics","program","createProgram","res","emit","emittedFiles"],"mappings":"AAAA,OAAOA,cAAc,cAAc;AACnC,OAAOC,aAAa,UAAU;AAE9B,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,SAASL,KAAKC,UAAU;AAE9B,SAASK,KAAK,EAAEC,aAAa,QAAQ,eAAe;AACpD,OAAOC,mBAAmB,mBAAmB;AAE7C,eAAe,SAASC,qBAAqBC,GAAG,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACvE,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,UAAUP,cAAcM;IAE9BhB,QAAQa,MAAM;QAAEK,aAAa;IAAK,GAAG;QACnC,MAAMC,UAAU,EAAE;QAClB,MAAMC,WAAW,IAAIrB,SAASa;QAC9BQ,SAASC,OAAO,CACd,CAACC;YACC,IAAI,CAACA,MAAMC,KAAK,CAACC,MAAM,IAAI;YAC3B,IAAI,CAACP,QAAQK,MAAMG,QAAQ,GAAG;YAC9B,IAAIjB,MAAMkB,OAAO,CAACJ,MAAMK,QAAQ,KAAK,GAAG;YACxC,IAAIlB,cAAcmB,IAAI,CAACN,MAAMK,QAAQ,GAAG,QAAQ,6CAA6C;YAC7FR,QAAQU,IAAI,CAACP;QACf,GACA;YAAEQ,aAAaC;QAAS,GACxB,CAACC;YACC,IAAIA,KAAK,OAAOjB,SAASiB;YAEzB,MAAMC,KAAK1B;YACX,MAAM2B,SAAS;gBACbC,WAAWhB,QAAQiB,GAAG,CAAC,CAACd,QAAUA,MAAMG,QAAQ;gBAChDX,SAAS;oBACP,GAAIE,SAASqB,eAAe,IAAI,CAAC,CAAC;oBAClCC,QAAQzB;oBACR0B,SAAS;oBACTC,aAAa;oBACbC,qBAAqB;oBACrBC,kBAAkB;gBACpB;gBACAC,mBAAmB3B,SAASkB,MAAM,CAACU,UAAU;YAC/C;YACA,MAAM,EAAET,SAAS,EAAErB,OAAO,EAAE6B,iBAAiB,EAAE,GAAGT;YAClD,MAAMW,OAAOZ,GAAGa,wBAAwB,CAAChC,SAAS,gBAAgB,GAAGiC,WAAWd,GAAGe,GAAG;YACtF,MAAMC,iBAAiB;gBACrBC,WAAWf;gBACXrB;gBACA6B;gBACAE;gBACAM,8BAA8BlB,GAAGmB,+BAA+B,CAAC;oBAAEjB;oBAAWrB;gBAAQ;YACxF;YACA,MAAMuC,UAAUpB,GAAGqB,aAAa,CAACL;YACjC,MAAMM,MAAMF,QAAQG,IAAI;YACxBzC,SAAS,MAAMwC,IAAIE,YAAY;QACjC;IAEJ;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/workers/transformTypes.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport rimraf2 from 'rimraf2';\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst tsLazy = lazy(_require)('typescript');\n\nimport { typeFileRegEx } from '../constants';\nimport createMatcher from '../createMatcher';\n\nexport default function transformTypesWorker(src, dest, options, callback) {\n const tsconfig = options.tsconfig;\n const matcher = createMatcher(tsconfig);\n\n rimraf2(dest, { disableGlob: true }, () => {\n const entries = [];\n const iterator = new Iterator(src);\n iterator.forEach(\n (entry) => {\n if (!entry.stats.isFile()) return;\n if (!matcher(entry.fullPath)) return;\n if (typeFileRegEx.test(entry.basename)) return;\n entries.push(entry);\n },\n { concurrency: Infinity },\n (err) => {\n if (err) return callback(err);\n\n const ts = tsLazy();\n const config = {\n fileNames: entries.map((entry) => entry.fullPath),\n options: {\n ...(tsconfig.compilerOptions || {}),\n outDir: dest,\n allowJs: true,\n declaration: true,\n emitDeclarationOnly: true,\n listEmittedFiles: true,\n },\n projectReferences: tsconfig.config.references,\n };\n const { fileNames, options, projectReferences } = config;\n const host = ts.createCompilerHostWorker(options, /*setParentNodes*/ undefined, ts.sys);\n const programOptions = {\n rootNames: fileNames,\n options,\n projectReferences,\n host,\n configFileParsingDiagnostics: ts.getConfigFileParsingDiagnostics({ fileNames, options }),\n };\n const program = ts.createProgram(programOptions);\n const res = program.emit();\n callback(null, res.emittedFiles);\n }\n );\n });\n}\n"],"names":["Iterator","rimraf2","Module","lazy","_require","require","createRequire","url","tsLazy","typeFileRegEx","createMatcher","transformTypesWorker","src","dest","options","callback","tsconfig","matcher","disableGlob","entries","iterator","forEach","entry","stats","isFile","fullPath","test","basename","push","concurrency","Infinity","err","ts","config","fileNames","map","compilerOptions","outDir","allowJs","declaration","emitDeclarationOnly","listEmittedFiles","projectReferences","references","host","createCompilerHostWorker","undefined","sys","programOptions","rootNames","configFileParsingDiagnostics","getConfigFileParsingDiagnostics","program","createProgram","res","emit","emittedFiles"],"mappings":"AACA,OAAOA,cAAc,cAAc;AACnC,OAAOC,aAAa,UAAU;AAE9B,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,SAASL,KAAKC,UAAU;AAE9B,SAASK,aAAa,QAAQ,eAAe;AAC7C,OAAOC,mBAAmB,mBAAmB;AAE7C,eAAe,SAASC,qBAAqBC,GAAG,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACvE,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,UAAUP,cAAcM;IAE9Bf,QAAQY,MAAM;QAAEK,aAAa;IAAK,GAAG;QACnC,MAAMC,UAAU,EAAE;QAClB,MAAMC,WAAW,IAAIpB,SAASY;QAC9BQ,SAASC,OAAO,CACd,CAACC;YACC,IAAI,CAACA,MAAMC,KAAK,CAACC,MAAM,IAAI;YAC3B,IAAI,CAACP,QAAQK,MAAMG,QAAQ,GAAG;YAC9B,IAAIhB,cAAciB,IAAI,CAACJ,MAAMK,QAAQ,GAAG;YACxCR,QAAQS,IAAI,CAACN;QACf,GACA;YAAEO,aAAaC;QAAS,GACxB,CAACC;YACC,IAAIA,KAAK,OAAOhB,SAASgB;YAEzB,MAAMC,KAAKxB;YACX,MAAMyB,SAAS;gBACbC,WAAWf,QAAQgB,GAAG,CAAC,CAACb,QAAUA,MAAMG,QAAQ;gBAChDX,SAAS;oBACP,GAAIE,SAASoB,eAAe,IAAI,CAAC,CAAC;oBAClCC,QAAQxB;oBACRyB,SAAS;oBACTC,aAAa;oBACbC,qBAAqB;oBACrBC,kBAAkB;gBACpB;gBACAC,mBAAmB1B,SAASiB,MAAM,CAACU,UAAU;YAC/C;YACA,MAAM,EAAET,SAAS,EAAEpB,OAAO,EAAE4B,iBAAiB,EAAE,GAAGT;YAClD,MAAMW,OAAOZ,GAAGa,wBAAwB,CAAC/B,SAAS,gBAAgB,GAAGgC,WAAWd,GAAGe,GAAG;YACtF,MAAMC,iBAAiB;gBACrBC,WAAWf;gBACXpB;gBACA4B;gBACAE;gBACAM,8BAA8BlB,GAAGmB,+BAA+B,CAAC;oBAAEjB;oBAAWpB;gBAAQ;YACxF;YACA,MAAMsC,UAAUpB,GAAGqB,aAAa,CAACL;YACjC,MAAMM,MAAMF,QAAQG,IAAI;YACxBxC,SAAS,MAAMuC,IAAIE,YAAY;QACjC;IAEJ;AACF"}
@@ -1,7 +1,7 @@
1
1
  export declare const moduleRegEx: RegExp;
2
2
  export declare const typeFileRegEx: RegExp;
3
- export declare const SKIPS: string[];
4
3
  export declare const moduleDependencyRegEx = "\\s*['\"`]([^'\"`]+)['\"`]\\s*";
5
4
  export declare const moduleNameRegEx = "\\s*(?:[\\w${},\\s*]+)\\s*";
6
5
  export declare const requireRegEx: RegExp;
7
6
  export declare const importRegEx: RegExp;
7
+ export declare const extensions: string[];
@@ -1,7 +1,6 @@
1
1
  export type * from './types';
2
2
  export { default as createMatcher } from './createMatcher';
3
3
  export * as constants from './constants';
4
- export { default as extensions } from './extensions';
5
4
  export { default as resolveFileSync } from './resolveFileSync';
6
5
  export { default as toPath } from './toPath';
7
6
  export { default as transformDirectory } from './transformDirectory';
@@ -0,0 +1,3 @@
1
+ import installBindings from '../workers/installBindings';
2
+ export default installBindings;
3
+ export declare const sync: (target: any) => any;
@@ -0,0 +1,8 @@
1
+ export declare function getDependencyInfo(target: any): {
2
+ name: string;
3
+ version: any;
4
+ nodeModules: any;
5
+ };
6
+ export declare function isInstalled(target: any): boolean;
7
+ declare const _default: any;
8
+ export default _default;
@@ -1,2 +1,2 @@
1
1
  import type { TsConfigResult } from 'get-tsconfig-compat';
2
- export default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult, callback: any): void;
2
+ export default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-swc-transform",
3
- "version": "1.11.5",
3
+ "version": "1.11.7",
4
4
  "description": "Typescript transformers for swc. Supports Node >= 0.8",
5
5
  "keywords": [
6
6
  "matcher",
@@ -39,8 +39,7 @@
39
39
  "scripts": {
40
40
  "build": "tsds build",
41
41
  "deploy": "tsds deploy",
42
- "format": "biome check --write --unsafe src/ test/ && biome check --config-path biome.es5.json --write --unsafe scripts/",
43
- "postinstall": "node ./scripts/postinstall.cjs",
42
+ "format": "biome check --write --unsafe src/ test/",
44
43
  "test": "tsds test:node --no-timeouts",
45
44
  "test:engines": "nvu engines npm test",
46
45
  "version": "",
@@ -56,10 +55,11 @@
56
55
  "lazy-cache": "^2.0.2",
57
56
  "minimatch": "^3.1.2",
58
57
  "mkdirp-classic": "^0.5.3",
59
- "node-version-call": "^1.4.3",
58
+ "node-version-call": "^1.4.5",
60
59
  "path-posix": "^1.0.0",
61
60
  "queue-cb": "^1.4.4",
62
61
  "resolve": "^1.22.10",
62
+ "resolve-once-map-cb": "^0.1.0",
63
63
  "rimraf2": "^2.8.2",
64
64
  "ts-node": "*",
65
65
  "typescript": "*",
@@ -69,9 +69,9 @@
69
69
  "@biomejs/biome": "^1.9.4",
70
70
  "@swc/core": "^1.9.3",
71
71
  "@types/mocha": "^10.0.10",
72
- "@types/node": "^22.10.2",
72
+ "@types/node": "^22.10.3",
73
73
  "cr": "^0.1.0",
74
- "cross-spawn-cb": "^2.0.1",
74
+ "cross-spawn-cb": "^2.0.3",
75
75
  "es6-map": "^0.1.5",
76
76
  "es6-symbol": "^3.1.4",
77
77
  "lodash.difference": "^4.5.0",
@@ -1,23 +0,0 @@
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 _default = [
12
- '.js',
13
- '.jsx',
14
- '.cjs',
15
- '.mjs',
16
- '.ts',
17
- '.tsx',
18
- '.cts',
19
- '.mts',
20
- '.es6',
21
- '.es'
22
- ];
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; }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/extensions.ts"],"sourcesContent":["export default ['.js', '.jsx', '.cjs', '.mjs', '.ts', '.tsx', '.cts', '.mts', '.es6', '.es'];\n"],"names":[],"mappings":";;;;+BAAA;;;eAAA;;;IAAA,WAAe;IAAC;IAAO;IAAQ;IAAQ;IAAQ;IAAO;IAAQ;IAAQ;IAAQ;IAAQ;CAAM"}
@@ -1,12 +0,0 @@
1
- export default [
2
- '.js',
3
- '.jsx',
4
- '.cjs',
5
- '.mjs',
6
- '.ts',
7
- '.tsx',
8
- '.cts',
9
- '.mts',
10
- '.es6',
11
- '.es'
12
- ];
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/typescript/ts-swc-transform/src/extensions.ts"],"sourcesContent":["export default ['.js', '.jsx', '.cjs', '.mjs', '.ts', '.tsx', '.cts', '.mts', '.es6', '.es'];\n"],"names":[],"mappings":"AAAA,eAAe;IAAC;IAAO;IAAQ;IAAQ;IAAQ;IAAO;IAAQ;IAAQ;IAAQ;IAAQ;CAAM,CAAC"}
@@ -1,2 +0,0 @@
1
- declare const _default: string[];
2
- export default _default;