pnpm 11.13.0 → 11.14.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.
- package/CHANGELOG.md +42 -0
- package/artifacts/exe/dist/node-gyp-bin/node-gyp +6 -0
- package/artifacts/exe/dist/node-gyp-bin/node-gyp.cmd +5 -0
- package/artifacts/exe/dist/node_modules/.bin/node-gyp +38 -0
- package/artifacts/exe/dist/node_modules/.bin/node-which +38 -0
- package/artifacts/exe/dist/node_modules/.bin/nopt +38 -0
- package/artifacts/exe/dist/node_modules/.bin/semver +38 -0
- package/artifacts/exe/dist/node_modules/.package-map.json +1 -0
- package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
- package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
- package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
- package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
- package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
- package/artifacts/exe/dist/node_modules/@isaacs/fs-minipass/package.json +72 -0
- package/artifacts/exe/dist/node_modules/abbrev/LICENSE +46 -0
- package/artifacts/exe/dist/node_modules/abbrev/lib/index.js +53 -0
- package/artifacts/exe/dist/node_modules/abbrev/package.json +41 -0
- package/artifacts/exe/dist/node_modules/chownr/dist/commonjs/index.js +93 -0
- package/artifacts/exe/dist/node_modules/chownr/dist/commonjs/package.json +3 -0
- package/artifacts/exe/dist/node_modules/chownr/dist/esm/index.js +85 -0
- package/artifacts/exe/dist/node_modules/chownr/dist/esm/package.json +3 -0
- package/artifacts/exe/dist/node_modules/chownr/package.json +69 -0
- package/artifacts/exe/dist/node_modules/env-paths/index.js +74 -0
- package/artifacts/exe/dist/node_modules/env-paths/license +9 -0
- package/artifacts/exe/dist/node_modules/env-paths/package.json +45 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/LICENSE +202 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/backoff.js +124 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/dist/options.js +31 -0
- package/artifacts/exe/dist/node_modules/exponential-backoff/package.json +62 -0
- package/artifacts/exe/dist/node_modules/fdir/LICENSE +7 -0
- package/artifacts/exe/dist/node_modules/fdir/dist/index.cjs +588 -0
- package/artifacts/exe/dist/node_modules/fdir/dist/index.d.cts +155 -0
- package/artifacts/exe/dist/node_modules/fdir/dist/index.d.mts +155 -0
- package/artifacts/exe/dist/node_modules/fdir/dist/index.mjs +570 -0
- package/artifacts/exe/dist/node_modules/fdir/package.json +103 -0
- package/artifacts/exe/dist/node_modules/graceful-fs/LICENSE +15 -0
- package/artifacts/exe/dist/node_modules/graceful-fs/clone.js +23 -0
- package/artifacts/exe/dist/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/artifacts/exe/dist/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/artifacts/exe/dist/node_modules/graceful-fs/package.json +53 -0
- package/artifacts/exe/dist/node_modules/graceful-fs/polyfills.js +355 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/index.js +56 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/index.min.js +2 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/options.js +3 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/package.json +3 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/posix.js +67 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/commonjs/win32.js +63 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/esm/index.js +16 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/esm/index.min.js +2 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/esm/options.js +2 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/esm/package.json +3 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/esm/posix.js +62 -0
- package/artifacts/exe/dist/node_modules/isexe/dist/esm/win32.js +58 -0
- package/artifacts/exe/dist/node_modules/isexe/package.json +78 -0
- package/artifacts/exe/dist/node_modules/minipass/dist/commonjs/index.js +1038 -0
- package/artifacts/exe/dist/node_modules/minipass/dist/commonjs/package.json +3 -0
- package/artifacts/exe/dist/node_modules/minipass/dist/esm/index.js +1020 -0
- package/artifacts/exe/dist/node_modules/minipass/dist/esm/package.json +3 -0
- package/artifacts/exe/dist/node_modules/minipass/package.json +77 -0
- package/artifacts/exe/dist/node_modules/minizlib/LICENSE +26 -0
- package/artifacts/exe/dist/node_modules/minizlib/dist/commonjs/constants.js +123 -0
- package/artifacts/exe/dist/node_modules/minizlib/dist/commonjs/index.js +416 -0
- package/artifacts/exe/dist/node_modules/minizlib/dist/commonjs/package.json +3 -0
- package/artifacts/exe/dist/node_modules/minizlib/dist/esm/constants.js +117 -0
- package/artifacts/exe/dist/node_modules/minizlib/dist/esm/index.js +363 -0
- package/artifacts/exe/dist/node_modules/minizlib/dist/esm/package.json +3 -0
- package/artifacts/exe/dist/node_modules/minizlib/package.json +80 -0
- package/artifacts/exe/dist/node_modules/node-gyp/.release-please-manifest.json +3 -0
- package/artifacts/exe/dist/node_modules/node-gyp/LICENSE +24 -0
- package/artifacts/exe/dist/node_modules/node-gyp/addon.gypi +204 -0
- package/artifacts/exe/dist/node_modules/node-gyp/bin/node-gyp.js +145 -0
- package/artifacts/exe/dist/node_modules/node-gyp/eslint.config.js +3 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/LICENSE +28 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/gyp +8 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/gyp.bat +5 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/gyp_main.py +45 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +365 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1283 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1545 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +152 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +270 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +607 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +706 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +725 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +186 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +170 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +113 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +805 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1169 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1316 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +128 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +104 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +461 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +88 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +55 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2755 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3970 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2957 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +77 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1389 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +26 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +3097 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +99 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +765 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1255 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +371 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1936 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +54 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +301 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3180 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +64 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +107 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +251 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +807 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +541 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/pyproject.toml +116 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/release-please-config.json +11 -0
- package/artifacts/exe/dist/node_modules/node-gyp/gyp/test_gyp.py +260 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/build.js +230 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/clean.js +15 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/configure.js +328 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/create-config-gypi.js +153 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/download.js +86 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/find-node-directory.js +63 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/find-python.js +304 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/find-visualstudio.js +606 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/install.js +411 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/list.js +26 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/log.js +168 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/node-gyp.js +199 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/process-release.js +144 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/rebuild.js +12 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/remove.js +43 -0
- package/artifacts/exe/dist/node_modules/node-gyp/lib/util.js +81 -0
- package/artifacts/exe/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
- package/artifacts/exe/dist/node_modules/node-gyp/package.json +52 -0
- package/artifacts/exe/dist/node_modules/node-gyp/release-please-config.json +40 -0
- package/artifacts/exe/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +41 -0
- package/artifacts/exe/dist/node_modules/nopt/LICENSE +15 -0
- package/artifacts/exe/dist/node_modules/nopt/bin/nopt.js +29 -0
- package/artifacts/exe/dist/node_modules/nopt/lib/debug.js +5 -0
- package/artifacts/exe/dist/node_modules/nopt/lib/nopt-lib.js +514 -0
- package/artifacts/exe/dist/node_modules/nopt/lib/nopt.js +34 -0
- package/artifacts/exe/dist/node_modules/nopt/lib/type-defs.js +91 -0
- package/artifacts/exe/dist/node_modules/nopt/package.json +52 -0
- package/artifacts/exe/dist/node_modules/picomatch/LICENSE +21 -0
- package/artifacts/exe/dist/node_modules/picomatch/index.js +17 -0
- package/artifacts/exe/dist/node_modules/picomatch/lib/constants.js +184 -0
- package/artifacts/exe/dist/node_modules/picomatch/lib/parse.js +1416 -0
- package/artifacts/exe/dist/node_modules/picomatch/lib/picomatch.js +361 -0
- package/artifacts/exe/dist/node_modules/picomatch/lib/scan.js +391 -0
- package/artifacts/exe/dist/node_modules/picomatch/lib/utils.js +72 -0
- package/artifacts/exe/dist/node_modules/picomatch/package.json +83 -0
- package/artifacts/exe/dist/node_modules/picomatch/posix.js +3 -0
- package/artifacts/exe/dist/node_modules/proc-log/LICENSE +15 -0
- package/artifacts/exe/dist/node_modules/proc-log/lib/index.js +158 -0
- package/artifacts/exe/dist/node_modules/proc-log/package.json +46 -0
- package/artifacts/exe/dist/node_modules/semver/LICENSE +15 -0
- package/artifacts/exe/dist/node_modules/semver/bin/semver.js +195 -0
- package/artifacts/exe/dist/node_modules/semver/classes/comparator.js +143 -0
- package/artifacts/exe/dist/node_modules/semver/classes/index.js +7 -0
- package/artifacts/exe/dist/node_modules/semver/classes/range.js +577 -0
- package/artifacts/exe/dist/node_modules/semver/classes/semver.js +350 -0
- package/artifacts/exe/dist/node_modules/semver/functions/clean.js +8 -0
- package/artifacts/exe/dist/node_modules/semver/functions/cmp.js +54 -0
- package/artifacts/exe/dist/node_modules/semver/functions/coerce.js +62 -0
- package/artifacts/exe/dist/node_modules/semver/functions/compare-build.js +9 -0
- package/artifacts/exe/dist/node_modules/semver/functions/compare-loose.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/compare.js +7 -0
- package/artifacts/exe/dist/node_modules/semver/functions/diff.js +60 -0
- package/artifacts/exe/dist/node_modules/semver/functions/eq.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/gt.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/gte.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/inc.js +21 -0
- package/artifacts/exe/dist/node_modules/semver/functions/lt.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/lte.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/major.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/minor.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/neq.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/parse.js +18 -0
- package/artifacts/exe/dist/node_modules/semver/functions/patch.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/prerelease.js +8 -0
- package/artifacts/exe/dist/node_modules/semver/functions/rcompare.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/rsort.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/satisfies.js +12 -0
- package/artifacts/exe/dist/node_modules/semver/functions/sort.js +5 -0
- package/artifacts/exe/dist/node_modules/semver/functions/truncate.js +48 -0
- package/artifacts/exe/dist/node_modules/semver/functions/valid.js +8 -0
- package/artifacts/exe/dist/node_modules/semver/index.js +93 -0
- package/artifacts/exe/dist/node_modules/semver/internal/constants.js +37 -0
- package/artifacts/exe/dist/node_modules/semver/internal/debug.js +11 -0
- package/artifacts/exe/dist/node_modules/semver/internal/identifiers.js +29 -0
- package/artifacts/exe/dist/node_modules/semver/internal/lrucache.js +42 -0
- package/artifacts/exe/dist/node_modules/semver/internal/parse-options.js +17 -0
- package/artifacts/exe/dist/node_modules/semver/internal/re.js +223 -0
- package/artifacts/exe/dist/node_modules/semver/package.json +78 -0
- package/artifacts/exe/dist/node_modules/semver/preload.js +4 -0
- package/artifacts/exe/dist/node_modules/semver/range.bnf +17 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/gtr.js +6 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/intersects.js +9 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/ltr.js +6 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/min-version.js +63 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/outside.js +82 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/simplify.js +49 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/subset.js +249 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/to-comparators.js +10 -0
- package/artifacts/exe/dist/node_modules/semver/ranges/valid.js +13 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/create.js +82 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/extract.js +88 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/header.js +348 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/index.js +64 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/index.min.js +4 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/list.js +145 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/make-command.js +52 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/mkdir.js +187 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/options.js +66 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/pack.js +544 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/package.json +3 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/parse.js +655 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/pax.js +182 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/process-umask.js +7 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/read-entry.js +136 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/replace.js +227 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/types.js +70 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/unpack.js +932 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/update.js +33 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/warn-method.js +31 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/winchars.js +14 -0
- package/artifacts/exe/dist/node_modules/tar/dist/commonjs/write-entry.js +698 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/create.js +76 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/cwd-error.js +14 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/extract.js +49 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/get-write-flag.js +26 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/header.js +311 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/index.js +20 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/index.min.js +4 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/large-numbers.js +94 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/list.js +105 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/make-command.js +48 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/mkdir.js +179 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/mode-fix.js +25 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/options.js +54 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/pack.js +502 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/package.json +3 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/parse.js +651 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/path-reservations.js +166 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/pax.js +178 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/process-umask.js +3 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/read-entry.js +132 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/replace.js +221 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/symlink-error.js +15 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/types.js +65 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/unpack.js +891 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/update.js +30 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/warn-method.js +27 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/winchars.js +9 -0
- package/artifacts/exe/dist/node_modules/tar/dist/esm/write-entry.js +656 -0
- package/artifacts/exe/dist/node_modules/tar/package.json +298 -0
- package/artifacts/exe/dist/node_modules/tinyglobby/LICENSE +21 -0
- package/artifacts/exe/dist/node_modules/tinyglobby/dist/index.cjs +335 -0
- package/artifacts/exe/dist/node_modules/tinyglobby/dist/index.d.cts +148 -0
- package/artifacts/exe/dist/node_modules/tinyglobby/dist/index.d.mts +148 -0
- package/artifacts/exe/dist/node_modules/tinyglobby/dist/index.mjs +307 -0
- package/artifacts/exe/dist/node_modules/tinyglobby/package.json +70 -0
- package/artifacts/exe/dist/node_modules/undici/LICENSE +21 -0
- package/artifacts/exe/dist/node_modules/undici/index-fetch.js +35 -0
- package/artifacts/exe/dist/node_modules/undici/index.js +169 -0
- package/artifacts/exe/dist/node_modules/undici/lib/api/abort-signal.js +57 -0
- package/artifacts/exe/dist/node_modules/undici/lib/api/api-connect.js +108 -0
- package/artifacts/exe/dist/node_modules/undici/lib/api/api-pipeline.js +251 -0
- package/artifacts/exe/dist/node_modules/undici/lib/api/api-request.js +214 -0
- package/artifacts/exe/dist/node_modules/undici/lib/api/api-stream.js +220 -0
- package/artifacts/exe/dist/node_modules/undici/lib/api/api-upgrade.js +108 -0
- package/artifacts/exe/dist/node_modules/undici/lib/api/index.js +7 -0
- package/artifacts/exe/dist/node_modules/undici/lib/api/readable.js +385 -0
- package/artifacts/exe/dist/node_modules/undici/lib/api/util.js +93 -0
- package/artifacts/exe/dist/node_modules/undici/lib/core/connect.js +240 -0
- package/artifacts/exe/dist/node_modules/undici/lib/core/constants.js +118 -0
- package/artifacts/exe/dist/node_modules/undici/lib/core/diagnostics.js +202 -0
- package/artifacts/exe/dist/node_modules/undici/lib/core/errors.js +425 -0
- package/artifacts/exe/dist/node_modules/undici/lib/core/request.js +405 -0
- package/artifacts/exe/dist/node_modules/undici/lib/core/symbols.js +67 -0
- package/artifacts/exe/dist/node_modules/undici/lib/core/tree.js +152 -0
- package/artifacts/exe/dist/node_modules/undici/lib/core/util.js +719 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/agent.js +129 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +209 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/client-h1.js +1487 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/client-h2.js +744 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/client.js +623 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +199 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/dispatcher.js +65 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +160 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +117 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/pool-base.js +194 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/pool-stats.js +34 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/pool.js +107 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +274 -0
- package/artifacts/exe/dist/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
- package/artifacts/exe/dist/node_modules/undici/lib/global.js +32 -0
- package/artifacts/exe/dist/node_modules/undici/lib/handler/decorator-handler.js +44 -0
- package/artifacts/exe/dist/node_modules/undici/lib/handler/redirect-handler.js +232 -0
- package/artifacts/exe/dist/node_modules/undici/lib/handler/retry-handler.js +374 -0
- package/artifacts/exe/dist/node_modules/undici/lib/interceptor/dns.js +375 -0
- package/artifacts/exe/dist/node_modules/undici/lib/interceptor/dump.js +123 -0
- package/artifacts/exe/dist/node_modules/undici/lib/interceptor/redirect-interceptor.js +21 -0
- package/artifacts/exe/dist/node_modules/undici/lib/interceptor/redirect.js +24 -0
- package/artifacts/exe/dist/node_modules/undici/lib/interceptor/response-error.js +86 -0
- package/artifacts/exe/dist/node_modules/undici/lib/interceptor/retry.js +19 -0
- package/artifacts/exe/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
- package/artifacts/exe/dist/node_modules/undici/lib/llhttp/constants.js +278 -0
- package/artifacts/exe/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +5 -0
- package/artifacts/exe/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +5 -0
- package/artifacts/exe/dist/node_modules/undici/lib/llhttp/utils.js +15 -0
- package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-agent.js +160 -0
- package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-client.js +59 -0
- package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-errors.js +28 -0
- package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-interceptor.js +207 -0
- package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-pool.js +59 -0
- package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-symbols.js +23 -0
- package/artifacts/exe/dist/node_modules/undici/lib/mock/mock-utils.js +367 -0
- package/artifacts/exe/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
- package/artifacts/exe/dist/node_modules/undici/lib/mock/pluralizer.js +29 -0
- package/artifacts/exe/dist/node_modules/undici/lib/util/timers.js +423 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/cache/cache.js +859 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/cache/symbols.js +5 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/cache/util.js +45 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/cookies/constants.js +12 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/cookies/index.js +184 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/cookies/parse.js +310 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/cookies/util.js +282 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +398 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/eventsource/eventsource.js +480 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/eventsource/util.js +37 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/LICENSE +21 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/body.js +529 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/constants.js +124 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/data-url.js +744 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +46 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/file.js +126 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +474 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/formdata.js +252 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/global.js +40 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/headers.js +687 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/index.js +2272 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/request.js +1037 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/response.js +610 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/symbols.js +9 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/util.js +1632 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fetch/webidl.js +695 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/encoding.js +290 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/filereader.js +344 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/progressevent.js +78 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/symbols.js +10 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/fileapi/util.js +391 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/connection.js +371 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/constants.js +66 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/events.js +329 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/frame.js +96 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +100 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/receiver.js +513 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/sender.js +104 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/symbols.js +12 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/util.js +322 -0
- package/artifacts/exe/dist/node_modules/undici/lib/web/websocket/websocket.js +595 -0
- package/artifacts/exe/dist/node_modules/undici/package.json +160 -0
- package/artifacts/exe/dist/node_modules/undici/scripts/strip-comments.js +8 -0
- package/artifacts/exe/dist/node_modules/v8-compile-cache/LICENSE +21 -0
- package/artifacts/exe/dist/node_modules/v8-compile-cache/package.json +34 -0
- package/artifacts/exe/dist/node_modules/v8-compile-cache/v8-compile-cache.js +373 -0
- package/artifacts/exe/dist/node_modules/which/LICENSE +15 -0
- package/artifacts/exe/dist/node_modules/which/bin/which.js +52 -0
- package/artifacts/exe/dist/node_modules/which/lib/index.js +111 -0
- package/artifacts/exe/dist/node_modules/which/package.json +52 -0
- package/artifacts/exe/dist/node_modules/yallist/dist/commonjs/index.js +384 -0
- package/artifacts/exe/dist/node_modules/yallist/dist/commonjs/package.json +3 -0
- package/artifacts/exe/dist/node_modules/yallist/dist/esm/index.js +379 -0
- package/artifacts/exe/dist/node_modules/yallist/dist/esm/package.json +3 -0
- package/artifacts/exe/dist/node_modules/yallist/package.json +68 -0
- package/artifacts/exe/dist/pnpm.mjs +311857 -0
- package/artifacts/exe/dist/pnpmrc +2 -0
- package/artifacts/exe/dist/templates/completion.bash +31 -0
- package/artifacts/exe/dist/templates/completion.fish +22 -0
- package/artifacts/exe/dist/templates/completion.ps1 +193 -0
- package/artifacts/exe/dist/templates/completion.zsh +27 -0
- package/artifacts/exe/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
- package/artifacts/exe/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
- package/artifacts/exe/dist/worker.js +11941 -0
- package/dist/pnpm.mjs +3847 -3178
- package/dist/worker.js +3 -0
- package/package.json +1 -1
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2012 Google Inc. All rights reserved.
|
|
4
|
+
# Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
# found in the LICENSE file.
|
|
6
|
+
|
|
7
|
+
"""Unit tests for the common.py file."""
|
|
8
|
+
|
|
9
|
+
import os
|
|
10
|
+
import subprocess
|
|
11
|
+
import sys
|
|
12
|
+
import unittest
|
|
13
|
+
from unittest.mock import MagicMock, patch
|
|
14
|
+
|
|
15
|
+
import gyp.common
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class TestTopologicallySorted(unittest.TestCase):
|
|
19
|
+
def test_Valid(self):
|
|
20
|
+
"""Test that sorting works on a valid graph with one possible order."""
|
|
21
|
+
graph = {
|
|
22
|
+
"a": ["b", "c"],
|
|
23
|
+
"b": [],
|
|
24
|
+
"c": ["d"],
|
|
25
|
+
"d": ["b"],
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
def GetEdge(node):
|
|
29
|
+
return tuple(graph[node])
|
|
30
|
+
|
|
31
|
+
assert gyp.common.TopologicallySorted(graph.keys(), GetEdge) == [
|
|
32
|
+
"a",
|
|
33
|
+
"c",
|
|
34
|
+
"d",
|
|
35
|
+
"b",
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
def test_Cycle(self):
|
|
39
|
+
"""Test that an exception is thrown on a cyclic graph."""
|
|
40
|
+
graph = {
|
|
41
|
+
"a": ["b"],
|
|
42
|
+
"b": ["c"],
|
|
43
|
+
"c": ["d"],
|
|
44
|
+
"d": ["a"],
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
def GetEdge(node):
|
|
48
|
+
return tuple(graph[node])
|
|
49
|
+
|
|
50
|
+
self.assertRaises(
|
|
51
|
+
gyp.common.CycleError, gyp.common.TopologicallySorted, graph.keys(), GetEdge
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class TestGetFlavor(unittest.TestCase):
|
|
56
|
+
"""Test that gyp.common.GetFlavor works as intended"""
|
|
57
|
+
|
|
58
|
+
original_platform = ""
|
|
59
|
+
|
|
60
|
+
def setUp(self):
|
|
61
|
+
self.original_platform = sys.platform
|
|
62
|
+
|
|
63
|
+
def tearDown(self):
|
|
64
|
+
sys.platform = self.original_platform
|
|
65
|
+
|
|
66
|
+
def assertFlavor(self, expected, argument, param):
|
|
67
|
+
sys.platform = argument
|
|
68
|
+
assert expected == gyp.common.GetFlavor(param)
|
|
69
|
+
|
|
70
|
+
def test_platform_default(self):
|
|
71
|
+
self.assertFlavor("freebsd", "freebsd9", {})
|
|
72
|
+
self.assertFlavor("freebsd", "freebsd10", {})
|
|
73
|
+
self.assertFlavor("openbsd", "openbsd5", {})
|
|
74
|
+
self.assertFlavor("solaris", "sunos5", {})
|
|
75
|
+
self.assertFlavor("solaris", "sunos", {})
|
|
76
|
+
self.assertFlavor("linux", "linux2", {})
|
|
77
|
+
self.assertFlavor("linux", "linux3", {})
|
|
78
|
+
self.assertFlavor("linux", "linux", {})
|
|
79
|
+
|
|
80
|
+
def test_param(self):
|
|
81
|
+
self.assertFlavor("foobar", "linux2", {"flavor": "foobar"})
|
|
82
|
+
|
|
83
|
+
class MockCommunicate:
|
|
84
|
+
def __init__(self, stdout):
|
|
85
|
+
self.stdout = stdout
|
|
86
|
+
|
|
87
|
+
def decode(self, encoding):
|
|
88
|
+
return self.stdout
|
|
89
|
+
|
|
90
|
+
@patch("os.close")
|
|
91
|
+
@patch("os.unlink")
|
|
92
|
+
@patch("tempfile.mkstemp")
|
|
93
|
+
def test_GetCompilerPredefines(self, mock_mkstemp, mock_unlink, mock_close):
|
|
94
|
+
mock_close.return_value = None
|
|
95
|
+
mock_unlink.return_value = None
|
|
96
|
+
mock_mkstemp.return_value = (0, "temp.c")
|
|
97
|
+
|
|
98
|
+
def mock_run(env, defines_stdout, expected_cmd, throws=False):
|
|
99
|
+
with patch("subprocess.run") as mock_run:
|
|
100
|
+
expected_input = "temp.c" if sys.platform == "win32" else "/dev/null"
|
|
101
|
+
if throws:
|
|
102
|
+
mock_run.side_effect = subprocess.CalledProcessError(
|
|
103
|
+
returncode=1,
|
|
104
|
+
cmd=[*expected_cmd, "-dM", "-E", "-x", "c", expected_input],
|
|
105
|
+
)
|
|
106
|
+
else:
|
|
107
|
+
mock_process = MagicMock()
|
|
108
|
+
mock_process.returncode = 0
|
|
109
|
+
mock_process.stdout = TestGetFlavor.MockCommunicate(defines_stdout)
|
|
110
|
+
mock_run.return_value = mock_process
|
|
111
|
+
with patch.dict(os.environ, env):
|
|
112
|
+
try:
|
|
113
|
+
defines = gyp.common.GetCompilerPredefines()
|
|
114
|
+
except Exception as e:
|
|
115
|
+
self.fail(f"GetCompilerPredefines raised an exception: {e}")
|
|
116
|
+
flavor = gyp.common.GetFlavor({})
|
|
117
|
+
if env.get("CC_target") or env.get("CC"):
|
|
118
|
+
mock_run.assert_called_with(
|
|
119
|
+
[*expected_cmd, "-dM", "-E", "-x", "c", expected_input],
|
|
120
|
+
shell=sys.platform == "win32",
|
|
121
|
+
capture_output=True,
|
|
122
|
+
check=True,
|
|
123
|
+
)
|
|
124
|
+
return [defines, flavor]
|
|
125
|
+
|
|
126
|
+
[defines0, _] = mock_run({"CC": "cl.exe"}, "", ["cl.exe"], True)
|
|
127
|
+
assert defines0 == {}
|
|
128
|
+
|
|
129
|
+
[defines1, _] = mock_run({}, "", [])
|
|
130
|
+
assert defines1 == {}
|
|
131
|
+
|
|
132
|
+
[defines2, flavor2] = mock_run(
|
|
133
|
+
{"CC_target": "/opt/wasi-sdk/bin/clang"},
|
|
134
|
+
"#define __wasm__ 1\n#define __wasi__ 1\n",
|
|
135
|
+
["/opt/wasi-sdk/bin/clang"],
|
|
136
|
+
)
|
|
137
|
+
assert defines2 == {"__wasm__": "1", "__wasi__": "1"}
|
|
138
|
+
assert flavor2 == "wasi"
|
|
139
|
+
|
|
140
|
+
[defines3, flavor3] = mock_run(
|
|
141
|
+
{"CC_target": "/opt/wasi-sdk/bin/clang --target=wasm32"},
|
|
142
|
+
"#define __wasm__ 1\n",
|
|
143
|
+
["/opt/wasi-sdk/bin/clang", "--target=wasm32"],
|
|
144
|
+
)
|
|
145
|
+
assert defines3 == {"__wasm__": "1"}
|
|
146
|
+
assert flavor3 == "wasm"
|
|
147
|
+
|
|
148
|
+
[defines4, flavor4] = mock_run(
|
|
149
|
+
{"CC_target": "/emsdk/upstream/emscripten/emcc"},
|
|
150
|
+
"#define __EMSCRIPTEN__ 1\n",
|
|
151
|
+
["/emsdk/upstream/emscripten/emcc"],
|
|
152
|
+
)
|
|
153
|
+
assert defines4 == {"__EMSCRIPTEN__": "1"}
|
|
154
|
+
assert flavor4 == "emscripten"
|
|
155
|
+
|
|
156
|
+
# Test path which include white space
|
|
157
|
+
[defines5, flavor5] = mock_run(
|
|
158
|
+
{
|
|
159
|
+
"CC_target": '"/Users/Toyo Li/wasi-sdk/bin/clang" -O3',
|
|
160
|
+
"CFLAGS": "--target=wasm32-wasi-threads -pthread",
|
|
161
|
+
},
|
|
162
|
+
"#define __wasm__ 1\n#define __wasi__ 1\n#define _REENTRANT 1\n",
|
|
163
|
+
[
|
|
164
|
+
"/Users/Toyo Li/wasi-sdk/bin/clang",
|
|
165
|
+
"-O3",
|
|
166
|
+
"--target=wasm32-wasi-threads",
|
|
167
|
+
"-pthread",
|
|
168
|
+
],
|
|
169
|
+
)
|
|
170
|
+
assert defines5 == {"__wasm__": "1", "__wasi__": "1", "_REENTRANT": "1"}
|
|
171
|
+
assert flavor5 == "wasi"
|
|
172
|
+
|
|
173
|
+
original_sep = os.sep
|
|
174
|
+
os.sep = "\\"
|
|
175
|
+
[defines6, flavor6] = mock_run(
|
|
176
|
+
{"CC_target": '"C:\\Program Files\\wasi-sdk\\clang.exe"'},
|
|
177
|
+
"#define __wasm__ 1\n#define __wasi__ 1\n",
|
|
178
|
+
["C:/Program Files/wasi-sdk/clang.exe"],
|
|
179
|
+
)
|
|
180
|
+
os.sep = original_sep
|
|
181
|
+
assert defines6 == {"__wasm__": "1", "__wasi__": "1"}
|
|
182
|
+
assert flavor6 == "wasi"
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
if __name__ == "__main__":
|
|
186
|
+
unittest.main()
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Copyright (c) 2011 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 locale
|
|
6
|
+
import os
|
|
7
|
+
import re
|
|
8
|
+
import sys
|
|
9
|
+
from functools import reduce
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def XmlToString(content, encoding="utf-8", pretty=False):
|
|
13
|
+
"""Writes the XML content to disk, touching the file only if it has changed.
|
|
14
|
+
|
|
15
|
+
Visual Studio files have a lot of pre-defined structures. This function makes
|
|
16
|
+
it easy to represent these structures as Python data structures, instead of
|
|
17
|
+
having to create a lot of function calls.
|
|
18
|
+
|
|
19
|
+
Each XML element of the content is represented as a list composed of:
|
|
20
|
+
1. The name of the element, a string,
|
|
21
|
+
2. The attributes of the element, a dictionary (optional), and
|
|
22
|
+
3+. The content of the element, if any. Strings are simple text nodes and
|
|
23
|
+
lists are child elements.
|
|
24
|
+
|
|
25
|
+
Example 1:
|
|
26
|
+
<test/>
|
|
27
|
+
becomes
|
|
28
|
+
['test']
|
|
29
|
+
|
|
30
|
+
Example 2:
|
|
31
|
+
<myelement a='value1' b='value2'>
|
|
32
|
+
<childtype>This is</childtype>
|
|
33
|
+
<childtype>it!</childtype>
|
|
34
|
+
</myelement>
|
|
35
|
+
|
|
36
|
+
becomes
|
|
37
|
+
['myelement', {'a':'value1', 'b':'value2'},
|
|
38
|
+
['childtype', 'This is'],
|
|
39
|
+
['childtype', 'it!'],
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
Args:
|
|
43
|
+
content: The structured content to be converted.
|
|
44
|
+
encoding: The encoding to report on the first XML line.
|
|
45
|
+
pretty: True if we want pretty printing with indents and new lines.
|
|
46
|
+
|
|
47
|
+
Returns:
|
|
48
|
+
The XML content as a string.
|
|
49
|
+
"""
|
|
50
|
+
# We create a huge list of all the elements of the file.
|
|
51
|
+
xml_parts = ['<?xml version="1.0" encoding="%s"?>' % encoding]
|
|
52
|
+
if pretty:
|
|
53
|
+
xml_parts.append("\n")
|
|
54
|
+
_ConstructContentList(xml_parts, content, pretty)
|
|
55
|
+
|
|
56
|
+
# Convert it to a string
|
|
57
|
+
return "".join(xml_parts)
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def _ConstructContentList(xml_parts, specification, pretty, level=0):
|
|
61
|
+
"""Appends the XML parts corresponding to the specification.
|
|
62
|
+
|
|
63
|
+
Args:
|
|
64
|
+
xml_parts: A list of XML parts to be appended to.
|
|
65
|
+
specification: The specification of the element. See EasyXml docs.
|
|
66
|
+
pretty: True if we want pretty printing with indents and new lines.
|
|
67
|
+
level: Indentation level.
|
|
68
|
+
"""
|
|
69
|
+
# The first item in a specification is the name of the element.
|
|
70
|
+
if pretty:
|
|
71
|
+
indentation = " " * level
|
|
72
|
+
new_line = "\n"
|
|
73
|
+
else:
|
|
74
|
+
indentation = ""
|
|
75
|
+
new_line = ""
|
|
76
|
+
name = specification[0]
|
|
77
|
+
if not isinstance(name, str):
|
|
78
|
+
raise Exception(
|
|
79
|
+
"The first item of an EasyXml specification should be "
|
|
80
|
+
"a string. Specification was " + str(specification)
|
|
81
|
+
)
|
|
82
|
+
xml_parts.append(indentation + "<" + name)
|
|
83
|
+
|
|
84
|
+
# Optionally in second position is a dictionary of the attributes.
|
|
85
|
+
rest = specification[1:]
|
|
86
|
+
if rest and isinstance(rest[0], dict):
|
|
87
|
+
for at, val in sorted(rest[0].items()):
|
|
88
|
+
xml_parts.append(f' {at}="{_XmlEscape(val, attr=True)}"')
|
|
89
|
+
rest = rest[1:]
|
|
90
|
+
if rest:
|
|
91
|
+
xml_parts.append(">")
|
|
92
|
+
all_strings = reduce(lambda x, y: x and isinstance(y, str), rest, True)
|
|
93
|
+
multi_line = not all_strings
|
|
94
|
+
if multi_line and new_line:
|
|
95
|
+
xml_parts.append(new_line)
|
|
96
|
+
for child_spec in rest:
|
|
97
|
+
# If it's a string, append a text node.
|
|
98
|
+
# Otherwise recurse over that child definition
|
|
99
|
+
if isinstance(child_spec, str):
|
|
100
|
+
xml_parts.append(_XmlEscape(child_spec))
|
|
101
|
+
else:
|
|
102
|
+
_ConstructContentList(xml_parts, child_spec, pretty, level + 1)
|
|
103
|
+
if multi_line and indentation:
|
|
104
|
+
xml_parts.append(indentation)
|
|
105
|
+
xml_parts.append(f"</{name}>{new_line}")
|
|
106
|
+
else:
|
|
107
|
+
xml_parts.append("/>%s" % new_line)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def WriteXmlIfChanged(
|
|
111
|
+
content, path, encoding="utf-8", pretty=False, win32=(sys.platform == "win32")
|
|
112
|
+
):
|
|
113
|
+
"""Writes the XML content to disk, touching the file only if it has changed.
|
|
114
|
+
|
|
115
|
+
Args:
|
|
116
|
+
content: The structured content to be written.
|
|
117
|
+
path: Location of the file.
|
|
118
|
+
encoding: The encoding to report on the first line of the XML file.
|
|
119
|
+
pretty: True if we want pretty printing with indents and new lines.
|
|
120
|
+
"""
|
|
121
|
+
xml_string = XmlToString(content, encoding, pretty)
|
|
122
|
+
if win32 and os.linesep != "\r\n":
|
|
123
|
+
xml_string = xml_string.replace("\n", "\r\n")
|
|
124
|
+
|
|
125
|
+
try: # getdefaultlocale() was removed in Python 3.11
|
|
126
|
+
default_encoding = locale.getdefaultlocale()[1]
|
|
127
|
+
except AttributeError:
|
|
128
|
+
default_encoding = locale.getencoding()
|
|
129
|
+
|
|
130
|
+
if default_encoding and default_encoding.upper() != encoding.upper():
|
|
131
|
+
xml_string = xml_string.encode(encoding)
|
|
132
|
+
|
|
133
|
+
# Get the old content
|
|
134
|
+
try:
|
|
135
|
+
with open(path) as file:
|
|
136
|
+
existing = file.read()
|
|
137
|
+
except OSError:
|
|
138
|
+
existing = None
|
|
139
|
+
|
|
140
|
+
# It has changed, write it
|
|
141
|
+
if existing != xml_string:
|
|
142
|
+
with open(path, "wb") as file:
|
|
143
|
+
file.write(xml_string)
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
_xml_escape_map = {
|
|
147
|
+
'"': """,
|
|
148
|
+
"'": "'",
|
|
149
|
+
"<": "<",
|
|
150
|
+
">": ">",
|
|
151
|
+
"&": "&",
|
|
152
|
+
"\n": "
",
|
|
153
|
+
"\r": "
",
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
_xml_escape_re = re.compile("(%s)" % "|".join(map(re.escape, _xml_escape_map.keys())))
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def _XmlEscape(value, attr=False):
|
|
161
|
+
"""Escape a string for inclusion in XML."""
|
|
162
|
+
|
|
163
|
+
def replace(match):
|
|
164
|
+
m = match.string[match.start() : match.end()]
|
|
165
|
+
# don't replace single quotes in attrs
|
|
166
|
+
if attr and m == "'":
|
|
167
|
+
return m
|
|
168
|
+
return _xml_escape_map[m]
|
|
169
|
+
|
|
170
|
+
return _xml_escape_re.sub(replace, value)
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2011 Google Inc. All rights reserved.
|
|
4
|
+
# Use of this source code is governed by a BSD-style license that can be
|
|
5
|
+
# found in the LICENSE file.
|
|
6
|
+
|
|
7
|
+
"""Unit tests for the easy_xml.py file."""
|
|
8
|
+
|
|
9
|
+
import unittest
|
|
10
|
+
from io import StringIO
|
|
11
|
+
|
|
12
|
+
from gyp import easy_xml
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class TestSequenceFunctions(unittest.TestCase):
|
|
16
|
+
def setUp(self):
|
|
17
|
+
self.stderr = StringIO()
|
|
18
|
+
|
|
19
|
+
def test_EasyXml_simple(self):
|
|
20
|
+
self.assertEqual(
|
|
21
|
+
easy_xml.XmlToString(["test"]),
|
|
22
|
+
'<?xml version="1.0" encoding="utf-8"?><test/>',
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
self.assertEqual(
|
|
26
|
+
easy_xml.XmlToString(["test"], encoding="Windows-1252"),
|
|
27
|
+
'<?xml version="1.0" encoding="Windows-1252"?><test/>',
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
def test_EasyXml_simple_with_attributes(self):
|
|
31
|
+
self.assertEqual(
|
|
32
|
+
easy_xml.XmlToString(["test2", {"a": "value1", "b": "value2"}]),
|
|
33
|
+
'<?xml version="1.0" encoding="utf-8"?><test2 a="value1" b="value2"/>',
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
def test_EasyXml_escaping(self):
|
|
37
|
+
original = "<test>'\"\r&\nfoo"
|
|
38
|
+
converted = "<test>'"
&
foo"
|
|
39
|
+
converted_apos = converted.replace("'", "'")
|
|
40
|
+
self.assertEqual(
|
|
41
|
+
easy_xml.XmlToString(["test3", {"a": original}, original]),
|
|
42
|
+
'<?xml version="1.0" encoding="utf-8"?><test3 a="%s">%s</test3>'
|
|
43
|
+
% (converted, converted_apos),
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
def test_EasyXml_pretty(self):
|
|
47
|
+
self.assertEqual(
|
|
48
|
+
easy_xml.XmlToString(
|
|
49
|
+
["test3", ["GrandParent", ["Parent1", ["Child"]], ["Parent2"]]],
|
|
50
|
+
pretty=True,
|
|
51
|
+
),
|
|
52
|
+
'<?xml version="1.0" encoding="utf-8"?>\n'
|
|
53
|
+
"<test3>\n"
|
|
54
|
+
" <GrandParent>\n"
|
|
55
|
+
" <Parent1>\n"
|
|
56
|
+
" <Child/>\n"
|
|
57
|
+
" </Parent1>\n"
|
|
58
|
+
" <Parent2/>\n"
|
|
59
|
+
" </GrandParent>\n"
|
|
60
|
+
"</test3>\n",
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
def test_EasyXml_complex(self):
|
|
64
|
+
# We want to create:
|
|
65
|
+
target = (
|
|
66
|
+
'<?xml version="1.0" encoding="utf-8"?>'
|
|
67
|
+
"<Project>"
|
|
68
|
+
'<PropertyGroup Label="Globals">'
|
|
69
|
+
"<ProjectGuid>{D2250C20-3A94-4FB9-AF73-11BC5B73884B}</ProjectGuid>"
|
|
70
|
+
"<Keyword>Win32Proj</Keyword>"
|
|
71
|
+
"<RootNamespace>automated_ui_tests</RootNamespace>"
|
|
72
|
+
"</PropertyGroup>"
|
|
73
|
+
'<Import Project="$(VCTargetsPath)\\Microsoft.Cpp.props"/>'
|
|
74
|
+
"<PropertyGroup "
|
|
75
|
+
"Condition=\"'$(Configuration)|$(Platform)'=="
|
|
76
|
+
'\'Debug|Win32\'" Label="Configuration">'
|
|
77
|
+
"<ConfigurationType>Application</ConfigurationType>"
|
|
78
|
+
"<CharacterSet>Unicode</CharacterSet>"
|
|
79
|
+
"<SpectreMitigation>SpectreLoadCF</SpectreMitigation>"
|
|
80
|
+
"<VCToolsVersion>14.36.32532</VCToolsVersion>"
|
|
81
|
+
"</PropertyGroup>"
|
|
82
|
+
"</Project>"
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
xml = easy_xml.XmlToString(
|
|
86
|
+
[
|
|
87
|
+
"Project",
|
|
88
|
+
[
|
|
89
|
+
"PropertyGroup",
|
|
90
|
+
{"Label": "Globals"},
|
|
91
|
+
["ProjectGuid", "{D2250C20-3A94-4FB9-AF73-11BC5B73884B}"],
|
|
92
|
+
["Keyword", "Win32Proj"],
|
|
93
|
+
["RootNamespace", "automated_ui_tests"],
|
|
94
|
+
],
|
|
95
|
+
["Import", {"Project": "$(VCTargetsPath)\\Microsoft.Cpp.props"}],
|
|
96
|
+
[
|
|
97
|
+
"PropertyGroup",
|
|
98
|
+
{
|
|
99
|
+
"Condition": "'$(Configuration)|$(Platform)'=='Debug|Win32'",
|
|
100
|
+
"Label": "Configuration",
|
|
101
|
+
},
|
|
102
|
+
["ConfigurationType", "Application"],
|
|
103
|
+
["CharacterSet", "Unicode"],
|
|
104
|
+
["SpectreMitigation", "SpectreLoadCF"],
|
|
105
|
+
["VCToolsVersion", "14.36.32532"],
|
|
106
|
+
],
|
|
107
|
+
]
|
|
108
|
+
)
|
|
109
|
+
self.assertEqual(xml, target)
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
if __name__ == "__main__":
|
|
113
|
+
unittest.main()
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# Copyright (c) 2011 Google Inc. All rights reserved.
|
|
3
|
+
# Use of this source code is governed by a BSD-style license that can be
|
|
4
|
+
# found in the LICENSE file.
|
|
5
|
+
|
|
6
|
+
"""These functions are executed via gyp-flock-tool when using the Makefile
|
|
7
|
+
generator. Used on systems that don't have a built-in flock."""
|
|
8
|
+
|
|
9
|
+
import fcntl
|
|
10
|
+
import os
|
|
11
|
+
import struct
|
|
12
|
+
import subprocess
|
|
13
|
+
import sys
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def main(args):
|
|
17
|
+
executor = FlockTool()
|
|
18
|
+
executor.Dispatch(args)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class FlockTool:
|
|
22
|
+
"""This class emulates the 'flock' command."""
|
|
23
|
+
|
|
24
|
+
def Dispatch(self, args):
|
|
25
|
+
"""Dispatches a string command to a method."""
|
|
26
|
+
if len(args) < 1:
|
|
27
|
+
raise Exception("Not enough arguments")
|
|
28
|
+
|
|
29
|
+
method = "Exec%s" % self._CommandifyName(args[0])
|
|
30
|
+
getattr(self, method)(*args[1:])
|
|
31
|
+
|
|
32
|
+
def _CommandifyName(self, name_string):
|
|
33
|
+
"""Transforms a tool name like copy-info-plist to CopyInfoPlist"""
|
|
34
|
+
return name_string.title().replace("-", "")
|
|
35
|
+
|
|
36
|
+
def ExecFlock(self, lockfile, *cmd_list):
|
|
37
|
+
"""Emulates the most basic behavior of Linux's flock(1)."""
|
|
38
|
+
# Rely on exception handling to report errors.
|
|
39
|
+
# Note that the stock python on SunOS has a bug
|
|
40
|
+
# where fcntl.flock(fd, LOCK_EX) always fails
|
|
41
|
+
# with EBADF, that's why we use this F_SETLK
|
|
42
|
+
# hack instead.
|
|
43
|
+
fd = os.open(lockfile, os.O_WRONLY | os.O_NOCTTY | os.O_CREAT, 0o666)
|
|
44
|
+
if sys.platform.startswith("aix") or sys.platform == "os400":
|
|
45
|
+
# Python on AIX is compiled with LARGEFILE support, which changes the
|
|
46
|
+
# struct size.
|
|
47
|
+
op = struct.pack("hhIllqq", fcntl.F_WRLCK, 0, 0, 0, 0, 0, 0)
|
|
48
|
+
else:
|
|
49
|
+
op = struct.pack("hhllhhl", fcntl.F_WRLCK, 0, 0, 0, 0, 0, 0)
|
|
50
|
+
fcntl.fcntl(fd, fcntl.F_SETLK, op)
|
|
51
|
+
return subprocess.call(cmd_list)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
if __name__ == "__main__":
|
|
55
|
+
sys.exit(main(sys.argv[1:]))
|
|
File without changes
|