node-install-release 1.12.3 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/cjs/cli.d.cts +1 -1
  2. package/dist/cjs/cli.d.ts +1 -1
  3. package/dist/cjs/cli.js.map +1 -1
  4. package/dist/cjs/constants.d.cts +8 -23
  5. package/dist/cjs/constants.d.ts +8 -23
  6. package/dist/cjs/constants.js.map +1 -1
  7. package/dist/cjs/createStoragePaths.js.map +1 -1
  8. package/dist/cjs/files.d.cts +2 -1
  9. package/dist/cjs/files.d.ts +2 -1
  10. package/dist/cjs/files.js +1 -2
  11. package/dist/cjs/files.js.map +1 -1
  12. package/dist/cjs/index.d.cts +4 -1
  13. package/dist/cjs/index.d.ts +4 -1
  14. package/dist/cjs/index.js +1 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/installNPM/index.d.cts +2 -1
  17. package/dist/cjs/installNPM/index.d.ts +2 -1
  18. package/dist/cjs/installNPM/index.js.map +1 -1
  19. package/dist/cjs/installNPM/installBin.d.cts +2 -1
  20. package/dist/cjs/installNPM/installBin.d.ts +2 -1
  21. package/dist/cjs/installNPM/installBin.js.map +1 -1
  22. package/dist/cjs/installNPM/installLib.d.cts +3 -1
  23. package/dist/cjs/installNPM/installLib.d.ts +3 -1
  24. package/dist/cjs/installNPM/installLib.js.map +1 -1
  25. package/dist/cjs/installNode/index.d.cts +2 -1
  26. package/dist/cjs/installNode/index.d.ts +2 -1
  27. package/dist/cjs/installNode/index.js.map +1 -1
  28. package/dist/cjs/installNode/installCompressed.d.cts +2 -1
  29. package/dist/cjs/installNode/installCompressed.d.ts +2 -1
  30. package/dist/cjs/installNode/installCompressed.js.map +1 -1
  31. package/dist/cjs/installNode/installExe.d.cts +2 -1
  32. package/dist/cjs/installNode/installExe.d.ts +2 -1
  33. package/dist/cjs/installNode/installExe.js.map +1 -1
  34. package/dist/cjs/installNode/installFilename.d.cts +2 -1
  35. package/dist/cjs/installNode/installFilename.d.ts +2 -1
  36. package/dist/cjs/installNode/installFilename.js +8 -2
  37. package/dist/cjs/installNode/installFilename.js.map +1 -1
  38. package/dist/cjs/installNode/installSource/buildPosix.d.cts +2 -1
  39. package/dist/cjs/installNode/installSource/buildPosix.d.ts +2 -1
  40. package/dist/cjs/installNode/installSource/buildPosix.js.map +1 -1
  41. package/dist/cjs/installNode/installSource/buildWin32.d.cts +2 -1
  42. package/dist/cjs/installNode/installSource/buildWin32.d.ts +2 -1
  43. package/dist/cjs/installNode/installSource/buildWin32.js.map +1 -1
  44. package/dist/cjs/installNode/installSource/index.d.cts +2 -1
  45. package/dist/cjs/installNode/installSource/index.d.ts +2 -1
  46. package/dist/cjs/installNode/installSource/index.js.map +1 -1
  47. package/dist/cjs/installNode/validateDownload.d.cts +2 -1
  48. package/dist/cjs/installNode/validateDownload.d.ts +2 -1
  49. package/dist/cjs/installNode/validateDownload.js +4 -1
  50. package/dist/cjs/installNode/validateDownload.js.map +1 -1
  51. package/dist/cjs/lib/checkMissing.d.cts +3 -1
  52. package/dist/cjs/lib/checkMissing.d.ts +3 -1
  53. package/dist/cjs/lib/checkMissing.js.map +1 -1
  54. package/dist/cjs/lib/conditionalCache.d.cts +2 -1
  55. package/dist/cjs/lib/conditionalCache.d.ts +2 -1
  56. package/dist/cjs/lib/conditionalCache.js.map +1 -1
  57. package/dist/cjs/lib/conditionalCopy.d.cts +2 -1
  58. package/dist/cjs/lib/conditionalCopy.d.ts +2 -1
  59. package/dist/cjs/lib/conditionalCopy.js +4 -1
  60. package/dist/cjs/lib/conditionalCopy.js.map +1 -1
  61. package/dist/cjs/lib/conditionalExtract.d.cts +2 -1
  62. package/dist/cjs/lib/conditionalExtract.d.ts +2 -1
  63. package/dist/cjs/lib/conditionalExtract.js.map +1 -1
  64. package/dist/cjs/lib/copyFile.d.cts +2 -1
  65. package/dist/cjs/lib/copyFile.d.ts +2 -1
  66. package/dist/cjs/lib/copyFile.js.map +1 -1
  67. package/dist/cjs/lib/ensureDestinationParent.d.cts +2 -1
  68. package/dist/cjs/lib/ensureDestinationParent.d.ts +2 -1
  69. package/dist/cjs/lib/ensureDestinationParent.js +4 -1
  70. package/dist/cjs/lib/ensureDestinationParent.js.map +1 -1
  71. package/dist/cjs/lib/getTarget.d.cts +2 -4
  72. package/dist/cjs/lib/getTarget.d.ts +2 -4
  73. package/dist/cjs/lib/getTarget.js.map +1 -1
  74. package/dist/cjs/types.d.cts +20 -1
  75. package/dist/cjs/types.d.ts +20 -1
  76. package/dist/cjs/workers/install.d.cts +2 -1
  77. package/dist/cjs/workers/install.d.ts +2 -1
  78. package/dist/cjs/workers/install.js +19 -7
  79. package/dist/cjs/workers/install.js.map +1 -1
  80. package/dist/esm/cli.d.ts +1 -1
  81. package/dist/esm/cli.js.map +1 -1
  82. package/dist/esm/constants.d.ts +8 -23
  83. package/dist/esm/constants.js +0 -1
  84. package/dist/esm/constants.js.map +1 -1
  85. package/dist/esm/createStoragePaths.js.map +1 -1
  86. package/dist/esm/files.d.ts +2 -1
  87. package/dist/esm/files.js +1 -2
  88. package/dist/esm/files.js.map +1 -1
  89. package/dist/esm/index.d.ts +4 -1
  90. package/dist/esm/index.js +3 -1
  91. package/dist/esm/index.js.map +1 -1
  92. package/dist/esm/installNPM/index.d.ts +2 -1
  93. package/dist/esm/installNPM/index.js.map +1 -1
  94. package/dist/esm/installNPM/installBin.d.ts +2 -1
  95. package/dist/esm/installNPM/installBin.js.map +1 -1
  96. package/dist/esm/installNPM/installLib.d.ts +3 -1
  97. package/dist/esm/installNPM/installLib.js.map +1 -1
  98. package/dist/esm/installNode/index.d.ts +2 -1
  99. package/dist/esm/installNode/index.js.map +1 -1
  100. package/dist/esm/installNode/installCompressed.d.ts +2 -1
  101. package/dist/esm/installNode/installCompressed.js.map +1 -1
  102. package/dist/esm/installNode/installExe.d.ts +2 -1
  103. package/dist/esm/installNode/installExe.js.map +1 -1
  104. package/dist/esm/installNode/installFilename.d.ts +2 -1
  105. package/dist/esm/installNode/installFilename.js +8 -2
  106. package/dist/esm/installNode/installFilename.js.map +1 -1
  107. package/dist/esm/installNode/installSource/buildPosix.d.ts +2 -1
  108. package/dist/esm/installNode/installSource/buildPosix.js.map +1 -1
  109. package/dist/esm/installNode/installSource/buildWin32.d.ts +2 -1
  110. package/dist/esm/installNode/installSource/buildWin32.js.map +1 -1
  111. package/dist/esm/installNode/installSource/index.d.ts +2 -1
  112. package/dist/esm/installNode/installSource/index.js.map +1 -1
  113. package/dist/esm/installNode/validateDownload.d.ts +2 -1
  114. package/dist/esm/installNode/validateDownload.js +4 -1
  115. package/dist/esm/installNode/validateDownload.js.map +1 -1
  116. package/dist/esm/lib/checkMissing.d.ts +3 -1
  117. package/dist/esm/lib/checkMissing.js.map +1 -1
  118. package/dist/esm/lib/conditionalCache.d.ts +2 -1
  119. package/dist/esm/lib/conditionalCache.js.map +1 -1
  120. package/dist/esm/lib/conditionalCopy.d.ts +2 -1
  121. package/dist/esm/lib/conditionalCopy.js +4 -1
  122. package/dist/esm/lib/conditionalCopy.js.map +1 -1
  123. package/dist/esm/lib/conditionalExtract.d.ts +2 -1
  124. package/dist/esm/lib/conditionalExtract.js.map +1 -1
  125. package/dist/esm/lib/copyFile.d.ts +2 -1
  126. package/dist/esm/lib/copyFile.js.map +1 -1
  127. package/dist/esm/lib/ensureDestinationParent.d.ts +2 -1
  128. package/dist/esm/lib/ensureDestinationParent.js +4 -1
  129. package/dist/esm/lib/ensureDestinationParent.js.map +1 -1
  130. package/dist/esm/lib/getTarget.d.ts +2 -4
  131. package/dist/esm/lib/getTarget.js.map +1 -1
  132. package/dist/esm/types.d.ts +20 -1
  133. package/dist/esm/types.js.map +1 -1
  134. package/dist/esm/workers/install.d.ts +2 -1
  135. package/dist/esm/workers/install.js +17 -5
  136. package/dist/esm/workers/install.js.map +1 -1
  137. package/package.json +7 -7
@@ -1 +1,3 @@
1
- export default function checkMissing(dest: any, options: any, callback: any): void;
1
+ import type { InstallOptions } from '../types.ts';
2
+ export type Callback = (error?: Error, missing?: string[]) => undefined;
3
+ export default function checkMissing(dest: string, options: InstallOptions, callback: Callback): undefined;
@@ -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_FILE_PATHS } from '../constants.ts';\n\nexport default function checkMissing(dest, options, callback) {\n const platform = options.platform;\n const nodePath = NODE_FILE_PATHS[platform] || NODE_FILE_PATHS.posix;\n const npmPaths = NPM_FILE_PATHS[platform] || NPM_FILE_PATHS.posix;\n\n const missing = [];\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 for (const key in npmPaths) {\n if (!npmPaths[key].optional) queue.defer(check.bind(null, npmPaths[key].dest, 'npm'));\n }\n queue.await(() => callback(null, missing));\n}\n"],"names":["checkMissing","dest","options","callback","platform","nodePath","NODE_FILE_PATHS","posix","npmPaths","NPM_FILE_PATHS","missing","check","filePath","key","cb","fs","stat","path","join","err","indexOf","push","queue","Queue","defer","bind","optional","await"],"mappings":";;;;+BAMA;;;eAAwBA;;;yDANT;2DACE;8DACC;2BAE8B;;;;;;AAEjC,SAASA,aAAaC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC1D,IAAMC,WAAWF,QAAQE,QAAQ;IACjC,IAAMC,WAAWC,4BAAe,CAACF,SAAS,IAAIE,4BAAe,CAACC,KAAK;IACnE,IAAMC,WAAWC,2BAAc,CAACL,SAAS,IAAIK,2BAAc,CAACF,KAAK;IAEjE,IAAMG,UAAU,EAAE;IAClB,SAASC,MAAMC,QAAQ,EAAEC,GAAG,EAAEC,EAAE;QAC9BC,WAAE,CAACC,IAAI,CAACC,aAAI,CAACC,IAAI,CAACjB,MAAMW,WAAW,SAACO;YAClC,IAAIA,OAAOT,QAAQU,OAAO,CAACP,OAAO,GAAGH,QAAQW,IAAI,CAACR;YAClDC;QACF;IACF;IAEA,IAAMQ,QAAQ,IAAIC,gBAAK;IACvBD,MAAME,KAAK,CAACb,MAAMc,IAAI,CAAC,MAAMpB,UAAU;IACvC,IAAK,IAAMQ,OAAOL,SAAU;QAC1B,IAAI,CAACA,QAAQ,CAACK,IAAI,CAACa,QAAQ,EAAEJ,MAAME,KAAK,CAACb,MAAMc,IAAI,CAAC,MAAMjB,QAAQ,CAACK,IAAI,CAACZ,IAAI,EAAE;IAChF;IACAqB,MAAMK,KAAK,CAAC;eAAMxB,SAAS,MAAMO;;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_FILE_PATHS } from '../constants.ts';\n\nimport type { InstallOptions } from '../types.ts';\n\nexport type Callback = (error?: Error, missing?: string[]) => undefined;\n\nexport default function checkMissing(dest: string, options: InstallOptions, callback: Callback): undefined {\n const platform = options.platform;\n const nodePath = NODE_FILE_PATHS[platform] || NODE_FILE_PATHS.posix;\n const npmPaths = NPM_FILE_PATHS[platform] || NPM_FILE_PATHS.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 for (const key in npmPaths) {\n if (!npmPaths[key].optional) queue.defer(check.bind(null, npmPaths[key].dest, 'npm'));\n }\n queue.await(() => callback(null, missing));\n}\n"],"names":["checkMissing","dest","options","callback","platform","nodePath","NODE_FILE_PATHS","posix","npmPaths","NPM_FILE_PATHS","missing","check","filePath","key","cb","fs","stat","path","join","err","indexOf","push","queue","Queue","defer","bind","optional","await"],"mappings":";;;;+BAUA;;;eAAwBA;;;yDAVT;2DACE;8DACC;2BAE8B;;;;;;AAMjC,SAASA,aAAaC,IAAY,EAAEC,OAAuB,EAAEC,QAAkB;IAC5F,IAAMC,WAAWF,QAAQE,QAAQ;IACjC,IAAMC,WAAWC,4BAAe,CAACF,SAAS,IAAIE,4BAAe,CAACC,KAAK;IACnE,IAAMC,WAAWC,2BAAc,CAACL,SAAS,IAAIK,2BAAc,CAACF,KAAK;IAEjE,IAAMG,UAAoB,EAAE;IAC5B,SAASC,MAAMC,QAAQ,EAAEC,GAAG,EAAEC,EAAE;QAC9BC,WAAE,CAACC,IAAI,CAACC,aAAI,CAACC,IAAI,CAACjB,MAAMW,WAAW,SAACO;YAClC,IAAIA,OAAOT,QAAQU,OAAO,CAACP,OAAO,GAAGH,QAAQW,IAAI,CAACR;YAClDC;QACF;IACF;IAEA,IAAMQ,QAAQ,IAAIC,gBAAK;IACvBD,MAAME,KAAK,CAACb,MAAMc,IAAI,CAAC,MAAMpB,UAAU;IACvC,IAAK,IAAMQ,OAAOL,SAAU;QAC1B,IAAI,CAACA,QAAQ,CAACK,IAAI,CAACa,QAAQ,EAAEJ,MAAME,KAAK,CAACb,MAAMc,IAAI,CAAC,MAAMjB,QAAQ,CAACK,IAAI,CAACZ,IAAI,EAAE;IAChF;IACAqB,MAAMK,KAAK,CAAC;eAAMxB,SAAS,MAAMO;;AACnC"}
@@ -1 +1,2 @@
1
- export default function conditionalCache(endpoint: any, dest: any, options: any, callback?: any): void;
1
+ import type { InstallOptions, NoParamCallback } from '../types.ts';
2
+ export default function conditionalCache(endpoint: string, dest: string, options: InstallOptions, callback?: NoParamCallback): undefined;
@@ -1 +1,2 @@
1
- export default function conditionalCache(endpoint: any, dest: any, options: any, callback?: any): void;
1
+ import type { InstallOptions, NoParamCallback } from '../types.ts';
2
+ export default function conditionalCache(endpoint: string, dest: string, options: InstallOptions, callback?: NoParamCallback): undefined;
@@ -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 get from 'get-remote';\nimport path from 'path';\n\nimport ensureDestinationParent from './ensureDestinationParent.ts';\n\nexport default function conditionalCache(endpoint, dest, options, callback?) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n fs.stat(dest, (err) => {\n if (!err) return callback(); // already exists\n\n ensureDestinationParent(dest, (err) => {\n if (err) return callback(err);\n get(endpoint, { filename: path.basename(dest), time: 1000 }).file(path.dirname(dest), callback);\n });\n });\n}\n"],"names":["conditionalCache","endpoint","dest","options","callback","fs","stat","err","ensureDestinationParent","get","filename","path","basename","time","file","dirname"],"mappings":";;;;+BAMA;;;eAAwBA;;;yDANT;gEACC;2DACC;gFAEmB;;;;;;AAErB,SAASA,iBAAiBC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAS;IACzE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IAEtBE,WAAE,CAACC,IAAI,CAACJ,MAAM,SAACK;QACb,IAAI,CAACA,KAAK,OAAOH,YAAY,iBAAiB;QAE9CI,IAAAA,kCAAuB,EAACN,MAAM,SAACK;YAC7B,IAAIA,KAAK,OAAOH,SAASG;YACzBE,IAAAA,kBAAG,EAACR,UAAU;gBAAES,UAAUC,aAAI,CAACC,QAAQ,CAACV;gBAAOW,MAAM;YAAK,GAAGC,IAAI,CAACH,aAAI,CAACI,OAAO,CAACb,OAAOE;QACxF;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 get from 'get-remote';\nimport path from 'path';\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): undefined {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n fs.stat(dest, (err) => {\n if (!err) return callback(); // already exists\n\n ensureDestinationParent(dest, (err) => {\n if (err) return callback(err);\n get(endpoint, { filename: path.basename(dest), time: 1000 }).file(path.dirname(dest), callback);\n });\n });\n}\n"],"names":["conditionalCache","endpoint","dest","options","callback","fs","stat","err","ensureDestinationParent","get","filename","path","basename","time","file","dirname"],"mappings":";;;;+BAMA;;;eAAwBA;;;yDANT;gEACC;2DACC;gFAEmB;;;;;;AAErB,SAASA,iBAAiBC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAA0B;IAC1H,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IAEtBE,WAAE,CAACC,IAAI,CAACJ,MAAM,SAACK;QACb,IAAI,CAACA,KAAK,OAAOH,YAAY,iBAAiB;QAE9CI,IAAAA,kCAAuB,EAACN,MAAM,SAACK;YAC7B,IAAIA,KAAK,OAAOH,SAASG;YACzBE,IAAAA,kBAAG,EAACR,UAAU;gBAAES,UAAUC,aAAI,CAACC,QAAQ,CAACV;gBAAOW,MAAM;YAAK,GAAGC,IAAI,CAACH,aAAI,CAACI,OAAO,CAACb,OAAOE;QACxF;IACF;AACF"}
@@ -1 +1,2 @@
1
- export default function conditionalCopy(src: any, dest: any, optional: any, callback: any): any;
1
+ import type { NoParamCallback } from '../types.ts';
2
+ export default function conditionalCopy(src: string, dest: string, optional: boolean, callback: NoParamCallback): undefined;
@@ -1 +1,2 @@
1
- export default function conditionalCopy(src: any, dest: any, optional: any, callback: any): any;
1
+ import type { NoParamCallback } from '../types.ts';
2
+ export default function conditionalCopy(src: string, dest: string, optional: boolean, callback: NoParamCallback): undefined;
@@ -16,7 +16,10 @@ function _interop_require_default(obj) {
16
16
  };
17
17
  }
18
18
  function conditionalCopy(src, dest, optional, callback) {
19
- if (typeof optional === 'function') return callback(new Error('conditionalCopy missing options'));
19
+ if (typeof optional === 'function') {
20
+ callback(new Error('conditionalCopy missing options'));
21
+ return;
22
+ }
20
23
  _fs.default.stat(dest, function(err) {
21
24
  if (!err) return callback(); // already exists
22
25
  _fs.default.stat(src, function(err) {
@@ -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 copyFile from './copyFile.ts';\n\nexport default function conditionalCopy(src, dest, optional, callback) {\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":["conditionalCopy","src","dest","optional","callback","Error","fs","stat","err","copyFile"],"mappings":";;;;+BAGA;;;eAAwBA;;;yDAHT;iEACM;;;;;;AAEN,SAASA,gBAAgBC,GAAG,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,QAAQ;IACnE,IAAI,OAAOD,aAAa,YAAY,OAAOC,SAAS,IAAIC,MAAM;IAE9DC,WAAE,CAACC,IAAI,CAACL,MAAM,SAACM;QACb,IAAI,CAACA,KAAK,OAAOJ,YAAY,iBAAiB;QAE9CE,WAAE,CAACC,IAAI,CAACN,KAAK,SAACO;YACZA,OAAOL,WAAWC,aAAaK,IAAAA,mBAAQ,EAACR,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): undefined {\n if (typeof optional === 'function') {\n callback(new Error('conditionalCopy missing options'));\n return;\n }\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":["conditionalCopy","src","dest","optional","callback","Error","fs","stat","err","copyFile"],"mappings":";;;;+BAIA;;;eAAwBA;;;yDAJT;iEAEM;;;;;;AAEN,SAASA,gBAAgBC,GAAW,EAAEC,IAAY,EAAEC,QAAiB,EAAEC,QAAyB;IAC7G,IAAI,OAAOD,aAAa,YAAY;QAClCC,SAAS,IAAIC,MAAM;QACnB;IACF;IAEAC,WAAE,CAACC,IAAI,CAACL,MAAM,SAACM;QACb,IAAI,CAACA,KAAK,OAAOJ,YAAY,iBAAiB;QAE9CE,WAAE,CAACC,IAAI,CAACN,KAAK,SAACO;YACZA,OAAOL,WAAWC,aAAaK,IAAAA,mBAAQ,EAACR,KAAKC,MAAME,WAAW,wBAAwB;QACxF;IACF;AACF"}
@@ -1 +1,2 @@
1
- export default function conditionalExtract(src: any, dest: any, options: any, callback?: any): void;
1
+ import type { InstallOptions, NoParamCallback } from '../types.ts';
2
+ export default function conditionalExtract(src: string, dest: string, options: InstallOptions | NoParamCallback, callback?: NoParamCallback): undefined;
@@ -1 +1,2 @@
1
- export default function conditionalExtract(src: any, dest: any, options: any, callback?: any): void;
1
+ import type { InstallOptions, NoParamCallback } from '../types.ts';
2
+ export default function conditionalExtract(src: string, dest: string, options: InstallOptions | NoParamCallback, callback?: NoParamCallback): undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalExtract.ts"],"sourcesContent":["import extract from 'fast-extract';\nimport fs from 'fs';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nexport default function conditionalExtract(src, dest, options, callback?) {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || {};\n\n fs.stat(dest, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, path.dirname(dest)));\n queue.defer(extract.bind(null, src, dest, { strip: 1, time: 1000 }));\n queue.await(callback);\n });\n}\n"],"names":["conditionalExtract","src","dest","options","callback","fs","stat","err","queue","Queue","defer","mkdirp","bind","path","dirname","extract","strip","time","await"],"mappings":";;;;+BAMA;;;eAAwBA;;;kEANJ;yDACL;oEACI;2DACF;8DACC;;;;;;AAEH,SAASA,mBAAmBC,GAAG,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAS;IACtE,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAW,CAAC;IAEtBE,WAAE,CAACC,IAAI,CAACJ,MAAM,SAACK;QACb,IAAI,CAACA,KAAK,OAAOH,YAAY,iBAAiB;QAE9C,IAAMI,QAAQ,IAAIC,gBAAK,CAAC;QACxBD,MAAME,KAAK,CAACC,sBAAM,CAACC,IAAI,CAAC,MAAMC,aAAI,CAACC,OAAO,CAACZ;QAC3CM,MAAME,KAAK,CAACK,oBAAO,CAACH,IAAI,CAAC,MAAMX,KAAKC,MAAM;YAAEc,OAAO;YAAGC,MAAM;QAAK;QACjET,MAAMU,KAAK,CAACd;IACd;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/conditionalExtract.ts"],"sourcesContent":["import extract from 'fast-extract';\nimport fs from 'fs';\nimport mkdirp from 'mkdirp-classic';\nimport path from 'path';\nimport Queue from 'queue-cb';\n\nimport type { InstallOptions, NoParamCallback } from '../types.ts';\n\nexport default function conditionalExtract(src: string, dest: string, options: InstallOptions | NoParamCallback, callback?: NoParamCallback): undefined {\n if (typeof options === 'function') {\n callback = options;\n options = null;\n }\n options = options || ({} as InstallOptions);\n\n fs.stat(dest, (err) => {\n if (!err) return callback(); // already exists\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, path.dirname(dest)));\n queue.defer(extract.bind(null, src, dest, { strip: 1, time: 1000 }));\n queue.await(callback);\n });\n}\n"],"names":["conditionalExtract","src","dest","options","callback","fs","stat","err","queue","Queue","defer","mkdirp","bind","path","dirname","extract","strip","time","await"],"mappings":";;;;+BAQA;;;eAAwBA;;;kEARJ;yDACL;oEACI;2DACF;8DACC;;;;;;AAIH,SAASA,mBAAmBC,GAAW,EAAEC,IAAY,EAAEC,OAAyC,EAAEC,QAA0B;IACzI,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU;IACZ;IACAA,UAAUA,WAAY,CAAC;IAEvBE,WAAE,CAACC,IAAI,CAACJ,MAAM,SAACK;QACb,IAAI,CAACA,KAAK,OAAOH,YAAY,iBAAiB;QAE9C,IAAMI,QAAQ,IAAIC,gBAAK,CAAC;QACxBD,MAAME,KAAK,CAACC,sBAAM,CAACC,IAAI,CAAC,MAAMC,aAAI,CAACC,OAAO,CAACZ;QAC3CM,MAAME,KAAK,CAACK,oBAAO,CAACH,IAAI,CAAC,MAAMX,KAAKC,MAAM;YAAEc,OAAO;YAAGC,MAAM;QAAK;QACjET,MAAMU,KAAK,CAACd;IACd;AACF"}
@@ -1 +1,2 @@
1
- export default function safeCopyFile(src: any, dest: any, callback: any): void;
1
+ import { type NoParamCallback } from 'fs';
2
+ export default function safeCopyFile(src: string, dest: string, callback: NoParamCallback): void;
@@ -1 +1,2 @@
1
- export default function safeCopyFile(src: any, dest: any, callback: any): void;
1
+ import { type NoParamCallback } from 'fs';
2
+ export default function safeCopyFile(src: string, dest: string, callback: NoParamCallback): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/copyFile.ts"],"sourcesContent":["import fs from 'fs';\nimport pump from 'pump';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport ensureDestinationParent from './ensureDestinationParent.ts';\n\nfunction streamCopyFile(src, dest, callback) {\n fs.stat(src, (err) => {\n if (err) return callback(err);\n pump(fs.createReadStream(src), fs.createWriteStream(dest), callback);\n });\n}\n\nconst copyFile = fs.copyFile || streamCopyFile;\n\nexport default function safeCopyFile(src, dest, callback) {\n const queue = new Queue(1);\n\n queue.defer(ensureDestinationParent.bind(null, dest));\n queue.defer((callback) => {\n rimraf2(dest, { disableGlob: true }, (err) => {\n err && err.code !== 'EEXIST' ? callback(err) : callback();\n });\n });\n queue.defer(copyFile.bind(null, src, dest));\n queue.await(callback);\n}\n"],"names":["safeCopyFile","streamCopyFile","src","dest","callback","fs","stat","err","pump","createReadStream","createWriteStream","copyFile","queue","Queue","defer","ensureDestinationParent","bind","rimraf2","disableGlob","code","await"],"mappings":";;;;+BAgBA;;;eAAwBA;;;yDAhBT;2DACE;8DACC;8DACE;gFAEgB;;;;;;AAEpC,SAASC,eAAeC,GAAG,EAAEC,IAAI,EAAEC,QAAQ;IACzCC,WAAE,CAACC,IAAI,CAACJ,KAAK,SAACK;QACZ,IAAIA,KAAK,OAAOH,SAASG;QACzBC,IAAAA,aAAI,EAACH,WAAE,CAACI,gBAAgB,CAACP,MAAMG,WAAE,CAACK,iBAAiB,CAACP,OAAOC;IAC7D;AACF;AAEA,IAAMO,WAAWN,WAAE,CAACM,QAAQ,IAAIV;AAEjB,SAASD,aAAaE,GAAG,EAAEC,IAAI,EAAEC,QAAQ;IACtD,IAAMQ,QAAQ,IAAIC,gBAAK,CAAC;IAExBD,MAAME,KAAK,CAACC,kCAAuB,CAACC,IAAI,CAAC,MAAMb;IAC/CS,MAAME,KAAK,CAAC,SAACV;QACXa,IAAAA,gBAAO,EAACd,MAAM;YAAEe,aAAa;QAAK,GAAG,SAACX;YACpCA,OAAOA,IAAIY,IAAI,KAAK,WAAWf,SAASG,OAAOH;QACjD;IACF;IACAQ,MAAME,KAAK,CAACH,SAASK,IAAI,CAAC,MAAMd,KAAKC;IACrCS,MAAMQ,KAAK,CAAChB;AACd"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/copyFile.ts"],"sourcesContent":["import fs, { type NoParamCallback } from 'fs';\nimport pump from 'pump';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport ensureDestinationParent from './ensureDestinationParent.ts';\n\nfunction streamCopyFile(src: string, dest: string, callback: NoParamCallback): undefined {\n fs.stat(src, (err) => {\n if (err) return callback(err);\n pump(fs.createReadStream(src), fs.createWriteStream(dest), callback);\n });\n}\n\nconst copyFile = fs.copyFile || streamCopyFile;\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 rimraf2(dest, { disableGlob: true }, (err) => {\n err && err.code !== 'EEXIST' ? callback(err) : callback();\n });\n });\n queue.defer(copyFile.bind(null, src, dest));\n queue.await(callback);\n}\n"],"names":["safeCopyFile","streamCopyFile","src","dest","callback","fs","stat","err","pump","createReadStream","createWriteStream","copyFile","queue","Queue","defer","ensureDestinationParent","bind","rimraf2","disableGlob","code","await"],"mappings":";;;;+BAgBA;;;eAAwBA;;;yDAhBiB;2DACxB;8DACC;8DACE;gFAEgB;;;;;;AAEpC,SAASC,eAAeC,GAAW,EAAEC,IAAY,EAAEC,QAAyB;IAC1EC,WAAE,CAACC,IAAI,CAACJ,KAAK,SAACK;QACZ,IAAIA,KAAK,OAAOH,SAASG;QACzBC,IAAAA,aAAI,EAACH,WAAE,CAACI,gBAAgB,CAACP,MAAMG,WAAE,CAACK,iBAAiB,CAACP,OAAOC;IAC7D;AACF;AAEA,IAAMO,WAAWN,WAAE,CAACM,QAAQ,IAAIV;AAEjB,SAASD,aAAaE,GAAW,EAAEC,IAAY,EAAEC,QAAyB;IACvF,IAAMQ,QAAQ,IAAIC,gBAAK,CAAC;IAExBD,MAAME,KAAK,CAACC,kCAAuB,CAACC,IAAI,CAAC,MAAMb;IAC/CS,MAAME,KAAK,CAAC,SAACV;QACXa,IAAAA,gBAAO,EAACd,MAAM;YAAEe,aAAa;QAAK,GAAG,SAACX;YACpCA,OAAOA,IAAIY,IAAI,KAAK,WAAWf,SAASG,OAAOH;QACjD;IACF;IACAQ,MAAME,KAAK,CAACH,SAASK,IAAI,CAAC,MAAMd,KAAKC;IACrCS,MAAMQ,KAAK,CAAChB;AACd"}
@@ -1 +1,2 @@
1
- export default function ensureDestinationParent(dest: any, callback: any): any;
1
+ import type { NoParamCallback } from '../types.ts';
2
+ export default function ensureDestinationParent(dest: string, callback: NoParamCallback): undefined;
@@ -1 +1,2 @@
1
- export default function ensureDestinationParent(dest: any, callback: any): any;
1
+ import type { NoParamCallback } from '../types.ts';
2
+ export default function ensureDestinationParent(dest: string, callback: NoParamCallback): undefined;
@@ -17,7 +17,10 @@ function _interop_require_default(obj) {
17
17
  }
18
18
  function ensureDestinationParent(dest, callback) {
19
19
  var parent = _path.default.dirname(dest);
20
- if (parent === '.' || parent === '/') return callback();
20
+ if (parent === '.' || parent === '/') {
21
+ callback();
22
+ return;
23
+ }
21
24
  (0, _mkdirpclassic.default)(parent, callback);
22
25
  }
23
26
  /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/ensureDestinationParent.ts"],"sourcesContent":["import mkdirp from 'mkdirp-classic';\nimport path from 'path';\n\nexport default function ensureDestinationParent(dest, callback) {\n const parent = path.dirname(dest);\n if (parent === '.' || parent === '/') return callback();\n mkdirp(parent, callback);\n}\n"],"names":["ensureDestinationParent","dest","callback","parent","path","dirname","mkdirp"],"mappings":";;;;+BAGA;;;eAAwBA;;;oEAHL;2DACF;;;;;;AAEF,SAASA,wBAAwBC,IAAI,EAAEC,QAAQ;IAC5D,IAAMC,SAASC,aAAI,CAACC,OAAO,CAACJ;IAC5B,IAAIE,WAAW,OAAOA,WAAW,KAAK,OAAOD;IAC7CI,IAAAA,sBAAM,EAACH,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): undefined {\n const parent = path.dirname(dest);\n if (parent === '.' || parent === '/') {\n callback();\n return;\n }\n mkdirp(parent, callback);\n}\n"],"names":["ensureDestinationParent","dest","callback","parent","path","dirname","mkdirp"],"mappings":";;;;+BAKA;;;eAAwBA;;;oEALL;2DACF;;;;;;AAIF,SAASA,wBAAwBC,IAAY,EAAEC,QAAyB;IACrF,IAAMC,SAASC,aAAI,CAACC,OAAO,CAACJ;IAC5B,IAAIE,WAAW,OAAOA,WAAW,KAAK;QACpCD;QACA;IACF;IACAI,IAAAA,sBAAM,EAACH,QAAQD;AACjB"}
@@ -1,4 +1,2 @@
1
- export default function getTarget(options: any): {
2
- platform: any;
3
- arch: any;
4
- };
1
+ import type { InstallOptions, Target } from '../types.ts';
2
+ export default function getTarget(options: InstallOptions): Target;
@@ -1,4 +1,2 @@
1
- export default function getTarget(options: any): {
2
- platform: any;
3
- arch: any;
4
- };
1
+ import type { InstallOptions, Target } from '../types.ts';
2
+ export default function getTarget(options: InstallOptions): Target;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/getTarget.ts"],"sourcesContent":["import { FILE_PLATFORM_MAP, FILE_PLATFORMS } from '../constants.ts';\nimport machineArch from '../machine/arch.cjs';\n\nlet archMachine: NodeJS.Architecture;\nexport default function getTarget(options) {\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];\n }\n if (!platform) platform = process.platform;\n if (!arch) {\n if (!archMachine) archMachine = machineArch() as NodeJS.Architecture; // call first time needed\n arch = archMachine;\n }\n return { platform, arch };\n}\n"],"names":["getTarget","archMachine","options","platform","arch","filename","filePlatform","split","FILE_PLATFORMS","indexOf","FILE_PLATFORM_MAP","process","machineArch"],"mappings":";;;;+BAIA;;;eAAwBA;;;2BAJ0B;8DAC1B;;;;;;AAExB,IAAIC;AACW,SAASD,UAAUE,OAAO;IACvC,IAAIC,WAAWD,QAAQC,QAAQ;IAC/B,IAAIC,OAAOF,QAAQE,IAAI;IACvB,IAAIF,QAAQG,QAAQ,EAAE;QACpB,IAAMC,eAAeJ,QAAQG,QAAQ,CAACE,KAAK,CAAC,IAAI,CAAC,EAAE;QACnD,IAAIC,2BAAc,CAACC,OAAO,CAACH,iBAAiB,GAAGH,WAAWO,8BAAiB,CAACJ,aAAa,IAAIA;QAC7FF,OAAOF,QAAQG,QAAQ,CAACE,KAAK,CAAC,IAAI,CAAC,EAAE;IACvC;IACA,IAAI,CAACJ,UAAUA,WAAWQ,QAAQR,QAAQ;IAC1C,IAAI,CAACC,MAAM;QACT,IAAI,CAACH,aAAaA,cAAcW,IAAAA,gBAAW,KAA2B,yBAAyB;QAC/FR,OAAOH;IACT;IACA,OAAO;QAAEE,UAAAA;QAAUC,MAAAA;IAAK;AAC1B"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/lib/getTarget.ts"],"sourcesContent":["import { FILE_PLATFORM_MAP, FILE_PLATFORMS } from '../constants.ts';\nimport machineArch from '../machine/arch.cjs';\n\nlet archMachine: NodeJS.Architecture;\n\nimport type { InstallOptions, Target } from '../types.ts';\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) {\n if (!archMachine) archMachine = machineArch() as NodeJS.Architecture; // call first time needed\n arch = archMachine;\n }\n return { platform, arch };\n}\n"],"names":["getTarget","archMachine","options","platform","arch","filename","filePlatform","split","FILE_PLATFORMS","indexOf","FILE_PLATFORM_MAP","process","machineArch"],"mappings":";;;;+BAOA;;;eAAwBA;;;2BAP0B;8DAC1B;;;;;;AAExB,IAAIC;AAIW,SAASD,UAAUE,OAAuB;IACvD,IAAIC,WAAWD,QAAQC,QAAQ;IAC/B,IAAIC,OAAOF,QAAQE,IAAI;IACvB,IAAIF,QAAQG,QAAQ,EAAE;QACpB,IAAMC,eAAeJ,QAAQG,QAAQ,CAACE,KAAK,CAAC,IAAI,CAAC,EAAE;QACnD,IAAIC,2BAAc,CAACC,OAAO,CAACH,iBAAiB,GAAGH,WAAWO,8BAAiB,CAACJ,aAAa,IAAIA;QAC7FF,OAAOF,QAAQG,QAAQ,CAACE,KAAK,CAAC,IAAI,CAAC,EAAE;IACvC;IACA,IAAI,CAACJ,UAAUA,WAAWQ,QAAQR,QAAQ;IAC1C,IAAI,CAACC,MAAM;QACT,IAAI,CAACH,aAAaA,cAAcW,IAAAA,gBAAW,KAA2B,yBAAyB;QAC/FR,OAAOH;IACT;IACA,OAAO;QAAEE,UAAAA;QAAUC,MAAAA;IAAK;AAC1B"}
@@ -1,3 +1,13 @@
1
+ import type { VersionOptions } from 'node-resolve-versions';
2
+ export interface File {
3
+ filename: string;
4
+ starting: string;
5
+ }
6
+ export interface FilePath {
7
+ src: string;
8
+ dest: string;
9
+ optional?: boolean;
10
+ }
1
11
  export type StorageLocations = {
2
12
  cachePath: string;
3
13
  buildPath: string;
@@ -9,12 +19,21 @@ export type InstallResult = {
9
19
  execPath: string;
10
20
  platform: NodeJS.Platform;
11
21
  };
12
- export interface InstallOptions {
22
+ export interface InstallOptions extends VersionOptions {
23
+ type?: string;
24
+ compression?: boolean;
13
25
  installPath?: string;
26
+ buildPath?: string;
14
27
  name?: string;
15
28
  storagePath?: string;
16
29
  filename?: string;
17
30
  platform?: NodeJS.Platform;
18
31
  arch?: NodeJS.Architecture;
32
+ cachePath?: string;
33
+ }
34
+ export interface Target {
35
+ platform: NodeJS.Platform;
36
+ arch: NodeJS.Architecture;
19
37
  }
20
38
  export type InstallCallback = (err?: Error, result?: InstallResult) => void;
39
+ export type NoParamCallback = (err?: Error) => void;
@@ -1,3 +1,13 @@
1
+ import type { VersionOptions } from 'node-resolve-versions';
2
+ export interface File {
3
+ filename: string;
4
+ starting: string;
5
+ }
6
+ export interface FilePath {
7
+ src: string;
8
+ dest: string;
9
+ optional?: boolean;
10
+ }
1
11
  export type StorageLocations = {
2
12
  cachePath: string;
3
13
  buildPath: string;
@@ -9,12 +19,21 @@ export type InstallResult = {
9
19
  execPath: string;
10
20
  platform: NodeJS.Platform;
11
21
  };
12
- export interface InstallOptions {
22
+ export interface InstallOptions extends VersionOptions {
23
+ type?: string;
24
+ compression?: boolean;
13
25
  installPath?: string;
26
+ buildPath?: string;
14
27
  name?: string;
15
28
  storagePath?: string;
16
29
  filename?: string;
17
30
  platform?: NodeJS.Platform;
18
31
  arch?: NodeJS.Architecture;
32
+ cachePath?: string;
33
+ }
34
+ export interface Target {
35
+ platform: NodeJS.Platform;
36
+ arch: NodeJS.Architecture;
19
37
  }
20
38
  export type InstallCallback = (err?: Error, result?: InstallResult) => void;
39
+ export type NoParamCallback = (err?: Error) => void;
@@ -1 +1,2 @@
1
- export default function install(versionExpression: any, options: any, callback: any): void;
1
+ import type { InstallCallback, InstallOptions } from '../types.ts';
2
+ export default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): undefined;
@@ -1 +1,2 @@
1
- export default function install(versionExpression: any, options: any, callback: any): void;
1
+ import type { InstallCallback, InstallOptions } from '../types.ts';
2
+ export default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): undefined;
@@ -53,8 +53,8 @@ function _object_spread(target) {
53
53
  }
54
54
  return target;
55
55
  }
56
- // short circuit
57
56
  function getVersions(versionExpression, options, callback) {
57
+ // short circuit
58
58
  (0, _isversion.default)(versionExpression) ? callback(null, [
59
59
  versionExpression
60
60
  ]) : (0, _noderesolveversions.default)(versionExpression, options, callback);
@@ -63,15 +63,27 @@ function install(versionExpression, options, callback) {
63
63
  var storagePaths = options.storagePath ? (0, _createStoragePathsts.default)(options.storagePath) : _constantsts.DEFAULT_STORAGE_PATHS;
64
64
  options = _object_spread({}, storagePaths, options, (0, _getTargetts.default)(options));
65
65
  getVersions(versionExpression, options, function(err, versions) {
66
- if (err) return callback(err);
67
- if (!versions.length) return callback(new Error("Could not resolve versions for: ".concat(versionExpression)));
68
- if (versions.length !== 1) return callback(new Error("Version ".concat(versionExpression, " resolved to multiple versions: ").concat(versions.map(function(x) {
69
- return x.version;
70
- }), ". Expecting one.")));
66
+ if (err) {
67
+ callback(err);
68
+ return;
69
+ }
70
+ if (!versions.length) {
71
+ callback(new Error("Could not resolve versions for: ".concat(versionExpression)));
72
+ return;
73
+ }
74
+ if (versions.length !== 1) {
75
+ callback(new Error("Version ".concat(versionExpression, " resolved to multiple versions: ").concat(versions.map(function(x) {
76
+ return x;
77
+ }), ". Expecting one.")));
78
+ return;
79
+ }
71
80
  var version = versions[0];
72
81
  var result = (0, _createResultts.default)(options, version);
73
82
  (0, _checkMissingts.default)(result.installPath, options, function(err, missing) {
74
- if (err || !missing.length) return callback(err, result);
83
+ if (err || !missing.length) {
84
+ callback(err, result);
85
+ return;
86
+ }
75
87
  var queue = new _queuecb.default(1);
76
88
  queue.defer(_mkdirpclassic.default.bind(null, options.cachePath));
77
89
  queue.defer(_ensureDestinationParentts.default.bind(null, result.installPath));
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/workers/install.ts"],"sourcesContent":["import isVersion from 'is-version';\nimport mkdirp from 'mkdirp-classic';\nimport resolveVersions from 'node-resolve-versions';\nimport Queue from 'queue-cb';\n\nimport { DEFAULT_STORAGE_PATHS } from '../constants.ts';\n\nimport createResult from '../createResult.ts';\nimport createStoragePaths from '../createStoragePaths.ts';\nimport installNode from '../installNode/index.ts';\n\nimport installNPM from '../installNPM/index.ts';\nimport checkMissing from '../lib/checkMissing.ts';\nimport ensureDestinationParent from '../lib/ensureDestinationParent.ts';\nimport getTarget from '../lib/getTarget.ts';\n\n// short circuit\nfunction getVersions(versionExpression, options, callback) {\n isVersion(versionExpression) ? callback(null, [versionExpression]) : resolveVersions(versionExpression, options, callback);\n}\n\nexport default function install(versionExpression, options, callback) {\n const storagePaths = options.storagePath ? createStoragePaths(options.storagePath) : DEFAULT_STORAGE_PATHS;\n options = { ...storagePaths, ...options, ...getTarget(options) };\n getVersions(versionExpression, options, (err, versions) => {\n if (err) return callback(err);\n if (!versions.length) return callback(new Error(`Could not resolve versions for: ${versionExpression}`));\n if (versions.length !== 1) return callback(new Error(`Version ${versionExpression} resolved to multiple versions: ${versions.map((x) => x.version)}. Expecting one.`));\n\n const version = versions[0];\n const result = createResult(options, version);\n\n checkMissing(result.installPath, options, (err, missing) => {\n if (err || !missing.length) return callback(err, result);\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, options.cachePath));\n queue.defer(ensureDestinationParent.bind(null, result.installPath));\n !~missing.indexOf('node') || queue.defer(installNode.bind(null, version, result.installPath, options));\n !~missing.indexOf('npm') || queue.defer(installNPM.bind(null, version, result.installPath, options));\n queue.await((err) => (err ? callback(err) : callback(null, result)));\n });\n });\n}\n"],"names":["install","getVersions","versionExpression","options","callback","isVersion","resolveVersions","storagePaths","storagePath","createStoragePaths","DEFAULT_STORAGE_PATHS","getTarget","err","versions","length","Error","map","x","version","result","createResult","checkMissing","installPath","missing","queue","Queue","defer","mkdirp","bind","cachePath","ensureDestinationParent","indexOf","installNode","installNPM","await"],"mappings":";;;;+BAqBA;;;eAAwBA;;;gEArBF;oEACH;0EACS;8DACV;2BAEoB;qEAEb;2EACM;8DACP;+DAED;qEACE;gFACW;kEACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtB,gBAAgB;AAChB,SAASC,YAAYC,iBAAiB,EAAEC,OAAO,EAAEC,QAAQ;IACvDC,IAAAA,kBAAS,EAACH,qBAAqBE,SAAS,MAAM;QAACF;KAAkB,IAAII,IAAAA,4BAAe,EAACJ,mBAAmBC,SAASC;AACnH;AAEe,SAASJ,QAAQE,iBAAiB,EAAEC,OAAO,EAAEC,QAAQ;IAClE,IAAMG,eAAeJ,QAAQK,WAAW,GAAGC,IAAAA,6BAAkB,EAACN,QAAQK,WAAW,IAAIE,kCAAqB;IAC1GP,UAAU,mBAAKI,cAAiBJ,SAAYQ,IAAAA,oBAAS,EAACR;IACtDF,YAAYC,mBAAmBC,SAAS,SAACS,KAAKC;QAC5C,IAAID,KAAK,OAAOR,SAASQ;QACzB,IAAI,CAACC,SAASC,MAAM,EAAE,OAAOV,SAAS,IAAIW,MAAM,AAAC,mCAAoD,OAAlBb;QACnF,IAAIW,SAASC,MAAM,KAAK,GAAG,OAAOV,SAAS,IAAIW,MAAM,AAAC,WAA8DF,OAApDX,mBAAkB,oCAAiE,OAA/BW,SAASG,GAAG,CAAC,SAACC;mBAAMA,EAAEC,OAAO;YAAE;QAEnJ,IAAMA,UAAUL,QAAQ,CAAC,EAAE;QAC3B,IAAMM,SAASC,IAAAA,uBAAY,EAACjB,SAASe;QAErCG,IAAAA,uBAAY,EAACF,OAAOG,WAAW,EAAEnB,SAAS,SAACS,KAAKW;YAC9C,IAAIX,OAAO,CAACW,QAAQT,MAAM,EAAE,OAAOV,SAASQ,KAAKO;YAEjD,IAAMK,QAAQ,IAAIC,gBAAK,CAAC;YACxBD,MAAME,KAAK,CAACC,sBAAM,CAACC,IAAI,CAAC,MAAMzB,QAAQ0B,SAAS;YAC/CL,MAAME,KAAK,CAACI,kCAAuB,CAACF,IAAI,CAAC,MAAMT,OAAOG,WAAW;YACjE,CAAC,CAACC,QAAQQ,OAAO,CAAC,WAAWP,MAAME,KAAK,CAACM,gBAAW,CAACJ,IAAI,CAAC,MAAMV,SAASC,OAAOG,WAAW,EAAEnB;YAC7F,CAAC,CAACoB,QAAQQ,OAAO,CAAC,UAAUP,MAAME,KAAK,CAACO,iBAAU,CAACL,IAAI,CAAC,MAAMV,SAASC,OAAOG,WAAW,EAAEnB;YAC3FqB,MAAMU,KAAK,CAAC,SAACtB;uBAASA,MAAMR,SAASQ,OAAOR,SAAS,MAAMe;;QAC7D;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/workers/install.ts"],"sourcesContent":["import isVersion from 'is-version';\nimport mkdirp from 'mkdirp-classic';\nimport resolveVersions from 'node-resolve-versions';\nimport Queue from 'queue-cb';\n\nimport { DEFAULT_STORAGE_PATHS } from '../constants.ts';\n\nimport createResult from '../createResult.ts';\nimport createStoragePaths from '../createStoragePaths.ts';\nimport installNode from '../installNode/index.ts';\n\nimport installNPM from '../installNPM/index.ts';\nimport checkMissing from '../lib/checkMissing.ts';\nimport ensureDestinationParent from '../lib/ensureDestinationParent.ts';\nimport getTarget from '../lib/getTarget.ts';\n\nimport type { InstallCallback, InstallOptions } from '../types.ts';\n\ntype GetVersionsCallback = (error?: Error, results?: string[]) => undefined;\nfunction getVersions(versionExpression: string, options: InstallOptions, callback: GetVersionsCallback): undefined {\n // short circuit\n isVersion(versionExpression) ? callback(null, [versionExpression]) : resolveVersions(versionExpression, options, callback);\n}\n\nexport default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): undefined {\n const storagePaths = options.storagePath ? createStoragePaths(options.storagePath) : DEFAULT_STORAGE_PATHS;\n options = { ...storagePaths, ...options, ...getTarget(options) };\n getVersions(versionExpression, options, (err?: Error, versions?: string[]): undefined => {\n if (err) {\n callback(err);\n return;\n }\n if (!versions.length) {\n callback(new Error(`Could not resolve versions for: ${versionExpression}`));\n return;\n }\n if (versions.length !== 1) {\n callback(new Error(`Version ${versionExpression} resolved to multiple versions: ${versions.map((x) => x)}. Expecting one.`));\n return;\n }\n\n const version = versions[0];\n const result = createResult(options, version);\n\n checkMissing(result.installPath, options, (err, missing): undefined => {\n if (err || !missing.length) {\n callback(err, result);\n return;\n }\n\n const queue = new Queue(1);\n queue.defer(mkdirp.bind(null, options.cachePath));\n queue.defer(ensureDestinationParent.bind(null, result.installPath));\n !~missing.indexOf('node') || queue.defer(installNode.bind(null, version, result.installPath, options));\n !~missing.indexOf('npm') || queue.defer(installNPM.bind(null, version, result.installPath, options));\n queue.await((err) => (err ? callback(err) : callback(null, result)));\n });\n });\n}\n"],"names":["install","getVersions","versionExpression","options","callback","isVersion","resolveVersions","storagePaths","storagePath","createStoragePaths","DEFAULT_STORAGE_PATHS","getTarget","err","versions","length","Error","map","x","version","result","createResult","checkMissing","installPath","missing","queue","Queue","defer","mkdirp","bind","cachePath","ensureDestinationParent","indexOf","installNode","installNPM","await"],"mappings":";;;;+BAwBA;;;eAAwBA;;;gEAxBF;oEACH;0EACS;8DACV;2BAEoB;qEAEb;2EACM;8DACP;+DAED;qEACE;gFACW;kEACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKtB,SAASC,YAAYC,iBAAyB,EAAEC,OAAuB,EAAEC,QAA6B;IACpG,gBAAgB;IAChBC,IAAAA,kBAAS,EAACH,qBAAqBE,SAAS,MAAM;QAACF;KAAkB,IAAII,IAAAA,4BAAe,EAACJ,mBAAmBC,SAASC;AACnH;AAEe,SAASJ,QAAQE,iBAAyB,EAAEC,OAAuB,EAAEC,QAAyB;IAC3G,IAAMG,eAAeJ,QAAQK,WAAW,GAAGC,IAAAA,6BAAkB,EAACN,QAAQK,WAAW,IAAIE,kCAAqB;IAC1GP,UAAU,mBAAKI,cAAiBJ,SAAYQ,IAAAA,oBAAS,EAACR;IACtDF,YAAYC,mBAAmBC,SAAS,SAACS,KAAaC;QACpD,IAAID,KAAK;YACPR,SAASQ;YACT;QACF;QACA,IAAI,CAACC,SAASC,MAAM,EAAE;YACpBV,SAAS,IAAIW,MAAM,AAAC,mCAAoD,OAAlBb;YACtD;QACF;QACA,IAAIW,SAASC,MAAM,KAAK,GAAG;YACzBV,SAAS,IAAIW,MAAM,AAAC,WAA8DF,OAApDX,mBAAkB,oCAAyD,OAAvBW,SAASG,GAAG,CAAC,SAACC;uBAAMA;gBAAG;YACzG;QACF;QAEA,IAAMC,UAAUL,QAAQ,CAAC,EAAE;QAC3B,IAAMM,SAASC,IAAAA,uBAAY,EAACjB,SAASe;QAErCG,IAAAA,uBAAY,EAACF,OAAOG,WAAW,EAAEnB,SAAS,SAACS,KAAKW;YAC9C,IAAIX,OAAO,CAACW,QAAQT,MAAM,EAAE;gBAC1BV,SAASQ,KAAKO;gBACd;YACF;YAEA,IAAMK,QAAQ,IAAIC,gBAAK,CAAC;YACxBD,MAAME,KAAK,CAACC,sBAAM,CAACC,IAAI,CAAC,MAAMzB,QAAQ0B,SAAS;YAC/CL,MAAME,KAAK,CAACI,kCAAuB,CAACF,IAAI,CAAC,MAAMT,OAAOG,WAAW;YACjE,CAAC,CAACC,QAAQQ,OAAO,CAAC,WAAWP,MAAME,KAAK,CAACM,gBAAW,CAACJ,IAAI,CAAC,MAAMV,SAASC,OAAOG,WAAW,EAAEnB;YAC7F,CAAC,CAACoB,QAAQQ,OAAO,CAAC,UAAUP,MAAME,KAAK,CAACO,iBAAU,CAACL,IAAI,CAAC,MAAMV,SAASC,OAAOG,WAAW,EAAEnB;YAC3FqB,MAAMU,KAAK,CAAC,SAACtB;uBAASA,MAAMR,SAASQ,OAAOR,SAAS,MAAMe;;QAC7D;IACF;AACF"}
package/dist/esm/cli.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const _default: (argv: any) => any;
1
+ declare const _default: (argv: string[]) => undefined;
2
2
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport install, { type InstallOptions } from './index.ts';\n\nconst ERROR_CODE = 9;\n\nexport default (argv) => {\n const options = getopts(argv.slice(1), {\n alias: { platform: 'p', arch: 'a', filename: 'f', installPath: 'i', storagePath: 'c', silent: 'si' },\n boolean: ['silent'],\n });\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log('Missing command. Example usage: nir version [directory]');\n return exit(ERROR_CODE);\n }\n install(args[0], options as InstallOptions, (err, result) => {\n if (!options.silent) {\n console.log('\\n======================');\n if (err) console.log(`${args[0]} not installed. Error: ${err.message}`);\n else console.log(`${result.version} installed in: ${result.installPath}`);\n console.log('======================');\n }\n exit(err ? ERROR_CODE : 0);\n });\n};\n"],"names":["exit","getopts","install","ERROR_CODE","argv","options","slice","alias","platform","arch","filename","installPath","storagePath","silent","boolean","args","concat","_","length","console","log","err","result","message","version"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,iBAAiB;AACrC,OAAOC,aAAsC,aAAa;AAE1D,MAAMC,aAAa;AAEnB,eAAe,CAAA,CAACC;IACd,MAAMC,UAAUJ,QAAQG,KAAKE,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,UAAU;YAAKC,MAAM;YAAKC,UAAU;YAAKC,aAAa;YAAKC,aAAa;YAAKC,QAAQ;QAAK;QACnGC,SAAS;YAAC;SAAS;IACrB;IAEA,MAAMC,OAAOX,KAAKE,KAAK,CAAC,GAAG,GAAGU,MAAM,CAACX,QAAQY,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBC,QAAQC,GAAG,CAAC;QACZ,OAAOpB,KAAKG;IACd;IACAD,QAAQa,IAAI,CAAC,EAAE,EAAEV,SAA2B,CAACgB,KAAKC;QAChD,IAAI,CAACjB,QAAQQ,MAAM,EAAE;YACnBM,QAAQC,GAAG,CAAC;YACZ,IAAIC,KAAKF,QAAQC,GAAG,CAAC,GAAGL,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAEM,IAAIE,OAAO,EAAE;iBACjEJ,QAAQC,GAAG,CAAC,GAAGE,OAAOE,OAAO,CAAC,eAAe,EAAEF,OAAOX,WAAW,EAAE;YACxEQ,QAAQC,GAAG,CAAC;QACd;QACApB,KAAKqB,MAAMlB,aAAa;IAC1B;AACF,CAAA,EAAE"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/cli.ts"],"sourcesContent":["import exit from 'exit';\nimport getopts from 'getopts-compat';\nimport install, { type InstallOptions } from './index.ts';\n\nconst ERROR_CODE = 9;\n\nexport default (argv: string[]): undefined => {\n const options = getopts(argv.slice(1), {\n alias: { platform: 'p', arch: 'a', filename: 'f', installPath: 'i', storagePath: 'c', silent: 'si' },\n boolean: ['silent'],\n });\n\n const args = argv.slice(0, 1).concat(options._);\n if (args.length < 1) {\n console.log('Missing command. Example usage: nir version [directory]');\n return exit(ERROR_CODE);\n }\n install(args[0], options as InstallOptions, (err, result) => {\n if (!options.silent) {\n console.log('\\n======================');\n if (err) console.log(`${args[0]} not installed. Error: ${err.message}`);\n else console.log(`${result.version} installed in: ${result.installPath}`);\n console.log('======================');\n }\n exit(err ? ERROR_CODE : 0);\n });\n};\n"],"names":["exit","getopts","install","ERROR_CODE","argv","options","slice","alias","platform","arch","filename","installPath","storagePath","silent","boolean","args","concat","_","length","console","log","err","result","message","version"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,iBAAiB;AACrC,OAAOC,aAAsC,aAAa;AAE1D,MAAMC,aAAa;AAEnB,eAAe,CAAA,CAACC;IACd,MAAMC,UAAUJ,QAAQG,KAAKE,KAAK,CAAC,IAAI;QACrCC,OAAO;YAAEC,UAAU;YAAKC,MAAM;YAAKC,UAAU;YAAKC,aAAa;YAAKC,aAAa;YAAKC,QAAQ;QAAK;QACnGC,SAAS;YAAC;SAAS;IACrB;IAEA,MAAMC,OAAOX,KAAKE,KAAK,CAAC,GAAG,GAAGU,MAAM,CAACX,QAAQY,CAAC;IAC9C,IAAIF,KAAKG,MAAM,GAAG,GAAG;QACnBC,QAAQC,GAAG,CAAC;QACZ,OAAOpB,KAAKG;IACd;IACAD,QAAQa,IAAI,CAAC,EAAE,EAAEV,SAA2B,CAACgB,KAAKC;QAChD,IAAI,CAACjB,QAAQQ,MAAM,EAAE;YACnBM,QAAQC,GAAG,CAAC;YACZ,IAAIC,KAAKF,QAAQC,GAAG,CAAC,GAAGL,IAAI,CAAC,EAAE,CAAC,uBAAuB,EAAEM,IAAIE,OAAO,EAAE;iBACjEJ,QAAQC,GAAG,CAAC,GAAGE,OAAOE,OAAO,CAAC,eAAe,EAAEF,OAAOX,WAAW,EAAE;YACxEQ,QAAQC,GAAG,CAAC;QACd;QACApB,KAAKqB,MAAMlB,aAAa;IAC1B;AACF,CAAA,EAAE"}
@@ -1,7 +1,8 @@
1
- export declare const FILES: JSON;
2
- export declare const DEFAULT_STORAGE_PATH: any;
3
- export declare const DEFAULT_STORAGE_PATHS: import("./types.js").StorageLocations;
4
- export declare const FILE_PLATFORMS: any;
1
+ import type { FilePath } from './types.ts';
2
+ export declare const FILES: Record<string, import("./types.ts").File[]>;
3
+ export declare const DEFAULT_STORAGE_PATH: string;
4
+ export declare const DEFAULT_STORAGE_PATHS: import("./types.ts").StorageLocations;
5
+ export declare const FILE_PLATFORMS: string[];
5
6
  export declare const FILE_PLATFORM_MAP: {
6
7
  win: string;
7
8
  win32: string;
@@ -11,7 +12,7 @@ export declare const FILE_PLATFORM_MAP: {
11
12
  export declare const EXTENSIONS_COMPRESSED: string[];
12
13
  export declare const NODE_FILE_PATHS: {
13
14
  win32: string;
14
- posix: any;
15
+ posix: string;
15
16
  };
16
17
  export declare const NODE_DIST_BASE_URL = "https://nodejs.org/dist";
17
18
  export declare const NODE_SCHEDULES_URL = "https://raw.githubusercontent.com/nodejs/Release/master/schedule.json";
@@ -19,22 +20,6 @@ export declare const NPM_DIST_URL = "https://registry.npmjs.org/npm";
19
20
  export declare const NPM_DIST_TAGS_URL = "https://registry.npmjs.org/-/package/npm/dist-tags";
20
21
  export declare const NPM_MIN_VERSION = 3;
21
22
  export declare const NPM_FILE_PATHS: {
22
- win32: ({
23
- src: any;
24
- dest: string;
25
- optional?: undefined;
26
- } | {
27
- src: any;
28
- dest: string;
29
- optional: boolean;
30
- })[];
31
- posix: ({
32
- src: any;
33
- dest: any;
34
- optional?: undefined;
35
- } | {
36
- src: any;
37
- dest: any;
38
- optional: boolean;
39
- })[];
23
+ win32: FilePath[];
24
+ posix: FilePath[];
40
25
  };
@@ -2,7 +2,6 @@ import home from 'homedir-polyfill';
2
2
  import keys from 'lodash.keys';
3
3
  import path from 'path';
4
4
  import createStoragePaths from './createStoragePaths.js';
5
- // @ts-ignore
6
5
  import files from './files.js';
7
6
  export const FILES = files;
8
7
  export const DEFAULT_STORAGE_PATH = path.join(home(), '.nir');
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/constants.ts"],"sourcesContent":["import home from 'homedir-polyfill';\nimport keys from 'lodash.keys';\nimport path from 'path';\nimport createStoragePaths from './createStoragePaths.ts';\n// @ts-ignore\nimport files from './files.ts';\n\nexport const FILES = files;\nexport const DEFAULT_STORAGE_PATH = path.join(home(), '.nir');\nexport const DEFAULT_STORAGE_PATHS = createStoragePaths(DEFAULT_STORAGE_PATH);\n\nexport const FILE_PLATFORMS = keys(FILES).filter((file) => ['src', 'headers'].indexOf(file) < 0);\n\nexport const FILE_PLATFORM_MAP = {\n win: 'win32',\n win32: 'win',\n osx: 'darwin',\n darwin: 'osx',\n};\n\nexport const EXTENSIONS_COMPRESSED = ['.gz', '.zip', '.xz', '.7z'];\n\nexport const NODE_FILE_PATHS = {\n win32: 'node.exe',\n posix: path.join('bin', 'node'),\n};\nexport const NODE_DIST_BASE_URL = 'https://nodejs.org/dist';\nexport const NODE_SCHEDULES_URL = 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json';\n\nexport const NPM_DIST_URL = 'https://registry.npmjs.org/npm';\nexport const NPM_DIST_TAGS_URL = 'https://registry.npmjs.org/-/package/npm/dist-tags';\nexport const NPM_MIN_VERSION = 3;\nexport const NPM_FILE_PATHS = {\n win32: [\n { src: path.join('node_modules', 'npm', 'bin', 'npm'), dest: 'npm' },\n { src: path.join('node_modules', 'npm', 'bin', 'npm.cmd'), dest: 'npm.cmd' },\n { src: path.join('node_modules', 'npm', 'bin', 'npx'), dest: 'npx', optional: true },\n { src: path.join('node_modules', 'npm', 'bin', 'npx.cmd'), dest: 'npx.cmd', optional: true },\n ],\n posix: [\n { src: path.join('lib', 'node_modules', 'npm', 'bin', 'npm-cli.js'), dest: path.join('bin', 'npm') },\n { src: path.join('lib', 'node_modules', 'npm', 'bin', 'npx-cli.js'), dest: path.join('bin', 'npx'), optional: true },\n ],\n};\n"],"names":["home","keys","path","createStoragePaths","files","FILES","DEFAULT_STORAGE_PATH","join","DEFAULT_STORAGE_PATHS","FILE_PLATFORMS","filter","file","indexOf","FILE_PLATFORM_MAP","win","win32","osx","darwin","EXTENSIONS_COMPRESSED","NODE_FILE_PATHS","posix","NODE_DIST_BASE_URL","NODE_SCHEDULES_URL","NPM_DIST_URL","NPM_DIST_TAGS_URL","NPM_MIN_VERSION","NPM_FILE_PATHS","src","dest","optional"],"mappings":"AAAA,OAAOA,UAAU,mBAAmB;AACpC,OAAOC,UAAU,cAAc;AAC/B,OAAOC,UAAU,OAAO;AACxB,OAAOC,wBAAwB,0BAA0B;AACzD,aAAa;AACb,OAAOC,WAAW,aAAa;AAE/B,OAAO,MAAMC,QAAQD,MAAM;AAC3B,OAAO,MAAME,uBAAuBJ,KAAKK,IAAI,CAACP,QAAQ,QAAQ;AAC9D,OAAO,MAAMQ,wBAAwBL,mBAAmBG,sBAAsB;AAE9E,OAAO,MAAMG,iBAAiBR,KAAKI,OAAOK,MAAM,CAAC,CAACC,OAAS;QAAC;QAAO;KAAU,CAACC,OAAO,CAACD,QAAQ,GAAG;AAEjG,OAAO,MAAME,oBAAoB;IAC/BC,KAAK;IACLC,OAAO;IACPC,KAAK;IACLC,QAAQ;AACV,EAAE;AAEF,OAAO,MAAMC,wBAAwB;IAAC;IAAO;IAAQ;IAAO;CAAM,CAAC;AAEnE,OAAO,MAAMC,kBAAkB;IAC7BJ,OAAO;IACPK,OAAOlB,KAAKK,IAAI,CAAC,OAAO;AAC1B,EAAE;AACF,OAAO,MAAMc,qBAAqB,0BAA0B;AAC5D,OAAO,MAAMC,qBAAqB,wEAAwE;AAE1G,OAAO,MAAMC,eAAe,iCAAiC;AAC7D,OAAO,MAAMC,oBAAoB,qDAAqD;AACtF,OAAO,MAAMC,kBAAkB,EAAE;AACjC,OAAO,MAAMC,iBAAiB;IAC5BX,OAAO;QACL;YAAEY,KAAKzB,KAAKK,IAAI,CAAC,gBAAgB,OAAO,OAAO;YAAQqB,MAAM;QAAM;QACnE;YAAED,KAAKzB,KAAKK,IAAI,CAAC,gBAAgB,OAAO,OAAO;YAAYqB,MAAM;QAAU;QAC3E;YAAED,KAAKzB,KAAKK,IAAI,CAAC,gBAAgB,OAAO,OAAO;YAAQqB,MAAM;YAAOC,UAAU;QAAK;QACnF;YAAEF,KAAKzB,KAAKK,IAAI,CAAC,gBAAgB,OAAO,OAAO;YAAYqB,MAAM;YAAWC,UAAU;QAAK;KAC5F;IACDT,OAAO;QACL;YAAEO,KAAKzB,KAAKK,IAAI,CAAC,OAAO,gBAAgB,OAAO,OAAO;YAAeqB,MAAM1B,KAAKK,IAAI,CAAC,OAAO;QAAO;QACnG;YAAEoB,KAAKzB,KAAKK,IAAI,CAAC,OAAO,gBAAgB,OAAO,OAAO;YAAeqB,MAAM1B,KAAKK,IAAI,CAAC,OAAO;YAAQsB,UAAU;QAAK;KACpH;AACH,EAAE"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/constants.ts"],"sourcesContent":["import home from 'homedir-polyfill';\nimport keys from 'lodash.keys';\nimport path from 'path';\nimport createStoragePaths from './createStoragePaths.ts';\nimport files from './files.ts';\n\nimport type { FilePath } from './types.ts';\n\nexport const FILES = files;\nexport const DEFAULT_STORAGE_PATH = path.join(home(), '.nir') as string;\nexport const DEFAULT_STORAGE_PATHS = createStoragePaths(DEFAULT_STORAGE_PATH);\n\nexport const FILE_PLATFORMS = keys(FILES).filter((file) => ['src', 'headers'].indexOf(file) < 0) as string[];\n\nexport const FILE_PLATFORM_MAP = {\n win: 'win32',\n win32: 'win',\n osx: 'darwin',\n darwin: 'osx',\n};\n\nexport const EXTENSIONS_COMPRESSED = ['.gz', '.zip', '.xz', '.7z'];\n\nexport const NODE_FILE_PATHS = {\n win32: 'node.exe',\n posix: path.join('bin', 'node') as string,\n};\nexport const NODE_DIST_BASE_URL = 'https://nodejs.org/dist';\nexport const NODE_SCHEDULES_URL = 'https://raw.githubusercontent.com/nodejs/Release/master/schedule.json';\n\nexport const NPM_DIST_URL = 'https://registry.npmjs.org/npm';\nexport const NPM_DIST_TAGS_URL = 'https://registry.npmjs.org/-/package/npm/dist-tags';\nexport const NPM_MIN_VERSION = 3;\n\nexport const NPM_FILE_PATHS = {\n win32: [\n { src: path.join('node_modules', 'npm', 'bin', 'npm'), dest: 'npm' },\n { src: path.join('node_modules', 'npm', 'bin', 'npm.cmd'), dest: 'npm.cmd' },\n { src: path.join('node_modules', 'npm', 'bin', 'npx'), dest: 'npx', optional: true },\n { src: path.join('node_modules', 'npm', 'bin', 'npx.cmd'), dest: 'npx.cmd', optional: true },\n ] as FilePath[],\n posix: [\n { src: path.join('lib', 'node_modules', 'npm', 'bin', 'npm-cli.js'), dest: path.join('bin', 'npm') },\n { src: path.join('lib', 'node_modules', 'npm', 'bin', 'npx-cli.js'), dest: path.join('bin', 'npx'), optional: true },\n ] as FilePath[],\n};\n"],"names":["home","keys","path","createStoragePaths","files","FILES","DEFAULT_STORAGE_PATH","join","DEFAULT_STORAGE_PATHS","FILE_PLATFORMS","filter","file","indexOf","FILE_PLATFORM_MAP","win","win32","osx","darwin","EXTENSIONS_COMPRESSED","NODE_FILE_PATHS","posix","NODE_DIST_BASE_URL","NODE_SCHEDULES_URL","NPM_DIST_URL","NPM_DIST_TAGS_URL","NPM_MIN_VERSION","NPM_FILE_PATHS","src","dest","optional"],"mappings":"AAAA,OAAOA,UAAU,mBAAmB;AACpC,OAAOC,UAAU,cAAc;AAC/B,OAAOC,UAAU,OAAO;AACxB,OAAOC,wBAAwB,0BAA0B;AACzD,OAAOC,WAAW,aAAa;AAI/B,OAAO,MAAMC,QAAQD,MAAM;AAC3B,OAAO,MAAME,uBAAuBJ,KAAKK,IAAI,CAACP,QAAQ,QAAkB;AACxE,OAAO,MAAMQ,wBAAwBL,mBAAmBG,sBAAsB;AAE9E,OAAO,MAAMG,iBAAiBR,KAAKI,OAAOK,MAAM,CAAC,CAACC,OAAS;QAAC;QAAO;KAAU,CAACC,OAAO,CAACD,QAAQ,GAAe;AAE7G,OAAO,MAAME,oBAAoB;IAC/BC,KAAK;IACLC,OAAO;IACPC,KAAK;IACLC,QAAQ;AACV,EAAE;AAEF,OAAO,MAAMC,wBAAwB;IAAC;IAAO;IAAQ;IAAO;CAAM,CAAC;AAEnE,OAAO,MAAMC,kBAAkB;IAC7BJ,OAAO;IACPK,OAAOlB,KAAKK,IAAI,CAAC,OAAO;AAC1B,EAAE;AACF,OAAO,MAAMc,qBAAqB,0BAA0B;AAC5D,OAAO,MAAMC,qBAAqB,wEAAwE;AAE1G,OAAO,MAAMC,eAAe,iCAAiC;AAC7D,OAAO,MAAMC,oBAAoB,qDAAqD;AACtF,OAAO,MAAMC,kBAAkB,EAAE;AAEjC,OAAO,MAAMC,iBAAiB;IAC5BX,OAAO;QACL;YAAEY,KAAKzB,KAAKK,IAAI,CAAC,gBAAgB,OAAO,OAAO;YAAQqB,MAAM;QAAM;QACnE;YAAED,KAAKzB,KAAKK,IAAI,CAAC,gBAAgB,OAAO,OAAO;YAAYqB,MAAM;QAAU;QAC3E;YAAED,KAAKzB,KAAKK,IAAI,CAAC,gBAAgB,OAAO,OAAO;YAAQqB,MAAM;YAAOC,UAAU;QAAK;QACnF;YAAEF,KAAKzB,KAAKK,IAAI,CAAC,gBAAgB,OAAO,OAAO;YAAYqB,MAAM;YAAWC,UAAU;QAAK;KAC5F;IACDT,OAAO;QACL;YAAEO,KAAKzB,KAAKK,IAAI,CAAC,OAAO,gBAAgB,OAAO,OAAO;YAAeqB,MAAM1B,KAAKK,IAAI,CAAC,OAAO;QAAO;QACnG;YAAEoB,KAAKzB,KAAKK,IAAI,CAAC,OAAO,gBAAgB,OAAO,OAAO;YAAeqB,MAAM1B,KAAKK,IAAI,CAAC,OAAO;YAAQsB,UAAU;QAAK;KACpH;AACH,EAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/createStoragePaths.ts"],"sourcesContent":["import path from 'path';\n\nimport type { StorageLocations } from './types.ts';\n\nexport default function createStoragePaths(storagePath: string): StorageLocations {\n return {\n cachePath: path.join(storagePath, 'cache'),\n buildPath: path.join(storagePath, 'build'),\n installPath: path.join(storagePath, 'installed'),\n };\n}\n"],"names":["path","createStoragePaths","storagePath","cachePath","join","buildPath","installPath"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AAIxB,eAAe,SAASC,mBAAmBC,WAAmB;IAC5D,OAAO;QACLC,WAAWH,KAAKI,IAAI,CAACF,aAAa;QAClCG,WAAWL,KAAKI,IAAI,CAACF,aAAa;QAClCI,aAAaN,KAAKI,IAAI,CAACF,aAAa;IACtC;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/createStoragePaths.ts"],"sourcesContent":["import path from 'path';\n\nimport type { StorageLocations } from './types.ts';\n\nexport default function createStoragePaths(storagePath: string): StorageLocations {\n return {\n cachePath: path.join(storagePath, 'cache') as string,\n buildPath: path.join(storagePath, 'build') as string,\n installPath: path.join(storagePath, 'installed') as string,\n };\n}\n"],"names":["path","createStoragePaths","storagePath","cachePath","join","buildPath","installPath"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AAIxB,eAAe,SAASC,mBAAmBC,WAAmB;IAC5D,OAAO;QACLC,WAAWH,KAAKI,IAAI,CAACF,aAAa;QAClCG,WAAWL,KAAKI,IAAI,CAACF,aAAa;QAClCI,aAAaN,KAAKI,IAAI,CAACF,aAAa;IACtC;AACF"}
@@ -1,2 +1,3 @@
1
- declare const _default: JSON;
1
+ import type { File } from './types.ts';
2
+ declare const _default: Record<string, File[]>;
2
3
  export default _default;
package/dist/esm/files.js CHANGED
@@ -1,4 +1,3 @@
1
1
  import Module from 'module';
2
2
  const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
3
- const path = '../../assets/files.cjs';
4
- export default _require(path);
3
+ export default _require('../../assets/files.cjs');
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/files.ts"],"sourcesContent":["import Module from 'module';\n\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst path = '../../assets/files.cjs';\nexport default _require(path) as JSON;\n"],"names":["Module","_require","require","createRequire","url","path"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAE5B,MAAMC,WAAW,OAAOC,YAAY,cAAcF,OAAOG,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,MAAMG,OAAO;AACb,eAAeJ,SAASI,MAAc"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/files.ts"],"sourcesContent":["import Module from 'module';\nimport type { File } from './types.ts';\n\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nexport default _require('../../assets/files.cjs') as Record<string, File[]>;\n"],"names":["Module","_require","require","createRequire","url"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAG5B,MAAMC,WAAW,OAAOC,YAAY,cAAcF,OAAOG,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAC1F,eAAeD,SAAS,0BAAoD"}
@@ -1,5 +1,8 @@
1
1
  import type { InstallCallback, InstallOptions, InstallResult } from './types.ts';
2
2
  export type * from './types.ts';
3
- export default function install(versionExpression: string, options?: InstallOptions | InstallCallback, callback?: InstallCallback): undefined | Promise<InstallResult>;
3
+ export default function install(versionExpression: string): Promise<InstallResult>;
4
+ export default function install(versionExpression: string, options: InstallOptions): Promise<InstallResult>;
5
+ export default function install(versionExpression: string, callback: InstallCallback): undefined;
6
+ export default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): undefined;
4
7
  export { default as createResult } from './createResult.ts';
5
8
  export { default as createStoragePaths } from './createStoragePaths.ts';
package/dist/esm/index.js CHANGED
@@ -6,7 +6,9 @@ export default function install(versionExpression, options, callback) {
6
6
  }
7
7
  options = options || {};
8
8
  if (typeof callback === 'function') return worker(versionExpression, options, callback);
9
- return new Promise((resolve, reject)=>worker(versionExpression, options, (err, result)=>err ? reject(err) : resolve(result)));
9
+ return new Promise((resolve, reject)=>worker(versionExpression, options, (err, result)=>{
10
+ err ? reject(err) : resolve(result);
11
+ }));
10
12
  }
11
13
  export { default as createResult } from './createResult.js';
12
14
  export { default as createStoragePaths } from './createStoragePaths.js';
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/index.ts"],"sourcesContent":["import type { InstallCallback, InstallOptions, InstallResult } from './types.ts';\nimport worker from './workers/install.ts';\n\nexport type * from './types.ts';\nexport default function install(versionExpression: string, options?: InstallOptions | InstallCallback, callback?: InstallCallback): undefined | Promise<InstallResult> {\n if (typeof options === 'function') {\n callback = options as InstallCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(versionExpression, options, callback) as undefined;\n return new Promise((resolve, reject) => worker(versionExpression, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\nexport { default as createResult } from './createResult.ts';\nexport { default as createStoragePaths } from './createStoragePaths.ts';\n"],"names":["worker","install","versionExpression","options","callback","Promise","resolve","reject","err","result","default","createResult","createStoragePaths"],"mappings":"AACA,OAAOA,YAAY,uBAAuB;AAG1C,eAAe,SAASC,QAAQC,iBAAyB,EAAEC,OAA0C,EAAEC,QAA0B;IAC/H,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOJ,OAAOE,mBAAmBC,SAASC;IAC9E,OAAO,IAAIC,QAAQ,CAACC,SAASC,SAAWP,OAAOE,mBAAmBC,SAAS,CAACK,KAAKC,SAAYD,MAAMD,OAAOC,OAAOF,QAAQG;AAC3H;AACA,SAASC,WAAWC,YAAY,QAAQ,oBAAoB;AAC5D,SAASD,WAAWE,kBAAkB,QAAQ,0BAA0B"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/index.ts"],"sourcesContent":["import type { InstallCallback, InstallOptions, InstallResult } from './types.ts';\nimport worker from './workers/install.ts';\n\nexport type * from './types.ts';\n\nexport default function install(versionExpression: string): Promise<InstallResult>;\nexport default function install(versionExpression: string, options: InstallOptions): Promise<InstallResult>;\n\nexport default function install(versionExpression: string, callback: InstallCallback): undefined;\nexport default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): undefined;\n\nexport default function install(versionExpression: string, options?: InstallOptions | InstallCallback, callback?: InstallCallback): undefined | Promise<InstallResult> {\n if (typeof options === 'function') {\n callback = options as InstallCallback;\n options = {};\n }\n options = options || {};\n\n if (typeof callback === 'function') return worker(versionExpression, options, callback) as undefined;\n return new Promise((resolve, reject) =>\n worker(versionExpression, options, (err, result) => {\n err ? reject(err) : resolve(result);\n })\n );\n}\nexport { default as createResult } from './createResult.ts';\nexport { default as createStoragePaths } from './createStoragePaths.ts';\n"],"names":["worker","install","versionExpression","options","callback","Promise","resolve","reject","err","result","default","createResult","createStoragePaths"],"mappings":"AACA,OAAOA,YAAY,uBAAuB;AAU1C,eAAe,SAASC,QAAQC,iBAAyB,EAAEC,OAA0C,EAAEC,QAA0B;IAC/H,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOJ,OAAOE,mBAAmBC,SAASC;IAC9E,OAAO,IAAIC,QAAQ,CAACC,SAASC,SAC3BP,OAAOE,mBAAmBC,SAAS,CAACK,KAAKC;YACvCD,MAAMD,OAAOC,OAAOF,QAAQG;QAC9B;AAEJ;AACA,SAASC,WAAWC,YAAY,QAAQ,oBAAoB;AAC5D,SAASD,WAAWE,kBAAkB,QAAQ,0BAA0B"}
@@ -1 +1,2 @@
1
- export default function install(version: any, dest: any, options: any, callback: any): void;
1
+ import type { InstallOptions, NoParamCallback } from '../types.ts';
2
+ export default function install(version: string, dest: string, options: InstallOptions, callback: NoParamCallback): undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/index.ts"],"sourcesContent":["import Queue from 'queue-cb';\nimport installBin from './installBin.ts';\nimport installLib from './installLib.ts';\n\nexport default function install(version, dest, options, callback) {\n let npmVersion = null;\n\n const queue = new Queue(1);\n queue.defer((cb) =>\n installLib(version, dest, options, (err, _npmVersion) => {\n npmVersion = _npmVersion;\n cb(err);\n })\n );\n queue.defer(installBin.bind(null, version, dest, options));\n queue.await((err) => {\n console.log(`npm ${npmVersion || ''} ${!err ? 'installed' : `install failed. Error: ${err.message}`}`);\n callback(err);\n });\n}\n"],"names":["Queue","installBin","installLib","install","version","dest","options","callback","npmVersion","queue","defer","cb","err","_npmVersion","bind","await","console","log","message"],"mappings":"AAAA,OAAOA,WAAW,WAAW;AAC7B,OAAOC,gBAAgB,kBAAkB;AACzC,OAAOC,gBAAgB,kBAAkB;AAEzC,eAAe,SAASC,QAAQC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC9D,IAAIC,aAAa;IAEjB,MAAMC,QAAQ,IAAIT,MAAM;IACxBS,MAAMC,KAAK,CAAC,CAACC,KACXT,WAAWE,SAASC,MAAMC,SAAS,CAACM,KAAKC;YACvCL,aAAaK;YACbF,GAAGC;QACL;IAEFH,MAAMC,KAAK,CAACT,WAAWa,IAAI,CAAC,MAAMV,SAASC,MAAMC;IACjDG,MAAMM,KAAK,CAAC,CAACH;QACXI,QAAQC,GAAG,CAAC,CAAC,IAAI,EAAET,cAAc,GAAG,CAAC,EAAE,CAACI,MAAM,cAAc,CAAC,uBAAuB,EAAEA,IAAIM,OAAO,EAAE,EAAE;QACrGX,SAASK;IACX;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/index.ts"],"sourcesContent":["import Queue from 'queue-cb';\nimport type { InstallOptions, NoParamCallback } from '../types.ts';\nimport installBin from './installBin.ts';\nimport installLib from './installLib.ts';\n\nexport default function install(version: string, dest: string, options: InstallOptions, callback: NoParamCallback): undefined {\n let npmVersion = null;\n\n const queue = new Queue(1);\n queue.defer((cb) =>\n installLib(version, dest, options, (err, _npmVersion) => {\n npmVersion = _npmVersion;\n cb(err);\n })\n );\n queue.defer(installBin.bind(null, version, dest, options));\n queue.await((err) => {\n console.log(`npm ${npmVersion || ''} ${!err ? 'installed' : `install failed. Error: ${err.message}`}`);\n callback(err);\n });\n}\n"],"names":["Queue","installBin","installLib","install","version","dest","options","callback","npmVersion","queue","defer","cb","err","_npmVersion","bind","await","console","log","message"],"mappings":"AAAA,OAAOA,WAAW,WAAW;AAE7B,OAAOC,gBAAgB,kBAAkB;AACzC,OAAOC,gBAAgB,kBAAkB;AAEzC,eAAe,SAASC,QAAQC,OAAe,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAAyB;IAC/G,IAAIC,aAAa;IAEjB,MAAMC,QAAQ,IAAIT,MAAM;IACxBS,MAAMC,KAAK,CAAC,CAACC,KACXT,WAAWE,SAASC,MAAMC,SAAS,CAACM,KAAKC;YACvCL,aAAaK;YACbF,GAAGC;QACL;IAEFH,MAAMC,KAAK,CAACT,WAAWa,IAAI,CAAC,MAAMV,SAASC,MAAMC;IACjDG,MAAMM,KAAK,CAAC,CAACH;QACXI,QAAQC,GAAG,CAAC,CAAC,IAAI,EAAET,cAAc,GAAG,CAAC,EAAE,CAACI,MAAM,cAAc,CAAC,uBAAuB,EAAEA,IAAIM,OAAO,EAAE,EAAE;QACrGX,SAASK;IACX;AACF"}
@@ -1 +1,2 @@
1
- export default function installBin(_version: any, dest: any, options: any, callback: any): void;
1
+ import type { InstallOptions, NoParamCallback } from '../types.ts';
2
+ export default function installBin(_version: string, dest: string, options: InstallOptions, callback: NoParamCallback): void;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installBin.ts"],"sourcesContent":["import path from 'path';\nimport Queue from 'queue-cb';\nimport { NPM_FILE_PATHS } from '../constants.ts';\nimport conditionalCopy from '../lib/conditionalCopy.ts';\n\nexport default function installBin(_version, dest, options, callback) {\n const platform = options.platform;\n const files = NPM_FILE_PATHS[platform] || NPM_FILE_PATHS.posix;\n\n const queue = new Queue();\n files.forEach((file) => queue.defer(conditionalCopy.bind(null, path.join(dest, file.src), path.join(dest, file.dest), file.optional)));\n queue.await(callback);\n}\n"],"names":["path","Queue","NPM_FILE_PATHS","conditionalCopy","installBin","_version","dest","options","callback","platform","files","posix","queue","forEach","file","defer","bind","join","src","optional","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,SAASC,cAAc,QAAQ,kBAAkB;AACjD,OAAOC,qBAAqB,4BAA4B;AAExD,eAAe,SAASC,WAAWC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAClE,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,QAAQR,cAAc,CAACO,SAAS,IAAIP,eAAeS,KAAK;IAE9D,MAAMC,QAAQ,IAAIX;IAClBS,MAAMG,OAAO,CAAC,CAACC,OAASF,MAAMG,KAAK,CAACZ,gBAAgBa,IAAI,CAAC,MAAMhB,KAAKiB,IAAI,CAACX,MAAMQ,KAAKI,GAAG,GAAGlB,KAAKiB,IAAI,CAACX,MAAMQ,KAAKR,IAAI,GAAGQ,KAAKK,QAAQ;IACnIP,MAAMQ,KAAK,CAACZ;AACd"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installBin.ts"],"sourcesContent":["import path from 'path';\nimport Queue from 'queue-cb';\nimport { NPM_FILE_PATHS } from '../constants.ts';\nimport conditionalCopy from '../lib/conditionalCopy.ts';\n\nimport type { InstallOptions, NoParamCallback } from '../types.ts';\n\nexport default function installBin(_version: string, dest: string, options: InstallOptions, callback: NoParamCallback) {\n const platform = options.platform;\n const files = NPM_FILE_PATHS[platform] || NPM_FILE_PATHS.posix;\n\n const queue = new Queue();\n files.forEach((file) => queue.defer(conditionalCopy.bind(null, path.join(dest, file.src), path.join(dest, file.dest), file.optional)));\n queue.await(callback);\n}\n"],"names":["path","Queue","NPM_FILE_PATHS","conditionalCopy","installBin","_version","dest","options","callback","platform","files","posix","queue","forEach","file","defer","bind","join","src","optional","await"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,SAASC,cAAc,QAAQ,kBAAkB;AACjD,OAAOC,qBAAqB,4BAA4B;AAIxD,eAAe,SAASC,WAAWC,QAAgB,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAAyB;IACnH,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,QAAQR,cAAc,CAACO,SAAS,IAAIP,eAAeS,KAAK;IAE9D,MAAMC,QAAQ,IAAIX;IAClBS,MAAMG,OAAO,CAAC,CAACC,OAASF,MAAMG,KAAK,CAACZ,gBAAgBa,IAAI,CAAC,MAAMhB,KAAKiB,IAAI,CAACX,MAAMQ,KAAKI,GAAG,GAAGlB,KAAKiB,IAAI,CAACX,MAAMQ,KAAKR,IAAI,GAAGQ,KAAKK,QAAQ;IACnIP,MAAMQ,KAAK,CAACZ;AACd"}
@@ -1 +1,3 @@
1
- export default function installLib(version: any, dest: any, options: any, callback: any): void;
1
+ import type { InstallOptions } from '../types.ts';
2
+ export type Callback = (error?: Error, npmVersion?: string) => undefined;
3
+ export default function installLib(version: string, dest: string, options: InstallOptions, callback: Callback): undefined;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installLib.ts"],"sourcesContent":["import get from 'get-remote';\nimport { getDist } from 'node-filename-to-dist-paths';\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 conditionalExtract from '../lib/conditionalExtract.ts';\n\ninterface DistRecord {\n latest: string;\n}\n\nexport default function installLib(version, dest, options, callback) {\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 get(NPM_DIST_TAGS_URL).json((err, res) => {\n if (err) return callback(err);\n const distTags = res.body 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 const queue = new Queue(1);\n queue.defer(conditionalCache.bind(null, downloadPath, cachePath));\n queue.defer(conditionalExtract.bind(null, cachePath, installPath));\n queue.await((err) => {\n err ? callback(err) : callback(null, npmVersion);\n });\n });\n}\n"],"names":["get","getDist","path","Queue","NPM_DIST_TAGS_URL","NPM_DIST_URL","NPM_MIN_VERSION","conditionalCache","conditionalExtract","installLib","version","dest","options","callback","platform","libPath","join","installPath","dist","npmMajorPair","npm","split","npmMajor","Math","max","json","err","res","distTags","body","npmVersion","latest","downloadPath","cachePath","basename","queue","defer","bind","await"],"mappings":"AAAA,OAAOA,SAAS,aAAa;AAC7B,SAASC,OAAO,QAAQ,8BAA8B;AACtD,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,SAASC,iBAAiB,EAAEC,YAAY,EAAEC,eAAe,QAAQ,kBAAkB;AACnF,OAAOC,sBAAsB,6BAA6B;AAC1D,OAAOC,wBAAwB,+BAA+B;AAM9D,eAAe,SAASC,WAAWC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IACjE,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,UAAUD,aAAa,UAAUH,OAAOT,KAAKc,IAAI,CAACL,MAAM;IAC9D,MAAMM,cAAcf,KAAKc,IAAI,CAACD,SAAS,gBAAgB;IAEvD,MAAMG,OAAOjB,QAAQS;IACrB,MAAMS,eAAeD,QAAQA,KAAKE,GAAG,GAAG,CAACF,KAAKE,GAAG,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAGf;IAClE,MAAMgB,WAAWC,KAAKC,GAAG,CAACL,cAAcb;IAExCN,IAAII,mBAAmBqB,IAAI,CAAC,CAACC,KAAKC;QAChC,IAAID,KAAK,OAAOb,SAASa;QACzB,MAAME,WAAWD,IAAIE,IAAI;QACzB,MAAMC,aAAaF,QAAQ,CAAC,CAAC,OAAO,EAAEN,UAAU,CAAC,IAAIM,QAAQ,CAAC,CAAC,KAAK,EAAEN,UAAU,CAAC,IAAIM,SAASG,MAAM;QACpG,MAAMC,eAAe,GAAG3B,aAAa,OAAO,EAAEyB,WAAW,IAAI,CAAC;QAC9D,MAAMG,YAAY/B,KAAKc,IAAI,CAACJ,QAAQqB,SAAS,EAAE/B,KAAKgC,QAAQ,CAACF;QAE7D,MAAMG,QAAQ,IAAIhC,MAAM;QACxBgC,MAAMC,KAAK,CAAC7B,iBAAiB8B,IAAI,CAAC,MAAML,cAAcC;QACtDE,MAAMC,KAAK,CAAC5B,mBAAmB6B,IAAI,CAAC,MAAMJ,WAAWhB;QACrDkB,MAAMG,KAAK,CAAC,CAACZ;YACXA,MAAMb,SAASa,OAAOb,SAAS,MAAMiB;QACvC;IACF;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-install-release/src/installNPM/installLib.ts"],"sourcesContent":["import get from 'get-remote';\nimport { getDist } from 'node-filename-to-dist-paths';\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 conditionalExtract from '../lib/conditionalExtract.ts';\n\ninterface DistRecord {\n latest: string;\n}\n\nimport type { InstallOptions } from '../types.ts';\n\nexport type Callback = (error?: Error, npmVersion?: string) => undefined;\n\nexport default function installLib(version: string, dest: string, options: InstallOptions, callback: Callback): undefined {\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 get(NPM_DIST_TAGS_URL).json((err, res) => {\n if (err) return callback(err);\n const distTags = res.body 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 const queue = new Queue(1);\n queue.defer(conditionalCache.bind(null, downloadPath, cachePath));\n queue.defer(conditionalExtract.bind(null, cachePath, installPath));\n queue.await((err) => {\n err ? callback(err) : callback(null, npmVersion);\n });\n });\n}\n"],"names":["get","getDist","path","Queue","NPM_DIST_TAGS_URL","NPM_DIST_URL","NPM_MIN_VERSION","conditionalCache","conditionalExtract","installLib","version","dest","options","callback","platform","libPath","join","installPath","dist","npmMajorPair","npm","split","npmMajor","Math","max","json","err","res","distTags","body","npmVersion","latest","downloadPath","cachePath","basename","queue","defer","bind","await"],"mappings":"AAAA,OAAOA,SAAS,aAAa;AAC7B,SAASC,OAAO,QAAQ,8BAA8B;AACtD,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,SAASC,iBAAiB,EAAEC,YAAY,EAAEC,eAAe,QAAQ,kBAAkB;AACnF,OAAOC,sBAAsB,6BAA6B;AAC1D,OAAOC,wBAAwB,+BAA+B;AAU9D,eAAe,SAASC,WAAWC,OAAe,EAAEC,IAAY,EAAEC,OAAuB,EAAEC,QAAkB;IAC3G,MAAMC,WAAWF,QAAQE,QAAQ;IACjC,MAAMC,UAAUD,aAAa,UAAUH,OAAOT,KAAKc,IAAI,CAACL,MAAM;IAC9D,MAAMM,cAAcf,KAAKc,IAAI,CAACD,SAAS,gBAAgB;IAEvD,MAAMG,OAAOjB,QAAQS;IACrB,MAAMS,eAAeD,QAAQA,KAAKE,GAAG,GAAG,CAACF,KAAKE,GAAG,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAGf;IAClE,MAAMgB,WAAWC,KAAKC,GAAG,CAACL,cAAcb;IAExCN,IAAII,mBAAmBqB,IAAI,CAAC,CAACC,KAAKC;QAChC,IAAID,KAAK,OAAOb,SAASa;QACzB,MAAME,WAAWD,IAAIE,IAAI;QACzB,MAAMC,aAAaF,QAAQ,CAAC,CAAC,OAAO,EAAEN,UAAU,CAAC,IAAIM,QAAQ,CAAC,CAAC,KAAK,EAAEN,UAAU,CAAC,IAAIM,SAASG,MAAM;QACpG,MAAMC,eAAe,GAAG3B,aAAa,OAAO,EAAEyB,WAAW,IAAI,CAAC;QAC9D,MAAMG,YAAY/B,KAAKc,IAAI,CAACJ,QAAQqB,SAAS,EAAE/B,KAAKgC,QAAQ,CAACF;QAE7D,MAAMG,QAAQ,IAAIhC,MAAM;QACxBgC,MAAMC,KAAK,CAAC7B,iBAAiB8B,IAAI,CAAC,MAAML,cAAcC;QACtDE,MAAMC,KAAK,CAAC5B,mBAAmB6B,IAAI,CAAC,MAAMJ,WAAWhB;QACrDkB,MAAMG,KAAK,CAAC,CAACZ;YACXA,MAAMb,SAASa,OAAOb,SAAS,MAAMiB;QACvC;IACF;AACF"}
@@ -1 +1,2 @@
1
- export default function install(version: any, dest: any, options: any, callback: any): void;
1
+ import type { InstallOptions, NoParamCallback } from '../types.ts';
2
+ export default function install(version: string, dest: string, options: InstallOptions, callback: NoParamCallback): undefined;