node-install-release 1.18.4 → 1.18.6

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 (104) hide show
  1. package/dist/cjs/cli.d.cts +0 -0
  2. package/dist/cjs/cli.d.ts +0 -0
  3. package/dist/cjs/cli.js +1 -1
  4. package/dist/cjs/cli.js.map +1 -1
  5. package/dist/cjs/compat.d.cts +1 -0
  6. package/dist/cjs/compat.d.ts +1 -0
  7. package/dist/cjs/compat.js +14 -3
  8. package/dist/cjs/compat.js.map +1 -1
  9. package/dist/cjs/constants.js.map +1 -1
  10. package/dist/cjs/createResult.js.map +1 -1
  11. package/dist/cjs/index.js +3 -1
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/installNPM/index.js.map +1 -1
  14. package/dist/cjs/installNPM/installBin.js +6 -1
  15. package/dist/cjs/installNPM/installBin.js.map +1 -1
  16. package/dist/cjs/installNPM/installLib.d.cts +1 -1
  17. package/dist/cjs/installNPM/installLib.d.ts +1 -1
  18. package/dist/cjs/installNPM/installLib.js +16 -6
  19. package/dist/cjs/installNPM/installLib.js.map +1 -1
  20. package/dist/cjs/installNode/index.js +9 -8
  21. package/dist/cjs/installNode/index.js.map +1 -1
  22. package/dist/cjs/installNode/installCompressed.js +5 -1
  23. package/dist/cjs/installNode/installCompressed.js.map +1 -1
  24. package/dist/cjs/installNode/installExe.js +15 -3
  25. package/dist/cjs/installNode/installExe.js.map +1 -1
  26. package/dist/cjs/installNode/installSource/buildPosix.js +20 -12
  27. package/dist/cjs/installNode/installSource/buildPosix.js.map +1 -1
  28. package/dist/cjs/installNode/installSource/buildWin32.js +18 -6
  29. package/dist/cjs/installNode/installSource/buildWin32.js.map +1 -1
  30. package/dist/cjs/installNode/installSource/index.js +20 -4
  31. package/dist/cjs/installNode/installSource/index.js.map +1 -1
  32. package/dist/cjs/installNode/validateDownload.js +4 -3
  33. package/dist/cjs/installNode/validateDownload.js.map +1 -1
  34. package/dist/cjs/lib/checkMissing.d.cts +1 -1
  35. package/dist/cjs/lib/checkMissing.d.ts +1 -1
  36. package/dist/cjs/lib/checkMissing.js +1 -1
  37. package/dist/cjs/lib/checkMissing.js.map +1 -1
  38. package/dist/cjs/lib/conditionalCache.js +4 -2
  39. package/dist/cjs/lib/conditionalCache.js.map +1 -1
  40. package/dist/cjs/lib/conditionalCopy.js +3 -1
  41. package/dist/cjs/lib/conditionalCopy.js.map +1 -1
  42. package/dist/cjs/lib/copyFile.d.cts +1 -1
  43. package/dist/cjs/lib/copyFile.d.ts +1 -1
  44. package/dist/cjs/lib/copyFile.js +9 -3
  45. package/dist/cjs/lib/copyFile.js.map +1 -1
  46. package/dist/cjs/lib/ensureDestinationParent.js +3 -1
  47. package/dist/cjs/lib/ensureDestinationParent.js.map +1 -1
  48. package/dist/cjs/lib/extract.js +5 -1
  49. package/dist/cjs/lib/extract.js.map +1 -1
  50. package/dist/cjs/lib/getTarget.js.map +1 -1
  51. package/dist/cjs/types.d.cts +3 -3
  52. package/dist/cjs/types.d.ts +3 -3
  53. package/dist/cjs/workers/install.js +19 -18
  54. package/dist/cjs/workers/install.js.map +1 -1
  55. package/dist/esm/cli.d.ts +0 -0
  56. package/dist/esm/cli.js +1 -1
  57. package/dist/esm/cli.js.map +1 -1
  58. package/dist/esm/compat.d.ts +1 -0
  59. package/dist/esm/compat.js +3 -0
  60. package/dist/esm/compat.js.map +1 -1
  61. package/dist/esm/constants.js.map +1 -1
  62. package/dist/esm/createResult.js.map +1 -1
  63. package/dist/esm/index.js +5 -1
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/installNPM/index.js.map +1 -1
  66. package/dist/esm/installNPM/installBin.js +4 -1
  67. package/dist/esm/installNPM/installBin.js.map +1 -1
  68. package/dist/esm/installNPM/installLib.d.ts +1 -1
  69. package/dist/esm/installNPM/installLib.js +8 -6
  70. package/dist/esm/installNPM/installLib.js.map +1 -1
  71. package/dist/esm/installNode/index.js +6 -5
  72. package/dist/esm/installNode/index.js.map +1 -1
  73. package/dist/esm/installNode/installCompressed.js +1 -1
  74. package/dist/esm/installNode/installCompressed.js.map +1 -1
  75. package/dist/esm/installNode/installExe.js +3 -3
  76. package/dist/esm/installNode/installExe.js.map +1 -1
  77. package/dist/esm/installNode/installSource/buildPosix.js +12 -12
  78. package/dist/esm/installNode/installSource/buildPosix.js.map +1 -1
  79. package/dist/esm/installNode/installSource/buildWin32.js +13 -5
  80. package/dist/esm/installNode/installSource/buildWin32.js.map +1 -1
  81. package/dist/esm/installNode/installSource/index.js +4 -4
  82. package/dist/esm/installNode/installSource/index.js.map +1 -1
  83. package/dist/esm/installNode/validateDownload.js +4 -3
  84. package/dist/esm/installNode/validateDownload.js.map +1 -1
  85. package/dist/esm/lib/checkMissing.d.ts +1 -1
  86. package/dist/esm/lib/checkMissing.js +1 -1
  87. package/dist/esm/lib/checkMissing.js.map +1 -1
  88. package/dist/esm/lib/conditionalCache.js +2 -2
  89. package/dist/esm/lib/conditionalCache.js.map +1 -1
  90. package/dist/esm/lib/conditionalCopy.js +1 -1
  91. package/dist/esm/lib/conditionalCopy.js.map +1 -1
  92. package/dist/esm/lib/copyFile.d.ts +1 -1
  93. package/dist/esm/lib/copyFile.js +2 -4
  94. package/dist/esm/lib/copyFile.js.map +1 -1
  95. package/dist/esm/lib/ensureDestinationParent.js +1 -1
  96. package/dist/esm/lib/ensureDestinationParent.js.map +1 -1
  97. package/dist/esm/lib/extract.js +1 -1
  98. package/dist/esm/lib/extract.js.map +1 -1
  99. package/dist/esm/lib/getTarget.js.map +1 -1
  100. package/dist/esm/types.d.ts +3 -3
  101. package/dist/esm/types.js.map +1 -1
  102. package/dist/esm/workers/install.js +11 -16
  103. package/dist/esm/workers/install.js.map +1 -1
  104. package/package.json +4 -1
@@ -5,6 +5,7 @@ import { getDist } from 'node-filename-to-dist-paths';
5
5
  import oo from 'on-one';
6
6
  import path from 'path';
7
7
  import Queue from 'queue-cb';
8
+ import { tmpdir } from '../compat.js';
8
9
  import { NPM_DIST_TAGS_URL, NPM_DIST_URL, NPM_MIN_VERSION } from '../constants.js';
9
10
  import conditionalCache from '../lib/conditionalCache.js';
10
11
  import extract from '../lib/extract.js';
@@ -19,7 +20,7 @@ function calculateChecksum(filePath, callback) {
19
20
  'finish'
20
21
  ], (err)=>{
21
22
  if (err) return callback(err);
22
- callback(null, hash.digest('hex'));
23
+ callback(undefined, hash.digest('hex'));
23
24
  });
24
25
  }
25
26
  export default function installLib(version, dest, options, callback) {
@@ -32,22 +33,23 @@ export default function installLib(version, dest, options, callback) {
32
33
  getContent(NPM_DIST_TAGS_URL, 'utf8', (err, res)=>{
33
34
  if (err) return callback(err);
34
35
  try {
35
- const distTags = JSON.parse(res.content);
36
+ var _ref, _options_cachePath;
37
+ const distTags = JSON.parse((_ref = res === null || res === void 0 ? void 0 : res.content) !== null && _ref !== void 0 ? _ref : '{}');
36
38
  const npmVersion = distTags[`latest-${npmMajor}`] || distTags[`next-${npmMajor}`] || distTags.latest;
37
39
  const downloadPath = `${NPM_DIST_URL}/-/npm-${npmVersion}.tgz`;
38
- const cachePath = path.join(options.cachePath, path.basename(downloadPath));
40
+ const cachePath = path.join((_options_cachePath = options.cachePath) !== null && _options_cachePath !== void 0 ? _options_cachePath : tmpdir(), path.basename(downloadPath));
39
41
  let checksum;
40
42
  const queue = new Queue(1);
41
- queue.defer(conditionalCache.bind(null, downloadPath, cachePath));
43
+ queue.defer((cb)=>conditionalCache(downloadPath, cachePath, options, (err)=>cb(err)));
42
44
  queue.defer((cb)=>{
43
45
  calculateChecksum(cachePath, (err, hash)=>{
44
46
  checksum = hash;
45
47
  cb(err);
46
48
  });
47
49
  });
48
- queue.defer(extract.bind(null, cachePath, installPath));
50
+ queue.defer((cb)=>extract(cachePath, installPath, (err)=>cb(err)));
49
51
  queue.await((err)=>{
50
- err ? callback(err) : callback(null, npmVersion, checksum);
52
+ err ? callback(err) : callback(undefined, npmVersion, checksum);
51
53
  });
52
54
  } catch (_e) {
53
55
  return callback(new Error('Failed to parse npm dist-tags'));
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installLib.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport { getContent } from 'get-file-compat';\nimport { getDist } from 'node-filename-to-dist-paths';\nimport oo from 'on-one';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport { NPM_DIST_TAGS_URL, NPM_DIST_URL, NPM_MIN_VERSION } from '../constants.ts';\nimport conditionalCache from '../lib/conditionalCache.ts';\nimport extract from '../lib/extract.ts';\n\ninterface DistRecord {\n latest: string;\n}\n\nimport type { InstallOptions } from '../types.ts';\n\nexport type Callback = (error?: Error, npmVersion?: string, checksum?: string) => void;\n\nfunction calculateChecksum(filePath: string, callback: (err?: Error, checksum?: string) => void): void {\n const hash = crypto.createHash('sha256');\n const stream = fs.createReadStream(filePath);\n stream.on('data', (data) => hash.update(data));\n oo(stream, ['error', 'end', 'close', 'finish'], (err?: Error) => {\n if (err) return callback(err);\n callback(null, hash.digest('hex'));\n });\n}\n\nexport default function installLib(version: string, dest: string, options: InstallOptions, callback: Callback): void {\n const platform = options.platform;\n const libPath = platform === 'win32' ? dest : path.join(dest, 'lib');\n const installPath = path.join(libPath, 'node_modules', 'npm');\n\n const dist = getDist(version);\n const npmMajorPair = dist && dist.npm ? +dist.npm.split('.')[0] : NPM_MIN_VERSION;\n const npmMajor = Math.max(npmMajorPair, NPM_MIN_VERSION);\n\n getContent(NPM_DIST_TAGS_URL, 'utf8', (err, res) => {\n if (err) return callback(err);\n try {\n const distTags = JSON.parse(res.content) as DistRecord;\n const npmVersion = distTags[`latest-${npmMajor}`] || distTags[`next-${npmMajor}`] || distTags.latest;\n const downloadPath = `${NPM_DIST_URL}/-/npm-${npmVersion}.tgz`;\n const cachePath = path.join(options.cachePath, path.basename(downloadPath));\n\n let checksum: string | undefined;\n const queue = new Queue(1);\n queue.defer(conditionalCache.bind(null, downloadPath, cachePath));\n queue.defer((cb) => {\n calculateChecksum(cachePath, (err, hash) => {\n checksum = hash;\n cb(err);\n });\n });\n queue.defer(extract.bind(null, cachePath, installPath));\n queue.await((err) => {\n err ? callback(err) : callback(null, npmVersion, checksum);\n });\n } catch (_e) {\n return callback(new Error('Failed to parse npm dist-tags'));\n }\n });\n}\n"],"names":["crypto","fs","getContent","getDist","oo","path","Queue","NPM_DIST_TAGS_URL","NPM_DIST_URL","NPM_MIN_VERSION","conditionalCache","extract","calculateChecksum","filePath","callback","hash","createHash","stream","createReadStream","on","data","update","err","digest","installLib","version","dest","options","platform","libPath","join","installPath","dist","npmMajorPair","npm","split","npmMajor","Math","max","res","distTags","JSON","parse","content","npmVersion","latest","downloadPath","cachePath","basename","checksum","queue","defer","bind","cb","await","_e","Error"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,QAAQ,KAAK;AACpB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,OAAO,QAAQ,8BAA8B;AACtD,OAAOC,QAAQ,SAAS;AACxB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,SAASC,iBAAiB,EAAEC,YAAY,EAAEC,eAAe,QAAQ,kBAAkB;AACnF,OAAOC,sBAAsB,6BAA6B;AAC1D,OAAOC,aAAa,oBAAoB;AAUxC,SAASC,kBAAkBC,QAAgB,EAAEC,QAAkD;IAC7F,MAAMC,OAAOf,OAAOgB,UAAU,CAAC;IAC/B,MAAMC,SAAShB,GAAGiB,gBAAgB,CAACL;IACnCI,OAAOE,EAAE,CAAC,QAAQ,CAACC,OAASL,KAAKM,MAAM,CAACD;IACxChB,GAAGa,QAAQ;QAAC;QAAS;QAAO;QAAS;KAAS,EAAE,CAACK;QAC/C,IAAIA,KAAK,OAAOR,SAASQ;QACzBR,SAAS,MAAMC,KAAKQ,MAAM,CAAC;IAC7B;AACF;AAEA,eAAe,SAASC,WAAWC,OAAe,EAAEC,IAAY,EAAEC,OAAuB,EAAEb,QAAkB;IAC3G,MAAMc,WAAWD,QAAQC,QAAQ;IACjC,MAAMC,UAAUD,aAAa,UAAUF,OAAOrB,KAAKyB,IAAI,CAACJ,MAAM;IAC9D,MAAMK,cAAc1B,KAAKyB,IAAI,CAACD,SAAS,gBAAgB;IAEvD,MAAMG,OAAO7B,QAAQsB;IACrB,MAAMQ,eAAeD,QAAQA,KAAKE,GAAG,GAAG,CAACF,KAAKE,GAAG,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG1B;IAClE,MAAM2B,WAAWC,KAAKC,GAAG,CAACL,cAAcxB;IAExCP,WAAWK,mBAAmB,QAAQ,CAACe,KAAKiB;QAC1C,IAAIjB,KAAK,OAAOR,SAASQ;QACzB,IAAI;YACF,MAAMkB,WAAWC,KAAKC,KAAK,CAACH,IAAII,OAAO;YACvC,MAAMC,aAAaJ,QAAQ,CAAC,CAAC,OAAO,EAAEJ,UAAU,CAAC,IAAII,QAAQ,CAAC,CAAC,KAAK,EAAEJ,UAAU,CAAC,IAAII,SAASK,MAAM;YACpG,MAAMC,eAAe,GAAGtC,aAAa,OAAO,EAAEoC,WAAW,IAAI,CAAC;YAC9D,MAAMG,YAAY1C,KAAKyB,IAAI,CAACH,QAAQoB,SAAS,EAAE1C,KAAK2C,QAAQ,CAACF;YAE7D,IAAIG;YACJ,MAAMC,QAAQ,IAAI5C,MAAM;YACxB4C,MAAMC,KAAK,CAACzC,iBAAiB0C,IAAI,CAAC,MAAMN,cAAcC;YACtDG,MAAMC,KAAK,CAAC,CAACE;gBACXzC,kBAAkBmC,WAAW,CAACzB,KAAKP;oBACjCkC,WAAWlC;oBACXsC,GAAG/B;gBACL;YACF;YACA4B,MAAMC,KAAK,CAACxC,QAAQyC,IAAI,CAAC,MAAML,WAAWhB;YAC1CmB,MAAMI,KAAK,CAAC,CAAChC;gBACXA,MAAMR,SAASQ,OAAOR,SAAS,MAAM8B,YAAYK;YACnD;QACF,EAAE,OAAOM,IAAI;YACX,OAAOzC,SAAS,IAAI0C,MAAM;QAC5B;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installLib.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport { getContent } from 'get-file-compat';\nimport { getDist } from 'node-filename-to-dist-paths';\nimport oo from 'on-one';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport { tmpdir } from '../compat.ts';\nimport { NPM_DIST_TAGS_URL, NPM_DIST_URL, NPM_MIN_VERSION } from '../constants.ts';\nimport conditionalCache from '../lib/conditionalCache.ts';\nimport extract from '../lib/extract.ts';\n\nimport type { InstallOptions } from '../types.ts';\n\nexport type Callback = (error?: Error | null, npmVersion?: string, checksum?: string) => void;\n\nfunction calculateChecksum(filePath: string, callback: (err?: Error | null, checksum?: string) => void): void {\n const hash = crypto.createHash('sha256');\n const stream = fs.createReadStream(filePath);\n stream.on('data', (data) => hash.update(data));\n oo(stream, ['error', 'end', 'close', 'finish'], (err: Error | null) => {\n if (err) return callback(err);\n callback(undefined, hash.digest('hex'));\n });\n}\n\nexport default function installLib(version: string, dest: string, options: InstallOptions, callback: Callback): void {\n const platform = options.platform;\n const libPath = platform === 'win32' ? dest : path.join(dest, 'lib');\n const installPath = path.join(libPath, 'node_modules', 'npm');\n\n const dist = getDist(version);\n const npmMajorPair = dist && dist.npm ? +dist.npm.split('.')[0] : NPM_MIN_VERSION;\n const npmMajor = Math.max(npmMajorPair, NPM_MIN_VERSION);\n\n getContent(NPM_DIST_TAGS_URL, 'utf8', (err, res) => {\n if (err) return callback(err);\n try {\n const distTags = JSON.parse(res?.content ?? '{}') as Record<string, string>;\n const npmVersion = distTags[`latest-${npmMajor}`] || distTags[`next-${npmMajor}`] || distTags.latest;\n const downloadPath = `${NPM_DIST_URL}/-/npm-${npmVersion}.tgz`;\n const cachePath = path.join(options.cachePath ?? tmpdir(), path.basename(downloadPath));\n\n let checksum: string | undefined;\n const queue = new Queue(1);\n queue.defer((cb) => conditionalCache(downloadPath, cachePath, options, (err) => cb(err)));\n queue.defer((cb) => {\n calculateChecksum(cachePath, (err, hash) => {\n checksum = hash;\n cb(err);\n });\n });\n queue.defer((cb) => extract(cachePath, installPath, (err) => cb(err)));\n queue.await((err) => {\n err ? callback(err) : callback(undefined, npmVersion, checksum);\n });\n } catch (_e) {\n return callback(new Error('Failed to parse npm dist-tags'));\n }\n });\n}\n"],"names":["crypto","fs","getContent","getDist","oo","path","Queue","tmpdir","NPM_DIST_TAGS_URL","NPM_DIST_URL","NPM_MIN_VERSION","conditionalCache","extract","calculateChecksum","filePath","callback","hash","createHash","stream","createReadStream","on","data","update","err","undefined","digest","installLib","version","dest","options","platform","libPath","join","installPath","dist","npmMajorPair","npm","split","npmMajor","Math","max","res","distTags","JSON","parse","content","npmVersion","latest","downloadPath","cachePath","basename","checksum","queue","defer","cb","await","_e","Error"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,QAAQ,KAAK;AACpB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,OAAO,QAAQ,8BAA8B;AACtD,OAAOC,QAAQ,SAAS;AACxB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,SAASC,MAAM,QAAQ,eAAe;AACtC,SAASC,iBAAiB,EAAEC,YAAY,EAAEC,eAAe,QAAQ,kBAAkB;AACnF,OAAOC,sBAAsB,6BAA6B;AAC1D,OAAOC,aAAa,oBAAoB;AAMxC,SAASC,kBAAkBC,QAAgB,EAAEC,QAAyD;IACpG,MAAMC,OAAOhB,OAAOiB,UAAU,CAAC;IAC/B,MAAMC,SAASjB,GAAGkB,gBAAgB,CAACL;IACnCI,OAAOE,EAAE,CAAC,QAAQ,CAACC,OAASL,KAAKM,MAAM,CAACD;IACxCjB,GAAGc,QAAQ;QAAC;QAAS;QAAO;QAAS;KAAS,EAAE,CAACK;QAC/C,IAAIA,KAAK,OAAOR,SAASQ;QACzBR,SAASS,WAAWR,KAAKS,MAAM,CAAC;IAClC;AACF;AAEA,eAAe,SAASC,WAAWC,OAAe,EAAEC,IAAY,EAAEC,OAAuB,EAAEd,QAAkB;IAC3G,MAAMe,WAAWD,QAAQC,QAAQ;IACjC,MAAMC,UAAUD,aAAa,UAAUF,OAAOvB,KAAK2B,IAAI,CAACJ,MAAM;IAC9D,MAAMK,cAAc5B,KAAK2B,IAAI,CAACD,SAAS,gBAAgB;IAEvD,MAAMG,OAAO/B,QAAQwB;IACrB,MAAMQ,eAAeD,QAAQA,KAAKE,GAAG,GAAG,CAACF,KAAKE,GAAG,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG3B;IAClE,MAAM4B,WAAWC,KAAKC,GAAG,CAACL,cAAczB;IAExCR,WAAWM,mBAAmB,QAAQ,CAACe,KAAKkB;QAC1C,IAAIlB,KAAK,OAAOR,SAASQ;QACzB,IAAI;sBAI0BM;YAH5B,MAAMa,WAAWC,KAAKC,KAAK,SAACH,gBAAAA,0BAAAA,IAAKI,OAAO,uCAAI;YAC5C,MAAMC,aAAaJ,QAAQ,CAAC,CAAC,OAAO,EAAEJ,UAAU,CAAC,IAAII,QAAQ,CAAC,CAAC,KAAK,EAAEJ,UAAU,CAAC,IAAII,SAASK,MAAM;YACpG,MAAMC,eAAe,GAAGvC,aAAa,OAAO,EAAEqC,WAAW,IAAI,CAAC;YAC9D,MAAMG,YAAY5C,KAAK2B,IAAI,EAACH,qBAAAA,QAAQoB,SAAS,cAAjBpB,gCAAAA,qBAAqBtB,UAAUF,KAAK6C,QAAQ,CAACF;YAEzE,IAAIG;YACJ,MAAMC,QAAQ,IAAI9C,MAAM;YACxB8C,MAAMC,KAAK,CAAC,CAACC,KAAO3C,iBAAiBqC,cAAcC,WAAWpB,SAAS,CAACN,MAAQ+B,GAAG/B;YACnF6B,MAAMC,KAAK,CAAC,CAACC;gBACXzC,kBAAkBoC,WAAW,CAAC1B,KAAKP;oBACjCmC,WAAWnC;oBACXsC,GAAG/B;gBACL;YACF;YACA6B,MAAMC,KAAK,CAAC,CAACC,KAAO1C,QAAQqC,WAAWhB,aAAa,CAACV,MAAQ+B,GAAG/B;YAChE6B,MAAMG,KAAK,CAAC,CAAChC;gBACXA,MAAMR,SAASQ,OAAOR,SAASS,WAAWsB,YAAYK;YACxD;QACF,EAAE,OAAOK,IAAI;YACX,OAAOzC,SAAS,IAAI0C,MAAM;QAC5B;IACF;AACF"}
@@ -25,17 +25,18 @@ export default function install(version, dest, options, callback) {
25
25
  a
26
26
  ].concat(parts.slice(2)).join('-'));
27
27
  (FILES[filePlatform] || []).forEach((x)=>{
28
- filenames.push(x.filename);
28
+ filenames === null || filenames === void 0 ? void 0 : filenames.push(x.filename);
29
29
  });
30
- filenames.push('src');
31
- filenames = filenames.filter((filename, i)=>filenames.indexOf(filename) === i);
30
+ filenames === null || filenames === void 0 ? void 0 : filenames.push('src');
31
+ filenames = filenames === null || filenames === void 0 ? void 0 : filenames.filter((filename, i)=>(filenames === null || filenames === void 0 ? void 0 : filenames.indexOf(filename)) === i);
32
32
  }
33
33
  const tryNext = (cb, lastErr)=>{
34
- if (filenames.length === 0) {
34
+ if (filenames == null || filenames.length === 0) {
35
35
  const msg = `Failed to find installable for ${version}${options.filename ? ` Filename: ${options.filename}` : ''}`;
36
36
  return cb(new Error(lastErr ? `${msg}: ${lastErr.message}` : msg));
37
37
  }
38
- installFilename(filenames.shift(), version, dest, options, (err, checksum)=>err ? tryNext(cb, err) : cb(null, checksum));
38
+ const filename = filenames.shift();
39
+ installFilename(filename, version, dest, options, (err, checksum)=>err ? tryNext(cb, err) : cb(undefined, checksum));
39
40
  };
40
41
  tryNext((err, checksum)=>{
41
42
  let message = `node ${version.slice(1)}`;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/index.ts"],"sourcesContent":["import { FILE_PLATFORM_MAP, FILES } from '../constants.ts';\nimport type { ChecksumResult, InstallOptions, NoParamCallback } from '../types.ts';\nimport installFilename from './installFilename.ts';\n\nexport default function install(version: string, dest: string, options: InstallOptions, callback: NoParamCallback): void {\n let filenames = null;\n\n // a specific filename\n if (options.filename) filenames = [options.filename];\n // infer with fallbacks\n else {\n const { platform, arch } = options;\n const filePlatform = FILE_PLATFORM_MAP[platform] || platform;\n const parts = [filePlatform, arch];\n if (options.type) parts.push(options.type);\n if (options.compression) parts.push(options.compression);\n\n // generate the files in search order\n const archs = [arch, process.arch];\n filenames = archs.map((a) => [filePlatform, a].concat(parts.slice(2)).join('-'));\n (FILES[filePlatform] || []).forEach((x) => {\n filenames.push(x.filename);\n });\n filenames.push('src');\n filenames = filenames.filter((filename, i) => filenames.indexOf(filename) === i);\n }\n\n const tryNext = (cb: (err?: Error, checksum?: ChecksumResult) => void, lastErr?: Error) => {\n if (filenames.length === 0) {\n const msg = `Failed to find installable for ${version}${options.filename ? ` Filename: ${options.filename}` : ''}`;\n return cb(new Error(lastErr ? `${msg}: ${lastErr.message}` : msg));\n }\n installFilename(filenames.shift(), version, dest, options, (err, checksum) => (err ? tryNext(cb, err) : cb(null, checksum)));\n };\n tryNext((err, checksum) => {\n let message = `node ${version.slice(1)}`;\n if (!err) {\n message += ' installed';\n if (checksum) message += ` (${checksum.actual.slice(0, 8)})`;\n } else {\n message += ' install failed';\n if (checksum) message += ` (${checksum.actual} expecting ${checksum.expected})`;\n message += `. Error: ${err.message}`;\n }\n console.log(message);\n callback(err);\n });\n}\n"],"names":["FILE_PLATFORM_MAP","FILES","installFilename","install","version","dest","options","callback","filenames","filename","platform","arch","filePlatform","parts","type","push","compression","archs","process","map","a","concat","slice","join","forEach","x","filter","i","indexOf","tryNext","cb","lastErr","length","msg","Error","message","shift","err","checksum","actual","expected","console","log"],"mappings":"AAAA,SAASA,iBAAiB,EAAEC,KAAK,QAAQ,kBAAkB;AAE3D,OAAOC,qBAAqB,uBAAuB;AAEnD,eAAe,SAASC,QAAQC,OAAe,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAAyB;IAC/G,IAAIC,YAAY;IAEhB,sBAAsB;IACtB,IAAIF,QAAQG,QAAQ,EAAED,YAAY;QAACF,QAAQG,QAAQ;KAAC;SAE/C;QACH,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAE,GAAGL;QAC3B,MAAMM,eAAeZ,iBAAiB,CAACU,SAAS,IAAIA;QACpD,MAAMG,QAAQ;YAACD;YAAcD;SAAK;QAClC,IAAIL,QAAQQ,IAAI,EAAED,MAAME,IAAI,CAACT,QAAQQ,IAAI;QACzC,IAAIR,QAAQU,WAAW,EAAEH,MAAME,IAAI,CAACT,QAAQU,WAAW;QAEvD,qCAAqC;QACrC,MAAMC,QAAQ;YAACN;YAAMO,QAAQP,IAAI;SAAC;QAClCH,YAAYS,MAAME,GAAG,CAAC,CAACC,IAAM;gBAACR;gBAAcQ;aAAE,CAACC,MAAM,CAACR,MAAMS,KAAK,CAAC,IAAIC,IAAI,CAAC;QAC1EtB,CAAAA,KAAK,CAACW,aAAa,IAAI,EAAE,AAAD,EAAGY,OAAO,CAAC,CAACC;YACnCjB,UAAUO,IAAI,CAACU,EAAEhB,QAAQ;QAC3B;QACAD,UAAUO,IAAI,CAAC;QACfP,YAAYA,UAAUkB,MAAM,CAAC,CAACjB,UAAUkB,IAAMnB,UAAUoB,OAAO,CAACnB,cAAckB;IAChF;IAEA,MAAME,UAAU,CAACC,IAAsDC;QACrE,IAAIvB,UAAUwB,MAAM,KAAK,GAAG;YAC1B,MAAMC,MAAM,CAAC,+BAA+B,EAAE7B,UAAUE,QAAQG,QAAQ,GAAG,CAAC,WAAW,EAAEH,QAAQG,QAAQ,EAAE,GAAG,IAAI;YAClH,OAAOqB,GAAG,IAAII,MAAMH,UAAU,GAAGE,IAAI,EAAE,EAAEF,QAAQI,OAAO,EAAE,GAAGF;QAC/D;QACA/B,gBAAgBM,UAAU4B,KAAK,IAAIhC,SAASC,MAAMC,SAAS,CAAC+B,KAAKC,WAAcD,MAAMR,QAAQC,IAAIO,OAAOP,GAAG,MAAMQ;IACnH;IACAT,QAAQ,CAACQ,KAAKC;QACZ,IAAIH,UAAU,CAAC,KAAK,EAAE/B,QAAQkB,KAAK,CAAC,IAAI;QACxC,IAAI,CAACe,KAAK;YACRF,WAAW;YACX,IAAIG,UAAUH,WAAW,CAAC,EAAE,EAAEG,SAASC,MAAM,CAACjB,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9D,OAAO;YACLa,WAAW;YACX,IAAIG,UAAUH,WAAW,CAAC,EAAE,EAAEG,SAASC,MAAM,CAAC,WAAW,EAAED,SAASE,QAAQ,CAAC,CAAC,CAAC;YAC/EL,WAAW,CAAC,SAAS,EAAEE,IAAIF,OAAO,EAAE;QACtC;QACAM,QAAQC,GAAG,CAACP;QACZ5B,SAAS8B;IACX;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/index.ts"],"sourcesContent":["import { FILE_PLATFORM_MAP, FILES } from '../constants.ts';\nimport type { ChecksumResult, InstallOptions, NoParamCallback } from '../types.ts';\nimport installFilename from './installFilename.ts';\n\nexport default function install(version: string, dest: string, options: InstallOptions, callback: NoParamCallback): void {\n let filenames: string[] | null = null;\n\n // a specific filename\n if (options.filename) filenames = [options.filename];\n // infer with fallbacks\n else {\n const { platform, arch } = options;\n const filePlatform = (FILE_PLATFORM_MAP as Record<string, string>)[platform as string] || platform;\n const parts = [filePlatform, arch];\n if (options.type) parts.push(options.type);\n if (options.compression) parts.push(options.compression as unknown as string);\n\n // generate the files in search order\n const archs = [arch, process.arch];\n filenames = archs.map((a) => [filePlatform, a].concat(parts.slice(2)).join('-'));\n ((FILES as Record<string, { filename: string }[]>)[filePlatform as string] || []).forEach((x: { filename: string }) => {\n filenames?.push(x.filename);\n });\n filenames?.push('src');\n filenames = filenames?.filter((filename, i) => filenames?.indexOf(filename) === i);\n }\n\n const tryNext = (cb: (err?: Error | null, checksum?: ChecksumResult) => void, lastErr?: Error) => {\n if (filenames == null || filenames.length === 0) {\n const msg = `Failed to find installable for ${version}${options.filename ? ` Filename: ${options.filename}` : ''}`;\n return cb(new Error(lastErr ? `${msg}: ${lastErr.message}` : msg));\n }\n const filename = filenames.shift() as string;\n installFilename(filename, version, dest, options, (err, checksum) => (err ? tryNext(cb, err) : cb(undefined, checksum)));\n };\n tryNext((err, checksum) => {\n let message = `node ${version.slice(1)}`;\n if (!err) {\n message += ' installed';\n if (checksum) message += ` (${checksum.actual.slice(0, 8)})`;\n } else {\n message += ' install failed';\n if (checksum) message += ` (${checksum.actual} expecting ${checksum.expected})`;\n message += `. Error: ${err.message}`;\n }\n console.log(message);\n callback(err);\n });\n}\n"],"names":["FILE_PLATFORM_MAP","FILES","installFilename","install","version","dest","options","callback","filenames","filename","platform","arch","filePlatform","parts","type","push","compression","archs","process","map","a","concat","slice","join","forEach","x","filter","i","indexOf","tryNext","cb","lastErr","length","msg","Error","message","shift","err","checksum","undefined","actual","expected","console","log"],"mappings":"AAAA,SAASA,iBAAiB,EAAEC,KAAK,QAAQ,kBAAkB;AAE3D,OAAOC,qBAAqB,uBAAuB;AAEnD,eAAe,SAASC,QAAQC,OAAe,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAAyB;IAC/G,IAAIC,YAA6B;IAEjC,sBAAsB;IACtB,IAAIF,QAAQG,QAAQ,EAAED,YAAY;QAACF,QAAQG,QAAQ;KAAC;SAE/C;QACH,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAE,GAAGL;QAC3B,MAAMM,eAAe,AAACZ,iBAA4C,CAACU,SAAmB,IAAIA;QAC1F,MAAMG,QAAQ;YAACD;YAAcD;SAAK;QAClC,IAAIL,QAAQQ,IAAI,EAAED,MAAME,IAAI,CAACT,QAAQQ,IAAI;QACzC,IAAIR,QAAQU,WAAW,EAAEH,MAAME,IAAI,CAACT,QAAQU,WAAW;QAEvD,qCAAqC;QACrC,MAAMC,QAAQ;YAACN;YAAMO,QAAQP,IAAI;SAAC;QAClCH,YAAYS,MAAME,GAAG,CAAC,CAACC,IAAM;gBAACR;gBAAcQ;aAAE,CAACC,MAAM,CAACR,MAAMS,KAAK,CAAC,IAAIC,IAAI,CAAC;QAC1E,CAAA,AAACtB,KAAgD,CAACW,aAAuB,IAAI,EAAE,AAAD,EAAGY,OAAO,CAAC,CAACC;YACzFjB,sBAAAA,gCAAAA,UAAWO,IAAI,CAACU,EAAEhB,QAAQ;QAC5B;QACAD,sBAAAA,gCAAAA,UAAWO,IAAI,CAAC;QAChBP,YAAYA,sBAAAA,gCAAAA,UAAWkB,MAAM,CAAC,CAACjB,UAAUkB,IAAMnB,CAAAA,sBAAAA,gCAAAA,UAAWoB,OAAO,CAACnB,eAAckB;IAClF;IAEA,MAAME,UAAU,CAACC,IAA6DC;QAC5E,IAAIvB,aAAa,QAAQA,UAAUwB,MAAM,KAAK,GAAG;YAC/C,MAAMC,MAAM,CAAC,+BAA+B,EAAE7B,UAAUE,QAAQG,QAAQ,GAAG,CAAC,WAAW,EAAEH,QAAQG,QAAQ,EAAE,GAAG,IAAI;YAClH,OAAOqB,GAAG,IAAII,MAAMH,UAAU,GAAGE,IAAI,EAAE,EAAEF,QAAQI,OAAO,EAAE,GAAGF;QAC/D;QACA,MAAMxB,WAAWD,UAAU4B,KAAK;QAChClC,gBAAgBO,UAAUL,SAASC,MAAMC,SAAS,CAAC+B,KAAKC,WAAcD,MAAMR,QAAQC,IAAIO,OAAOP,GAAGS,WAAWD;IAC/G;IACAT,QAAQ,CAACQ,KAAKC;QACZ,IAAIH,UAAU,CAAC,KAAK,EAAE/B,QAAQkB,KAAK,CAAC,IAAI;QACxC,IAAI,CAACe,KAAK;YACRF,WAAW;YACX,IAAIG,UAAUH,WAAW,CAAC,EAAE,EAAEG,SAASE,MAAM,CAAClB,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAC9D,OAAO;YACLa,WAAW;YACX,IAAIG,UAAUH,WAAW,CAAC,EAAE,EAAEG,SAASE,MAAM,CAAC,WAAW,EAAEF,SAASG,QAAQ,CAAC,CAAC,CAAC;YAC/EN,WAAW,CAAC,SAAS,EAAEE,IAAIF,OAAO,EAAE;QACtC;QACAO,QAAQC,GAAG,CAACR;QACZ5B,SAAS8B;IACX;AACF"}
@@ -9,7 +9,7 @@ export default function installCompressed(distPath, dest, options, callback) {
9
9
  const cachePath = path.join(options.cachePath, path.basename(downloadPath));
10
10
  let checksum;
11
11
  const queue = new Queue(1);
12
- queue.defer(conditionalCache.bind(null, downloadPath, cachePath));
12
+ queue.defer((cb)=>conditionalCache(downloadPath, cachePath, options, (err)=>cb(err)));
13
13
  queue.defer((cb)=>{
14
14
  validateDownload(distPath, cachePath, (err, result)=>{
15
15
  checksum = result;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installCompressed.ts"],"sourcesContent":["import path from 'path';\nimport Queue from 'queue-cb';\n\nimport { NODE_DIST_BASE_URL } from '../constants.ts';\nimport conditionalCache from '../lib/conditionalCache.ts';\nimport extract from '../lib/extract.ts';\nimport type { ChecksumCallback, ChecksumResult, InstallOptions } from '../types.ts';\nimport validateDownload from './validateDownload.ts';\n\nexport default function installCompressed(distPath: string, dest: string, options: InstallOptions, callback: ChecksumCallback): void {\n const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;\n const cachePath = path.join(options.cachePath, path.basename(downloadPath));\n\n let checksum: ChecksumResult | undefined;\n const queue = new Queue(1);\n queue.defer(conditionalCache.bind(null, downloadPath, cachePath));\n queue.defer((cb) => {\n validateDownload(distPath, cachePath, (err, result) => {\n checksum = result;\n cb(err);\n });\n });\n queue.defer(extract.bind(null, cachePath, dest, { strip: 1, time: 1000 }));\n queue.await((err) => callback(err, checksum));\n}\n"],"names":["path","Queue","NODE_DIST_BASE_URL","conditionalCache","extract","validateDownload","installCompressed","distPath","dest","options","callback","downloadPath","cachePath","join","basename","checksum","queue","defer","bind","cb","err","result","strip","time","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,SAASC,kBAAkB,QAAQ,kBAAkB;AACrD,OAAOC,sBAAsB,6BAA6B;AAC1D,OAAOC,aAAa,oBAAoB;AAExC,OAAOC,sBAAsB,wBAAwB;AAErD,eAAe,SAASC,kBAAkBC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAA0B;IAC3H,MAAMC,eAAe,GAAGT,mBAAmB,CAAC,EAAEK,UAAU;IACxD,MAAMK,YAAYZ,KAAKa,IAAI,CAACJ,QAAQG,SAAS,EAAEZ,KAAKc,QAAQ,CAACH;IAE7D,IAAII;IACJ,MAAMC,QAAQ,IAAIf,MAAM;IACxBe,MAAMC,KAAK,CAACd,iBAAiBe,IAAI,CAAC,MAAMP,cAAcC;IACtDI,MAAMC,KAAK,CAAC,CAACE;QACXd,iBAAiBE,UAAUK,WAAW,CAACQ,KAAKC;YAC1CN,WAAWM;YACXF,GAAGC;QACL;IACF;IACAJ,MAAMC,KAAK,CAACb,QAAQc,IAAI,CAAC,MAAMN,WAAWJ,MAAM;QAAEc,OAAO;QAAGC,MAAM;IAAK;IACvEP,MAAMQ,KAAK,CAAC,CAACJ,MAAQV,SAASU,KAAKL;AACrC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installCompressed.ts"],"sourcesContent":["import path from 'path';\nimport Queue from 'queue-cb';\n\nimport { NODE_DIST_BASE_URL } from '../constants.ts';\nimport conditionalCache from '../lib/conditionalCache.ts';\nimport extract from '../lib/extract.ts';\nimport type { ChecksumCallback, ChecksumResult, InstallOptions } from '../types.ts';\nimport validateDownload from './validateDownload.ts';\n\nexport default function installCompressed(distPath: string, dest: string, options: InstallOptions, callback: ChecksumCallback): void {\n const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;\n const cachePath = path.join(options.cachePath!, path.basename(downloadPath));\n\n let checksum: ChecksumResult | undefined;\n const queue = new Queue(1);\n queue.defer((cb) => conditionalCache(downloadPath, cachePath, options, (err) => cb(err)));\n queue.defer((cb) => {\n validateDownload(distPath, cachePath, (err, result) => {\n checksum = result;\n cb(err);\n });\n });\n queue.defer(extract.bind(null, cachePath, dest, { strip: 1, time: 1000 }));\n queue.await((err) => callback(err, checksum));\n}\n"],"names":["path","Queue","NODE_DIST_BASE_URL","conditionalCache","extract","validateDownload","installCompressed","distPath","dest","options","callback","downloadPath","cachePath","join","basename","checksum","queue","defer","cb","err","result","bind","strip","time","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,SAASC,kBAAkB,QAAQ,kBAAkB;AACrD,OAAOC,sBAAsB,6BAA6B;AAC1D,OAAOC,aAAa,oBAAoB;AAExC,OAAOC,sBAAsB,wBAAwB;AAErD,eAAe,SAASC,kBAAkBC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAA0B;IAC3H,MAAMC,eAAe,GAAGT,mBAAmB,CAAC,EAAEK,UAAU;IACxD,MAAMK,YAAYZ,KAAKa,IAAI,CAACJ,QAAQG,SAAS,EAAGZ,KAAKc,QAAQ,CAACH;IAE9D,IAAII;IACJ,MAAMC,QAAQ,IAAIf,MAAM;IACxBe,MAAMC,KAAK,CAAC,CAACC,KAAOf,iBAAiBQ,cAAcC,WAAWH,SAAS,CAACU,MAAQD,GAAGC;IACnFH,MAAMC,KAAK,CAAC,CAACC;QACXb,iBAAiBE,UAAUK,WAAW,CAACO,KAAKC;YAC1CL,WAAWK;YACXF,GAAGC;QACL;IACF;IACAH,MAAMC,KAAK,CAACb,QAAQiB,IAAI,CAAC,MAAMT,WAAWJ,MAAM;QAAEc,OAAO;QAAGC,MAAM;IAAK;IACvEP,MAAMQ,KAAK,CAAC,CAACL,MAAQT,SAASS,KAAKJ;AACrC"}
@@ -14,9 +14,9 @@ export default function installExe(distPath, dest, options, callback) {
14
14
  fs.stat(execPath, (err)=>{
15
15
  if (!err) return callback(); // already exists
16
16
  const queue = new Queue(1);
17
- queue.defer(conditionalCache.bind(null, downloadPath, cachePath));
18
- queue.defer(validateDownload.bind(null, distPath, cachePath));
19
- queue.defer(copyFile.bind(null, cachePath, execPath));
17
+ queue.defer((cb)=>conditionalCache(downloadPath, cachePath, options, (err)=>cb(err)));
18
+ queue.defer((cb)=>validateDownload(distPath, cachePath, (err)=>cb(err)));
19
+ queue.defer((cb)=>copyFile(cachePath, execPath, (err)=>cb(err)));
20
20
  queue.await(callback);
21
21
  });
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installExe.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport { NODE_DIST_BASE_URL, NODE_FILE_PATHS } from '../constants.ts';\nimport conditionalCache from '../lib/conditionalCache.ts';\nimport copyFile from '../lib/copyFile.ts';\nimport type { InstallOptions, NoParamCallback } from '../types.ts';\nimport validateDownload from './validateDownload.ts';\n\nexport default function installExe(distPath: string, dest: string, options: InstallOptions, callback: NoParamCallback): void {\n const platform = options.platform;\n const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;\n const cachePath = path.join(options.cachePath, `node-${distPath}.exe`);\n const nodePath = NODE_FILE_PATHS[platform] || NODE_FILE_PATHS.posix;\n const execPath = path.join(dest, nodePath);\n\n fs.stat(execPath, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(conditionalCache.bind(null, downloadPath, cachePath));\n queue.defer(validateDownload.bind(null, distPath, cachePath));\n queue.defer(copyFile.bind(null, cachePath, execPath));\n queue.await(callback);\n });\n}\n"],"names":["fs","path","Queue","NODE_DIST_BASE_URL","NODE_FILE_PATHS","conditionalCache","copyFile","validateDownload","installExe","distPath","dest","options","callback","platform","downloadPath","cachePath","join","nodePath","posix","execPath","stat","err","queue","defer","bind","await"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,kBAAkB;AACtE,OAAOC,sBAAsB,6BAA6B;AAC1D,OAAOC,cAAc,qBAAqB;AAE1C,OAAOC,sBAAsB,wBAAwB;AAErD,eAAe,SAASC,WAAWC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAAyB;IACnH,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,eAAe,GAAGX,mBAAmB,CAAC,EAAEM,UAAU;IACxD,MAAMM,YAAYd,KAAKe,IAAI,CAACL,QAAQI,SAAS,EAAE,CAAC,KAAK,EAAEN,SAAS,IAAI,CAAC;IACrE,MAAMQ,WAAWb,eAAe,CAACS,SAAS,IAAIT,gBAAgBc,KAAK;IACnE,MAAMC,WAAWlB,KAAKe,IAAI,CAACN,MAAMO;IAEjCjB,GAAGoB,IAAI,CAACD,UAAU,CAACE;QACjB,IAAI,CAACA,KAAK,OAAOT,YAAY,iBAAiB;QAE9C,MAAMU,QAAQ,IAAIpB,MAAM;QACxBoB,MAAMC,KAAK,CAAClB,iBAAiBmB,IAAI,CAAC,MAAMV,cAAcC;QACtDO,MAAMC,KAAK,CAAChB,iBAAiBiB,IAAI,CAAC,MAAMf,UAAUM;QAClDO,MAAMC,KAAK,CAACjB,SAASkB,IAAI,CAAC,MAAMT,WAAWI;QAC3CG,MAAMG,KAAK,CAACb;IACd;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installExe.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport { NODE_DIST_BASE_URL, NODE_FILE_PATHS } from '../constants.ts';\nimport conditionalCache from '../lib/conditionalCache.ts';\nimport copyFile from '../lib/copyFile.ts';\nimport type { InstallOptions, NoParamCallback } from '../types.ts';\nimport validateDownload from './validateDownload.ts';\n\nexport default function installExe(distPath: string, dest: string, options: InstallOptions, callback: NoParamCallback): void {\n const platform = options.platform;\n const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;\n const cachePath = path.join(options.cachePath!, `node-${distPath}.exe`);\n const nodePath = (NODE_FILE_PATHS as Record<string, string>)[platform as string] || NODE_FILE_PATHS.posix;\n const execPath = path.join(dest, nodePath);\n\n fs.stat(execPath, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer((cb) => conditionalCache(downloadPath, cachePath, options, (err) => cb(err)));\n queue.defer((cb) => validateDownload(distPath, cachePath, (err) => cb(err)));\n queue.defer((cb) => copyFile(cachePath, execPath, (err) => cb(err)));\n queue.await(callback);\n });\n}\n"],"names":["fs","path","Queue","NODE_DIST_BASE_URL","NODE_FILE_PATHS","conditionalCache","copyFile","validateDownload","installExe","distPath","dest","options","callback","platform","downloadPath","cachePath","join","nodePath","posix","execPath","stat","err","queue","defer","cb","await"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,SAASC,kBAAkB,EAAEC,eAAe,QAAQ,kBAAkB;AACtE,OAAOC,sBAAsB,6BAA6B;AAC1D,OAAOC,cAAc,qBAAqB;AAE1C,OAAOC,sBAAsB,wBAAwB;AAErD,eAAe,SAASC,WAAWC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAAyB;IACnH,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,eAAe,GAAGX,mBAAmB,CAAC,EAAEM,UAAU;IACxD,MAAMM,YAAYd,KAAKe,IAAI,CAACL,QAAQI,SAAS,EAAG,CAAC,KAAK,EAAEN,SAAS,IAAI,CAAC;IACtE,MAAMQ,WAAW,AAACb,eAA0C,CAACS,SAAmB,IAAIT,gBAAgBc,KAAK;IACzG,MAAMC,WAAWlB,KAAKe,IAAI,CAACN,MAAMO;IAEjCjB,GAAGoB,IAAI,CAACD,UAAU,CAACE;QACjB,IAAI,CAACA,KAAK,OAAOT,YAAY,iBAAiB;QAE9C,MAAMU,QAAQ,IAAIpB,MAAM;QACxBoB,MAAMC,KAAK,CAAC,CAACC,KAAOnB,iBAAiBS,cAAcC,WAAWJ,SAAS,CAACU,MAAQG,GAAGH;QACnFC,MAAMC,KAAK,CAAC,CAACC,KAAOjB,iBAAiBE,UAAUM,WAAW,CAACM,MAAQG,GAAGH;QACtEC,MAAMC,KAAK,CAAC,CAACC,KAAOlB,SAASS,WAAWI,UAAU,CAACE,MAAQG,GAAGH;QAC9DC,MAAMG,KAAK,CAACb;IACd;AACF"}
@@ -7,18 +7,18 @@ export default function installPosix(buildPath, dest, _options, callback) {
7
7
  fs.stat(buildTarget, (err)=>{
8
8
  if (!err) return callback(); // already exists
9
9
  const queue = new Queue(1);
10
- queue.defer(spawn.bind(null, './configure', [
11
- `--prefix=${dest}`
12
- ], {
13
- stdio: 'inherit',
14
- cwd: buildPath
15
- }));
16
- queue.defer(spawn.bind(null, 'make', [
17
- 'install'
18
- ], {
19
- stdio: 'inherit',
20
- cwd: buildPath
21
- }, callback));
10
+ queue.defer((cb)=>spawn('./configure', [
11
+ `--prefix=${dest}`
12
+ ], {
13
+ stdio: 'inherit',
14
+ cwd: buildPath
15
+ }, (err)=>cb(err)));
16
+ queue.defer((cb)=>spawn('make', [
17
+ 'install'
18
+ ], {
19
+ stdio: 'inherit',
20
+ cwd: buildPath
21
+ }, (err)=>cb(err)));
22
22
  queue.await(callback);
23
23
  });
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installSource/buildPosix.ts"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport fs from 'fs';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport type { InstallOptions, NoParamCallback } from '../../types.ts';\n\nexport default function installPosix(buildPath: string, dest: string, _options: InstallOptions, callback: NoParamCallback): void {\n const buildTarget = path.join(dest, 'node');\n\n fs.stat(buildTarget, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(spawn.bind(null, './configure', [`--prefix=${dest}`], { stdio: 'inherit', cwd: buildPath }));\n queue.defer(spawn.bind(null, 'make', ['install'], { stdio: 'inherit', cwd: buildPath }, callback));\n queue.await(callback);\n });\n}\n"],"names":["spawn","fs","path","Queue","installPosix","buildPath","dest","_options","callback","buildTarget","join","stat","err","queue","defer","bind","stdio","cwd","await"],"mappings":"AAAA,OAAOA,WAAW,iBAAiB;AACnC,OAAOC,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAI7B,eAAe,SAASC,aAAaC,SAAiB,EAAEC,IAAY,EAAEC,QAAwB,EAAEC,QAAyB;IACvH,MAAMC,cAAcP,KAAKQ,IAAI,CAACJ,MAAM;IAEpCL,GAAGU,IAAI,CAACF,aAAa,CAACG;QACpB,IAAI,CAACA,KAAK,OAAOJ,YAAY,iBAAiB;QAE9C,MAAMK,QAAQ,IAAIV,MAAM;QACxBU,MAAMC,KAAK,CAACd,MAAMe,IAAI,CAAC,MAAM,eAAe;YAAC,CAAC,SAAS,EAAET,MAAM;SAAC,EAAE;YAAEU,OAAO;YAAWC,KAAKZ;QAAU;QACrGQ,MAAMC,KAAK,CAACd,MAAMe,IAAI,CAAC,MAAM,QAAQ;YAAC;SAAU,EAAE;YAAEC,OAAO;YAAWC,KAAKZ;QAAU,GAAGG;QACxFK,MAAMK,KAAK,CAACV;IACd;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installSource/buildPosix.ts"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport fs from 'fs';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport type { InstallOptions, NoParamCallback } from '../../types.ts';\n\nexport default function installPosix(buildPath: string, dest: string, _options: InstallOptions, callback: NoParamCallback): void {\n const buildTarget = path.join(dest, 'node');\n\n fs.stat(buildTarget, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer((cb) => spawn('./configure', [`--prefix=${dest}`], { stdio: 'inherit', cwd: buildPath }, (err) => cb(err)));\n queue.defer((cb) => spawn('make', ['install'], { stdio: 'inherit', cwd: buildPath }, (err) => cb(err)));\n queue.await(callback);\n });\n}\n"],"names":["spawn","fs","path","Queue","installPosix","buildPath","dest","_options","callback","buildTarget","join","stat","err","queue","defer","cb","stdio","cwd","await"],"mappings":"AAAA,OAAOA,WAAW,iBAAiB;AACnC,OAAOC,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAI7B,eAAe,SAASC,aAAaC,SAAiB,EAAEC,IAAY,EAAEC,QAAwB,EAAEC,QAAyB;IACvH,MAAMC,cAAcP,KAAKQ,IAAI,CAACJ,MAAM;IAEpCL,GAAGU,IAAI,CAACF,aAAa,CAACG;QACpB,IAAI,CAACA,KAAK,OAAOJ,YAAY,iBAAiB;QAE9C,MAAMK,QAAQ,IAAIV,MAAM;QACxBU,MAAMC,KAAK,CAAC,CAACC,KAAOf,MAAM,eAAe;gBAAC,CAAC,SAAS,EAAEM,MAAM;aAAC,EAAE;gBAAEU,OAAO;gBAAWC,KAAKZ;YAAU,GAAG,CAACO,MAAQG,GAAGH;QACjHC,MAAMC,KAAK,CAAC,CAACC,KAAOf,MAAM,QAAQ;gBAAC;aAAU,EAAE;gBAAEgB,OAAO;gBAAWC,KAAKZ;YAAU,GAAG,CAACO,MAAQG,GAAGH;QACjGC,MAAMK,KAAK,CAACV;IACd;AACF"}
@@ -9,11 +9,19 @@ export default function installWin32(buildPath, dest, _options, callback) {
9
9
  fs.stat(buildTarget, (err)=>{
10
10
  if (!err) return callback(); // already exists
11
11
  const queue = new Queue(1);
12
- queue.defer(fs.stat.bind(null, buildSource, (err)=>!err ? callback() : spawn('./vcbuild', [], {
13
- stdio: 'inherit',
14
- cwd: buildPath
15
- })));
16
- queue.defer(conditionalCopy.bind(null, buildSource, buildTarget, false));
12
+ queue.defer((cb)=>{
13
+ fs.stat(buildSource, (err)=>{
14
+ if (!err) {
15
+ callback();
16
+ return;
17
+ }
18
+ spawn('./vcbuild', [], {
19
+ stdio: 'inherit',
20
+ cwd: buildPath
21
+ }, (spawnErr)=>cb(spawnErr));
22
+ });
23
+ });
24
+ queue.defer((cb)=>conditionalCopy(buildSource, buildTarget, false, (err)=>cb(err)));
17
25
  queue.await(callback);
18
26
  });
19
27
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installSource/buildWin32.ts"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport fs from 'fs';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport conditionalCopy from '../../lib/conditionalCopy.ts';\n\nimport type { InstallOptions, NoParamCallback } from '../../types.ts';\n\nexport default function installWin32(buildPath: string, dest: string, _options: InstallOptions, callback: NoParamCallback): void {\n const buildSource = path.join(buildPath, 'out', 'Release', 'node.exe');\n const buildTarget = path.join(dest, 'node.exe');\n\n fs.stat(buildTarget, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(fs.stat.bind(null, buildSource, (err) => (!err ? callback() : spawn('./vcbuild', [], { stdio: 'inherit', cwd: buildPath }))));\n queue.defer(conditionalCopy.bind(null, buildSource, buildTarget, false));\n queue.await(callback);\n });\n}\n"],"names":["spawn","fs","path","Queue","conditionalCopy","installWin32","buildPath","dest","_options","callback","buildSource","join","buildTarget","stat","err","queue","defer","bind","stdio","cwd","await"],"mappings":"AAAA,OAAOA,WAAW,iBAAiB;AACnC,OAAOC,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,qBAAqB,+BAA+B;AAI3D,eAAe,SAASC,aAAaC,SAAiB,EAAEC,IAAY,EAAEC,QAAwB,EAAEC,QAAyB;IACvH,MAAMC,cAAcR,KAAKS,IAAI,CAACL,WAAW,OAAO,WAAW;IAC3D,MAAMM,cAAcV,KAAKS,IAAI,CAACJ,MAAM;IAEpCN,GAAGY,IAAI,CAACD,aAAa,CAACE;QACpB,IAAI,CAACA,KAAK,OAAOL,YAAY,iBAAiB;QAE9C,MAAMM,QAAQ,IAAIZ,MAAM;QACxBY,MAAMC,KAAK,CAACf,GAAGY,IAAI,CAACI,IAAI,CAAC,MAAMP,aAAa,CAACI,MAAS,CAACA,MAAML,aAAaT,MAAM,aAAa,EAAE,EAAE;gBAAEkB,OAAO;gBAAWC,KAAKb;YAAU;QACpIS,MAAMC,KAAK,CAACZ,gBAAgBa,IAAI,CAAC,MAAMP,aAAaE,aAAa;QACjEG,MAAMK,KAAK,CAACX;IACd;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installSource/buildWin32.ts"],"sourcesContent":["import spawn from 'cross-spawn-cb';\nimport fs from 'fs';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport conditionalCopy from '../../lib/conditionalCopy.ts';\n\nimport type { InstallOptions, NoParamCallback } from '../../types.ts';\n\nexport default function installWin32(buildPath: string, dest: string, _options: InstallOptions, callback: NoParamCallback): void {\n const buildSource = path.join(buildPath, 'out', 'Release', 'node.exe');\n const buildTarget = path.join(dest, 'node.exe');\n\n fs.stat(buildTarget, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer((cb) => {\n fs.stat(buildSource, (err: NodeJS.ErrnoException | null) => {\n if (!err) {\n callback();\n return;\n }\n spawn('./vcbuild', [], { stdio: 'inherit', cwd: buildPath }, (spawnErr) => cb(spawnErr));\n });\n });\n queue.defer((cb) => conditionalCopy(buildSource, buildTarget, false, (err) => cb(err)));\n queue.await(callback);\n });\n}\n"],"names":["spawn","fs","path","Queue","conditionalCopy","installWin32","buildPath","dest","_options","callback","buildSource","join","buildTarget","stat","err","queue","defer","cb","stdio","cwd","spawnErr","await"],"mappings":"AAAA,OAAOA,WAAW,iBAAiB;AACnC,OAAOC,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,qBAAqB,+BAA+B;AAI3D,eAAe,SAASC,aAAaC,SAAiB,EAAEC,IAAY,EAAEC,QAAwB,EAAEC,QAAyB;IACvH,MAAMC,cAAcR,KAAKS,IAAI,CAACL,WAAW,OAAO,WAAW;IAC3D,MAAMM,cAAcV,KAAKS,IAAI,CAACJ,MAAM;IAEpCN,GAAGY,IAAI,CAACD,aAAa,CAACE;QACpB,IAAI,CAACA,KAAK,OAAOL,YAAY,iBAAiB;QAE9C,MAAMM,QAAQ,IAAIZ,MAAM;QACxBY,MAAMC,KAAK,CAAC,CAACC;YACXhB,GAAGY,IAAI,CAACH,aAAa,CAACI;gBACpB,IAAI,CAACA,KAAK;oBACRL;oBACA;gBACF;gBACAT,MAAM,aAAa,EAAE,EAAE;oBAAEkB,OAAO;oBAAWC,KAAKb;gBAAU,GAAG,CAACc,WAAaH,GAAGG;YAChF;QACF;QACAL,MAAMC,KAAK,CAAC,CAACC,KAAOb,gBAAgBM,aAAaE,aAAa,OAAO,CAACE,MAAQG,GAAGH;QACjFC,MAAMM,KAAK,CAACZ;IACd;AACF"}
@@ -16,10 +16,10 @@ export default function InstallSource(distPath, dest, options, callback) {
16
16
  const tempBuildPath = tempSuffix(path.join(options.buildPath, path.basename(distPath)));
17
17
  const cachePath = path.join(options.cachePath, path.basename(downloadPath));
18
18
  const queue = new Queue(1);
19
- queue.defer(conditionalCache.bind(null, downloadPath, cachePath));
20
- queue.defer(validateDownload.bind(null, distPath, cachePath));
21
- queue.defer(extract.bind(null, cachePath, tempBuildPath));
22
- queue.defer(build.bind(null, tempBuildPath, dest, options));
19
+ queue.defer((cb)=>conditionalCache(downloadPath, cachePath, options, (err)=>cb(err)));
20
+ queue.defer((cb)=>validateDownload(distPath, cachePath, (err)=>cb(err)));
21
+ queue.defer((cb)=>extract(cachePath, tempBuildPath, (err)=>cb(err)));
22
+ queue.defer((cb)=>build(tempBuildPath, dest, options, (err)=>cb(err)));
23
23
  queue.await((err)=>{
24
24
  // Always clean up temp build directory
25
25
  safeRm(tempBuildPath, ()=>callback(err));
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installSource/index.ts"],"sourcesContent":["import { safeRm } from 'fs-remove-compat';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport tempSuffix from 'temp-suffix';\n\nimport { NODE_DIST_BASE_URL } from '../../constants.ts';\nimport conditionalCache from '../../lib/conditionalCache.ts';\nimport extract from '../../lib/extract.ts';\nimport type { InstallOptions, NoParamCallback } from '../../types.ts';\nimport validateDownload from '../validateDownload.ts';\nimport buildPosix from './buildPosix.ts';\nimport buildWin32 from './buildWin32.ts';\n\nexport default function InstallSource(distPath: string, dest: string, options: InstallOptions, callback: NoParamCallback): void {\n const platform = options.platform;\n const build = platform === 'win32' ? buildWin32 : buildPosix;\n const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;\n // Use temp build path to avoid race conditions with parallel builds\n const tempBuildPath = tempSuffix(path.join(options.buildPath, path.basename(distPath)));\n const cachePath = path.join(options.cachePath, path.basename(downloadPath));\n\n const queue = new Queue(1);\n queue.defer(conditionalCache.bind(null, downloadPath, cachePath));\n queue.defer(validateDownload.bind(null, distPath, cachePath));\n queue.defer(extract.bind(null, cachePath, tempBuildPath));\n queue.defer(build.bind(null, tempBuildPath, dest, options));\n queue.await((err) => {\n // Always clean up temp build directory\n safeRm(tempBuildPath, () => callback(err));\n });\n}\n"],"names":["safeRm","path","Queue","tempSuffix","NODE_DIST_BASE_URL","conditionalCache","extract","validateDownload","buildPosix","buildWin32","InstallSource","distPath","dest","options","callback","platform","build","downloadPath","tempBuildPath","join","buildPath","basename","cachePath","queue","defer","bind","await","err"],"mappings":"AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,gBAAgB,cAAc;AAErC,SAASC,kBAAkB,QAAQ,qBAAqB;AACxD,OAAOC,sBAAsB,gCAAgC;AAC7D,OAAOC,aAAa,uBAAuB;AAE3C,OAAOC,sBAAsB,yBAAyB;AACtD,OAAOC,gBAAgB,kBAAkB;AACzC,OAAOC,gBAAgB,kBAAkB;AAEzC,eAAe,SAASC,cAAcC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAAyB;IACtH,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,QAAQD,aAAa,UAAUN,aAAaD;IAClD,MAAMS,eAAe,GAAGb,mBAAmB,CAAC,EAAEO,UAAU;IACxD,oEAAoE;IACpE,MAAMO,gBAAgBf,WAAWF,KAAKkB,IAAI,CAACN,QAAQO,SAAS,EAAEnB,KAAKoB,QAAQ,CAACV;IAC5E,MAAMW,YAAYrB,KAAKkB,IAAI,CAACN,QAAQS,SAAS,EAAErB,KAAKoB,QAAQ,CAACJ;IAE7D,MAAMM,QAAQ,IAAIrB,MAAM;IACxBqB,MAAMC,KAAK,CAACnB,iBAAiBoB,IAAI,CAAC,MAAMR,cAAcK;IACtDC,MAAMC,KAAK,CAACjB,iBAAiBkB,IAAI,CAAC,MAAMd,UAAUW;IAClDC,MAAMC,KAAK,CAAClB,QAAQmB,IAAI,CAAC,MAAMH,WAAWJ;IAC1CK,MAAMC,KAAK,CAACR,MAAMS,IAAI,CAAC,MAAMP,eAAeN,MAAMC;IAClDU,MAAMG,KAAK,CAAC,CAACC;QACX,uCAAuC;QACvC3B,OAAOkB,eAAe,IAAMJ,SAASa;IACvC;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/installSource/index.ts"],"sourcesContent":["import { safeRm } from 'fs-remove-compat';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport tempSuffix from 'temp-suffix';\n\nimport { NODE_DIST_BASE_URL } from '../../constants.ts';\nimport conditionalCache from '../../lib/conditionalCache.ts';\nimport extract from '../../lib/extract.ts';\nimport type { InstallOptions, NoParamCallback } from '../../types.ts';\nimport validateDownload from '../validateDownload.ts';\nimport buildPosix from './buildPosix.ts';\nimport buildWin32 from './buildWin32.ts';\n\nexport default function InstallSource(distPath: string, dest: string, options: InstallOptions, callback: NoParamCallback): void {\n const platform = options.platform;\n const build = platform === 'win32' ? buildWin32 : buildPosix;\n const downloadPath = `${NODE_DIST_BASE_URL}/${distPath}`;\n // Use temp build path to avoid race conditions with parallel builds\n const tempBuildPath = tempSuffix(path.join(options.buildPath!, path.basename(distPath)));\n const cachePath = path.join(options.cachePath!, path.basename(downloadPath));\n\n const queue = new Queue(1);\n queue.defer((cb) => conditionalCache(downloadPath, cachePath, options, (err) => cb(err)));\n queue.defer((cb) => validateDownload(distPath, cachePath, (err) => cb(err)));\n queue.defer((cb) => extract(cachePath, tempBuildPath, (err) => cb(err)));\n queue.defer((cb) => build(tempBuildPath, dest, options, (err) => cb(err)));\n queue.await((err) => {\n // Always clean up temp build directory\n safeRm(tempBuildPath, () => callback(err));\n });\n}\n"],"names":["safeRm","path","Queue","tempSuffix","NODE_DIST_BASE_URL","conditionalCache","extract","validateDownload","buildPosix","buildWin32","InstallSource","distPath","dest","options","callback","platform","build","downloadPath","tempBuildPath","join","buildPath","basename","cachePath","queue","defer","cb","err","await"],"mappings":"AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,OAAOC,gBAAgB,cAAc;AAErC,SAASC,kBAAkB,QAAQ,qBAAqB;AACxD,OAAOC,sBAAsB,gCAAgC;AAC7D,OAAOC,aAAa,uBAAuB;AAE3C,OAAOC,sBAAsB,yBAAyB;AACtD,OAAOC,gBAAgB,kBAAkB;AACzC,OAAOC,gBAAgB,kBAAkB;AAEzC,eAAe,SAASC,cAAcC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAAyB;IACtH,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,QAAQD,aAAa,UAAUN,aAAaD;IAClD,MAAMS,eAAe,GAAGb,mBAAmB,CAAC,EAAEO,UAAU;IACxD,oEAAoE;IACpE,MAAMO,gBAAgBf,WAAWF,KAAKkB,IAAI,CAACN,QAAQO,SAAS,EAAGnB,KAAKoB,QAAQ,CAACV;IAC7E,MAAMW,YAAYrB,KAAKkB,IAAI,CAACN,QAAQS,SAAS,EAAGrB,KAAKoB,QAAQ,CAACJ;IAE9D,MAAMM,QAAQ,IAAIrB,MAAM;IACxBqB,MAAMC,KAAK,CAAC,CAACC,KAAOpB,iBAAiBY,cAAcK,WAAWT,SAAS,CAACa,MAAQD,GAAGC;IACnFH,MAAMC,KAAK,CAAC,CAACC,KAAOlB,iBAAiBI,UAAUW,WAAW,CAACI,MAAQD,GAAGC;IACtEH,MAAMC,KAAK,CAAC,CAACC,KAAOnB,QAAQgB,WAAWJ,eAAe,CAACQ,MAAQD,GAAGC;IAClEH,MAAMC,KAAK,CAAC,CAACC,KAAOT,MAAME,eAAeN,MAAMC,SAAS,CAACa,MAAQD,GAAGC;IACpEH,MAAMI,KAAK,CAAC,CAACD;QACX,uCAAuC;QACvC1B,OAAOkB,eAAe,IAAMJ,SAASY;IACvC;AACF"}
@@ -7,10 +7,11 @@ export default function validateDownload(distPath, installPath, callback) {
7
7
  const version = distPath.split('/')[0];
8
8
  const downloadPath = `${NODE_DIST_BASE_URL}/${version}/SHASUMS256.txt`;
9
9
  getContent(downloadPath, 'utf8', (err, res)=>{
10
+ var _ref, _text_split__split_pop;
10
11
  if (err) return callback(err);
11
- const text = res.content;
12
+ const text = (_ref = res === null || res === void 0 ? void 0 : res.content) !== null && _ref !== void 0 ? _ref : '';
12
13
  const filename = distPath.split('/').slice(1).join('/');
13
- const expected = text.split(filename)[0].split('\n').pop().trim();
14
+ const expected = ((_text_split__split_pop = text.split(filename)[0].split('\n').pop()) !== null && _text_split__split_pop !== void 0 ? _text_split__split_pop : '').trim();
14
15
  const hash = crypto.createHash('sha256');
15
16
  const stream = fs.createReadStream(installPath);
16
17
  stream.on('data', (data)=>hash.update(data));
@@ -28,7 +29,7 @@ export default function validateDownload(distPath, installPath, callback) {
28
29
  expected,
29
30
  match
30
31
  };
31
- match ? callback(null, checksum) : callback(new Error(`${filename} checksum failed`), checksum);
32
+ match ? callback(undefined, checksum) : callback(new Error(`${filename} checksum failed`), checksum);
32
33
  });
33
34
  });
34
35
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/validateDownload.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport { getContent } from 'get-file-compat';\nimport oo from 'on-one';\nimport { NODE_DIST_BASE_URL } from '../constants.ts';\n\nimport type { ChecksumCallback, ChecksumResult } from '../types.ts';\n\nexport default function validateDownload(distPath: string, installPath: string, callback: ChecksumCallback): void {\n const version = distPath.split('/')[0];\n const downloadPath = `${NODE_DIST_BASE_URL}/${version}/SHASUMS256.txt`;\n getContent(downloadPath, 'utf8', (err, res) => {\n if (err) return callback(err);\n const text = res.content;\n const filename = distPath.split('/').slice(1).join('/');\n const expected = text.split(filename)[0].split('\\n').pop().trim();\n const hash = crypto.createHash('sha256');\n const stream = fs.createReadStream(installPath);\n stream.on('data', (data) => hash.update(data));\n oo(stream, ['error', 'end', 'close', 'finish'], (err?: Error) => {\n if (err) return callback(err);\n const actual = hash.digest('hex');\n const match = actual === expected;\n const checksum: ChecksumResult = { actual, expected, match };\n match ? callback(null, checksum) : callback(new Error(`${filename} checksum failed`), checksum);\n });\n });\n}\n"],"names":["crypto","fs","getContent","oo","NODE_DIST_BASE_URL","validateDownload","distPath","installPath","callback","version","split","downloadPath","err","res","text","content","filename","slice","join","expected","pop","trim","hash","createHash","stream","createReadStream","on","data","update","actual","digest","match","checksum","Error"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,QAAQ,KAAK;AACpB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,OAAOC,QAAQ,SAAS;AACxB,SAASC,kBAAkB,QAAQ,kBAAkB;AAIrD,eAAe,SAASC,iBAAiBC,QAAgB,EAAEC,WAAmB,EAAEC,QAA0B;IACxG,MAAMC,UAAUH,SAASI,KAAK,CAAC,IAAI,CAAC,EAAE;IACtC,MAAMC,eAAe,GAAGP,mBAAmB,CAAC,EAAEK,QAAQ,eAAe,CAAC;IACtEP,WAAWS,cAAc,QAAQ,CAACC,KAAKC;QACrC,IAAID,KAAK,OAAOJ,SAASI;QACzB,MAAME,OAAOD,IAAIE,OAAO;QACxB,MAAMC,WAAWV,SAASI,KAAK,CAAC,KAAKO,KAAK,CAAC,GAAGC,IAAI,CAAC;QACnD,MAAMC,WAAWL,KAAKJ,KAAK,CAACM,SAAS,CAAC,EAAE,CAACN,KAAK,CAAC,MAAMU,GAAG,GAAGC,IAAI;QAC/D,MAAMC,OAAOtB,OAAOuB,UAAU,CAAC;QAC/B,MAAMC,SAASvB,GAAGwB,gBAAgB,CAAClB;QACnCiB,OAAOE,EAAE,CAAC,QAAQ,CAACC,OAASL,KAAKM,MAAM,CAACD;QACxCxB,GAAGqB,QAAQ;YAAC;YAAS;YAAO;YAAS;SAAS,EAAE,CAACZ;YAC/C,IAAIA,KAAK,OAAOJ,SAASI;YACzB,MAAMiB,SAASP,KAAKQ,MAAM,CAAC;YAC3B,MAAMC,QAAQF,WAAWV;YACzB,MAAMa,WAA2B;gBAAEH;gBAAQV;gBAAUY;YAAM;YAC3DA,QAAQvB,SAAS,MAAMwB,YAAYxB,SAAS,IAAIyB,MAAM,GAAGjB,SAAS,gBAAgB,CAAC,GAAGgB;QACxF;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNode/validateDownload.ts"],"sourcesContent":["import crypto from 'crypto';\nimport fs from 'fs';\nimport { getContent } from 'get-file-compat';\nimport oo from 'on-one';\nimport { NODE_DIST_BASE_URL } from '../constants.ts';\n\nimport type { ChecksumCallback, ChecksumResult } from '../types.ts';\n\nexport default function validateDownload(distPath: string, installPath: string, callback: ChecksumCallback): void {\n const version = distPath.split('/')[0];\n const downloadPath = `${NODE_DIST_BASE_URL}/${version}/SHASUMS256.txt`;\n getContent(downloadPath, 'utf8', (err, res) => {\n if (err) return callback(err);\n const text = res?.content ?? '';\n const filename = distPath.split('/').slice(1).join('/');\n const expected = (text.split(filename)[0].split('\\n').pop() ?? '').trim();\n const hash = crypto.createHash('sha256');\n const stream = fs.createReadStream(installPath);\n stream.on('data', (data) => hash.update(data));\n oo(stream, ['error', 'end', 'close', 'finish'], (err: Error | null) => {\n if (err) return callback(err);\n const actual = hash.digest('hex');\n const match = actual === expected;\n const checksum: ChecksumResult = { actual, expected, match };\n match ? callback(undefined, checksum) : callback(new Error(`${filename} checksum failed`), checksum);\n });\n });\n}\n"],"names":["crypto","fs","getContent","oo","NODE_DIST_BASE_URL","validateDownload","distPath","installPath","callback","version","split","downloadPath","err","res","text","content","filename","slice","join","expected","pop","trim","hash","createHash","stream","createReadStream","on","data","update","actual","digest","match","checksum","undefined","Error"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,QAAQ,KAAK;AACpB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,OAAOC,QAAQ,SAAS;AACxB,SAASC,kBAAkB,QAAQ,kBAAkB;AAIrD,eAAe,SAASC,iBAAiBC,QAAgB,EAAEC,WAAmB,EAAEC,QAA0B;IACxG,MAAMC,UAAUH,SAASI,KAAK,CAAC,IAAI,CAAC,EAAE;IACtC,MAAMC,eAAe,GAAGP,mBAAmB,CAAC,EAAEK,QAAQ,eAAe,CAAC;IACtEP,WAAWS,cAAc,QAAQ,CAACC,KAAKC;kBAInBC;QAHlB,IAAIF,KAAK,OAAOJ,SAASI;QACzB,MAAME,eAAOD,gBAAAA,0BAAAA,IAAKE,OAAO,uCAAI;QAC7B,MAAMC,WAAWV,SAASI,KAAK,CAAC,KAAKO,KAAK,CAAC,GAAGC,IAAI,CAAC;QACnD,MAAMC,WAAW,EAACL,yBAAAA,KAAKJ,KAAK,CAACM,SAAS,CAAC,EAAE,CAACN,KAAK,CAAC,MAAMU,GAAG,gBAAvCN,oCAAAA,yBAA6C,IAAIO,IAAI;QACvE,MAAMC,OAAOtB,OAAOuB,UAAU,CAAC;QAC/B,MAAMC,SAASvB,GAAGwB,gBAAgB,CAAClB;QACnCiB,OAAOE,EAAE,CAAC,QAAQ,CAACC,OAASL,KAAKM,MAAM,CAACD;QACxCxB,GAAGqB,QAAQ;YAAC;YAAS;YAAO;YAAS;SAAS,EAAE,CAACZ;YAC/C,IAAIA,KAAK,OAAOJ,SAASI;YACzB,MAAMiB,SAASP,KAAKQ,MAAM,CAAC;YAC3B,MAAMC,QAAQF,WAAWV;YACzB,MAAMa,WAA2B;gBAAEH;gBAAQV;gBAAUY;YAAM;YAC3DA,QAAQvB,SAASyB,WAAWD,YAAYxB,SAAS,IAAI0B,MAAM,GAAGlB,SAAS,gBAAgB,CAAC,GAAGgB;QAC7F;IACF;AACF"}
@@ -1,3 +1,3 @@
1
1
  import type { InstallOptions } from '../types.js';
2
- export type Callback = (error?: Error, missing?: string[]) => void;
2
+ export type Callback = (error?: Error | null, missing?: string[]) => void;
3
3
  export default function checkMissing(dest: string, options: InstallOptions, callback: Callback): void;
@@ -16,5 +16,5 @@ export default function checkMissing(dest, options, callback) {
16
16
  const queue = new Queue();
17
17
  queue.defer(check.bind(null, nodePath, 'node'));
18
18
  queue.defer(check.bind(null, npmPackagePath, 'npm'));
19
- queue.await(()=>callback(null, missing));
19
+ queue.await(()=>callback(undefined, missing));
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/checkMissing.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport { NODE_FILE_PATHS, NPM_PACKAGE_PATH } from '../constants.ts';\n\nimport type { InstallOptions } from '../types.ts';\n\nexport type Callback = (error?: Error, missing?: string[]) => void;\n\nexport default function checkMissing(dest: string, options: InstallOptions, callback: Callback): void {\n const platform = options.platform;\n const nodePath = NODE_FILE_PATHS[platform] || NODE_FILE_PATHS.posix;\n const npmPackagePath = NPM_PACKAGE_PATH[platform] || NPM_PACKAGE_PATH.posix;\n\n const missing: string[] = [];\n function check(filePath, key, cb) {\n fs.stat(path.join(dest, filePath), (err) => {\n if (err && missing.indexOf(key) < 0) missing.push(key);\n cb();\n });\n }\n\n const queue = new Queue();\n queue.defer(check.bind(null, nodePath, 'node'));\n queue.defer(check.bind(null, npmPackagePath, 'npm'));\n queue.await(() => callback(null, missing));\n}\n"],"names":["fs","path","Queue","NODE_FILE_PATHS","NPM_PACKAGE_PATH","checkMissing","dest","options","callback","platform","nodePath","posix","npmPackagePath","missing","check","filePath","key","cb","stat","join","err","indexOf","push","queue","defer","bind","await"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,SAASC,eAAe,EAAEC,gBAAgB,QAAQ,kBAAkB;AAMpE,eAAe,SAASC,aAAaC,IAAY,EAAEC,OAAuB,EAAEC,QAAkB;IAC5F,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,WAAWP,eAAe,CAACM,SAAS,IAAIN,gBAAgBQ,KAAK;IACnE,MAAMC,iBAAiBR,gBAAgB,CAACK,SAAS,IAAIL,iBAAiBO,KAAK;IAE3E,MAAME,UAAoB,EAAE;IAC5B,SAASC,MAAMC,QAAQ,EAAEC,GAAG,EAAEC,EAAE;QAC9BjB,GAAGkB,IAAI,CAACjB,KAAKkB,IAAI,CAACb,MAAMS,WAAW,CAACK;YAClC,IAAIA,OAAOP,QAAQQ,OAAO,CAACL,OAAO,GAAGH,QAAQS,IAAI,CAACN;YAClDC;QACF;IACF;IAEA,MAAMM,QAAQ,IAAIrB;IAClBqB,MAAMC,KAAK,CAACV,MAAMW,IAAI,CAAC,MAAMf,UAAU;IACvCa,MAAMC,KAAK,CAACV,MAAMW,IAAI,CAAC,MAAMb,gBAAgB;IAC7CW,MAAMG,KAAK,CAAC,IAAMlB,SAAS,MAAMK;AACnC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/checkMissing.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport { NODE_FILE_PATHS, NPM_PACKAGE_PATH } from '../constants.ts';\n\nimport type { InstallOptions } from '../types.ts';\n\nexport type Callback = (error?: Error | null, missing?: string[]) => void;\n\nexport default function checkMissing(dest: string, options: InstallOptions, callback: Callback): void {\n const platform = options.platform;\n const nodePath = (NODE_FILE_PATHS as Record<string, string>)[platform as string] || NODE_FILE_PATHS.posix;\n const npmPackagePath = (NPM_PACKAGE_PATH as Record<string, string>)[platform as string] || NPM_PACKAGE_PATH.posix;\n\n const missing: string[] = [];\n function check(filePath: string, key: string, cb: () => void) {\n fs.stat(path.join(dest, filePath), (err) => {\n if (err && missing.indexOf(key) < 0) missing.push(key);\n cb();\n });\n }\n\n const queue = new Queue();\n queue.defer(check.bind(null, nodePath, 'node'));\n queue.defer(check.bind(null, npmPackagePath, 'npm'));\n queue.await(() => callback(undefined, missing));\n}\n"],"names":["fs","path","Queue","NODE_FILE_PATHS","NPM_PACKAGE_PATH","checkMissing","dest","options","callback","platform","nodePath","posix","npmPackagePath","missing","check","filePath","key","cb","stat","join","err","indexOf","push","queue","defer","bind","await","undefined"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAE7B,SAASC,eAAe,EAAEC,gBAAgB,QAAQ,kBAAkB;AAMpE,eAAe,SAASC,aAAaC,IAAY,EAAEC,OAAuB,EAAEC,QAAkB;IAC5F,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,WAAW,AAACP,eAA0C,CAACM,SAAmB,IAAIN,gBAAgBQ,KAAK;IACzG,MAAMC,iBAAiB,AAACR,gBAA2C,CAACK,SAAmB,IAAIL,iBAAiBO,KAAK;IAEjH,MAAME,UAAoB,EAAE;IAC5B,SAASC,MAAMC,QAAgB,EAAEC,GAAW,EAAEC,EAAc;QAC1DjB,GAAGkB,IAAI,CAACjB,KAAKkB,IAAI,CAACb,MAAMS,WAAW,CAACK;YAClC,IAAIA,OAAOP,QAAQQ,OAAO,CAACL,OAAO,GAAGH,QAAQS,IAAI,CAACN;YAClDC;QACF;IACF;IAEA,MAAMM,QAAQ,IAAIrB;IAClBqB,MAAMC,KAAK,CAACV,MAAMW,IAAI,CAAC,MAAMf,UAAU;IACvCa,MAAMC,KAAK,CAACV,MAAMW,IAAI,CAAC,MAAMb,gBAAgB;IAC7CW,MAAMG,KAAK,CAAC,IAAMlB,SAASmB,WAAWd;AACxC"}
@@ -5,9 +5,9 @@ export default function conditionalCache(endpoint, dest, options, callback) {
5
5
  callback = typeof options === 'function' ? options : callback;
6
6
  options = typeof options === 'function' ? {} : options || {};
7
7
  fs.stat(dest, (err)=>{
8
- if (!err) return callback(); // already exists
8
+ if (!err) return callback === null || callback === void 0 ? void 0 : callback(); // already exists
9
9
  ensureDestinationParent(dest, (err)=>{
10
- err ? callback(err) : getFile(endpoint, dest, callback);
10
+ err ? callback === null || callback === void 0 ? void 0 : callback(err) : getFile(endpoint, dest, (err)=>callback === null || callback === void 0 ? void 0 : callback(err));
11
11
  });
12
12
  });
13
13
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalCache.ts"],"sourcesContent":["import fs from 'fs';\nimport { getFile } from 'get-file-compat';\nimport type { InstallOptions, NoParamCallback } from '../types.ts';\nimport ensureDestinationParent from './ensureDestinationParent.ts';\n\nexport default function conditionalCache(endpoint: string, dest: string, options: InstallOptions, callback?: NoParamCallback): void {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as InstallOptions);\n\n fs.stat(dest, (err) => {\n if (!err) return callback(); // already exists\n ensureDestinationParent(dest, (err) => {\n err ? callback(err) : getFile(endpoint, dest, callback);\n });\n });\n}\n"],"names":["fs","getFile","ensureDestinationParent","conditionalCache","endpoint","dest","options","callback","stat","err"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,SAASC,OAAO,QAAQ,kBAAkB;AAE1C,OAAOC,6BAA6B,+BAA+B;AAEnE,eAAe,SAASC,iBAAiBC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAA0B;IAC1HA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;IACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;IAE7DN,GAAGQ,IAAI,CAACH,MAAM,CAACI;QACb,IAAI,CAACA,KAAK,OAAOF,YAAY,iBAAiB;QAC9CL,wBAAwBG,MAAM,CAACI;YAC7BA,MAAMF,SAASE,OAAOR,QAAQG,UAAUC,MAAME;QAChD;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalCache.ts"],"sourcesContent":["import fs from 'fs';\nimport { getFile } from 'get-file-compat';\nimport type { InstallOptions, NoParamCallback } from '../types.ts';\nimport ensureDestinationParent from './ensureDestinationParent.ts';\n\nexport default function conditionalCache(endpoint: string, dest: string, options: InstallOptions, callback?: NoParamCallback): void {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as InstallOptions);\n\n fs.stat(dest, (err) => {\n if (!err) return callback?.(); // already exists\n ensureDestinationParent(dest, (err) => {\n err ? callback?.(err) : getFile(endpoint, dest, (err: Error | null) => callback?.(err));\n });\n });\n}\n"],"names":["fs","getFile","ensureDestinationParent","conditionalCache","endpoint","dest","options","callback","stat","err"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,SAASC,OAAO,QAAQ,kBAAkB;AAE1C,OAAOC,6BAA6B,+BAA+B;AAEnE,eAAe,SAASC,iBAAiBC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAA0B;IAC1HA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;IACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;IAE7DN,GAAGQ,IAAI,CAACH,MAAM,CAACI;QACb,IAAI,CAACA,KAAK,OAAOF,qBAAAA,+BAAAA,YAAc,iBAAiB;QAChDL,wBAAwBG,MAAM,CAACI;YAC7BA,MAAMF,qBAAAA,+BAAAA,SAAWE,OAAOR,QAAQG,UAAUC,MAAM,CAACI,MAAsBF,qBAAAA,+BAAAA,SAAWE;QACpF;IACF;AACF"}
@@ -5,7 +5,7 @@ export default function conditionalCopy(src, dest, optional, callback) {
5
5
  fs.stat(dest, (err)=>{
6
6
  if (!err) return callback(); // already exists
7
7
  fs.stat(src, (err)=>{
8
- err && optional ? callback() : copyFile(src, dest, callback); // optional file missing
8
+ err && optional ? callback() : copyFile(src, dest, (e)=>callback(e)); // optional file missing
9
9
  });
10
10
  });
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalCopy.ts"],"sourcesContent":["import fs from 'fs';\nimport type { NoParamCallback } from '../types.ts';\nimport copyFile from './copyFile.ts';\n\nexport default function conditionalCopy(src: string, dest: string, optional: boolean, callback: NoParamCallback): void {\n if (typeof optional === 'function') return callback(new Error('conditionalCopy missing options'));\n\n fs.stat(dest, (err) => {\n if (!err) return callback(); // already exists\n\n fs.stat(src, (err) => {\n err && optional ? callback() : copyFile(src, dest, callback); // optional file missing\n });\n });\n}\n"],"names":["fs","copyFile","conditionalCopy","src","dest","optional","callback","Error","stat","err"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AAEpB,OAAOC,cAAc,gBAAgB;AAErC,eAAe,SAASC,gBAAgBC,GAAW,EAAEC,IAAY,EAAEC,QAAiB,EAAEC,QAAyB;IAC7G,IAAI,OAAOD,aAAa,YAAY,OAAOC,SAAS,IAAIC,MAAM;IAE9DP,GAAGQ,IAAI,CAACJ,MAAM,CAACK;QACb,IAAI,CAACA,KAAK,OAAOH,YAAY,iBAAiB;QAE9CN,GAAGQ,IAAI,CAACL,KAAK,CAACM;YACZA,OAAOJ,WAAWC,aAAaL,SAASE,KAAKC,MAAME,WAAW,wBAAwB;QACxF;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalCopy.ts"],"sourcesContent":["import fs from 'fs';\nimport type { NoParamCallback } from '../types.ts';\nimport copyFile from './copyFile.ts';\n\nexport default function conditionalCopy(src: string, dest: string, optional: boolean, callback: NoParamCallback): void {\n if (typeof optional === 'function') return callback(new Error('conditionalCopy missing options'));\n\n fs.stat(dest, (err) => {\n if (!err) return callback(); // already exists\n\n fs.stat(src, (err) => {\n err && optional ? callback() : copyFile(src, dest, (e) => callback(e)); // optional file missing\n });\n });\n}\n"],"names":["fs","copyFile","conditionalCopy","src","dest","optional","callback","Error","stat","err","e"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AAEpB,OAAOC,cAAc,gBAAgB;AAErC,eAAe,SAASC,gBAAgBC,GAAW,EAAEC,IAAY,EAAEC,QAAiB,EAAEC,QAAyB;IAC7G,IAAI,OAAOD,aAAa,YAAY,OAAOC,SAAS,IAAIC,MAAM;IAE9DP,GAAGQ,IAAI,CAACJ,MAAM,CAACK;QACb,IAAI,CAACA,KAAK,OAAOH,YAAY,iBAAiB;QAE9CN,GAAGQ,IAAI,CAACL,KAAK,CAACM;YACZA,OAAOJ,WAAWC,aAAaL,SAASE,KAAKC,MAAM,CAACM,IAAMJ,SAASI,KAAK,wBAAwB;QAClG;IACF;AACF"}
@@ -1,2 +1,2 @@
1
- import type { NoParamCallback } from 'fs';
1
+ import type { NoParamCallback } from '../types.js';
2
2
  export default function safeCopyFile(src: string, dest: string, callback: NoParamCallback): void;
@@ -5,9 +5,7 @@ import ensureDestinationParent from './ensureDestinationParent.js';
5
5
  export default function safeCopyFile(src, dest, callback) {
6
6
  const queue = new Queue(1);
7
7
  queue.defer(ensureDestinationParent.bind(null, dest));
8
- queue.defer((callback)=>{
9
- safeRm(dest, callback);
10
- });
11
- queue.defer(copyFile.bind(null, src, dest));
8
+ queue.defer((cb)=>safeRm(dest, (err)=>cb(err)));
9
+ queue.defer((cb)=>copyFile(src, dest, (err)=>cb(err)));
12
10
  queue.await(callback);
13
11
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/copyFile.ts"],"sourcesContent":["import type { NoParamCallback } from 'fs';\nimport { copyFile } from 'fs-copy-compat';\nimport { safeRm } from 'fs-remove-compat';\nimport Queue from 'queue-cb';\n\nimport ensureDestinationParent from './ensureDestinationParent.ts';\n\nexport default function safeCopyFile(src: string, dest: string, callback: NoParamCallback) {\n const queue = new Queue(1);\n\n queue.defer(ensureDestinationParent.bind(null, dest));\n queue.defer((callback) => {\n safeRm(dest, callback);\n });\n queue.defer(copyFile.bind(null, src, dest));\n queue.await(callback);\n}\n"],"names":["copyFile","safeRm","Queue","ensureDestinationParent","safeCopyFile","src","dest","callback","queue","defer","bind","await"],"mappings":"AACA,SAASA,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,WAAW,WAAW;AAE7B,OAAOC,6BAA6B,+BAA+B;AAEnE,eAAe,SAASC,aAAaC,GAAW,EAAEC,IAAY,EAAEC,QAAyB;IACvF,MAAMC,QAAQ,IAAIN,MAAM;IAExBM,MAAMC,KAAK,CAACN,wBAAwBO,IAAI,CAAC,MAAMJ;IAC/CE,MAAMC,KAAK,CAAC,CAACF;QACXN,OAAOK,MAAMC;IACf;IACAC,MAAMC,KAAK,CAACT,SAASU,IAAI,CAAC,MAAML,KAAKC;IACrCE,MAAMG,KAAK,CAACJ;AACd"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/copyFile.ts"],"sourcesContent":["import { copyFile } from 'fs-copy-compat';\nimport { safeRm } from 'fs-remove-compat';\nimport Queue from 'queue-cb';\nimport type { NoParamCallback } from '../types.ts';\n\nimport ensureDestinationParent from './ensureDestinationParent.ts';\n\nexport default function safeCopyFile(src: string, dest: string, callback: NoParamCallback) {\n const queue = new Queue(1);\n\n queue.defer(ensureDestinationParent.bind(null, dest));\n queue.defer((cb) => safeRm(dest, (err) => cb(err)));\n queue.defer((cb) => copyFile(src, dest, (err) => cb(err)));\n queue.await(callback);\n}\n"],"names":["copyFile","safeRm","Queue","ensureDestinationParent","safeCopyFile","src","dest","callback","queue","defer","bind","cb","err","await"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,WAAW,WAAW;AAG7B,OAAOC,6BAA6B,+BAA+B;AAEnE,eAAe,SAASC,aAAaC,GAAW,EAAEC,IAAY,EAAEC,QAAyB;IACvF,MAAMC,QAAQ,IAAIN,MAAM;IAExBM,MAAMC,KAAK,CAACN,wBAAwBO,IAAI,CAAC,MAAMJ;IAC/CE,MAAMC,KAAK,CAAC,CAACE,KAAOV,OAAOK,MAAM,CAACM,MAAQD,GAAGC;IAC7CJ,MAAMC,KAAK,CAAC,CAACE,KAAOX,SAASK,KAAKC,MAAM,CAACM,MAAQD,GAAGC;IACpDJ,MAAMK,KAAK,CAACN;AACd"}
@@ -3,5 +3,5 @@ import path from 'path';
3
3
  export default function ensureDestinationParent(dest, callback) {
4
4
  const parent = path.dirname(dest);
5
5
  if (parent === '.' || parent === '/') return callback();
6
- mkdirp(parent, callback);
6
+ mkdirp(parent, (err)=>callback(err));
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/ensureDestinationParent.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport path from 'path';\n\nimport type { NoParamCallback } from '../types.ts';\n\nexport default function ensureDestinationParent(dest: string, callback: NoParamCallback): void {\n const parent = path.dirname(dest);\n if (parent === '.' || parent === '/') return callback();\n mkdirp(parent, callback);\n}\n"],"names":["mkdirp","path","ensureDestinationParent","dest","callback","parent","dirname"],"mappings":"AAAA,OAAOA,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AAIxB,eAAe,SAASC,wBAAwBC,IAAY,EAAEC,QAAyB;IACrF,MAAMC,SAASJ,KAAKK,OAAO,CAACH;IAC5B,IAAIE,WAAW,OAAOA,WAAW,KAAK,OAAOD;IAC7CJ,OAAOK,QAAQD;AACjB"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/ensureDestinationParent.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport path from 'path';\n\nimport type { NoParamCallback } from '../types.ts';\n\nexport default function ensureDestinationParent(dest: string, callback: NoParamCallback): void {\n const parent = path.dirname(dest);\n if (parent === '.' || parent === '/') return callback();\n mkdirp(parent, (err) => callback(err));\n}\n"],"names":["mkdirp","path","ensureDestinationParent","dest","callback","parent","dirname","err"],"mappings":"AAAA,OAAOA,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AAIxB,eAAe,SAASC,wBAAwBC,IAAY,EAAEC,QAAyB;IACrF,MAAMC,SAASJ,KAAKK,OAAO,CAACH;IAC5B,IAAIE,WAAW,OAAOA,WAAW,KAAK,OAAOD;IAC7CJ,OAAOK,QAAQ,CAACE,MAAQH,SAASG;AACnC"}
@@ -11,7 +11,7 @@ export default function extract(src, dest, options, callback) {
11
11
  ...options
12
12
  };
13
13
  const queue = new Queue(1);
14
- queue.defer(mkdirp.bind(null, path.dirname(dest)));
14
+ queue.defer((cb)=>mkdirp(path.dirname(dest), (err)=>cb(err)));
15
15
  queue.defer(fastExtract.bind(null, src, dest, extractOptions));
16
16
  queue.await(callback);
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/extract.ts"],"sourcesContent":["import fastExtract from 'fast-extract';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport type { NoParamCallback } from '../types.ts';\n\ninterface ExtractOptions {\n strip?: number;\n time?: number;\n}\n\nexport default function extract(src: string, dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : options;\n\n const extractOptions = { strip: 1, time: 1000, ...options };\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, path.dirname(dest)));\n queue.defer(fastExtract.bind(null, src, dest, extractOptions));\n queue.await(callback);\n}\n"],"names":["fastExtract","mkdirp","path","Queue","extract","src","dest","options","callback","extractOptions","strip","time","queue","defer","bind","dirname","await"],"mappings":"AAAA,OAAOA,iBAAiB,eAAe;AACvC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAS7B,eAAe,SAASC,QAAQC,GAAW,EAAEC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;IAC9HA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;IACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAIA;IAE/C,MAAME,iBAAiB;QAAEC,OAAO;QAAGC,MAAM;QAAM,GAAGJ,OAAO;IAAC;IAC1D,MAAMK,QAAQ,IAAIT,MAAM;IACxBS,MAAMC,KAAK,CAACZ,OAAOa,IAAI,CAAC,MAAMZ,KAAKa,OAAO,CAACT;IAC3CM,MAAMC,KAAK,CAACb,YAAYc,IAAI,CAAC,MAAMT,KAAKC,MAAMG;IAC9CG,MAAMI,KAAK,CAACR;AACd"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/extract.ts"],"sourcesContent":["import fastExtract from 'fast-extract';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport type { NoParamCallback } from '../types.ts';\n\ninterface ExtractOptions {\n strip?: number;\n time?: number;\n}\n\nexport default function extract(src: string, dest: string, options: ExtractOptions | NoParamCallback, callback?: NoParamCallback): void {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : options;\n\n const extractOptions = { strip: 1, time: 1000, ...options };\n const queue = new Queue(1);\n queue.defer((cb) => mkdirp(path.dirname(dest), (err) => cb(err)));\n queue.defer(fastExtract.bind(null, src, dest, extractOptions));\n queue.await(callback!);\n}\n"],"names":["fastExtract","mkdirp","path","Queue","extract","src","dest","options","callback","extractOptions","strip","time","queue","defer","cb","dirname","err","bind","await"],"mappings":"AAAA,OAAOA,iBAAiB,eAAe;AACvC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAS7B,eAAe,SAASC,QAAQC,GAAW,EAAEC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;IAC9HA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;IACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAIA;IAE/C,MAAME,iBAAiB;QAAEC,OAAO;QAAGC,MAAM;QAAM,GAAGJ,OAAO;IAAC;IAC1D,MAAMK,QAAQ,IAAIT,MAAM;IACxBS,MAAMC,KAAK,CAAC,CAACC,KAAOb,OAAOC,KAAKa,OAAO,CAACT,OAAO,CAACU,MAAQF,GAAGE;IAC3DJ,MAAMC,KAAK,CAACb,YAAYiB,IAAI,CAAC,MAAMZ,KAAKC,MAAMG;IAC9CG,MAAMM,KAAK,CAACV;AACd"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/getTarget.ts"],"sourcesContent":["import cpuArch from 'cpu-arch';\nimport { FILE_PLATFORM_MAP, FILE_PLATFORMS } from '../constants.ts';\n\nimport type { InstallOptions, Target } from '../types.ts';\n\nconst archCPU = cpuArch();\n\nexport default function getTarget(options: InstallOptions): Target {\n let platform = options.platform;\n let arch = options.arch;\n if (options.filename) {\n const filePlatform = options.filename.split('-')[0];\n if (FILE_PLATFORMS.indexOf(filePlatform) >= 0) platform = FILE_PLATFORM_MAP[filePlatform] || filePlatform;\n arch = options.filename.split('-')[1] as NodeJS.Architecture;\n }\n if (!platform) platform = process.platform;\n if (!arch) arch = archCPU as NodeJS.Architecture;\n return { platform, arch };\n}\n"],"names":["cpuArch","FILE_PLATFORM_MAP","FILE_PLATFORMS","archCPU","getTarget","options","platform","arch","filename","filePlatform","split","indexOf","process"],"mappings":"AAAA,OAAOA,aAAa,WAAW;AAC/B,SAASC,iBAAiB,EAAEC,cAAc,QAAQ,kBAAkB;AAIpE,MAAMC,UAAUH;AAEhB,eAAe,SAASI,UAAUC,OAAuB;IACvD,IAAIC,WAAWD,QAAQC,QAAQ;IAC/B,IAAIC,OAAOF,QAAQE,IAAI;IACvB,IAAIF,QAAQG,QAAQ,EAAE;QACpB,MAAMC,eAAeJ,QAAQG,QAAQ,CAACE,KAAK,CAAC,IAAI,CAAC,EAAE;QACnD,IAAIR,eAAeS,OAAO,CAACF,iBAAiB,GAAGH,WAAWL,iBAAiB,CAACQ,aAAa,IAAIA;QAC7FF,OAAOF,QAAQG,QAAQ,CAACE,KAAK,CAAC,IAAI,CAAC,EAAE;IACvC;IACA,IAAI,CAACJ,UAAUA,WAAWM,QAAQN,QAAQ;IAC1C,IAAI,CAACC,MAAMA,OAAOJ;IAClB,OAAO;QAAEG;QAAUC;IAAK;AAC1B"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/getTarget.ts"],"sourcesContent":["import cpuArch from 'cpu-arch';\nimport { FILE_PLATFORM_MAP, FILE_PLATFORMS } from '../constants.ts';\n\nimport type { InstallOptions, Target } from '../types.ts';\n\nconst archCPU = cpuArch();\n\nexport default function getTarget(options: InstallOptions): Target {\n let platform = options.platform;\n let arch = options.arch;\n if (options.filename) {\n const filePlatform = options.filename.split('-')[0];\n if (FILE_PLATFORMS.indexOf(filePlatform) >= 0) platform = ((FILE_PLATFORM_MAP as Record<string, string>)[filePlatform] || filePlatform) as NodeJS.Platform;\n arch = options.filename.split('-')[1] as NodeJS.Architecture;\n }\n if (!platform) platform = process.platform;\n if (!arch) arch = archCPU as NodeJS.Architecture;\n return { platform, arch };\n}\n"],"names":["cpuArch","FILE_PLATFORM_MAP","FILE_PLATFORMS","archCPU","getTarget","options","platform","arch","filename","filePlatform","split","indexOf","process"],"mappings":"AAAA,OAAOA,aAAa,WAAW;AAC/B,SAASC,iBAAiB,EAAEC,cAAc,QAAQ,kBAAkB;AAIpE,MAAMC,UAAUH;AAEhB,eAAe,SAASI,UAAUC,OAAuB;IACvD,IAAIC,WAAWD,QAAQC,QAAQ;IAC/B,IAAIC,OAAOF,QAAQE,IAAI;IACvB,IAAIF,QAAQG,QAAQ,EAAE;QACpB,MAAMC,eAAeJ,QAAQG,QAAQ,CAACE,KAAK,CAAC,IAAI,CAAC,EAAE;QACnD,IAAIR,eAAeS,OAAO,CAACF,iBAAiB,GAAGH,WAAY,AAACL,iBAA4C,CAACQ,aAAa,IAAIA;QAC1HF,OAAOF,QAAQG,QAAQ,CAACE,KAAK,CAAC,IAAI,CAAC,EAAE;IACvC;IACA,IAAI,CAACJ,UAAUA,WAAWM,QAAQN,QAAQ;IAC1C,IAAI,CAACC,MAAMA,OAAOJ;IAClB,OAAO;QAAEG;QAAUC;IAAK;AAC1B"}
@@ -40,6 +40,6 @@ export type ChecksumResult = {
40
40
  expected: string;
41
41
  match: boolean;
42
42
  };
43
- export type InstallCallback = (err?: Error, result?: InstallResult) => void;
44
- export type NoParamCallback = (err?: Error) => void;
45
- export type ChecksumCallback = (err?: Error, checksum?: ChecksumResult) => void;
43
+ export type InstallCallback = (err?: Error | null, result?: InstallResult) => void;
44
+ export type NoParamCallback = (err?: Error | null) => void;
45
+ export type ChecksumCallback = (err?: Error | null, checksum?: ChecksumResult) => void;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/types.ts"],"sourcesContent":["import type { VersionOptions } from 'node-resolve-versions';\n\nexport interface File {\n filename: string;\n starting: string;\n}\n\nexport interface FilePath {\n src: string;\n dest: string;\n optional?: boolean;\n}\n\nexport type StorageLocations = {\n cachePath: string;\n buildPath: string;\n installPath: string;\n};\n\nexport type InstallResult = {\n version: string;\n installPath: string;\n execPath: string;\n platform: NodeJS.Platform;\n};\n\nexport interface InstallOptions extends VersionOptions {\n type?: string;\n compression?: boolean;\n installPath?: string;\n buildPath?: string;\n name?: string;\n storagePath?: string;\n filename?: string;\n platform?: NodeJS.Platform;\n arch?: NodeJS.Architecture;\n cachePath?: string;\n}\n\nexport interface Target {\n platform: NodeJS.Platform;\n arch: NodeJS.Architecture;\n}\n\nexport type ChecksumResult = {\n actual: string;\n expected: string;\n match: boolean;\n};\n\nexport type InstallCallback = (err?: Error, result?: InstallResult) => void;\nexport type NoParamCallback = (err?: Error) => void;\nexport type ChecksumCallback = (err?: Error, checksum?: ChecksumResult) => void;\n"],"names":[],"mappings":"AAoDA,WAAgF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/types.ts"],"sourcesContent":["import type { VersionOptions } from 'node-resolve-versions';\n\nexport interface File {\n filename: string;\n starting: string;\n}\n\nexport interface FilePath {\n src: string;\n dest: string;\n optional?: boolean;\n}\n\nexport type StorageLocations = {\n cachePath: string;\n buildPath: string;\n installPath: string;\n};\n\nexport type InstallResult = {\n version: string;\n installPath: string;\n execPath: string;\n platform: NodeJS.Platform;\n};\n\nexport interface InstallOptions extends VersionOptions {\n type?: string;\n compression?: boolean;\n installPath?: string;\n buildPath?: string;\n name?: string;\n storagePath?: string;\n filename?: string;\n platform?: NodeJS.Platform;\n arch?: NodeJS.Architecture;\n cachePath?: string;\n}\n\nexport interface Target {\n platform: NodeJS.Platform;\n arch: NodeJS.Architecture;\n}\n\nexport type ChecksumResult = {\n actual: string;\n expected: string;\n match: boolean;\n};\n\nexport type InstallCallback = (err?: Error | null, result?: InstallResult) => void;\nexport type NoParamCallback = (err?: Error | null) => void;\nexport type ChecksumCallback = (err?: Error | null, checksum?: ChecksumResult) => void;\n"],"names":[],"mappings":"AAoDA,WAAuF"}