pnpm 11.22.0 → 11.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/CHANGELOG.md +234 -0
  2. package/README.md +12 -0
  3. package/dist/pnpm.mjs +9230 -7674
  4. package/dist/worker.js +40 -8
  5. package/package.json +1 -1
  6. package/artifacts/exe/dist/node-gyp-bin/node-gyp +0 -6
  7. package/artifacts/exe/dist/node-gyp-bin/node-gyp.cmd +0 -5
  8. package/artifacts/exe/dist/node_modules/.bin/node-gyp +0 -50
  9. package/artifacts/exe/dist/node_modules/.bin/node-which +0 -50
  10. package/artifacts/exe/dist/node_modules/.bin/nopt +0 -50
  11. package/artifacts/exe/dist/node_modules/.bin/semver +0 -50
  12. package/artifacts/exe/dist/node_modules/.package-map.json +0 -1
  13. package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/LICENSE +0 -15
  14. package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +0 -430
  15. package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +0 -3
  16. package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +0 -420
  17. package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +0 -3
  18. package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/package.json +0 -72
  19. package/artifacts/exe/dist/node_modules/abbrev/LICENSE +0 -46
  20. package/artifacts/exe/dist/node_modules/abbrev/lib/index.js +0 -53
  21. package/artifacts/exe/dist/node_modules/abbrev/package.json +0 -41
  22. package/artifacts/exe/dist/node_modules/chownr/dist/commonjs/index.js +0 -93
  23. package/artifacts/exe/dist/node_modules/chownr/dist/commonjs/package.json +0 -3
  24. package/artifacts/exe/dist/node_modules/chownr/dist/esm/index.js +0 -85
  25. package/artifacts/exe/dist/node_modules/chownr/dist/esm/package.json +0 -3
  26. package/artifacts/exe/dist/node_modules/chownr/package.json +0 -69
  27. package/artifacts/exe/dist/node_modules/env-paths/index.js +0 -74
  28. package/artifacts/exe/dist/node_modules/env-paths/license +0 -9
  29. package/artifacts/exe/dist/node_modules/env-paths/package.json +0 -45
  30. package/artifacts/exe/dist/node_modules/exponential-backoff/LICENSE +0 -202
  31. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/backoff.js +0 -124
  32. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +0 -25
  33. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +0 -45
  34. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +0 -17
  35. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +0 -3
  36. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +0 -82
  37. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +0 -8
  38. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +0 -15
  39. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +0 -7
  40. package/artifacts/exe/dist/node_modules/exponential-backoff/dist/options.js +0 -31
  41. package/artifacts/exe/dist/node_modules/exponential-backoff/package.json +0 -62
  42. package/artifacts/exe/dist/node_modules/fdir/LICENSE +0 -7
  43. package/artifacts/exe/dist/node_modules/fdir/dist/index.cjs +0 -588
  44. package/artifacts/exe/dist/node_modules/fdir/dist/index.d.cts +0 -155
  45. package/artifacts/exe/dist/node_modules/fdir/dist/index.d.mts +0 -155
  46. package/artifacts/exe/dist/node_modules/fdir/dist/index.mjs +0 -570
  47. package/artifacts/exe/dist/node_modules/fdir/package.json +0 -103
  48. package/artifacts/exe/dist/node_modules/graceful-fs/LICENSE +0 -15
  49. package/artifacts/exe/dist/node_modules/graceful-fs/clone.js +0 -23
  50. package/artifacts/exe/dist/node_modules/graceful-fs/graceful-fs.js +0 -448
  51. package/artifacts/exe/dist/node_modules/graceful-fs/legacy-streams.js +0 -118
  52. package/artifacts/exe/dist/node_modules/graceful-fs/package.json +0 -53
  53. package/artifacts/exe/dist/node_modules/graceful-fs/polyfills.js +0 -355
  54. package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/index.js +0 -56
  55. package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/index.min.js +0 -2
  56. package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/options.js +0 -3
  57. package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/package.json +0 -3
  58. package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/posix.js +0 -67
  59. package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/win32.js +0 -63
  60. package/artifacts/exe/dist/node_modules/isexe/dist/esm/index.js +0 -16
  61. package/artifacts/exe/dist/node_modules/isexe/dist/esm/index.min.js +0 -2
  62. package/artifacts/exe/dist/node_modules/isexe/dist/esm/options.js +0 -2
  63. package/artifacts/exe/dist/node_modules/isexe/dist/esm/package.json +0 -3
  64. package/artifacts/exe/dist/node_modules/isexe/dist/esm/posix.js +0 -62
  65. package/artifacts/exe/dist/node_modules/isexe/dist/esm/win32.js +0 -58
  66. package/artifacts/exe/dist/node_modules/isexe/package.json +0 -78
  67. package/artifacts/exe/dist/node_modules/minipass/dist/commonjs/index.js +0 -1038
  68. package/artifacts/exe/dist/node_modules/minipass/dist/commonjs/package.json +0 -3
  69. package/artifacts/exe/dist/node_modules/minipass/dist/esm/index.js +0 -1020
  70. package/artifacts/exe/dist/node_modules/minipass/dist/esm/package.json +0 -3
  71. package/artifacts/exe/dist/node_modules/minipass/package.json +0 -77
  72. package/artifacts/exe/dist/node_modules/minizlib/LICENSE +0 -26
  73. package/artifacts/exe/dist/node_modules/minizlib/dist/commonjs/constants.js +0 -123
  74. package/artifacts/exe/dist/node_modules/minizlib/dist/commonjs/index.js +0 -416
  75. package/artifacts/exe/dist/node_modules/minizlib/dist/commonjs/package.json +0 -3
  76. package/artifacts/exe/dist/node_modules/minizlib/dist/esm/constants.js +0 -117
  77. package/artifacts/exe/dist/node_modules/minizlib/dist/esm/index.js +0 -363
  78. package/artifacts/exe/dist/node_modules/minizlib/dist/esm/package.json +0 -3
  79. package/artifacts/exe/dist/node_modules/minizlib/package.json +0 -80
  80. package/artifacts/exe/dist/node_modules/node-gyp/.release-please-manifest.json +0 -3
  81. package/artifacts/exe/dist/node_modules/node-gyp/LICENSE +0 -24
  82. package/artifacts/exe/dist/node_modules/node-gyp/addon.gypi +0 -204
  83. package/artifacts/exe/dist/node_modules/node-gyp/bin/node-gyp.js +0 -145
  84. package/artifacts/exe/dist/node_modules/node-gyp/eslint.config.js +0 -3
  85. package/artifacts/exe/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +0 -3
  86. package/artifacts/exe/dist/node_modules/node-gyp/gyp/LICENSE +0 -28
  87. package/artifacts/exe/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +0 -4
  88. package/artifacts/exe/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +0 -12
  89. package/artifacts/exe/dist/node_modules/node-gyp/gyp/gyp +0 -8
  90. package/artifacts/exe/dist/node_modules/node-gyp/gyp/gyp.bat +0 -5
  91. package/artifacts/exe/dist/node_modules/node-gyp/gyp/gyp_main.py +0 -45
  92. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +0 -365
  93. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +0 -206
  94. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +0 -1283
  95. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +0 -1545
  96. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +0 -59
  97. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +0 -152
  98. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +0 -270
  99. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +0 -607
  100. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +0 -706
  101. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +0 -725
  102. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +0 -186
  103. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +0 -170
  104. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +0 -113
  105. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +0 -55
  106. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  107. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +0 -805
  108. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +0 -1169
  109. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +0 -1316
  110. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +0 -128
  111. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +0 -104
  112. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +0 -461
  113. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +0 -88
  114. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +0 -55
  115. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +0 -2755
  116. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +0 -3970
  117. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +0 -44
  118. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +0 -2957
  119. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +0 -77
  120. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +0 -1389
  121. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +0 -26
  122. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +0 -3097
  123. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +0 -99
  124. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +0 -765
  125. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +0 -1255
  126. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +0 -174
  127. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +0 -61
  128. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +0 -371
  129. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +0 -1936
  130. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +0 -54
  131. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +0 -301
  132. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +0 -3180
  133. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +0 -64
  134. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +0 -3
  135. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +0 -177
  136. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +0 -23
  137. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +0 -15
  138. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +0 -107
  139. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +0 -252
  140. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +0 -83
  141. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +0 -359
  142. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +0 -61
  143. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +0 -192
  144. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +0 -251
  145. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +0 -807
  146. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
  147. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +0 -90
  148. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +0 -1030
  149. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +0 -541
  150. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +0 -172
  151. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +0 -563
  152. package/artifacts/exe/dist/node_modules/node-gyp/gyp/pyproject.toml +0 -116
  153. package/artifacts/exe/dist/node_modules/node-gyp/gyp/release-please-config.json +0 -11
  154. package/artifacts/exe/dist/node_modules/node-gyp/gyp/test_gyp.py +0 -260
  155. package/artifacts/exe/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +0 -250
  156. package/artifacts/exe/dist/node_modules/node-gyp/lib/build.js +0 -230
  157. package/artifacts/exe/dist/node_modules/node-gyp/lib/clean.js +0 -15
  158. package/artifacts/exe/dist/node_modules/node-gyp/lib/configure.js +0 -328
  159. package/artifacts/exe/dist/node_modules/node-gyp/lib/create-config-gypi.js +0 -153
  160. package/artifacts/exe/dist/node_modules/node-gyp/lib/download.js +0 -86
  161. package/artifacts/exe/dist/node_modules/node-gyp/lib/find-node-directory.js +0 -63
  162. package/artifacts/exe/dist/node_modules/node-gyp/lib/find-python.js +0 -304
  163. package/artifacts/exe/dist/node_modules/node-gyp/lib/find-visualstudio.js +0 -606
  164. package/artifacts/exe/dist/node_modules/node-gyp/lib/install.js +0 -411
  165. package/artifacts/exe/dist/node_modules/node-gyp/lib/list.js +0 -26
  166. package/artifacts/exe/dist/node_modules/node-gyp/lib/log.js +0 -168
  167. package/artifacts/exe/dist/node_modules/node-gyp/lib/node-gyp.js +0 -199
  168. package/artifacts/exe/dist/node_modules/node-gyp/lib/process-release.js +0 -144
  169. package/artifacts/exe/dist/node_modules/node-gyp/lib/rebuild.js +0 -12
  170. package/artifacts/exe/dist/node_modules/node-gyp/lib/remove.js +0 -43
  171. package/artifacts/exe/dist/node_modules/node-gyp/lib/util.js +0 -81
  172. package/artifacts/exe/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +0 -21
  173. package/artifacts/exe/dist/node_modules/node-gyp/package.json +0 -52
  174. package/artifacts/exe/dist/node_modules/node-gyp/release-please-config.json +0 -40
  175. package/artifacts/exe/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +0 -41
  176. package/artifacts/exe/dist/node_modules/nopt/LICENSE +0 -15
  177. package/artifacts/exe/dist/node_modules/nopt/bin/nopt.js +0 -29
  178. package/artifacts/exe/dist/node_modules/nopt/lib/debug.js +0 -5
  179. package/artifacts/exe/dist/node_modules/nopt/lib/nopt-lib.js +0 -514
  180. package/artifacts/exe/dist/node_modules/nopt/lib/nopt.js +0 -34
  181. package/artifacts/exe/dist/node_modules/nopt/lib/type-defs.js +0 -91
  182. package/artifacts/exe/dist/node_modules/nopt/package.json +0 -52
  183. package/artifacts/exe/dist/node_modules/picomatch/LICENSE +0 -21
  184. package/artifacts/exe/dist/node_modules/picomatch/index.js +0 -17
  185. package/artifacts/exe/dist/node_modules/picomatch/lib/constants.js +0 -184
  186. package/artifacts/exe/dist/node_modules/picomatch/lib/parse.js +0 -1416
  187. package/artifacts/exe/dist/node_modules/picomatch/lib/picomatch.js +0 -361
  188. package/artifacts/exe/dist/node_modules/picomatch/lib/scan.js +0 -391
  189. package/artifacts/exe/dist/node_modules/picomatch/lib/utils.js +0 -72
  190. package/artifacts/exe/dist/node_modules/picomatch/package.json +0 -83
  191. package/artifacts/exe/dist/node_modules/picomatch/posix.js +0 -3
  192. package/artifacts/exe/dist/node_modules/proc-log/LICENSE +0 -15
  193. package/artifacts/exe/dist/node_modules/proc-log/lib/index.js +0 -158
  194. package/artifacts/exe/dist/node_modules/proc-log/package.json +0 -46
  195. package/artifacts/exe/dist/node_modules/semver/LICENSE +0 -15
  196. package/artifacts/exe/dist/node_modules/semver/bin/semver.js +0 -195
  197. package/artifacts/exe/dist/node_modules/semver/classes/comparator.js +0 -143
  198. package/artifacts/exe/dist/node_modules/semver/classes/index.js +0 -7
  199. package/artifacts/exe/dist/node_modules/semver/classes/range.js +0 -577
  200. package/artifacts/exe/dist/node_modules/semver/classes/semver.js +0 -350
  201. package/artifacts/exe/dist/node_modules/semver/functions/clean.js +0 -8
  202. package/artifacts/exe/dist/node_modules/semver/functions/cmp.js +0 -54
  203. package/artifacts/exe/dist/node_modules/semver/functions/coerce.js +0 -62
  204. package/artifacts/exe/dist/node_modules/semver/functions/compare-build.js +0 -9
  205. package/artifacts/exe/dist/node_modules/semver/functions/compare-loose.js +0 -5
  206. package/artifacts/exe/dist/node_modules/semver/functions/compare.js +0 -7
  207. package/artifacts/exe/dist/node_modules/semver/functions/diff.js +0 -60
  208. package/artifacts/exe/dist/node_modules/semver/functions/eq.js +0 -5
  209. package/artifacts/exe/dist/node_modules/semver/functions/gt.js +0 -5
  210. package/artifacts/exe/dist/node_modules/semver/functions/gte.js +0 -5
  211. package/artifacts/exe/dist/node_modules/semver/functions/inc.js +0 -21
  212. package/artifacts/exe/dist/node_modules/semver/functions/lt.js +0 -5
  213. package/artifacts/exe/dist/node_modules/semver/functions/lte.js +0 -5
  214. package/artifacts/exe/dist/node_modules/semver/functions/major.js +0 -5
  215. package/artifacts/exe/dist/node_modules/semver/functions/minor.js +0 -5
  216. package/artifacts/exe/dist/node_modules/semver/functions/neq.js +0 -5
  217. package/artifacts/exe/dist/node_modules/semver/functions/parse.js +0 -18
  218. package/artifacts/exe/dist/node_modules/semver/functions/patch.js +0 -5
  219. package/artifacts/exe/dist/node_modules/semver/functions/prerelease.js +0 -8
  220. package/artifacts/exe/dist/node_modules/semver/functions/rcompare.js +0 -5
  221. package/artifacts/exe/dist/node_modules/semver/functions/rsort.js +0 -5
  222. package/artifacts/exe/dist/node_modules/semver/functions/satisfies.js +0 -12
  223. package/artifacts/exe/dist/node_modules/semver/functions/sort.js +0 -5
  224. package/artifacts/exe/dist/node_modules/semver/functions/truncate.js +0 -48
  225. package/artifacts/exe/dist/node_modules/semver/functions/valid.js +0 -8
  226. package/artifacts/exe/dist/node_modules/semver/index.js +0 -93
  227. package/artifacts/exe/dist/node_modules/semver/internal/constants.js +0 -37
  228. package/artifacts/exe/dist/node_modules/semver/internal/debug.js +0 -11
  229. package/artifacts/exe/dist/node_modules/semver/internal/identifiers.js +0 -29
  230. package/artifacts/exe/dist/node_modules/semver/internal/lrucache.js +0 -42
  231. package/artifacts/exe/dist/node_modules/semver/internal/parse-options.js +0 -17
  232. package/artifacts/exe/dist/node_modules/semver/internal/re.js +0 -223
  233. package/artifacts/exe/dist/node_modules/semver/package.json +0 -78
  234. package/artifacts/exe/dist/node_modules/semver/preload.js +0 -4
  235. package/artifacts/exe/dist/node_modules/semver/range.bnf +0 -17
  236. package/artifacts/exe/dist/node_modules/semver/ranges/gtr.js +0 -6
  237. package/artifacts/exe/dist/node_modules/semver/ranges/intersects.js +0 -9
  238. package/artifacts/exe/dist/node_modules/semver/ranges/ltr.js +0 -6
  239. package/artifacts/exe/dist/node_modules/semver/ranges/max-satisfying.js +0 -27
  240. package/artifacts/exe/dist/node_modules/semver/ranges/min-satisfying.js +0 -26
  241. package/artifacts/exe/dist/node_modules/semver/ranges/min-version.js +0 -63
  242. package/artifacts/exe/dist/node_modules/semver/ranges/outside.js +0 -82
  243. package/artifacts/exe/dist/node_modules/semver/ranges/simplify.js +0 -49
  244. package/artifacts/exe/dist/node_modules/semver/ranges/subset.js +0 -249
  245. package/artifacts/exe/dist/node_modules/semver/ranges/to-comparators.js +0 -10
  246. package/artifacts/exe/dist/node_modules/semver/ranges/valid.js +0 -13
  247. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/create.js +0 -82
  248. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/cwd-error.js +0 -18
  249. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/extract.js +0 -88
  250. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/get-write-flag.js +0 -32
  251. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/header.js +0 -348
  252. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/index.js +0 -64
  253. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/index.min.js +0 -4
  254. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/large-numbers.js +0 -99
  255. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/list.js +0 -153
  256. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/make-command.js +0 -52
  257. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/mkdir.js +0 -187
  258. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/mode-fix.js +0 -29
  259. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +0 -38
  260. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +0 -12
  261. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/options.js +0 -66
  262. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/pack.js +0 -544
  263. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/package.json +0 -3
  264. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/parse.js +0 -655
  265. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/path-reservations.js +0 -170
  266. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/pax.js +0 -182
  267. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/process-umask.js +0 -7
  268. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/read-entry.js +0 -136
  269. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/replace.js +0 -227
  270. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +0 -29
  271. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +0 -18
  272. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/symlink-error.js +0 -19
  273. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/types.js +0 -70
  274. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/unpack.js +0 -932
  275. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/update.js +0 -33
  276. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/warn-method.js +0 -31
  277. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/winchars.js +0 -14
  278. package/artifacts/exe/dist/node_modules/tar/dist/commonjs/write-entry.js +0 -698
  279. package/artifacts/exe/dist/node_modules/tar/dist/esm/create.js +0 -76
  280. package/artifacts/exe/dist/node_modules/tar/dist/esm/cwd-error.js +0 -14
  281. package/artifacts/exe/dist/node_modules/tar/dist/esm/extract.js +0 -49
  282. package/artifacts/exe/dist/node_modules/tar/dist/esm/get-write-flag.js +0 -26
  283. package/artifacts/exe/dist/node_modules/tar/dist/esm/header.js +0 -311
  284. package/artifacts/exe/dist/node_modules/tar/dist/esm/index.js +0 -20
  285. package/artifacts/exe/dist/node_modules/tar/dist/esm/index.min.js +0 -4
  286. package/artifacts/exe/dist/node_modules/tar/dist/esm/large-numbers.js +0 -94
  287. package/artifacts/exe/dist/node_modules/tar/dist/esm/list.js +0 -113
  288. package/artifacts/exe/dist/node_modules/tar/dist/esm/make-command.js +0 -48
  289. package/artifacts/exe/dist/node_modules/tar/dist/esm/mkdir.js +0 -179
  290. package/artifacts/exe/dist/node_modules/tar/dist/esm/mode-fix.js +0 -25
  291. package/artifacts/exe/dist/node_modules/tar/dist/esm/normalize-unicode.js +0 -34
  292. package/artifacts/exe/dist/node_modules/tar/dist/esm/normalize-windows-path.js +0 -9
  293. package/artifacts/exe/dist/node_modules/tar/dist/esm/options.js +0 -54
  294. package/artifacts/exe/dist/node_modules/tar/dist/esm/pack.js +0 -502
  295. package/artifacts/exe/dist/node_modules/tar/dist/esm/package.json +0 -3
  296. package/artifacts/exe/dist/node_modules/tar/dist/esm/parse.js +0 -651
  297. package/artifacts/exe/dist/node_modules/tar/dist/esm/path-reservations.js +0 -166
  298. package/artifacts/exe/dist/node_modules/tar/dist/esm/pax.js +0 -178
  299. package/artifacts/exe/dist/node_modules/tar/dist/esm/process-umask.js +0 -3
  300. package/artifacts/exe/dist/node_modules/tar/dist/esm/read-entry.js +0 -132
  301. package/artifacts/exe/dist/node_modules/tar/dist/esm/replace.js +0 -221
  302. package/artifacts/exe/dist/node_modules/tar/dist/esm/strip-absolute-path.js +0 -25
  303. package/artifacts/exe/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +0 -14
  304. package/artifacts/exe/dist/node_modules/tar/dist/esm/symlink-error.js +0 -15
  305. package/artifacts/exe/dist/node_modules/tar/dist/esm/types.js +0 -65
  306. package/artifacts/exe/dist/node_modules/tar/dist/esm/unpack.js +0 -891
  307. package/artifacts/exe/dist/node_modules/tar/dist/esm/update.js +0 -30
  308. package/artifacts/exe/dist/node_modules/tar/dist/esm/warn-method.js +0 -27
  309. package/artifacts/exe/dist/node_modules/tar/dist/esm/winchars.js +0 -9
  310. package/artifacts/exe/dist/node_modules/tar/dist/esm/write-entry.js +0 -656
  311. package/artifacts/exe/dist/node_modules/tar/package.json +0 -298
  312. package/artifacts/exe/dist/node_modules/tinyglobby/LICENSE +0 -21
  313. package/artifacts/exe/dist/node_modules/tinyglobby/dist/index.cjs +0 -335
  314. package/artifacts/exe/dist/node_modules/tinyglobby/dist/index.d.cts +0 -148
  315. package/artifacts/exe/dist/node_modules/tinyglobby/dist/index.d.mts +0 -148
  316. package/artifacts/exe/dist/node_modules/tinyglobby/dist/index.mjs +0 -307
  317. package/artifacts/exe/dist/node_modules/tinyglobby/package.json +0 -70
  318. package/artifacts/exe/dist/node_modules/undici/LICENSE +0 -21
  319. package/artifacts/exe/dist/node_modules/undici/index-fetch.js +0 -35
  320. package/artifacts/exe/dist/node_modules/undici/index.js +0 -169
  321. package/artifacts/exe/dist/node_modules/undici/lib/api/abort-signal.js +0 -57
  322. package/artifacts/exe/dist/node_modules/undici/lib/api/api-connect.js +0 -108
  323. package/artifacts/exe/dist/node_modules/undici/lib/api/api-pipeline.js +0 -251
  324. package/artifacts/exe/dist/node_modules/undici/lib/api/api-request.js +0 -214
  325. package/artifacts/exe/dist/node_modules/undici/lib/api/api-stream.js +0 -220
  326. package/artifacts/exe/dist/node_modules/undici/lib/api/api-upgrade.js +0 -108
  327. package/artifacts/exe/dist/node_modules/undici/lib/api/index.js +0 -7
  328. package/artifacts/exe/dist/node_modules/undici/lib/api/readable.js +0 -385
  329. package/artifacts/exe/dist/node_modules/undici/lib/api/util.js +0 -93
  330. package/artifacts/exe/dist/node_modules/undici/lib/core/connect.js +0 -240
  331. package/artifacts/exe/dist/node_modules/undici/lib/core/constants.js +0 -118
  332. package/artifacts/exe/dist/node_modules/undici/lib/core/diagnostics.js +0 -202
  333. package/artifacts/exe/dist/node_modules/undici/lib/core/errors.js +0 -425
  334. package/artifacts/exe/dist/node_modules/undici/lib/core/request.js +0 -416
  335. package/artifacts/exe/dist/node_modules/undici/lib/core/symbols.js +0 -67
  336. package/artifacts/exe/dist/node_modules/undici/lib/core/tree.js +0 -152
  337. package/artifacts/exe/dist/node_modules/undici/lib/core/util.js +0 -719
  338. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/agent.js +0 -129
  339. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +0 -209
  340. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/client-h1.js +0 -1496
  341. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/client-h2.js +0 -744
  342. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/client.js +0 -623
  343. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +0 -199
  344. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/dispatcher.js +0 -65
  345. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +0 -160
  346. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +0 -117
  347. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/pool-base.js +0 -194
  348. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/pool-stats.js +0 -34
  349. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/pool.js +0 -107
  350. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +0 -274
  351. package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/retry-agent.js +0 -35
  352. package/artifacts/exe/dist/node_modules/undici/lib/global.js +0 -32
  353. package/artifacts/exe/dist/node_modules/undici/lib/handler/decorator-handler.js +0 -44
  354. package/artifacts/exe/dist/node_modules/undici/lib/handler/redirect-handler.js +0 -232
  355. package/artifacts/exe/dist/node_modules/undici/lib/handler/retry-handler.js +0 -408
  356. package/artifacts/exe/dist/node_modules/undici/lib/interceptor/dns.js +0 -375
  357. package/artifacts/exe/dist/node_modules/undici/lib/interceptor/dump.js +0 -123
  358. package/artifacts/exe/dist/node_modules/undici/lib/interceptor/redirect-interceptor.js +0 -21
  359. package/artifacts/exe/dist/node_modules/undici/lib/interceptor/redirect.js +0 -24
  360. package/artifacts/exe/dist/node_modules/undici/lib/interceptor/response-error.js +0 -86
  361. package/artifacts/exe/dist/node_modules/undici/lib/interceptor/retry.js +0 -19
  362. package/artifacts/exe/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  363. package/artifacts/exe/dist/node_modules/undici/lib/llhttp/constants.js +0 -278
  364. package/artifacts/exe/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +0 -5
  365. package/artifacts/exe/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +0 -5
  366. package/artifacts/exe/dist/node_modules/undici/lib/llhttp/utils.js +0 -15
  367. package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-agent.js +0 -160
  368. package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-client.js +0 -59
  369. package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-errors.js +0 -28
  370. package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-interceptor.js +0 -207
  371. package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-pool.js +0 -59
  372. package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-symbols.js +0 -23
  373. package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-utils.js +0 -367
  374. package/artifacts/exe/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +0 -43
  375. package/artifacts/exe/dist/node_modules/undici/lib/mock/pluralizer.js +0 -29
  376. package/artifacts/exe/dist/node_modules/undici/lib/util/timers.js +0 -423
  377. package/artifacts/exe/dist/node_modules/undici/lib/web/cache/cache.js +0 -859
  378. package/artifacts/exe/dist/node_modules/undici/lib/web/cache/cachestorage.js +0 -152
  379. package/artifacts/exe/dist/node_modules/undici/lib/web/cache/symbols.js +0 -5
  380. package/artifacts/exe/dist/node_modules/undici/lib/web/cache/util.js +0 -45
  381. package/artifacts/exe/dist/node_modules/undici/lib/web/cookies/constants.js +0 -12
  382. package/artifacts/exe/dist/node_modules/undici/lib/web/cookies/index.js +0 -184
  383. package/artifacts/exe/dist/node_modules/undici/lib/web/cookies/parse.js +0 -310
  384. package/artifacts/exe/dist/node_modules/undici/lib/web/cookies/util.js +0 -352
  385. package/artifacts/exe/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +0 -398
  386. package/artifacts/exe/dist/node_modules/undici/lib/web/eventsource/eventsource.js +0 -480
  387. package/artifacts/exe/dist/node_modules/undici/lib/web/eventsource/util.js +0 -37
  388. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/LICENSE +0 -21
  389. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/body.js +0 -529
  390. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/constants.js +0 -124
  391. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/data-url.js +0 -744
  392. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +0 -46
  393. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/file.js +0 -126
  394. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +0 -474
  395. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/formdata.js +0 -252
  396. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/global.js +0 -40
  397. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/headers.js +0 -687
  398. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/index.js +0 -2272
  399. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/request.js +0 -1037
  400. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/response.js +0 -610
  401. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/symbols.js +0 -9
  402. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/util.js +0 -1632
  403. package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/webidl.js +0 -695
  404. package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/encoding.js +0 -290
  405. package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/filereader.js +0 -344
  406. package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/progressevent.js +0 -78
  407. package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/symbols.js +0 -10
  408. package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/util.js +0 -391
  409. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/connection.js +0 -371
  410. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/constants.js +0 -66
  411. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/events.js +0 -329
  412. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/frame.js +0 -96
  413. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +0 -100
  414. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/receiver.js +0 -513
  415. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/sender.js +0 -104
  416. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/symbols.js +0 -12
  417. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/util.js +0 -322
  418. package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/websocket.js +0 -595
  419. package/artifacts/exe/dist/node_modules/undici/package.json +0 -160
  420. package/artifacts/exe/dist/node_modules/undici/scripts/strip-comments.js +0 -8
  421. package/artifacts/exe/dist/node_modules/v8-compile-cache/LICENSE +0 -21
  422. package/artifacts/exe/dist/node_modules/v8-compile-cache/package.json +0 -34
  423. package/artifacts/exe/dist/node_modules/v8-compile-cache/v8-compile-cache.js +0 -373
  424. package/artifacts/exe/dist/node_modules/which/LICENSE +0 -15
  425. package/artifacts/exe/dist/node_modules/which/bin/which.js +0 -52
  426. package/artifacts/exe/dist/node_modules/which/lib/index.js +0 -111
  427. package/artifacts/exe/dist/node_modules/which/package.json +0 -52
  428. package/artifacts/exe/dist/node_modules/yallist/dist/commonjs/index.js +0 -384
  429. package/artifacts/exe/dist/node_modules/yallist/dist/commonjs/package.json +0 -3
  430. package/artifacts/exe/dist/node_modules/yallist/dist/esm/index.js +0 -379
  431. package/artifacts/exe/dist/node_modules/yallist/dist/esm/package.json +0 -3
  432. package/artifacts/exe/dist/node_modules/yallist/package.json +0 -68
  433. package/artifacts/exe/dist/pnpm.mjs +0 -323057
  434. package/artifacts/exe/dist/pnpmrc +0 -2
  435. package/artifacts/exe/dist/templates/completion.bash +0 -31
  436. package/artifacts/exe/dist/templates/completion.fish +0 -22
  437. package/artifacts/exe/dist/templates/completion.ps1 +0 -193
  438. package/artifacts/exe/dist/templates/completion.zsh +0 -27
  439. package/artifacts/exe/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  440. package/artifacts/exe/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  441. package/artifacts/exe/dist/worker.js +0 -12117
@@ -1,607 +0,0 @@
1
- # Copyright (c) 2013 Google Inc. All rights reserved.
2
- # Use of this source code is governed by a BSD-style license that can be
3
- # found in the LICENSE file.
4
-
5
- """Handle version information related to Visual Stuio."""
6
-
7
- import errno
8
- import glob
9
- import os
10
- import re
11
- import subprocess
12
- import sys
13
-
14
-
15
- def JoinPath(*args):
16
- return os.path.normpath(os.path.join(*args))
17
-
18
-
19
- class VisualStudioVersion:
20
- """Information regarding a version of Visual Studio."""
21
-
22
- def __init__(
23
- self,
24
- short_name,
25
- description,
26
- solution_version,
27
- project_version,
28
- flat_sln,
29
- uses_vcxproj,
30
- path,
31
- sdk_based,
32
- default_toolset=None,
33
- compatible_sdks=None,
34
- ):
35
- self.short_name = short_name
36
- self.description = description
37
- self.solution_version = solution_version
38
- self.project_version = project_version
39
- self.flat_sln = flat_sln
40
- self.uses_vcxproj = uses_vcxproj
41
- self.path = path
42
- self.sdk_based = sdk_based
43
- self.default_toolset = default_toolset
44
- compatible_sdks = compatible_sdks or []
45
- compatible_sdks.sort(key=lambda v: float(v.replace("v", "")), reverse=True)
46
- self.compatible_sdks = compatible_sdks
47
-
48
- def ShortName(self):
49
- return self.short_name
50
-
51
- def Description(self):
52
- """Get the full description of the version."""
53
- return self.description
54
-
55
- def SolutionVersion(self):
56
- """Get the version number of the sln files."""
57
- return self.solution_version
58
-
59
- def ProjectVersion(self):
60
- """Get the version number of the vcproj or vcxproj files."""
61
- return self.project_version
62
-
63
- def FlatSolution(self):
64
- return self.flat_sln
65
-
66
- def UsesVcxproj(self):
67
- """Returns true if this version uses a vcxproj file."""
68
- return self.uses_vcxproj
69
-
70
- def ProjectExtension(self):
71
- """Returns the file extension for the project."""
72
- return (self.uses_vcxproj and ".vcxproj") or ".vcproj"
73
-
74
- def Path(self):
75
- """Returns the path to Visual Studio installation."""
76
- return self.path
77
-
78
- def ToolPath(self, tool):
79
- """Returns the path to a given compiler tool."""
80
- return os.path.normpath(os.path.join(self.path, "VC/bin", tool))
81
-
82
- def DefaultToolset(self):
83
- """Returns the msbuild toolset version that will be used in the absence
84
- of a user override."""
85
- return self.default_toolset
86
-
87
- def _SetupScriptInternal(self, target_arch):
88
- """Returns a command (with arguments) to be used to set up the
89
- environment."""
90
- assert target_arch in ("x86", "x64", "arm64"), "target_arch not supported"
91
- # If WindowsSDKDir is set and SetEnv.Cmd exists then we are using the
92
- # depot_tools build tools and should run SetEnv.Cmd to set up the
93
- # environment. The check for WindowsSDKDir alone is not sufficient because
94
- # this is set by running vcvarsall.bat.
95
- sdk_dir = os.environ.get("WindowsSDKDir", "")
96
- setup_path = JoinPath(sdk_dir, "Bin", "SetEnv.Cmd")
97
- if self.sdk_based and sdk_dir and os.path.exists(setup_path):
98
- return [setup_path, "/" + target_arch]
99
-
100
- is_host_arch_x64 = (
101
- os.environ.get("PROCESSOR_ARCHITECTURE") == "AMD64"
102
- or os.environ.get("PROCESSOR_ARCHITEW6432") == "AMD64"
103
- )
104
-
105
- # For VS2017 (and newer) it's fairly easy
106
- if self.short_name >= "2017":
107
- script_path = JoinPath(
108
- self.path, "VC", "Auxiliary", "Build", "vcvarsall.bat"
109
- )
110
-
111
- # Always use a native executable, cross-compiling if necessary.
112
- host_arch = (
113
- "amd64"
114
- if is_host_arch_x64
115
- else (
116
- "arm64"
117
- if os.environ.get("PROCESSOR_ARCHITECTURE") == "ARM64"
118
- else "x86"
119
- )
120
- )
121
- msvc_target_arch = {"x64": "amd64"}.get(target_arch, target_arch)
122
- arg = host_arch
123
- if host_arch != msvc_target_arch:
124
- arg += "_" + msvc_target_arch
125
-
126
- return [script_path, arg]
127
-
128
- # We try to find the best version of the env setup batch.
129
- vcvarsall = JoinPath(self.path, "VC", "vcvarsall.bat")
130
- if target_arch == "x86":
131
- if (
132
- self.short_name >= "2013"
133
- and self.short_name[-1] != "e"
134
- and is_host_arch_x64
135
- ):
136
- # VS2013 and later, non-Express have a x64-x86 cross that we want
137
- # to prefer.
138
- return [vcvarsall, "amd64_x86"]
139
- else:
140
- # Otherwise, the standard x86 compiler. We don't use VC/vcvarsall.bat
141
- # for x86 because vcvarsall calls vcvars32, which it can only find if
142
- # VS??COMNTOOLS is set, which isn't guaranteed.
143
- return [JoinPath(self.path, "Common7", "Tools", "vsvars32.bat")]
144
- elif target_arch == "x64":
145
- arg = "x86_amd64"
146
- # Use the 64-on-64 compiler if we're not using an express edition and
147
- # we're running on a 64bit OS.
148
- if self.short_name[-1] != "e" and is_host_arch_x64:
149
- arg = "amd64"
150
- return [vcvarsall, arg]
151
-
152
- def SetupScript(self, target_arch):
153
- script_data = self._SetupScriptInternal(target_arch)
154
- script_path = script_data[0]
155
- if not os.path.exists(script_path):
156
- raise Exception(
157
- "%s is missing - make sure VC++ tools are installed." % script_path
158
- )
159
- return script_data
160
-
161
-
162
- def _RegistryQueryBase(sysdir, key, value):
163
- """Use reg.exe to read a particular key.
164
-
165
- While ideally we might use the win32 module, we would like gyp to be
166
- python neutral, so for instance cygwin python lacks this module.
167
-
168
- Arguments:
169
- sysdir: The system subdirectory to attempt to launch reg.exe from.
170
- key: The registry key to read from.
171
- value: The particular value to read.
172
- Return:
173
- stdout from reg.exe, or None for failure.
174
- """
175
- # Skip if not on Windows or Python Win32 setup issue
176
- if sys.platform not in ("win32", "cygwin"):
177
- return None
178
- # Setup params to pass to and attempt to launch reg.exe
179
- cmd = [os.path.join(os.environ.get("WINDIR", ""), sysdir, "reg.exe"), "query", key]
180
- if value:
181
- cmd.extend(["/v", value])
182
- p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
183
- # Obtain the stdout from reg.exe, reading to the end so p.returncode is valid
184
- # Note that the error text may be in [1] in some cases
185
- text = p.communicate()[0].decode("utf-8")
186
- # Check return code from reg.exe; officially 0==success and 1==error
187
- if p.returncode:
188
- return None
189
- return text
190
-
191
-
192
- def _RegistryQuery(key, value=None):
193
- r"""Use reg.exe to read a particular key through _RegistryQueryBase.
194
-
195
- First tries to launch from %WinDir%\Sysnative to avoid WoW64 redirection. If
196
- that fails, it falls back to System32. Sysnative is available on Vista and
197
- up and available on Windows Server 2003 and XP through KB patch 942589. Note
198
- that Sysnative will always fail if using 64-bit python due to it being a
199
- virtual directory and System32 will work correctly in the first place.
200
-
201
- KB 942589 - http://support.microsoft.com/kb/942589/en-us.
202
-
203
- Arguments:
204
- key: The registry key.
205
- value: The particular registry value to read (optional).
206
- Return:
207
- stdout from reg.exe, or None for failure.
208
- """
209
- text = None
210
- try:
211
- text = _RegistryQueryBase("Sysnative", key, value)
212
- except OSError as e:
213
- if e.errno == errno.ENOENT:
214
- text = _RegistryQueryBase("System32", key, value)
215
- else:
216
- raise
217
- return text
218
-
219
-
220
- def _RegistryGetValueUsingWinReg(key, value):
221
- """Use the _winreg module to obtain the value of a registry key.
222
-
223
- Args:
224
- key: The registry key.
225
- value: The particular registry value to read.
226
- Return:
227
- contents of the registry key's value, or None on failure. Throws
228
- ImportError if winreg is unavailable.
229
- """
230
- from winreg import HKEY_LOCAL_MACHINE, OpenKey, QueryValueEx # noqa: PLC0415
231
-
232
- try:
233
- root, subkey = key.split("\\", 1)
234
- assert root == "HKLM" # Only need HKLM for now.
235
- with OpenKey(HKEY_LOCAL_MACHINE, subkey) as hkey:
236
- return QueryValueEx(hkey, value)[0]
237
- except OSError:
238
- return None
239
-
240
-
241
- def _RegistryGetValue(key, value):
242
- """Use _winreg or reg.exe to obtain the value of a registry key.
243
-
244
- Using _winreg is preferable because it solves an issue on some corporate
245
- environments where access to reg.exe is locked down. However, we still need
246
- to fallback to reg.exe for the case where the _winreg module is not available
247
- (for example in cygwin python).
248
-
249
- Args:
250
- key: The registry key.
251
- value: The particular registry value to read.
252
- Return:
253
- contents of the registry key's value, or None on failure.
254
- """
255
- try:
256
- return _RegistryGetValueUsingWinReg(key, value)
257
- except ImportError:
258
- pass
259
-
260
- # Fallback to reg.exe if we fail to import _winreg.
261
- text = _RegistryQuery(key, value)
262
- if not text:
263
- return None
264
- # Extract value.
265
- match = re.search(r"REG_\w+\s+([^\r]+)\r\n", text)
266
- if not match:
267
- return None
268
- return match.group(1)
269
-
270
-
271
- def _CreateVersion(name, path, sdk_based=False):
272
- """Sets up MSVS project generation.
273
-
274
- Setup is based off the GYP_MSVS_VERSION environment variable or whatever is
275
- autodetected if GYP_MSVS_VERSION is not explicitly specified. If a version is
276
- passed in that doesn't match a value in versions python will throw a error.
277
- """
278
- if path:
279
- path = os.path.normpath(path)
280
- versions = {
281
- "2026": VisualStudioVersion(
282
- "2026",
283
- "Visual Studio 2026",
284
- solution_version="12.00",
285
- project_version="18.0",
286
- flat_sln=False,
287
- uses_vcxproj=True,
288
- path=path,
289
- sdk_based=sdk_based,
290
- default_toolset="v145",
291
- compatible_sdks=["v8.1", "v10.0"],
292
- ),
293
- "2022": VisualStudioVersion(
294
- "2022",
295
- "Visual Studio 2022",
296
- solution_version="12.00",
297
- project_version="17.0",
298
- flat_sln=False,
299
- uses_vcxproj=True,
300
- path=path,
301
- sdk_based=sdk_based,
302
- default_toolset="v143",
303
- compatible_sdks=["v8.1", "v10.0"],
304
- ),
305
- "2019": VisualStudioVersion(
306
- "2019",
307
- "Visual Studio 2019",
308
- solution_version="12.00",
309
- project_version="16.0",
310
- flat_sln=False,
311
- uses_vcxproj=True,
312
- path=path,
313
- sdk_based=sdk_based,
314
- default_toolset="v142",
315
- compatible_sdks=["v8.1", "v10.0"],
316
- ),
317
- "2017": VisualStudioVersion(
318
- "2017",
319
- "Visual Studio 2017",
320
- solution_version="12.00",
321
- project_version="15.0",
322
- flat_sln=False,
323
- uses_vcxproj=True,
324
- path=path,
325
- sdk_based=sdk_based,
326
- default_toolset="v141",
327
- compatible_sdks=["v8.1", "v10.0"],
328
- ),
329
- "2015": VisualStudioVersion(
330
- "2015",
331
- "Visual Studio 2015",
332
- solution_version="12.00",
333
- project_version="14.0",
334
- flat_sln=False,
335
- uses_vcxproj=True,
336
- path=path,
337
- sdk_based=sdk_based,
338
- default_toolset="v140",
339
- ),
340
- "2013": VisualStudioVersion(
341
- "2013",
342
- "Visual Studio 2013",
343
- solution_version="13.00",
344
- project_version="12.0",
345
- flat_sln=False,
346
- uses_vcxproj=True,
347
- path=path,
348
- sdk_based=sdk_based,
349
- default_toolset="v120",
350
- ),
351
- "2013e": VisualStudioVersion(
352
- "2013e",
353
- "Visual Studio 2013",
354
- solution_version="13.00",
355
- project_version="12.0",
356
- flat_sln=True,
357
- uses_vcxproj=True,
358
- path=path,
359
- sdk_based=sdk_based,
360
- default_toolset="v120",
361
- ),
362
- "2012": VisualStudioVersion(
363
- "2012",
364
- "Visual Studio 2012",
365
- solution_version="12.00",
366
- project_version="4.0",
367
- flat_sln=False,
368
- uses_vcxproj=True,
369
- path=path,
370
- sdk_based=sdk_based,
371
- default_toolset="v110",
372
- ),
373
- "2012e": VisualStudioVersion(
374
- "2012e",
375
- "Visual Studio 2012",
376
- solution_version="12.00",
377
- project_version="4.0",
378
- flat_sln=True,
379
- uses_vcxproj=True,
380
- path=path,
381
- sdk_based=sdk_based,
382
- default_toolset="v110",
383
- ),
384
- "2010": VisualStudioVersion(
385
- "2010",
386
- "Visual Studio 2010",
387
- solution_version="11.00",
388
- project_version="4.0",
389
- flat_sln=False,
390
- uses_vcxproj=True,
391
- path=path,
392
- sdk_based=sdk_based,
393
- ),
394
- "2010e": VisualStudioVersion(
395
- "2010e",
396
- "Visual C++ Express 2010",
397
- solution_version="11.00",
398
- project_version="4.0",
399
- flat_sln=True,
400
- uses_vcxproj=True,
401
- path=path,
402
- sdk_based=sdk_based,
403
- ),
404
- "2008": VisualStudioVersion(
405
- "2008",
406
- "Visual Studio 2008",
407
- solution_version="10.00",
408
- project_version="9.00",
409
- flat_sln=False,
410
- uses_vcxproj=False,
411
- path=path,
412
- sdk_based=sdk_based,
413
- ),
414
- "2008e": VisualStudioVersion(
415
- "2008e",
416
- "Visual Studio 2008",
417
- solution_version="10.00",
418
- project_version="9.00",
419
- flat_sln=True,
420
- uses_vcxproj=False,
421
- path=path,
422
- sdk_based=sdk_based,
423
- ),
424
- "2005": VisualStudioVersion(
425
- "2005",
426
- "Visual Studio 2005",
427
- solution_version="9.00",
428
- project_version="8.00",
429
- flat_sln=False,
430
- uses_vcxproj=False,
431
- path=path,
432
- sdk_based=sdk_based,
433
- ),
434
- "2005e": VisualStudioVersion(
435
- "2005e",
436
- "Visual Studio 2005",
437
- solution_version="9.00",
438
- project_version="8.00",
439
- flat_sln=True,
440
- uses_vcxproj=False,
441
- path=path,
442
- sdk_based=sdk_based,
443
- ),
444
- }
445
- return versions[str(name)]
446
-
447
-
448
- def _ConvertToCygpath(path):
449
- """Convert to cygwin path if we are using cygwin."""
450
- if sys.platform == "cygwin":
451
- p = subprocess.Popen(["cygpath", path], stdout=subprocess.PIPE)
452
- path = p.communicate()[0].decode("utf-8").strip()
453
- return path
454
-
455
-
456
- def _DetectVisualStudioVersions(versions_to_check, force_express):
457
- """Collect the list of installed visual studio versions.
458
-
459
- Returns:
460
- A list of visual studio versions installed in descending order of
461
- usage preference.
462
- Base this on the registry and a quick check if devenv.exe exists.
463
- Possibilities are:
464
- 2005(e) - Visual Studio 2005 (8)
465
- 2008(e) - Visual Studio 2008 (9)
466
- 2010(e) - Visual Studio 2010 (10)
467
- 2012(e) - Visual Studio 2012 (11)
468
- 2013(e) - Visual Studio 2013 (12)
469
- 2015 - Visual Studio 2015 (14)
470
- 2017 - Visual Studio 2017 (15)
471
- 2019 - Visual Studio 2019 (16)
472
- 2022 - Visual Studio 2022 (17)
473
- Where (e) is e for express editions of MSVS and blank otherwise.
474
- """
475
- version_to_year = {
476
- "8.0": "2005",
477
- "9.0": "2008",
478
- "10.0": "2010",
479
- "11.0": "2012",
480
- "12.0": "2013",
481
- "14.0": "2015",
482
- "15.0": "2017",
483
- "16.0": "2019",
484
- "17.0": "2022",
485
- "18.0": "2026",
486
- }
487
- versions = []
488
- for version in versions_to_check:
489
- # Old method of searching for which VS version is installed
490
- # We don't use the 2010-encouraged-way because we also want to get the
491
- # path to the binaries, which it doesn't offer.
492
- keys = [
493
- r"HKLM\Software\Microsoft\VisualStudio\%s" % version,
494
- r"HKLM\Software\Wow6432Node\Microsoft\VisualStudio\%s" % version,
495
- r"HKLM\Software\Microsoft\VCExpress\%s" % version,
496
- r"HKLM\Software\Wow6432Node\Microsoft\VCExpress\%s" % version,
497
- ]
498
- for index in range(len(keys)):
499
- path = _RegistryGetValue(keys[index], "InstallDir")
500
- if not path:
501
- continue
502
- path = _ConvertToCygpath(path)
503
- # Check for full.
504
- full_path = os.path.join(path, "devenv.exe")
505
- express_path = os.path.join(path, "*express.exe")
506
- if not force_express and os.path.exists(full_path):
507
- # Add this one.
508
- versions.append(
509
- _CreateVersion(
510
- version_to_year[version], os.path.join(path, "..", "..")
511
- )
512
- )
513
- # Check for express.
514
- elif glob.glob(express_path):
515
- # Add this one.
516
- versions.append(
517
- _CreateVersion(
518
- version_to_year[version] + "e", os.path.join(path, "..", "..")
519
- )
520
- )
521
-
522
- # The old method above does not work when only SDK is installed.
523
- keys = [
524
- r"HKLM\Software\Microsoft\VisualStudio\SxS\VC7",
525
- r"HKLM\Software\Wow6432Node\Microsoft\VisualStudio\SxS\VC7",
526
- r"HKLM\Software\Microsoft\VisualStudio\SxS\VS7",
527
- r"HKLM\Software\Wow6432Node\Microsoft\VisualStudio\SxS\VS7",
528
- ]
529
- for index in range(len(keys)):
530
- path = _RegistryGetValue(keys[index], version)
531
- if not path:
532
- continue
533
- path = _ConvertToCygpath(path)
534
- if version == "15.0":
535
- if os.path.exists(path):
536
- versions.append(_CreateVersion("2017", path))
537
- elif version != "14.0": # There is no Express edition for 2015.
538
- versions.append(
539
- _CreateVersion(
540
- version_to_year[version] + "e",
541
- os.path.join(path, ".."),
542
- sdk_based=True,
543
- )
544
- )
545
-
546
- return versions
547
-
548
-
549
- def SelectVisualStudioVersion(version="auto", allow_fallback=True):
550
- """Select which version of Visual Studio projects to generate.
551
-
552
- Arguments:
553
- version: Hook to allow caller to force a particular version (vs auto).
554
- Returns:
555
- An object representing a visual studio project format version.
556
- """
557
- # In auto mode, check environment variable for override.
558
- if version == "auto":
559
- version = os.environ.get("GYP_MSVS_VERSION", "auto")
560
- version_map = {
561
- "auto": (
562
- "18.0",
563
- "17.0",
564
- "16.0",
565
- "15.0",
566
- "14.0",
567
- "12.0",
568
- "10.0",
569
- "9.0",
570
- "8.0",
571
- "11.0",
572
- ),
573
- "2005": ("8.0",),
574
- "2005e": ("8.0",),
575
- "2008": ("9.0",),
576
- "2008e": ("9.0",),
577
- "2010": ("10.0",),
578
- "2010e": ("10.0",),
579
- "2012": ("11.0",),
580
- "2012e": ("11.0",),
581
- "2013": ("12.0",),
582
- "2013e": ("12.0",),
583
- "2015": ("14.0",),
584
- "2017": ("15.0",),
585
- "2019": ("16.0",),
586
- "2022": ("17.0",),
587
- "2026": ("18.0",),
588
- }
589
- if override_path := os.environ.get("GYP_MSVS_OVERRIDE_PATH"):
590
- msvs_version = os.environ.get("GYP_MSVS_VERSION")
591
- if not msvs_version:
592
- raise ValueError(
593
- "GYP_MSVS_OVERRIDE_PATH requires GYP_MSVS_VERSION to be "
594
- "set to a particular version (e.g. 2010e)."
595
- )
596
- return _CreateVersion(msvs_version, override_path, sdk_based=True)
597
- version = str(version)
598
- versions = _DetectVisualStudioVersions(version_map[version], "e" in version)
599
- if not versions:
600
- if not allow_fallback:
601
- raise ValueError("Could not locate Visual Studio installation.")
602
- if version == "auto":
603
- # Default to 2005 if we couldn't find anything
604
- return _CreateVersion("2005", None)
605
- else:
606
- return _CreateVersion(version, None)
607
- return versions[0]