@pnpm/exe 11.11.0 → 11.13.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 (440) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/{dist/node_modules/v8-compile-cache/LICENSE → LICENSE} +2 -1
  3. package/package.json +11 -11
  4. package/dist/node-gyp-bin/node-gyp +0 -6
  5. package/dist/node-gyp-bin/node-gyp.cmd +0 -5
  6. package/dist/node_modules/.package-map.json +0 -1
  7. package/dist/node_modules/@isaacs/fs-minipass/LICENSE +0 -15
  8. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +0 -430
  9. package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +0 -3
  10. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +0 -420
  11. package/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +0 -3
  12. package/dist/node_modules/@isaacs/fs-minipass/package.json +0 -72
  13. package/dist/node_modules/abbrev/LICENSE +0 -46
  14. package/dist/node_modules/abbrev/lib/index.js +0 -53
  15. package/dist/node_modules/abbrev/package.json +0 -41
  16. package/dist/node_modules/chownr/dist/commonjs/index.js +0 -93
  17. package/dist/node_modules/chownr/dist/commonjs/package.json +0 -3
  18. package/dist/node_modules/chownr/dist/esm/index.js +0 -85
  19. package/dist/node_modules/chownr/dist/esm/package.json +0 -3
  20. package/dist/node_modules/chownr/package.json +0 -69
  21. package/dist/node_modules/env-paths/index.js +0 -74
  22. package/dist/node_modules/env-paths/license +0 -9
  23. package/dist/node_modules/env-paths/package.json +0 -45
  24. package/dist/node_modules/exponential-backoff/LICENSE +0 -202
  25. package/dist/node_modules/exponential-backoff/dist/backoff.js +0 -124
  26. package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +0 -25
  27. package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +0 -45
  28. package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +0 -17
  29. package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +0 -3
  30. package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +0 -82
  31. package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +0 -8
  32. package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +0 -15
  33. package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +0 -7
  34. package/dist/node_modules/exponential-backoff/dist/options.js +0 -31
  35. package/dist/node_modules/exponential-backoff/package.json +0 -62
  36. package/dist/node_modules/fdir/LICENSE +0 -7
  37. package/dist/node_modules/fdir/dist/index.cjs +0 -588
  38. package/dist/node_modules/fdir/dist/index.d.cts +0 -155
  39. package/dist/node_modules/fdir/dist/index.d.mts +0 -155
  40. package/dist/node_modules/fdir/dist/index.mjs +0 -570
  41. package/dist/node_modules/fdir/package.json +0 -103
  42. package/dist/node_modules/graceful-fs/LICENSE +0 -15
  43. package/dist/node_modules/graceful-fs/clone.js +0 -23
  44. package/dist/node_modules/graceful-fs/graceful-fs.js +0 -448
  45. package/dist/node_modules/graceful-fs/legacy-streams.js +0 -118
  46. package/dist/node_modules/graceful-fs/package.json +0 -53
  47. package/dist/node_modules/graceful-fs/polyfills.js +0 -355
  48. package/dist/node_modules/isexe/dist/commonjs/index.js +0 -56
  49. package/dist/node_modules/isexe/dist/commonjs/index.min.js +0 -2
  50. package/dist/node_modules/isexe/dist/commonjs/options.js +0 -3
  51. package/dist/node_modules/isexe/dist/commonjs/package.json +0 -3
  52. package/dist/node_modules/isexe/dist/commonjs/posix.js +0 -67
  53. package/dist/node_modules/isexe/dist/commonjs/win32.js +0 -63
  54. package/dist/node_modules/isexe/dist/esm/index.js +0 -16
  55. package/dist/node_modules/isexe/dist/esm/index.min.js +0 -2
  56. package/dist/node_modules/isexe/dist/esm/options.js +0 -2
  57. package/dist/node_modules/isexe/dist/esm/package.json +0 -3
  58. package/dist/node_modules/isexe/dist/esm/posix.js +0 -62
  59. package/dist/node_modules/isexe/dist/esm/win32.js +0 -58
  60. package/dist/node_modules/isexe/package.json +0 -78
  61. package/dist/node_modules/minipass/dist/commonjs/index.js +0 -1038
  62. package/dist/node_modules/minipass/dist/commonjs/package.json +0 -3
  63. package/dist/node_modules/minipass/dist/esm/index.js +0 -1020
  64. package/dist/node_modules/minipass/dist/esm/package.json +0 -3
  65. package/dist/node_modules/minipass/package.json +0 -77
  66. package/dist/node_modules/minizlib/LICENSE +0 -26
  67. package/dist/node_modules/minizlib/dist/commonjs/constants.js +0 -123
  68. package/dist/node_modules/minizlib/dist/commonjs/index.js +0 -416
  69. package/dist/node_modules/minizlib/dist/commonjs/package.json +0 -3
  70. package/dist/node_modules/minizlib/dist/esm/constants.js +0 -117
  71. package/dist/node_modules/minizlib/dist/esm/index.js +0 -363
  72. package/dist/node_modules/minizlib/dist/esm/package.json +0 -3
  73. package/dist/node_modules/minizlib/package.json +0 -80
  74. package/dist/node_modules/node-gyp/.release-please-manifest.json +0 -3
  75. package/dist/node_modules/node-gyp/LICENSE +0 -24
  76. package/dist/node_modules/node-gyp/addon.gypi +0 -204
  77. package/dist/node_modules/node-gyp/bin/node-gyp.js +0 -145
  78. package/dist/node_modules/node-gyp/eslint.config.js +0 -3
  79. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +0 -3
  80. package/dist/node_modules/node-gyp/gyp/LICENSE +0 -28
  81. package/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +0 -4
  82. package/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +0 -12
  83. package/dist/node_modules/node-gyp/gyp/gyp +0 -8
  84. package/dist/node_modules/node-gyp/gyp/gyp.bat +0 -5
  85. package/dist/node_modules/node-gyp/gyp/gyp_main.py +0 -45
  86. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +0 -365
  87. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +0 -206
  88. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +0 -1283
  89. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +0 -1545
  90. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +0 -59
  91. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +0 -152
  92. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +0 -270
  93. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +0 -607
  94. package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +0 -706
  95. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +0 -725
  96. package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +0 -186
  97. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +0 -170
  98. package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +0 -113
  99. package/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +0 -55
  100. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
  101. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +0 -805
  102. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +0 -1169
  103. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +0 -1316
  104. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +0 -128
  105. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +0 -104
  106. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +0 -461
  107. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +0 -88
  108. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +0 -55
  109. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +0 -2755
  110. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +0 -3970
  111. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +0 -44
  112. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +0 -2957
  113. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +0 -77
  114. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +0 -1389
  115. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +0 -26
  116. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +0 -3097
  117. package/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +0 -99
  118. package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +0 -765
  119. package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +0 -1255
  120. package/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +0 -174
  121. package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +0 -61
  122. package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +0 -371
  123. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +0 -1936
  124. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +0 -54
  125. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +0 -301
  126. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +0 -3180
  127. package/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +0 -64
  128. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +0 -3
  129. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +0 -177
  130. package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +0 -23
  131. package/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +0 -15
  132. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +0 -107
  133. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +0 -252
  134. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +0 -83
  135. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +0 -359
  136. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +0 -61
  137. package/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +0 -192
  138. package/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +0 -251
  139. package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +0 -807
  140. package/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
  141. package/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +0 -90
  142. package/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +0 -1030
  143. package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +0 -541
  144. package/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +0 -172
  145. package/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +0 -563
  146. package/dist/node_modules/node-gyp/gyp/pyproject.toml +0 -116
  147. package/dist/node_modules/node-gyp/gyp/release-please-config.json +0 -11
  148. package/dist/node_modules/node-gyp/gyp/test_gyp.py +0 -260
  149. package/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +0 -250
  150. package/dist/node_modules/node-gyp/lib/build.js +0 -230
  151. package/dist/node_modules/node-gyp/lib/clean.js +0 -15
  152. package/dist/node_modules/node-gyp/lib/configure.js +0 -328
  153. package/dist/node_modules/node-gyp/lib/create-config-gypi.js +0 -153
  154. package/dist/node_modules/node-gyp/lib/download.js +0 -86
  155. package/dist/node_modules/node-gyp/lib/find-node-directory.js +0 -63
  156. package/dist/node_modules/node-gyp/lib/find-python.js +0 -304
  157. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +0 -606
  158. package/dist/node_modules/node-gyp/lib/install.js +0 -411
  159. package/dist/node_modules/node-gyp/lib/list.js +0 -26
  160. package/dist/node_modules/node-gyp/lib/log.js +0 -168
  161. package/dist/node_modules/node-gyp/lib/node-gyp.js +0 -199
  162. package/dist/node_modules/node-gyp/lib/process-release.js +0 -144
  163. package/dist/node_modules/node-gyp/lib/rebuild.js +0 -12
  164. package/dist/node_modules/node-gyp/lib/remove.js +0 -43
  165. package/dist/node_modules/node-gyp/lib/util.js +0 -81
  166. package/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +0 -21
  167. package/dist/node_modules/node-gyp/package.json +0 -52
  168. package/dist/node_modules/node-gyp/release-please-config.json +0 -40
  169. package/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +0 -41
  170. package/dist/node_modules/nopt/LICENSE +0 -15
  171. package/dist/node_modules/nopt/bin/nopt.js +0 -29
  172. package/dist/node_modules/nopt/lib/debug.js +0 -5
  173. package/dist/node_modules/nopt/lib/nopt-lib.js +0 -514
  174. package/dist/node_modules/nopt/lib/nopt.js +0 -34
  175. package/dist/node_modules/nopt/lib/type-defs.js +0 -91
  176. package/dist/node_modules/nopt/package.json +0 -52
  177. package/dist/node_modules/picomatch/LICENSE +0 -21
  178. package/dist/node_modules/picomatch/index.js +0 -17
  179. package/dist/node_modules/picomatch/lib/constants.js +0 -184
  180. package/dist/node_modules/picomatch/lib/parse.js +0 -1416
  181. package/dist/node_modules/picomatch/lib/picomatch.js +0 -361
  182. package/dist/node_modules/picomatch/lib/scan.js +0 -391
  183. package/dist/node_modules/picomatch/lib/utils.js +0 -72
  184. package/dist/node_modules/picomatch/package.json +0 -83
  185. package/dist/node_modules/picomatch/posix.js +0 -3
  186. package/dist/node_modules/proc-log/LICENSE +0 -15
  187. package/dist/node_modules/proc-log/lib/index.js +0 -158
  188. package/dist/node_modules/proc-log/package.json +0 -46
  189. package/dist/node_modules/semver/LICENSE +0 -15
  190. package/dist/node_modules/semver/bin/semver.js +0 -195
  191. package/dist/node_modules/semver/classes/comparator.js +0 -143
  192. package/dist/node_modules/semver/classes/index.js +0 -7
  193. package/dist/node_modules/semver/classes/range.js +0 -577
  194. package/dist/node_modules/semver/classes/semver.js +0 -350
  195. package/dist/node_modules/semver/functions/clean.js +0 -8
  196. package/dist/node_modules/semver/functions/cmp.js +0 -54
  197. package/dist/node_modules/semver/functions/coerce.js +0 -62
  198. package/dist/node_modules/semver/functions/compare-build.js +0 -9
  199. package/dist/node_modules/semver/functions/compare-loose.js +0 -5
  200. package/dist/node_modules/semver/functions/compare.js +0 -7
  201. package/dist/node_modules/semver/functions/diff.js +0 -60
  202. package/dist/node_modules/semver/functions/eq.js +0 -5
  203. package/dist/node_modules/semver/functions/gt.js +0 -5
  204. package/dist/node_modules/semver/functions/gte.js +0 -5
  205. package/dist/node_modules/semver/functions/inc.js +0 -21
  206. package/dist/node_modules/semver/functions/lt.js +0 -5
  207. package/dist/node_modules/semver/functions/lte.js +0 -5
  208. package/dist/node_modules/semver/functions/major.js +0 -5
  209. package/dist/node_modules/semver/functions/minor.js +0 -5
  210. package/dist/node_modules/semver/functions/neq.js +0 -5
  211. package/dist/node_modules/semver/functions/parse.js +0 -18
  212. package/dist/node_modules/semver/functions/patch.js +0 -5
  213. package/dist/node_modules/semver/functions/prerelease.js +0 -8
  214. package/dist/node_modules/semver/functions/rcompare.js +0 -5
  215. package/dist/node_modules/semver/functions/rsort.js +0 -5
  216. package/dist/node_modules/semver/functions/satisfies.js +0 -12
  217. package/dist/node_modules/semver/functions/sort.js +0 -5
  218. package/dist/node_modules/semver/functions/truncate.js +0 -48
  219. package/dist/node_modules/semver/functions/valid.js +0 -8
  220. package/dist/node_modules/semver/index.js +0 -93
  221. package/dist/node_modules/semver/internal/constants.js +0 -37
  222. package/dist/node_modules/semver/internal/debug.js +0 -11
  223. package/dist/node_modules/semver/internal/identifiers.js +0 -29
  224. package/dist/node_modules/semver/internal/lrucache.js +0 -42
  225. package/dist/node_modules/semver/internal/parse-options.js +0 -17
  226. package/dist/node_modules/semver/internal/re.js +0 -223
  227. package/dist/node_modules/semver/package.json +0 -78
  228. package/dist/node_modules/semver/preload.js +0 -4
  229. package/dist/node_modules/semver/range.bnf +0 -17
  230. package/dist/node_modules/semver/ranges/gtr.js +0 -6
  231. package/dist/node_modules/semver/ranges/intersects.js +0 -9
  232. package/dist/node_modules/semver/ranges/ltr.js +0 -6
  233. package/dist/node_modules/semver/ranges/max-satisfying.js +0 -27
  234. package/dist/node_modules/semver/ranges/min-satisfying.js +0 -26
  235. package/dist/node_modules/semver/ranges/min-version.js +0 -63
  236. package/dist/node_modules/semver/ranges/outside.js +0 -82
  237. package/dist/node_modules/semver/ranges/simplify.js +0 -49
  238. package/dist/node_modules/semver/ranges/subset.js +0 -249
  239. package/dist/node_modules/semver/ranges/to-comparators.js +0 -10
  240. package/dist/node_modules/semver/ranges/valid.js +0 -13
  241. package/dist/node_modules/tar/dist/commonjs/create.js +0 -82
  242. package/dist/node_modules/tar/dist/commonjs/cwd-error.js +0 -18
  243. package/dist/node_modules/tar/dist/commonjs/extract.js +0 -88
  244. package/dist/node_modules/tar/dist/commonjs/get-write-flag.js +0 -32
  245. package/dist/node_modules/tar/dist/commonjs/header.js +0 -348
  246. package/dist/node_modules/tar/dist/commonjs/index.js +0 -64
  247. package/dist/node_modules/tar/dist/commonjs/index.min.js +0 -4
  248. package/dist/node_modules/tar/dist/commonjs/large-numbers.js +0 -99
  249. package/dist/node_modules/tar/dist/commonjs/list.js +0 -145
  250. package/dist/node_modules/tar/dist/commonjs/make-command.js +0 -52
  251. package/dist/node_modules/tar/dist/commonjs/mkdir.js +0 -187
  252. package/dist/node_modules/tar/dist/commonjs/mode-fix.js +0 -29
  253. package/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +0 -38
  254. package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +0 -12
  255. package/dist/node_modules/tar/dist/commonjs/options.js +0 -66
  256. package/dist/node_modules/tar/dist/commonjs/pack.js +0 -544
  257. package/dist/node_modules/tar/dist/commonjs/package.json +0 -3
  258. package/dist/node_modules/tar/dist/commonjs/parse.js +0 -645
  259. package/dist/node_modules/tar/dist/commonjs/path-reservations.js +0 -170
  260. package/dist/node_modules/tar/dist/commonjs/pax.js +0 -182
  261. package/dist/node_modules/tar/dist/commonjs/process-umask.js +0 -7
  262. package/dist/node_modules/tar/dist/commonjs/read-entry.js +0 -136
  263. package/dist/node_modules/tar/dist/commonjs/replace.js +0 -227
  264. package/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +0 -29
  265. package/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +0 -18
  266. package/dist/node_modules/tar/dist/commonjs/symlink-error.js +0 -19
  267. package/dist/node_modules/tar/dist/commonjs/types.js +0 -70
  268. package/dist/node_modules/tar/dist/commonjs/unpack.js +0 -932
  269. package/dist/node_modules/tar/dist/commonjs/update.js +0 -33
  270. package/dist/node_modules/tar/dist/commonjs/warn-method.js +0 -31
  271. package/dist/node_modules/tar/dist/commonjs/winchars.js +0 -14
  272. package/dist/node_modules/tar/dist/commonjs/write-entry.js +0 -698
  273. package/dist/node_modules/tar/dist/esm/create.js +0 -76
  274. package/dist/node_modules/tar/dist/esm/cwd-error.js +0 -14
  275. package/dist/node_modules/tar/dist/esm/extract.js +0 -49
  276. package/dist/node_modules/tar/dist/esm/get-write-flag.js +0 -26
  277. package/dist/node_modules/tar/dist/esm/header.js +0 -311
  278. package/dist/node_modules/tar/dist/esm/index.js +0 -20
  279. package/dist/node_modules/tar/dist/esm/index.min.js +0 -4
  280. package/dist/node_modules/tar/dist/esm/large-numbers.js +0 -94
  281. package/dist/node_modules/tar/dist/esm/list.js +0 -105
  282. package/dist/node_modules/tar/dist/esm/make-command.js +0 -48
  283. package/dist/node_modules/tar/dist/esm/mkdir.js +0 -179
  284. package/dist/node_modules/tar/dist/esm/mode-fix.js +0 -25
  285. package/dist/node_modules/tar/dist/esm/normalize-unicode.js +0 -34
  286. package/dist/node_modules/tar/dist/esm/normalize-windows-path.js +0 -9
  287. package/dist/node_modules/tar/dist/esm/options.js +0 -54
  288. package/dist/node_modules/tar/dist/esm/pack.js +0 -502
  289. package/dist/node_modules/tar/dist/esm/package.json +0 -3
  290. package/dist/node_modules/tar/dist/esm/parse.js +0 -641
  291. package/dist/node_modules/tar/dist/esm/path-reservations.js +0 -166
  292. package/dist/node_modules/tar/dist/esm/pax.js +0 -178
  293. package/dist/node_modules/tar/dist/esm/process-umask.js +0 -3
  294. package/dist/node_modules/tar/dist/esm/read-entry.js +0 -132
  295. package/dist/node_modules/tar/dist/esm/replace.js +0 -221
  296. package/dist/node_modules/tar/dist/esm/strip-absolute-path.js +0 -25
  297. package/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +0 -14
  298. package/dist/node_modules/tar/dist/esm/symlink-error.js +0 -15
  299. package/dist/node_modules/tar/dist/esm/types.js +0 -65
  300. package/dist/node_modules/tar/dist/esm/unpack.js +0 -891
  301. package/dist/node_modules/tar/dist/esm/update.js +0 -30
  302. package/dist/node_modules/tar/dist/esm/warn-method.js +0 -27
  303. package/dist/node_modules/tar/dist/esm/winchars.js +0 -9
  304. package/dist/node_modules/tar/dist/esm/write-entry.js +0 -656
  305. package/dist/node_modules/tar/package.json +0 -298
  306. package/dist/node_modules/tinyglobby/LICENSE +0 -21
  307. package/dist/node_modules/tinyglobby/dist/index.cjs +0 -335
  308. package/dist/node_modules/tinyglobby/dist/index.d.cts +0 -148
  309. package/dist/node_modules/tinyglobby/dist/index.d.mts +0 -148
  310. package/dist/node_modules/tinyglobby/dist/index.mjs +0 -307
  311. package/dist/node_modules/tinyglobby/package.json +0 -70
  312. package/dist/node_modules/undici/LICENSE +0 -21
  313. package/dist/node_modules/undici/index-fetch.js +0 -35
  314. package/dist/node_modules/undici/index.js +0 -169
  315. package/dist/node_modules/undici/lib/api/abort-signal.js +0 -57
  316. package/dist/node_modules/undici/lib/api/api-connect.js +0 -108
  317. package/dist/node_modules/undici/lib/api/api-pipeline.js +0 -251
  318. package/dist/node_modules/undici/lib/api/api-request.js +0 -214
  319. package/dist/node_modules/undici/lib/api/api-stream.js +0 -220
  320. package/dist/node_modules/undici/lib/api/api-upgrade.js +0 -108
  321. package/dist/node_modules/undici/lib/api/index.js +0 -7
  322. package/dist/node_modules/undici/lib/api/readable.js +0 -385
  323. package/dist/node_modules/undici/lib/api/util.js +0 -93
  324. package/dist/node_modules/undici/lib/core/connect.js +0 -240
  325. package/dist/node_modules/undici/lib/core/constants.js +0 -118
  326. package/dist/node_modules/undici/lib/core/diagnostics.js +0 -202
  327. package/dist/node_modules/undici/lib/core/errors.js +0 -425
  328. package/dist/node_modules/undici/lib/core/request.js +0 -405
  329. package/dist/node_modules/undici/lib/core/symbols.js +0 -67
  330. package/dist/node_modules/undici/lib/core/tree.js +0 -152
  331. package/dist/node_modules/undici/lib/core/util.js +0 -719
  332. package/dist/node_modules/undici/lib/dispatcher/agent.js +0 -129
  333. package/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +0 -209
  334. package/dist/node_modules/undici/lib/dispatcher/client-h1.js +0 -1487
  335. package/dist/node_modules/undici/lib/dispatcher/client-h2.js +0 -744
  336. package/dist/node_modules/undici/lib/dispatcher/client.js +0 -623
  337. package/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +0 -199
  338. package/dist/node_modules/undici/lib/dispatcher/dispatcher.js +0 -65
  339. package/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +0 -160
  340. package/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +0 -117
  341. package/dist/node_modules/undici/lib/dispatcher/pool-base.js +0 -194
  342. package/dist/node_modules/undici/lib/dispatcher/pool-stats.js +0 -34
  343. package/dist/node_modules/undici/lib/dispatcher/pool.js +0 -107
  344. package/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +0 -274
  345. package/dist/node_modules/undici/lib/dispatcher/retry-agent.js +0 -35
  346. package/dist/node_modules/undici/lib/global.js +0 -32
  347. package/dist/node_modules/undici/lib/handler/decorator-handler.js +0 -44
  348. package/dist/node_modules/undici/lib/handler/redirect-handler.js +0 -232
  349. package/dist/node_modules/undici/lib/handler/retry-handler.js +0 -374
  350. package/dist/node_modules/undici/lib/interceptor/dns.js +0 -375
  351. package/dist/node_modules/undici/lib/interceptor/dump.js +0 -123
  352. package/dist/node_modules/undici/lib/interceptor/redirect-interceptor.js +0 -21
  353. package/dist/node_modules/undici/lib/interceptor/redirect.js +0 -24
  354. package/dist/node_modules/undici/lib/interceptor/response-error.js +0 -86
  355. package/dist/node_modules/undici/lib/interceptor/retry.js +0 -19
  356. package/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  357. package/dist/node_modules/undici/lib/llhttp/constants.js +0 -278
  358. package/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +0 -5
  359. package/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +0 -5
  360. package/dist/node_modules/undici/lib/llhttp/utils.js +0 -15
  361. package/dist/node_modules/undici/lib/mock/mock-agent.js +0 -160
  362. package/dist/node_modules/undici/lib/mock/mock-client.js +0 -59
  363. package/dist/node_modules/undici/lib/mock/mock-errors.js +0 -28
  364. package/dist/node_modules/undici/lib/mock/mock-interceptor.js +0 -207
  365. package/dist/node_modules/undici/lib/mock/mock-pool.js +0 -59
  366. package/dist/node_modules/undici/lib/mock/mock-symbols.js +0 -23
  367. package/dist/node_modules/undici/lib/mock/mock-utils.js +0 -367
  368. package/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +0 -43
  369. package/dist/node_modules/undici/lib/mock/pluralizer.js +0 -29
  370. package/dist/node_modules/undici/lib/util/timers.js +0 -423
  371. package/dist/node_modules/undici/lib/web/cache/cache.js +0 -859
  372. package/dist/node_modules/undici/lib/web/cache/cachestorage.js +0 -152
  373. package/dist/node_modules/undici/lib/web/cache/symbols.js +0 -5
  374. package/dist/node_modules/undici/lib/web/cache/util.js +0 -45
  375. package/dist/node_modules/undici/lib/web/cookies/constants.js +0 -12
  376. package/dist/node_modules/undici/lib/web/cookies/index.js +0 -184
  377. package/dist/node_modules/undici/lib/web/cookies/parse.js +0 -310
  378. package/dist/node_modules/undici/lib/web/cookies/util.js +0 -282
  379. package/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +0 -398
  380. package/dist/node_modules/undici/lib/web/eventsource/eventsource.js +0 -480
  381. package/dist/node_modules/undici/lib/web/eventsource/util.js +0 -37
  382. package/dist/node_modules/undici/lib/web/fetch/LICENSE +0 -21
  383. package/dist/node_modules/undici/lib/web/fetch/body.js +0 -529
  384. package/dist/node_modules/undici/lib/web/fetch/constants.js +0 -124
  385. package/dist/node_modules/undici/lib/web/fetch/data-url.js +0 -744
  386. package/dist/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +0 -46
  387. package/dist/node_modules/undici/lib/web/fetch/file.js +0 -126
  388. package/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +0 -474
  389. package/dist/node_modules/undici/lib/web/fetch/formdata.js +0 -252
  390. package/dist/node_modules/undici/lib/web/fetch/global.js +0 -40
  391. package/dist/node_modules/undici/lib/web/fetch/headers.js +0 -687
  392. package/dist/node_modules/undici/lib/web/fetch/index.js +0 -2272
  393. package/dist/node_modules/undici/lib/web/fetch/request.js +0 -1037
  394. package/dist/node_modules/undici/lib/web/fetch/response.js +0 -610
  395. package/dist/node_modules/undici/lib/web/fetch/symbols.js +0 -9
  396. package/dist/node_modules/undici/lib/web/fetch/util.js +0 -1632
  397. package/dist/node_modules/undici/lib/web/fetch/webidl.js +0 -695
  398. package/dist/node_modules/undici/lib/web/fileapi/encoding.js +0 -290
  399. package/dist/node_modules/undici/lib/web/fileapi/filereader.js +0 -344
  400. package/dist/node_modules/undici/lib/web/fileapi/progressevent.js +0 -78
  401. package/dist/node_modules/undici/lib/web/fileapi/symbols.js +0 -10
  402. package/dist/node_modules/undici/lib/web/fileapi/util.js +0 -391
  403. package/dist/node_modules/undici/lib/web/websocket/connection.js +0 -371
  404. package/dist/node_modules/undici/lib/web/websocket/constants.js +0 -66
  405. package/dist/node_modules/undici/lib/web/websocket/events.js +0 -329
  406. package/dist/node_modules/undici/lib/web/websocket/frame.js +0 -96
  407. package/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +0 -100
  408. package/dist/node_modules/undici/lib/web/websocket/receiver.js +0 -513
  409. package/dist/node_modules/undici/lib/web/websocket/sender.js +0 -104
  410. package/dist/node_modules/undici/lib/web/websocket/symbols.js +0 -12
  411. package/dist/node_modules/undici/lib/web/websocket/util.js +0 -322
  412. package/dist/node_modules/undici/lib/web/websocket/websocket.js +0 -595
  413. package/dist/node_modules/undici/package.json +0 -160
  414. package/dist/node_modules/undici/scripts/strip-comments.js +0 -8
  415. package/dist/node_modules/v8-compile-cache/package.json +0 -34
  416. package/dist/node_modules/v8-compile-cache/v8-compile-cache.js +0 -373
  417. package/dist/node_modules/which/LICENSE +0 -15
  418. package/dist/node_modules/which/bin/which.js +0 -52
  419. package/dist/node_modules/which/lib/index.js +0 -111
  420. package/dist/node_modules/which/package.json +0 -52
  421. package/dist/node_modules/yallist/dist/commonjs/index.js +0 -384
  422. package/dist/node_modules/yallist/dist/commonjs/package.json +0 -3
  423. package/dist/node_modules/yallist/dist/esm/index.js +0 -379
  424. package/dist/node_modules/yallist/dist/esm/package.json +0 -3
  425. package/dist/node_modules/yallist/package.json +0 -68
  426. package/dist/pnpm.mjs +0 -308376
  427. package/dist/pnpmrc +0 -2
  428. package/dist/templates/completion.bash +0 -31
  429. package/dist/templates/completion.fish +0 -22
  430. package/dist/templates/completion.ps1 +0 -193
  431. package/dist/templates/completion.zsh +0 -27
  432. package/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  433. package/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  434. package/dist/worker.js +0 -11938
  435. package/pn.cmd +0 -2
  436. package/pn.ps1 +0 -1
  437. package/pnpx.cmd +0 -2
  438. package/pnpx.ps1 +0 -1
  439. package/pnx.cmd +0 -2
  440. package/pnx.ps1 +0 -1
@@ -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]