@pnpm/exe 11.0.0-beta.0 → 11.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/dist/node_modules/@gar/promise-retry/lib/index.js +28 -0
  2. package/dist/node_modules/@gar/promise-retry/package.json +48 -0
  3. package/dist/node_modules/@npmcli/agent/package.json +7 -7
  4. package/dist/node_modules/@npmcli/fs/package.json +4 -4
  5. package/dist/node_modules/abbrev/package.json +11 -15
  6. package/dist/node_modules/cacache/package.json +10 -11
  7. package/dist/node_modules/glob/dist/commonjs/glob.js +2 -1
  8. package/dist/node_modules/glob/dist/commonjs/index.min.js +4 -0
  9. package/dist/node_modules/glob/dist/commonjs/pattern.js +4 -0
  10. package/dist/node_modules/glob/dist/esm/glob.js +2 -1
  11. package/dist/node_modules/glob/dist/esm/index.min.js +4 -0
  12. package/dist/node_modules/glob/dist/esm/pattern.js +4 -0
  13. package/dist/node_modules/glob/package.json +38 -37
  14. package/dist/node_modules/graceful-fs/graceful-fs.js +1 -1
  15. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +460 -525
  16. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +179 -182
  17. package/dist/node_modules/iconv-lite/encodings/index.js +15 -15
  18. package/dist/node_modules/iconv-lite/encodings/internal.js +168 -148
  19. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +55 -52
  20. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +174 -175
  21. package/dist/node_modules/iconv-lite/encodings/utf16.js +121 -131
  22. package/dist/node_modules/iconv-lite/encodings/utf32.js +226 -238
  23. package/dist/node_modules/iconv-lite/encodings/utf7.js +208 -215
  24. package/dist/node_modules/iconv-lite/lib/bom-handling.js +30 -34
  25. package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  26. package/dist/node_modules/iconv-lite/lib/index.js +125 -123
  27. package/dist/node_modules/iconv-lite/lib/streams.js +92 -96
  28. package/dist/node_modules/iconv-lite/package.json +34 -8
  29. package/dist/node_modules/isexe/package.json +65 -18
  30. package/dist/node_modules/lru-cache/dist/commonjs/index.js +134 -85
  31. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
  32. package/dist/node_modules/lru-cache/dist/esm/index.js +134 -85
  33. package/dist/node_modules/lru-cache/dist/esm/index.min.js +1 -1
  34. package/dist/node_modules/lru-cache/package.json +18 -41
  35. package/dist/node_modules/make-fetch-happen/lib/remote.js +1 -1
  36. package/dist/node_modules/make-fetch-happen/package.json +10 -10
  37. package/dist/node_modules/minipass-fetch/lib/body.js +25 -15
  38. package/dist/node_modules/minipass-fetch/package.json +7 -7
  39. package/dist/node_modules/minipass-sized/dist/commonjs/index.js +69 -0
  40. package/dist/node_modules/minipass-sized/dist/esm/index.js +64 -0
  41. package/dist/node_modules/minipass-sized/package.json +39 -9
  42. package/dist/node_modules/node-gyp/.release-please-manifest.json +1 -1
  43. package/dist/node_modules/node-gyp/bin/node-gyp.js +7 -0
  44. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +1 -1
  45. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +3 -3
  46. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +26 -1
  47. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +1 -1
  48. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +3 -4
  49. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +1 -1
  50. package/dist/node_modules/node-gyp/gyp/pyproject.toml +1 -1
  51. package/dist/node_modules/node-gyp/lib/build.js +2 -2
  52. package/dist/node_modules/node-gyp/lib/find-python.js +2 -8
  53. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +11 -5
  54. package/dist/node_modules/node-gyp/lib/install.js +1 -1
  55. package/dist/node_modules/node-gyp/lib/process-release.js +3 -3
  56. package/dist/node_modules/node-gyp/package.json +13 -13
  57. package/dist/node_modules/nopt/package.json +5 -5
  58. package/dist/node_modules/proc-log/lib/index.js +10 -5
  59. package/dist/node_modules/proc-log/package.json +5 -5
  60. package/dist/node_modules/retry/lib/retry.js +2 -2
  61. package/dist/node_modules/retry/lib/retry_operation.js +10 -6
  62. package/dist/node_modules/retry/package.json +6 -2
  63. package/dist/node_modules/ssri/lib/index.js +33 -63
  64. package/dist/node_modules/ssri/package.json +17 -17
  65. package/dist/node_modules/unique-filename/package.json +5 -5
  66. package/dist/node_modules/unique-slug/package.json +4 -4
  67. package/dist/node_modules/which/package.json +29 -20
  68. package/dist/pnpm.mjs +63969 -54688
  69. package/dist/worker.js +601 -2162
  70. package/package.json +8 -8
  71. package/dist/node_modules/@isaacs/cliui/dist/commonjs/ansi-regex/index.js +0 -16
  72. package/dist/node_modules/@isaacs/cliui/dist/commonjs/ansi-styles/index.js +0 -170
  73. package/dist/node_modules/@isaacs/cliui/dist/commonjs/eastasianwidth/index.js +0 -307
  74. package/dist/node_modules/@isaacs/cliui/dist/commonjs/emoji-regex/index.js +0 -7
  75. package/dist/node_modules/@isaacs/cliui/dist/commonjs/index.js +0 -322
  76. package/dist/node_modules/@isaacs/cliui/dist/commonjs/index.min.js +0 -12
  77. package/dist/node_modules/@isaacs/cliui/dist/commonjs/string-width/index.js +0 -49
  78. package/dist/node_modules/@isaacs/cliui/dist/commonjs/strip-ansi/index.js +0 -8
  79. package/dist/node_modules/@isaacs/cliui/dist/commonjs/wrap-ansi/index.js +0 -176
  80. package/dist/node_modules/@isaacs/cliui/dist/esm/ansi-regex/index.js +0 -12
  81. package/dist/node_modules/@isaacs/cliui/dist/esm/ansi-styles/index.js +0 -167
  82. package/dist/node_modules/@isaacs/cliui/dist/esm/eastasianwidth/index.js +0 -299
  83. package/dist/node_modules/@isaacs/cliui/dist/esm/emoji-regex/index.js +0 -3
  84. package/dist/node_modules/@isaacs/cliui/dist/esm/index.js +0 -317
  85. package/dist/node_modules/@isaacs/cliui/dist/esm/index.min.js +0 -12
  86. package/dist/node_modules/@isaacs/cliui/dist/esm/string-width/index.js +0 -46
  87. package/dist/node_modules/@isaacs/cliui/dist/esm/strip-ansi/index.js +0 -4
  88. package/dist/node_modules/@isaacs/cliui/dist/esm/wrap-ansi/index.js +0 -172
  89. package/dist/node_modules/@isaacs/cliui/package.json +0 -163
  90. package/dist/node_modules/cross-spawn/LICENSE +0 -21
  91. package/dist/node_modules/cross-spawn/index.js +0 -39
  92. package/dist/node_modules/cross-spawn/lib/enoent.js +0 -59
  93. package/dist/node_modules/cross-spawn/lib/parse.js +0 -91
  94. package/dist/node_modules/cross-spawn/lib/util/escape.js +0 -47
  95. package/dist/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  96. package/dist/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  97. package/dist/node_modules/cross-spawn/package.json +0 -73
  98. package/dist/node_modules/encoding/.prettierrc.js +0 -8
  99. package/dist/node_modules/encoding/LICENSE +0 -16
  100. package/dist/node_modules/encoding/lib/encoding.js +0 -83
  101. package/dist/node_modules/encoding/package.json +0 -18
  102. package/dist/node_modules/err-code/.eslintrc.json +0 -7
  103. package/dist/node_modules/err-code/bower.json +0 -30
  104. package/dist/node_modules/err-code/index.js +0 -47
  105. package/dist/node_modules/err-code/index.umd.js +0 -51
  106. package/dist/node_modules/err-code/package.json +0 -34
  107. package/dist/node_modules/foreground-child/LICENSE +0 -15
  108. package/dist/node_modules/foreground-child/dist/commonjs/all-signals.js +0 -58
  109. package/dist/node_modules/foreground-child/dist/commonjs/index.js +0 -123
  110. package/dist/node_modules/foreground-child/dist/commonjs/proxy-signals.js +0 -38
  111. package/dist/node_modules/foreground-child/dist/commonjs/watchdog.js +0 -50
  112. package/dist/node_modules/foreground-child/dist/esm/all-signals.js +0 -52
  113. package/dist/node_modules/foreground-child/dist/esm/index.js +0 -115
  114. package/dist/node_modules/foreground-child/dist/esm/proxy-signals.js +0 -34
  115. package/dist/node_modules/foreground-child/dist/esm/watchdog.js +0 -46
  116. package/dist/node_modules/foreground-child/package.json +0 -106
  117. package/dist/node_modules/glob/dist/esm/bin.d.mts +0 -3
  118. package/dist/node_modules/glob/dist/esm/bin.mjs +0 -346
  119. package/dist/node_modules/iconv-lite/.github/dependabot.yml +0 -11
  120. package/dist/node_modules/iconv-lite/.idea/codeStyles/Project.xml +0 -47
  121. package/dist/node_modules/iconv-lite/.idea/codeStyles/codeStyleConfig.xml +0 -5
  122. package/dist/node_modules/iconv-lite/.idea/iconv-lite.iml +0 -12
  123. package/dist/node_modules/iconv-lite/.idea/inspectionProfiles/Project_Default.xml +0 -6
  124. package/dist/node_modules/iconv-lite/.idea/modules.xml +0 -8
  125. package/dist/node_modules/iconv-lite/.idea/vcs.xml +0 -6
  126. package/dist/node_modules/isexe/LICENSE +0 -15
  127. package/dist/node_modules/isexe/index.js +0 -57
  128. package/dist/node_modules/isexe/mode.js +0 -41
  129. package/dist/node_modules/isexe/windows.js +0 -42
  130. package/dist/node_modules/jackspeak/dist/commonjs/index.js +0 -944
  131. package/dist/node_modules/jackspeak/dist/commonjs/index.min.js +0 -33
  132. package/dist/node_modules/jackspeak/dist/commonjs/package.json +0 -3
  133. package/dist/node_modules/jackspeak/dist/esm/index.js +0 -936
  134. package/dist/node_modules/jackspeak/dist/esm/index.min.js +0 -33
  135. package/dist/node_modules/jackspeak/dist/esm/package.json +0 -3
  136. package/dist/node_modules/jackspeak/package.json +0 -115
  137. package/dist/node_modules/lru-cache/LICENSE +0 -15
  138. package/dist/node_modules/minipass-sized/index.js +0 -67
  139. package/dist/node_modules/minipass-sized/node_modules/minipass/LICENSE +0 -15
  140. package/dist/node_modules/minipass-sized/node_modules/minipass/index.js +0 -649
  141. package/dist/node_modules/minipass-sized/node_modules/minipass/package.json +0 -56
  142. package/dist/node_modules/minipass-sized/package-lock.json +0 -3464
  143. package/dist/node_modules/node-gyp/node_modules/isexe/dist/commonjs/package.json +0 -3
  144. package/dist/node_modules/node-gyp/node_modules/isexe/dist/esm/package.json +0 -3
  145. package/dist/node_modules/node-gyp/node_modules/isexe/package.json +0 -78
  146. package/dist/node_modules/node-gyp/node_modules/which/LICENSE +0 -15
  147. package/dist/node_modules/node-gyp/node_modules/which/package.json +0 -52
  148. package/dist/node_modules/package-json-from-dist/dist/commonjs/index.js +0 -134
  149. package/dist/node_modules/package-json-from-dist/dist/commonjs/package.json +0 -3
  150. package/dist/node_modules/package-json-from-dist/dist/esm/index.js +0 -129
  151. package/dist/node_modules/package-json-from-dist/dist/esm/package.json +0 -3
  152. package/dist/node_modules/package-json-from-dist/package.json +0 -68
  153. package/dist/node_modules/path-key/index.js +0 -16
  154. package/dist/node_modules/path-key/license +0 -9
  155. package/dist/node_modules/path-key/package.json +0 -39
  156. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.js +0 -1589
  157. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
  158. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/commonjs/package.json +0 -3
  159. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.js +0 -1585
  160. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/esm/index.min.js +0 -2
  161. package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/esm/package.json +0 -3
  162. package/dist/node_modules/path-scurry/node_modules/lru-cache/package.json +0 -101
  163. package/dist/node_modules/promise-retry/index.js +0 -52
  164. package/dist/node_modules/promise-retry/package.json +0 -37
  165. package/dist/node_modules/retry/equation.gif +0 -0
  166. package/dist/node_modules/shebang-command/index.js +0 -19
  167. package/dist/node_modules/shebang-command/license +0 -9
  168. package/dist/node_modules/shebang-command/package.json +0 -34
  169. package/dist/node_modules/shebang-regex/index.js +0 -2
  170. package/dist/node_modules/shebang-regex/license +0 -9
  171. package/dist/node_modules/shebang-regex/package.json +0 -35
  172. package/dist/node_modules/signal-exit/LICENSE.txt +0 -16
  173. package/dist/node_modules/signal-exit/dist/cjs/browser.js +0 -10
  174. package/dist/node_modules/signal-exit/dist/cjs/index.js +0 -279
  175. package/dist/node_modules/signal-exit/dist/cjs/package.json +0 -3
  176. package/dist/node_modules/signal-exit/dist/cjs/signals.js +0 -42
  177. package/dist/node_modules/signal-exit/dist/mjs/browser.js +0 -4
  178. package/dist/node_modules/signal-exit/dist/mjs/index.js +0 -275
  179. package/dist/node_modules/signal-exit/dist/mjs/package.json +0 -3
  180. package/dist/node_modules/signal-exit/dist/mjs/signals.js +0 -39
  181. package/dist/node_modules/signal-exit/package.json +0 -106
  182. package/dist/node_modules/which/bin/node-which +0 -52
  183. package/dist/node_modules/which/which.js +0 -125
  184. /package/dist/node_modules/{promise-retry → @gar/promise-retry}/LICENSE +0 -0
  185. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/index.js +0 -0
  186. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/index.min.js +0 -0
  187. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/options.js +0 -0
  188. /package/dist/node_modules/{@isaacs/cliui → isexe}/dist/commonjs/package.json +0 -0
  189. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/posix.js +0 -0
  190. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/commonjs/win32.js +0 -0
  191. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/index.js +0 -0
  192. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/index.min.js +0 -0
  193. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/options.js +0 -0
  194. /package/dist/node_modules/{@isaacs/cliui → isexe}/dist/esm/package.json +0 -0
  195. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/posix.js +0 -0
  196. /package/dist/node_modules/{node-gyp/node_modules/isexe → isexe}/dist/esm/win32.js +0 -0
  197. /package/dist/node_modules/{foreground-child → minipass-sized}/dist/commonjs/package.json +0 -0
  198. /package/dist/node_modules/{foreground-child → minipass-sized}/dist/esm/package.json +0 -0
  199. /package/dist/node_modules/{node-gyp/node_modules/which → which}/bin/which.js +0 -0
  200. /package/dist/node_modules/{node-gyp/node_modules/which → which}/lib/index.js +0 -0
@@ -270,6 +270,18 @@ def _CreateVersion(name, path, sdk_based=False):
270
270
  if path:
271
271
  path = os.path.normpath(path)
272
272
  versions = {
273
+ "2026": VisualStudioVersion(
274
+ "2026",
275
+ "Visual Studio 2026",
276
+ solution_version="12.00",
277
+ project_version="18.0",
278
+ flat_sln=False,
279
+ uses_vcxproj=True,
280
+ path=path,
281
+ sdk_based=sdk_based,
282
+ default_toolset="v145",
283
+ compatible_sdks=["v8.1", "v10.0"],
284
+ ),
273
285
  "2022": VisualStudioVersion(
274
286
  "2022",
275
287
  "Visual Studio 2022",
@@ -462,6 +474,7 @@ def _DetectVisualStudioVersions(versions_to_check, force_express):
462
474
  "15.0": "2017",
463
475
  "16.0": "2019",
464
476
  "17.0": "2022",
477
+ "18.0": "2026",
465
478
  }
466
479
  versions = []
467
480
  for version in versions_to_check:
@@ -537,7 +550,18 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True):
537
550
  if version == "auto":
538
551
  version = os.environ.get("GYP_MSVS_VERSION", "auto")
539
552
  version_map = {
540
- "auto": ("17.0", "16.0", "15.0", "14.0", "12.0", "10.0", "9.0", "8.0", "11.0"),
553
+ "auto": (
554
+ "18.0",
555
+ "17.0",
556
+ "16.0",
557
+ "15.0",
558
+ "14.0",
559
+ "12.0",
560
+ "10.0",
561
+ "9.0",
562
+ "8.0",
563
+ "11.0",
564
+ ),
541
565
  "2005": ("8.0",),
542
566
  "2005e": ("8.0",),
543
567
  "2008": ("9.0",),
@@ -552,6 +576,7 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True):
552
576
  "2017": ("15.0",),
553
577
  "2019": ("16.0",),
554
578
  "2022": ("17.0",),
579
+ "2026": ("18.0",),
555
580
  }
556
581
  if override_path := os.environ.get("GYP_MSVS_OVERRIDE_PATH"):
557
582
  msvs_version = os.environ.get("GYP_MSVS_VERSION")
@@ -2169,7 +2169,7 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD
2169
2169
  # - The multi-output rule will have an do-nothing recipe.
2170
2170
 
2171
2171
  # Hash the target name to avoid generating overlong filenames.
2172
- cmddigest = hashlib.sha1(
2172
+ cmddigest = hashlib.sha256(
2173
2173
  (command or self.target).encode("utf-8")
2174
2174
  ).hexdigest()
2175
2175
  intermediate = "%s.intermediate" % cmddigest
@@ -809,9 +809,8 @@ class NinjaWriter:
809
809
  outputs = [self.GypPathToNinja(o, env) for o in outputs]
810
810
  if self.flavor == "win":
811
811
  # WriteNewNinjaRule uses unique_name to create a rsp file on win.
812
- extra_bindings.append(
813
- ("unique_name", hashlib.md5(outputs[0]).hexdigest())
814
- )
812
+ unique_name = hashlib.sha256(outputs[0].encode("utf-8")).hexdigest()
813
+ extra_bindings.append(("unique_name", unique_name))
815
814
 
816
815
  self.ninja.build(
817
816
  outputs,
@@ -2803,7 +2802,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params, config_name
2803
2802
  build_file, name, toolset
2804
2803
  )
2805
2804
  qualified_target_for_hash = qualified_target_for_hash.encode("utf-8")
2806
- hash_for_rules = hashlib.md5(qualified_target_for_hash).hexdigest()
2805
+ hash_for_rules = hashlib.sha256(qualified_target_for_hash).hexdigest()
2807
2806
 
2808
2807
  base_path = os.path.dirname(build_file)
2809
2808
  obj = "obj"
@@ -429,7 +429,7 @@ class XCObject:
429
429
  hash.update(data)
430
430
 
431
431
  if seed_hash is None:
432
- seed_hash = hashlib.sha1()
432
+ seed_hash = hashlib.sha256()
433
433
 
434
434
  hash = seed_hash.copy()
435
435
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "gyp-next"
7
- version = "0.20.5"
7
+ version = "0.21.1"
8
8
  authors = [
9
9
  { name="Node.js contributors", email="ryzokuken@disroot.org" },
10
10
  ]
@@ -163,7 +163,7 @@ async function build (gyp, argv) {
163
163
  if (!isNaN(j) && j > 0) {
164
164
  argv.push('/m:' + j)
165
165
  } else if (jobs.toUpperCase() === 'MAX') {
166
- argv.push('/m:' + require('os').cpus().length)
166
+ argv.push('/m:' + require('os').availableParallelism())
167
167
  }
168
168
  }
169
169
  } else {
@@ -178,7 +178,7 @@ async function build (gyp, argv) {
178
178
  argv.push(j)
179
179
  } else if (jobs.toUpperCase() === 'MAX') {
180
180
  argv.push('--jobs')
181
- argv.push(require('os').cpus().length)
181
+ argv.push(require('os').availableParallelism())
182
182
  }
183
183
  }
184
184
  }
@@ -86,14 +86,10 @@ class PythonFinder {
86
86
  {
87
87
  before: () => {
88
88
  if (!this.configPython) {
89
- this.addLog(
90
- 'Python is not set from command line or npm configuration')
89
+ this.addLog('--python was not set on the command line')
91
90
  return SKIP
92
91
  }
93
- this.addLog('checking Python explicitly set from command line or ' +
94
- 'npm configuration')
95
- this.addLog('- "--python=" or "npm config get python" is ' +
96
- `"${this.configPython}"`)
92
+ this.addLog(`--python=${this.configPython} was set on the command line`)
97
93
  },
98
94
  check: () => this.checkCommand(this.configPython)
99
95
  },
@@ -295,8 +291,6 @@ class PythonFinder {
295
291
  `- Use the switch --python="${pathExample}"`,
296
292
  ' (accepted by both node-gyp and npm)',
297
293
  '- Set the environment variable PYTHON',
298
- '- Set the npm configuration variable python:',
299
- ` npm config set python "${pathExample}"`,
300
294
  'For more information consult the documentation at:',
301
295
  'https://github.com/nodejs/node-gyp#installation',
302
296
  '**********************************************************'
@@ -30,7 +30,7 @@ class VisualStudioFinder {
30
30
  this.configVersionYear = null
31
31
  this.configPath = null
32
32
  if (this.configMsvsVersion) {
33
- this.addLog('msvs_version was set from command line or npm config')
33
+ this.addLog(`--msvs_version=${this.configMsvsVersion} was set on the command line`)
34
34
  if (this.configMsvsVersion.match(/^\d{4}$/)) {
35
35
  this.configVersionYear = parseInt(this.configMsvsVersion, 10)
36
36
  this.addLog(
@@ -41,7 +41,7 @@ class VisualStudioFinder {
41
41
  `- looking for Visual Studio installed in "${this.configPath}"`)
42
42
  }
43
43
  } else {
44
- this.addLog('msvs_version not set from command line or npm config')
44
+ this.addLog('--msvs_version was not set on the command line')
45
45
  }
46
46
 
47
47
  if (process.env.VCINSTALLDIR) {
@@ -119,7 +119,7 @@ class VisualStudioFinder {
119
119
  }
120
120
 
121
121
  async findVisualStudio2019OrNewerFromSpecifiedLocation () {
122
- return this.findVSFromSpecifiedLocation([2019, 2022])
122
+ return this.findVSFromSpecifiedLocation([2019, 2022, 2026])
123
123
  }
124
124
 
125
125
  async findVisualStudio2017FromSpecifiedLocation () {
@@ -162,7 +162,7 @@ class VisualStudioFinder {
162
162
  }
163
163
 
164
164
  async findVisualStudio2019OrNewerUsingSetupModule () {
165
- return this.findNewVSUsingSetupModule([2019, 2022])
165
+ return this.findNewVSUsingSetupModule([2019, 2022, 2026])
166
166
  }
167
167
 
168
168
  async findVisualStudio2017UsingSetupModule () {
@@ -223,7 +223,7 @@ class VisualStudioFinder {
223
223
  // Invoke the PowerShell script to get information about Visual Studio 2019
224
224
  // or newer installations
225
225
  async findVisualStudio2019OrNewer () {
226
- return this.findNewVS([2019, 2022])
226
+ return this.findNewVS([2019, 2022, 2026])
227
227
  }
228
228
 
229
229
  // Invoke the PowerShell script to get information about Visual Studio 2017
@@ -389,6 +389,10 @@ class VisualStudioFinder {
389
389
  ret.versionYear = 2022
390
390
  return ret
391
391
  }
392
+ if (ret.versionMajor === 18) {
393
+ ret.versionYear = 2026
394
+ return ret
395
+ }
392
396
  this.log.silly('- unsupported version:', ret.versionMajor)
393
397
  return {}
394
398
  }
@@ -456,6 +460,8 @@ class VisualStudioFinder {
456
460
  return 'v142'
457
461
  } else if (versionYear === 2022) {
458
462
  return 'v143'
463
+ } else if (versionYear === 2026) {
464
+ return 'v145'
459
465
  }
460
466
  this.log.silly('- invalid versionYear:', versionYear)
461
467
  return null
@@ -198,7 +198,7 @@ async function install (gyp, argv) {
198
198
  }
199
199
 
200
200
  // download the tarball and extract!
201
- // Ommited on Windows if only new node.lib is required
201
+ // Omitted on Windows if only new node.lib is required
202
202
 
203
203
  // there can be file errors from tar if parallel installs
204
204
  // are happening (not uncommon with multiple native modules) so
@@ -109,15 +109,15 @@ function processRelease (argv, gyp, defaultVersion, defaultRelease) {
109
109
  versionDir: (name !== 'node' ? name + '-' : '') + version,
110
110
  ia32: {
111
111
  libUrl: libUrl32,
112
- libPath: normalizePath(path.relative(url.parse(baseUrl).path, url.parse(libUrl32).path))
112
+ libPath: normalizePath(path.relative(new URL(baseUrl).pathname, new URL(libUrl32).pathname))
113
113
  },
114
114
  x64: {
115
115
  libUrl: libUrl64,
116
- libPath: normalizePath(path.relative(url.parse(baseUrl).path, url.parse(libUrl64).path))
116
+ libPath: normalizePath(path.relative(new URL(baseUrl).pathname, new URL(libUrl64).pathname))
117
117
  },
118
118
  arm64: {
119
119
  libUrl: libUrlArm64,
120
- libPath: normalizePath(path.relative(url.parse(baseUrl).path, url.parse(libUrlArm64).path))
120
+ libPath: normalizePath(path.relative(new URL(baseUrl).pathname, new URL(libUrlArm64).pathname))
121
121
  }
122
122
  }
123
123
  }
@@ -11,7 +11,7 @@
11
11
  "bindings",
12
12
  "gyp"
13
13
  ],
14
- "version": "11.5.0",
14
+ "version": "12.2.0",
15
15
  "installVersion": 11,
16
16
  "author": "Nathan Rajlich <nathan@tootallnate.net> (http://tootallnate.net)",
17
17
  "repository": {
@@ -25,28 +25,28 @@
25
25
  "env-paths": "^2.2.0",
26
26
  "exponential-backoff": "^3.1.1",
27
27
  "graceful-fs": "^4.2.6",
28
- "make-fetch-happen": "^14.0.3",
29
- "nopt": "^8.0.0",
30
- "proc-log": "^5.0.0",
28
+ "make-fetch-happen": "^15.0.0",
29
+ "nopt": "^9.0.0",
30
+ "proc-log": "^6.0.0",
31
31
  "semver": "^7.3.5",
32
- "tar": "^7.4.3",
32
+ "tar": "^7.5.4",
33
33
  "tinyglobby": "^0.2.12",
34
- "which": "^5.0.0"
34
+ "which": "^6.0.0"
35
35
  },
36
36
  "engines": {
37
- "node": "^18.17.0 || >=20.5.0"
37
+ "node": "^20.17.0 || >=22.9.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "bindings": "^1.5.0",
41
- "cross-env": "^7.0.3",
42
- "eslint": "^9.16.0",
43
- "mocha": "^11.0.1",
44
- "nan": "^2.14.2",
45
- "neostandard": "^0.11.9",
41
+ "cross-env": "^10.1.0",
42
+ "eslint": "^9.39.1",
43
+ "mocha": "^11.7.5",
44
+ "nan": "^2.23.1",
45
+ "neostandard": "^0.12.2",
46
46
  "require-inject": "^1.4.4"
47
47
  },
48
48
  "scripts": {
49
49
  "lint": "eslint \"*/*.js\" \"test/**/*.js\" \".github/**/*.js\"",
50
- "test": "cross-env NODE_GYP_NULL_LOGGER=true mocha --timeout 15000 test/test-download.js test/test-*"
50
+ "test": "cross-env NODE_GYP_NULL_LOGGER=true mocha --timeout 30000 test/test-download.js test/test-*"
51
51
  }
52
52
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nopt",
3
- "version": "8.1.0",
3
+ "version": "9.0.0",
4
4
  "description": "Option parsing for Node, supporting types, shorthands, etc. Used by npm.",
5
5
  "author": "GitHub Inc.",
6
6
  "main": "lib/nopt.js",
@@ -23,11 +23,11 @@
23
23
  },
24
24
  "license": "ISC",
25
25
  "dependencies": {
26
- "abbrev": "^3.0.0"
26
+ "abbrev": "^4.0.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@npmcli/eslint-config": "^5.0.0",
30
- "@npmcli/template-oss": "4.23.6",
30
+ "@npmcli/template-oss": "4.27.1",
31
31
  "tap": "^16.3.0"
32
32
  },
33
33
  "tap": {
@@ -41,12 +41,12 @@
41
41
  "lib/"
42
42
  ],
43
43
  "engines": {
44
- "node": "^18.17.0 || >=20.5.0"
44
+ "node": "^20.17.0 || >=22.9.0"
45
45
  },
46
46
  "templateOSS": {
47
47
  "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
48
48
  "windowsCI": false,
49
- "version": "4.23.6",
49
+ "version": "4.27.1",
50
50
  "publish": true
51
51
  }
52
52
  }
@@ -122,10 +122,15 @@ module.exports = {
122
122
  end: 'end',
123
123
  read: 'read',
124
124
  },
125
- start: function (fn) {
126
- process.emit('input', 'start')
125
+ start: function (...args) {
126
+ // Support callback for backwards compatibility and pass additional args to event
127
+ let fn
128
+ if (typeof args[0] === 'function') {
129
+ fn = args.shift()
130
+ }
131
+ process.emit('input', 'start', ...args)
127
132
  function end () {
128
- return process.emit('input', 'end')
133
+ return process.emit('input', 'end', ...args)
129
134
  }
130
135
  if (typeof fn === 'function') {
131
136
  const res = fn()
@@ -137,8 +142,8 @@ module.exports = {
137
142
  }
138
143
  return end
139
144
  },
140
- end: function () {
141
- return process.emit('input', 'end')
145
+ end: function (...args) {
146
+ return process.emit('input', 'end', ...args)
142
147
  },
143
148
  read: function (...args) {
144
149
  let resolve, reject
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proc-log",
3
- "version": "5.0.0",
3
+ "version": "6.1.0",
4
4
  "files": [
5
5
  "bin/",
6
6
  "lib/"
@@ -25,16 +25,16 @@
25
25
  "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
26
26
  },
27
27
  "devDependencies": {
28
- "@npmcli/eslint-config": "^5.0.0",
29
- "@npmcli/template-oss": "4.23.3",
28
+ "@npmcli/eslint-config": "^6.0.0",
29
+ "@npmcli/template-oss": "4.28.1",
30
30
  "tap": "^16.0.1"
31
31
  },
32
32
  "engines": {
33
- "node": "^18.17.0 || >=20.5.0"
33
+ "node": "^20.17.0 || >=22.9.0"
34
34
  },
35
35
  "templateOSS": {
36
36
  "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
37
- "version": "4.23.3",
37
+ "version": "4.28.1",
38
38
  "publish": true
39
39
  },
40
40
  "tap": {
@@ -3,7 +3,7 @@ var RetryOperation = require('./retry_operation');
3
3
  exports.operation = function(options) {
4
4
  var timeouts = exports.timeouts(options);
5
5
  return new RetryOperation(timeouts, {
6
- forever: options && options.forever,
6
+ forever: options && (options.forever || options.retries === Infinity),
7
7
  unref: options && options.unref,
8
8
  maxRetryTime: options && options.maxRetryTime
9
9
  });
@@ -51,7 +51,7 @@ exports.createTimeout = function(attempt, opts) {
51
51
  ? (Math.random() + 1)
52
52
  : 1;
53
53
 
54
- var timeout = Math.round(random * opts.minTimeout * Math.pow(opts.factor, attempt));
54
+ var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));
55
55
  timeout = Math.min(timeout, opts.maxTimeout);
56
56
 
57
57
  return timeout;
@@ -15,6 +15,7 @@ function RetryOperation(timeouts, options) {
15
15
  this._operationTimeoutCb = null;
16
16
  this._timeout = null;
17
17
  this._operationStart = null;
18
+ this._timer = null;
18
19
 
19
20
  if (this._options.forever) {
20
21
  this._cachedTimeouts = this._timeouts.slice(0);
@@ -24,13 +25,16 @@ module.exports = RetryOperation;
24
25
 
25
26
  RetryOperation.prototype.reset = function() {
26
27
  this._attempts = 1;
27
- this._timeouts = this._originalTimeouts;
28
+ this._timeouts = this._originalTimeouts.slice(0);
28
29
  }
29
30
 
30
31
  RetryOperation.prototype.stop = function() {
31
32
  if (this._timeout) {
32
33
  clearTimeout(this._timeout);
33
34
  }
35
+ if (this._timer) {
36
+ clearTimeout(this._timer);
37
+ }
34
38
 
35
39
  this._timeouts = [];
36
40
  this._cachedTimeouts = null;
@@ -46,6 +50,7 @@ RetryOperation.prototype.retry = function(err) {
46
50
  }
47
51
  var currentTime = new Date().getTime();
48
52
  if (err && currentTime - this._operationStart >= this._maxRetryTime) {
53
+ this._errors.push(err);
49
54
  this._errors.unshift(new Error('RetryOperation timeout occurred'));
50
55
  return false;
51
56
  }
@@ -56,16 +61,15 @@ RetryOperation.prototype.retry = function(err) {
56
61
  if (timeout === undefined) {
57
62
  if (this._cachedTimeouts) {
58
63
  // retry forever, only keep last error
59
- this._errors.splice(this._errors.length - 1, this._errors.length);
60
- this._timeouts = this._cachedTimeouts.slice(0);
61
- timeout = this._timeouts.shift();
64
+ this._errors.splice(0, this._errors.length - 1);
65
+ timeout = this._cachedTimeouts.slice(-1);
62
66
  } else {
63
67
  return false;
64
68
  }
65
69
  }
66
70
 
67
71
  var self = this;
68
- var timer = setTimeout(function() {
72
+ this._timer = setTimeout(function() {
69
73
  self._attempts++;
70
74
 
71
75
  if (self._operationTimeoutCb) {
@@ -82,7 +86,7 @@ RetryOperation.prototype.retry = function(err) {
82
86
  }, timeout);
83
87
 
84
88
  if (this._options.unref) {
85
- timer.unref();
89
+ this._timer.unref();
86
90
  }
87
91
 
88
92
  return true;
@@ -3,16 +3,20 @@
3
3
  "name": "retry",
4
4
  "description": "Abstraction for exponential and custom retry strategies for failed operations.",
5
5
  "license": "MIT",
6
- "version": "0.12.0",
6
+ "version": "0.13.1",
7
7
  "homepage": "https://github.com/tim-kos/node-retry",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "git://github.com/tim-kos/node-retry.git"
11
11
  },
12
+ "files": [
13
+ "lib",
14
+ "example"
15
+ ],
12
16
  "directories": {
13
17
  "lib": "./lib"
14
18
  },
15
- "main": "index",
19
+ "main": "index.js",
16
20
  "engines": {
17
21
  "node": ">= 4"
18
22
  },