node-version-utils 1.1.2 → 1.2.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.
@@ -2,26 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- spawn: function() {
13
- return _spawn.default;
14
- },
15
- spawnOptions: function() {
5
+ Object.defineProperty(exports, "spawnOptions", {
6
+ enumerable: true,
7
+ get: function() {
16
8
  return _spawnOptions.default;
17
- },
18
- spawnSync: function() {
19
- return _spawnSync.default;
20
9
  }
21
10
  });
22
- var _spawn = /*#__PURE__*/ _interop_require_default(require("./spawn"));
23
- var _spawnSync = /*#__PURE__*/ _interop_require_default(require("./spawnSync"));
24
- var _spawnOptions = /*#__PURE__*/ _interop_require_default(require("./spawnOptions"));
11
+ var _spawnOptions = /*#__PURE__*/ _interop_require_default(require("./spawnOptions.cjs"));
25
12
  function _interop_require_default(obj) {
26
13
  return obj && obj.__esModule ? obj : {
27
14
  default: obj
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-utils/src/index.ts"],"sourcesContent":["export type * from './types';\nexport { default as spawnOptions } from './spawnOptions';\n"],"names":["spawnOptions"],"mappings":";;;;+BACoBA;;;eAAAA,qBAAY;;;mEAAQ"}
@@ -1,5 +1,14 @@
1
1
  "use strict";
2
- module.exports = function startsCaseInsensitiveFn(string) {
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "default", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return startsWithFn;
9
+ }
10
+ });
11
+ function startsWithFn(string) {
3
12
  var lower = string.toLowerCase();
4
13
  var upper = string.toUpperCase();
5
14
  return function startsCaseInsensitive(key) {
@@ -9,5 +18,5 @@ module.exports = function startsCaseInsensitiveFn(string) {
9
18
  }
10
19
  return true;
11
20
  };
12
- };
21
+ }
13
22
  /* 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-utils/src/lib/startsWithFn.ts"],"sourcesContent":["export default function startsWithFn(string) {\n const lower = string.toLowerCase();\n const upper = string.toUpperCase();\n return function startsCaseInsensitive(key) {\n if (key.length < string.length) return false;\n for (let i = 0; i < string.length; i++) {\n if (key[i] !== lower[i] && key[i] !== upper[i]) return false;\n }\n return true;\n };\n}\n"],"names":["startsWithFn","string","lower","toLowerCase","upper","toUpperCase","startsCaseInsensitive","key","length","i"],"mappings":";;;;+BAAA;;;eAAwBA;;;AAAT,SAASA,aAAaC,MAAM;IACzC,IAAMC,QAAQD,OAAOE,WAAW;IAChC,IAAMC,QAAQH,OAAOI,WAAW;IAChC,OAAO,SAASC,sBAAsBC,GAAG;QACvC,IAAIA,IAAIC,MAAM,GAAGP,OAAOO,MAAM,EAAE,OAAO;QACvC,IAAK,IAAIC,IAAI,GAAGA,IAAIR,OAAOO,MAAM,EAAEC,IAAK;YACtC,IAAIF,GAAG,CAACE,EAAE,KAAKP,KAAK,CAACO,EAAE,IAAIF,GAAG,CAACE,EAAE,KAAKL,KAAK,CAACK,EAAE,EAAE,OAAO;QACzD;QACA,OAAO;IACT;AACF"}
@@ -1,4 +1,17 @@
1
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 spawnOptions;
9
+ }
10
+ });
11
+ var _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
+ var _envpathkey = /*#__PURE__*/ _interop_require_default(require("env-path-key"));
13
+ var _pathstringprepend = /*#__PURE__*/ _interop_require_default(require("path-string-prepend"));
14
+ var _startsWithFn = /*#__PURE__*/ _interop_require_default(require("./lib/startsWithFn.cjs"));
2
15
  function _define_property(obj, key, value) {
3
16
  if (key in obj) {
4
17
  Object.defineProperty(obj, key, {
@@ -12,6 +25,11 @@ function _define_property(obj, key, value) {
12
25
  }
13
26
  return obj;
14
27
  }
28
+ function _interop_require_default(obj) {
29
+ return obj && obj.__esModule ? obj : {
30
+ default: obj
31
+ };
32
+ }
15
33
  function _object_spread(target) {
16
34
  for(var i = 1; i < arguments.length; i++){
17
35
  var source = arguments[i] != null ? arguments[i] : {};
@@ -51,23 +69,20 @@ function _object_spread_props(target, source) {
51
69
  }
52
70
  return target;
53
71
  }
54
- var path = require('path');
55
- var prepend = require('path-string-prepend');
56
- var pathKey = require('env-path-key');
57
- var startsCaseInsensitiveFn = require('./startsCaseInsensitiveFn');
58
72
  var isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);
59
73
  var NODE = isWindows ? 'node.exe' : 'node';
60
- var startsNPM = startsCaseInsensitiveFn('npm_');
61
- var startsPath = startsCaseInsensitiveFn('path');
62
- module.exports = function spawnOptions(installPath, options) {
63
- var PATH_KEY = pathKey();
74
+ var startsNPM = (0, _startsWithFn.default)('npm_');
75
+ var startsPath = (0, _startsWithFn.default)('path');
76
+ function spawnOptions(installPath) {
77
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
78
+ var PATH_KEY = (0, _envpathkey.default)();
64
79
  var processEnv = process.env;
65
80
  var env = {};
66
- env.npm_config_binroot = isWindows ? installPath : path.join(installPath, 'bin');
67
- env.npm_config_root = isWindows ? installPath : path.join(installPath, 'lib');
68
- env.npm_config_man = isWindows ? installPath : path.join(installPath, 'man');
81
+ env.npm_config_binroot = isWindows ? installPath : _path.default.join(installPath, 'bin');
82
+ env.npm_config_root = isWindows ? installPath : _path.default.join(installPath, 'lib');
83
+ env.npm_config_man = isWindows ? installPath : _path.default.join(installPath, 'man');
69
84
  env.npm_config_prefix = installPath;
70
- env.npm_node_execpath = path.join(env.npm_config_binroot, NODE);
85
+ env.npm_node_execpath = _path.default.join(env.npm_config_binroot, NODE);
71
86
  // copy the environment not for npm and skip case-insesitive additional paths
72
87
  for(var key in processEnv){
73
88
  // skip npm_ variants and non-matching path
@@ -79,10 +94,10 @@ module.exports = function spawnOptions(installPath, options) {
79
94
  if (env.NODE !== undefined) env.NODE = env.npm_node_execpath;
80
95
  if (env.NODE_EXE !== undefined) env.NODE_EXE = env.npm_node_execpath;
81
96
  // put the path to node and npm at the front and remove nvs
82
- env[PATH_KEY] = prepend(env[PATH_KEY] || '', env.npm_config_binroot);
97
+ env[PATH_KEY] = (0, _pathstringprepend.default)(env[PATH_KEY] || '', env.npm_config_binroot);
83
98
  return _object_spread_props(_object_spread({}, options), {
84
99
  cwd: process.cwd(),
85
100
  env: env
86
101
  });
87
- };
102
+ }
88
103
  /* 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-utils/src/spawnOptions.ts"],"sourcesContent":["import path from 'path';\nimport pathKey from 'env-path-key';\nimport prepend from 'path-string-prepend';\nimport startsWithFn from './lib/startsWithFn';\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\nconst NODE = isWindows ? 'node.exe' : 'node';\n\nconst startsNPM = startsWithFn('npm_');\nconst startsPath = startsWithFn('path');\n\nimport type { ProcessEnv, SpawnOptions } from './types';\n\nexport default function spawnOptions(installPath: string, options: object = {}): SpawnOptions {\n const PATH_KEY = pathKey();\n const processEnv = process.env;\n const env = {} as ProcessEnv;\n env.npm_config_binroot = isWindows ? installPath : path.join(installPath, 'bin');\n env.npm_config_root = isWindows ? installPath : path.join(installPath, 'lib');\n env.npm_config_man = isWindows ? installPath : path.join(installPath, 'man');\n env.npm_config_prefix = installPath;\n env.npm_node_execpath = path.join(env.npm_config_binroot, NODE);\n\n // copy the environment not for npm and skip case-insesitive additional paths\n for (const key in processEnv) {\n // skip npm_ variants and non-matching path\n if (key.length > 4 && startsNPM(key)) continue;\n if (key.length === 4 && startsPath(key) && key !== PATH_KEY) continue;\n env[key] = processEnv[key];\n }\n\n // override node\n if (env.NODE !== undefined) env.NODE = env.npm_node_execpath;\n if (env.NODE_EXE !== undefined) env.NODE_EXE = env.npm_node_execpath;\n\n // put the path to node and npm at the front and remove nvs\n env[PATH_KEY] = prepend(env[PATH_KEY] || '', env.npm_config_binroot);\n return { ...options, cwd: process.cwd(), env } as SpawnOptions;\n}\n"],"names":["spawnOptions","isWindows","process","platform","test","env","OSTYPE","NODE","startsNPM","startsWithFn","startsPath","installPath","options","PATH_KEY","pathKey","processEnv","npm_config_binroot","path","join","npm_config_root","npm_config_man","npm_config_prefix","npm_node_execpath","key","length","undefined","NODE_EXE","prepend","cwd"],"mappings":";;;;+BAaA;;;eAAwBA;;;2DAbP;iEACG;wEACA;mEACK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEzB,IAAMC,YAAYC,QAAQC,QAAQ,KAAK,WAAW,kBAAkBC,IAAI,CAACF,QAAQG,GAAG,CAACC,MAAM;AAC3F,IAAMC,OAAON,YAAY,aAAa;AAEtC,IAAMO,YAAYC,IAAAA,qBAAY,EAAC;AAC/B,IAAMC,aAAaD,IAAAA,qBAAY,EAAC;AAIjB,SAAST,aAAaW,WAAmB;QAAEC,UAAAA,iEAAkB,CAAC;IAC3E,IAAMC,WAAWC,IAAAA,mBAAO;IACxB,IAAMC,aAAab,QAAQG,GAAG;IAC9B,IAAMA,MAAM,CAAC;IACbA,IAAIW,kBAAkB,GAAGf,YAAYU,cAAcM,aAAI,CAACC,IAAI,CAACP,aAAa;IAC1EN,IAAIc,eAAe,GAAGlB,YAAYU,cAAcM,aAAI,CAACC,IAAI,CAACP,aAAa;IACvEN,IAAIe,cAAc,GAAGnB,YAAYU,cAAcM,aAAI,CAACC,IAAI,CAACP,aAAa;IACtEN,IAAIgB,iBAAiB,GAAGV;IACxBN,IAAIiB,iBAAiB,GAAGL,aAAI,CAACC,IAAI,CAACb,IAAIW,kBAAkB,EAAET;IAE1D,6EAA6E;IAC7E,IAAK,IAAMgB,OAAOR,WAAY;QAC5B,2CAA2C;QAC3C,IAAIQ,IAAIC,MAAM,GAAG,KAAKhB,UAAUe,MAAM;QACtC,IAAIA,IAAIC,MAAM,KAAK,KAAKd,WAAWa,QAAQA,QAAQV,UAAU;QAC7DR,GAAG,CAACkB,IAAI,GAAGR,UAAU,CAACQ,IAAI;IAC5B;IAEA,gBAAgB;IAChB,IAAIlB,IAAIE,IAAI,KAAKkB,WAAWpB,IAAIE,IAAI,GAAGF,IAAIiB,iBAAiB;IAC5D,IAAIjB,IAAIqB,QAAQ,KAAKD,WAAWpB,IAAIqB,QAAQ,GAAGrB,IAAIiB,iBAAiB;IAEpE,2DAA2D;IAC3DjB,GAAG,CAACQ,SAAS,GAAGc,IAAAA,0BAAO,EAACtB,GAAG,CAACQ,SAAS,IAAI,IAAIR,IAAIW,kBAAkB;IACnE,OAAO,wCAAKJ;QAASgB,KAAK1B,QAAQ0B,GAAG;QAAIvB,KAAAA;;AAC3C"}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
- var crossSpawn = require('cross-spawn-cb');
3
- var spawnOptions = require('./spawnOptions');
4
- module.exports = function spawnSync(installPath, command, args, options) {
5
- return crossSpawn.sync(command, args, spawnOptions(installPath, options));
6
- };
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
7
5
  /* 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":[],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export { default as spawnOptions } from './spawnOptions.mjs';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-utils/src/index.ts"],"sourcesContent":["export type * from './types';\nexport { default as spawnOptions } from './spawnOptions';\n"],"names":["default","spawnOptions"],"mappings":"AACA,SAASA,WAAWC,YAAY,QAAQ,iBAAiB"}
@@ -0,0 +1,11 @@
1
+ export default function startsWithFn(string) {
2
+ const lower = string.toLowerCase();
3
+ const upper = string.toUpperCase();
4
+ return function startsCaseInsensitive(key) {
5
+ if (key.length < string.length) return false;
6
+ for(let i = 0; i < string.length; i++){
7
+ if (key[i] !== lower[i] && key[i] !== upper[i]) return false;
8
+ }
9
+ return true;
10
+ };
11
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-utils/src/lib/startsWithFn.ts"],"sourcesContent":["export default function startsWithFn(string) {\n const lower = string.toLowerCase();\n const upper = string.toUpperCase();\n return function startsCaseInsensitive(key) {\n if (key.length < string.length) return false;\n for (let i = 0; i < string.length; i++) {\n if (key[i] !== lower[i] && key[i] !== upper[i]) return false;\n }\n return true;\n };\n}\n"],"names":["startsWithFn","string","lower","toLowerCase","upper","toUpperCase","startsCaseInsensitive","key","length","i"],"mappings":"AAAA,eAAe,SAASA,aAAaC,MAAM;IACzC,MAAMC,QAAQD,OAAOE,WAAW;IAChC,MAAMC,QAAQH,OAAOI,WAAW;IAChC,OAAO,SAASC,sBAAsBC,GAAG;QACvC,IAAIA,IAAIC,MAAM,GAAGP,OAAOO,MAAM,EAAE,OAAO;QACvC,IAAK,IAAIC,IAAI,GAAGA,IAAIR,OAAOO,MAAM,EAAEC,IAAK;YACtC,IAAIF,GAAG,CAACE,EAAE,KAAKP,KAAK,CAACO,EAAE,IAAIF,GAAG,CAACE,EAAE,KAAKL,KAAK,CAACK,EAAE,EAAE,OAAO;QACzD;QACA,OAAO;IACT;AACF"}
@@ -0,0 +1,35 @@
1
+ import path from 'path';
2
+ import pathKey from 'env-path-key';
3
+ import prepend from 'path-string-prepend';
4
+ import startsWithFn from './lib/startsWithFn.mjs';
5
+ const isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);
6
+ const NODE = isWindows ? 'node.exe' : 'node';
7
+ const startsNPM = startsWithFn('npm_');
8
+ const startsPath = startsWithFn('path');
9
+ export default function spawnOptions(installPath, options = {}) {
10
+ const PATH_KEY = pathKey();
11
+ const processEnv = process.env;
12
+ const env = {};
13
+ env.npm_config_binroot = isWindows ? installPath : path.join(installPath, 'bin');
14
+ env.npm_config_root = isWindows ? installPath : path.join(installPath, 'lib');
15
+ env.npm_config_man = isWindows ? installPath : path.join(installPath, 'man');
16
+ env.npm_config_prefix = installPath;
17
+ env.npm_node_execpath = path.join(env.npm_config_binroot, NODE);
18
+ // copy the environment not for npm and skip case-insesitive additional paths
19
+ for(const key in processEnv){
20
+ // skip npm_ variants and non-matching path
21
+ if (key.length > 4 && startsNPM(key)) continue;
22
+ if (key.length === 4 && startsPath(key) && key !== PATH_KEY) continue;
23
+ env[key] = processEnv[key];
24
+ }
25
+ // override node
26
+ if (env.NODE !== undefined) env.NODE = env.npm_node_execpath;
27
+ if (env.NODE_EXE !== undefined) env.NODE_EXE = env.npm_node_execpath;
28
+ // put the path to node and npm at the front and remove nvs
29
+ env[PATH_KEY] = prepend(env[PATH_KEY] || '', env.npm_config_binroot);
30
+ return {
31
+ ...options,
32
+ cwd: process.cwd(),
33
+ env
34
+ };
35
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-utils/src/spawnOptions.ts"],"sourcesContent":["import path from 'path';\nimport pathKey from 'env-path-key';\nimport prepend from 'path-string-prepend';\nimport startsWithFn from './lib/startsWithFn';\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\nconst NODE = isWindows ? 'node.exe' : 'node';\n\nconst startsNPM = startsWithFn('npm_');\nconst startsPath = startsWithFn('path');\n\nimport type { ProcessEnv, SpawnOptions } from './types';\n\nexport default function spawnOptions(installPath: string, options: object = {}): SpawnOptions {\n const PATH_KEY = pathKey();\n const processEnv = process.env;\n const env = {} as ProcessEnv;\n env.npm_config_binroot = isWindows ? installPath : path.join(installPath, 'bin');\n env.npm_config_root = isWindows ? installPath : path.join(installPath, 'lib');\n env.npm_config_man = isWindows ? installPath : path.join(installPath, 'man');\n env.npm_config_prefix = installPath;\n env.npm_node_execpath = path.join(env.npm_config_binroot, NODE);\n\n // copy the environment not for npm and skip case-insesitive additional paths\n for (const key in processEnv) {\n // skip npm_ variants and non-matching path\n if (key.length > 4 && startsNPM(key)) continue;\n if (key.length === 4 && startsPath(key) && key !== PATH_KEY) continue;\n env[key] = processEnv[key];\n }\n\n // override node\n if (env.NODE !== undefined) env.NODE = env.npm_node_execpath;\n if (env.NODE_EXE !== undefined) env.NODE_EXE = env.npm_node_execpath;\n\n // put the path to node and npm at the front and remove nvs\n env[PATH_KEY] = prepend(env[PATH_KEY] || '', env.npm_config_binroot);\n return { ...options, cwd: process.cwd(), env } as SpawnOptions;\n}\n"],"names":["path","pathKey","prepend","startsWithFn","isWindows","process","platform","test","env","OSTYPE","NODE","startsNPM","startsPath","spawnOptions","installPath","options","PATH_KEY","processEnv","npm_config_binroot","join","npm_config_root","npm_config_man","npm_config_prefix","npm_node_execpath","key","length","undefined","NODE_EXE","cwd"],"mappings":"AAAA,OAAOA,UAAU,OAAO;AACxB,OAAOC,aAAa,eAAe;AACnC,OAAOC,aAAa,sBAAsB;AAC1C,OAAOC,kBAAkB,qBAAqB;AAE9C,MAAMC,YAAYC,QAAQC,QAAQ,KAAK,WAAW,kBAAkBC,IAAI,CAACF,QAAQG,GAAG,CAACC,MAAM;AAC3F,MAAMC,OAAON,YAAY,aAAa;AAEtC,MAAMO,YAAYR,aAAa;AAC/B,MAAMS,aAAaT,aAAa;AAIhC,eAAe,SAASU,aAAaC,WAAmB,EAAEC,UAAkB,CAAC,CAAC;IAC5E,MAAMC,WAAWf;IACjB,MAAMgB,aAAaZ,QAAQG,GAAG;IAC9B,MAAMA,MAAM,CAAC;IACbA,IAAIU,kBAAkB,GAAGd,YAAYU,cAAcd,KAAKmB,IAAI,CAACL,aAAa;IAC1EN,IAAIY,eAAe,GAAGhB,YAAYU,cAAcd,KAAKmB,IAAI,CAACL,aAAa;IACvEN,IAAIa,cAAc,GAAGjB,YAAYU,cAAcd,KAAKmB,IAAI,CAACL,aAAa;IACtEN,IAAIc,iBAAiB,GAAGR;IACxBN,IAAIe,iBAAiB,GAAGvB,KAAKmB,IAAI,CAACX,IAAIU,kBAAkB,EAAER;IAE1D,6EAA6E;IAC7E,IAAK,MAAMc,OAAOP,WAAY;QAC5B,2CAA2C;QAC3C,IAAIO,IAAIC,MAAM,GAAG,KAAKd,UAAUa,MAAM;QACtC,IAAIA,IAAIC,MAAM,KAAK,KAAKb,WAAWY,QAAQA,QAAQR,UAAU;QAC7DR,GAAG,CAACgB,IAAI,GAAGP,UAAU,CAACO,IAAI;IAC5B;IAEA,gBAAgB;IAChB,IAAIhB,IAAIE,IAAI,KAAKgB,WAAWlB,IAAIE,IAAI,GAAGF,IAAIe,iBAAiB;IAC5D,IAAIf,IAAImB,QAAQ,KAAKD,WAAWlB,IAAImB,QAAQ,GAAGnB,IAAIe,iBAAiB;IAEpE,2DAA2D;IAC3Df,GAAG,CAACQ,SAAS,GAAGd,QAAQM,GAAG,CAACQ,SAAS,IAAI,IAAIR,IAAIU,kBAAkB;IACnE,OAAO;QAAE,GAAGH,OAAO;QAAEa,KAAKvB,QAAQuB,GAAG;QAAIpB;IAAI;AAC/C"}
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/kevin/Dev/OpenSource/node-version/node-version-utils/src/types.ts"],"sourcesContent":["import type cp from 'child_process';\n\nexport type SpawnOptions = cp.SpawnOptions;\nexport interface ProcessEnv extends NodeJS.ProcessEnv {\n npm_config_binroot: string;\n npm_config_root: string;\n npm_config_man: string;\n npm_config_prefix: string;\n npm_node_execpath: string;\n NODE: string;\n NODE_EXE?: string;\n}\n"],"names":[],"mappings":"AAGA,WAQC"}
@@ -0,0 +1,2 @@
1
+ export type * from './types';
2
+ export { default as spawnOptions } from './spawnOptions';
@@ -0,0 +1 @@
1
+ export default function startsWithFn(string: any): (key: any) => boolean;
@@ -1,2 +1,2 @@
1
- declare function _exports(installPath: any, options: any): any;
2
- export = _exports;
1
+ import type { SpawnOptions } from './types';
2
+ export default function spawnOptions(installPath: string, options?: object): SpawnOptions;
@@ -0,0 +1,11 @@
1
+ import type cp from 'child_process';
2
+ export type SpawnOptions = cp.SpawnOptions;
3
+ export interface ProcessEnv extends NodeJS.ProcessEnv {
4
+ npm_config_binroot: string;
5
+ npm_config_root: string;
6
+ npm_config_man: string;
7
+ npm_config_prefix: string;
8
+ npm_node_execpath: string;
9
+ NODE: string;
10
+ NODE_EXE?: string;
11
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-version-utils",
3
- "version": "1.1.2",
3
+ "version": "1.2.0",
4
4
  "description": "Utilities for running commands on a specific version of node by installed path",
5
5
  "keywords": [
6
6
  "node",
@@ -19,7 +19,17 @@
19
19
  "url": "git@github.com:kmalakoff/node-version-utils.git"
20
20
  },
21
21
  "license": "MIT",
22
- "main": "dist/cjs/index.js",
22
+ "type": "module",
23
+ "exports": {
24
+ ".": {
25
+ "import": "./dist/esm/index.mjs",
26
+ "require": "./dist/cjs/index.cjs",
27
+ "types": "./dist/types/index.d.ts"
28
+ },
29
+ "./*": "./*"
30
+ },
31
+ "main": "dist/cjs/index.cjs",
32
+ "module": "dist/esm/index.mjs",
23
33
  "types": "dist/types/index.d.ts",
24
34
  "files": [
25
35
  "dist"
@@ -33,10 +43,9 @@
33
43
  "version": "tsds version"
34
44
  },
35
45
  "dependencies": {
36
- "cross-spawn-cb": "^1.4.0",
46
+ "cross-spawn-cb": "^1.5.8",
37
47
  "env-path-key": "^1.0.0",
38
- "path-string-prepend": "^1.0.0",
39
- "pinkie-promise": "^2.0.1"
48
+ "path-string-prepend": "^1.0.0"
40
49
  },
41
50
  "devDependencies": {
42
51
  "@biomejs/biome": "^1.9.4",
@@ -45,19 +54,14 @@
45
54
  "cr": "^0.1.0",
46
55
  "depcheck": "^1.4.7",
47
56
  "is-version": "^0.2.1",
48
- "node-install-release": "^1.5.1",
49
- "node-resolve-versions": "^1.0.2",
50
- "rimraf2": "^2.8.2",
51
- "ts-dev-stack": "^1.6.3"
57
+ "node-install-release": "^1.6.3",
58
+ "node-resolve-versions": "^1.0.5",
59
+ "rimraf2": "^2.8.2"
52
60
  },
53
- "packageManager": "npm@11.0.0+sha512.11dff29565d2297c74e7c594a9762581bde969f0aa5cbe6f5b3644bf008a16c065ece61094d9ffbb81125be38df8e1ba43eb8244b3d30c61eb797e9a2440e3ec",
54
61
  "engines": {
55
62
  "node": ">=0.8"
56
63
  },
57
64
  "tsds": {
58
- "source": "src/index.mjs",
59
- "targets": [
60
- "cjs"
61
- ]
65
+ "source": "src/index.ts"
62
66
  }
63
67
  }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/@node-version/node-version-utils/src/index.mjs"],"sourcesContent":["export { default as spawn } from './spawn';\nexport { default as spawnSync } from './spawnSync';\nexport { default as spawnOptions } from './spawnOptions';\n"],"names":["spawn","spawnOptions","spawnSync"],"mappings":";;;;;;;;;;;IAAoBA,KAAK;eAALA,cAAK;;IAELC,YAAY;eAAZA,qBAAY;;IADZC,SAAS;eAATA,kBAAS;;;4DADI;gEACI;mEACG"}
@@ -1 +0,0 @@
1
- {"type":"commonjs"}
package/dist/cjs/spawn.js DELETED
@@ -1,20 +0,0 @@
1
- // biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>
2
- "use strict";
3
- var Promise = require('pinkie-promise');
4
- var crossSpawn = require('cross-spawn-cb');
5
- var spawnOptions = require('./spawnOptions');
6
- module.exports = function spawn(installPath, command, args, options, callback) {
7
- if (typeof options === 'function') {
8
- callback = options;
9
- options = {};
10
- }
11
- if (typeof callback === 'function') {
12
- return crossSpawn(command, args, spawnOptions(installPath, options || {}), callback);
13
- }
14
- return new Promise(function(resolve, reject) {
15
- spawn(installPath, command, args, options, function spawnCallback(err, res) {
16
- err ? reject(err) : resolve(res);
17
- });
18
- });
19
- };
20
- /* 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 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/@node-version/node-version-utils/src/spawn.js"],"sourcesContent":["// biome-ignore lint/suspicious/noShadowRestrictedNames: <explanation>\nconst Promise = require('pinkie-promise');\nconst crossSpawn = require('cross-spawn-cb');\nconst spawnOptions = require('./spawnOptions');\n\nmodule.exports = function spawn(installPath, command, args, options, callback) {\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (typeof callback === 'function') {\n return crossSpawn(command, args, spawnOptions(installPath, options || {}), callback);\n }\n return new Promise((resolve, reject) => {\n spawn(installPath, command, args, options, function spawnCallback(err, res) {\n err ? reject(err) : resolve(res);\n });\n });\n};\n"],"names":["Promise","require","crossSpawn","spawnOptions","module","exports","spawn","installPath","command","args","options","callback","resolve","reject","spawnCallback","err","res"],"mappings":"AAAA,sEAAsE;;AACtE,IAAMA,UAAUC,QAAQ;AACxB,IAAMC,aAAaD,QAAQ;AAC3B,IAAME,eAAeF,QAAQ;AAE7BG,OAAOC,OAAO,GAAG,SAASC,MAAMC,WAAW,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAO,EAAEC,QAAQ;IAC3E,IAAI,OAAOD,YAAY,YAAY;QACjCC,WAAWD;QACXA,UAAU,CAAC;IACb;IAEA,IAAI,OAAOC,aAAa,YAAY;QAClC,OAAOT,WAAWM,SAASC,MAAMN,aAAaI,aAAaG,WAAW,CAAC,IAAIC;IAC7E;IACA,OAAO,IAAIX,QAAQ,SAACY,SAASC;QAC3BP,MAAMC,aAAaC,SAASC,MAAMC,SAAS,SAASI,cAAcC,GAAG,EAAEC,GAAG;YACxED,MAAMF,OAAOE,OAAOH,QAAQI;QAC9B;IACF;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/@node-version/node-version-utils/src/spawnOptions.js"],"sourcesContent":["const path = require('path');\nconst prepend = require('path-string-prepend');\nconst pathKey = require('env-path-key');\nconst startsCaseInsensitiveFn = require('./startsCaseInsensitiveFn');\n\nconst isWindows = process.platform === 'win32' || /^(msys|cygwin)$/.test(process.env.OSTYPE);\nconst NODE = isWindows ? 'node.exe' : 'node';\n\nconst startsNPM = startsCaseInsensitiveFn('npm_');\nconst startsPath = startsCaseInsensitiveFn('path');\n\nmodule.exports = function spawnOptions(installPath, options) {\n const PATH_KEY = pathKey();\n const processEnv = process.env;\n const env = {};\n env.npm_config_binroot = isWindows ? installPath : path.join(installPath, 'bin');\n env.npm_config_root = isWindows ? installPath : path.join(installPath, 'lib');\n env.npm_config_man = isWindows ? installPath : path.join(installPath, 'man');\n env.npm_config_prefix = installPath;\n env.npm_node_execpath = path.join(env.npm_config_binroot, NODE);\n\n // copy the environment not for npm and skip case-insesitive additional paths\n for (const key in processEnv) {\n // skip npm_ variants and non-matching path\n if (key.length > 4 && startsNPM(key)) continue;\n if (key.length === 4 && startsPath(key) && key !== PATH_KEY) continue;\n env[key] = processEnv[key];\n }\n\n // override node\n if (env.NODE !== undefined) env.NODE = env.npm_node_execpath;\n if (env.NODE_EXE !== undefined) env.NODE_EXE = env.npm_node_execpath;\n\n // put the path to node and npm at the front and remove nvs\n env[PATH_KEY] = prepend(env[PATH_KEY] || '', env.npm_config_binroot);\n return { ...options, cwd: process.cwd(), env };\n};\n"],"names":["path","require","prepend","pathKey","startsCaseInsensitiveFn","isWindows","process","platform","test","env","OSTYPE","NODE","startsNPM","startsPath","module","exports","spawnOptions","installPath","options","PATH_KEY","processEnv","npm_config_binroot","join","npm_config_root","npm_config_man","npm_config_prefix","npm_node_execpath","key","length","undefined","NODE_EXE","cwd"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,OAAOC,QAAQ;AACrB,IAAMC,UAAUD,QAAQ;AACxB,IAAME,UAAUF,QAAQ;AACxB,IAAMG,0BAA0BH,QAAQ;AAExC,IAAMI,YAAYC,QAAQC,QAAQ,KAAK,WAAW,kBAAkBC,IAAI,CAACF,QAAQG,GAAG,CAACC,MAAM;AAC3F,IAAMC,OAAON,YAAY,aAAa;AAEtC,IAAMO,YAAYR,wBAAwB;AAC1C,IAAMS,aAAaT,wBAAwB;AAE3CU,OAAOC,OAAO,GAAG,SAASC,aAAaC,WAAW,EAAEC,OAAO;IACzD,IAAMC,WAAWhB;IACjB,IAAMiB,aAAad,QAAQG,GAAG;IAC9B,IAAMA,MAAM,CAAC;IACbA,IAAIY,kBAAkB,GAAGhB,YAAYY,cAAcjB,KAAKsB,IAAI,CAACL,aAAa;IAC1ER,IAAIc,eAAe,GAAGlB,YAAYY,cAAcjB,KAAKsB,IAAI,CAACL,aAAa;IACvER,IAAIe,cAAc,GAAGnB,YAAYY,cAAcjB,KAAKsB,IAAI,CAACL,aAAa;IACtER,IAAIgB,iBAAiB,GAAGR;IACxBR,IAAIiB,iBAAiB,GAAG1B,KAAKsB,IAAI,CAACb,IAAIY,kBAAkB,EAAEV;IAE1D,6EAA6E;IAC7E,IAAK,IAAMgB,OAAOP,WAAY;QAC5B,2CAA2C;QAC3C,IAAIO,IAAIC,MAAM,GAAG,KAAKhB,UAAUe,MAAM;QACtC,IAAIA,IAAIC,MAAM,KAAK,KAAKf,WAAWc,QAAQA,QAAQR,UAAU;QAC7DV,GAAG,CAACkB,IAAI,GAAGP,UAAU,CAACO,IAAI;IAC5B;IAEA,gBAAgB;IAChB,IAAIlB,IAAIE,IAAI,KAAKkB,WAAWpB,IAAIE,IAAI,GAAGF,IAAIiB,iBAAiB;IAC5D,IAAIjB,IAAIqB,QAAQ,KAAKD,WAAWpB,IAAIqB,QAAQ,GAAGrB,IAAIiB,iBAAiB;IAEpE,2DAA2D;IAC3DjB,GAAG,CAACU,SAAS,GAAGjB,QAAQO,GAAG,CAACU,SAAS,IAAI,IAAIV,IAAIY,kBAAkB;IACnE,OAAO,wCAAKH;QAASa,KAAKzB,QAAQyB,GAAG;QAAItB,KAAAA;;AAC3C"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/@node-version/node-version-utils/src/spawnSync.js"],"sourcesContent":["const crossSpawn = require('cross-spawn-cb');\nconst spawnOptions = require('./spawnOptions');\n\nmodule.exports = function spawnSync(installPath, command, args, options) {\n return crossSpawn.sync(command, args, spawnOptions(installPath, options));\n};\n"],"names":["crossSpawn","require","spawnOptions","module","exports","spawnSync","installPath","command","args","options","sync"],"mappings":";AAAA,IAAMA,aAAaC,QAAQ;AAC3B,IAAMC,eAAeD,QAAQ;AAE7BE,OAAOC,OAAO,GAAG,SAASC,UAAUC,WAAW,EAAEC,OAAO,EAAEC,IAAI,EAAEC,OAAO;IACrE,OAAOT,WAAWU,IAAI,CAACH,SAASC,MAAMN,aAAaI,aAAaG;AAClE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/kevin/Dev/OpenSource/@node-version/node-version-utils/src/startsCaseInsensitiveFn.js"],"sourcesContent":["module.exports = function startsCaseInsensitiveFn(string) {\n const lower = string.toLowerCase();\n const upper = string.toUpperCase();\n return function startsCaseInsensitive(key) {\n if (key.length < string.length) return false;\n for (let i = 0; i < string.length; i++) {\n if (key[i] !== lower[i] && key[i] !== upper[i]) return false;\n }\n return true;\n };\n};\n"],"names":["module","exports","startsCaseInsensitiveFn","string","lower","toLowerCase","upper","toUpperCase","startsCaseInsensitive","key","length","i"],"mappings":";AAAAA,OAAOC,OAAO,GAAG,SAASC,wBAAwBC,MAAM;IACtD,IAAMC,QAAQD,OAAOE,WAAW;IAChC,IAAMC,QAAQH,OAAOI,WAAW;IAChC,OAAO,SAASC,sBAAsBC,GAAG;QACvC,IAAIA,IAAIC,MAAM,GAAGP,OAAOO,MAAM,EAAE,OAAO;QACvC,IAAK,IAAIC,IAAI,GAAGA,IAAIR,OAAOO,MAAM,EAAEC,IAAK;YACtC,IAAIF,GAAG,CAACE,EAAE,KAAKP,KAAK,CAACO,EAAE,IAAIF,GAAG,CAACE,EAAE,KAAKL,KAAK,CAACK,EAAE,EAAE,OAAO;QACzD;QACA,OAAO;IACT;AACF"}
@@ -1,3 +0,0 @@
1
- export { default as spawn } from "./spawn";
2
- export { default as spawnSync } from "./spawnSync";
3
- export { default as spawnOptions } from "./spawnOptions";
@@ -1,2 +0,0 @@
1
- declare function _exports(installPath: any, command: any, args: any, options: any, callback: any): any;
2
- export = _exports;
@@ -1,2 +0,0 @@
1
- declare function _exports(installPath: any, command: any, args: any, options: any): any;
2
- export = _exports;
@@ -1,2 +0,0 @@
1
- declare function _exports(string: any): (key: any) => boolean;
2
- export = _exports;