@socketsecurity/lib 6.0.6 → 6.0.8
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 +46 -1
- package/README.md +1 -1
- package/dist/ai/agent-context.d.mts +103 -0
- package/dist/ai/agent-context.js +157 -0
- package/dist/ai/backends.d.mts +83 -0
- package/dist/ai/backends.js +173 -0
- package/dist/ai/credentials.d.mts +49 -0
- package/dist/ai/credentials.js +82 -0
- package/dist/ai/discover.d.mts +6 -2
- package/dist/ai/discover.js +4 -3
- package/dist/ai/exec.d.mts +52 -0
- package/dist/ai/exec.js +92 -0
- package/dist/ai/http.d.mts +132 -0
- package/dist/ai/http.js +130 -0
- package/dist/ai/profiles.d.mts +41 -6
- package/dist/ai/profiles.js +52 -10
- package/dist/ai/route.d.mts +69 -0
- package/dist/ai/route.js +156 -0
- package/dist/ai/spawn.d.mts +10 -2
- package/dist/ai/spawn.js +56 -31
- package/dist/ai/subagent-status.d.mts +48 -0
- package/dist/ai/subagent-status.js +57 -0
- package/dist/ai/tier.d.mts +60 -0
- package/dist/ai/tier.js +53 -0
- package/dist/ai/types.d.mts +31 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +5 -1
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +7 -7
- package/dist/archives/zip.js +5 -7
- package/dist/argv/flag-predicates.d.ts +12 -12
- package/dist/argv/flag-predicates.js +17 -17
- package/dist/argv/flag-types.d.ts +18 -18
- package/dist/argv/flag-types.js +4 -4
- package/dist/argv/parse.d.ts +20 -3
- package/dist/argv/parse.js +1 -1
- package/dist/arrays/_internal.js +11 -12
- package/dist/arrays/chunk.js +0 -1
- package/dist/arrays/join.d.ts +37 -3
- package/dist/arrays/join.js +47 -7
- package/dist/arrays/unique.js +0 -1
- package/dist/bin/_internal.d.ts +1 -1
- package/dist/bin/_internal.js +1 -1
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +17 -17
- package/dist/bin/prim.cjs +36175 -35861
- package/dist/bin/resolve.js +13 -14
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +6 -6
- package/dist/checks/primordials-defaults.d.ts +3 -3
- package/dist/checks/primordials-defaults.js +3 -3
- package/dist/checks/primordials.js +4 -3
- package/dist/{bin → cli}/check-primordials.d.ts +18 -13
- package/dist/{bin → cli}/check-primordials.js +58 -55
- package/dist/{bin → cli}/check.js +3 -3
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +18 -18
- package/dist/compression/brotli.d.ts +26 -27
- package/dist/compression/brotli.js +39 -35
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +46 -42
- package/dist/constants/agents.d.ts +3 -1
- package/dist/constants/agents.js +15 -11
- package/dist/constants/licenses.js +3 -3
- package/dist/constants/node.d.ts +23 -0
- package/dist/constants/node.js +47 -15
- package/dist/constants/packages.d.ts +3 -0
- package/dist/constants/packages.js +24 -29
- package/dist/constants/platform.d.ts +30 -3
- package/dist/constants/platform.js +72 -12
- package/dist/constants/runtime.d.ts +22 -0
- package/dist/constants/runtime.js +32 -0
- package/dist/constants/socket.d.ts +2 -6
- package/dist/constants/socket.js +12 -14
- package/dist/cover/code.js +10 -10
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +30 -2
- package/dist/crypto/hash.js +47 -13
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +3 -4
- package/dist/debug/namespace.d.ts +7 -0
- package/dist/debug/namespace.js +21 -12
- package/dist/debug/output.js +21 -24
- package/dist/debug/types.d.ts +4 -4
- package/dist/dlx/arborist.js +18 -8
- package/dist/dlx/binary-cache.js +15 -15
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +11 -11
- package/dist/dlx/binary-resolution.js +17 -15
- package/dist/dlx/binary-types.d.ts +5 -5
- package/dist/dlx/binary.js +5 -5
- package/dist/dlx/cache.js +1 -1
- package/dist/dlx/detect.d.ts +42 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +9 -1
- package/dist/dlx/firewall.js +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +19 -16
- package/dist/dlx/manifest.d.ts +6 -6
- package/dist/dlx/manifest.js +5 -5
- package/dist/dlx/package.d.ts +10 -10
- package/dist/dlx/package.js +20 -16
- package/dist/dlx/packages.js +4 -4
- package/dist/dlx/paths.js +7 -7
- package/dist/dlx/spec.js +1 -1
- package/dist/dlx/types.d.ts +28 -27
- package/dist/eco/cargo/parse-lockfile.d.ts +2 -3
- package/dist/eco/cargo/parse-lockfile.js +5 -5
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +5 -5
- package/dist/eco/manifest/find-packages.js +2 -2
- package/dist/eco/manifest/get-package-versions.js +2 -2
- package/dist/eco/manifest/get-package.js +2 -2
- package/dist/eco/manifest/parse-lockfile.js +2 -2
- package/dist/eco/manifest/parse-manifest.js +2 -2
- package/dist/eco/manifest/parse.js +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/npm/flags.js +7 -12
- package/dist/eco/npm/npm/parse-lockfile.d.ts +17 -18
- package/dist/eco/npm/npm/parse-lockfile.js +4 -4
- package/dist/eco/npm/parse-package-json.d.ts +11 -0
- package/dist/eco/npm/parse-package-json.js +3 -3
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/pnpm/exec.js +5 -5
- package/dist/eco/npm/pnpm/flags.js +0 -3
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +6 -4
- package/dist/eco/npm/pnpm/parse-lockfile.js +7 -7
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +4 -4
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +3 -4
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +9 -9
- package/dist/effects/pulse-frames.d.ts +3 -1
- package/dist/effects/shimmer-keyframes.d.ts +1 -1
- package/dist/effects/shimmer-terminal.d.ts +1 -1
- package/dist/env/boolean.js +0 -1
- package/dist/env/ci.js +0 -1
- package/dist/env/debug.js +0 -1
- package/dist/env/github-status.d.ts +51 -0
- package/dist/env/github-status.js +90 -0
- package/dist/env/github.js +0 -8
- package/dist/env/home.js +0 -1
- package/dist/env/locale.js +0 -3
- package/dist/env/node-auth-token.js +0 -1
- package/dist/env/node-env.js +0 -1
- package/dist/env/node-version-managers.d.ts +53 -0
- package/dist/env/node-version-managers.js +90 -0
- package/dist/env/npm.js +0 -5
- package/dist/env/number.js +0 -1
- package/dist/env/package-manager.js +3 -6
- package/dist/env/path.js +0 -1
- package/dist/env/pre-commit.js +1 -2
- package/dist/env/proxy.js +1 -1
- package/dist/env/rewire.d.ts +8 -6
- package/dist/env/rewire.js +16 -17
- package/dist/env/shell.js +0 -1
- package/dist/env/socket-cli.js +5 -18
- package/dist/env/socket-mcp.d.ts +114 -0
- package/dist/env/socket-mcp.js +146 -0
- package/dist/env/socket.d.ts +8 -109
- package/dist/env/socket.js +22 -167
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/errors/predicates.js +1 -1
- package/dist/events/exit/_internal.d.ts +11 -9
- package/dist/events/exit/_internal.js +31 -35
- package/dist/events/exit/handler.js +3 -4
- package/dist/events/exit/intercept.js +4 -6
- package/dist/events/exit/lifecycle.js +16 -18
- package/dist/events/exit/signals.js +1 -2
- package/dist/events/exit/types.d.ts +6 -5
- package/dist/external/@npmcli/package-json.js +2 -2
- package/dist/external/@npmcli/promise-spawn.js +3 -1
- package/dist/external/npm-pack.js +2 -2
- package/dist/external/pico-pack.js +4 -2
- package/dist/external/which.js +3 -1
- package/dist/external-tools/bazel/asset-names.d.ts +1 -1
- package/dist/external-tools/bazel/asset-names.js +5 -2
- package/dist/external-tools/bazel/from-download.d.ts +1 -1
- package/dist/external-tools/bazel/from-download.js +5 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
- package/dist/external-tools/bazel/resolve.d.ts +3 -3
- package/dist/external-tools/bazel/resolve.js +16 -8
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
- package/dist/external-tools/cdxgen/asset-names.js +5 -2
- package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-download.js +7 -4
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
- package/dist/external-tools/cdxgen/resolve.js +16 -8
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +3 -3
- package/dist/external-tools/from-download.js +12 -6
- package/dist/external-tools/from-pip-venv.d.ts +1 -1
- package/dist/external-tools/from-pip-venv.js +12 -5
- package/dist/external-tools/janus/asset-names.d.ts +1 -1
- package/dist/external-tools/janus/asset-names.js +5 -2
- package/dist/external-tools/janus/from-download.d.ts +1 -1
- package/dist/external-tools/janus/from-download.js +5 -2
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/resolve.d.ts +3 -3
- package/dist/external-tools/janus/resolve.js +16 -8
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/asset-names.d.ts +1 -1
- package/dist/external-tools/jre/asset-names.js +5 -2
- package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
- package/dist/external-tools/jre/detect-platform-arch.js +29 -14
- package/dist/external-tools/jre/from-download.d.ts +1 -1
- package/dist/external-tools/jre/from-download.js +7 -4
- package/dist/external-tools/jre/from-java-home.js +2 -2
- package/dist/external-tools/jre/from-vfs.js +3 -3
- package/dist/external-tools/jre/resolve.d.ts +3 -3
- package/dist/external-tools/jre/resolve.js +16 -8
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +25 -7
- package/dist/external-tools/manifest.js +13 -13
- package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
- package/dist/external-tools/opengrep/asset-names.js +5 -2
- package/dist/external-tools/opengrep/from-download.d.ts +1 -1
- package/dist/external-tools/opengrep/from-download.js +5 -2
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/resolve.d.ts +3 -3
- package/dist/external-tools/opengrep/resolve.js +16 -8
- package/dist/external-tools/opengrep/types.d.ts +1 -1
- package/dist/external-tools/python/asset-names.d.ts +76 -0
- package/dist/external-tools/python/asset-names.js +111 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +98 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +75 -0
- package/dist/external-tools/python/from-path.d.ts +7 -0
- package/dist/external-tools/python/from-path.js +23 -0
- package/dist/external-tools/python/pin.d.ts +121 -0
- package/dist/external-tools/python/pin.js +176 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +142 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +66 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/asset-names.d.ts +1 -1
- package/dist/external-tools/sbt/asset-names.js +5 -2
- package/dist/external-tools/sbt/from-download.d.ts +1 -1
- package/dist/external-tools/sbt/from-download.js +5 -2
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/resolve.d.ts +3 -3
- package/dist/external-tools/sbt/resolve.js +16 -8
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.js +10 -3
- package/dist/external-tools/skillspector/from-path.js +3 -5
- package/dist/external-tools/skillspector/from-vfs.js +1 -1
- package/dist/external-tools/skillspector/resolve.d.ts +2 -2
- package/dist/external-tools/skillspector/resolve.js +14 -6
- package/dist/external-tools/synp/asset-names.d.ts +1 -1
- package/dist/external-tools/synp/asset-names.js +6 -2
- package/dist/external-tools/synp/from-download.d.ts +1 -1
- package/dist/external-tools/synp/from-download.js +7 -4
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/synp/resolve.d.ts +3 -3
- package/dist/external-tools/synp/resolve.js +16 -8
- package/dist/external-tools/trivy/asset-names.d.ts +1 -1
- package/dist/external-tools/trivy/asset-names.js +5 -2
- package/dist/external-tools/trivy/from-download.d.ts +1 -1
- package/dist/external-tools/trivy/from-download.js +7 -4
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/resolve.d.ts +3 -3
- package/dist/external-tools/trivy/resolve.js +16 -8
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
- package/dist/external-tools/trufflehog/asset-names.js +5 -2
- package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-download.js +7 -4
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
- package/dist/external-tools/trufflehog/resolve.js +16 -8
- package/dist/external-tools/trufflehog/types.d.ts +1 -1
- package/dist/fs/_internal.d.ts +1 -1
- package/dist/fs/_internal.js +7 -7
- package/dist/fs/access.js +5 -9
- package/dist/fs/allowed-dirs-cache.d.ts +47 -0
- package/dist/fs/allowed-dirs-cache.js +69 -0
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +12 -14
- package/dist/fs/inspect.js +7 -13
- package/dist/fs/read-dir.js +7 -10
- package/dist/fs/read-file.js +8 -14
- package/dist/fs/read-json-cache.d.ts +13 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +7 -3
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +13 -14
- package/dist/fs/unique.js +4 -5
- package/dist/fs/validate.js +1 -2
- package/dist/fs/write-json.js +4 -5
- package/dist/git/_internal.js +11 -11
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +5 -7
- package/dist/git/staged.js +12 -4
- package/dist/git/tracked.d.ts +84 -0
- package/dist/git/tracked.js +163 -0
- package/dist/git/unstaged.js +12 -4
- package/dist/github/ghsa.js +2 -2
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +5 -5
- package/dist/github/refs-graphql.js +4 -0
- package/dist/github/refs-rest.js +9 -5
- package/dist/github/refs.js +15 -10
- package/dist/github/{fetch.js → request.js} +13 -2
- package/dist/github/token.js +1 -1
- package/dist/github/types.d.ts +1 -1
- package/dist/globs/_internal.js +8 -10
- package/dist/globs/match.js +13 -7
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +16 -14
- package/dist/globs/stream.js +1 -2
- package/dist/globs/types.d.ts +24 -24
- package/dist/http-request/_internal.d.ts +1 -1
- package/dist/http-request/browser.js +10 -4
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +3 -3
- package/dist/http-request/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
- package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
- package/dist/http-request/headers.js +1 -2
- package/dist/http-request/request-attempt.js +38 -34
- package/dist/http-request/request-types.d.ts +2 -2
- package/dist/http-request/request.js +1 -1
- package/dist/http-request/user-agent.js +4 -5
- package/dist/integrity.d.ts +92 -18
- package/dist/integrity.js +125 -30
- package/dist/ipc/directory.js +2 -2
- package/dist/ipc/paths.js +1 -1
- package/dist/ipc/write.js +1 -1
- package/dist/ipc-cli/get.js +12 -12
- package/dist/json/edit.js +51 -44
- package/dist/json/format.js +1 -1
- package/dist/json/parse.d.ts +1 -1
- package/dist/json/parse.js +3 -7
- package/dist/logger/_internal.d.ts +4 -4
- package/dist/logger/_internal.js +3 -3
- package/dist/logger/colors.js +4 -3
- package/dist/logger/console-methods.d.ts +132 -0
- package/dist/logger/console-methods.js +169 -0
- package/dist/logger/console.d.ts +12 -0
- package/dist/logger/console.js +42 -11
- package/dist/logger/indentation-methods.d.ts +81 -0
- package/dist/logger/indentation-methods.js +121 -0
- package/dist/logger/node.d.ts +16 -338
- package/dist/logger/node.js +75 -608
- package/dist/logger/options.d.ts +39 -0
- package/dist/logger/options.js +47 -0
- package/dist/logger/semantic-methods.d.ts +63 -0
- package/dist/logger/semantic-methods.js +108 -0
- package/dist/logger/stream-methods.d.ts +63 -0
- package/dist/logger/stream-methods.js +101 -0
- package/dist/logger/stream.d.ts +37 -0
- package/dist/logger/stream.js +42 -0
- package/dist/logger/symbols-builder.js +9 -9
- package/dist/logger/symbols.d.ts +2 -25
- package/dist/logger/symbols.js +53 -74
- package/dist/logger/types.d.ts +1 -1
- package/dist/memo/types.d.ts +6 -6
- package/dist/native-messaging/host.d.ts +20 -0
- package/dist/native-messaging/host.js +120 -0
- package/dist/native-messaging/index.d.ts +5 -0
- package/dist/native-messaging/index.js +22 -0
- package/dist/native-messaging/install.d.ts +60 -0
- package/dist/native-messaging/install.js +144 -0
- package/dist/native-messaging/rate-limit.d.ts +69 -0
- package/dist/native-messaging/rate-limit.js +119 -0
- package/dist/native-messaging/run.d.ts +10 -0
- package/dist/native-messaging/run.js +17 -0
- package/dist/node/async-hooks.js +4 -3
- package/dist/node/child-process.js +4 -3
- package/dist/node/crypto.js +4 -3
- package/dist/node/events.js +4 -3
- package/dist/node/fs-promises.js +4 -3
- package/dist/node/fs.d.ts +22 -6
- package/dist/node/fs.js +17 -3
- package/dist/node/http.js +4 -3
- package/dist/node/https.js +4 -3
- package/dist/node/module.js +10 -6
- package/dist/node/os.d.ts +10 -2
- package/dist/node/os.js +12 -4
- package/dist/node/path.d.ts +11 -2
- package/dist/node/path.js +18 -4
- package/dist/node/timers-promises.js +4 -3
- package/dist/node/url.js +4 -3
- package/dist/node/util.js +4 -3
- package/dist/objects/getters.js +6 -8
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +4 -5
- package/dist/objects/predicates.js +1 -5
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.d.ts +2 -3
- package/dist/packages/edit-class.js +53 -48
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +15 -21
- package/dist/packages/fetch.d.ts +16 -0
- package/dist/packages/fetch.js +81 -0
- package/dist/packages/find.d.ts +55 -0
- package/dist/packages/find.js +65 -0
- package/dist/packages/isolation.js +14 -14
- package/dist/packages/licenses.js +18 -18
- package/dist/packages/manifest.js +16 -19
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +6 -10
- package/dist/packages/provenance.js +17 -19
- package/dist/packages/read.d.ts +29 -0
- package/dist/packages/read.js +66 -0
- package/dist/packages/specs.d.ts +48 -1
- package/dist/packages/specs.js +75 -12
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +81 -0
- package/dist/packages/types.d.ts +22 -22
- package/dist/packages/validation.js +0 -3
- package/dist/paths/_internal.d.ts +2 -1
- package/dist/paths/_internal.js +7 -19
- package/dist/paths/conversion.js +5 -9
- package/dist/paths/dirnames.d.ts +1 -0
- package/dist/paths/dirnames.js +2 -0
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +4 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +17 -25
- package/dist/paths/rewire.d.ts +5 -0
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.d.ts +74 -111
- package/dist/paths/socket.js +106 -139
- package/dist/paths/walk.d.ts +1 -1
- package/dist/paths/walk.js +4 -4
- package/dist/perf/report.js +2 -2
- package/dist/perf/types.d.ts +1 -1
- package/dist/pkg-ext/data.js +1 -1
- package/dist/primordials/array.js +9 -9
- package/dist/primordials/date.js +2 -2
- package/dist/primordials/error.js +3 -3
- package/dist/primordials/headers.d.ts +10 -0
- package/dist/primordials/headers.js +23 -0
- package/dist/primordials/intl.d.ts +13 -0
- package/dist/primordials/intl.js +26 -0
- package/dist/primordials/math.js +33 -33
- package/dist/primordials/number.js +9 -9
- package/dist/primordials/object.js +5 -5
- package/dist/primordials/process.d.ts +88 -0
- package/dist/primordials/process.js +132 -0
- package/dist/primordials/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- package/dist/primordials/uncurry.d.ts +1 -2
- package/dist/primordials/uncurry.js +9 -9
- package/dist/process/abort.js +3 -3
- package/dist/process/lock-manager.js +8 -8
- package/dist/process/spawn/_internal.js +6 -8
- package/dist/process/spawn/child.js +20 -14
- package/dist/process/spawn/errors.js +3 -5
- package/dist/process/spawn/kill-tree.d.ts +53 -0
- package/dist/process/spawn/kill-tree.js +85 -0
- package/dist/process/spawn/stdio.js +0 -1
- package/dist/process/spawn/types.d.ts +5 -5
- package/dist/process/transient.js +2 -2
- package/dist/promises/_internal.d.ts +2 -1
- package/dist/promises/_internal.js +2 -6
- package/dist/promises/iterate.js +11 -15
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/regexps/spec.js +1 -1
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +3 -3
- package/dist/releases/github-asset-url.d.ts +1 -1
- package/dist/releases/github-asset-url.js +5 -5
- package/dist/releases/github-downloads.d.ts +1 -1
- package/dist/releases/github-downloads.js +3 -3
- package/dist/releases/github-listing.d.ts +12 -4
- package/dist/releases/github-listing.js +20 -7
- package/dist/releases/github-retry-config.js +1 -1
- package/dist/releases/github-types.d.ts +6 -6
- package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
- package/dist/releases/socket-btm-binary-naming.js +155 -0
- package/dist/releases/socket-btm.d.ts +8 -115
- package/dist/releases/socket-btm.js +16 -159
- package/dist/schema/types.d.ts +4 -5
- package/dist/schema/validate.js +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +2 -2
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/find.d.ts +2 -2
- package/dist/secrets/find.js +10 -4
- package/dist/secrets/keychain.d.ts +1 -1
- package/dist/secrets/keychain.js +6 -4
- package/dist/secrets/linux.js +40 -52
- package/dist/secrets/macos.d.ts +2 -3
- package/dist/secrets/macos.js +24 -33
- package/dist/secrets/rc.d.ts +4 -4
- package/dist/secrets/rc.js +27 -17
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +26 -9
- package/dist/secrets/windows.js +32 -37
- package/dist/shadow/skip.js +2 -2
- package/dist/shell/parse.d.ts +32 -0
- package/dist/shell/parse.js +60 -0
- package/dist/smol/detect.js +9 -10
- package/dist/smol/http.js +6 -7
- package/dist/smol/https.js +6 -7
- package/dist/smol/manifest.d.ts +1 -1
- package/dist/smol/manifest.js +6 -7
- package/dist/smol/path.d.ts +1 -1
- package/dist/smol/path.js +7 -8
- package/dist/smol/primordial.d.ts +4 -0
- package/dist/smol/primordial.js +6 -7
- package/dist/smol/purl.d.ts +1 -1
- package/dist/smol/purl.js +7 -8
- package/dist/smol/versions.js +6 -7
- package/dist/smol/vfs.js +6 -7
- package/dist/sorts/_internal.js +6 -8
- package/dist/sorts/natural.js +10 -12
- package/dist/sorts/semver.js +1 -2
- package/dist/sorts/strings.js +0 -1
- package/dist/sorts/types.d.ts +1 -1
- package/dist/spinner/create-spinner-class.d.ts +38 -0
- package/dist/spinner/create-spinner-class.js +302 -0
- package/dist/spinner/default.js +8 -9
- package/dist/spinner/spinner-internals.d.ts +36 -0
- package/dist/spinner/spinner-internals.js +105 -0
- package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
- package/dist/spinner/spinner-shimmer-methods.js +143 -0
- package/dist/spinner/spinner-status-methods.d.ts +40 -0
- package/dist/spinner/spinner-status-methods.js +133 -0
- package/dist/spinner/spinner.d.ts +8 -5
- package/dist/spinner/spinner.js +19 -706
- package/dist/spinner/types.d.ts +3 -1
- package/dist/spinner/with.d.ts +10 -0
- package/dist/spinner/with.js +16 -2
- package/dist/stdio/divider.js +1 -1
- package/dist/stdio/footer.js +3 -3
- package/dist/stdio/header.js +4 -4
- package/dist/stdio/progress.js +10 -6
- package/dist/stdio/prompts.d.ts +7 -5
- package/dist/stdio/prompts.js +7 -8
- package/dist/stdio/stdout.js +3 -3
- package/dist/streams/parallel.js +3 -5
- package/dist/streams/transform.js +2 -3
- package/dist/strings/format.js +2 -6
- package/dist/strings/predicates.js +0 -2
- package/dist/strings/search.js +1 -2
- package/dist/strings/transform.js +0 -3
- package/dist/strings/width.js +9 -10
- package/dist/tables/bordered.js +4 -3
- package/dist/tables/padding.js +1 -1
- package/dist/tables/simple.js +8 -5
- package/dist/temporal/instant.js +1 -1
- package/dist/temporal/slots.js +6 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/assert-safe.d.ts +29 -0
- package/dist/url/assert-safe.js +54 -0
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.d.ts +31 -1
- package/dist/url/predicates.js +43 -3
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +9 -5
- package/dist/versions/_internal.js +3 -3
- package/dist/words/article.js +0 -1
- package/dist/words/capitalize.js +0 -1
- package/dist/words/pluralize.js +15 -5
- package/package.json +419 -216
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -53
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/fs/path-cache.d.ts +0 -21
- package/dist/fs/path-cache.js +0 -34
- package/dist/http-request/checksums.d.ts +0 -69
- package/dist/http-request/checksums.js +0 -108
- package/dist/http-request/http-request.d.ts +0 -12
- package/dist/http-request/http-request.js +0 -11
- package/dist/packages/operations.d.ts +0 -113
- package/dist/packages/operations.js +0 -304
- package/dist/ssri/convert.d.ts +0 -48
- package/dist/ssri/convert.js +0 -69
- package/dist/ssri/parse.d.ts +0 -27
- package/dist/ssri/parse.js +0 -41
- package/dist/ssri/validate.d.ts +0 -41
- package/dist/ssri/validate.js +0 -56
- /package/dist/{bin → cli}/check.d.ts +0 -0
- /package/dist/external-tools/{uv → python}/types.js +0 -0
- /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
|
@@ -52,8 +52,8 @@ function spawn(cmd, args, options, extra) {
|
|
|
52
52
|
const { env, shell, stdio, stdioString = true } = spawnOptions;
|
|
53
53
|
const cwd = spawnOptions.cwd ? String(spawnOptions.cwd) : void 0;
|
|
54
54
|
let actualCmd = cmd;
|
|
55
|
-
if (
|
|
56
|
-
const fs =
|
|
55
|
+
if (!require_paths_predicates.isPath(cmd)) {
|
|
56
|
+
const fs = require_node_fs.getNodeFs();
|
|
57
57
|
const cached = require_process_spawn__internal.spawnBinPathCache.get(cmd);
|
|
58
58
|
/* c8 ignore start */
|
|
59
59
|
if (cached) if (fs.existsSync(cached)) actualCmd = cached;
|
|
@@ -72,9 +72,12 @@ function spawn(cmd, args, options, extra) {
|
|
|
72
72
|
/* c8 ignore start - Windows-only cmd.exe extension stripping for
|
|
73
73
|
.cmd/.bat/.ps1 shell-true execution. Tested on Windows runners. */
|
|
74
74
|
if (node_process.default.platform === "win32" && shell && require_primordials_regexp.RegExpPrototypeTest(require_process_spawn__internal.windowsScriptExtRegExp, actualCmd)) {
|
|
75
|
-
if (
|
|
75
|
+
if (!require_paths_predicates.isPath(actualCmd)) {
|
|
76
|
+
const path = require_node_path.getNodePath();
|
|
77
|
+
actualCmd = path.basename(actualCmd, path.extname(actualCmd));
|
|
78
|
+
}
|
|
76
79
|
}
|
|
77
|
-
const shouldStopSpinner = !!spinnerInstance?.isSpinning &&
|
|
80
|
+
const shouldStopSpinner = !!spinnerInstance?.isSpinning && !require_process_spawn_stdio.isStdioType(stdio, "ignore") && !require_process_spawn_stdio.isStdioType(stdio, "pipe");
|
|
78
81
|
const shouldRestartSpinner = shouldStopSpinner;
|
|
79
82
|
if (shouldStopSpinner) spinnerInstance.stop();
|
|
80
83
|
const envToUse = env ? {
|
|
@@ -95,18 +98,18 @@ function spawn(cmd, args, options, extra) {
|
|
|
95
98
|
uid: spawnOptions.uid,
|
|
96
99
|
gid: spawnOptions.gid
|
|
97
100
|
};
|
|
98
|
-
const spawnPromise =
|
|
101
|
+
const spawnPromise = require_process_spawn__internal.getNpmCliPromiseSpawn()(actualCmd, args ? [...args] : [], promiseSpawnOpts, extra);
|
|
99
102
|
/* c8 ignore stop */
|
|
100
103
|
const oldSpawnPromise = spawnPromise;
|
|
101
104
|
/* c8 ignore start */
|
|
102
105
|
let newSpawnPromise;
|
|
103
106
|
if (shouldStripAnsi && stdioString) newSpawnPromise = (async () => {
|
|
104
107
|
try {
|
|
105
|
-
const strippedResult =
|
|
108
|
+
const strippedResult = require_process_spawn__internal.stripAnsiFromSpawnResult(await spawnPromise);
|
|
106
109
|
if ("code" in strippedResult) strippedResult.exitCode = strippedResult.code;
|
|
107
110
|
return strippedResult;
|
|
108
111
|
} catch (error) {
|
|
109
|
-
throw
|
|
112
|
+
throw require_process_spawn_errors.enhanceSpawnError(require_process_spawn__internal.stripAnsiFromSpawnResult(error));
|
|
110
113
|
}
|
|
111
114
|
})();
|
|
112
115
|
else newSpawnPromise = (async () => {
|
|
@@ -119,7 +122,7 @@ function spawn(cmd, args, options, extra) {
|
|
|
119
122
|
}
|
|
120
123
|
return result;
|
|
121
124
|
} catch (error) {
|
|
122
|
-
throw
|
|
125
|
+
throw require_process_spawn_errors.enhanceSpawnError(error);
|
|
123
126
|
}
|
|
124
127
|
})();
|
|
125
128
|
/* c8 ignore stop */
|
|
@@ -139,18 +142,21 @@ function spawn(cmd, args, options, extra) {
|
|
|
139
142
|
}
|
|
140
143
|
function spawnSync(cmd, args, options) {
|
|
141
144
|
let actualCmd = cmd;
|
|
142
|
-
if (
|
|
145
|
+
if (!require_paths_predicates.isPath(cmd)) {
|
|
143
146
|
const resolved = require_bin_which.whichSync(cmd, {
|
|
144
|
-
cwd:
|
|
147
|
+
cwd: require_objects_inspect.getOwn(options, "cwd"),
|
|
145
148
|
nothrow: true
|
|
146
149
|
});
|
|
147
150
|
if (resolved && typeof resolved === "string") actualCmd = resolved;
|
|
148
151
|
}
|
|
149
|
-
const shell =
|
|
152
|
+
const shell = require_objects_inspect.getOwn(options, "shell");
|
|
150
153
|
/* c8 ignore start - Windows-only cmd.exe extension stripping for
|
|
151
154
|
.cmd/.bat/.ps1 shell-true execution. Tested on Windows runners. */
|
|
152
155
|
if (node_process.default.platform === "win32" && shell && require_primordials_regexp.RegExpPrototypeTest(require_process_spawn__internal.windowsScriptExtRegExp, actualCmd)) {
|
|
153
|
-
if (
|
|
156
|
+
if (!require_paths_predicates.isPath(actualCmd)) {
|
|
157
|
+
const path = require_node_path.getNodePath();
|
|
158
|
+
actualCmd = path.basename(actualCmd, path.extname(actualCmd));
|
|
159
|
+
}
|
|
154
160
|
}
|
|
155
161
|
/* c8 ignore stop */
|
|
156
162
|
const { stripAnsi: shouldStripAnsi = true, ...rawSpawnOptions } = {
|
|
@@ -163,13 +169,13 @@ function spawnSync(cmd, args, options) {
|
|
|
163
169
|
...rawSpawnOptions
|
|
164
170
|
};
|
|
165
171
|
const stdioString = spawnOptions.encoding !== "buffer";
|
|
166
|
-
const result =
|
|
172
|
+
const result = require_node_child_process.getNodeChildProcess().spawnSync(actualCmd, args, spawnOptions);
|
|
167
173
|
if (stdioString) {
|
|
168
174
|
const { stderr, stdout } = result;
|
|
169
175
|
if (stdout) result.stdout = stdout.toString().trim();
|
|
170
176
|
if (stderr) result.stderr = stderr.toString().trim();
|
|
171
177
|
}
|
|
172
|
-
return shouldStripAnsi && stdioString ?
|
|
178
|
+
return shouldStripAnsi && stdioString ? require_process_spawn__internal.stripAnsiFromSpawnResult(result) : result;
|
|
173
179
|
}
|
|
174
180
|
|
|
175
181
|
//#endregion
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_primordials_error = require('../../primordials/error.js');
|
|
5
5
|
const require_primordials_object = require('../../primordials/object.js');
|
|
6
|
-
const require_primordials_reflect = require('../../primordials/reflect.js');
|
|
7
6
|
const require_objects_predicates = require('../../objects/predicates.js');
|
|
7
|
+
const require_primordials_reflect = require('../../primordials/reflect.js');
|
|
8
8
|
const require_process_spawn__internal = require('./_internal.js');
|
|
9
9
|
let src_external_pony_cause = require("../../external/pony-cause");
|
|
10
10
|
|
|
@@ -34,10 +34,9 @@ let src_external_pony_cause = require("../../external/pony-cause");
|
|
|
34
34
|
* }
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
38
37
|
function enhanceSpawnError(error) {
|
|
39
38
|
if (error === null || typeof error !== "object") return error;
|
|
40
|
-
if (
|
|
39
|
+
if (!isSpawnError(error)) return error;
|
|
41
40
|
const err = error;
|
|
42
41
|
const { args, cmd, code, signal, stderr } = err;
|
|
43
42
|
const stderrText = typeof stderr === "string" ? stderr : stderr?.toString() ?? "";
|
|
@@ -109,11 +108,10 @@ function enhanceSpawnError(error) {
|
|
|
109
108
|
*
|
|
110
109
|
* @returns {boolean} `true` if the value has spawn error properties
|
|
111
110
|
*/
|
|
112
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
113
111
|
function isSpawnError(value) {
|
|
114
112
|
if (value === null || typeof value !== "object") return false;
|
|
115
113
|
const err = value;
|
|
116
|
-
return
|
|
114
|
+
return require_objects_predicates.hasOwn(err, "code") && typeof err["code"] !== "undefined" || require_objects_predicates.hasOwn(err, "errno") && typeof err["errno"] !== "undefined" || require_objects_predicates.hasOwn(err, "syscall") && typeof err["syscall"] === "string";
|
|
117
115
|
}
|
|
118
116
|
|
|
119
117
|
//#endregion
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Cross-platform process-tree termination. A spawned package manager,
|
|
3
|
+
* proxy, or build tool spawns its own children; killing only the direct child
|
|
4
|
+
* orphans them (they reparent to init on POSIX and run forever). These
|
|
5
|
+
* helpers kill the whole tree:
|
|
6
|
+
*
|
|
7
|
+
* - POSIX: when the child was spawned `detached: true` it leads its own process
|
|
8
|
+
* group, so `process.kill(-pid, signal)` signals every member at once. Pass
|
|
9
|
+
* `{ detached: true }` (the default) for that behavior; pass `{ detached:
|
|
10
|
+
* false }` to signal only the single pid.
|
|
11
|
+
* - Windows: there are no POSIX process groups, so we shell out to `taskkill /T
|
|
12
|
+
* /F /pid <pid>`, which walks and terminates the descendant tree. The
|
|
13
|
+
* `signal` argument is ignored on Windows (taskkill is always a forceful
|
|
14
|
+
* terminate). Both helpers are best-effort and never throw: a process that
|
|
15
|
+
* already exited (ESRCH) or that we lack permission to signal (EPERM) is
|
|
16
|
+
* treated as "nothing to do", because a cleanup kill must not mask the
|
|
17
|
+
* caller's original control flow. `killProcessTree` returns `true` if a
|
|
18
|
+
* kill was attempted, `false` if the pid was invalid or already gone.
|
|
19
|
+
*/
|
|
20
|
+
import type { ChildProcess } from 'node:child_process';
|
|
21
|
+
export interface KillProcessTreeOptions {
|
|
22
|
+
/**
|
|
23
|
+
* POSIX only. When `true` (default), signal the child's entire process group
|
|
24
|
+
* via the negative pid — requires the child to have been spawned `detached:
|
|
25
|
+
* true`. When `false`, signal only the single pid. Ignored on Windows
|
|
26
|
+
* (taskkill always kills the tree).
|
|
27
|
+
*/
|
|
28
|
+
detached?: boolean | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* POSIX signal to send (default `'SIGTERM'`). Ignored on Windows, where
|
|
31
|
+
* taskkill performs a forceful terminate.
|
|
32
|
+
*/
|
|
33
|
+
signal?: NodeJS.Signals | number | undefined;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Probe whether a pid is still alive. Uses signal 0, which performs the
|
|
37
|
+
* permission/existence check without delivering a signal. Returns `false` for
|
|
38
|
+
* pid <= 1 (kernel/init) so callers don't mistake those for a live child.
|
|
39
|
+
*/
|
|
40
|
+
export declare function isProcessAlive(pid: number): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Kill a process and its descendants. See the file header for the
|
|
43
|
+
* POSIX-process-group vs. Windows-taskkill strategy. Best-effort: never throws.
|
|
44
|
+
* Returns `true` if a kill was attempted, `false` if the pid was invalid or the
|
|
45
|
+
* process had already exited.
|
|
46
|
+
*/
|
|
47
|
+
export declare function killProcessTree(target: number | ChildProcess, options?: KillProcessTreeOptions | undefined): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Resolve a pid from either a raw number or a spawned ChildProcess. Returns
|
|
50
|
+
* `undefined` for a missing/invalid pid or a process that already exited.
|
|
51
|
+
* Exported for direct testing.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolvePid(target: number | ChildProcess): number | undefined;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_constants_platform = require('../../constants/platform.js');
|
|
5
|
+
const require_node_child_process = require('../../node/child-process.js');
|
|
6
|
+
|
|
7
|
+
//#region src/process/spawn/kill-tree.ts
|
|
8
|
+
/**
|
|
9
|
+
* @file Cross-platform process-tree termination. A spawned package manager,
|
|
10
|
+
* proxy, or build tool spawns its own children; killing only the direct child
|
|
11
|
+
* orphans them (they reparent to init on POSIX and run forever). These
|
|
12
|
+
* helpers kill the whole tree:
|
|
13
|
+
*
|
|
14
|
+
* - POSIX: when the child was spawned `detached: true` it leads its own process
|
|
15
|
+
* group, so `process.kill(-pid, signal)` signals every member at once. Pass
|
|
16
|
+
* `{ detached: true }` (the default) for that behavior; pass `{ detached:
|
|
17
|
+
* false }` to signal only the single pid.
|
|
18
|
+
* - Windows: there are no POSIX process groups, so we shell out to `taskkill /T
|
|
19
|
+
* /F /pid <pid>`, which walks and terminates the descendant tree. The
|
|
20
|
+
* `signal` argument is ignored on Windows (taskkill is always a forceful
|
|
21
|
+
* terminate). Both helpers are best-effort and never throw: a process that
|
|
22
|
+
* already exited (ESRCH) or that we lack permission to signal (EPERM) is
|
|
23
|
+
* treated as "nothing to do", because a cleanup kill must not mask the
|
|
24
|
+
* caller's original control flow. `killProcessTree` returns `true` if a
|
|
25
|
+
* kill was attempted, `false` if the pid was invalid or already gone.
|
|
26
|
+
*/
|
|
27
|
+
/**
|
|
28
|
+
* Probe whether a pid is still alive. Uses signal 0, which performs the
|
|
29
|
+
* permission/existence check without delivering a signal. Returns `false` for
|
|
30
|
+
* pid <= 1 (kernel/init) so callers don't mistake those for a live child.
|
|
31
|
+
*/
|
|
32
|
+
function isProcessAlive(pid) {
|
|
33
|
+
if (!Number.isInteger(pid) || pid <= 1) return false;
|
|
34
|
+
try {
|
|
35
|
+
process.kill(pid, 0);
|
|
36
|
+
return true;
|
|
37
|
+
} catch {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Kill a process and its descendants. See the file header for the
|
|
43
|
+
* POSIX-process-group vs. Windows-taskkill strategy. Best-effort: never throws.
|
|
44
|
+
* Returns `true` if a kill was attempted, `false` if the pid was invalid or the
|
|
45
|
+
* process had already exited.
|
|
46
|
+
*/
|
|
47
|
+
function killProcessTree(target, options) {
|
|
48
|
+
const pid = resolvePid(target);
|
|
49
|
+
if (pid === void 0) return false;
|
|
50
|
+
const opts = {
|
|
51
|
+
__proto__: null,
|
|
52
|
+
...options
|
|
53
|
+
};
|
|
54
|
+
const detached = opts.detached !== false;
|
|
55
|
+
const signal = opts.signal ?? "SIGTERM";
|
|
56
|
+
try {
|
|
57
|
+
if (require_constants_platform.WIN32) return require_node_child_process.getNodeChildProcess().spawnSync("taskkill", [
|
|
58
|
+
"/T",
|
|
59
|
+
"/F",
|
|
60
|
+
"/pid",
|
|
61
|
+
String(pid)
|
|
62
|
+
], { stdio: "ignore" }).status === 0;
|
|
63
|
+
if (detached) process.kill(-pid, signal);
|
|
64
|
+
else process.kill(pid, signal);
|
|
65
|
+
return true;
|
|
66
|
+
} catch {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Resolve a pid from either a raw number or a spawned ChildProcess. Returns
|
|
72
|
+
* `undefined` for a missing/invalid pid or a process that already exited.
|
|
73
|
+
* Exported for direct testing.
|
|
74
|
+
*/
|
|
75
|
+
function resolvePid(target) {
|
|
76
|
+
if (typeof target === "number") return Number.isInteger(target) && target > 1 ? target : void 0;
|
|
77
|
+
if (target.exitCode !== null || target.signalCode !== null) return;
|
|
78
|
+
const { pid } = target;
|
|
79
|
+
return typeof pid === "number" && pid > 1 ? pid : void 0;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
//#endregion
|
|
83
|
+
exports.isProcessAlive = isProcessAlive;
|
|
84
|
+
exports.killProcessTree = killProcessTree;
|
|
85
|
+
exports.resolvePid = resolvePid;
|
|
@@ -39,7 +39,6 @@ const require_arrays_predicates = require('../../arrays/predicates.js');
|
|
|
39
39
|
*
|
|
40
40
|
* @returns {boolean} `true` if stdio matches the type or is valid
|
|
41
41
|
*/
|
|
42
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
43
42
|
function isStdioType(stdio, type) {
|
|
44
43
|
if (arguments.length === 1) return typeof stdio === "string" && [
|
|
45
44
|
"pipe",
|
|
@@ -218,7 +218,7 @@ export interface ChildProcess extends EventEmitter {
|
|
|
218
218
|
stdin: NodeJS.WritableStream | null;
|
|
219
219
|
stdout: NodeJS.ReadableStream | null;
|
|
220
220
|
stderr: NodeJS.ReadableStream | null;
|
|
221
|
-
readonly channel?: unknown;
|
|
221
|
+
readonly channel?: unknown | undefined;
|
|
222
222
|
readonly stdio: [
|
|
223
223
|
NodeJS.WritableStream | null,
|
|
224
224
|
NodeJS.ReadableStream | null,
|
|
@@ -285,8 +285,8 @@ export interface WritableStreamType {
|
|
|
285
285
|
*/
|
|
286
286
|
export type SpawnOptions = Remap<NodeSpawnOptions & {
|
|
287
287
|
spinner?: SpinnerInstance | undefined;
|
|
288
|
-
stdioString?: boolean;
|
|
289
|
-
stripAnsi?: boolean;
|
|
288
|
+
stdioString?: boolean | undefined;
|
|
289
|
+
stripAnsi?: boolean | undefined;
|
|
290
290
|
}>;
|
|
291
291
|
export type SpawnResult<T = string | Buffer> = PromiseSpawnResult<T>;
|
|
292
292
|
/**
|
|
@@ -320,6 +320,6 @@ export type SpawnStdioResult = {
|
|
|
320
320
|
* field is excluded (not applicable for synchronous execution).
|
|
321
321
|
*/
|
|
322
322
|
export type SpawnSyncOptions = Remap<NodeSpawnSyncOptions & {
|
|
323
|
-
stdioString?: boolean;
|
|
324
|
-
stripAnsi?: boolean;
|
|
323
|
+
stdioString?: boolean | undefined;
|
|
324
|
+
stripAnsi?: boolean | undefined;
|
|
325
325
|
}>;
|
|
@@ -32,9 +32,9 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
32
32
|
function isTransientProcess(cwd = node_process.default.cwd()) {
|
|
33
33
|
const userAgent = node_process.default.env["npm_config_user_agent"];
|
|
34
34
|
if (userAgent?.includes("exec") || userAgent?.includes("npx") || userAgent?.includes("dlx")) return true;
|
|
35
|
-
const normalizedCwd =
|
|
35
|
+
const normalizedCwd = require_paths_normalize.normalizePath(cwd);
|
|
36
36
|
const npmCache = node_process.default.env["npm_config_cache"];
|
|
37
|
-
if (npmCache && normalizedCwd.includes(
|
|
37
|
+
if (npmCache && normalizedCwd.includes(require_paths_normalize.normalizePath(npmCache))) return true;
|
|
38
38
|
const tempPatterns = [
|
|
39
39
|
"_npx",
|
|
40
40
|
".pnpm-store",
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* `node:timers/promises` accessor + the shared abort signal. Underscore
|
|
4
4
|
* prefix excludes from public exports.
|
|
5
5
|
*/
|
|
6
|
+
import type timersPromises from 'node:timers/promises';
|
|
6
7
|
export declare const abortSignal: AbortSignal;
|
|
7
8
|
/**
|
|
8
9
|
* Get the timers/promises module. Lazy `require` (not a top-level import) to
|
|
@@ -18,4 +19,4 @@ export declare const abortSignal: AbortSignal;
|
|
|
18
19
|
*
|
|
19
20
|
* @returns The Node.js timers/promises module
|
|
20
21
|
*/
|
|
21
|
-
export declare function getTimers(): typeof
|
|
22
|
+
export declare function getTimers(): typeof timersPromises;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_constants_runtime = require('../constants/runtime.js');
|
|
4
5
|
const require_process_abort = require('../process/abort.js');
|
|
5
6
|
|
|
6
7
|
//#region src/promises/_internal.ts
|
|
7
|
-
/**
|
|
8
|
-
* @file Private internals for `promises/*` modules — the lazy
|
|
9
|
-
* `node:timers/promises` accessor + the shared abort signal. Underscore
|
|
10
|
-
* prefix excludes from public exports.
|
|
11
|
-
*/
|
|
12
8
|
const abortSignal = require_process_abort.getAbortSignal();
|
|
13
9
|
/**
|
|
14
10
|
* Get the timers/promises module. Lazy `require` (not a top-level import) to
|
|
@@ -24,8 +20,8 @@ const abortSignal = require_process_abort.getAbortSignal();
|
|
|
24
20
|
*
|
|
25
21
|
* @returns The Node.js timers/promises module
|
|
26
22
|
*/
|
|
27
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
28
23
|
function getTimers() {
|
|
24
|
+
if (!require_constants_runtime.IS_NODE) return;
|
|
29
25
|
return require("node:timers/promises");
|
|
30
26
|
}
|
|
31
27
|
|
package/dist/promises/iterate.js
CHANGED
|
@@ -67,13 +67,12 @@ const require_arrays_chunk = require('../arrays/chunk.js');
|
|
|
67
67
|
*
|
|
68
68
|
* @returns Promise that resolves when all items are processed
|
|
69
69
|
*/
|
|
70
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
71
70
|
async function pEach(array, callbackFn, options) {
|
|
72
|
-
const { concurrency, retries, signal } =
|
|
73
|
-
const chunks =
|
|
71
|
+
const { concurrency, retries, signal } = require_promises_options.normalizeIterationOptions(options);
|
|
72
|
+
const chunks = require_arrays_chunk.arrayChunk(array, concurrency);
|
|
74
73
|
for (const chunk of chunks) {
|
|
75
74
|
if (signal?.aborted) return;
|
|
76
|
-
await require_primordials_promise.PromiseAllSettled(chunk.map((item) =>
|
|
75
|
+
await require_primordials_promise.PromiseAllSettled(chunk.map((item) => require_promises_retry.pRetry((...args) => callbackFn(args[0]), {
|
|
77
76
|
...retries,
|
|
78
77
|
args: [item],
|
|
79
78
|
signal
|
|
@@ -133,15 +132,14 @@ async function pEach(array, callbackFn, options) {
|
|
|
133
132
|
*
|
|
134
133
|
* @returns Promise that resolves when all chunks are processed
|
|
135
134
|
*/
|
|
136
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
137
135
|
async function pEachChunk(array, callbackFn, options) {
|
|
138
136
|
const { chunkSize = 100, ...retryOpts } = options || {};
|
|
139
|
-
const chunks =
|
|
140
|
-
const normalizedRetryOpts =
|
|
137
|
+
const chunks = require_arrays_chunk.arrayChunk(array, chunkSize);
|
|
138
|
+
const normalizedRetryOpts = require_promises_options.normalizeRetryOptions(retryOpts);
|
|
141
139
|
const { signal } = normalizedRetryOpts;
|
|
142
140
|
for (const chunk of chunks) {
|
|
143
141
|
if (signal?.aborted) return;
|
|
144
|
-
await
|
|
142
|
+
await require_promises_retry.pRetry((...args) => callbackFn(args[0]), {
|
|
145
143
|
...normalizedRetryOpts,
|
|
146
144
|
args: [chunk]
|
|
147
145
|
});
|
|
@@ -194,10 +192,9 @@ async function pEachChunk(array, callbackFn, options) {
|
|
|
194
192
|
*
|
|
195
193
|
* @returns Promise resolving to filtered array
|
|
196
194
|
*/
|
|
197
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
198
195
|
async function pFilter(array, callbackFn, options) {
|
|
199
|
-
const iterOpts =
|
|
200
|
-
return (await
|
|
196
|
+
const iterOpts = require_promises_options.normalizeIterationOptions(options);
|
|
197
|
+
return (await pFilterChunk(require_arrays_chunk.arrayChunk(array, iterOpts.concurrency), callbackFn, iterOpts.retries)).flat();
|
|
201
198
|
}
|
|
202
199
|
/**
|
|
203
200
|
* Filter chunked arrays with an async predicate.
|
|
@@ -222,20 +219,19 @@ async function pFilter(array, callbackFn, options) {
|
|
|
222
219
|
*
|
|
223
220
|
* @returns Promise resolving to array of filtered chunks
|
|
224
221
|
*/
|
|
225
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
226
222
|
async function pFilterChunk(chunks, callbackFn, options) {
|
|
227
|
-
const retryOpts =
|
|
223
|
+
const retryOpts = require_promises_options.normalizeRetryOptions(options);
|
|
228
224
|
const { signal } = retryOpts;
|
|
229
225
|
const { length } = chunks;
|
|
230
226
|
const filteredChunks = Array(length);
|
|
231
227
|
for (let i = 0; i < length; i += 1) if (signal?.aborted) filteredChunks[i] = [];
|
|
232
228
|
else {
|
|
233
229
|
const chunk = chunks[i];
|
|
234
|
-
const predicateResults = (await require_primordials_promise.PromiseAllSettled(chunk.map((value) =>
|
|
230
|
+
const predicateResults = (await require_primordials_promise.PromiseAllSettled(chunk.map((value) => require_promises_retry.pRetry((...args) => callbackFn(args[0]), {
|
|
235
231
|
...retryOpts,
|
|
236
232
|
args: [value]
|
|
237
233
|
})))).map((r) => r.status === "fulfilled" ? r.value : false);
|
|
238
|
-
filteredChunks[i] = chunk.filter((
|
|
234
|
+
filteredChunks[i] = chunk.filter((_value, index) => predicateResults[index]);
|
|
239
235
|
}
|
|
240
236
|
return filteredChunks;
|
|
241
237
|
}
|
package/dist/promises/options.js
CHANGED
|
@@ -33,7 +33,6 @@ const require_promises__internal = require('./_internal.js');
|
|
|
33
33
|
*
|
|
34
34
|
* @returns Normalized options with concurrency, retries, and signal
|
|
35
35
|
*/
|
|
36
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
37
36
|
function normalizeIterationOptions(options) {
|
|
38
37
|
const { concurrency = 1, retries, signal = require_promises__internal.abortSignal } = {
|
|
39
38
|
__proto__: null,
|
|
@@ -42,9 +41,9 @@ function normalizeIterationOptions(options) {
|
|
|
42
41
|
return {
|
|
43
42
|
__proto__: null,
|
|
44
43
|
concurrency: require_primordials_math.MathMax(1, concurrency),
|
|
45
|
-
retries:
|
|
44
|
+
retries: normalizeRetryOptions({
|
|
46
45
|
signal,
|
|
47
|
-
|
|
46
|
+
...resolveRetryOptions(retries)
|
|
48
47
|
}),
|
|
49
48
|
signal
|
|
50
49
|
};
|
|
@@ -70,9 +69,8 @@ function normalizeIterationOptions(options) {
|
|
|
70
69
|
*
|
|
71
70
|
* @returns Normalized retry options with all properties set
|
|
72
71
|
*/
|
|
73
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
74
72
|
function normalizeRetryOptions(options) {
|
|
75
|
-
const { args = [], backoffFactor = 2, baseDelayMs = 200, jitter = true, maxDelayMs = 1e4, onRetry, onRetryCancelOnFalse = false, onRetryRethrow = false, retries = 0, signal = require_promises__internal.abortSignal } =
|
|
73
|
+
const { args = [], backoffFactor = 2, baseDelayMs = 200, jitter = true, maxDelayMs = 1e4, onRetry, onRetryCancelOnFalse = false, onRetryRethrow = false, retries = 0, signal = require_promises__internal.abortSignal } = resolveRetryOptions(options);
|
|
76
74
|
return {
|
|
77
75
|
args,
|
|
78
76
|
backoffFactor,
|
|
@@ -105,7 +103,6 @@ function normalizeRetryOptions(options) {
|
|
|
105
103
|
*
|
|
106
104
|
* @returns Resolved retry options with defaults for basic properties
|
|
107
105
|
*/
|
|
108
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
109
106
|
function resolveRetryOptions(options) {
|
|
110
107
|
const defaults = {
|
|
111
108
|
__proto__: null,
|
package/dist/promises/retry.js
CHANGED
|
@@ -110,12 +110,11 @@ const require_promises_options = require('./options.js');
|
|
|
110
110
|
*
|
|
111
111
|
* @throws {Error} The last error if all retry attempts fail
|
|
112
112
|
*/
|
|
113
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
114
113
|
async function pRetry(callbackFn, options) {
|
|
115
|
-
const { args, backoffFactor, baseDelayMs, jitter, maxDelayMs, onRetry, onRetryCancelOnFalse, onRetryRethrow, retries, signal } =
|
|
114
|
+
const { args, backoffFactor, baseDelayMs, jitter, maxDelayMs, onRetry, onRetryCancelOnFalse, onRetryRethrow, retries, signal } = require_promises_options.normalizeRetryOptions(options);
|
|
116
115
|
if (signal?.aborted) return;
|
|
117
116
|
if (retries === 0) return await callbackFn(...args || [], { signal });
|
|
118
|
-
const timers =
|
|
117
|
+
const timers = require_promises__internal.getTimers();
|
|
119
118
|
let attempts = retries;
|
|
120
119
|
let delay = baseDelayMs;
|
|
121
120
|
let error = void 0;
|
|
@@ -136,8 +135,8 @@ async function pRetry(callbackFn, options) {
|
|
|
136
135
|
const result = onRetry(retries - attempts, e, waitTime);
|
|
137
136
|
if (result === false && onRetryCancelOnFalse) break;
|
|
138
137
|
if (typeof result === "number" && result >= 0) waitTime = require_primordials_math.MathMin(result, maxDelayMs);
|
|
139
|
-
} catch (
|
|
140
|
-
if (onRetryRethrow) throw
|
|
138
|
+
} catch (onRetryError) {
|
|
139
|
+
if (onRetryRethrow) throw onRetryError;
|
|
141
140
|
}
|
|
142
141
|
/* c8 ignore stop */
|
|
143
142
|
try {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Browser-compatible promise-based timer helpers. Uses
|
|
3
|
+
* `globalThis.setTimeout` / `globalThis.queueMicrotask` directly so every
|
|
4
|
+
* export works in browsers, Node.js, Deno, Bun, and Web Workers without
|
|
5
|
+
* importing `node:timers/promises`. In Node.js test environments with
|
|
6
|
+
* `vi.useFakeTimers()` / `clock.install()`, vitest/sinon replace
|
|
7
|
+
* `globalThis.setTimeout` before this module loads, so fake timers advance
|
|
8
|
+
* `sleep()` correctly — no special wiring needed. For Node-only
|
|
9
|
+
* abort-signal-aware delays see `promises/_internal.ts`.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Pause for `ms` milliseconds. Resolves with `undefined` when the timer fires.
|
|
13
|
+
* Negative values are clamped to 0.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* await sleep(100)
|
|
17
|
+
*/
|
|
18
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Yield to the event loop once. Resolves after the current call stack and any
|
|
21
|
+
* already-queued microtasks have completed — equivalent to `setTimeout(fn, 0)`
|
|
22
|
+
* as described in
|
|
23
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#late_timeouts.
|
|
24
|
+
* Useful for flushing microtask queues in tests or giving the browser a repaint
|
|
25
|
+
* opportunity between heavy operations.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* await yieldToEventLoop()
|
|
29
|
+
*/
|
|
30
|
+
export declare function yieldToEventLoop(): Promise<void>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_promise = require('../primordials/promise.js');
|
|
5
|
+
|
|
6
|
+
//#region src/promises/timers.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Browser-compatible promise-based timer helpers. Uses
|
|
9
|
+
* `globalThis.setTimeout` / `globalThis.queueMicrotask` directly so every
|
|
10
|
+
* export works in browsers, Node.js, Deno, Bun, and Web Workers without
|
|
11
|
+
* importing `node:timers/promises`. In Node.js test environments with
|
|
12
|
+
* `vi.useFakeTimers()` / `clock.install()`, vitest/sinon replace
|
|
13
|
+
* `globalThis.setTimeout` before this module loads, so fake timers advance
|
|
14
|
+
* `sleep()` correctly — no special wiring needed. For Node-only
|
|
15
|
+
* abort-signal-aware delays see `promises/_internal.ts`.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Pause for `ms` milliseconds. Resolves with `undefined` when the timer fires.
|
|
19
|
+
* Negative values are clamped to 0.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* await sleep(100)
|
|
23
|
+
*/
|
|
24
|
+
function sleep(ms) {
|
|
25
|
+
return new require_primordials_promise.PromiseCtor((resolve) => {
|
|
26
|
+
setTimeout(resolve, ms > 0 ? ms : 0);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Yield to the event loop once. Resolves after the current call stack and any
|
|
31
|
+
* already-queued microtasks have completed — equivalent to `setTimeout(fn, 0)`
|
|
32
|
+
* as described in
|
|
33
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout#late_timeouts.
|
|
34
|
+
* Useful for flushing microtask queues in tests or giving the browser a repaint
|
|
35
|
+
* opportunity between heavy operations.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* await yieldToEventLoop()
|
|
39
|
+
*/
|
|
40
|
+
function yieldToEventLoop() {
|
|
41
|
+
return new require_primordials_promise.PromiseCtor((resolve) => {
|
|
42
|
+
setTimeout(resolve, 0);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
exports.sleep = sleep;
|
|
48
|
+
exports.yieldToEventLoop = yieldToEventLoop;
|
package/dist/regexps/spec.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
const require_primordials_string = require('../primordials/string.js');
|
|
5
4
|
const require_primordials_map_set = require('../primordials/map-set.js');
|
|
5
|
+
const require_primordials_string = require('../primordials/string.js');
|
|
6
6
|
const require_regexps_hex = require('./hex.js');
|
|
7
7
|
|
|
8
8
|
//#region src/regexps/spec.ts
|
|
@@ -34,10 +34,10 @@ import type { AssetPattern, RepoConfig } from './github-types';
|
|
|
34
34
|
* @returns Path to the extraction directory
|
|
35
35
|
*/
|
|
36
36
|
export declare function downloadAndExtractArchive(tag: string, assetPattern: string | AssetPattern, outputDir: string, repoConfig: RepoConfig, options?: {
|
|
37
|
-
cleanup?: boolean;
|
|
38
|
-
format?: ArchiveFormat;
|
|
39
|
-
quiet?: boolean;
|
|
40
|
-
strip?: number;
|
|
37
|
+
cleanup?: boolean | undefined;
|
|
38
|
+
format?: ArchiveFormat | undefined;
|
|
39
|
+
quiet?: boolean | undefined;
|
|
40
|
+
strip?: number | undefined;
|
|
41
41
|
}): Promise<string>;
|
|
42
42
|
/**
|
|
43
43
|
* Download and extract a zip file from a GitHub release. Automatically handles
|
|
@@ -66,6 +66,6 @@ export declare function downloadAndExtractArchive(tag: string, assetPattern: str
|
|
|
66
66
|
* @returns Path to the extraction directory
|
|
67
67
|
*/
|
|
68
68
|
export declare function downloadAndExtractZip(tag: string, assetPattern: string | AssetPattern, outputDir: string, repoConfig: RepoConfig, options?: {
|
|
69
|
-
cleanup?: boolean;
|
|
70
|
-
quiet?: boolean;
|
|
69
|
+
cleanup?: boolean | undefined;
|
|
70
|
+
quiet?: boolean | undefined;
|
|
71
71
|
}): Promise<string>;
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
const require_primordials_error = require('../primordials/error.js');
|
|
5
5
|
const require_node_path = require('../node/path.js');
|
|
6
6
|
const require_logger_default = require('../logger/default.js');
|
|
7
|
-
const require_archives_detect = require('../archives/detect.js');
|
|
8
7
|
const require_fs_safe = require('../fs/safe.js');
|
|
8
|
+
const require_archives_detect = require('../archives/detect.js');
|
|
9
9
|
const require_archives_extract = require('../archives/extract.js');
|
|
10
10
|
const require_releases_github_downloads = require('./github-downloads.js');
|
|
11
11
|
|
|
@@ -46,7 +46,7 @@ const logger = require_logger_default.getDefaultLogger();
|
|
|
46
46
|
*/
|
|
47
47
|
async function downloadAndExtractArchive(tag, assetPattern, outputDir, repoConfig, options = { __proto__: null }) {
|
|
48
48
|
const { cleanup = true, format, quiet = false, strip } = options;
|
|
49
|
-
const path =
|
|
49
|
+
const path = require_node_path.getNodePath();
|
|
50
50
|
await require_fs_safe.safeMkdir(outputDir);
|
|
51
51
|
let ext = ".archive";
|
|
52
52
|
if (format) ext = format === "tar.gz" ? ".tar.gz" : `.${format}`;
|
|
@@ -104,7 +104,7 @@ async function downloadAndExtractArchive(tag, assetPattern, outputDir, repoConfi
|
|
|
104
104
|
*/
|
|
105
105
|
async function downloadAndExtractZip(tag, assetPattern, outputDir, repoConfig, options = { __proto__: null }) {
|
|
106
106
|
const { cleanup = true, quiet = false } = options;
|
|
107
|
-
const path =
|
|
107
|
+
const path = require_node_path.getNodePath();
|
|
108
108
|
await require_fs_safe.safeMkdir(outputDir);
|
|
109
109
|
const zipPath = path.join(outputDir, "__temp_download__.zip");
|
|
110
110
|
if (!quiet) logger.info(`Downloading zip asset from release ${tag}...`);
|