node-version-install 0.2.2 → 0.2.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.
@@ -16,12 +16,8 @@ _export(exports, {
16
16
  return sync;
17
17
  }
18
18
  });
19
- var _path = /*#__PURE__*/ _interop_require_default(require("path"));
20
- var _url = /*#__PURE__*/ _interop_require_default(require("url"));
21
- var _modulerootsync = /*#__PURE__*/ _interop_require_default(require("module-root-sync"));
22
19
  var _install = /*#__PURE__*/ _interop_require_default(require("./workers/install.cjs"));
23
- var _module = /*#__PURE__*/ _interop_require_default(require("module"));
24
- var _lazycache = /*#__PURE__*/ _interop_require_default(require("lazy-cache"));
20
+ var _installSync = /*#__PURE__*/ _interop_require_default(require("./workers/installSync.cjs"));
25
21
  function _interop_require_default(obj) {
26
22
  return obj && obj.__esModule ? obj : {
27
23
  default: obj
@@ -40,18 +36,8 @@ function install(versionExpression, options, callback) {
40
36
  });
41
37
  });
42
38
  }
43
- var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
44
- var execFunction = (0, _lazycache.default)(_require)('function-exec-sync');
45
- var SLEEP_MS = 200;
46
- var __dirname = _path.default.dirname(typeof __filename === 'undefined' ? _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()) : __filename);
47
- var root = (0, _modulerootsync.default)(__dirname);
48
- var workerPath = _path.default.join(root, 'dist', 'cjs', 'workers', 'install.cjs');
49
39
  function sync(versionExpression, options) {
50
40
  options = options || {};
51
- return execFunction().default({
52
- cwd: process.cwd(),
53
- sleep: SLEEP_MS,
54
- callbacks: true
55
- }, workerPath, versionExpression, options);
41
+ return (0, _installSync.default)(versionExpression, options);
56
42
  }
57
43
  /* 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 path from 'path';\nimport url from 'url';\nimport moduleRoot from 'module-root-sync';\nimport worker from './workers/install';\n\nimport type { InstallCallback, InstallOptions, InstallResult } from './types';\n\nexport type * from './types';\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\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst execFunction = lazy(_require)('function-exec-sync');\n\nconst SLEEP_MS = 200;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst root = moduleRoot(__dirname);\nconst workerPath = path.join(root, 'dist', 'cjs', 'workers', 'install.cjs');\n\nexport function sync(versionExpression: string, options?: InstallOptions): InstallResult[] {\n options = options || {};\n return execFunction().default({ cwd: process.cwd(), sleep: SLEEP_MS, callbacks: true }, workerPath, versionExpression, options);\n}\n"],"names":["install","sync","versionExpression","options","callback","worker","Promise","resolve","reject","err","result","_require","require","Module","createRequire","execFunction","lazy","SLEEP_MS","__dirname","path","dirname","__filename","url","fileURLToPath","root","moduleRoot","workerPath","join","default","cwd","process","sleep","callbacks"],"mappings":";;;;;;;;;;;IAQA,OASC;eATuBA;;IAqBRC,IAAI;eAAJA;;;2DA7BC;0DACD;qEACO;8DACJ;6DAgBA;gEACF;;;;;;AAZF,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,gBAAM,EAACH,mBAAmBC,SAASC;IAC9E,OAAO,IAAIE,QAAQ,SAACC,SAASC;eAAWH,IAAAA,gBAAM,EAACH,mBAAmBC,SAAS,SAACM,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AAC3H;AAIA,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,eAAeC,IAAAA,kBAAI,EAACL,UAAU;AAEpC,IAAMM,WAAW;AACjB,IAAMC,YAAYC,aAAI,CAACC,OAAO,CAAC,OAAOC,eAAe,cAAcC,YAAG,CAACC,aAAa,CAAC,uDAAmBF;AACxG,IAAMG,OAAOC,IAAAA,uBAAU,EAACP;AACxB,IAAMQ,aAAaP,aAAI,CAACQ,IAAI,CAACH,MAAM,QAAQ,OAAO,WAAW;AAEtD,SAASvB,KAAKC,iBAAyB,EAAEC,OAAwB;IACtEA,UAAUA,WAAW,CAAC;IACtB,OAAOY,eAAea,OAAO,CAAC;QAAEC,KAAKC,QAAQD,GAAG;QAAIE,OAAOd;QAAUe,WAAW;IAAK,GAAGN,YAAYxB,mBAAmBC;AACzH"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/index.ts"],"sourcesContent":["import worker from './workers/install';\nimport workerSync from './workers/installSync';\n\nimport type { InstallCallback, InstallOptions, InstallResult } from './types';\n\nexport type * from './types';\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":";;;;;;;;;;;IAMA,OASC;eATuBA;;IAWRC,IAAI;eAAJA;;;8DAjBG;kEACI;;;;;;AAKR,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,gBAAM,EAACH,mBAAmBC,SAASC;IAC9E,OAAO,IAAIE,QAAQ,SAACC,SAASC;eAAWH,IAAAA,gBAAM,EAACH,mBAAmBC,SAAS,SAACM,KAAKC;mBAAYD,MAAMD,OAAOC,OAAOF,QAAQG;;;AAC3H;AAEO,SAAST,KAAKC,iBAAyB,EAAEC,OAAwB;IACtEA,UAAUA,WAAW,CAAC;IACtB,OAAOQ,IAAAA,oBAAU,EAACT,mBAAmBC;AACvC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return installSyncWorker;
9
+ }
10
+ });
11
+ var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
12
+ var _path = /*#__PURE__*/ _interop_require_default(require("path"));
13
+ var _url = /*#__PURE__*/ _interop_require_default(require("url"));
14
+ var _modulerootsync = /*#__PURE__*/ _interop_require_default(require("module-root-sync"));
15
+ var _homedirpolyfill = /*#__PURE__*/ _interop_require_default(require("homedir-polyfill"));
16
+ var _nodeinstallrelease = require("node-install-release");
17
+ var _module = /*#__PURE__*/ _interop_require_default(require("module"));
18
+ var _lazycache = /*#__PURE__*/ _interop_require_default(require("lazy-cache"));
19
+ function _define_property(obj, key, value) {
20
+ if (key in obj) {
21
+ Object.defineProperty(obj, key, {
22
+ value: value,
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true
26
+ });
27
+ } else {
28
+ obj[key] = value;
29
+ }
30
+ return obj;
31
+ }
32
+ function _interop_require_default(obj) {
33
+ return obj && obj.__esModule ? obj : {
34
+ default: obj
35
+ };
36
+ }
37
+ function _object_spread(target) {
38
+ for(var i = 1; i < arguments.length; i++){
39
+ var source = arguments[i] != null ? arguments[i] : {};
40
+ var ownKeys = Object.keys(source);
41
+ if (typeof Object.getOwnPropertySymbols === "function") {
42
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
43
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
44
+ }));
45
+ }
46
+ ownKeys.forEach(function(key) {
47
+ _define_property(target, key, source[key]);
48
+ });
49
+ }
50
+ return target;
51
+ }
52
+ var DEFAULT_STORAGE_PATH = _path.default.join((0, _homedirpolyfill.default)(), '.nvu');
53
+ var _require = typeof require === 'undefined' ? _module.default.createRequire(require("url").pathToFileURL(__filename).toString()) : require;
54
+ var resolveVersions = (0, _lazycache.default)(_require)('node-resolve-versions');
55
+ var execFunction = (0, _lazycache.default)(_require)('function-exec-sync');
56
+ var SLEEP_MS = 200;
57
+ var __dirname = _path.default.dirname(typeof __filename === 'undefined' ? _url.default.fileURLToPath(require("url").pathToFileURL(__filename).toString()) : __filename);
58
+ var root = (0, _modulerootsync.default)(__dirname);
59
+ var workerPath = _path.default.join(root, 'dist', 'cjs', 'workers', 'install.cjs');
60
+ function installSyncWorker(versionExpression, options) {
61
+ try {
62
+ var versions = resolveVersions().sync(versionExpression, options);
63
+ if (!versions.length) throw new Error("No versions found from expression: ".concat(versionExpression));
64
+ // shortcut to not spawn a worker if it's a simple case
65
+ if (versions.length === 1) {
66
+ var version = versions[0];
67
+ var storagePath = options.storagePath || DEFAULT_STORAGE_PATH;
68
+ options = _object_spread({
69
+ storagePath: storagePath
70
+ }, options);
71
+ var versionOptions = _object_spread({
72
+ name: version
73
+ }, options);
74
+ var result = (0, _nodeinstallrelease.createResult)(versionOptions, version);
75
+ _fs.default.statSync(result.execPath);
76
+ return [
77
+ result
78
+ ];
79
+ }
80
+ } catch (_) {}
81
+ return execFunction().default({
82
+ cwd: process.cwd(),
83
+ sleep: SLEEP_MS,
84
+ callbacks: true
85
+ }, workerPath, versionExpression, options);
86
+ }
87
+ /* 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; }
@@ -0,0 +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 moduleRoot from 'module-root-sync';\n\nimport home from 'homedir-polyfill';\nimport { createResult } from 'node-install-release';\nconst DEFAULT_STORAGE_PATH = path.join(home(), '.nvu');\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst resolveVersions = lazy(_require)('node-resolve-versions');\n\nconst execFunction = lazy(_require)('function-exec-sync');\n\nconst SLEEP_MS = 200;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst root = moduleRoot(__dirname);\nconst workerPath = path.join(root, 'dist', 'cjs', 'workers', 'install.cjs');\n\nexport default function installSyncWorker(versionExpression: string, options) {\n try {\n const versions = resolveVersions().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 const versionOptions = { name: version, ...options };\n const result = createResult(versionOptions, version);\n\n fs.statSync(result.execPath);\n return [result];\n }\n } catch (_) {}\n\n return execFunction().default({ cwd: process.cwd(), sleep: SLEEP_MS, callbacks: true }, workerPath, versionExpression, options);\n}\n"],"names":["installSyncWorker","DEFAULT_STORAGE_PATH","path","join","home","_require","require","Module","createRequire","resolveVersions","lazy","execFunction","SLEEP_MS","__dirname","dirname","__filename","url","fileURLToPath","root","moduleRoot","workerPath","versionExpression","options","versions","sync","length","Error","version","storagePath","versionOptions","name","result","createResult","fs","statSync","execPath","_","default","cwd","process","sleep","callbacks"],"mappings":";;;;+BAqBA;;;eAAwBA;;;yDArBT;2DACE;0DACD;qEACO;sEAEN;kCACY;6DAGV;gEACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAHjB,IAAMC,uBAAuBC,aAAI,CAACC,IAAI,CAACC,IAAAA,wBAAI,KAAI;AAI/C,IAAMC,WAAW,OAAOC,YAAY,cAAcC,eAAM,CAACC,aAAa,CAAC,uDAAmBF;AAC1F,IAAMG,kBAAkBC,IAAAA,kBAAI,EAACL,UAAU;AAEvC,IAAMM,eAAeD,IAAAA,kBAAI,EAACL,UAAU;AAEpC,IAAMO,WAAW;AACjB,IAAMC,YAAYX,aAAI,CAACY,OAAO,CAAC,OAAOC,eAAe,cAAcC,YAAG,CAACC,aAAa,CAAC,uDAAmBF;AACxG,IAAMG,OAAOC,IAAAA,uBAAU,EAACN;AACxB,IAAMO,aAAalB,aAAI,CAACC,IAAI,CAACe,MAAM,QAAQ,OAAO,WAAW;AAE9C,SAASlB,kBAAkBqB,iBAAyB,EAAEC,OAAO;IAC1E,IAAI;QACF,IAAMC,WAAWd,kBAAkBe,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,IAAI3B;YAC3CqB,UAAU;gBAAEM,aAAAA;eAAgBN;YAE5B,IAAMO,iBAAiB;gBAAEC,MAAMH;eAAYL;YAC3C,IAAMS,SAASC,IAAAA,gCAAY,EAACH,gBAAgBF;YAE5CM,WAAE,CAACC,QAAQ,CAACH,OAAOI,QAAQ;YAC3B,OAAO;gBAACJ;aAAO;QACjB;IACF,EAAE,OAAOK,GAAG,CAAC;IAEb,OAAOzB,eAAe0B,OAAO,CAAC;QAAEC,KAAKC,QAAQD,GAAG;QAAIE,OAAO5B;QAAU6B,WAAW;IAAK,GAAGrB,YAAYC,mBAAmBC;AACzH"}
@@ -1,7 +1,5 @@
1
- import path from 'path';
2
- import url from 'url';
3
- import moduleRoot from 'module-root-sync';
4
1
  import worker from './workers/install.mjs';
2
+ import workerSync from './workers/installSync.mjs';
5
3
  export default function install(versionExpression, options, callback) {
6
4
  if (typeof options === 'function') {
7
5
  callback = options;
@@ -11,19 +9,7 @@ export default function install(versionExpression, options, callback) {
11
9
  if (typeof callback === 'function') return worker(versionExpression, options, callback);
12
10
  return new Promise((resolve, reject)=>worker(versionExpression, options, (err, result)=>err ? reject(err) : resolve(result)));
13
11
  }
14
- import Module from 'module';
15
- import lazy from 'lazy-cache';
16
- const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
17
- const execFunction = lazy(_require)('function-exec-sync');
18
- const SLEEP_MS = 200;
19
- const __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);
20
- const root = moduleRoot(__dirname);
21
- const workerPath = path.join(root, 'dist', 'cjs', 'workers', 'install.cjs');
22
12
  export function sync(versionExpression, options) {
23
13
  options = options || {};
24
- return execFunction().default({
25
- cwd: process.cwd(),
26
- sleep: SLEEP_MS,
27
- callbacks: true
28
- }, workerPath, versionExpression, options);
14
+ return workerSync(versionExpression, options);
29
15
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/index.ts"],"sourcesContent":["import path from 'path';\nimport url from 'url';\nimport moduleRoot from 'module-root-sync';\nimport worker from './workers/install';\n\nimport type { InstallCallback, InstallOptions, InstallResult } from './types';\n\nexport type * from './types';\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\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst execFunction = lazy(_require)('function-exec-sync');\n\nconst SLEEP_MS = 200;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst root = moduleRoot(__dirname);\nconst workerPath = path.join(root, 'dist', 'cjs', 'workers', 'install.cjs');\n\nexport function sync(versionExpression: string, options?: InstallOptions): InstallResult[] {\n options = options || {};\n return execFunction().default({ cwd: process.cwd(), sleep: SLEEP_MS, callbacks: true }, workerPath, versionExpression, options);\n}\n"],"names":["path","url","moduleRoot","worker","install","versionExpression","options","callback","Promise","resolve","reject","err","result","Module","lazy","_require","require","createRequire","execFunction","SLEEP_MS","__dirname","dirname","__filename","fileURLToPath","root","workerPath","join","sync","default","cwd","process","sleep","callbacks"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AACtB,OAAOC,gBAAgB,mBAAmB;AAC1C,OAAOC,YAAY,oBAAoB;AAKvC,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,OAAOJ,OAAOE,mBAAmBC,SAASC;IAC9E,OAAO,IAAIC,QAAQ,CAACC,SAASC,SAAWP,OAAOE,mBAAmBC,SAAS,CAACK,KAAKC,SAAYD,MAAMD,OAAOC,OAAOF,QAAQG;AAC3H;AAEA,OAAOC,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYhB,GAAG,IAAIe;AAC1F,MAAME,eAAeJ,KAAKC,UAAU;AAEpC,MAAMI,WAAW;AACjB,MAAMC,YAAYpB,KAAKqB,OAAO,CAAC,OAAOC,eAAe,cAAcrB,IAAIsB,aAAa,CAAC,YAAYtB,GAAG,IAAIqB;AACxG,MAAME,OAAOtB,WAAWkB;AACxB,MAAMK,aAAazB,KAAK0B,IAAI,CAACF,MAAM,QAAQ,OAAO,WAAW;AAE7D,OAAO,SAASG,KAAKtB,iBAAyB,EAAEC,OAAwB;IACtEA,UAAUA,WAAW,CAAC;IACtB,OAAOY,eAAeU,OAAO,CAAC;QAAEC,KAAKC,QAAQD,GAAG;QAAIE,OAAOZ;QAAUa,WAAW;IAAK,GAAGP,YAAYpB,mBAAmBC;AACzH"}
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-install/src/index.ts"],"sourcesContent":["import worker from './workers/install';\nimport workerSync from './workers/installSync';\n\nimport type { InstallCallback, InstallOptions, InstallResult } from './types';\n\nexport type * from './types';\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":"AAAA,OAAOA,YAAY,oBAAoB;AACvC,OAAOC,gBAAgB,wBAAwB;AAK/C,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"}
@@ -0,0 +1,45 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import url from 'url';
4
+ import moduleRoot from 'module-root-sync';
5
+ import home from 'homedir-polyfill';
6
+ import { createResult } from 'node-install-release';
7
+ const DEFAULT_STORAGE_PATH = path.join(home(), '.nvu');
8
+ import Module from 'module';
9
+ import lazy from 'lazy-cache';
10
+ const _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;
11
+ const resolveVersions = lazy(_require)('node-resolve-versions');
12
+ const execFunction = lazy(_require)('function-exec-sync');
13
+ const SLEEP_MS = 200;
14
+ const __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);
15
+ const root = moduleRoot(__dirname);
16
+ const workerPath = path.join(root, 'dist', 'cjs', 'workers', 'install.cjs');
17
+ export default function installSyncWorker(versionExpression, options) {
18
+ try {
19
+ const versions = resolveVersions().sync(versionExpression, options);
20
+ if (!versions.length) throw new Error(`No versions found from expression: ${versionExpression}`);
21
+ // shortcut to not spawn a worker if it's a simple case
22
+ if (versions.length === 1) {
23
+ const version = versions[0];
24
+ const storagePath = options.storagePath || DEFAULT_STORAGE_PATH;
25
+ options = {
26
+ storagePath,
27
+ ...options
28
+ };
29
+ const versionOptions = {
30
+ name: version,
31
+ ...options
32
+ };
33
+ const result = createResult(versionOptions, version);
34
+ fs.statSync(result.execPath);
35
+ return [
36
+ result
37
+ ];
38
+ }
39
+ } catch (_) {}
40
+ return execFunction().default({
41
+ cwd: process.cwd(),
42
+ sleep: SLEEP_MS,
43
+ callbacks: true
44
+ }, workerPath, versionExpression, options);
45
+ }
@@ -0,0 +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 moduleRoot from 'module-root-sync';\n\nimport home from 'homedir-polyfill';\nimport { createResult } from 'node-install-release';\nconst DEFAULT_STORAGE_PATH = path.join(home(), '.nvu');\n\nimport Module from 'module';\nimport lazy from 'lazy-cache';\nconst _require = typeof require === 'undefined' ? Module.createRequire(import.meta.url) : require;\nconst resolveVersions = lazy(_require)('node-resolve-versions');\n\nconst execFunction = lazy(_require)('function-exec-sync');\n\nconst SLEEP_MS = 200;\nconst __dirname = path.dirname(typeof __filename === 'undefined' ? url.fileURLToPath(import.meta.url) : __filename);\nconst root = moduleRoot(__dirname);\nconst workerPath = path.join(root, 'dist', 'cjs', 'workers', 'install.cjs');\n\nexport default function installSyncWorker(versionExpression: string, options) {\n try {\n const versions = resolveVersions().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 const versionOptions = { name: version, ...options };\n const result = createResult(versionOptions, version);\n\n fs.statSync(result.execPath);\n return [result];\n }\n } catch (_) {}\n\n return execFunction().default({ cwd: process.cwd(), sleep: SLEEP_MS, callbacks: true }, workerPath, versionExpression, options);\n}\n"],"names":["fs","path","url","moduleRoot","home","createResult","DEFAULT_STORAGE_PATH","join","Module","lazy","_require","require","createRequire","resolveVersions","execFunction","SLEEP_MS","__dirname","dirname","__filename","fileURLToPath","root","workerPath","installSyncWorker","versionExpression","options","versions","sync","length","Error","version","storagePath","versionOptions","name","result","statSync","execPath","_","default","cwd","process","sleep","callbacks"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,OAAOC,SAAS,MAAM;AACtB,OAAOC,gBAAgB,mBAAmB;AAE1C,OAAOC,UAAU,mBAAmB;AACpC,SAASC,YAAY,QAAQ,uBAAuB;AACpD,MAAMC,uBAAuBL,KAAKM,IAAI,CAACH,QAAQ;AAE/C,OAAOI,YAAY,SAAS;AAC5B,OAAOC,UAAU,aAAa;AAC9B,MAAMC,WAAW,OAAOC,YAAY,cAAcH,OAAOI,aAAa,CAAC,YAAYV,GAAG,IAAIS;AAC1F,MAAME,kBAAkBJ,KAAKC,UAAU;AAEvC,MAAMI,eAAeL,KAAKC,UAAU;AAEpC,MAAMK,WAAW;AACjB,MAAMC,YAAYf,KAAKgB,OAAO,CAAC,OAAOC,eAAe,cAAchB,IAAIiB,aAAa,CAAC,YAAYjB,GAAG,IAAIgB;AACxG,MAAME,OAAOjB,WAAWa;AACxB,MAAMK,aAAapB,KAAKM,IAAI,CAACa,MAAM,QAAQ,OAAO,WAAW;AAE7D,eAAe,SAASE,kBAAkBC,iBAAyB,EAAEC,OAAO;IAC1E,IAAI;QACF,MAAMC,WAAWZ,kBAAkBa,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,IAAIxB;YAC3CkB,UAAU;gBAAEM;gBAAa,GAAGN,OAAO;YAAC;YAEpC,MAAMO,iBAAiB;gBAAEC,MAAMH;gBAAS,GAAGL,OAAO;YAAC;YACnD,MAAMS,SAAS5B,aAAa0B,gBAAgBF;YAE5C7B,GAAGkC,QAAQ,CAACD,OAAOE,QAAQ;YAC3B,OAAO;gBAACF;aAAO;QACjB;IACF,EAAE,OAAOG,GAAG,CAAC;IAEb,OAAOtB,eAAeuB,OAAO,CAAC;QAAEC,KAAKC,QAAQD,GAAG;QAAIE,OAAOzB;QAAU0B,WAAW;IAAK,GAAGpB,YAAYE,mBAAmBC;AACzH"}
@@ -0,0 +1 @@
1
+ export default function installSyncWorker(versionExpression: string, options: any): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-version-install",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Install NodeJs by version string asynchronously or synchronously",
5
5
  "keywords": [
6
6
  "node",
@@ -47,11 +47,11 @@
47
47
  "version": "tsds version"
48
48
  },
49
49
  "dependencies": {
50
- "function-exec-sync": "^1.1.5",
50
+ "function-exec-sync": "^1.1.6",
51
51
  "homedir-polyfill": "^1.0.3",
52
52
  "lazy-cache": "^2.0.2",
53
53
  "module-root-sync": "^0.1.1",
54
- "node-install-release": "^1.7.6",
54
+ "node-install-release": "^1.7.7",
55
55
  "node-resolve-versions": "^1.0.5",
56
56
  "queue-cb": "^1.4.4"
57
57
  },
@@ -60,7 +60,7 @@
60
60
  "@types/mocha": "^10.0.10",
61
61
  "@types/node": "^22.10.2",
62
62
  "cr": "^0.1.0",
63
- "cross-spawn-cb": "^2.0.1",
63
+ "cross-spawn-cb": "^2.0.3",
64
64
  "fs-exists-sync": "^0.1.0",
65
65
  "is-version": "^0.2.1",
66
66
  "node-version-utils": "^1.2.1",