@pnpm/exe 11.0.0-dev.1003 → 11.0.0-rc.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/dist/node-gyp-bin/node-gyp +6 -0
- package/dist/node-gyp-bin/node-gyp.cmd +5 -0
- package/dist/node_modules/@gar/promise-retry/LICENSE +20 -0
- package/dist/node_modules/@gar/promise-retry/lib/index.js +62 -0
- package/dist/node_modules/@gar/promise-retry/lib/retry.js +109 -0
- package/dist/node_modules/@gar/promise-retry/package.json +45 -0
- package/dist/node_modules/@isaacs/fs-minipass/LICENSE +15 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/index.js +430 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/commonjs/package.json +3 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/esm/index.js +420 -0
- package/dist/node_modules/@isaacs/fs-minipass/dist/esm/package.json +3 -0
- package/dist/node_modules/@isaacs/fs-minipass/package.json +72 -0
- package/dist/node_modules/@npmcli/agent/lib/agents.js +206 -0
- package/dist/node_modules/@npmcli/agent/lib/dns.js +53 -0
- package/dist/node_modules/@npmcli/agent/lib/errors.js +61 -0
- package/dist/node_modules/@npmcli/agent/lib/index.js +56 -0
- package/dist/node_modules/@npmcli/agent/lib/options.js +86 -0
- package/dist/node_modules/@npmcli/agent/lib/proxy.js +88 -0
- package/dist/node_modules/@npmcli/agent/package.json +60 -0
- package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +20 -0
- package/dist/node_modules/@npmcli/fs/lib/common/node.js +9 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +15 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/errors.js +129 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/index.js +22 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +428 -0
- package/dist/node_modules/@npmcli/fs/lib/index.js +13 -0
- package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
- package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
- package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +39 -0
- package/dist/node_modules/@npmcli/fs/package.json +54 -0
- package/dist/node_modules/@npmcli/redact/LICENSE +21 -0
- package/dist/node_modules/@npmcli/redact/lib/deep-map.js +71 -0
- package/dist/node_modules/@npmcli/redact/lib/error.js +28 -0
- package/dist/node_modules/@npmcli/redact/lib/index.js +44 -0
- package/dist/node_modules/@npmcli/redact/lib/matchers.js +88 -0
- package/dist/node_modules/@npmcli/redact/lib/server.js +59 -0
- package/dist/node_modules/@npmcli/redact/lib/utils.js +202 -0
- package/dist/node_modules/@npmcli/redact/package.json +52 -0
- package/dist/node_modules/abbrev/LICENSE +46 -0
- package/dist/node_modules/abbrev/lib/index.js +53 -0
- package/dist/node_modules/abbrev/package.json +41 -0
- package/dist/node_modules/agent-base/LICENSE +22 -0
- package/dist/node_modules/agent-base/dist/helpers.js +66 -0
- package/dist/node_modules/agent-base/dist/index.js +178 -0
- package/dist/node_modules/agent-base/package.json +46 -0
- package/dist/node_modules/balanced-match/dist/commonjs/index.js +59 -0
- package/dist/node_modules/balanced-match/dist/commonjs/package.json +3 -0
- package/dist/node_modules/balanced-match/dist/esm/index.js +54 -0
- package/dist/node_modules/balanced-match/dist/esm/package.json +3 -0
- package/dist/node_modules/balanced-match/package.json +68 -0
- package/dist/node_modules/brace-expansion/LICENSE +23 -0
- package/dist/node_modules/brace-expansion/dist/commonjs/index.js +201 -0
- package/dist/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
- package/dist/node_modules/brace-expansion/dist/esm/index.js +197 -0
- package/dist/node_modules/brace-expansion/dist/esm/package.json +3 -0
- package/dist/node_modules/brace-expansion/package.json +64 -0
- package/dist/node_modules/cacache/lib/content/path.js +29 -0
- package/dist/node_modules/cacache/lib/content/read.js +165 -0
- package/dist/node_modules/cacache/lib/content/rm.js +18 -0
- package/dist/node_modules/cacache/lib/content/write.js +206 -0
- package/dist/node_modules/cacache/lib/entry-index.js +336 -0
- package/dist/node_modules/cacache/lib/get.js +170 -0
- package/dist/node_modules/cacache/lib/index.js +42 -0
- package/dist/node_modules/cacache/lib/memoization.js +72 -0
- package/dist/node_modules/cacache/lib/put.js +80 -0
- package/dist/node_modules/cacache/lib/rm.js +31 -0
- package/dist/node_modules/cacache/lib/util/glob.js +7 -0
- package/dist/node_modules/cacache/lib/util/hash-to-segments.js +7 -0
- package/dist/node_modules/cacache/lib/util/tmp.js +32 -0
- package/dist/node_modules/cacache/lib/verify.js +258 -0
- package/dist/node_modules/cacache/package.json +81 -0
- package/dist/node_modules/chownr/dist/commonjs/index.js +93 -0
- package/dist/node_modules/chownr/dist/commonjs/package.json +3 -0
- package/dist/node_modules/chownr/dist/esm/index.js +85 -0
- package/dist/node_modules/chownr/dist/esm/package.json +3 -0
- package/dist/node_modules/chownr/package.json +69 -0
- package/dist/node_modules/debug/LICENSE +20 -0
- package/dist/node_modules/debug/package.json +64 -0
- package/dist/node_modules/debug/src/browser.js +272 -0
- package/dist/node_modules/debug/src/common.js +292 -0
- package/dist/node_modules/debug/src/index.js +10 -0
- package/dist/node_modules/debug/src/node.js +263 -0
- package/dist/node_modules/env-paths/index.js +74 -0
- package/dist/node_modules/env-paths/license +9 -0
- package/dist/node_modules/env-paths/package.json +45 -0
- package/dist/node_modules/exponential-backoff/LICENSE +202 -0
- package/dist/node_modules/exponential-backoff/dist/backoff.js +124 -0
- package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
- package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
- package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
- package/dist/node_modules/exponential-backoff/package.json +62 -0
- package/dist/node_modules/fdir/LICENSE +7 -0
- package/dist/node_modules/fdir/dist/index.cjs +588 -0
- package/dist/node_modules/fdir/dist/index.d.cts +155 -0
- package/dist/node_modules/fdir/dist/index.d.mts +155 -0
- package/dist/node_modules/fdir/dist/index.mjs +570 -0
- package/dist/node_modules/fdir/package.json +103 -0
- package/dist/node_modules/fs-minipass/LICENSE +15 -0
- package/dist/node_modules/fs-minipass/lib/index.js +443 -0
- package/dist/node_modules/fs-minipass/package.json +54 -0
- package/dist/node_modules/glob/dist/commonjs/glob.js +248 -0
- package/dist/node_modules/glob/dist/commonjs/has-magic.js +27 -0
- package/dist/node_modules/glob/dist/commonjs/ignore.js +119 -0
- package/dist/node_modules/glob/dist/commonjs/index.js +68 -0
- package/dist/node_modules/glob/dist/commonjs/index.min.js +4 -0
- package/dist/node_modules/glob/dist/commonjs/package.json +3 -0
- package/dist/node_modules/glob/dist/commonjs/pattern.js +223 -0
- package/dist/node_modules/glob/dist/commonjs/processor.js +301 -0
- package/dist/node_modules/glob/dist/commonjs/walker.js +387 -0
- package/dist/node_modules/glob/dist/esm/glob.js +244 -0
- package/dist/node_modules/glob/dist/esm/has-magic.js +23 -0
- package/dist/node_modules/glob/dist/esm/ignore.js +115 -0
- package/dist/node_modules/glob/dist/esm/index.js +55 -0
- package/dist/node_modules/glob/dist/esm/index.min.js +4 -0
- package/dist/node_modules/glob/dist/esm/package.json +3 -0
- package/dist/node_modules/glob/dist/esm/pattern.js +219 -0
- package/dist/node_modules/glob/dist/esm/processor.js +294 -0
- package/dist/node_modules/glob/dist/esm/walker.js +381 -0
- package/dist/node_modules/glob/package.json +98 -0
- package/dist/node_modules/graceful-fs/LICENSE +15 -0
- package/dist/node_modules/graceful-fs/clone.js +23 -0
- package/dist/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/dist/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/dist/node_modules/graceful-fs/package.json +53 -0
- package/dist/node_modules/graceful-fs/polyfills.js +355 -0
- package/dist/node_modules/http-cache-semantics/LICENSE +9 -0
- package/dist/node_modules/http-cache-semantics/index.js +928 -0
- package/dist/node_modules/http-cache-semantics/package.json +22 -0
- package/dist/node_modules/http-proxy-agent/LICENSE +22 -0
- package/dist/node_modules/http-proxy-agent/dist/index.js +148 -0
- package/dist/node_modules/http-proxy-agent/package.json +47 -0
- package/dist/node_modules/https-proxy-agent/LICENSE +22 -0
- package/dist/node_modules/https-proxy-agent/dist/index.js +180 -0
- package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +101 -0
- package/dist/node_modules/https-proxy-agent/package.json +50 -0
- package/dist/node_modules/iconv-lite/LICENSE +21 -0
- package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
- package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
- package/dist/node_modules/iconv-lite/encodings/index.js +23 -0
- package/dist/node_modules/iconv-lite/encodings/internal.js +218 -0
- package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
- package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
- package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
- package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
- package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
- package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
- package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
- package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
- package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
- package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
- package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
- package/dist/node_modules/iconv-lite/encodings/utf16.js +187 -0
- package/dist/node_modules/iconv-lite/encodings/utf32.js +307 -0
- package/dist/node_modules/iconv-lite/encodings/utf7.js +283 -0
- package/dist/node_modules/iconv-lite/lib/bom-handling.js +48 -0
- package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
- package/dist/node_modules/iconv-lite/lib/index.js +182 -0
- package/dist/node_modules/iconv-lite/lib/streams.js +105 -0
- package/dist/node_modules/iconv-lite/package.json +70 -0
- package/dist/node_modules/ip-address/LICENSE +19 -0
- package/dist/node_modules/ip-address/dist/address-error.js +12 -0
- package/dist/node_modules/ip-address/dist/common.js +46 -0
- package/dist/node_modules/ip-address/dist/ip-address.js +35 -0
- package/dist/node_modules/ip-address/dist/ipv4.js +360 -0
- package/dist/node_modules/ip-address/dist/ipv6.js +1003 -0
- package/dist/node_modules/ip-address/dist/v4/constants.js +8 -0
- package/dist/node_modules/ip-address/dist/v6/constants.js +76 -0
- package/dist/node_modules/ip-address/dist/v6/helpers.js +45 -0
- package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
- package/dist/node_modules/ip-address/package.json +78 -0
- package/dist/node_modules/isexe/dist/commonjs/index.js +56 -0
- package/dist/node_modules/isexe/dist/commonjs/index.min.js +2 -0
- package/dist/node_modules/isexe/dist/commonjs/options.js +3 -0
- package/dist/node_modules/isexe/dist/commonjs/package.json +3 -0
- package/dist/node_modules/isexe/dist/commonjs/posix.js +67 -0
- package/dist/node_modules/isexe/dist/commonjs/win32.js +63 -0
- package/dist/node_modules/isexe/dist/esm/index.js +16 -0
- package/dist/node_modules/isexe/dist/esm/index.min.js +2 -0
- package/dist/node_modules/isexe/dist/esm/options.js +2 -0
- package/dist/node_modules/isexe/dist/esm/package.json +3 -0
- package/dist/node_modules/isexe/dist/esm/posix.js +62 -0
- package/dist/node_modules/isexe/dist/esm/win32.js +58 -0
- package/dist/node_modules/isexe/package.json +78 -0
- package/dist/node_modules/lru-cache/dist/commonjs/index.js +1595 -0
- package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +2 -0
- package/dist/node_modules/lru-cache/dist/commonjs/package.json +3 -0
- package/dist/node_modules/lru-cache/dist/esm/index.js +1591 -0
- package/dist/node_modules/lru-cache/dist/esm/index.min.js +2 -0
- package/dist/node_modules/lru-cache/dist/esm/package.json +3 -0
- package/dist/node_modules/lru-cache/package.json +93 -0
- package/dist/node_modules/make-fetch-happen/LICENSE +16 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +471 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +11 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/index.js +49 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/key.js +17 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +161 -0
- package/dist/node_modules/make-fetch-happen/lib/fetch.js +118 -0
- package/dist/node_modules/make-fetch-happen/lib/index.js +41 -0
- package/dist/node_modules/make-fetch-happen/lib/options.js +59 -0
- package/dist/node_modules/make-fetch-happen/lib/pipeline.js +41 -0
- package/dist/node_modules/make-fetch-happen/lib/remote.js +134 -0
- package/dist/node_modules/make-fetch-happen/package.json +75 -0
- package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/dist/node_modules/minimatch/dist/commonjs/ast.js +846 -0
- package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
- package/dist/node_modules/minimatch/dist/commonjs/escape.js +30 -0
- package/dist/node_modules/minimatch/dist/commonjs/index.js +1121 -0
- package/dist/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
- package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/dist/node_modules/minimatch/dist/esm/ast.js +842 -0
- package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
- package/dist/node_modules/minimatch/dist/esm/escape.js +26 -0
- package/dist/node_modules/minimatch/dist/esm/index.js +1108 -0
- package/dist/node_modules/minimatch/dist/esm/package.json +3 -0
- package/dist/node_modules/minimatch/dist/esm/unescape.js +34 -0
- package/dist/node_modules/minimatch/package.json +67 -0
- package/dist/node_modules/minipass/dist/commonjs/index.js +1038 -0
- package/dist/node_modules/minipass/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minipass/dist/esm/index.js +1020 -0
- package/dist/node_modules/minipass/dist/esm/package.json +3 -0
- package/dist/node_modules/minipass/package.json +77 -0
- package/dist/node_modules/minipass-collect/LICENSE +15 -0
- package/dist/node_modules/minipass-collect/index.js +71 -0
- package/dist/node_modules/minipass-collect/package.json +30 -0
- package/dist/node_modules/minipass-fetch/LICENSE +28 -0
- package/dist/node_modules/minipass-fetch/lib/abort-error.js +17 -0
- package/dist/node_modules/minipass-fetch/lib/blob.js +97 -0
- package/dist/node_modules/minipass-fetch/lib/body.js +360 -0
- package/dist/node_modules/minipass-fetch/lib/fetch-error.js +32 -0
- package/dist/node_modules/minipass-fetch/lib/headers.js +267 -0
- package/dist/node_modules/minipass-fetch/lib/index.js +376 -0
- package/dist/node_modules/minipass-fetch/lib/request.js +282 -0
- package/dist/node_modules/minipass-fetch/lib/response.js +90 -0
- package/dist/node_modules/minipass-fetch/package.json +70 -0
- package/dist/node_modules/minipass-flush/LICENSE +15 -0
- package/dist/node_modules/minipass-flush/index.js +39 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/minipass-flush/package.json +39 -0
- package/dist/node_modules/minipass-pipeline/LICENSE +15 -0
- package/dist/node_modules/minipass-pipeline/index.js +128 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/minipass-pipeline/package.json +29 -0
- package/dist/node_modules/minipass-sized/LICENSE +15 -0
- package/dist/node_modules/minipass-sized/dist/commonjs/index.js +69 -0
- package/dist/node_modules/minipass-sized/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minipass-sized/dist/esm/index.js +64 -0
- package/dist/node_modules/minipass-sized/dist/esm/package.json +3 -0
- package/dist/node_modules/minipass-sized/package.json +69 -0
- package/dist/node_modules/minizlib/LICENSE +26 -0
- package/dist/node_modules/minizlib/dist/commonjs/constants.js +123 -0
- package/dist/node_modules/minizlib/dist/commonjs/index.js +416 -0
- package/dist/node_modules/minizlib/dist/commonjs/package.json +3 -0
- package/dist/node_modules/minizlib/dist/esm/constants.js +117 -0
- package/dist/node_modules/minizlib/dist/esm/index.js +363 -0
- package/dist/node_modules/minizlib/dist/esm/package.json +3 -0
- package/dist/node_modules/minizlib/package.json +80 -0
- package/dist/node_modules/ms/index.js +162 -0
- package/dist/node_modules/ms/package.json +38 -0
- package/dist/node_modules/negotiator/LICENSE +24 -0
- package/dist/node_modules/negotiator/index.js +83 -0
- package/dist/node_modules/negotiator/lib/charset.js +169 -0
- package/dist/node_modules/negotiator/lib/encoding.js +205 -0
- package/dist/node_modules/negotiator/lib/language.js +179 -0
- package/dist/node_modules/negotiator/lib/mediaType.js +294 -0
- package/dist/node_modules/negotiator/package.json +43 -0
- package/dist/node_modules/node-gyp/.release-please-manifest.json +3 -0
- package/dist/node_modules/node-gyp/LICENSE +24 -0
- package/dist/node_modules/node-gyp/addon.gypi +204 -0
- package/dist/node_modules/node-gyp/bin/node-gyp.js +145 -0
- package/dist/node_modules/node-gyp/eslint.config.js +3 -0
- package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +3 -0
- package/dist/node_modules/node-gyp/gyp/LICENSE +28 -0
- package/dist/node_modules/node-gyp/gyp/data/ninja/build.ninja +4 -0
- package/dist/node_modules/node-gyp/gyp/data/win/large-pdb-shim.cc +12 -0
- package/dist/node_modules/node-gyp/gyp/gyp +8 -0
- package/dist/node_modules/node-gyp/gyp/gyp.bat +5 -0
- package/dist/node_modules/node-gyp/gyp/gyp_main.py +45 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py +365 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSProject.py +206 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings.py +1283 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py +1545 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSToolFile.py +59 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUserFile.py +152 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py +270 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +599 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +707 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/common.py +725 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/common_test.py +186 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py +170 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py +113 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py +55 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/__init__.py +0 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/analyzer.py +805 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py +1169 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/cmake.py +1316 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py +128 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/dump_dependency_json.py +104 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +461 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py +88 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/gypsh.py +55 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py +2755 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +3970 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py +44 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2956 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +67 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py +1389 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode_test.py +26 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/input.py +3097 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/input_test.py +99 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +765 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1255 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/ninja_syntax.py +174 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +61 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py +371 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py +1936 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation_test.py +54 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py +301 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +3180 -0
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py +64 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE +3 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.APACHE +177 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/LICENSE.BSD +23 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/__init__.py +15 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_elffile.py +107 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_manylinux.py +252 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_musllinux.py +83 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_parser.py +359 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_structures.py +61 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/_tokenizer.py +192 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/markers.py +251 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +824 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/py.typed +0 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/requirements.py +90 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/specifiers.py +1030 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +553 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/utils.py +172 -0
- package/dist/node_modules/node-gyp/gyp/pylib/packaging/version.py +563 -0
- package/dist/node_modules/node-gyp/gyp/pyproject.toml +114 -0
- package/dist/node_modules/node-gyp/gyp/release-please-config.json +11 -0
- package/dist/node_modules/node-gyp/gyp/test_gyp.py +260 -0
- package/dist/node_modules/node-gyp/lib/Find-VisualStudio.cs +250 -0
- package/dist/node_modules/node-gyp/lib/build.js +230 -0
- package/dist/node_modules/node-gyp/lib/clean.js +15 -0
- package/dist/node_modules/node-gyp/lib/configure.js +328 -0
- package/dist/node_modules/node-gyp/lib/create-config-gypi.js +153 -0
- package/dist/node_modules/node-gyp/lib/download.js +39 -0
- package/dist/node_modules/node-gyp/lib/find-node-directory.js +63 -0
- package/dist/node_modules/node-gyp/lib/find-python.js +304 -0
- package/dist/node_modules/node-gyp/lib/find-visualstudio.js +606 -0
- package/dist/node_modules/node-gyp/lib/install.js +411 -0
- package/dist/node_modules/node-gyp/lib/list.js +26 -0
- package/dist/node_modules/node-gyp/lib/log.js +168 -0
- package/dist/node_modules/node-gyp/lib/node-gyp.js +199 -0
- package/dist/node_modules/node-gyp/lib/process-release.js +146 -0
- package/dist/node_modules/node-gyp/lib/rebuild.js +12 -0
- package/dist/node_modules/node-gyp/lib/remove.js +43 -0
- package/dist/node_modules/node-gyp/lib/util.js +81 -0
- package/dist/node_modules/node-gyp/macOS_Catalina_acid_test.sh +21 -0
- package/dist/node_modules/node-gyp/package.json +52 -0
- package/dist/node_modules/node-gyp/release-please-config.json +40 -0
- package/dist/node_modules/node-gyp/src/win_delay_load_hook.cc +41 -0
- package/dist/node_modules/nopt/LICENSE +15 -0
- package/dist/node_modules/nopt/bin/nopt.js +29 -0
- package/dist/node_modules/nopt/lib/debug.js +5 -0
- package/dist/node_modules/nopt/lib/nopt-lib.js +514 -0
- package/dist/node_modules/nopt/lib/nopt.js +34 -0
- package/dist/node_modules/nopt/lib/type-defs.js +91 -0
- package/dist/node_modules/nopt/package.json +52 -0
- package/dist/node_modules/p-map/index.js +283 -0
- package/dist/node_modules/p-map/license +9 -0
- package/dist/node_modules/p-map/package.json +57 -0
- package/dist/node_modules/path-scurry/dist/commonjs/index.js +2018 -0
- package/dist/node_modules/path-scurry/dist/commonjs/package.json +3 -0
- package/dist/node_modules/path-scurry/dist/esm/index.js +1983 -0
- package/dist/node_modules/path-scurry/dist/esm/package.json +3 -0
- package/dist/node_modules/path-scurry/package.json +72 -0
- package/dist/node_modules/picomatch/LICENSE +21 -0
- package/dist/node_modules/picomatch/index.js +17 -0
- package/dist/node_modules/picomatch/lib/constants.js +184 -0
- package/dist/node_modules/picomatch/lib/parse.js +1386 -0
- package/dist/node_modules/picomatch/lib/picomatch.js +349 -0
- package/dist/node_modules/picomatch/lib/scan.js +391 -0
- package/dist/node_modules/picomatch/lib/utils.js +72 -0
- package/dist/node_modules/picomatch/package.json +82 -0
- package/dist/node_modules/picomatch/posix.js +3 -0
- package/dist/node_modules/proc-log/LICENSE +15 -0
- package/dist/node_modules/proc-log/lib/index.js +158 -0
- package/dist/node_modules/proc-log/package.json +46 -0
- package/dist/node_modules/safer-buffer/LICENSE +21 -0
- package/dist/node_modules/safer-buffer/dangerous.js +58 -0
- package/dist/node_modules/safer-buffer/package.json +34 -0
- package/dist/node_modules/safer-buffer/safer.js +77 -0
- package/dist/node_modules/safer-buffer/tests.js +406 -0
- package/dist/node_modules/semver/LICENSE +15 -0
- package/dist/node_modules/semver/bin/semver.js +191 -0
- package/dist/node_modules/semver/classes/comparator.js +143 -0
- package/dist/node_modules/semver/classes/index.js +7 -0
- package/dist/node_modules/semver/classes/range.js +557 -0
- package/dist/node_modules/semver/classes/semver.js +333 -0
- package/dist/node_modules/semver/functions/clean.js +8 -0
- package/dist/node_modules/semver/functions/cmp.js +54 -0
- package/dist/node_modules/semver/functions/coerce.js +62 -0
- package/dist/node_modules/semver/functions/compare-build.js +9 -0
- package/dist/node_modules/semver/functions/compare-loose.js +5 -0
- package/dist/node_modules/semver/functions/compare.js +7 -0
- package/dist/node_modules/semver/functions/diff.js +60 -0
- package/dist/node_modules/semver/functions/eq.js +5 -0
- package/dist/node_modules/semver/functions/gt.js +5 -0
- package/dist/node_modules/semver/functions/gte.js +5 -0
- package/dist/node_modules/semver/functions/inc.js +21 -0
- package/dist/node_modules/semver/functions/lt.js +5 -0
- package/dist/node_modules/semver/functions/lte.js +5 -0
- package/dist/node_modules/semver/functions/major.js +5 -0
- package/dist/node_modules/semver/functions/minor.js +5 -0
- package/dist/node_modules/semver/functions/neq.js +5 -0
- package/dist/node_modules/semver/functions/parse.js +18 -0
- package/dist/node_modules/semver/functions/patch.js +5 -0
- package/dist/node_modules/semver/functions/prerelease.js +8 -0
- package/dist/node_modules/semver/functions/rcompare.js +5 -0
- package/dist/node_modules/semver/functions/rsort.js +5 -0
- package/dist/node_modules/semver/functions/satisfies.js +12 -0
- package/dist/node_modules/semver/functions/sort.js +5 -0
- package/dist/node_modules/semver/functions/valid.js +8 -0
- package/dist/node_modules/semver/index.js +91 -0
- package/dist/node_modules/semver/internal/constants.js +37 -0
- package/dist/node_modules/semver/internal/debug.js +11 -0
- package/dist/node_modules/semver/internal/identifiers.js +29 -0
- package/dist/node_modules/semver/internal/lrucache.js +42 -0
- package/dist/node_modules/semver/internal/parse-options.js +17 -0
- package/dist/node_modules/semver/internal/re.js +223 -0
- package/dist/node_modules/semver/package.json +78 -0
- package/dist/node_modules/semver/preload.js +4 -0
- package/dist/node_modules/semver/range.bnf +16 -0
- package/dist/node_modules/semver/ranges/gtr.js +6 -0
- package/dist/node_modules/semver/ranges/intersects.js +9 -0
- package/dist/node_modules/semver/ranges/ltr.js +6 -0
- package/dist/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/dist/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/dist/node_modules/semver/ranges/min-version.js +63 -0
- package/dist/node_modules/semver/ranges/outside.js +82 -0
- package/dist/node_modules/semver/ranges/simplify.js +49 -0
- package/dist/node_modules/semver/ranges/subset.js +249 -0
- package/dist/node_modules/semver/ranges/to-comparators.js +10 -0
- package/dist/node_modules/semver/ranges/valid.js +13 -0
- package/dist/node_modules/smart-buffer/.prettierrc.yaml +5 -0
- package/dist/node_modules/smart-buffer/LICENSE +20 -0
- package/dist/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
- package/dist/node_modules/smart-buffer/build/utils.js +108 -0
- package/dist/node_modules/smart-buffer/package.json +79 -0
- package/dist/node_modules/socks/.eslintrc.cjs +11 -0
- package/dist/node_modules/socks/.prettierrc.yaml +7 -0
- package/dist/node_modules/socks/LICENSE +20 -0
- package/dist/node_modules/socks/build/client/socksclient.js +793 -0
- package/dist/node_modules/socks/build/common/constants.js +108 -0
- package/dist/node_modules/socks/build/common/helpers.js +167 -0
- package/dist/node_modules/socks/build/common/receivebuffer.js +43 -0
- package/dist/node_modules/socks/build/common/util.js +25 -0
- package/dist/node_modules/socks/build/index.js +18 -0
- package/dist/node_modules/socks/package.json +58 -0
- package/dist/node_modules/socks-proxy-agent/LICENSE +22 -0
- package/dist/node_modules/socks-proxy-agent/dist/index.js +195 -0
- package/dist/node_modules/socks-proxy-agent/package.json +142 -0
- package/dist/node_modules/ssri/lib/index.js +550 -0
- package/dist/node_modules/ssri/package.json +66 -0
- package/dist/node_modules/tar/dist/commonjs/create.js +82 -0
- package/dist/node_modules/tar/dist/commonjs/cwd-error.js +18 -0
- package/dist/node_modules/tar/dist/commonjs/extract.js +88 -0
- package/dist/node_modules/tar/dist/commonjs/get-write-flag.js +32 -0
- package/dist/node_modules/tar/dist/commonjs/header.js +312 -0
- package/dist/node_modules/tar/dist/commonjs/index.js +64 -0
- package/dist/node_modules/tar/dist/commonjs/index.min.js +4 -0
- package/dist/node_modules/tar/dist/commonjs/large-numbers.js +99 -0
- package/dist/node_modules/tar/dist/commonjs/list.js +145 -0
- package/dist/node_modules/tar/dist/commonjs/make-command.js +52 -0
- package/dist/node_modules/tar/dist/commonjs/mkdir.js +187 -0
- package/dist/node_modules/tar/dist/commonjs/mode-fix.js +29 -0
- package/dist/node_modules/tar/dist/commonjs/normalize-unicode.js +38 -0
- package/dist/node_modules/tar/dist/commonjs/normalize-windows-path.js +12 -0
- package/dist/node_modules/tar/dist/commonjs/options.js +66 -0
- package/dist/node_modules/tar/dist/commonjs/pack.js +511 -0
- package/dist/node_modules/tar/dist/commonjs/package.json +3 -0
- package/dist/node_modules/tar/dist/commonjs/parse.js +610 -0
- package/dist/node_modules/tar/dist/commonjs/path-reservations.js +170 -0
- package/dist/node_modules/tar/dist/commonjs/pax.js +158 -0
- package/dist/node_modules/tar/dist/commonjs/process-umask.js +7 -0
- package/dist/node_modules/tar/dist/commonjs/read-entry.js +136 -0
- package/dist/node_modules/tar/dist/commonjs/replace.js +227 -0
- package/dist/node_modules/tar/dist/commonjs/strip-absolute-path.js +29 -0
- package/dist/node_modules/tar/dist/commonjs/strip-trailing-slashes.js +18 -0
- package/dist/node_modules/tar/dist/commonjs/symlink-error.js +19 -0
- package/dist/node_modules/tar/dist/commonjs/types.js +50 -0
- package/dist/node_modules/tar/dist/commonjs/unpack.js +932 -0
- package/dist/node_modules/tar/dist/commonjs/update.js +33 -0
- package/dist/node_modules/tar/dist/commonjs/warn-method.js +31 -0
- package/dist/node_modules/tar/dist/commonjs/winchars.js +14 -0
- package/dist/node_modules/tar/dist/commonjs/write-entry.js +698 -0
- package/dist/node_modules/tar/dist/esm/create.js +76 -0
- package/dist/node_modules/tar/dist/esm/cwd-error.js +14 -0
- package/dist/node_modules/tar/dist/esm/extract.js +49 -0
- package/dist/node_modules/tar/dist/esm/get-write-flag.js +26 -0
- package/dist/node_modules/tar/dist/esm/header.js +275 -0
- package/dist/node_modules/tar/dist/esm/index.js +20 -0
- package/dist/node_modules/tar/dist/esm/index.min.js +4 -0
- package/dist/node_modules/tar/dist/esm/large-numbers.js +94 -0
- package/dist/node_modules/tar/dist/esm/list.js +105 -0
- package/dist/node_modules/tar/dist/esm/make-command.js +48 -0
- package/dist/node_modules/tar/dist/esm/mkdir.js +179 -0
- package/dist/node_modules/tar/dist/esm/mode-fix.js +25 -0
- package/dist/node_modules/tar/dist/esm/normalize-unicode.js +34 -0
- package/dist/node_modules/tar/dist/esm/normalize-windows-path.js +9 -0
- package/dist/node_modules/tar/dist/esm/options.js +54 -0
- package/dist/node_modules/tar/dist/esm/pack.js +469 -0
- package/dist/node_modules/tar/dist/esm/package.json +3 -0
- package/dist/node_modules/tar/dist/esm/parse.js +606 -0
- package/dist/node_modules/tar/dist/esm/path-reservations.js +166 -0
- package/dist/node_modules/tar/dist/esm/pax.js +154 -0
- package/dist/node_modules/tar/dist/esm/process-umask.js +3 -0
- package/dist/node_modules/tar/dist/esm/read-entry.js +132 -0
- package/dist/node_modules/tar/dist/esm/replace.js +221 -0
- package/dist/node_modules/tar/dist/esm/strip-absolute-path.js +25 -0
- package/dist/node_modules/tar/dist/esm/strip-trailing-slashes.js +14 -0
- package/dist/node_modules/tar/dist/esm/symlink-error.js +15 -0
- package/dist/node_modules/tar/dist/esm/types.js +45 -0
- package/dist/node_modules/tar/dist/esm/unpack.js +891 -0
- package/dist/node_modules/tar/dist/esm/update.js +30 -0
- package/dist/node_modules/tar/dist/esm/warn-method.js +27 -0
- package/dist/node_modules/tar/dist/esm/winchars.js +9 -0
- package/dist/node_modules/tar/dist/esm/write-entry.js +656 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/index.js +384 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +3 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/esm/index.js +379 -0
- package/dist/node_modules/tar/node_modules/yallist/dist/esm/package.json +3 -0
- package/dist/node_modules/tar/node_modules/yallist/package.json +68 -0
- package/dist/node_modules/tar/package.json +297 -0
- package/dist/node_modules/tinyglobby/LICENSE +21 -0
- package/dist/node_modules/tinyglobby/dist/index.cjs +350 -0
- package/dist/node_modules/tinyglobby/dist/index.d.cts +147 -0
- package/dist/node_modules/tinyglobby/dist/index.d.mts +147 -0
- package/dist/node_modules/tinyglobby/dist/index.mjs +318 -0
- package/dist/node_modules/tinyglobby/package.json +73 -0
- package/{LICENSE → dist/node_modules/v8-compile-cache/LICENSE} +1 -2
- package/dist/node_modules/v8-compile-cache/package.json +34 -0
- package/dist/node_modules/v8-compile-cache/v8-compile-cache.js +373 -0
- package/dist/node_modules/which/LICENSE +15 -0
- package/dist/node_modules/which/bin/which.js +52 -0
- package/dist/node_modules/which/lib/index.js +111 -0
- package/dist/node_modules/which/package.json +52 -0
- package/dist/node_modules/yallist/LICENSE +15 -0
- package/dist/node_modules/yallist/iterator.js +8 -0
- package/dist/node_modules/yallist/package.json +29 -0
- package/dist/node_modules/yallist/yallist.js +426 -0
- package/dist/pnpm.mjs +266382 -0
- package/dist/pnpmrc +2 -0
- package/dist/templates/completion.bash +31 -0
- package/dist/templates/completion.fish +22 -0
- package/dist/templates/completion.ps1 +193 -0
- package/dist/templates/completion.zsh +27 -0
- package/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
- package/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
- package/dist/worker.js +10958 -0
- package/package.json +34 -12
- package/pn +2 -0
- package/pn.cmd +2 -0
- package/pn.ps1 +1 -0
- package/pnpx +2 -0
- package/pnpx.cmd +2 -0
- package/pnpx.ps1 +1 -0
- package/pnx +2 -0
- package/pnx.cmd +2 -0
- package/pnx.ps1 +1 -0
- package/prepare.js +26 -3
- package/setup.js +22 -11
- package/CHANGELOG.md +0 -15
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { FSLike } from "fdir";
|
|
2
|
+
|
|
3
|
+
//#region src/utils.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Converts a path to a pattern depending on the platform.
|
|
7
|
+
* Identical to {@link escapePath} on POSIX systems.
|
|
8
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#convertPathToPattern}
|
|
9
|
+
*/
|
|
10
|
+
declare const convertPathToPattern: (path: string) => string;
|
|
11
|
+
/**
|
|
12
|
+
* Escapes a path's special characters depending on the platform.
|
|
13
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#escapePath}
|
|
14
|
+
*/
|
|
15
|
+
declare const escapePath: (path: string) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Checks if a pattern has dynamic parts.
|
|
18
|
+
*
|
|
19
|
+
* Has a few minor differences with [`fast-glob`](https://github.com/mrmlnc/fast-glob) for better accuracy:
|
|
20
|
+
*
|
|
21
|
+
* - Doesn't necessarily return `false` on patterns that include `\`.
|
|
22
|
+
* - Returns `true` if the pattern includes parentheses, regardless of them representing one single pattern or not.
|
|
23
|
+
* - Returns `true` for unfinished glob extensions i.e. `(h`, `+(h`.
|
|
24
|
+
* - Returns `true` for unfinished brace expansions as long as they include `,` or `..`.
|
|
25
|
+
*
|
|
26
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#isDynamicPattern}
|
|
27
|
+
*/
|
|
28
|
+
declare function isDynamicPattern(pattern: string, options?: {
|
|
29
|
+
caseSensitiveMatch: boolean;
|
|
30
|
+
}): boolean;
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/index.d.ts
|
|
33
|
+
interface GlobOptions {
|
|
34
|
+
/**
|
|
35
|
+
* Whether to return absolute paths. Disable to have relative paths.
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
absolute?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Enables support for brace expansion syntax, like `{a,b}` or `{1..9}`.
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
braceExpansion?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether to match in case-sensitive mode.
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
caseSensitiveMatch?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* The working directory in which to search. Results will be returned relative to this directory, unless
|
|
51
|
+
* {@link absolute} is set.
|
|
52
|
+
*
|
|
53
|
+
* It is important to avoid globbing outside this directory when possible, even with absolute paths enabled,
|
|
54
|
+
* as doing so can harm performance due to having to recalculate relative paths.
|
|
55
|
+
* @default process.cwd()
|
|
56
|
+
*/
|
|
57
|
+
cwd?: string | URL;
|
|
58
|
+
/**
|
|
59
|
+
* Logs useful debug information. Meant for development purposes. Logs can change at any time.
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
62
|
+
debug?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Maximum directory depth to crawl.
|
|
65
|
+
* @default Infinity
|
|
66
|
+
*/
|
|
67
|
+
deep?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Whether to return entries that start with a dot, like `.gitignore` or `.prettierrc`.
|
|
70
|
+
* @default false
|
|
71
|
+
*/
|
|
72
|
+
dot?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Whether to automatically expand directory patterns.
|
|
75
|
+
*
|
|
76
|
+
* Important to disable if migrating from [`fast-glob`](https://github.com/mrmlnc/fast-glob).
|
|
77
|
+
* @default true
|
|
78
|
+
*/
|
|
79
|
+
expandDirectories?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Enables support for extglobs, like `+(pattern)`.
|
|
82
|
+
* @default true
|
|
83
|
+
*/
|
|
84
|
+
extglob?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Whether to traverse and include symbolic links. Can slightly affect performance.
|
|
87
|
+
* @default true
|
|
88
|
+
*/
|
|
89
|
+
followSymbolicLinks?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* An object that overrides `node:fs` functions.
|
|
92
|
+
* @default import('node:fs')
|
|
93
|
+
*/
|
|
94
|
+
fs?: FileSystemAdapter;
|
|
95
|
+
/**
|
|
96
|
+
* Enables support for matching nested directories with globstars (`**`).
|
|
97
|
+
* If `false`, `**` behaves exactly like `*`.
|
|
98
|
+
* @default true
|
|
99
|
+
*/
|
|
100
|
+
globstar?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Glob patterns to exclude from the results.
|
|
103
|
+
* @default []
|
|
104
|
+
*/
|
|
105
|
+
ignore?: string | readonly string[];
|
|
106
|
+
/**
|
|
107
|
+
* Enable to only return directories.
|
|
108
|
+
* If `true`, disables {@link onlyFiles}.
|
|
109
|
+
* @default false
|
|
110
|
+
*/
|
|
111
|
+
onlyDirectories?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Enable to only return files.
|
|
114
|
+
* @default true
|
|
115
|
+
*/
|
|
116
|
+
onlyFiles?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* @deprecated Provide patterns as the first argument instead.
|
|
119
|
+
*/
|
|
120
|
+
patterns?: string | readonly string[];
|
|
121
|
+
/**
|
|
122
|
+
* An `AbortSignal` to abort crawling the file system.
|
|
123
|
+
* @default undefined
|
|
124
|
+
*/
|
|
125
|
+
signal?: AbortSignal;
|
|
126
|
+
}
|
|
127
|
+
type FileSystemAdapter = Partial<FSLike>;
|
|
128
|
+
/**
|
|
129
|
+
* Asynchronously match files following a glob pattern.
|
|
130
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#glob}
|
|
131
|
+
*/
|
|
132
|
+
declare function glob(patterns: string | readonly string[], options?: Omit<GlobOptions, "patterns">): Promise<string[]>;
|
|
133
|
+
/**
|
|
134
|
+
* @deprecated Provide patterns as the first argument instead.
|
|
135
|
+
*/
|
|
136
|
+
declare function glob(options: GlobOptions): Promise<string[]>;
|
|
137
|
+
/**
|
|
138
|
+
* Synchronously match files following a glob pattern.
|
|
139
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#globSync}
|
|
140
|
+
*/
|
|
141
|
+
declare function globSync(patterns: string | readonly string[], options?: Omit<GlobOptions, "patterns">): string[];
|
|
142
|
+
/**
|
|
143
|
+
* @deprecated Provide patterns as the first argument instead.
|
|
144
|
+
*/
|
|
145
|
+
declare function globSync(options: GlobOptions): string[];
|
|
146
|
+
//#endregion
|
|
147
|
+
export { FileSystemAdapter, GlobOptions, convertPathToPattern, escapePath, glob, globSync, isDynamicPattern };
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { FSLike } from "fdir";
|
|
2
|
+
|
|
3
|
+
//#region src/utils.d.ts
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Converts a path to a pattern depending on the platform.
|
|
7
|
+
* Identical to {@link escapePath} on POSIX systems.
|
|
8
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#convertPathToPattern}
|
|
9
|
+
*/
|
|
10
|
+
declare const convertPathToPattern: (path: string) => string;
|
|
11
|
+
/**
|
|
12
|
+
* Escapes a path's special characters depending on the platform.
|
|
13
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#escapePath}
|
|
14
|
+
*/
|
|
15
|
+
declare const escapePath: (path: string) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Checks if a pattern has dynamic parts.
|
|
18
|
+
*
|
|
19
|
+
* Has a few minor differences with [`fast-glob`](https://github.com/mrmlnc/fast-glob) for better accuracy:
|
|
20
|
+
*
|
|
21
|
+
* - Doesn't necessarily return `false` on patterns that include `\`.
|
|
22
|
+
* - Returns `true` if the pattern includes parentheses, regardless of them representing one single pattern or not.
|
|
23
|
+
* - Returns `true` for unfinished glob extensions i.e. `(h`, `+(h`.
|
|
24
|
+
* - Returns `true` for unfinished brace expansions as long as they include `,` or `..`.
|
|
25
|
+
*
|
|
26
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#isDynamicPattern}
|
|
27
|
+
*/
|
|
28
|
+
declare function isDynamicPattern(pattern: string, options?: {
|
|
29
|
+
caseSensitiveMatch: boolean;
|
|
30
|
+
}): boolean;
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/index.d.ts
|
|
33
|
+
interface GlobOptions {
|
|
34
|
+
/**
|
|
35
|
+
* Whether to return absolute paths. Disable to have relative paths.
|
|
36
|
+
* @default false
|
|
37
|
+
*/
|
|
38
|
+
absolute?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Enables support for brace expansion syntax, like `{a,b}` or `{1..9}`.
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
braceExpansion?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether to match in case-sensitive mode.
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
caseSensitiveMatch?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* The working directory in which to search. Results will be returned relative to this directory, unless
|
|
51
|
+
* {@link absolute} is set.
|
|
52
|
+
*
|
|
53
|
+
* It is important to avoid globbing outside this directory when possible, even with absolute paths enabled,
|
|
54
|
+
* as doing so can harm performance due to having to recalculate relative paths.
|
|
55
|
+
* @default process.cwd()
|
|
56
|
+
*/
|
|
57
|
+
cwd?: string | URL;
|
|
58
|
+
/**
|
|
59
|
+
* Logs useful debug information. Meant for development purposes. Logs can change at any time.
|
|
60
|
+
* @default false
|
|
61
|
+
*/
|
|
62
|
+
debug?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Maximum directory depth to crawl.
|
|
65
|
+
* @default Infinity
|
|
66
|
+
*/
|
|
67
|
+
deep?: number;
|
|
68
|
+
/**
|
|
69
|
+
* Whether to return entries that start with a dot, like `.gitignore` or `.prettierrc`.
|
|
70
|
+
* @default false
|
|
71
|
+
*/
|
|
72
|
+
dot?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Whether to automatically expand directory patterns.
|
|
75
|
+
*
|
|
76
|
+
* Important to disable if migrating from [`fast-glob`](https://github.com/mrmlnc/fast-glob).
|
|
77
|
+
* @default true
|
|
78
|
+
*/
|
|
79
|
+
expandDirectories?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Enables support for extglobs, like `+(pattern)`.
|
|
82
|
+
* @default true
|
|
83
|
+
*/
|
|
84
|
+
extglob?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Whether to traverse and include symbolic links. Can slightly affect performance.
|
|
87
|
+
* @default true
|
|
88
|
+
*/
|
|
89
|
+
followSymbolicLinks?: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* An object that overrides `node:fs` functions.
|
|
92
|
+
* @default import('node:fs')
|
|
93
|
+
*/
|
|
94
|
+
fs?: FileSystemAdapter;
|
|
95
|
+
/**
|
|
96
|
+
* Enables support for matching nested directories with globstars (`**`).
|
|
97
|
+
* If `false`, `**` behaves exactly like `*`.
|
|
98
|
+
* @default true
|
|
99
|
+
*/
|
|
100
|
+
globstar?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Glob patterns to exclude from the results.
|
|
103
|
+
* @default []
|
|
104
|
+
*/
|
|
105
|
+
ignore?: string | readonly string[];
|
|
106
|
+
/**
|
|
107
|
+
* Enable to only return directories.
|
|
108
|
+
* If `true`, disables {@link onlyFiles}.
|
|
109
|
+
* @default false
|
|
110
|
+
*/
|
|
111
|
+
onlyDirectories?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Enable to only return files.
|
|
114
|
+
* @default true
|
|
115
|
+
*/
|
|
116
|
+
onlyFiles?: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* @deprecated Provide patterns as the first argument instead.
|
|
119
|
+
*/
|
|
120
|
+
patterns?: string | readonly string[];
|
|
121
|
+
/**
|
|
122
|
+
* An `AbortSignal` to abort crawling the file system.
|
|
123
|
+
* @default undefined
|
|
124
|
+
*/
|
|
125
|
+
signal?: AbortSignal;
|
|
126
|
+
}
|
|
127
|
+
type FileSystemAdapter = Partial<FSLike>;
|
|
128
|
+
/**
|
|
129
|
+
* Asynchronously match files following a glob pattern.
|
|
130
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#glob}
|
|
131
|
+
*/
|
|
132
|
+
declare function glob(patterns: string | readonly string[], options?: Omit<GlobOptions, "patterns">): Promise<string[]>;
|
|
133
|
+
/**
|
|
134
|
+
* @deprecated Provide patterns as the first argument instead.
|
|
135
|
+
*/
|
|
136
|
+
declare function glob(options: GlobOptions): Promise<string[]>;
|
|
137
|
+
/**
|
|
138
|
+
* Synchronously match files following a glob pattern.
|
|
139
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#globSync}
|
|
140
|
+
*/
|
|
141
|
+
declare function globSync(patterns: string | readonly string[], options?: Omit<GlobOptions, "patterns">): string[];
|
|
142
|
+
/**
|
|
143
|
+
* @deprecated Provide patterns as the first argument instead.
|
|
144
|
+
*/
|
|
145
|
+
declare function globSync(options: GlobOptions): string[];
|
|
146
|
+
//#endregion
|
|
147
|
+
export { FileSystemAdapter, GlobOptions, convertPathToPattern, escapePath, glob, globSync, isDynamicPattern };
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import nativeFs from "fs";
|
|
2
|
+
import path, { posix } from "path";
|
|
3
|
+
import { fileURLToPath } from "url";
|
|
4
|
+
import { fdir } from "fdir";
|
|
5
|
+
import picomatch from "picomatch";
|
|
6
|
+
|
|
7
|
+
//#region src/utils.ts
|
|
8
|
+
const isReadonlyArray = Array.isArray;
|
|
9
|
+
const isWin = process.platform === "win32";
|
|
10
|
+
const ONLY_PARENT_DIRECTORIES = /^(\/?\.\.)+$/;
|
|
11
|
+
function getPartialMatcher(patterns, options = {}) {
|
|
12
|
+
const patternsCount = patterns.length;
|
|
13
|
+
const patternsParts = Array(patternsCount);
|
|
14
|
+
const matchers = Array(patternsCount);
|
|
15
|
+
const globstarEnabled = !options.noglobstar;
|
|
16
|
+
for (let i = 0; i < patternsCount; i++) {
|
|
17
|
+
const parts = splitPattern(patterns[i]);
|
|
18
|
+
patternsParts[i] = parts;
|
|
19
|
+
const partsCount = parts.length;
|
|
20
|
+
const partMatchers = Array(partsCount);
|
|
21
|
+
for (let j = 0; j < partsCount; j++) partMatchers[j] = picomatch(parts[j], options);
|
|
22
|
+
matchers[i] = partMatchers;
|
|
23
|
+
}
|
|
24
|
+
return (input) => {
|
|
25
|
+
const inputParts = input.split("/");
|
|
26
|
+
if (inputParts[0] === ".." && ONLY_PARENT_DIRECTORIES.test(input)) return true;
|
|
27
|
+
for (let i = 0; i < patterns.length; i++) {
|
|
28
|
+
const patternParts = patternsParts[i];
|
|
29
|
+
const matcher = matchers[i];
|
|
30
|
+
const inputPatternCount = inputParts.length;
|
|
31
|
+
const minParts = Math.min(inputPatternCount, patternParts.length);
|
|
32
|
+
let j = 0;
|
|
33
|
+
while (j < minParts) {
|
|
34
|
+
const part = patternParts[j];
|
|
35
|
+
if (part.includes("/")) return true;
|
|
36
|
+
const match = matcher[j](inputParts[j]);
|
|
37
|
+
if (!match) break;
|
|
38
|
+
if (globstarEnabled && part === "**") return true;
|
|
39
|
+
j++;
|
|
40
|
+
}
|
|
41
|
+
if (j === inputPatternCount) return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/* node:coverage ignore next 2 */
|
|
47
|
+
const WIN32_ROOT_DIR = /^[A-Z]:\/$/i;
|
|
48
|
+
const isRoot = isWin ? (p) => WIN32_ROOT_DIR.test(p) : (p) => p === "/";
|
|
49
|
+
function buildFormat(cwd, root, absolute) {
|
|
50
|
+
if (cwd === root || root.startsWith(`${cwd}/`)) {
|
|
51
|
+
if (absolute) {
|
|
52
|
+
const start = isRoot(cwd) ? cwd.length : cwd.length + 1;
|
|
53
|
+
return (p, isDir) => p.slice(start, isDir ? -1 : void 0) || ".";
|
|
54
|
+
}
|
|
55
|
+
const prefix = root.slice(cwd.length + 1);
|
|
56
|
+
if (prefix) return (p, isDir) => {
|
|
57
|
+
if (p === ".") return prefix;
|
|
58
|
+
const result = `${prefix}/${p}`;
|
|
59
|
+
return isDir ? result.slice(0, -1) : result;
|
|
60
|
+
};
|
|
61
|
+
return (p, isDir) => isDir && p !== "." ? p.slice(0, -1) : p;
|
|
62
|
+
}
|
|
63
|
+
if (absolute) return (p) => posix.relative(cwd, p) || ".";
|
|
64
|
+
return (p) => posix.relative(cwd, `${root}/${p}`) || ".";
|
|
65
|
+
}
|
|
66
|
+
function buildRelative(cwd, root) {
|
|
67
|
+
if (root.startsWith(`${cwd}/`)) {
|
|
68
|
+
const prefix = root.slice(cwd.length + 1);
|
|
69
|
+
return (p) => `${prefix}/${p}`;
|
|
70
|
+
}
|
|
71
|
+
return (p) => {
|
|
72
|
+
const result = posix.relative(cwd, `${root}/${p}`);
|
|
73
|
+
if (p.endsWith("/") && result !== "") return `${result}/`;
|
|
74
|
+
return result || ".";
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
const splitPatternOptions = { parts: true };
|
|
78
|
+
function splitPattern(path$1) {
|
|
79
|
+
var _result$parts;
|
|
80
|
+
const result = picomatch.scan(path$1, splitPatternOptions);
|
|
81
|
+
return ((_result$parts = result.parts) === null || _result$parts === void 0 ? void 0 : _result$parts.length) ? result.parts : [path$1];
|
|
82
|
+
}
|
|
83
|
+
const ESCAPED_WIN32_BACKSLASHES = /\\(?![()[\]{}!+@])/g;
|
|
84
|
+
function convertPosixPathToPattern(path$1) {
|
|
85
|
+
return escapePosixPath(path$1);
|
|
86
|
+
}
|
|
87
|
+
function convertWin32PathToPattern(path$1) {
|
|
88
|
+
return escapeWin32Path(path$1).replace(ESCAPED_WIN32_BACKSLASHES, "/");
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Converts a path to a pattern depending on the platform.
|
|
92
|
+
* Identical to {@link escapePath} on POSIX systems.
|
|
93
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#convertPathToPattern}
|
|
94
|
+
*/
|
|
95
|
+
/* node:coverage ignore next 3 */
|
|
96
|
+
const convertPathToPattern = isWin ? convertWin32PathToPattern : convertPosixPathToPattern;
|
|
97
|
+
const POSIX_UNESCAPED_GLOB_SYMBOLS = /(?<!\\)([()[\]{}*?|]|^!|[!+@](?=\()|\\(?![()[\]{}!*+?@|]))/g;
|
|
98
|
+
const WIN32_UNESCAPED_GLOB_SYMBOLS = /(?<!\\)([()[\]{}]|^!|[!+@](?=\())/g;
|
|
99
|
+
const escapePosixPath = (path$1) => path$1.replace(POSIX_UNESCAPED_GLOB_SYMBOLS, "\\$&");
|
|
100
|
+
const escapeWin32Path = (path$1) => path$1.replace(WIN32_UNESCAPED_GLOB_SYMBOLS, "\\$&");
|
|
101
|
+
/**
|
|
102
|
+
* Escapes a path's special characters depending on the platform.
|
|
103
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#escapePath}
|
|
104
|
+
*/
|
|
105
|
+
/* node:coverage ignore next */
|
|
106
|
+
const escapePath = isWin ? escapeWin32Path : escapePosixPath;
|
|
107
|
+
/**
|
|
108
|
+
* Checks if a pattern has dynamic parts.
|
|
109
|
+
*
|
|
110
|
+
* Has a few minor differences with [`fast-glob`](https://github.com/mrmlnc/fast-glob) for better accuracy:
|
|
111
|
+
*
|
|
112
|
+
* - Doesn't necessarily return `false` on patterns that include `\`.
|
|
113
|
+
* - Returns `true` if the pattern includes parentheses, regardless of them representing one single pattern or not.
|
|
114
|
+
* - Returns `true` for unfinished glob extensions i.e. `(h`, `+(h`.
|
|
115
|
+
* - Returns `true` for unfinished brace expansions as long as they include `,` or `..`.
|
|
116
|
+
*
|
|
117
|
+
* @see {@link https://superchupu.dev/tinyglobby/documentation#isDynamicPattern}
|
|
118
|
+
*/
|
|
119
|
+
function isDynamicPattern(pattern, options) {
|
|
120
|
+
if ((options === null || options === void 0 ? void 0 : options.caseSensitiveMatch) === false) return true;
|
|
121
|
+
const scan = picomatch.scan(pattern);
|
|
122
|
+
return scan.isGlob || scan.negated;
|
|
123
|
+
}
|
|
124
|
+
function log(...tasks) {
|
|
125
|
+
console.log(`[tinyglobby ${(/* @__PURE__ */ new Date()).toLocaleTimeString("es")}]`, ...tasks);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
//#endregion
|
|
129
|
+
//#region src/index.ts
|
|
130
|
+
const PARENT_DIRECTORY = /^(\/?\.\.)+/;
|
|
131
|
+
const ESCAPING_BACKSLASHES = /\\(?=[()[\]{}!*+?@|])/g;
|
|
132
|
+
const BACKSLASHES = /\\/g;
|
|
133
|
+
function normalizePattern(pattern, expandDirectories, cwd, props, isIgnore) {
|
|
134
|
+
let result = pattern;
|
|
135
|
+
if (pattern.endsWith("/")) result = pattern.slice(0, -1);
|
|
136
|
+
if (!result.endsWith("*") && expandDirectories) result += "/**";
|
|
137
|
+
const escapedCwd = escapePath(cwd);
|
|
138
|
+
if (path.isAbsolute(result.replace(ESCAPING_BACKSLASHES, ""))) result = posix.relative(escapedCwd, result);
|
|
139
|
+
else result = posix.normalize(result);
|
|
140
|
+
const parentDirectoryMatch = PARENT_DIRECTORY.exec(result);
|
|
141
|
+
const parts = splitPattern(result);
|
|
142
|
+
if (parentDirectoryMatch === null || parentDirectoryMatch === void 0 ? void 0 : parentDirectoryMatch[0]) {
|
|
143
|
+
const n = (parentDirectoryMatch[0].length + 1) / 3;
|
|
144
|
+
let i = 0;
|
|
145
|
+
const cwdParts = escapedCwd.split("/");
|
|
146
|
+
while (i < n && parts[i + n] === cwdParts[cwdParts.length + i - n]) {
|
|
147
|
+
result = result.slice(0, (n - i - 1) * 3) + result.slice((n - i) * 3 + parts[i + n].length + 1) || ".";
|
|
148
|
+
i++;
|
|
149
|
+
}
|
|
150
|
+
const potentialRoot = posix.join(cwd, parentDirectoryMatch[0].slice(i * 3));
|
|
151
|
+
if (!potentialRoot.startsWith(".") && props.root.length > potentialRoot.length) {
|
|
152
|
+
props.root = potentialRoot;
|
|
153
|
+
props.depthOffset = -n + i;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
if (!isIgnore && props.depthOffset >= 0) {
|
|
157
|
+
var _props$commonPath;
|
|
158
|
+
(_props$commonPath = props.commonPath) !== null && _props$commonPath !== void 0 || (props.commonPath = parts);
|
|
159
|
+
const newCommonPath = [];
|
|
160
|
+
const length = Math.min(props.commonPath.length, parts.length);
|
|
161
|
+
for (let i = 0; i < length; i++) {
|
|
162
|
+
const part = parts[i];
|
|
163
|
+
if (part === "**" && !parts[i + 1]) {
|
|
164
|
+
newCommonPath.pop();
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
if (part !== props.commonPath[i] || isDynamicPattern(part) || i === parts.length - 1) break;
|
|
168
|
+
newCommonPath.push(part);
|
|
169
|
+
}
|
|
170
|
+
props.depthOffset = newCommonPath.length;
|
|
171
|
+
props.commonPath = newCommonPath;
|
|
172
|
+
props.root = newCommonPath.length > 0 ? posix.join(cwd, ...newCommonPath) : cwd;
|
|
173
|
+
}
|
|
174
|
+
return result;
|
|
175
|
+
}
|
|
176
|
+
function processPatterns({ patterns = ["**/*"], ignore = [], expandDirectories = true }, cwd, props) {
|
|
177
|
+
if (typeof patterns === "string") patterns = [patterns];
|
|
178
|
+
if (typeof ignore === "string") ignore = [ignore];
|
|
179
|
+
const matchPatterns = [];
|
|
180
|
+
const ignorePatterns = [];
|
|
181
|
+
for (const pattern of ignore) {
|
|
182
|
+
if (!pattern) continue;
|
|
183
|
+
if (pattern[0] !== "!" || pattern[1] === "(") ignorePatterns.push(normalizePattern(pattern, expandDirectories, cwd, props, true));
|
|
184
|
+
}
|
|
185
|
+
for (const pattern of patterns) {
|
|
186
|
+
if (!pattern) continue;
|
|
187
|
+
if (pattern[0] !== "!" || pattern[1] === "(") matchPatterns.push(normalizePattern(pattern, expandDirectories, cwd, props, false));
|
|
188
|
+
else if (pattern[1] !== "!" || pattern[2] === "(") ignorePatterns.push(normalizePattern(pattern.slice(1), expandDirectories, cwd, props, true));
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
match: matchPatterns,
|
|
192
|
+
ignore: ignorePatterns
|
|
193
|
+
};
|
|
194
|
+
}
|
|
195
|
+
function formatPaths(paths, relative) {
|
|
196
|
+
for (let i = paths.length - 1; i >= 0; i--) {
|
|
197
|
+
const path$1 = paths[i];
|
|
198
|
+
paths[i] = relative(path$1);
|
|
199
|
+
}
|
|
200
|
+
return paths;
|
|
201
|
+
}
|
|
202
|
+
function normalizeCwd(cwd) {
|
|
203
|
+
if (!cwd) return process.cwd().replace(BACKSLASHES, "/");
|
|
204
|
+
if (cwd instanceof URL) return fileURLToPath(cwd).replace(BACKSLASHES, "/");
|
|
205
|
+
return path.resolve(cwd).replace(BACKSLASHES, "/");
|
|
206
|
+
}
|
|
207
|
+
function getCrawler(patterns, inputOptions = {}) {
|
|
208
|
+
const options = process.env.TINYGLOBBY_DEBUG ? {
|
|
209
|
+
...inputOptions,
|
|
210
|
+
debug: true
|
|
211
|
+
} : inputOptions;
|
|
212
|
+
const cwd = normalizeCwd(options.cwd);
|
|
213
|
+
if (options.debug) log("globbing with:", {
|
|
214
|
+
patterns,
|
|
215
|
+
options,
|
|
216
|
+
cwd
|
|
217
|
+
});
|
|
218
|
+
if (Array.isArray(patterns) && patterns.length === 0) return [{
|
|
219
|
+
sync: () => [],
|
|
220
|
+
withPromise: async () => []
|
|
221
|
+
}, false];
|
|
222
|
+
const props = {
|
|
223
|
+
root: cwd,
|
|
224
|
+
commonPath: null,
|
|
225
|
+
depthOffset: 0
|
|
226
|
+
};
|
|
227
|
+
const processed = processPatterns({
|
|
228
|
+
...options,
|
|
229
|
+
patterns
|
|
230
|
+
}, cwd, props);
|
|
231
|
+
if (options.debug) log("internal processing patterns:", processed);
|
|
232
|
+
const matchOptions = {
|
|
233
|
+
dot: options.dot,
|
|
234
|
+
nobrace: options.braceExpansion === false,
|
|
235
|
+
nocase: options.caseSensitiveMatch === false,
|
|
236
|
+
noextglob: options.extglob === false,
|
|
237
|
+
noglobstar: options.globstar === false,
|
|
238
|
+
posix: true
|
|
239
|
+
};
|
|
240
|
+
const matcher = picomatch(processed.match, {
|
|
241
|
+
...matchOptions,
|
|
242
|
+
ignore: processed.ignore
|
|
243
|
+
});
|
|
244
|
+
const ignore = picomatch(processed.ignore, matchOptions);
|
|
245
|
+
const partialMatcher = getPartialMatcher(processed.match, matchOptions);
|
|
246
|
+
const format = buildFormat(cwd, props.root, options.absolute);
|
|
247
|
+
const formatExclude = options.absolute ? format : buildFormat(cwd, props.root, true);
|
|
248
|
+
const fdirOptions = {
|
|
249
|
+
filters: [options.debug ? (p, isDirectory) => {
|
|
250
|
+
const path$1 = format(p, isDirectory);
|
|
251
|
+
const matches = matcher(path$1);
|
|
252
|
+
if (matches) log(`matched ${path$1}`);
|
|
253
|
+
return matches;
|
|
254
|
+
} : (p, isDirectory) => matcher(format(p, isDirectory))],
|
|
255
|
+
exclude: options.debug ? (_, p) => {
|
|
256
|
+
const relativePath = formatExclude(p, true);
|
|
257
|
+
const skipped = relativePath !== "." && !partialMatcher(relativePath) || ignore(relativePath);
|
|
258
|
+
if (skipped) log(`skipped ${p}`);
|
|
259
|
+
else log(`crawling ${p}`);
|
|
260
|
+
return skipped;
|
|
261
|
+
} : (_, p) => {
|
|
262
|
+
const relativePath = formatExclude(p, true);
|
|
263
|
+
return relativePath !== "." && !partialMatcher(relativePath) || ignore(relativePath);
|
|
264
|
+
},
|
|
265
|
+
fs: options.fs ? {
|
|
266
|
+
readdir: options.fs.readdir || nativeFs.readdir,
|
|
267
|
+
readdirSync: options.fs.readdirSync || nativeFs.readdirSync,
|
|
268
|
+
realpath: options.fs.realpath || nativeFs.realpath,
|
|
269
|
+
realpathSync: options.fs.realpathSync || nativeFs.realpathSync,
|
|
270
|
+
stat: options.fs.stat || nativeFs.stat,
|
|
271
|
+
statSync: options.fs.statSync || nativeFs.statSync
|
|
272
|
+
} : void 0,
|
|
273
|
+
pathSeparator: "/",
|
|
274
|
+
relativePaths: true,
|
|
275
|
+
resolveSymlinks: true,
|
|
276
|
+
signal: options.signal
|
|
277
|
+
};
|
|
278
|
+
if (options.deep !== void 0) fdirOptions.maxDepth = Math.round(options.deep - props.depthOffset);
|
|
279
|
+
if (options.absolute) {
|
|
280
|
+
fdirOptions.relativePaths = false;
|
|
281
|
+
fdirOptions.resolvePaths = true;
|
|
282
|
+
fdirOptions.includeBasePath = true;
|
|
283
|
+
}
|
|
284
|
+
if (options.followSymbolicLinks === false) {
|
|
285
|
+
fdirOptions.resolveSymlinks = false;
|
|
286
|
+
fdirOptions.excludeSymlinks = true;
|
|
287
|
+
}
|
|
288
|
+
if (options.onlyDirectories) {
|
|
289
|
+
fdirOptions.excludeFiles = true;
|
|
290
|
+
fdirOptions.includeDirs = true;
|
|
291
|
+
} else if (options.onlyFiles === false) fdirOptions.includeDirs = true;
|
|
292
|
+
props.root = props.root.replace(BACKSLASHES, "");
|
|
293
|
+
const root = props.root;
|
|
294
|
+
if (options.debug) log("internal properties:", props);
|
|
295
|
+
const relative = cwd !== root && !options.absolute && buildRelative(cwd, props.root);
|
|
296
|
+
return [new fdir(fdirOptions).crawl(root), relative];
|
|
297
|
+
}
|
|
298
|
+
async function glob(patternsOrOptions, options) {
|
|
299
|
+
if (patternsOrOptions && (options === null || options === void 0 ? void 0 : options.patterns)) throw new Error("Cannot pass patterns as both an argument and an option");
|
|
300
|
+
const isModern = isReadonlyArray(patternsOrOptions) || typeof patternsOrOptions === "string";
|
|
301
|
+
const opts = isModern ? options : patternsOrOptions;
|
|
302
|
+
const patterns = isModern ? patternsOrOptions : patternsOrOptions.patterns;
|
|
303
|
+
const [crawler, relative] = getCrawler(patterns, opts);
|
|
304
|
+
if (!relative) return crawler.withPromise();
|
|
305
|
+
return formatPaths(await crawler.withPromise(), relative);
|
|
306
|
+
}
|
|
307
|
+
function globSync(patternsOrOptions, options) {
|
|
308
|
+
if (patternsOrOptions && (options === null || options === void 0 ? void 0 : options.patterns)) throw new Error("Cannot pass patterns as both an argument and an option");
|
|
309
|
+
const isModern = isReadonlyArray(patternsOrOptions) || typeof patternsOrOptions === "string";
|
|
310
|
+
const opts = isModern ? options : patternsOrOptions;
|
|
311
|
+
const patterns = isModern ? patternsOrOptions : patternsOrOptions.patterns;
|
|
312
|
+
const [crawler, relative] = getCrawler(patterns, opts);
|
|
313
|
+
if (!relative) return crawler.sync();
|
|
314
|
+
return formatPaths(crawler.sync(), relative);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
//#endregion
|
|
318
|
+
export { convertPathToPattern, escapePath, glob, globSync, isDynamicPattern };
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "tinyglobby",
|
|
3
|
+
"version": "0.2.15",
|
|
4
|
+
"description": "A fast and minimal alternative to globby and fast-glob",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.cjs",
|
|
7
|
+
"module": "./dist/index.mjs",
|
|
8
|
+
"types": "./dist/index.d.cts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.mjs",
|
|
12
|
+
"require": "./dist/index.cjs"
|
|
13
|
+
},
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"author": "Superchupu",
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"keywords": [
|
|
23
|
+
"glob",
|
|
24
|
+
"patterns",
|
|
25
|
+
"fast",
|
|
26
|
+
"implementation"
|
|
27
|
+
],
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "git+https://github.com/SuperchupuDev/tinyglobby.git"
|
|
31
|
+
},
|
|
32
|
+
"bugs": {
|
|
33
|
+
"url": "https://github.com/SuperchupuDev/tinyglobby/issues"
|
|
34
|
+
},
|
|
35
|
+
"homepage": "https://superchupu.dev/tinyglobby",
|
|
36
|
+
"funding": {
|
|
37
|
+
"url": "https://github.com/sponsors/SuperchupuDev"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"fdir": "^6.5.0",
|
|
41
|
+
"picomatch": "^4.0.3"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@biomejs/biome": "^2.2.3",
|
|
45
|
+
"@types/node": "^24.3.1",
|
|
46
|
+
"@types/picomatch": "^4.0.2",
|
|
47
|
+
"fast-glob": "^3.3.3",
|
|
48
|
+
"fs-fixture": "^2.8.1",
|
|
49
|
+
"glob": "^11.0.3",
|
|
50
|
+
"tinybench": "^5.0.1",
|
|
51
|
+
"tsdown": "^0.14.2",
|
|
52
|
+
"typescript": "^5.9.2"
|
|
53
|
+
},
|
|
54
|
+
"engines": {
|
|
55
|
+
"node": ">=12.0.0"
|
|
56
|
+
},
|
|
57
|
+
"publishConfig": {
|
|
58
|
+
"provenance": true
|
|
59
|
+
},
|
|
60
|
+
"scripts": {
|
|
61
|
+
"bench": "node benchmark/bench.ts",
|
|
62
|
+
"bench:setup": "node benchmark/setup.ts",
|
|
63
|
+
"build": "tsdown",
|
|
64
|
+
"check": "biome check",
|
|
65
|
+
"check:fix": "biome check --write --unsafe",
|
|
66
|
+
"format": "biome format --write",
|
|
67
|
+
"lint": "biome lint",
|
|
68
|
+
"test": "node --test \"test/**/*.ts\"",
|
|
69
|
+
"test:coverage": "node --test --experimental-test-coverage \"test/**/*.ts\"",
|
|
70
|
+
"test:only": "node --test --test-only \"test/**/*.ts\"",
|
|
71
|
+
"typecheck": "tsc --noEmit"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
4
|
-
Copyright (c) 2016-2025 Zoltan Kochan and other contributors
|
|
3
|
+
Copyright (c) 2019 Andres Suarez
|
|
5
4
|
|
|
6
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
6
|
of this software and associated documentation files (the "Software"), to deal
|