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,725 +0,0 @@
1
- # Copyright (c) 2012 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
- import errno
6
- import filecmp
7
- import os.path
8
- import re
9
- import shlex
10
- import subprocess
11
- import sys
12
- import tempfile
13
- from collections.abc import MutableSet
14
-
15
-
16
- # A minimal memoizing decorator. It'll blow up if the args aren't immutable,
17
- # among other "problems".
18
- class memoize:
19
- def __init__(self, func):
20
- self.func = func
21
- self.cache = {}
22
-
23
- def __call__(self, *args):
24
- try:
25
- return self.cache[args]
26
- except KeyError:
27
- result = self.func(*args)
28
- self.cache[args] = result
29
- return result
30
-
31
-
32
- class GypError(Exception):
33
- """Error class representing an error, which is to be presented
34
- to the user. The main entry point will catch and display this.
35
- """
36
-
37
-
38
- def ExceptionAppend(e, msg):
39
- """Append a message to the given exception's message."""
40
- if not e.args:
41
- e.args = (msg,)
42
- elif len(e.args) == 1:
43
- e.args = (str(e.args[0]) + " " + msg,)
44
- else:
45
- e.args = (str(e.args[0]) + " " + msg,) + e.args[1:]
46
-
47
-
48
- def FindQualifiedTargets(target, qualified_list):
49
- """
50
- Given a list of qualified targets, return the qualified targets for the
51
- specified |target|.
52
- """
53
- return [t for t in qualified_list if ParseQualifiedTarget(t)[1] == target]
54
-
55
-
56
- def ParseQualifiedTarget(target):
57
- # Splits a qualified target into a build file, target name and toolset.
58
-
59
- # NOTE: rsplit is used to disambiguate the Windows drive letter separator.
60
- target_split = target.rsplit(":", 1)
61
- if len(target_split) == 2:
62
- [build_file, target] = target_split
63
- else:
64
- build_file = None
65
-
66
- target_split = target.rsplit("#", 1)
67
- if len(target_split) == 2:
68
- [target, toolset] = target_split
69
- else:
70
- toolset = None
71
-
72
- return [build_file, target, toolset]
73
-
74
-
75
- def ResolveTarget(build_file, target, toolset):
76
- # This function resolves a target into a canonical form:
77
- # - a fully defined build file, either absolute or relative to the current
78
- # directory
79
- # - a target name
80
- # - a toolset
81
- #
82
- # build_file is the file relative to which 'target' is defined.
83
- # target is the qualified target.
84
- # toolset is the default toolset for that target.
85
- [parsed_build_file, target, parsed_toolset] = ParseQualifiedTarget(target)
86
-
87
- if parsed_build_file:
88
- if build_file:
89
- # If a relative path, parsed_build_file is relative to the directory
90
- # containing build_file. If build_file is not in the current directory,
91
- # parsed_build_file is not a usable path as-is. Resolve it by
92
- # interpreting it as relative to build_file. If parsed_build_file is
93
- # absolute, it is usable as a path regardless of the current directory,
94
- # and os.path.join will return it as-is.
95
- build_file = os.path.normpath(
96
- os.path.join(os.path.dirname(build_file), parsed_build_file)
97
- )
98
- # Further (to handle cases like ../cwd), make it relative to cwd)
99
- if not os.path.isabs(build_file):
100
- build_file = RelativePath(build_file, ".")
101
- else:
102
- build_file = parsed_build_file
103
-
104
- if parsed_toolset:
105
- toolset = parsed_toolset
106
-
107
- return [build_file, target, toolset]
108
-
109
-
110
- def BuildFile(fully_qualified_target):
111
- # Extracts the build file from the fully qualified target.
112
- return ParseQualifiedTarget(fully_qualified_target)[0]
113
-
114
-
115
- def GetEnvironFallback(var_list, default):
116
- """Look up a key in the environment, with fallback to secondary keys
117
- and finally falling back to a default value."""
118
- for var in var_list:
119
- if var in os.environ:
120
- return os.environ[var]
121
- return default
122
-
123
-
124
- def QualifiedTarget(build_file, target, toolset):
125
- # "Qualified" means the file that a target was defined in and the target
126
- # name, separated by a colon, suffixed by a # and the toolset name:
127
- # /path/to/file.gyp:target_name#toolset
128
- fully_qualified = build_file + ":" + target
129
- if toolset:
130
- fully_qualified = fully_qualified + "#" + toolset
131
- return fully_qualified
132
-
133
-
134
- @memoize
135
- def RelativePath(path, relative_to, follow_path_symlink=True):
136
- # Assuming both |path| and |relative_to| are relative to the current
137
- # directory, returns a relative path that identifies path relative to
138
- # relative_to.
139
- # If |follow_symlink_path| is true (default) and |path| is a symlink, then
140
- # this method returns a path to the real file represented by |path|. If it is
141
- # false, this method returns a path to the symlink. If |path| is not a
142
- # symlink, this option has no effect.
143
-
144
- # Convert to normalized (and therefore absolute paths).
145
- path = os.path.realpath(path) if follow_path_symlink else os.path.abspath(path)
146
- relative_to = os.path.realpath(relative_to)
147
-
148
- # On Windows, we can't create a relative path to a different drive, so just
149
- # use the absolute path.
150
- if sys.platform == "win32" and (
151
- os.path.splitdrive(path)[0].lower()
152
- != os.path.splitdrive(relative_to)[0].lower()
153
- ):
154
- return path
155
-
156
- # Split the paths into components.
157
- path_split = path.split(os.path.sep)
158
- relative_to_split = relative_to.split(os.path.sep)
159
-
160
- # Determine how much of the prefix the two paths share.
161
- prefix_len = len(os.path.commonprefix([path_split, relative_to_split]))
162
-
163
- # Put enough ".." components to back up out of relative_to to the common
164
- # prefix, and then append the part of path_split after the common prefix.
165
- relative_split = [os.path.pardir] * (
166
- len(relative_to_split) - prefix_len
167
- ) + path_split[prefix_len:]
168
-
169
- if len(relative_split) == 0:
170
- # The paths were the same.
171
- return ""
172
-
173
- # Turn it back into a string and we're done.
174
- return os.path.join(*relative_split)
175
-
176
-
177
- @memoize
178
- def InvertRelativePath(path, toplevel_dir=None):
179
- """Given a path like foo/bar that is relative to toplevel_dir, return
180
- the inverse relative path back to the toplevel_dir.
181
-
182
- E.g. os.path.normpath(os.path.join(path, InvertRelativePath(path)))
183
- should always produce the empty string, unless the path contains symlinks.
184
- """
185
- if not path:
186
- return path
187
- toplevel_dir = "." if toplevel_dir is None else toplevel_dir
188
- return RelativePath(toplevel_dir, os.path.join(toplevel_dir, path))
189
-
190
-
191
- def FixIfRelativePath(path, relative_to):
192
- # Like RelativePath but returns |path| unchanged if it is absolute.
193
- if os.path.isabs(path):
194
- return path
195
- return RelativePath(path, relative_to)
196
-
197
-
198
- def UnrelativePath(path, relative_to):
199
- # Assuming that |relative_to| is relative to the current directory, and |path|
200
- # is a path relative to the dirname of |relative_to|, returns a path that
201
- # identifies |path| relative to the current directory.
202
- rel_dir = os.path.dirname(relative_to)
203
- return os.path.normpath(os.path.join(rel_dir, path))
204
-
205
-
206
- # re objects used by EncodePOSIXShellArgument. See IEEE 1003.1 XCU.2.2 at
207
- # http://www.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html#tag_02_02
208
- # and the documentation for various shells.
209
-
210
- # _quote is a pattern that should match any argument that needs to be quoted
211
- # with double-quotes by EncodePOSIXShellArgument. It matches the following
212
- # characters appearing anywhere in an argument:
213
- # \t, \n, space parameter separators
214
- # # comments
215
- # $ expansions (quoted to always expand within one argument)
216
- # % called out by IEEE 1003.1 XCU.2.2
217
- # & job control
218
- # ' quoting
219
- # (, ) subshell execution
220
- # *, ?, [ pathname expansion
221
- # ; command delimiter
222
- # <, >, | redirection
223
- # = assignment
224
- # {, } brace expansion (bash)
225
- # ~ tilde expansion
226
- # It also matches the empty string, because "" (or '') is the only way to
227
- # represent an empty string literal argument to a POSIX shell.
228
- #
229
- # This does not match the characters in _escape, because those need to be
230
- # backslash-escaped regardless of whether they appear in a double-quoted
231
- # string.
232
- _quote = re.compile("[\t\n #$%&'()*;<=>?[{|}~]|^$")
233
-
234
- # _escape is a pattern that should match any character that needs to be
235
- # escaped with a backslash, whether or not the argument matched the _quote
236
- # pattern. _escape is used with re.sub to backslash anything in _escape's
237
- # first match group, hence the (parentheses) in the regular expression.
238
- #
239
- # _escape matches the following characters appearing anywhere in an argument:
240
- # " to prevent POSIX shells from interpreting this character for quoting
241
- # \ to prevent POSIX shells from interpreting this character for escaping
242
- # ` to prevent POSIX shells from interpreting this character for command
243
- # substitution
244
- # Missing from this list is $, because the desired behavior of
245
- # EncodePOSIXShellArgument is to permit parameter (variable) expansion.
246
- #
247
- # Also missing from this list is !, which bash will interpret as the history
248
- # expansion character when history is enabled. bash does not enable history
249
- # by default in non-interactive shells, so this is not thought to be a problem.
250
- # ! was omitted from this list because bash interprets "\!" as a literal string
251
- # including the backslash character (avoiding history expansion but retaining
252
- # the backslash), which would not be correct for argument encoding. Handling
253
- # this case properly would also be problematic because bash allows the history
254
- # character to be changed with the histchars shell variable. Fortunately,
255
- # as history is not enabled in non-interactive shells and
256
- # EncodePOSIXShellArgument is only expected to encode for non-interactive
257
- # shells, there is no room for error here by ignoring !.
258
- _escape = re.compile(r'(["\\`])')
259
-
260
-
261
- def EncodePOSIXShellArgument(argument):
262
- """Encodes |argument| suitably for consumption by POSIX shells.
263
-
264
- argument may be quoted and escaped as necessary to ensure that POSIX shells
265
- treat the returned value as a literal representing the argument passed to
266
- this function. Parameter (variable) expansions beginning with $ are allowed
267
- to remain intact without escaping the $, to allow the argument to contain
268
- references to variables to be expanded by the shell.
269
- """
270
-
271
- if not isinstance(argument, str):
272
- argument = str(argument)
273
-
274
- quote = '"' if _quote.search(argument) else ""
275
-
276
- encoded = quote + re.sub(_escape, r"\\\1", argument) + quote
277
-
278
- return encoded
279
-
280
-
281
- def EncodePOSIXShellList(list):
282
- """Encodes |list| suitably for consumption by POSIX shells.
283
-
284
- Returns EncodePOSIXShellArgument for each item in list, and joins them
285
- together using the space character as an argument separator.
286
- """
287
-
288
- encoded_arguments = []
289
- for argument in list:
290
- encoded_arguments.append(EncodePOSIXShellArgument(argument))
291
- return " ".join(encoded_arguments)
292
-
293
-
294
- def DeepDependencyTargets(target_dicts, roots):
295
- """Returns the recursive list of target dependencies."""
296
- dependencies = set()
297
- pending = set(roots)
298
- while pending:
299
- # Pluck out one.
300
- r = pending.pop()
301
- # Skip if visited already.
302
- if r in dependencies:
303
- continue
304
- # Add it.
305
- dependencies.add(r)
306
- # Add its children.
307
- spec = target_dicts[r]
308
- pending.update(set(spec.get("dependencies", [])))
309
- pending.update(set(spec.get("dependencies_original", [])))
310
- return list(dependencies - set(roots))
311
-
312
-
313
- def BuildFileTargets(target_list, build_file):
314
- """From a target_list, returns the subset from the specified build_file."""
315
- return [p for p in target_list if BuildFile(p) == build_file]
316
-
317
-
318
- def AllTargets(target_list, target_dicts, build_file):
319
- """Returns all targets (direct and dependencies) for the specified build_file."""
320
- bftargets = BuildFileTargets(target_list, build_file)
321
- deptargets = DeepDependencyTargets(target_dicts, bftargets)
322
- return bftargets + deptargets
323
-
324
-
325
- def WriteOnDiff(filename):
326
- """Write to a file only if the new contents differ.
327
-
328
- Arguments:
329
- filename: name of the file to potentially write to.
330
- Returns:
331
- A file like object which will write to temporary file and only overwrite
332
- the target if it differs (on close).
333
- """
334
-
335
- class Writer:
336
- """Wrapper around file which only covers the target if it differs."""
337
-
338
- def __init__(self):
339
- # On Cygwin remove the "dir" argument
340
- # `C:` prefixed paths are treated as relative,
341
- # consequently ending up with current dir "/cygdrive/c/..."
342
- # being prefixed to those, which was
343
- # obviously a non-existent path,
344
- # for example: "/cygdrive/c/<some folder>/C:\<my win style abs path>".
345
- # For more details see:
346
- # https://docs.python.org/2/library/tempfile.html#tempfile.mkstemp
347
- base_temp_dir = "" if IsCygwin() else os.path.dirname(filename)
348
- # Pick temporary file.
349
- tmp_fd, self.tmp_path = tempfile.mkstemp(
350
- suffix=".tmp",
351
- prefix=os.path.split(filename)[1] + ".gyp.",
352
- dir=base_temp_dir,
353
- )
354
- try:
355
- self.tmp_file = os.fdopen(tmp_fd, "wb")
356
- except Exception:
357
- # Don't leave turds behind.
358
- os.unlink(self.tmp_path)
359
- raise
360
-
361
- def __getattr__(self, attrname):
362
- # Delegate everything else to self.tmp_file
363
- return getattr(self.tmp_file, attrname)
364
-
365
- def close(self):
366
- try:
367
- # Close tmp file.
368
- self.tmp_file.close()
369
- # Determine if different.
370
- same = False
371
- try:
372
- same = filecmp.cmp(self.tmp_path, filename, False)
373
- except OSError as e:
374
- if e.errno != errno.ENOENT:
375
- raise
376
-
377
- if same:
378
- # The new file is identical to the old one, just get rid of the new
379
- # one.
380
- os.unlink(self.tmp_path)
381
- else:
382
- # The new file is different from the old one,
383
- # or there is no old one.
384
- # Rename the new file to the permanent name.
385
- #
386
- # tempfile.mkstemp uses an overly restrictive mode, resulting in a
387
- # file that can only be read by the owner, regardless of the umask.
388
- # There's no reason to not respect the umask here,
389
- # which means that an extra hoop is required
390
- # to fetch it and reset the new file's mode.
391
- #
392
- # No way to get the umask without setting a new one? Set a safe one
393
- # and then set it back to the old value.
394
- umask = os.umask(0o77)
395
- os.umask(umask)
396
- os.chmod(self.tmp_path, 0o666 & ~umask)
397
- if sys.platform == "win32" and os.path.exists(filename):
398
- # NOTE: on windows (but not cygwin) rename will not replace an
399
- # existing file, so it must be preceded with a remove.
400
- # Sadly there is no way to make the switch atomic.
401
- os.remove(filename)
402
- os.rename(self.tmp_path, filename)
403
- except Exception:
404
- # Don't leave turds behind.
405
- os.unlink(self.tmp_path)
406
- raise
407
-
408
- def write(self, s):
409
- self.tmp_file.write(s.encode("utf-8"))
410
-
411
- return Writer()
412
-
413
-
414
- def EnsureDirExists(path):
415
- """Make sure the directory for |path| exists."""
416
- try:
417
- os.makedirs(os.path.dirname(path))
418
- except OSError:
419
- pass
420
-
421
-
422
- def GetCompilerPredefines(): # -> dict
423
- cmd = []
424
- defines = {}
425
-
426
- # shlex.split() will eat '\' in posix mode, but
427
- # setting posix=False will preserve extra '"' cause CreateProcess fail on Windows
428
- # this makes '\' in %CC_target% and %CFLAGS% work
429
- def replace_sep(s):
430
- return s.replace(os.sep, "/") if os.sep != "/" else s
431
-
432
- if CC := os.environ.get("CC_target") or os.environ.get("CC"):
433
- cmd += shlex.split(replace_sep(CC))
434
- if CFLAGS := os.environ.get("CFLAGS"):
435
- cmd += shlex.split(replace_sep(CFLAGS))
436
- elif CXX := os.environ.get("CXX_target") or os.environ.get("CXX"):
437
- cmd += shlex.split(replace_sep(CXX))
438
- if CXXFLAGS := os.environ.get("CXXFLAGS"):
439
- cmd += shlex.split(replace_sep(CXXFLAGS))
440
- else:
441
- return defines
442
-
443
- if sys.platform == "win32":
444
- fd, input = tempfile.mkstemp(suffix=".c")
445
- real_cmd = [*cmd, "-dM", "-E", "-x", "c", input]
446
- try:
447
- os.close(fd)
448
- stdout = subprocess.run(
449
- real_cmd, shell=True, capture_output=True, check=True
450
- ).stdout
451
- except subprocess.CalledProcessError as e:
452
- print(
453
- "Warning: failed to get compiler predefines\n"
454
- "cmd: %s\n"
455
- "status: %d" % (e.cmd, e.returncode),
456
- file=sys.stderr,
457
- )
458
- return defines
459
- finally:
460
- os.unlink(input)
461
- else:
462
- input = "/dev/null"
463
- real_cmd = [*cmd, "-dM", "-E", "-x", "c", input]
464
- try:
465
- stdout = subprocess.run(
466
- real_cmd, shell=False, capture_output=True, check=True
467
- ).stdout
468
- except subprocess.CalledProcessError as e:
469
- print(
470
- "Warning: failed to get compiler predefines\n"
471
- "cmd: %s\n"
472
- "status: %d" % (e.cmd, e.returncode),
473
- file=sys.stderr,
474
- )
475
- return defines
476
-
477
- lines = stdout.decode("utf-8").replace("\r\n", "\n").split("\n")
478
- for line in lines:
479
- if (line or "").startswith("#define "):
480
- _, key, *value = line.split(" ")
481
- defines[key] = " ".join(value)
482
- return defines
483
-
484
-
485
- def GetFlavorByPlatform():
486
- """Returns |params.flavor| if it's set, the system's default flavor else."""
487
- flavors = {
488
- "cygwin": "win",
489
- "win32": "win",
490
- "darwin": "mac",
491
- }
492
-
493
- if sys.platform in flavors:
494
- return flavors[sys.platform]
495
- if sys.platform.startswith("sunos"):
496
- return "solaris"
497
- if sys.platform.startswith(("dragonfly", "freebsd")):
498
- return "freebsd"
499
- if sys.platform.startswith("openbsd"):
500
- return "openbsd"
501
- if sys.platform.startswith("netbsd"):
502
- return "netbsd"
503
- if sys.platform.startswith("aix"):
504
- return "aix"
505
- if sys.platform.startswith(("os390", "zos")):
506
- return "zos"
507
- if sys.platform == "os400":
508
- return "os400"
509
-
510
- return "linux"
511
-
512
-
513
- def GetFlavor(params):
514
- if "flavor" in params:
515
- return params["flavor"]
516
-
517
- defines = GetCompilerPredefines()
518
- if "__EMSCRIPTEN__" in defines:
519
- return "emscripten"
520
- if "__wasm__" in defines:
521
- return "wasi" if "__wasi__" in defines else "wasm"
522
-
523
- return GetFlavorByPlatform()
524
-
525
-
526
- def CopyTool(flavor, out_path, generator_flags={}):
527
- """Finds (flock|mac|win)_tool.gyp in the gyp directory and copies it
528
- to |out_path|."""
529
- # aix and solaris just need flock emulation. mac and win use more complicated
530
- # support scripts.
531
- prefix = {
532
- "aix": "flock",
533
- "os400": "flock",
534
- "solaris": "flock",
535
- "mac": "mac",
536
- "ios": "mac",
537
- "win": "win",
538
- }.get(flavor, None)
539
- if not prefix:
540
- return
541
-
542
- # Slurp input file.
543
- source_path = os.path.join(
544
- os.path.dirname(os.path.abspath(__file__)), "%s_tool.py" % prefix
545
- )
546
- with open(source_path) as source_file:
547
- source = source_file.readlines()
548
-
549
- # Set custom header flags.
550
- header = "# Generated by gyp. Do not edit.\n"
551
- mac_toolchain_dir = generator_flags.get("mac_toolchain_dir", None)
552
- if flavor == "mac" and mac_toolchain_dir:
553
- header += "import os;\nos.environ['DEVELOPER_DIR']='%s'\n" % mac_toolchain_dir
554
-
555
- # Add header and write it out.
556
- tool_path = os.path.join(out_path, "gyp-%s-tool" % prefix)
557
- with open(tool_path, "w") as tool_file:
558
- tool_file.write("".join([source[0], header] + source[1:]))
559
-
560
- # Make file executable.
561
- os.chmod(tool_path, 0o755)
562
-
563
-
564
- # From Alex Martelli,
565
- # http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52560
566
- # ASPN: Python Cookbook: Remove duplicates from a sequence
567
- # First comment, dated 2001/10/13.
568
- # (Also in the printed Python Cookbook.)
569
-
570
-
571
- def uniquer(seq, idfun=lambda x: x):
572
- seen = {}
573
- result = []
574
- for item in seq:
575
- marker = idfun(item)
576
- if marker in seen:
577
- continue
578
- seen[marker] = 1
579
- result.append(item)
580
- return result
581
-
582
-
583
- # Based on http://code.activestate.com/recipes/576694/.
584
- class OrderedSet(MutableSet): # noqa: PLW1641
585
- # TODO (cclauss): Fix eq-without-hash ruff rule PLW1641
586
- def __init__(self, iterable=None):
587
- self.end = end = []
588
- end += [None, end, end] # sentinel node for doubly linked list
589
- self.map = {} # key --> [key, prev, next]
590
- if iterable is not None:
591
- self |= iterable
592
-
593
- def __len__(self):
594
- return len(self.map)
595
-
596
- def __contains__(self, key):
597
- return key in self.map
598
-
599
- def add(self, key):
600
- if key not in self.map:
601
- end = self.end
602
- curr = end[1]
603
- curr[2] = end[1] = self.map[key] = [key, curr, end]
604
-
605
- def discard(self, key):
606
- if key in self.map:
607
- key, prev_item, next_item = self.map.pop(key)
608
- prev_item[2] = next_item
609
- next_item[1] = prev_item
610
-
611
- def __iter__(self):
612
- end = self.end
613
- curr = end[2]
614
- while curr is not end:
615
- yield curr[0]
616
- curr = curr[2]
617
-
618
- def __reversed__(self):
619
- end = self.end
620
- curr = end[1]
621
- while curr is not end:
622
- yield curr[0]
623
- curr = curr[1]
624
-
625
- # The second argument is an addition that causes a pylint warning.
626
- def pop(self, last=True): # pylint: disable=W0221
627
- if not self:
628
- raise KeyError("set is empty")
629
- key = self.end[1][0] if last else self.end[2][0]
630
- self.discard(key)
631
- return key
632
-
633
- def __repr__(self):
634
- if not self:
635
- return f"{self.__class__.__name__}()"
636
- return f"{self.__class__.__name__}({list(self)!r})"
637
-
638
- def __eq__(self, other):
639
- if isinstance(other, OrderedSet):
640
- return len(self) == len(other) and list(self) == list(other)
641
- return set(self) == set(other)
642
-
643
- # Extensions to the recipe.
644
- def update(self, iterable):
645
- for i in iterable:
646
- if i not in self:
647
- self.add(i)
648
-
649
-
650
- class CycleError(Exception):
651
- """An exception raised when an unexpected cycle is detected."""
652
-
653
- def __init__(self, nodes):
654
- self.nodes = nodes
655
-
656
- def __str__(self):
657
- return "CycleError: cycle involving: " + str(self.nodes)
658
-
659
-
660
- def TopologicallySorted(graph, get_edges):
661
- r"""Topologically sort based on a user provided edge definition.
662
-
663
- Args:
664
- graph: A list of node names.
665
- get_edges: A function mapping from node name to a hashable collection
666
- of node names which this node has outgoing edges to.
667
- Returns:
668
- A list containing all of the node in graph in topological order.
669
- It is assumed that calling get_edges once for each node and caching is
670
- cheaper than repeatedly calling get_edges.
671
- Raises:
672
- CycleError in the event of a cycle.
673
- Example:
674
- graph = {'a': '$(b) $(c)', 'b': 'hi', 'c': '$(b)'}
675
- def GetEdges(node):
676
- return re.findall(r'\$\(([^))]\)', graph[node])
677
- print TopologicallySorted(graph.keys(), GetEdges)
678
- ==>
679
- ['a', 'c', b']
680
- """
681
- get_edges = memoize(get_edges)
682
- visited = set()
683
- visiting = set()
684
- ordered_nodes = []
685
-
686
- def Visit(node):
687
- if node in visiting:
688
- raise CycleError(visiting)
689
- if node in visited:
690
- return
691
- visited.add(node)
692
- visiting.add(node)
693
- for neighbor in get_edges(node):
694
- Visit(neighbor)
695
- visiting.remove(node)
696
- ordered_nodes.insert(0, node)
697
-
698
- for node in sorted(graph):
699
- Visit(node)
700
- return ordered_nodes
701
-
702
-
703
- def CrossCompileRequested():
704
- # TODO: figure out how to not build extra host objects in the
705
- # non-cross-compile case when this is enabled, and enable unconditionally.
706
- return (
707
- os.environ.get("GYP_CROSSCOMPILE")
708
- or os.environ.get("AR_host")
709
- or os.environ.get("CC_host")
710
- or os.environ.get("CXX_host")
711
- or os.environ.get("AR_target")
712
- or os.environ.get("CC_target")
713
- or os.environ.get("CXX_target")
714
- )
715
-
716
-
717
- def IsCygwin():
718
- try:
719
- out = subprocess.Popen(
720
- "uname", stdout=subprocess.PIPE, stderr=subprocess.STDOUT
721
- )
722
- stdout = out.communicate()[0].decode("utf-8")
723
- return "CYGWIN" in str(stdout)
724
- except Exception:
725
- return False