node-version-install 1.5.2 → 1.5.4

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.
@@ -17,12 +17,7 @@ function _interop_require_default(obj) {
17
17
  default: obj
18
18
  };
19
19
  }
20
- var hasHomedir = typeof _os.default.homedir === 'function';
21
20
  function homedir() {
22
- if (hasHomedir) {
23
- return _os.default.homedir();
24
- }
25
- var home = require('homedir-polyfill');
26
- return home();
21
+ return typeof _os.default.homedir === 'function' ? _os.default.homedir() : require('homedir-polyfill')();
27
22
  }
28
23
  /* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/compat.ts"],"sourcesContent":["/**\n * Compatibility Layer for Node.js 0.8+\n * Local to this package - contains only needed functions.\n */\nimport os from 'os';\n\nconst hasHomedir = typeof os.homedir === 'function';\n\nexport function homedir(): string {\n if (hasHomedir) {\n return os.homedir();\n }\n const home = require('homedir-polyfill');\n return home();\n}\n"],"names":["homedir","hasHomedir","os","home","require"],"mappings":"AAAA;;;CAGC;;;;+BAKeA;;;eAAAA;;;yDAJD;;;;;;AAEf,IAAMC,aAAa,OAAOC,WAAE,CAACF,OAAO,KAAK;AAElC,SAASA;IACd,IAAIC,YAAY;QACd,OAAOC,WAAE,CAACF,OAAO;IACnB;IACA,IAAMG,OAAOC,QAAQ;IACrB,OAAOD;AACT"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/_later/node-version-install/src/compat.ts"],"sourcesContent":["/**\n * Compatibility Layer for Node.js 0.8+\n * Local to this package - contains only needed functions.\n */\nimport os from 'os';\n\nexport function homedir(): string {\n return typeof os.homedir === 'function' ? os.homedir() : require('homedir-polyfill')();\n}\n"],"names":["homedir","os","require"],"mappings":"AAAA;;;CAGC;;;;+BAGeA;;;eAAAA;;;yDAFD;;;;;;AAER,SAASA;IACd,OAAO,OAAOC,WAAE,CAACD,OAAO,KAAK,aAAaC,WAAE,CAACD,OAAO,KAAKE,QAAQ;AACnE"}
@@ -1,4 +1,7 @@
1
1
  import type { InstallCallback, InstallOptions, InstallResult } from './types.js';
2
2
  export type * from './types.js';
3
- export default function install(versionExpression: string, options?: InstallOptions, 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): void;
6
+ export default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): void;
4
7
  export declare function sync(versionExpression: string, options?: InstallOptions): InstallResult[];
@@ -1,4 +1,7 @@
1
1
  import type { InstallCallback, InstallOptions, InstallResult } from './types.js';
2
2
  export type * from './types.js';
3
- export default function install(versionExpression: string, options?: InstallOptions, 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): void;
6
+ export default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): void;
4
7
  export declare function sync(versionExpression: string, options?: InstallOptions): InstallResult[];
package/dist/cjs/index.js CHANGED
@@ -24,11 +24,8 @@ function _interop_require_default(obj) {
24
24
  };
25
25
  }
26
26
  function install(versionExpression, options, callback) {
27
- if (typeof options === 'function') {
28
- callback = options;
29
- options = {};
30
- }
31
- options = options || {};
27
+ callback = typeof options === 'function' ? options : callback;
28
+ options = typeof options === 'function' ? {} : options || {};
32
29
  if (typeof callback === 'function') return (0, _installts.default)(versionExpression, options, callback);
33
30
  return new Promise(function(resolve, reject) {
34
31
  return (0, _installts.default)(versionExpression, options, function(err, result) {
@@ -37,7 +34,6 @@ function install(versionExpression, options, callback) {
37
34
  });
38
35
  }
39
36
  function sync(versionExpression, options) {
40
- options = options || {};
41
- return (0, _installSyncts.default)(versionExpression, options);
37
+ return (0, _installSyncts.default)(versionExpression, options || {});
42
38
  }
43
39
  /* 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-version-install/src/index.ts"],"sourcesContent":["import type { InstallCallback, InstallOptions, InstallResult } from './types.ts';\nimport worker from './workers/install.ts';\nimport workerSync from './workers/installSync.ts';\n\nexport type * from './types.ts';\nexport default function install(versionExpression: string, options?: InstallOptions, 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}\n\nexport function sync(versionExpression: string, options?: InstallOptions): InstallResult[] {\n options = options || {};\n return workerSync(versionExpression, options);\n}\n"],"names":["install","sync","versionExpression","options","callback","worker","Promise","resolve","reject","err","result","workerSync"],"mappings":";;;;;;;;;;;QAKA;eAAwBA;;QAWRC;eAAAA;;;gEAfG;oEACI;;;;;;AAGR,SAASD,QAAQE,iBAAyB,EAAEC,OAAwB,EAAEC,QAA0B;IAC7G,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOC,IAAAA,kBAAM,EAACH,mBAAmBC,SAASC;IAC9E,OAAO,IAAIE,QAAQ,SAACC,SAASC;eAAWH,IAAAA,kBAAM,EAACH,mBAAmBC,SAAS,SAACM,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AAC3H;AAEO,SAAST,KAAKC,iBAAyB,EAAEC,OAAwB;IACtEA,UAAUA,WAAW,CAAC;IACtB,OAAOQ,IAAAA,sBAAU,EAACT,mBAAmBC;AACvC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/_later/node-version-install/src/index.ts"],"sourcesContent":["import type { InstallCallback, InstallOptions, InstallResult } from './types.ts';\nimport worker from './workers/install.ts';\nimport workerSync from './workers/installSync.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[]>;\nexport default function install(versionExpression: string, callback: InstallCallback): void;\nexport default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): void;\nexport default function install(versionExpression: string, options?: InstallOptions | InstallCallback, callback?: InstallCallback): void | Promise<InstallResult[]> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as InstallOptions);\n\n if (typeof callback === 'function') return worker(versionExpression, options, callback);\n return new Promise((resolve, reject) => worker(versionExpression, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nexport function sync(versionExpression: string, options?: InstallOptions): InstallResult[] {\n return workerSync(versionExpression, options || {});\n}\n"],"names":["install","sync","versionExpression","options","callback","worker","Promise","resolve","reject","err","result","workerSync"],"mappings":";;;;;;;;;;;QAUA;eAAwBA;;QAQRC;eAAAA;;;gEAjBG;oEACI;;;;;;AAQR,SAASD,QAAQE,iBAAyB,EAAEC,OAA0C,EAAEC,QAA0B;IAC/HA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;IACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;IAE7D,IAAI,OAAOC,aAAa,YAAY,OAAOC,IAAAA,kBAAM,EAACH,mBAAmBC,SAASC;IAC9E,OAAO,IAAIE,QAAQ,SAACC,SAASC;eAAWH,IAAAA,kBAAM,EAACH,mBAAmBC,SAAS,SAACM,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AAC3H;AAEO,SAAST,KAAKC,iBAAyB,EAAEC,OAAwB;IACtE,OAAOQ,IAAAA,sBAAU,EAACT,mBAAmBC,WAAW,CAAC;AACnD"}
@@ -80,10 +80,7 @@ function installWorker(versionExpression, options, callback) {
80
80
  }, options);
81
81
  if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');
82
82
  resolveVersionsFn(versionExpression, options, function(err, versions) {
83
- if (err) {
84
- callback(err);
85
- return;
86
- }
83
+ if (err) return callback(err);
87
84
  if (!versions.length) {
88
85
  callback(new Error("No versions found from expression: ".concat(versionExpression)));
89
86
  return;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/workers/install.ts"],"sourcesContent":["import Module from 'module';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport { homedir } from '../compat.ts';\nimport type { InstallCallback, InstallOptions, InstallResult } from '../types.ts';\n\nconst DEFAULT_STORAGE_PATH = path.join(homedir(), '.nvu');\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nlet resolveVersionsFn = null; // break dependencies\nlet installReleaseFn = null; // break dependencies\nexport default function installWorker(versionExpression: string, options: InstallOptions, callback: InstallCallback): void {\n const storagePath = options.storagePath || DEFAULT_STORAGE_PATH;\n options = { storagePath, ...options };\n\n if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');\n resolveVersionsFn(versionExpression, options, (err, versions): undefined => {\n if (err) {\n callback(err);\n return;\n }\n if (!versions.length) {\n callback(new Error(`No versions found from expression: ${versionExpression}`));\n return;\n }\n\n const results: InstallResult[] = [];\n const queue = new Queue(options.concurrency || 1);\n versions.forEach((version) => {\n queue.defer((cb) => {\n const versionOptions = { name: version, ...options };\n if (!installReleaseFn) installReleaseFn = _require('node-install-release');\n const result = installReleaseFn.createResult(versionOptions as InstallOptions, version as string);\n\n // Always call node-install-release - it will check what's missing (node, npm, or both)\n installReleaseFn(version, versionOptions, (error?) => {\n results.push({ ...result, error });\n cb();\n });\n });\n });\n queue.await((err) => (err ? callback(err) : callback(null, results)));\n });\n}\n"],"names":["installWorker","DEFAULT_STORAGE_PATH","path","join","homedir","_require","require","Module","createRequire","resolveVersionsFn","installReleaseFn","versionExpression","options","callback","storagePath","err","versions","length","Error","results","queue","Queue","concurrency","forEach","version","defer","cb","versionOptions","name","result","createResult","error","push","await"],"mappings":";;;;+BAWA;;;eAAwBA;;;6DAXL;2DACF;8DACC;wBACM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGxB,IAAMC,uBAAuBC,aAAI,CAACC,IAAI,CAACC,IAAAA,iBAAO,KAAI;AAClD,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAE1F,IAAIG,oBAAoB,MAAM,qBAAqB;AACnD,IAAIC,mBAAmB,MAAM,qBAAqB;AACnC,SAASV,cAAcW,iBAAyB,EAAEC,OAAuB,EAAEC,QAAyB;IACjH,IAAMC,cAAcF,QAAQE,WAAW,IAAIb;IAC3CW,UAAU;QAAEE,aAAAA;OAAgBF;IAE5B,IAAI,CAACH,mBAAmBA,oBAAoBJ,SAAS;IACrDI,kBAAkBE,mBAAmBC,SAAS,SAACG,KAAKC;QAClD,IAAID,KAAK;YACPF,SAASE;YACT;QACF;QACA,IAAI,CAACC,SAASC,MAAM,EAAE;YACpBJ,SAAS,IAAIK,MAAM,AAAC,sCAAuD,OAAlBP;YACzD;QACF;QAEA,IAAMQ,UAA2B,EAAE;QACnC,IAAMC,QAAQ,IAAIC,gBAAK,CAACT,QAAQU,WAAW,IAAI;QAC/CN,SAASO,OAAO,CAAC,SAACC;YAChBJ,MAAMK,KAAK,CAAC,SAACC;gBACX,IAAMC,iBAAiB;oBAAEC,MAAMJ;mBAAYZ;gBAC3C,IAAI,CAACF,kBAAkBA,mBAAmBL,SAAS;gBACnD,IAAMwB,SAASnB,iBAAiBoB,YAAY,CAACH,gBAAkCH;gBAE/E,uFAAuF;gBACvFd,iBAAiBc,SAASG,gBAAgB,SAACI;oBACzCZ,QAAQa,IAAI,CAAC,wCAAKH;wBAAQE,OAAAA;;oBAC1BL;gBACF;YACF;QACF;QACAN,MAAMa,KAAK,CAAC,SAAClB;mBAASA,MAAMF,SAASE,OAAOF,SAAS,MAAMM;;IAC7D;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/_later/node-version-install/src/workers/install.ts"],"sourcesContent":["import Module from 'module';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport { homedir } from '../compat.ts';\nimport type { InstallCallback, InstallOptions, InstallResult } from '../types.ts';\n\nconst DEFAULT_STORAGE_PATH = path.join(homedir(), '.nvu');\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nlet resolveVersionsFn = null; // break dependencies\nlet installReleaseFn = null; // break dependencies\nexport default function installWorker(versionExpression: string, options: InstallOptions, callback: InstallCallback): void {\n const storagePath = options.storagePath || DEFAULT_STORAGE_PATH;\n options = { storagePath, ...options };\n\n if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');\n resolveVersionsFn(versionExpression, options, (err, versions): void => {\n if (err) return callback(err);\n if (!versions.length) {\n callback(new Error(`No versions found from expression: ${versionExpression}`));\n return;\n }\n\n const results: InstallResult[] = [];\n const queue = new Queue(options.concurrency || 1);\n versions.forEach((version) => {\n queue.defer((cb) => {\n const versionOptions = { name: version, ...options };\n if (!installReleaseFn) installReleaseFn = _require('node-install-release');\n const result = installReleaseFn.createResult(versionOptions as InstallOptions, version as string);\n\n // Always call node-install-release - it will check what's missing (node, npm, or both)\n installReleaseFn(version, versionOptions, (error?) => {\n results.push({ ...result, error });\n cb();\n });\n });\n });\n queue.await((err) => (err ? callback(err) : callback(null, results)));\n });\n}\n"],"names":["installWorker","DEFAULT_STORAGE_PATH","path","join","homedir","_require","require","Module","createRequire","resolveVersionsFn","installReleaseFn","versionExpression","options","callback","storagePath","err","versions","length","Error","results","queue","Queue","concurrency","forEach","version","defer","cb","versionOptions","name","result","createResult","error","push","await"],"mappings":";;;;+BAWA;;;eAAwBA;;;6DAXL;2DACF;8DACC;wBACM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGxB,IAAMC,uBAAuBC,aAAI,CAACC,IAAI,CAACC,IAAAA,iBAAO,KAAI;AAClD,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAE1F,IAAIG,oBAAoB,MAAM,qBAAqB;AACnD,IAAIC,mBAAmB,MAAM,qBAAqB;AACnC,SAASV,cAAcW,iBAAyB,EAAEC,OAAuB,EAAEC,QAAyB;IACjH,IAAMC,cAAcF,QAAQE,WAAW,IAAIb;IAC3CW,UAAU;QAAEE,aAAAA;OAAgBF;IAE5B,IAAI,CAACH,mBAAmBA,oBAAoBJ,SAAS;IACrDI,kBAAkBE,mBAAmBC,SAAS,SAACG,KAAKC;QAClD,IAAID,KAAK,OAAOF,SAASE;QACzB,IAAI,CAACC,SAASC,MAAM,EAAE;YACpBJ,SAAS,IAAIK,MAAM,AAAC,sCAAuD,OAAlBP;YACzD;QACF;QAEA,IAAMQ,UAA2B,EAAE;QACnC,IAAMC,QAAQ,IAAIC,gBAAK,CAACT,QAAQU,WAAW,IAAI;QAC/CN,SAASO,OAAO,CAAC,SAACC;YAChBJ,MAAMK,KAAK,CAAC,SAACC;gBACX,IAAMC,iBAAiB;oBAAEC,MAAMJ;mBAAYZ;gBAC3C,IAAI,CAACF,kBAAkBA,mBAAmBL,SAAS;gBACnD,IAAMwB,SAASnB,iBAAiBoB,YAAY,CAACH,gBAAkCH;gBAE/E,uFAAuF;gBACvFd,iBAAiBc,SAASG,gBAAgB,SAACI;oBACzCZ,QAAQa,IAAI,CAAC,wCAAKH;wBAAQE,OAAAA;;oBAC1BL;gBACF;YACF;QACF;QACAN,MAAMa,KAAK,CAAC,SAAClB;mBAASA,MAAMF,SAASE,OAAOF,SAAS,MAAMM;;IAC7D;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/workers/installSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport url from 'url';\nimport { homedir } from '../compat.ts';\n\nconst DEFAULT_STORAGE_PATH = path.join(homedir(), '.nvu');\n\nimport Module from 'module';\n\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nconst SLEEP_MS = 200;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\n\nimport type { InstallOptions, InstallResult } from '../types.ts';\n\n// Worker MUST always load from dist/cjs/ for old Node compatibility\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'workers', 'install.js');\n\nlet functionExec = null; // break dependencies\nlet resolveVersionsFn = null; // break dependencies\nlet createResultFn = null; // break dependencies\nexport default function installSyncWorker(versionExpression: string, options: InstallOptions): InstallResult[] {\n try {\n if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');\n const versions = resolveVersionsFn.sync(versionExpression, options);\n if (!versions.length) throw new Error(`No versions found from expression: ${versionExpression}`);\n\n // shortcut to not spawn a worker if it's a simple case\n if (versions.length === 1) {\n const version = versions[0];\n const storagePath = options.storagePath || DEFAULT_STORAGE_PATH;\n options = { storagePath, ...options };\n\n if (!createResultFn) createResultFn = _require('node-install-release').createResult;\n const result = createResultFn({ name: version, ...options }, version);\n\n fs.statSync(result.execPath);\n return [result];\n }\n } catch (_) {}\n\n if (!functionExec) functionExec = _require('function-exec-sync');\n return functionExec({ cwd: process.cwd(), sleep: SLEEP_MS, callbacks: true }, workerPath, versionExpression, options);\n}\n"],"names":["installSyncWorker","DEFAULT_STORAGE_PATH","path","join","homedir","_require","require","Module","createRequire","SLEEP_MS","__dirname","dirname","__filename","url","fileURLToPath","workerPath","functionExec","resolveVersionsFn","createResultFn","versionExpression","options","versions","sync","length","Error","version","storagePath","createResult","result","name","fs","statSync","execPath","_","cwd","process","sleep","callbacks"],"mappings":";;;;+BAsBA;;;eAAwBA;;;yDAtBT;2DACE;0DACD;wBACQ;6DAIL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFnB,IAAMC,uBAAuBC,aAAI,CAACC,IAAI,CAACC,IAAAA,iBAAO,KAAI;AAIlD,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAE1F,IAAMG,WAAW;AACjB,IAAMC,YAAYR,aAAI,CAACS,OAAO,CAAC,OAAOC,eAAe,cAAcC,YAAG,CAACC,aAAa,CAAC,uDAAmBF;AAIxG,oEAAoE;AACpE,IAAMG,aAAab,aAAI,CAACC,IAAI,CAACO,WAAW,MAAM,MAAM,OAAO,WAAW;AAEtE,IAAIM,eAAe,MAAM,qBAAqB;AAC9C,IAAIC,oBAAoB,MAAM,qBAAqB;AACnD,IAAIC,iBAAiB,MAAM,qBAAqB;AACjC,SAASlB,kBAAkBmB,iBAAyB,EAAEC,OAAuB;IAC1F,IAAI;QACF,IAAI,CAACH,mBAAmBA,oBAAoBZ,SAAS;QACrD,IAAMgB,WAAWJ,kBAAkBK,IAAI,CAACH,mBAAmBC;QAC3D,IAAI,CAACC,SAASE,MAAM,EAAE,MAAM,IAAIC,MAAM,AAAC,sCAAuD,OAAlBL;QAE5E,uDAAuD;QACvD,IAAIE,SAASE,MAAM,KAAK,GAAG;YACzB,IAAME,UAAUJ,QAAQ,CAAC,EAAE;YAC3B,IAAMK,cAAcN,QAAQM,WAAW,IAAIzB;YAC3CmB,UAAU;gBAAEM,aAAAA;eAAgBN;YAE5B,IAAI,CAACF,gBAAgBA,iBAAiBb,SAAS,wBAAwBsB,YAAY;YACnF,IAAMC,SAASV,eAAe;gBAAEW,MAAMJ;eAAYL,UAAWK;YAE7DK,WAAE,CAACC,QAAQ,CAACH,OAAOI,QAAQ;YAC3B,OAAO;gBAACJ;aAAO;QACjB;IACF,EAAE,OAAOK,GAAG,CAAC;IAEb,IAAI,CAACjB,cAAcA,eAAeX,SAAS;IAC3C,OAAOW,aAAa;QAAEkB,KAAKC,QAAQD,GAAG;QAAIE,OAAO3B;QAAU4B,WAAW;IAAK,GAAGtB,YAAYI,mBAAmBC;AAC/G"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/_later/node-version-install/src/workers/installSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport url from 'url';\nimport { homedir } from '../compat.ts';\n\nconst DEFAULT_STORAGE_PATH = path.join(homedir(), '.nvu');\n\nimport Module from 'module';\n\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nconst SLEEP_MS = 200;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\n\nimport type { InstallOptions, InstallResult } from '../types.ts';\n\n// Worker MUST always load from dist/cjs/ for old Node compatibility\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'workers', 'install.js');\n\nlet functionExec = null; // break dependencies\nlet resolveVersionsFn = null; // break dependencies\nlet createResultFn = null; // break dependencies\nexport default function installSyncWorker(versionExpression: string, options: InstallOptions): InstallResult[] {\n try {\n if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');\n const versions = resolveVersionsFn.sync(versionExpression, options);\n if (!versions.length) throw new Error(`No versions found from expression: ${versionExpression}`);\n\n // shortcut to not spawn a worker if it's a simple case\n if (versions.length === 1) {\n const version = versions[0];\n const storagePath = options.storagePath || DEFAULT_STORAGE_PATH;\n options = { storagePath, ...options };\n\n if (!createResultFn) createResultFn = _require('node-install-release').createResult;\n const result = createResultFn({ name: version, ...options }, version);\n\n fs.statSync(result.execPath);\n return [result];\n }\n } catch (_) {}\n\n if (!functionExec) functionExec = _require('function-exec-sync');\n return functionExec({ cwd: process.cwd(), sleep: SLEEP_MS, callbacks: true }, workerPath, versionExpression, options);\n}\n"],"names":["installSyncWorker","DEFAULT_STORAGE_PATH","path","join","homedir","_require","require","Module","createRequire","SLEEP_MS","__dirname","dirname","__filename","url","fileURLToPath","workerPath","functionExec","resolveVersionsFn","createResultFn","versionExpression","options","versions","sync","length","Error","version","storagePath","createResult","result","name","fs","statSync","execPath","_","cwd","process","sleep","callbacks"],"mappings":";;;;+BAsBA;;;eAAwBA;;;yDAtBT;2DACE;0DACD;wBACQ;6DAIL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAFnB,IAAMC,uBAAuBC,aAAI,CAACC,IAAI,CAACC,IAAAA,iBAAO,KAAI;AAIlD,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAE1F,IAAMG,WAAW;AACjB,IAAMC,YAAYR,aAAI,CAACS,OAAO,CAAC,OAAOC,eAAe,cAAcC,YAAG,CAACC,aAAa,CAAC,uDAAmBF;AAIxG,oEAAoE;AACpE,IAAMG,aAAab,aAAI,CAACC,IAAI,CAACO,WAAW,MAAM,MAAM,OAAO,WAAW;AAEtE,IAAIM,eAAe,MAAM,qBAAqB;AAC9C,IAAIC,oBAAoB,MAAM,qBAAqB;AACnD,IAAIC,iBAAiB,MAAM,qBAAqB;AACjC,SAASlB,kBAAkBmB,iBAAyB,EAAEC,OAAuB;IAC1F,IAAI;QACF,IAAI,CAACH,mBAAmBA,oBAAoBZ,SAAS;QACrD,IAAMgB,WAAWJ,kBAAkBK,IAAI,CAACH,mBAAmBC;QAC3D,IAAI,CAACC,SAASE,MAAM,EAAE,MAAM,IAAIC,MAAM,AAAC,sCAAuD,OAAlBL;QAE5E,uDAAuD;QACvD,IAAIE,SAASE,MAAM,KAAK,GAAG;YACzB,IAAME,UAAUJ,QAAQ,CAAC,EAAE;YAC3B,IAAMK,cAAcN,QAAQM,WAAW,IAAIzB;YAC3CmB,UAAU;gBAAEM,aAAAA;eAAgBN;YAE5B,IAAI,CAACF,gBAAgBA,iBAAiBb,SAAS,wBAAwBsB,YAAY;YACnF,IAAMC,SAASV,eAAe;gBAAEW,MAAMJ;eAAYL,UAAWK;YAE7DK,WAAE,CAACC,QAAQ,CAACH,OAAOI,QAAQ;YAC3B,OAAO;gBAACJ;aAAO;QACjB;IACF,EAAE,OAAOK,GAAG,CAAC;IAEb,IAAI,CAACjB,cAAcA,eAAeX,SAAS;IAC3C,OAAOW,aAAa;QAAEkB,KAAKC,QAAQD,GAAG;QAAIE,OAAO3B;QAAU4B,WAAW;IAAK,GAAGtB,YAAYI,mBAAmBC;AAC/G"}
@@ -2,11 +2,6 @@
2
2
  * Compatibility Layer for Node.js 0.8+
3
3
  * Local to this package - contains only needed functions.
4
4
  */ import os from 'os';
5
- const hasHomedir = typeof os.homedir === 'function';
6
5
  export function homedir() {
7
- if (hasHomedir) {
8
- return os.homedir();
9
- }
10
- const home = require('homedir-polyfill');
11
- return home();
6
+ return typeof os.homedir === 'function' ? os.homedir() : require('homedir-polyfill')();
12
7
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/compat.ts"],"sourcesContent":["/**\n * Compatibility Layer for Node.js 0.8+\n * Local to this package - contains only needed functions.\n */\nimport os from 'os';\n\nconst hasHomedir = typeof os.homedir === 'function';\n\nexport function homedir(): string {\n if (hasHomedir) {\n return os.homedir();\n }\n const home = require('homedir-polyfill');\n return home();\n}\n"],"names":["os","hasHomedir","homedir","home","require"],"mappings":"AAAA;;;CAGC,GACD,OAAOA,QAAQ,KAAK;AAEpB,MAAMC,aAAa,OAAOD,GAAGE,OAAO,KAAK;AAEzC,OAAO,SAASA;IACd,IAAID,YAAY;QACd,OAAOD,GAAGE,OAAO;IACnB;IACA,MAAMC,OAAOC,QAAQ;IACrB,OAAOD;AACT"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/_later/node-version-install/src/compat.ts"],"sourcesContent":["/**\n * Compatibility Layer for Node.js 0.8+\n * Local to this package - contains only needed functions.\n */\nimport os from 'os';\n\nexport function homedir(): string {\n return typeof os.homedir === 'function' ? os.homedir() : require('homedir-polyfill')();\n}\n"],"names":["os","homedir","require"],"mappings":"AAAA;;;CAGC,GACD,OAAOA,QAAQ,KAAK;AAEpB,OAAO,SAASC;IACd,OAAO,OAAOD,GAAGC,OAAO,KAAK,aAAaD,GAAGC,OAAO,KAAKC,QAAQ;AACnE"}
@@ -1,4 +1,7 @@
1
1
  import type { InstallCallback, InstallOptions, InstallResult } from './types.js';
2
2
  export type * from './types.js';
3
- export default function install(versionExpression: string, options?: InstallOptions, 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): void;
6
+ export default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): void;
4
7
  export declare function sync(versionExpression: string, options?: InstallOptions): InstallResult[];
package/dist/esm/index.js CHANGED
@@ -1,15 +1,11 @@
1
1
  import worker from './workers/install.js';
2
2
  import workerSync from './workers/installSync.js';
3
3
  export default function install(versionExpression, options, callback) {
4
- if (typeof options === 'function') {
5
- callback = options;
6
- options = {};
7
- }
8
- options = options || {};
4
+ callback = typeof options === 'function' ? options : callback;
5
+ options = typeof options === 'function' ? {} : options || {};
9
6
  if (typeof callback === 'function') return worker(versionExpression, options, callback);
10
7
  return new Promise((resolve, reject)=>worker(versionExpression, options, (err, result)=>err ? reject(err) : resolve(result)));
11
8
  }
12
9
  export function sync(versionExpression, options) {
13
- options = options || {};
14
- return workerSync(versionExpression, options);
10
+ return workerSync(versionExpression, options || {});
15
11
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/index.ts"],"sourcesContent":["import type { InstallCallback, InstallOptions, InstallResult } from './types.ts';\nimport worker from './workers/install.ts';\nimport workerSync from './workers/installSync.ts';\n\nexport type * from './types.ts';\nexport default function install(versionExpression: string, options?: InstallOptions, 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}\n\nexport function sync(versionExpression: string, options?: InstallOptions): InstallResult[] {\n options = options || {};\n return workerSync(versionExpression, options);\n}\n"],"names":["worker","workerSync","install","versionExpression","options","callback","Promise","resolve","reject","err","result","sync"],"mappings":"AACA,OAAOA,YAAY,uBAAuB;AAC1C,OAAOC,gBAAgB,2BAA2B;AAGlD,eAAe,SAASC,QAAQC,iBAAyB,EAAEC,OAAwB,EAAEC,QAA0B;IAC7G,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IACAA,UAAUA,WAAW,CAAC;IAEtB,IAAI,OAAOC,aAAa,YAAY,OAAOL,OAAOG,mBAAmBC,SAASC;IAC9E,OAAO,IAAIC,QAAQ,CAACC,SAASC,SAAWR,OAAOG,mBAAmBC,SAAS,CAACK,KAAKC,SAAYD,MAAMD,OAAOC,OAAOF,QAAQG;AAC3H;AAEA,OAAO,SAASC,KAAKR,iBAAyB,EAAEC,OAAwB;IACtEA,UAAUA,WAAW,CAAC;IACtB,OAAOH,WAAWE,mBAAmBC;AACvC"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/_later/node-version-install/src/index.ts"],"sourcesContent":["import type { InstallCallback, InstallOptions, InstallResult } from './types.ts';\nimport worker from './workers/install.ts';\nimport workerSync from './workers/installSync.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[]>;\nexport default function install(versionExpression: string, callback: InstallCallback): void;\nexport default function install(versionExpression: string, options: InstallOptions, callback: InstallCallback): void;\nexport default function install(versionExpression: string, options?: InstallOptions | InstallCallback, callback?: InstallCallback): void | Promise<InstallResult[]> {\n callback = typeof options === 'function' ? options : callback;\n options = typeof options === 'function' ? {} : ((options || {}) as InstallOptions);\n\n if (typeof callback === 'function') return worker(versionExpression, options, callback);\n return new Promise((resolve, reject) => worker(versionExpression, options, (err, result) => (err ? reject(err) : resolve(result))));\n}\n\nexport function sync(versionExpression: string, options?: InstallOptions): InstallResult[] {\n return workerSync(versionExpression, options || {});\n}\n"],"names":["worker","workerSync","install","versionExpression","options","callback","Promise","resolve","reject","err","result","sync"],"mappings":"AACA,OAAOA,YAAY,uBAAuB;AAC1C,OAAOC,gBAAgB,2BAA2B;AAQlD,eAAe,SAASC,QAAQC,iBAAyB,EAAEC,OAA0C,EAAEC,QAA0B;IAC/HA,WAAW,OAAOD,YAAY,aAAaA,UAAUC;IACrDD,UAAU,OAAOA,YAAY,aAAa,CAAC,IAAMA,WAAW,CAAC;IAE7D,IAAI,OAAOC,aAAa,YAAY,OAAOL,OAAOG,mBAAmBC,SAASC;IAC9E,OAAO,IAAIC,QAAQ,CAACC,SAASC,SAAWR,OAAOG,mBAAmBC,SAAS,CAACK,KAAKC,SAAYD,MAAMD,OAAOC,OAAOF,QAAQG;AAC3H;AAEA,OAAO,SAASC,KAAKR,iBAAyB,EAAEC,OAAwB;IACtE,OAAOH,WAAWE,mBAAmBC,WAAW,CAAC;AACnD"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/types.ts"],"sourcesContent":["import type { InstallOptions as InstallOptionsBase, InstallResult as InstallResultBase } from 'node-install-release';\n\nexport interface InstallResult extends InstallResultBase {\n error?: Error;\n}\n\nexport interface InstallOptions extends InstallOptionsBase {\n concurrency?: number;\n silent?: boolean;\n}\n\nexport type InstallCallback = (err?: Error, results?: InstallResult[]) => void;\n"],"names":[],"mappings":"AAWA,WAA+E"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/_later/node-version-install/src/types.ts"],"sourcesContent":["import type { InstallOptions as InstallOptionsBase, InstallResult as InstallResultBase } from 'node-install-release';\n\nexport interface InstallResult extends InstallResultBase {\n error?: Error;\n}\n\nexport interface InstallOptions extends InstallOptionsBase {\n concurrency?: number;\n silent?: boolean;\n}\n\nexport type InstallCallback = (err?: Error, results?: InstallResult[]) => void;\n"],"names":[],"mappings":"AAWA,WAA+E"}
@@ -14,10 +14,7 @@ export default function installWorker(versionExpression, options, callback) {
14
14
  };
15
15
  if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');
16
16
  resolveVersionsFn(versionExpression, options, (err, versions)=>{
17
- if (err) {
18
- callback(err);
19
- return;
20
- }
17
+ if (err) return callback(err);
21
18
  if (!versions.length) {
22
19
  callback(new Error(`No versions found from expression: ${versionExpression}`));
23
20
  return;
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/workers/install.ts"],"sourcesContent":["import Module from 'module';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport { homedir } from '../compat.ts';\nimport type { InstallCallback, InstallOptions, InstallResult } from '../types.ts';\n\nconst DEFAULT_STORAGE_PATH = path.join(homedir(), '.nvu');\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nlet resolveVersionsFn = null; // break dependencies\nlet installReleaseFn = null; // break dependencies\nexport default function installWorker(versionExpression: string, options: InstallOptions, callback: InstallCallback): void {\n const storagePath = options.storagePath || DEFAULT_STORAGE_PATH;\n options = { storagePath, ...options };\n\n if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');\n resolveVersionsFn(versionExpression, options, (err, versions): undefined => {\n if (err) {\n callback(err);\n return;\n }\n if (!versions.length) {\n callback(new Error(`No versions found from expression: ${versionExpression}`));\n return;\n }\n\n const results: InstallResult[] = [];\n const queue = new Queue(options.concurrency || 1);\n versions.forEach((version) => {\n queue.defer((cb) => {\n const versionOptions = { name: version, ...options };\n if (!installReleaseFn) installReleaseFn = _require('node-install-release');\n const result = installReleaseFn.createResult(versionOptions as InstallOptions, version as string);\n\n // Always call node-install-release - it will check what's missing (node, npm, or both)\n installReleaseFn(version, versionOptions, (error?) => {\n results.push({ ...result, error });\n cb();\n });\n });\n });\n queue.await((err) => (err ? callback(err) : callback(null, results)));\n });\n}\n"],"names":["Module","path","Queue","homedir","DEFAULT_STORAGE_PATH","join","_require","require","createRequire","url","resolveVersionsFn","installReleaseFn","installWorker","versionExpression","options","callback","storagePath","err","versions","length","Error","results","queue","concurrency","forEach","version","defer","cb","versionOptions","name","result","createResult","error","push","await"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,SAASC,OAAO,QAAQ,eAAe;AAGvC,MAAMC,uBAAuBH,KAAKI,IAAI,CAACF,WAAW;AAClD,MAAMG,WAAW,OAAOC,YAAY,cAAcP,OAAOQ,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAE1F,IAAIG,oBAAoB,MAAM,qBAAqB;AACnD,IAAIC,mBAAmB,MAAM,qBAAqB;AAClD,eAAe,SAASC,cAAcC,iBAAyB,EAAEC,OAAuB,EAAEC,QAAyB;IACjH,MAAMC,cAAcF,QAAQE,WAAW,IAAIZ;IAC3CU,UAAU;QAAEE;QAAa,GAAGF,OAAO;IAAC;IAEpC,IAAI,CAACJ,mBAAmBA,oBAAoBJ,SAAS;IACrDI,kBAAkBG,mBAAmBC,SAAS,CAACG,KAAKC;QAClD,IAAID,KAAK;YACPF,SAASE;YACT;QACF;QACA,IAAI,CAACC,SAASC,MAAM,EAAE;YACpBJ,SAAS,IAAIK,MAAM,CAAC,mCAAmC,EAAEP,mBAAmB;YAC5E;QACF;QAEA,MAAMQ,UAA2B,EAAE;QACnC,MAAMC,QAAQ,IAAIpB,MAAMY,QAAQS,WAAW,IAAI;QAC/CL,SAASM,OAAO,CAAC,CAACC;YAChBH,MAAMI,KAAK,CAAC,CAACC;gBACX,MAAMC,iBAAiB;oBAAEC,MAAMJ;oBAAS,GAAGX,OAAO;gBAAC;gBACnD,IAAI,CAACH,kBAAkBA,mBAAmBL,SAAS;gBACnD,MAAMwB,SAASnB,iBAAiBoB,YAAY,CAACH,gBAAkCH;gBAE/E,uFAAuF;gBACvFd,iBAAiBc,SAASG,gBAAgB,CAACI;oBACzCX,QAAQY,IAAI,CAAC;wBAAE,GAAGH,MAAM;wBAAEE;oBAAM;oBAChCL;gBACF;YACF;QACF;QACAL,MAAMY,KAAK,CAAC,CAACjB,MAASA,MAAMF,SAASE,OAAOF,SAAS,MAAMM;IAC7D;AACF"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/_later/node-version-install/src/workers/install.ts"],"sourcesContent":["import Module from 'module';\nimport path from 'path';\nimport Queue from 'queue-cb';\nimport { homedir } from '../compat.ts';\nimport type { InstallCallback, InstallOptions, InstallResult } from '../types.ts';\n\nconst DEFAULT_STORAGE_PATH = path.join(homedir(), '.nvu');\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nlet resolveVersionsFn = null; // break dependencies\nlet installReleaseFn = null; // break dependencies\nexport default function installWorker(versionExpression: string, options: InstallOptions, callback: InstallCallback): void {\n const storagePath = options.storagePath || DEFAULT_STORAGE_PATH;\n options = { storagePath, ...options };\n\n if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');\n resolveVersionsFn(versionExpression, options, (err, versions): void => {\n if (err) return callback(err);\n if (!versions.length) {\n callback(new Error(`No versions found from expression: ${versionExpression}`));\n return;\n }\n\n const results: InstallResult[] = [];\n const queue = new Queue(options.concurrency || 1);\n versions.forEach((version) => {\n queue.defer((cb) => {\n const versionOptions = { name: version, ...options };\n if (!installReleaseFn) installReleaseFn = _require('node-install-release');\n const result = installReleaseFn.createResult(versionOptions as InstallOptions, version as string);\n\n // Always call node-install-release - it will check what's missing (node, npm, or both)\n installReleaseFn(version, versionOptions, (error?) => {\n results.push({ ...result, error });\n cb();\n });\n });\n });\n queue.await((err) => (err ? callback(err) : callback(null, results)));\n });\n}\n"],"names":["Module","path","Queue","homedir","DEFAULT_STORAGE_PATH","join","_require","require","createRequire","url","resolveVersionsFn","installReleaseFn","installWorker","versionExpression","options","callback","storagePath","err","versions","length","Error","results","queue","concurrency","forEach","version","defer","cb","versionOptions","name","result","createResult","error","push","await"],"mappings":"AAAA,OAAOA,YAAY,SAAS;AAC5B,OAAOC,UAAU,OAAO;AACxB,OAAOC,WAAW,WAAW;AAC7B,SAASC,OAAO,QAAQ,eAAe;AAGvC,MAAMC,uBAAuBH,KAAKI,IAAI,CAACF,WAAW;AAClD,MAAMG,WAAW,OAAOC,YAAY,cAAcP,OAAOQ,aAAa,CAAC,YAAYC,GAAG,IAAIF;AAE1F,IAAIG,oBAAoB,MAAM,qBAAqB;AACnD,IAAIC,mBAAmB,MAAM,qBAAqB;AAClD,eAAe,SAASC,cAAcC,iBAAyB,EAAEC,OAAuB,EAAEC,QAAyB;IACjH,MAAMC,cAAcF,QAAQE,WAAW,IAAIZ;IAC3CU,UAAU;QAAEE;QAAa,GAAGF,OAAO;IAAC;IAEpC,IAAI,CAACJ,mBAAmBA,oBAAoBJ,SAAS;IACrDI,kBAAkBG,mBAAmBC,SAAS,CAACG,KAAKC;QAClD,IAAID,KAAK,OAAOF,SAASE;QACzB,IAAI,CAACC,SAASC,MAAM,EAAE;YACpBJ,SAAS,IAAIK,MAAM,CAAC,mCAAmC,EAAEP,mBAAmB;YAC5E;QACF;QAEA,MAAMQ,UAA2B,EAAE;QACnC,MAAMC,QAAQ,IAAIpB,MAAMY,QAAQS,WAAW,IAAI;QAC/CL,SAASM,OAAO,CAAC,CAACC;YAChBH,MAAMI,KAAK,CAAC,CAACC;gBACX,MAAMC,iBAAiB;oBAAEC,MAAMJ;oBAAS,GAAGX,OAAO;gBAAC;gBACnD,IAAI,CAACH,kBAAkBA,mBAAmBL,SAAS;gBACnD,MAAMwB,SAASnB,iBAAiBoB,YAAY,CAACH,gBAAkCH;gBAE/E,uFAAuF;gBACvFd,iBAAiBc,SAASG,gBAAgB,CAACI;oBACzCX,QAAQY,IAAI,CAAC;wBAAE,GAAGH,MAAM;wBAAEE;oBAAM;oBAChCL;gBACF;YACF;QACF;QACAL,MAAMY,KAAK,CAAC,CAACjB,MAASA,MAAMF,SAASE,OAAOF,SAAS,MAAMM;IAC7D;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/workers/installSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport url from 'url';\nimport { homedir } from '../compat.ts';\n\nconst DEFAULT_STORAGE_PATH = path.join(homedir(), '.nvu');\n\nimport Module from 'module';\n\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nconst SLEEP_MS = 200;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\n\nimport type { InstallOptions, InstallResult } from '../types.ts';\n\n// Worker MUST always load from dist/cjs/ for old Node compatibility\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'workers', 'install.js');\n\nlet functionExec = null; // break dependencies\nlet resolveVersionsFn = null; // break dependencies\nlet createResultFn = null; // break dependencies\nexport default function installSyncWorker(versionExpression: string, options: InstallOptions): InstallResult[] {\n try {\n if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');\n const versions = resolveVersionsFn.sync(versionExpression, options);\n if (!versions.length) throw new Error(`No versions found from expression: ${versionExpression}`);\n\n // shortcut to not spawn a worker if it's a simple case\n if (versions.length === 1) {\n const version = versions[0];\n const storagePath = options.storagePath || DEFAULT_STORAGE_PATH;\n options = { storagePath, ...options };\n\n if (!createResultFn) createResultFn = _require('node-install-release').createResult;\n const result = createResultFn({ name: version, ...options }, version);\n\n fs.statSync(result.execPath);\n return [result];\n }\n } catch (_) {}\n\n if (!functionExec) functionExec = _require('function-exec-sync');\n return functionExec({ cwd: process.cwd(), sleep: SLEEP_MS, callbacks: true }, workerPath, versionExpression, options);\n}\n"],"names":["fs","path","url","homedir","DEFAULT_STORAGE_PATH","join","Module","_require","require","createRequire","SLEEP_MS","__dirname","dirname","__filename","fileURLToPath","workerPath","functionExec","resolveVersionsFn","createResultFn","installSyncWorker","versionExpression","options","versions","sync","length","Error","version","storagePath","createResult","result","name","statSync","execPath","_","cwd","process","sleep","callbacks"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AACtB,SAASC,OAAO,QAAQ,eAAe;AAEvC,MAAMC,uBAAuBH,KAAKI,IAAI,CAACF,WAAW;AAElD,OAAOG,YAAY,SAAS;AAE5B,MAAMC,WAAW,OAAOC,YAAY,cAAcF,OAAOG,aAAa,CAAC,YAAYP,GAAG,IAAIM;AAE1F,MAAME,WAAW;AACjB,MAAMC,YAAYV,KAAKW,OAAO,CAAC,OAAOC,eAAe,cAAcX,IAAIY,aAAa,CAAC,YAAYZ,GAAG,IAAIW;AAIxG,oEAAoE;AACpE,MAAME,aAAad,KAAKI,IAAI,CAACM,WAAW,MAAM,MAAM,OAAO,WAAW;AAEtE,IAAIK,eAAe,MAAM,qBAAqB;AAC9C,IAAIC,oBAAoB,MAAM,qBAAqB;AACnD,IAAIC,iBAAiB,MAAM,qBAAqB;AAChD,eAAe,SAASC,kBAAkBC,iBAAyB,EAAEC,OAAuB;IAC1F,IAAI;QACF,IAAI,CAACJ,mBAAmBA,oBAAoBV,SAAS;QACrD,MAAMe,WAAWL,kBAAkBM,IAAI,CAACH,mBAAmBC;QAC3D,IAAI,CAACC,SAASE,MAAM,EAAE,MAAM,IAAIC,MAAM,CAAC,mCAAmC,EAAEL,mBAAmB;QAE/F,uDAAuD;QACvD,IAAIE,SAASE,MAAM,KAAK,GAAG;YACzB,MAAME,UAAUJ,QAAQ,CAAC,EAAE;YAC3B,MAAMK,cAAcN,QAAQM,WAAW,IAAIvB;YAC3CiB,UAAU;gBAAEM;gBAAa,GAAGN,OAAO;YAAC;YAEpC,IAAI,CAACH,gBAAgBA,iBAAiBX,SAAS,wBAAwBqB,YAAY;YACnF,MAAMC,SAASX,eAAe;gBAAEY,MAAMJ;gBAAS,GAAGL,OAAO;YAAC,GAAGK;YAE7D1B,GAAG+B,QAAQ,CAACF,OAAOG,QAAQ;YAC3B,OAAO;gBAACH;aAAO;QACjB;IACF,EAAE,OAAOI,GAAG,CAAC;IAEb,IAAI,CAACjB,cAAcA,eAAeT,SAAS;IAC3C,OAAOS,aAAa;QAAEkB,KAAKC,QAAQD,GAAG;QAAIE,OAAO1B;QAAU2B,WAAW;IAAK,GAAGtB,YAAYK,mBAAmBC;AAC/G"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/_later/node-version-install/src/workers/installSync.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport url from 'url';\nimport { homedir } from '../compat.ts';\n\nconst DEFAULT_STORAGE_PATH = path.join(homedir(), '.nvu');\n\nimport Module from 'module';\n\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\n\nconst SLEEP_MS = 200;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\n\nimport type { InstallOptions, InstallResult } from '../types.ts';\n\n// Worker MUST always load from dist/cjs/ for old Node compatibility\nconst workerPath = path.join(__dirname, '..', '..', 'cjs', 'workers', 'install.js');\n\nlet functionExec = null; // break dependencies\nlet resolveVersionsFn = null; // break dependencies\nlet createResultFn = null; // break dependencies\nexport default function installSyncWorker(versionExpression: string, options: InstallOptions): InstallResult[] {\n try {\n if (!resolveVersionsFn) resolveVersionsFn = _require('node-resolve-versions');\n const versions = resolveVersionsFn.sync(versionExpression, options);\n if (!versions.length) throw new Error(`No versions found from expression: ${versionExpression}`);\n\n // shortcut to not spawn a worker if it's a simple case\n if (versions.length === 1) {\n const version = versions[0];\n const storagePath = options.storagePath || DEFAULT_STORAGE_PATH;\n options = { storagePath, ...options };\n\n if (!createResultFn) createResultFn = _require('node-install-release').createResult;\n const result = createResultFn({ name: version, ...options }, version);\n\n fs.statSync(result.execPath);\n return [result];\n }\n } catch (_) {}\n\n if (!functionExec) functionExec = _require('function-exec-sync');\n return functionExec({ cwd: process.cwd(), sleep: SLEEP_MS, callbacks: true }, workerPath, versionExpression, options);\n}\n"],"names":["fs","path","url","homedir","DEFAULT_STORAGE_PATH","join","Module","_require","require","createRequire","SLEEP_MS","__dirname","dirname","__filename","fileURLToPath","workerPath","functionExec","resolveVersionsFn","createResultFn","installSyncWorker","versionExpression","options","versions","sync","length","Error","version","storagePath","createResult","result","name","statSync","execPath","_","cwd","process","sleep","callbacks"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AACtB,SAASC,OAAO,QAAQ,eAAe;AAEvC,MAAMC,uBAAuBH,KAAKI,IAAI,CAACF,WAAW;AAElD,OAAOG,YAAY,SAAS;AAE5B,MAAMC,WAAW,OAAOC,YAAY,cAAcF,OAAOG,aAAa,CAAC,YAAYP,GAAG,IAAIM;AAE1F,MAAME,WAAW;AACjB,MAAMC,YAAYV,KAAKW,OAAO,CAAC,OAAOC,eAAe,cAAcX,IAAIY,aAAa,CAAC,YAAYZ,GAAG,IAAIW;AAIxG,oEAAoE;AACpE,MAAME,aAAad,KAAKI,IAAI,CAACM,WAAW,MAAM,MAAM,OAAO,WAAW;AAEtE,IAAIK,eAAe,MAAM,qBAAqB;AAC9C,IAAIC,oBAAoB,MAAM,qBAAqB;AACnD,IAAIC,iBAAiB,MAAM,qBAAqB;AAChD,eAAe,SAASC,kBAAkBC,iBAAyB,EAAEC,OAAuB;IAC1F,IAAI;QACF,IAAI,CAACJ,mBAAmBA,oBAAoBV,SAAS;QACrD,MAAMe,WAAWL,kBAAkBM,IAAI,CAACH,mBAAmBC;QAC3D,IAAI,CAACC,SAASE,MAAM,EAAE,MAAM,IAAIC,MAAM,CAAC,mCAAmC,EAAEL,mBAAmB;QAE/F,uDAAuD;QACvD,IAAIE,SAASE,MAAM,KAAK,GAAG;YACzB,MAAME,UAAUJ,QAAQ,CAAC,EAAE;YAC3B,MAAMK,cAAcN,QAAQM,WAAW,IAAIvB;YAC3CiB,UAAU;gBAAEM;gBAAa,GAAGN,OAAO;YAAC;YAEpC,IAAI,CAACH,gBAAgBA,iBAAiBX,SAAS,wBAAwBqB,YAAY;YACnF,MAAMC,SAASX,eAAe;gBAAEY,MAAMJ;gBAAS,GAAGL,OAAO;YAAC,GAAGK;YAE7D1B,GAAG+B,QAAQ,CAACF,OAAOG,QAAQ;YAC3B,OAAO;gBAACH;aAAO;QACjB;IACF,EAAE,OAAOI,GAAG,CAAC;IAEb,IAAI,CAACjB,cAAcA,eAAeT,SAAS;IAC3C,OAAOS,aAAa;QAAEkB,KAAKC,QAAQD,GAAG;QAAIE,OAAO1B;QAAU2B,WAAW;IAAK,GAAGtB,YAAYK,mBAAmBC;AAC/G"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-version-install",
3
- "version": "1.5.2",
3
+ "version": "1.5.4",
4
4
  "description": "Install NodeJs by version string asynchronously or synchronously",
5
5
  "keywords": [
6
6
  "node",
@@ -46,24 +46,24 @@
46
46
  "version": "tsds version"
47
47
  },
48
48
  "dependencies": {
49
- "function-exec-sync": "^1.5.3",
49
+ "function-exec-sync": "^2.0.1",
50
50
  "homedir-polyfill": "^1.0.3",
51
- "node-install-release": "^1.16.2",
52
- "node-resolve-versions": "^1.3.11",
53
- "queue-cb": "^1.6.1"
51
+ "node-install-release": "^1.7.5",
52
+ "node-resolve-versions": "^1.0.0",
53
+ "queue-cb": "^1.0.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@types/mocha": "^10.0.10",
57
- "@types/node": "^25.0.1",
56
+ "@types/mocha": "*",
57
+ "@types/node": "*",
58
58
  "cr": "^0.1.0",
59
- "cross-spawn-cb": "^2.4.12",
60
- "fs-remove-compat": "^0.2.1",
61
- "is-version": "^1.0.7",
62
- "node-version-use": "^2.1.5",
63
- "node-version-utils": "^1.3.15",
64
- "pinkie-promise": "^2.0.1",
65
- "ts-dev-stack": "^1.21.3",
66
- "tsds-config": "^0.2.1"
59
+ "cross-spawn-cb": "^3.0.0",
60
+ "fs-remove-compat": "^1.0.0",
61
+ "is-version": "^1.0.9",
62
+ "node-version-use": "*",
63
+ "node-version-utils": "^1.0.2",
64
+ "pinkie-promise": "*",
65
+ "ts-dev-stack": "*",
66
+ "tsds-config": "*"
67
67
  },
68
68
  "engines": {
69
69
  "node": ">=0.8"