ts-swc-transform 1.4.3 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/cjs/{transformDirectory.js → cjs/transformDirectory.js} +4 -4
  2. package/dist/cjs/cjs/transformDirectory.js.map +1 -0
  3. package/dist/cjs/{transformFile.js → cjs/transformFile.js} +4 -4
  4. package/dist/cjs/cjs/transformFile.js.map +1 -0
  5. package/dist/cjs/{transformSync.js → cjs/transformSync.js} +7 -7
  6. package/dist/cjs/cjs/transformSync.js.map +1 -0
  7. package/dist/cjs/esm/transformDirectory.js +49 -0
  8. package/dist/cjs/esm/transformDirectory.js.map +1 -0
  9. package/dist/cjs/esm/transformFile.js +49 -0
  10. package/dist/cjs/esm/transformFile.js.map +1 -0
  11. package/dist/cjs/{lib/transformVersion.js → esm/transformSync.js} +2 -5
  12. package/dist/cjs/esm/transformSync.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +46 -0
  14. package/dist/cjs/index.cjs.js.map +1 -0
  15. package/dist/cjs/index.js +3 -3
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/lib/existsSync.js +5 -4
  18. package/dist/cjs/lib/existsSync.js.map +1 -1
  19. package/dist/cjs/lib/install-module/index.js +40 -0
  20. package/dist/cjs/lib/install-module/index.js.map +1 -0
  21. package/dist/cjs/lib/install-module/lib/ensureCached.js +114 -0
  22. package/dist/cjs/lib/install-module/lib/ensureCached.js.map +1 -0
  23. package/dist/cjs/lib/install-module/lib/parseInstallString.js +48 -0
  24. package/dist/cjs/lib/install-module/lib/parseInstallString.js.map +1 -0
  25. package/dist/cjs/lib/installBindings.js +3 -80
  26. package/dist/cjs/lib/installBindings.js.map +1 -1
  27. package/dist/cjs/lib/loadSWC.js +7 -12
  28. package/dist/cjs/lib/loadSWC.js.map +1 -1
  29. package/dist/cjs/workers/transformDirectory.js +24 -12
  30. package/dist/cjs/workers/transformDirectory.js.map +1 -1
  31. package/dist/cjs/workers/transformSync.js +5 -3
  32. package/dist/cjs/workers/transformSync.js.map +1 -1
  33. package/dist/esm/{transformDirectory.mjs → cjs/transformDirectory.mjs} +3 -3
  34. package/dist/esm/cjs/transformDirectory.mjs.map +1 -0
  35. package/dist/esm/{transformFile.mjs → cjs/transformFile.mjs} +3 -3
  36. package/dist/esm/cjs/transformFile.mjs.map +1 -0
  37. package/dist/esm/{transformSync.mjs → cjs/transformSync.mjs} +6 -6
  38. package/dist/esm/cjs/transformSync.mjs.map +1 -0
  39. package/dist/esm/esm/transformDirectory.mjs +34 -0
  40. package/dist/esm/esm/transformDirectory.mjs.map +1 -0
  41. package/dist/esm/esm/transformFile.mjs +34 -0
  42. package/dist/esm/esm/transformFile.mjs.map +1 -0
  43. package/dist/esm/esm/transformSync.mjs +1 -0
  44. package/dist/esm/esm/transformSync.mjs.map +1 -0
  45. package/dist/esm/index.cjs.mjs +7 -0
  46. package/dist/esm/index.cjs.mjs.map +1 -0
  47. package/dist/esm/index.mjs +3 -3
  48. package/dist/esm/index.mjs.map +1 -1
  49. package/dist/esm/lib/existsSync.mjs +4 -3
  50. package/dist/esm/lib/existsSync.mjs.map +1 -1
  51. package/dist/esm/lib/install-module/index.mjs +24 -0
  52. package/dist/esm/lib/install-module/index.mjs.map +1 -0
  53. package/dist/esm/lib/install-module/lib/ensureCached.mjs +37 -0
  54. package/dist/esm/lib/install-module/lib/ensureCached.mjs.map +1 -0
  55. package/dist/esm/lib/install-module/lib/parseInstallString.mjs +13 -0
  56. package/dist/esm/lib/install-module/lib/parseInstallString.mjs.map +1 -0
  57. package/dist/esm/lib/installBindings.mjs +4 -44
  58. package/dist/esm/lib/installBindings.mjs.map +1 -1
  59. package/dist/esm/lib/loadSWC.mjs +7 -12
  60. package/dist/esm/lib/loadSWC.mjs.map +1 -1
  61. package/dist/esm/workers/transformDirectory.mjs +23 -13
  62. package/dist/esm/workers/transformDirectory.mjs.map +1 -1
  63. package/dist/esm/workers/transformSync.mjs +6 -3
  64. package/dist/esm/workers/transformSync.mjs.map +1 -1
  65. package/dist/types/{transformSync.d.ts → cjs/transformSync.d.ts} +2 -2
  66. package/dist/types/esm/transformDirectory.d.ts +9 -0
  67. package/dist/types/esm/transformFile.d.ts +9 -0
  68. package/dist/types/esm/transformSync.d.ts +1 -0
  69. package/dist/types/index.cjs.d.ts +8 -0
  70. package/dist/types/index.d.ts +3 -3
  71. package/dist/types/lib/existsSync.d.ts +3 -1
  72. package/dist/types/lib/install-module/index.d.ts +1 -0
  73. package/dist/types/lib/install-module/lib/ensureCached.d.ts +2 -0
  74. package/dist/types/lib/install-module/lib/parseInstallString.d.ts +4 -0
  75. package/dist/types/lib/loadSWC.d.ts +2 -1
  76. package/dist/types/workers/transformSync.d.ts +1 -1
  77. package/package.json +6 -5
  78. package/dist/cjs/lib/transformVersion.js.map +0 -1
  79. package/dist/cjs/transformDirectory.js.map +0 -1
  80. package/dist/cjs/transformFile.js.map +0 -1
  81. package/dist/cjs/transformSync.js.map +0 -1
  82. package/dist/esm/lib/transformVersion.mjs +0 -4
  83. package/dist/esm/lib/transformVersion.mjs.map +0 -1
  84. package/dist/esm/transformDirectory.mjs.map +0 -1
  85. package/dist/esm/transformFile.mjs.map +0 -1
  86. package/dist/esm/transformSync.mjs.map +0 -1
  87. package/dist/types/lib/transformVersion.d.ts +0 -2
  88. /package/dist/types/{transformDirectory.d.ts → cjs/transformDirectory.d.ts} +0 -0
  89. /package/dist/types/{transformFile.d.ts → cjs/transformFile.d.ts} +0 -0
@@ -0,0 +1,37 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import spawn from 'cross-spawn-cb';
4
+ import access from 'fs-access-compat';
5
+ import mkdirp from 'mkdirp-classic';
6
+ import Queue from 'queue-cb';
7
+ import rimraf2 from 'rimraf2';
8
+ import tempSuffix from 'temp-suffix';
9
+ // @ts-ignore
10
+ import process from '../../process.cjs';
11
+ import parseInstallString from './parseInstallString.mjs';
12
+ export default function ensureCached(installString, cachedAt, callback) {
13
+ access(cachedAt, (err)=>{
14
+ if (!err) return callback(); // already cached
15
+ const { name } = parseInstallString(installString);
16
+ const tmp = `${cachedAt}-${tempSuffix()}`;
17
+ const installedAt = path.join(tmp, 'node_modules', ...name.split('/'));
18
+ const { NODE_OPTIONS, ...env } = process.env;
19
+ const queue = new Queue(1);
20
+ queue.defer(mkdirp.bind(null, tmp));
21
+ queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));
22
+ queue.defer(spawn.bind(null, 'npm', [
23
+ 'install',
24
+ installString
25
+ ], {
26
+ cwd: tmp,
27
+ env
28
+ }));
29
+ queue.defer((cb)=>fs.rename(installedAt, cachedAt, cb.bind(null, null)));
30
+ queue.await((err)=>{
31
+ // clean up whether installed or not
32
+ rimraf2(tmp, {
33
+ disableGlob: true
34
+ }, ()=>callback(err));
35
+ });
36
+ });
37
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["ensureCached.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport spawn from 'cross-spawn-cb';\nimport access from 'fs-access-compat';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\nimport tempSuffix from 'temp-suffix';\n// @ts-ignore\nimport process from '../../process.cjs';\nimport parseInstallString from './parseInstallString.js';\n\nexport type EnsureCachedCallback = (err?: Error) => void;\n\nexport default function ensureCached(installString: string, cachedAt: string, callback: EnsureCachedCallback) {\n access(cachedAt, (err?: Error) => {\n if (!err) return callback(); // already cached\n\n const { name } = parseInstallString(installString);\n const tmp = `${cachedAt}-${tempSuffix()}`;\n const installedAt = path.join(tmp, 'node_modules', ...name.split('/'));\n const { NODE_OPTIONS, ...env } = process.env;\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, tmp));\n queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));\n queue.defer(spawn.bind(null, 'npm', ['install', installString], { cwd: tmp, env }));\n queue.defer((cb) => fs.rename(installedAt, cachedAt, cb.bind(null, null)));\n queue.await((err) => {\n // clean up whether installed or not\n rimraf2(tmp, { disableGlob: true }, () => callback(err));\n });\n });\n}\n"],"names":["fs","path","spawn","access","mkdirp","Queue","rimraf2","tempSuffix","process","parseInstallString","ensureCached","installString","cachedAt","callback","err","name","tmp","installedAt","join","split","NODE_OPTIONS","env","queue","defer","bind","writeFile","cwd","cb","rename","await","disableGlob"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,iBAAiB;AACnC,OAAOC,YAAY,mBAAmB;AACtC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,gBAAgB,cAAc;AACrC,aAAa;AACb,OAAOC,aAAa,oBAAoB;AACxC,OAAOC,wBAAwB,0BAA0B;AAIzD,eAAe,SAASC,aAAaC,aAAqB,EAAEC,QAAgB,EAAEC,QAA8B;IAC1GV,OAAOS,UAAU,CAACE;QAChB,IAAI,CAACA,KAAK,OAAOD,YAAY,iBAAiB;QAE9C,MAAM,EAAEE,IAAI,EAAE,GAAGN,mBAAmBE;QACpC,MAAMK,MAAM,GAAGJ,SAAS,CAAC,EAAEL,cAAc;QACzC,MAAMU,cAAchB,KAAKiB,IAAI,CAACF,KAAK,mBAAmBD,KAAKI,KAAK,CAAC;QACjE,MAAM,EAAEC,YAAY,EAAE,GAAGC,KAAK,GAAGb,QAAQa,GAAG;QAE5C,MAAMC,QAAQ,IAAIjB,MAAM;QACxBiB,MAAMC,KAAK,CAACnB,OAAOoB,IAAI,CAAC,MAAMR;QAC9BM,MAAMC,KAAK,CAACvB,GAAGyB,SAAS,CAACD,IAAI,CAAC,MAAMvB,KAAKiB,IAAI,CAACF,KAAK,iBAAiB,MAAM;QAC1EM,MAAMC,KAAK,CAACrB,MAAMsB,IAAI,CAAC,MAAM,OAAO;YAAC;YAAWb;SAAc,EAAE;YAAEe,KAAKV;YAAKK;QAAI;QAChFC,MAAMC,KAAK,CAAC,CAACI,KAAO3B,GAAG4B,MAAM,CAACX,aAAaL,UAAUe,GAAGH,IAAI,CAAC,MAAM;QACnEF,MAAMO,KAAK,CAAC,CAACf;YACX,oCAAoC;YACpCR,QAAQU,KAAK;gBAAEc,aAAa;YAAK,GAAG,IAAMjB,SAASC;QACrD;IACF;AACF"}
@@ -0,0 +1,13 @@
1
+ export default function parseInstallString(installString) {
2
+ const installParts = installString.split('/');
3
+ const nameVersionParts = installParts.pop().split('@');
4
+ const version = nameVersionParts.length > 1 ? nameVersionParts.pop() : undefined;
5
+ const name = [
6
+ ...installParts,
7
+ nameVersionParts.join('@')
8
+ ].join('/');
9
+ return {
10
+ name,
11
+ version
12
+ };
13
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["parseInstallString.ts"],"sourcesContent":["export default function parseInstallString(installString: string) {\n const installParts = installString.split('/');\n const nameVersionParts = installParts.pop().split('@');\n const version = nameVersionParts.length > 1 ? nameVersionParts.pop() : undefined;\n const name = [...installParts, nameVersionParts.join('@')].join('/');\n return {\n name,\n version,\n };\n}\n"],"names":["parseInstallString","installString","installParts","split","nameVersionParts","pop","version","length","undefined","name","join"],"mappings":"AAAA,eAAe,SAASA,mBAAmBC,aAAqB;IAC9D,MAAMC,eAAeD,cAAcE,KAAK,CAAC;IACzC,MAAMC,mBAAmBF,aAAaG,GAAG,GAAGF,KAAK,CAAC;IAClD,MAAMG,UAAUF,iBAAiBG,MAAM,GAAG,IAAIH,iBAAiBC,GAAG,KAAKG;IACvE,MAAMC,OAAO;WAAIP;QAAcE,iBAAiBM,IAAI,CAAC;KAAK,CAACA,IAAI,CAAC;IAChE,OAAO;QACLD;QACAH;IACF;AACF"}
@@ -1,63 +1,23 @@
1
1
  import fs from 'fs';
2
- import os from 'os';
3
2
  import path from 'path';
4
- import spawn from 'cross-spawn-cb';
5
- import mkdirp from 'mkdirp-classic';
6
3
  import Queue from 'queue-cb';
7
4
  import resolve from 'resolve';
8
- import rimraf2 from 'rimraf2';
9
- import tempSuffix from 'temp-suffix';
10
- import existsSync from './existsSync.mjs';
5
+ import installModule from './install-module/index.mjs';
11
6
  // @ts-ignore
12
7
  import process from './process.cjs';
13
- const isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);
14
- const symlinkType = isWindows ? 'junction' : 'dir';
15
- const cache = path.join(os.tmpdir(), 'ts-swc-transform', 'cache');
16
- function ensureCached(name, installString, cachedAt, callback) {
17
- if (existsSync(cachedAt)) return callback();
18
- const tmp = `${cachedAt}.${tempSuffix()}`;
19
- const installedAt = path.join(tmp, 'node_modules', ...name.split('/'));
20
- const { NODE_OPTIONS, ...env } = process.env;
21
- const queue = new Queue(1);
22
- queue.defer(mkdirp.bind(null, tmp));
23
- queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));
24
- queue.defer(spawn.bind(null, 'npm', [
25
- 'install',
26
- installString
27
- ], {
28
- cwd: tmp,
29
- env
30
- }));
31
- queue.defer((cb)=>fs.rename(installedAt, cachedAt, cb.bind(null, null)));
32
- queue.await(()=>{
33
- // clean up whether installed or not
34
- rimraf2(tmp, {
35
- disableGlob: true
36
- }, callback);
37
- });
38
- }
39
8
  export default function installBindings(callback) {
40
9
  const swcPackagePath = resolve.sync('@swc/core/package.json');
41
10
  const swcDir = path.dirname(path.dirname(swcPackagePath));
42
11
  const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));
43
- const installDir = path.dirname(swcDir);
12
+ const _installDir = path.dirname(swcDir);
44
13
  const depKey = `${process.platform}-${process.arch}`;
45
14
  const queue = new Queue();
46
- Object.keys(optionalDependencies).filter((name)=>name.indexOf(depKey) >= 0).filter((name)=>!existsSync(path.join(installDir, name))).map((name)=>{
15
+ Object.keys(optionalDependencies).filter((name)=>name.indexOf(depKey) >= 0).map((name)=>{
47
16
  queue.defer((callback)=>{
48
17
  const version = optionalDependencies[name];
49
18
  const installString = `${name}${version ? `@${version}` : ''}`;
50
19
  const installedAt = path.join(path.dirname(swcDir), ...name.split('/'));
51
- const cachedAt = path.join(cache, installString);
52
- ensureCached(name, installString, cachedAt, ()=>{
53
- if (!existsSync(cachedAt)) {
54
- console.log(`Unsupported version: ${installString}`);
55
- return callback();
56
- }
57
- fs.symlink(cachedAt, installedAt, symlinkType, (err)=>{
58
- err && !existsSync(installedAt) ? callback(err) : callback();
59
- });
60
- });
20
+ installModule(installString, installedAt, callback);
61
21
  });
62
22
  });
63
23
  queue.await(callback);
@@ -1 +1 @@
1
- {"version":3,"sources":["installBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport os from 'os';\nimport path from 'path';\nimport spawn from 'cross-spawn-cb';\nimport mkdirp from 'mkdirp-classic';\nimport Queue from 'queue-cb';\nimport resolve from 'resolve';\nimport rimraf2 from 'rimraf2';\nimport tempSuffix from 'temp-suffix';\nimport existsSync from './existsSync.js';\n// @ts-ignore\nimport process from './process.cjs';\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\nconst symlinkType = isWindows ? 'junction' : 'dir';\nconst cache = path.join(os.tmpdir(), 'ts-swc-transform', 'cache');\n\nfunction ensureCached(name, installString, cachedAt, callback) {\n if (existsSync(cachedAt)) return callback();\n\n const tmp = `${cachedAt}.${tempSuffix()}`;\n const installedAt = path.join(tmp, 'node_modules', ...name.split('/'));\n const { NODE_OPTIONS, ...env } = process.env;\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, tmp));\n queue.defer(fs.writeFile.bind(null, path.join(tmp, 'package.json'), '{}', 'utf8'));\n queue.defer(spawn.bind(null, 'npm', ['install', installString], { cwd: tmp, env }));\n queue.defer((cb) => fs.rename(installedAt, cachedAt, cb.bind(null, null)));\n queue.await(() => {\n // clean up whether installed or not\n rimraf2(tmp, { disableGlob: true }, callback);\n });\n}\n\nexport default function installBindings(callback) {\n const swcPackagePath = resolve.sync('@swc/core/package.json');\n const swcDir = path.dirname(path.dirname(swcPackagePath));\n const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));\n const installDir = path.dirname(swcDir);\n const depKey = `${process.platform}-${process.arch}`;\n\n const queue = new Queue();\n Object.keys(optionalDependencies)\n .filter((name) => name.indexOf(depKey) >= 0)\n .filter((name) => !existsSync(path.join(installDir, name)))\n .map((name) => {\n queue.defer((callback) => {\n const version = optionalDependencies[name];\n const installString = `${name}${version ? `@${version}` : ''}`;\n const installedAt = path.join(path.dirname(swcDir), ...name.split('/'));\n const cachedAt = path.join(cache, installString);\n\n ensureCached(name, installString, cachedAt, () => {\n if (!existsSync(cachedAt)) {\n console.log(`Unsupported version: ${installString}`);\n return callback();\n }\n\n fs.symlink(cachedAt, installedAt, symlinkType, (err) => {\n err && !existsSync(installedAt) ? callback(err) : callback();\n });\n });\n });\n });\n queue.await(callback);\n}\n"],"names":["fs","os","path","spawn","mkdirp","Queue","resolve","rimraf2","tempSuffix","existsSync","process","isWindows","platform","test","env","OSTYPE","symlinkType","cache","join","tmpdir","ensureCached","name","installString","cachedAt","callback","tmp","installedAt","split","NODE_OPTIONS","queue","defer","bind","writeFile","cwd","cb","rename","await","disableGlob","installBindings","swcPackagePath","sync","swcDir","dirname","optionalDependencies","JSON","parse","readFileSync","installDir","depKey","arch","Object","keys","filter","indexOf","map","version","console","log","symlink","err"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,iBAAiB;AACnC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,gBAAgB,cAAc;AACrC,OAAOC,gBAAgB,kBAAkB;AACzC,aAAa;AACb,OAAOC,aAAa,gBAAgB;AAEpC,MAAMC,YAAYD,QAAQE,QAAQ,KAAK,WAAW,kBAAkBC,IAAI,CAACH,QAAQI,GAAG,CAACC,MAAM;AAC3F,MAAMC,cAAcL,YAAY,aAAa;AAC7C,MAAMM,QAAQf,KAAKgB,IAAI,CAACjB,GAAGkB,MAAM,IAAI,oBAAoB;AAEzD,SAASC,aAAaC,IAAI,EAAEC,aAAa,EAAEC,QAAQ,EAAEC,QAAQ;IAC3D,IAAIf,WAAWc,WAAW,OAAOC;IAEjC,MAAMC,MAAM,GAAGF,SAAS,CAAC,EAAEf,cAAc;IACzC,MAAMkB,cAAcxB,KAAKgB,IAAI,CAACO,KAAK,mBAAmBJ,KAAKM,KAAK,CAAC;IACjE,MAAM,EAAEC,YAAY,EAAE,GAAGd,KAAK,GAAGJ,QAAQI,GAAG;IAE5C,MAAMe,QAAQ,IAAIxB,MAAM;IACxBwB,MAAMC,KAAK,CAAC1B,OAAO2B,IAAI,CAAC,MAAMN;IAC9BI,MAAMC,KAAK,CAAC9B,GAAGgC,SAAS,CAACD,IAAI,CAAC,MAAM7B,KAAKgB,IAAI,CAACO,KAAK,iBAAiB,MAAM;IAC1EI,MAAMC,KAAK,CAAC3B,MAAM4B,IAAI,CAAC,MAAM,OAAO;QAAC;QAAWT;KAAc,EAAE;QAAEW,KAAKR;QAAKX;IAAI;IAChFe,MAAMC,KAAK,CAAC,CAACI,KAAOlC,GAAGmC,MAAM,CAACT,aAAaH,UAAUW,GAAGH,IAAI,CAAC,MAAM;IACnEF,MAAMO,KAAK,CAAC;QACV,oCAAoC;QACpC7B,QAAQkB,KAAK;YAAEY,aAAa;QAAK,GAAGb;IACtC;AACF;AAEA,eAAe,SAASc,gBAAgBd,QAAQ;IAC9C,MAAMe,iBAAiBjC,QAAQkC,IAAI,CAAC;IACpC,MAAMC,SAASvC,KAAKwC,OAAO,CAACxC,KAAKwC,OAAO,CAACH;IACzC,MAAM,EAAEI,oBAAoB,EAAE,GAAGC,KAAKC,KAAK,CAAC7C,GAAG8C,YAAY,CAACP,gBAAgB;IAC5E,MAAMQ,aAAa7C,KAAKwC,OAAO,CAACD;IAChC,MAAMO,SAAS,GAAGtC,QAAQE,QAAQ,CAAC,CAAC,EAAEF,QAAQuC,IAAI,EAAE;IAEpD,MAAMpB,QAAQ,IAAIxB;IAClB6C,OAAOC,IAAI,CAACR,sBACTS,MAAM,CAAC,CAAC/B,OAASA,KAAKgC,OAAO,CAACL,WAAW,GACzCI,MAAM,CAAC,CAAC/B,OAAS,CAACZ,WAAWP,KAAKgB,IAAI,CAAC6B,YAAY1B,QACnDiC,GAAG,CAAC,CAACjC;QACJQ,MAAMC,KAAK,CAAC,CAACN;YACX,MAAM+B,UAAUZ,oBAAoB,CAACtB,KAAK;YAC1C,MAAMC,gBAAgB,GAAGD,OAAOkC,UAAU,CAAC,CAAC,EAAEA,SAAS,GAAG,IAAI;YAC9D,MAAM7B,cAAcxB,KAAKgB,IAAI,CAAChB,KAAKwC,OAAO,CAACD,YAAYpB,KAAKM,KAAK,CAAC;YAClE,MAAMJ,WAAWrB,KAAKgB,IAAI,CAACD,OAAOK;YAElCF,aAAaC,MAAMC,eAAeC,UAAU;gBAC1C,IAAI,CAACd,WAAWc,WAAW;oBACzBiC,QAAQC,GAAG,CAAC,CAAC,qBAAqB,EAAEnC,eAAe;oBACnD,OAAOE;gBACT;gBAEAxB,GAAG0D,OAAO,CAACnC,UAAUG,aAAaV,aAAa,CAAC2C;oBAC9CA,OAAO,CAAClD,WAAWiB,eAAeF,SAASmC,OAAOnC;gBACpD;YACF;QACF;IACF;IACFK,MAAMO,KAAK,CAACZ;AACd"}
1
+ {"version":3,"sources":["installBindings.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport resolve from 'resolve';\nimport installModule from './install-module/index.js';\n// @ts-ignore\nimport process from './process.cjs';\n\nexport default function installBindings(callback) {\n const swcPackagePath = resolve.sync('@swc/core/package.json');\n const swcDir = path.dirname(path.dirname(swcPackagePath));\n const { optionalDependencies } = JSON.parse(fs.readFileSync(swcPackagePath, 'utf8'));\n const _installDir = path.dirname(swcDir);\n const depKey = `${process.platform}-${process.arch}`;\n\n const queue = new Queue();\n Object.keys(optionalDependencies)\n .filter((name) => name.indexOf(depKey) >= 0)\n .map((name) => {\n queue.defer((callback) => {\n const version = optionalDependencies[name];\n const installString = `${name}${version ? `@${version}` : ''}`;\n const installedAt = path.join(path.dirname(swcDir), ...name.split('/'));\n installModule(installString, installedAt, callback);\n });\n });\n queue.await(callback);\n}\n"],"names":["fs","path","Queue","resolve","installModule","process","installBindings","callback","swcPackagePath","sync","swcDir","dirname","optionalDependencies","JSON","parse","readFileSync","_installDir","depKey","platform","arch","queue","Object","keys","filter","name","indexOf","map","defer","version","installString","installedAt","join","split","await"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,aAAa,UAAU;AAC9B,OAAOC,mBAAmB,4BAA4B;AACtD,aAAa;AACb,OAAOC,aAAa,gBAAgB;AAEpC,eAAe,SAASC,gBAAgBC,QAAQ;IAC9C,MAAMC,iBAAiBL,QAAQM,IAAI,CAAC;IACpC,MAAMC,SAAST,KAAKU,OAAO,CAACV,KAAKU,OAAO,CAACH;IACzC,MAAM,EAAEI,oBAAoB,EAAE,GAAGC,KAAKC,KAAK,CAACd,GAAGe,YAAY,CAACP,gBAAgB;IAC5E,MAAMQ,cAAcf,KAAKU,OAAO,CAACD;IACjC,MAAMO,SAAS,GAAGZ,QAAQa,QAAQ,CAAC,CAAC,EAAEb,QAAQc,IAAI,EAAE;IAEpD,MAAMC,QAAQ,IAAIlB;IAClBmB,OAAOC,IAAI,CAACV,sBACTW,MAAM,CAAC,CAACC,OAASA,KAAKC,OAAO,CAACR,WAAW,GACzCS,GAAG,CAAC,CAACF;QACJJ,MAAMO,KAAK,CAAC,CAACpB;YACX,MAAMqB,UAAUhB,oBAAoB,CAACY,KAAK;YAC1C,MAAMK,gBAAgB,GAAGL,OAAOI,UAAU,CAAC,CAAC,EAAEA,SAAS,GAAG,IAAI;YAC9D,MAAME,cAAc7B,KAAK8B,IAAI,CAAC9B,KAAKU,OAAO,CAACD,YAAYc,KAAKQ,KAAK,CAAC;YAClE5B,cAAcyB,eAAeC,aAAavB;QAC5C;IACF;IACFa,MAAMa,KAAK,CAAC1B;AACd"}
@@ -1,21 +1,16 @@
1
+ import resolveOnce from 'resolve-once-cb';
1
2
  import installBindings from './installBindings.mjs';
2
3
  // @ts-ignore
3
4
  import lazy from './lazy.cjs';
4
- const lazySWC = lazy('@swc/core');
5
- let swc = null;
6
- let err = null;
7
- export default function loadSWC(callback) {
8
- if (swc) return callback(null, swc);
9
- if (err) return callback(err);
10
- installBindings((err_)=>{
11
- err = err || err_;
5
+ const swc = lazy('@swc/core');
6
+ function loadSWC(callback) {
7
+ installBindings((err)=>{
12
8
  if (err) return callback(err);
13
9
  try {
14
- swc = swc || lazySWC();
15
- return callback(null, swc);
16
- } catch (err_) {
17
- err = err || err_;
10
+ return callback(null, swc());
11
+ } catch (err) {
18
12
  return callback(err);
19
13
  }
20
14
  });
21
15
  }
16
+ export default resolveOnce(loadSWC);
@@ -1 +1 @@
1
- {"version":3,"sources":["loadSWC.ts"],"sourcesContent":["import installBindings from './installBindings.js';\n// @ts-ignore\nimport lazy from './lazy.cjs';\nconst lazySWC = lazy('@swc/core');\n\nlet swc = null;\nlet err: Error = null;\nexport default function loadSWC(callback) {\n if (swc) return callback(null, swc);\n if (err) return callback(err);\n\n installBindings((err_) => {\n err = err || err_;\n if (err) return callback(err);\n try {\n swc = swc || lazySWC();\n return callback(null, swc);\n } catch (err_) {\n err = err || err_;\n return callback(err);\n }\n });\n}\n"],"names":["installBindings","lazy","lazySWC","swc","err","loadSWC","callback","err_"],"mappings":"AAAA,OAAOA,qBAAqB,uBAAuB;AACnD,aAAa;AACb,OAAOC,UAAU,aAAa;AAC9B,MAAMC,UAAUD,KAAK;AAErB,IAAIE,MAAM;AACV,IAAIC,MAAa;AACjB,eAAe,SAASC,QAAQC,QAAQ;IACtC,IAAIH,KAAK,OAAOG,SAAS,MAAMH;IAC/B,IAAIC,KAAK,OAAOE,SAASF;IAEzBJ,gBAAgB,CAACO;QACfH,MAAMA,OAAOG;QACb,IAAIH,KAAK,OAAOE,SAASF;QACzB,IAAI;YACFD,MAAMA,OAAOD;YACb,OAAOI,SAAS,MAAMH;QACxB,EAAE,OAAOI,MAAM;YACbH,MAAMA,OAAOG;YACb,OAAOD,SAASF;QAClB;IACF;AACF"}
1
+ {"version":3,"sources":["loadSWC.ts"],"sourcesContent":["import resolveOnce from 'resolve-once-cb';\nimport installBindings from './installBindings.js';\n// @ts-ignore\nimport lazy from './lazy.cjs';\nconst swc = lazy('@swc/core');\n\nfunction loadSWC(callback) {\n installBindings((err) => {\n if (err) return callback(err);\n try {\n return callback(null, swc());\n } catch (err) {\n return callback(err);\n }\n });\n}\n\nexport default resolveOnce(loadSWC);\n"],"names":["resolveOnce","installBindings","lazy","swc","loadSWC","callback","err"],"mappings":"AAAA,OAAOA,iBAAiB,kBAAkB;AAC1C,OAAOC,qBAAqB,uBAAuB;AACnD,aAAa;AACb,OAAOC,UAAU,aAAa;AAC9B,MAAMC,MAAMD,KAAK;AAEjB,SAASE,QAAQC,QAAQ;IACvBJ,gBAAgB,CAACK;QACf,IAAIA,KAAK,OAAOD,SAASC;QACzB,IAAI;YACF,OAAOD,SAAS,MAAMF;QACxB,EAAE,OAAOG,KAAK;YACZ,OAAOD,SAASC;QAClB;IACF;AACF;AAEA,eAAeN,YAAYI,SAAS"}
@@ -1,22 +1,32 @@
1
1
  import path from 'path';
2
2
  import Iterator from 'fs-iterator';
3
3
  import getTS from 'get-tsconfig-compat';
4
+ import Queue from 'queue-cb';
5
+ import { typeFileRegEx } from '../constants.mjs';
4
6
  import createMatcher from '../createMatcher.mjs';
5
- import transformFile from '../transformFile.mjs';
7
+ import transformFile from './transformFile.mjs';
8
+ const SKIPS = [
9
+ '.DS_Store'
10
+ ];
6
11
  export default function transformDirectoryWorker(src, dest, type, options, callback) {
7
12
  const tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);
8
13
  const matcher = createMatcher(tsconfig);
9
- options = {
10
- ...options,
11
- tsconfig
12
- };
14
+ const entries = [];
13
15
  const iterator = new Iterator(src);
14
- iterator.forEach((entry, cb)=>{
15
- if (!entry.stats.isFile()) return cb();
16
- if (!matcher(entry.fullPath)) return cb();
17
- transformFile(entry.fullPath, path.dirname(path.join(dest, entry.path)), type, options, cb);
18
- }, {
19
- callbacks: true,
20
- concurrency: options.concurrency || 1024
21
- }, callback);
16
+ iterator.forEach((entry)=>{
17
+ if (!entry.stats.isFile()) return;
18
+ if (!matcher(entry.fullPath)) return;
19
+ if (typeFileRegEx.test(entry.basename)) return;
20
+ if (SKIPS.indexOf(entry.basename) >= 0) return;
21
+ entries.push(entry);
22
+ }, (err)=>{
23
+ if (err) return callback(err);
24
+ options = {
25
+ ...options,
26
+ tsconfig
27
+ };
28
+ const queue = new Queue();
29
+ entries.forEach((entry)=>queue.defer(transformFile.bind(null, entry.fullPath, path.dirname(path.join(dest, entry.path)), type, options)));
30
+ queue.await(callback);
31
+ });
22
32
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport getTS from 'get-tsconfig-compat';\n\nimport createMatcher from '../createMatcher.js';\nimport transformFile from '../transformFile.js';\n\nexport default function transformDirectoryWorker(src, dest, type, options, callback) {\n const tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);\n const matcher = createMatcher(tsconfig);\n\n options = { ...options, tsconfig };\n const iterator = new Iterator(src);\n iterator.forEach(\n (entry, cb) => {\n if (!entry.stats.isFile()) return cb();\n if (!matcher(entry.fullPath)) return cb();\n transformFile(entry.fullPath, path.dirname(path.join(dest, entry.path)), type, options, cb);\n },\n { callbacks: true, concurrency: options.concurrency || 1024 },\n callback\n );\n}\n"],"names":["path","Iterator","getTS","createMatcher","transformFile","transformDirectoryWorker","src","dest","type","options","callback","tsconfig","getTsconfig","matcher","iterator","forEach","entry","cb","stats","isFile","fullPath","dirname","join","callbacks","concurrency"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,cAAc,cAAc;AACnC,OAAOC,WAAW,sBAAsB;AAExC,OAAOC,mBAAmB,sBAAsB;AAChD,OAAOC,mBAAmB,sBAAsB;AAEhD,eAAe,SAASC,yBAAyBC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACjF,MAAMC,WAAWF,QAAQE,QAAQ,GAAGF,QAAQE,QAAQ,GAAGT,MAAMU,WAAW,CAACN;IACzE,MAAMO,UAAUV,cAAcQ;IAE9BF,UAAU;QAAE,GAAGA,OAAO;QAAEE;IAAS;IACjC,MAAMG,WAAW,IAAIb,SAASK;IAC9BQ,SAASC,OAAO,CACd,CAACC,OAAOC;QACN,IAAI,CAACD,MAAME,KAAK,CAACC,MAAM,IAAI,OAAOF;QAClC,IAAI,CAACJ,QAAQG,MAAMI,QAAQ,GAAG,OAAOH;QACrCb,cAAcY,MAAMI,QAAQ,EAAEpB,KAAKqB,OAAO,CAACrB,KAAKsB,IAAI,CAACf,MAAMS,MAAMhB,IAAI,IAAIQ,MAAMC,SAASQ;IAC1F,GACA;QAAEM,WAAW;QAAMC,aAAaf,QAAQe,WAAW,IAAI;IAAK,GAC5Dd;AAEJ"}
1
+ {"version":3,"sources":["transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport Iterator from 'fs-iterator';\nimport getTS from 'get-tsconfig-compat';\nimport Queue from 'queue-cb';\n\nimport { typeFileRegEx } from '../constants.js';\nimport createMatcher from '../createMatcher.js';\nimport transformFile from './transformFile.js';\n\nconst SKIPS = ['.DS_Store'];\n\nexport default function transformDirectoryWorker(src, dest, type, options, callback) {\n const tsconfig = options.tsconfig ? options.tsconfig : getTS.getTsconfig(src);\n const matcher = createMatcher(tsconfig);\n\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\n options = { ...options, tsconfig };\n const queue = new Queue();\n entries.forEach((entry) => queue.defer(transformFile.bind(null, entry.fullPath, path.dirname(path.join(dest, entry.path)), type, options)));\n queue.await(callback);\n }\n );\n}\n"],"names":["path","Iterator","getTS","Queue","typeFileRegEx","createMatcher","transformFile","SKIPS","transformDirectoryWorker","src","dest","type","options","callback","tsconfig","getTsconfig","matcher","entries","iterator","forEach","entry","stats","isFile","fullPath","test","basename","indexOf","push","err","queue","defer","bind","dirname","join","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,cAAc,cAAc;AACnC,OAAOC,WAAW,sBAAsB;AACxC,OAAOC,WAAW,WAAW;AAE7B,SAASC,aAAa,QAAQ,kBAAkB;AAChD,OAAOC,mBAAmB,sBAAsB;AAChD,OAAOC,mBAAmB,qBAAqB;AAE/C,MAAMC,QAAQ;IAAC;CAAY;AAE3B,eAAe,SAASC,yBAAyBC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACjF,MAAMC,WAAWF,QAAQE,QAAQ,GAAGF,QAAQE,QAAQ,GAAGZ,MAAMa,WAAW,CAACN;IACzE,MAAMO,UAAUX,cAAcS;IAE9B,MAAMG,UAAU,EAAE;IAClB,MAAMC,WAAW,IAAIjB,SAASQ;IAC9BS,SAASC,OAAO,CACd,CAACC;QACC,IAAI,CAACA,MAAMC,KAAK,CAACC,MAAM,IAAI;QAC3B,IAAI,CAACN,QAAQI,MAAMG,QAAQ,GAAG;QAC9B,IAAInB,cAAcoB,IAAI,CAACJ,MAAMK,QAAQ,GAAG;QACxC,IAAIlB,MAAMmB,OAAO,CAACN,MAAMK,QAAQ,KAAK,GAAG;QACxCR,QAAQU,IAAI,CAACP;IACf,GACA,CAACQ;QACC,IAAIA,KAAK,OAAOf,SAASe;QAEzBhB,UAAU;YAAE,GAAGA,OAAO;YAAEE;QAAS;QACjC,MAAMe,QAAQ,IAAI1B;QAClBc,QAAQE,OAAO,CAAC,CAACC,QAAUS,MAAMC,KAAK,CAACxB,cAAcyB,IAAI,CAAC,MAAMX,MAAMG,QAAQ,EAAEvB,KAAKgC,OAAO,CAAChC,KAAKiC,IAAI,CAACvB,MAAMU,MAAMpB,IAAI,IAAIW,MAAMC;QACjIiB,MAAMK,KAAK,CAACrB;IACd;AAEJ"}
@@ -1,12 +1,15 @@
1
1
  import path from 'path';
2
2
  import * as transpiler from 'ts-node/transpilers/swc';
3
- import * as ts from 'typescript';
3
+ // @ts-ignore
4
+ import lazy from '../lib/lazy.cjs';
4
5
  // @ts-ignore
5
6
  import loadSWC from '../lib/loadSWC.mjs';
6
- export default function transformSyncWorker(contents, fileName, config, callback) {
7
+ const lazyTS = lazy('typescript');
8
+ export default function transformSyncWorker(contents, fileName, tsconfig, callback) {
7
9
  loadSWC((err, swc)=>{
8
10
  if (err) return callback(err);
9
- const parsed = ts.parseJsonConfigFileContent(config.config, ts.sys, path.dirname(config.path));
11
+ const ts = lazyTS();
12
+ const parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, path.dirname(tsconfig.path));
10
13
  const transpile = transpiler.create({
11
14
  swc: swc,
12
15
  service: {
@@ -1 +1 @@
1
- {"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nimport * as transpiler from 'ts-node/transpilers/swc';\nimport * as ts from 'typescript';\n// @ts-ignore\nimport loadSWC from '../lib/loadSWC.js';\n\nexport default function transformSyncWorker(contents: string, fileName: string, config: TsConfigResult, callback) {\n loadSWC((err, swc) => {\n if (err) return callback(err);\n const parsed = ts.parseJsonConfigFileContent(config.config, ts.sys, path.dirname(config.path));\n const transpile = transpiler.create({ swc: swc, service: { config: { options: parsed.options } } });\n const res = transpile.transpile(contents, { fileName });\n callback(null, { code: res.outputText, map: res.sourceMapText });\n });\n}\n"],"names":["path","transpiler","ts","loadSWC","transformSyncWorker","contents","fileName","config","callback","err","swc","parsed","parseJsonConfigFileContent","sys","dirname","transpile","create","service","options","res","code","outputText","map","sourceMapText"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AAExB,YAAYC,gBAAgB,0BAA0B;AACtD,YAAYC,QAAQ,aAAa;AACjC,aAAa;AACb,OAAOC,aAAa,oBAAoB;AAExC,eAAe,SAASC,oBAAoBC,QAAgB,EAAEC,QAAgB,EAAEC,MAAsB,EAAEC,QAAQ;IAC9GL,QAAQ,CAACM,KAAKC;QACZ,IAAID,KAAK,OAAOD,SAASC;QACzB,MAAME,SAAST,GAAGU,0BAA0B,CAACL,OAAOA,MAAM,EAAEL,GAAGW,GAAG,EAAEb,KAAKc,OAAO,CAACP,OAAOP,IAAI;QAC5F,MAAMe,YAAYd,WAAWe,MAAM,CAAC;YAAEN,KAAKA;YAAKO,SAAS;gBAAEV,QAAQ;oBAAEW,SAASP,OAAOO,OAAO;gBAAC;YAAE;QAAE;QACjG,MAAMC,MAAMJ,UAAUA,SAAS,CAACV,UAAU;YAAEC;QAAS;QACrDE,SAAS,MAAM;YAAEY,MAAMD,IAAIE,UAAU;YAAEC,KAAKH,IAAII,aAAa;QAAC;IAChE;AACF"}
1
+ {"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport type { TsConfigResult } from 'get-tsconfig-compat';\nimport * as transpiler from 'ts-node/transpilers/swc';\n// @ts-ignore\nimport lazy from '../lib/lazy.cjs';\n// @ts-ignore\nimport loadSWC from '../lib/loadSWC.js';\nconst lazyTS = lazy('typescript');\n\nexport default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult, callback) {\n loadSWC((err, swc) => {\n if (err) return callback(err);\n const ts = lazyTS();\n const parsed = ts.parseJsonConfigFileContent(tsconfig.config, ts.sys, path.dirname(tsconfig.path));\n const transpile = transpiler.create({ swc: swc, service: { config: { options: parsed.options } } });\n const res = transpile.transpile(contents, { fileName });\n callback(null, { code: res.outputText, map: res.sourceMapText });\n });\n}\n"],"names":["path","transpiler","lazy","loadSWC","lazyTS","transformSyncWorker","contents","fileName","tsconfig","callback","err","swc","ts","parsed","parseJsonConfigFileContent","config","sys","dirname","transpile","create","service","options","res","code","outputText","map","sourceMapText"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AAExB,YAAYC,gBAAgB,0BAA0B;AACtD,aAAa;AACb,OAAOC,UAAU,kBAAkB;AACnC,aAAa;AACb,OAAOC,aAAa,oBAAoB;AACxC,MAAMC,SAASF,KAAK;AAEpB,eAAe,SAASG,oBAAoBC,QAAgB,EAAEC,QAAgB,EAAEC,QAAwB,EAAEC,QAAQ;IAChHN,QAAQ,CAACO,KAAKC;QACZ,IAAID,KAAK,OAAOD,SAASC;QACzB,MAAME,KAAKR;QACX,MAAMS,SAASD,GAAGE,0BAA0B,CAACN,SAASO,MAAM,EAAEH,GAAGI,GAAG,EAAEhB,KAAKiB,OAAO,CAACT,SAASR,IAAI;QAChG,MAAMkB,YAAYjB,WAAWkB,MAAM,CAAC;YAAER,KAAKA;YAAKS,SAAS;gBAAEL,QAAQ;oBAAEM,SAASR,OAAOQ,OAAO;gBAAC;YAAE;QAAE;QACjG,MAAMC,MAAMJ,UAAUA,SAAS,CAACZ,UAAU;YAAEC;QAAS;QACrDE,SAAS,MAAM;YAAEc,MAAMD,IAAIE,UAAU;YAAEC,KAAKH,IAAII,aAAa;QAAC;IAChE;AACF"}
@@ -2,7 +2,7 @@ import type { TsConfigResult } from 'get-tsconfig-compat';
2
2
  /**
3
3
  * @param {string} contents The file contents.
4
4
  * @param {string} fileName The filename.
5
- * @param {TsConfigResult} config The configuration.
5
+ * @param {TsConfigResult} tsconfig The configuration.
6
6
  * @returns {{ code: string, map?: string }} Returns object with the transformed code and source map if option sourceMaps was provided.
7
7
  */
8
- export default function transformSync(contents: string, fileName: string, config: TsConfigResult): any;
8
+ export default function transformSync(contents: string, fileName: string, tsconfig: TsConfigResult): any;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @param {string} src The source directory to traverse.
3
+ * @param {string} dest The output directory to write files to.
4
+ * @param {string} type The type of transform ('esm' or 'cjs').
5
+ * @param {{sourceMaps: boolean}} options Options to pass to swc.
6
+ * @param {(err?: Error) =>} [callback] Optional callback. Uses promise if callback not provided.
7
+ * @returns {void | Promise<any>} Optional promise if callback not provided.
8
+ */
9
+ export default function transformDirectory(src: any, dest: any, type: any, options: any, callback: any): void | Promise<unknown>;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @param {string} src The source directory to traverse.
3
+ * @param {string} dest The output directory to write files to.
4
+ * @param {string} type The type of transform ('esm' or 'cjs').
5
+ * @param {{sourceMaps: boolean}} options Options to pass to swc.
6
+ * @param {(err?: Error) =>} [callback] Optional callback. Uses promise if callback not provided.
7
+ * @returns {void | Promise<any>} Optional promise if callback not provided.
8
+ */
9
+ export default function transformFile(src: any, dest: any, type: any, options: any, callback: any): void | Promise<unknown>;
@@ -0,0 +1 @@
1
+ export { default } from '../cjs/transformSync.js';
@@ -0,0 +1,8 @@
1
+ export type * from './types.js';
2
+ export { default as createMatcher } from './createMatcher.js';
3
+ export { default as extensions } from './extensions.js';
4
+ export { default as resolveFileSync } from './resolveFileSync.js';
5
+ export { default as toPath } from './toPath.js';
6
+ export { default as transformFile } from './cjs/transformFile.js';
7
+ export { default as transformDirectory } from './cjs/transformDirectory.js';
8
+ export { default as transformSync } from './cjs/transformSync.js';
@@ -3,6 +3,6 @@ export { default as createMatcher } from './createMatcher.js';
3
3
  export { default as extensions } from './extensions.js';
4
4
  export { default as resolveFileSync } from './resolveFileSync.js';
5
5
  export { default as toPath } from './toPath.js';
6
- export { default as transformFile } from './transformFile.js';
7
- export { default as transformDirectory } from './transformDirectory.js';
8
- export { default as transformSync } from './transformSync.js';
6
+ export { default as transformFile } from './esm/transformFile.js';
7
+ export { default as transformDirectory } from './esm/transformDirectory.js';
8
+ export { default as transformSync } from './esm/transformSync.js';
@@ -1 +1,3 @@
1
- export default function existsSync(path: any): boolean;
1
+ import fs from 'fs';
2
+ declare const _default: typeof fs.existsSync;
3
+ export default _default;
@@ -0,0 +1 @@
1
+ export default function installModule(installString: any, installedAt: any, callback: any): void;
@@ -0,0 +1,2 @@
1
+ export type EnsureCachedCallback = (err?: Error) => void;
2
+ export default function ensureCached(installString: string, cachedAt: string, callback: EnsureCachedCallback): void;
@@ -0,0 +1,4 @@
1
+ export default function parseInstallString(installString: string): {
2
+ name: string;
3
+ version: string;
4
+ };
@@ -1 +1,2 @@
1
- export default function loadSWC(callback: any): any;
1
+ declare const _default: any;
2
+ 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, config: TsConfigResult, callback: any): void;
2
+ export default function transformSyncWorker(contents: string, fileName: string, tsconfig: TsConfigResult, callback: any): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-swc-transform",
3
- "version": "1.4.3",
3
+ "version": "1.5.1",
4
4
  "description": "Typescript transformers for swc. Supports Node >= 0.8",
5
5
  "keywords": [
6
6
  "matcher",
@@ -24,12 +24,12 @@
24
24
  "exports": {
25
25
  ".": {
26
26
  "import": "./dist/esm/index.mjs",
27
- "require": "./dist/cjs/index.js",
27
+ "require": "./dist/cjs/index.cjs.js",
28
28
  "types": "./dist/types/index.d.ts"
29
29
  },
30
30
  "./*": "./*"
31
31
  },
32
- "main": "dist/cjs/index.js",
32
+ "main": "dist/cjs/index.cjs.js",
33
33
  "module": "dist/dist/esm/index.mjs",
34
34
  "types": "dist/types/index.d.ts",
35
35
  "bin": {
@@ -52,7 +52,7 @@
52
52
  "call-once-fn": "^1.0.1",
53
53
  "cross-spawn-cb": "^1.1.3",
54
54
  "exit": "^0.1.2",
55
- "fs-access-sync-compat": "^1.0.2",
55
+ "fs-access-compat": "^1.0.3",
56
56
  "fs-iterator": "^5.1.1",
57
57
  "get-tsconfig-compat": "^1.1.1",
58
58
  "is-absolute": "^1.0.0",
@@ -63,6 +63,7 @@
63
63
  "path-posix": "^1.0.0",
64
64
  "queue-cb": "^1.4.4",
65
65
  "resolve": "^1.22.10",
66
+ "resolve-once-cb": "^0.1.2",
66
67
  "rimraf2": "^2.8.2",
67
68
  "temp-suffix": "^0.1.1",
68
69
  "ts-node": "*",
@@ -77,7 +78,7 @@
77
78
  "core-js": "^3.39.0",
78
79
  "cr": "^0.1.0",
79
80
  "react": "^19.0.0",
80
- "ts-dev-stack": "^1.4.4",
81
+ "ts-dev-stack": "^1.4.6",
81
82
  "ts-node": "^10.8.2",
82
83
  "typescript": "^5.7.2"
83
84
  },
@@ -1 +0,0 @@
1
- {"version":3,"sources":["transformVersion.ts"],"sourcesContent":["// @ts-ignore\nimport process from './process.cjs';\n\nconst major = +process.versions.node.split('.')[0];\nexport default major < 14 ? '14' : 'local';\n"],"names":["major","process","versions","node","split"],"mappings":"AAAA,aAAa;;;;;+BAIb;;;eAAA;;;iEAHoB;;;;;;AAEpB,IAAMA,QAAQ,CAACC,mBAAO,CAACC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;IAClD,WAAeJ,QAAQ,KAAK,OAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\nimport packageRoot from './lib/packageRoot.js';\nimport version from './lib/transformVersion.js';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst root = packageRoot(__dirname);\nconst worker = path.resolve(root, 'dist', 'cjs', 'workers', 'transformDirectory.js');\nconst call = lazy('node-version-call');\n\nfunction transformDirectoryCallback(src, dest, type, options, callback) {\n try {\n const res = call()({ version, callbacks: true }, worker, src, dest, type, options);\n return callback(null, res);\n } catch (err) {\n return callback(err);\n }\n}\n\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write files to.\n * @param {string} type The type of transform ('esm' or 'cjs').\n * @param {{sourceMaps: boolean}} options Options to pass to swc.\n * @param {(err?: Error) =>} [callback] Optional callback. Uses promise if callback not provided.\n * @returns {void | Promise<any>} Optional promise if callback not provided.\n */\nexport default function transformDirectory(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n if (typeof src !== 'string') throw new Error('transformDirectory: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformDirectory: unexpected destination directory');\n if (typeof type !== 'string') throw new Error('transformDirectory: unexpected type');\n\n if (typeof callback === 'function') return transformDirectoryCallback(src, dest, type, options, callback);\n return new Promise((resolve, reject) => {\n transformDirectoryCallback(src, dest, type, options, function compileCallback(err, result) {\n err ? reject(err) : resolve(result);\n });\n });\n}\n"],"names":["transformDirectory","__dirname","path","dirname","__filename","url","fileURLToPath","root","packageRoot","worker","resolve","call","lazy","transformDirectoryCallback","src","dest","type","options","callback","res","version","callbacks","err","Error","Promise","reject","compileCallback","result"],"mappings":";;;;+BAsBA;;;;;;;CAOC,GACD;;;eAAwBA;;;2DA9BP;0DACD;8DAGC;kEACO;uEACJ;;;;;;AAEpB,IAAMC,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaC,YAAG,CAACC,aAAa,CAAC;AAClG,IAAMC,OAAOC,IAAAA,oBAAW,EAACP;AACzB,IAAMQ,SAASP,aAAI,CAACQ,OAAO,CAACH,MAAM,QAAQ,OAAO,WAAW;AAC5D,IAAMI,OAAOC,IAAAA,gBAAI,EAAC;AAElB,SAASC,2BAA2BC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACpE,IAAI;QACF,IAAMC,MAAMR,OAAO;YAAES,SAAAA,yBAAO;YAAEC,WAAW;QAAK,GAAGZ,QAAQK,KAAKC,MAAMC,MAAMC;QAC1E,OAAOC,SAAS,MAAMC;IACxB,EAAE,OAAOG,KAAK;QACZ,OAAOJ,SAASI;IAClB;AACF;AAUe,SAAStB,mBAAmBc,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC3E,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IACtB,IAAI,OAAOH,QAAQ,UAAU,MAAM,IAAIS,MAAM;IAC7C,IAAI,OAAOR,SAAS,UAAU,MAAM,IAAIQ,MAAM;IAC9C,IAAI,OAAOP,SAAS,UAAU,MAAM,IAAIO,MAAM;IAE9C,IAAI,OAAOL,aAAa,YAAY,OAAOL,2BAA2BC,KAAKC,MAAMC,MAAMC,SAASC;IAChG,OAAO,IAAIM,QAAQ,SAACd,SAASe;QAC3BZ,2BAA2BC,KAAKC,MAAMC,MAAMC,SAAS,SAASS,gBAAgBJ,GAAG,EAAEK,MAAM;YACvFL,MAAMG,OAAOH,OAAOZ,QAAQiB;QAC9B;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["transformFile.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\nimport packageRoot from './lib/packageRoot.js';\nimport version from './lib/transformVersion.js';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst root = packageRoot(__dirname);\nconst worker = path.resolve(root, 'dist', 'cjs', 'workers', 'transformFile.js');\nconst call = lazy('node-version-call');\n\nfunction transformFileCallback(src, dest, type, options, callback) {\n try {\n const res = call()({ version, callbacks: true }, worker, src, dest, type, options);\n return callback(null, res);\n } catch (err) {\n return callback(err);\n }\n}\n\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write files to.\n * @param {string} type The type of transform ('esm' or 'cjs').\n * @param {{sourceMaps: boolean}} options Options to pass to swc.\n * @param {(err?: Error) =>} [callback] Optional callback. Uses promise if callback not provided.\n * @returns {void | Promise<any>} Optional promise if callback not provided.\n */\nexport default function transformFile(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n if (typeof src !== 'string') throw new Error('transformFile: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformFile: unexpected destination directory');\n if (typeof type !== 'string') throw new Error('transformFile: unexpected type');\n\n if (typeof callback === 'function') return transformFileCallback(src, dest, type, options, callback);\n return new Promise((resolve, reject) => {\n transformFileCallback(src, dest, type, options, function compileCallback(err, result) {\n err ? reject(err) : resolve(result);\n });\n });\n}\n"],"names":["transformFile","__dirname","path","dirname","__filename","url","fileURLToPath","root","packageRoot","worker","resolve","call","lazy","transformFileCallback","src","dest","type","options","callback","res","version","callbacks","err","Error","Promise","reject","compileCallback","result"],"mappings":";;;;+BAsBA;;;;;;;CAOC,GACD;;;eAAwBA;;;2DA9BP;0DACD;8DAGC;kEACO;uEACJ;;;;;;AAEpB,IAAMC,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaC,YAAG,CAACC,aAAa,CAAC;AAClG,IAAMC,OAAOC,IAAAA,oBAAW,EAACP;AACzB,IAAMQ,SAASP,aAAI,CAACQ,OAAO,CAACH,MAAM,QAAQ,OAAO,WAAW;AAC5D,IAAMI,OAAOC,IAAAA,gBAAI,EAAC;AAElB,SAASC,sBAAsBC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC/D,IAAI;QACF,IAAMC,MAAMR,OAAO;YAAES,SAAAA,yBAAO;YAAEC,WAAW;QAAK,GAAGZ,QAAQK,KAAKC,MAAMC,MAAMC;QAC1E,OAAOC,SAAS,MAAMC;IACxB,EAAE,OAAOG,KAAK;QACZ,OAAOJ,SAASI;IAClB;AACF;AAUe,SAAStB,cAAcc,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACtE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IACtB,IAAI,OAAOH,QAAQ,UAAU,MAAM,IAAIS,MAAM;IAC7C,IAAI,OAAOR,SAAS,UAAU,MAAM,IAAIQ,MAAM;IAC9C,IAAI,OAAOP,SAAS,UAAU,MAAM,IAAIO,MAAM;IAE9C,IAAI,OAAOL,aAAa,YAAY,OAAOL,sBAAsBC,KAAKC,MAAMC,MAAMC,SAASC;IAC3F,OAAO,IAAIM,QAAQ,SAACd,SAASe;QAC3BZ,sBAAsBC,KAAKC,MAAMC,MAAMC,SAAS,SAASS,gBAAgBJ,GAAG,EAAEK,MAAM;YAClFL,MAAMG,OAAOH,OAAOZ,QAAQiB;QAC9B;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport type { TsConfigResult } from 'get-tsconfig-compat';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\nimport packageRoot from './lib/packageRoot.js';\nimport version from './lib/transformVersion.js';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst root = packageRoot(__dirname);\nconst worker = path.resolve(root, 'dist', 'cjs', 'workers', 'transformSync.js');\nconst call = lazy('node-version-call');\n\n/**\n * @param {string} contents The file contents.\n * @param {string} fileName The filename.\n * @param {TsConfigResult} config 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, config: TsConfigResult) {\n return call()({ version, callbacks: true }, worker, contents, fileName, config);\n}\n"],"names":["transformSync","__dirname","path","dirname","__filename","url","fileURLToPath","root","packageRoot","worker","resolve","call","lazy","contents","fileName","config","version","callbacks"],"mappings":";;;;+BAcA;;;;;CAKC,GACD;;;eAAwBA;;;2DApBP;0DACD;8DAIC;kEACO;uEACJ;;;;;;AAEpB,IAAMC,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaC,YAAG,CAACC,aAAa,CAAC;AAClG,IAAMC,OAAOC,IAAAA,oBAAW,EAACP;AACzB,IAAMQ,SAASP,aAAI,CAACQ,OAAO,CAACH,MAAM,QAAQ,OAAO,WAAW;AAC5D,IAAMI,OAAOC,IAAAA,gBAAI,EAAC;AAQH,SAASZ,cAAca,QAAgB,EAAEC,QAAgB,EAAEC,MAAsB;IAC9F,OAAOJ,OAAO;QAAEK,SAAAA,yBAAO;QAAEC,WAAW;IAAK,GAAGR,QAAQI,UAAUC,UAAUC;AAC1E"}
@@ -1,4 +0,0 @@
1
- // @ts-ignore
2
- import process from './process.cjs';
3
- const major = +process.versions.node.split('.')[0];
4
- export default major < 14 ? '14' : 'local';
@@ -1 +0,0 @@
1
- {"version":3,"sources":["transformVersion.ts"],"sourcesContent":["// @ts-ignore\nimport process from './process.cjs';\n\nconst major = +process.versions.node.split('.')[0];\nexport default major < 14 ? '14' : 'local';\n"],"names":["process","major","versions","node","split"],"mappings":"AAAA,aAAa;AACb,OAAOA,aAAa,gBAAgB;AAEpC,MAAMC,QAAQ,CAACD,QAAQE,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,eAAeH,QAAQ,KAAK,OAAO,QAAQ"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["transformDirectory.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\nimport packageRoot from './lib/packageRoot.js';\nimport version from './lib/transformVersion.js';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst root = packageRoot(__dirname);\nconst worker = path.resolve(root, 'dist', 'cjs', 'workers', 'transformDirectory.js');\nconst call = lazy('node-version-call');\n\nfunction transformDirectoryCallback(src, dest, type, options, callback) {\n try {\n const res = call()({ version, callbacks: true }, worker, src, dest, type, options);\n return callback(null, res);\n } catch (err) {\n return callback(err);\n }\n}\n\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write files to.\n * @param {string} type The type of transform ('esm' or 'cjs').\n * @param {{sourceMaps: boolean}} options Options to pass to swc.\n * @param {(err?: Error) =>} [callback] Optional callback. Uses promise if callback not provided.\n * @returns {void | Promise<any>} Optional promise if callback not provided.\n */\nexport default function transformDirectory(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n if (typeof src !== 'string') throw new Error('transformDirectory: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformDirectory: unexpected destination directory');\n if (typeof type !== 'string') throw new Error('transformDirectory: unexpected type');\n\n if (typeof callback === 'function') return transformDirectoryCallback(src, dest, type, options, callback);\n return new Promise((resolve, reject) => {\n transformDirectoryCallback(src, dest, type, options, function compileCallback(err, result) {\n err ? reject(err) : resolve(result);\n });\n });\n}\n"],"names":["path","url","lazy","packageRoot","version","__dirname","dirname","__filename","fileURLToPath","root","worker","resolve","call","transformDirectoryCallback","src","dest","type","options","callback","res","callbacks","err","transformDirectory","Error","Promise","reject","compileCallback","result"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAEtB,aAAa;AACb,OAAOC,UAAU,iBAAiB;AAClC,OAAOC,iBAAiB,uBAAuB;AAC/C,OAAOC,aAAa,4BAA4B;AAEhD,MAAMC,YAAYL,KAAKM,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaN,IAAIO,aAAa,CAAC,YAAYP,GAAG;AACjH,MAAMQ,OAAON,YAAYE;AACzB,MAAMK,SAASV,KAAKW,OAAO,CAACF,MAAM,QAAQ,OAAO,WAAW;AAC5D,MAAMG,OAAOV,KAAK;AAElB,SAASW,2BAA2BC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACpE,IAAI;QACF,MAAMC,MAAMP,OAAO;YAAER;YAASgB,WAAW;QAAK,GAAGV,QAAQI,KAAKC,MAAMC,MAAMC;QAC1E,OAAOC,SAAS,MAAMC;IACxB,EAAE,OAAOE,KAAK;QACZ,OAAOH,SAASG;IAClB;AACF;AAEA;;;;;;;CAOC,GACD,eAAe,SAASC,mBAAmBR,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC3E,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IACtB,IAAI,OAAOH,QAAQ,UAAU,MAAM,IAAIS,MAAM;IAC7C,IAAI,OAAOR,SAAS,UAAU,MAAM,IAAIQ,MAAM;IAC9C,IAAI,OAAOP,SAAS,UAAU,MAAM,IAAIO,MAAM;IAE9C,IAAI,OAAOL,aAAa,YAAY,OAAOL,2BAA2BC,KAAKC,MAAMC,MAAMC,SAASC;IAChG,OAAO,IAAIM,QAAQ,CAACb,SAASc;QAC3BZ,2BAA2BC,KAAKC,MAAMC,MAAMC,SAAS,SAASS,gBAAgBL,GAAG,EAAEM,MAAM;YACvFN,MAAMI,OAAOJ,OAAOV,QAAQgB;QAC9B;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["transformFile.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\nimport packageRoot from './lib/packageRoot.js';\nimport version from './lib/transformVersion.js';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst root = packageRoot(__dirname);\nconst worker = path.resolve(root, 'dist', 'cjs', 'workers', 'transformFile.js');\nconst call = lazy('node-version-call');\n\nfunction transformFileCallback(src, dest, type, options, callback) {\n try {\n const res = call()({ version, callbacks: true }, worker, src, dest, type, options);\n return callback(null, res);\n } catch (err) {\n return callback(err);\n }\n}\n\n/**\n * @param {string} src The source directory to traverse.\n * @param {string} dest The output directory to write files to.\n * @param {string} type The type of transform ('esm' or 'cjs').\n * @param {{sourceMaps: boolean}} options Options to pass to swc.\n * @param {(err?: Error) =>} [callback] Optional callback. Uses promise if callback not provided.\n * @returns {void | Promise<any>} Optional promise if callback not provided.\n */\nexport default function transformFile(src, dest, type, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n if (typeof src !== 'string') throw new Error('transformFile: unexpected source');\n if (typeof dest !== 'string') throw new Error('transformFile: unexpected destination directory');\n if (typeof type !== 'string') throw new Error('transformFile: unexpected type');\n\n if (typeof callback === 'function') return transformFileCallback(src, dest, type, options, callback);\n return new Promise((resolve, reject) => {\n transformFileCallback(src, dest, type, options, function compileCallback(err, result) {\n err ? reject(err) : resolve(result);\n });\n });\n}\n"],"names":["path","url","lazy","packageRoot","version","__dirname","dirname","__filename","fileURLToPath","root","worker","resolve","call","transformFileCallback","src","dest","type","options","callback","res","callbacks","err","transformFile","Error","Promise","reject","compileCallback","result"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAEtB,aAAa;AACb,OAAOC,UAAU,iBAAiB;AAClC,OAAOC,iBAAiB,uBAAuB;AAC/C,OAAOC,aAAa,4BAA4B;AAEhD,MAAMC,YAAYL,KAAKM,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaN,IAAIO,aAAa,CAAC,YAAYP,GAAG;AACjH,MAAMQ,OAAON,YAAYE;AACzB,MAAMK,SAASV,KAAKW,OAAO,CAACF,MAAM,QAAQ,OAAO,WAAW;AAC5D,MAAMG,OAAOV,KAAK;AAElB,SAASW,sBAAsBC,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC/D,IAAI;QACF,MAAMC,MAAMP,OAAO;YAAER;YAASgB,WAAW;QAAK,GAAGV,QAAQI,KAAKC,MAAMC,MAAMC;QAC1E,OAAOC,SAAS,MAAMC;IACxB,EAAE,OAAOE,KAAK;QACZ,OAAOH,SAASG;IAClB;AACF;AAEA;;;;;;;CAOC,GACD,eAAe,SAASC,cAAcR,GAAG,EAAEC,IAAI,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACtE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IACtB,IAAI,OAAOH,QAAQ,UAAU,MAAM,IAAIS,MAAM;IAC7C,IAAI,OAAOR,SAAS,UAAU,MAAM,IAAIQ,MAAM;IAC9C,IAAI,OAAOP,SAAS,UAAU,MAAM,IAAIO,MAAM;IAE9C,IAAI,OAAOL,aAAa,YAAY,OAAOL,sBAAsBC,KAAKC,MAAMC,MAAMC,SAASC;IAC3F,OAAO,IAAIM,QAAQ,CAACb,SAASc;QAC3BZ,sBAAsBC,KAAKC,MAAMC,MAAMC,SAAS,SAASS,gBAAgBL,GAAG,EAAEM,MAAM;YAClFN,MAAMI,OAAOJ,OAAOV,QAAQgB;QAC9B;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["transformSync.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport type { TsConfigResult } from 'get-tsconfig-compat';\n\n// @ts-ignore\nimport lazy from './lib/lazy.cjs';\nimport packageRoot from './lib/packageRoot.js';\nimport version from './lib/transformVersion.js';\n\nconst __dirname = path.dirname(typeof __filename !== 'undefined' ? __filename : url.fileURLToPath(import.meta.url));\nconst root = packageRoot(__dirname);\nconst worker = path.resolve(root, 'dist', 'cjs', 'workers', 'transformSync.js');\nconst call = lazy('node-version-call');\n\n/**\n * @param {string} contents The file contents.\n * @param {string} fileName The filename.\n * @param {TsConfigResult} config 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, config: TsConfigResult) {\n return call()({ version, callbacks: true }, worker, contents, fileName, config);\n}\n"],"names":["path","url","lazy","packageRoot","version","__dirname","dirname","__filename","fileURLToPath","root","worker","resolve","call","transformSync","contents","fileName","config","callbacks"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AAGtB,aAAa;AACb,OAAOC,UAAU,iBAAiB;AAClC,OAAOC,iBAAiB,uBAAuB;AAC/C,OAAOC,aAAa,4BAA4B;AAEhD,MAAMC,YAAYL,KAAKM,OAAO,CAAC,OAAOC,eAAe,cAAcA,aAAaN,IAAIO,aAAa,CAAC,YAAYP,GAAG;AACjH,MAAMQ,OAAON,YAAYE;AACzB,MAAMK,SAASV,KAAKW,OAAO,CAACF,MAAM,QAAQ,OAAO,WAAW;AAC5D,MAAMG,OAAOV,KAAK;AAElB;;;;;CAKC,GACD,eAAe,SAASW,cAAcC,QAAgB,EAAEC,QAAgB,EAAEC,MAAsB;IAC9F,OAAOJ,OAAO;QAAER;QAASa,WAAW;IAAK,GAAGP,QAAQI,UAAUC,UAAUC;AAC1E"}
@@ -1,2 +0,0 @@
1
- declare const _default: "14" | "local";
2
- export default _default;