@socketsecurity/lib 6.0.5 → 6.0.7
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 +43 -0
- package/dist/ai/discover.d.mts +2 -2
- package/dist/ai/discover.js +6 -4
- package/dist/ai/spawn.js +10 -6
- package/dist/ai/types.d.mts +18 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +12 -7
- 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 +6 -6
- package/dist/archives/zip.js +4 -6
- 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 +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 +43 -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/acorn-bindgen.cjs +769 -0
- package/dist/bin/acorn.wasm +0 -0
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +13 -13
- package/dist/bin/prim.cjs +39244 -0
- package/dist/bin/resolve.js +12 -13
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +5 -5
- 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 +11 -11
- package/dist/{bin → cli}/check-primordials.js +56 -52
- package/dist/{bin → cli}/check.js +6 -5
- 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 +20 -19
- package/dist/compression/brotli.d.ts +25 -25
- package/dist/compression/brotli.js +37 -44
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +44 -52
- 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.js +22 -28
- 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.js +1 -1
- package/dist/cover/code.js +8 -8
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +26 -1
- package/dist/crypto/hash.js +43 -12
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +2 -3
- 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 +6 -6
- package/dist/dlx/binary-cache.js +14 -14
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +14 -13
- package/dist/dlx/binary-resolution.js +16 -14
- 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 +34 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +16 -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 +16 -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 +1 -1
- package/dist/eco/cargo/parse-lockfile.js +2 -2
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +4 -4
- 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 +14 -14
- package/dist/eco/npm/npm/parse-lockfile.js +3 -3
- 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 +1 -1
- package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
- 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/rewire.d.ts +7 -6
- package/dist/env/rewire.js +15 -16
- 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 +1 -109
- package/dist/env/socket.js +12 -166
- 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/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/@sinclair/typebox/value.js +5 -1
- package/dist/external/@sinclair/typebox.js +5 -1
- package/dist/external/@socketregistry/packageurl-js.js +27 -0
- package/dist/external/npm-pack.js +2 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/resolve.js +2 -1
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/resolve.js +2 -1
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +1 -1
- package/dist/external-tools/from-download.js +1 -1
- package/dist/external-tools/from-pip-venv.d.ts +73 -0
- package/dist/external-tools/from-pip-venv.js +98 -0
- package/dist/external-tools/janus/asset-names.js +1 -1
- package/dist/external-tools/janus/from-download.js +3 -5
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/resolve.js +2 -1
- package/dist/external-tools/janus/types.d.ts +1 -1
- 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.js +2 -1
- package/dist/external-tools/jre/from-vfs.js +1 -1
- package/dist/external-tools/jre/resolve.js +2 -1
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +7 -7
- package/dist/external-tools/manifest.js +18 -16
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/resolve.js +2 -1
- 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 +104 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +87 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +68 -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 +173 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +139 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +58 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/resolve.js +2 -1
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.d.ts +24 -0
- package/dist/external-tools/skillspector/from-dlx.js +41 -0
- package/dist/external-tools/skillspector/from-path.d.ts +8 -0
- package/dist/external-tools/skillspector/from-path.js +30 -0
- package/dist/external-tools/skillspector/from-vfs.d.ts +8 -0
- package/dist/external-tools/skillspector/from-vfs.js +27 -0
- package/dist/external-tools/skillspector/resolve.d.ts +34 -0
- package/dist/external-tools/skillspector/resolve.js +53 -0
- package/dist/external-tools/skillspector/types.d.ts +24 -0
- package/dist/external-tools/skillspector/types.js +2 -0
- package/dist/external-tools/synp/from-download.js +2 -2
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/synp/resolve.js +2 -1
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/resolve.js +2 -1
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/resolve.js +2 -1
- 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/{path-cache.js → allowed-dirs-cache.js} +1 -1
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +11 -13
- 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 +6 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +1 -1
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +12 -13
- 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 +12 -11
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +3 -3
- package/dist/git/staged.js +4 -4
- package/dist/git/unstaged.js +4 -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-rest.js +5 -5
- 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 +7 -9
- package/dist/globs/match.js +6 -7
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +12 -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 +21 -13
- 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 +4 -4
- package/dist/http-request/headers.d.ts +32 -3
- package/dist/http-request/headers.js +41 -13
- package/dist/http-request/request-attempt.js +38 -33
- package/dist/http-request/request-types.d.ts +7 -2
- package/dist/http-request/request.js +33 -16
- package/dist/http-request/response-reader.d.ts +12 -1
- package/dist/http-request/response-reader.js +22 -2
- package/dist/http-request/user-agent.js +3 -4
- package/dist/integrity.d.ts +86 -18
- package/dist/integrity.js +119 -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 +13 -14
- package/dist/json/format.js +2 -2
- 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 +141 -0
- package/dist/native-messaging/rate-limit.d.ts +62 -0
- package/dist/native-messaging/rate-limit.js +115 -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.js +4 -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.js +4 -3
- package/dist/node/path.js +4 -3
- 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 +5 -7
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +2 -3
- package/dist/objects/predicates.js +0 -4
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.js +15 -16
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +11 -17
- 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 +16 -16
- package/dist/packages/manifest.js +12 -15
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +5 -9
- package/dist/packages/provenance.d.ts +6 -0
- package/dist/packages/provenance.js +25 -18
- 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 +74 -11
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +79 -0
- package/dist/packages/types.d.ts +21 -20
- 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/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +6 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +11 -14
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.js +16 -16
- 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/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- 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 +14 -14
- package/dist/process/spawn/errors.js +2 -4
- 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 +12 -16
- 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/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +2 -2
- 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 +11 -2
- 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 +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +5 -4
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/keychain.js +9 -6
- package/dist/secrets/linux.js +25 -23
- package/dist/secrets/macos.d.ts +1 -1
- package/dist/secrets/macos.js +18 -16
- package/dist/secrets/rc.d.ts +2 -2
- package/dist/secrets/rc.js +15 -10
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +18 -9
- package/dist/secrets/windows.js +21 -17
- package/dist/shadow/skip.js +2 -2
- package/dist/shell/parse.d.ts +108 -1
- package/dist/shell/parse.js +168 -2
- 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 +101 -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 +4 -5
- package/dist/spinner/spinner.js +18 -705
- 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 +5 -5
- package/dist/stdio/prompts.d.ts +5 -3
- package/dist/stdio/prompts.js +6 -7
- 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 +4 -2
- package/dist/temporal/slots.js +7 -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/parse.js +0 -2
- package/dist/url/predicates.js +1 -2
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +5 -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.d.ts +24 -2
- package/dist/words/pluralize.js +47 -2
- package/dist/words/types.d.ts +25 -2
- package/package.json +289 -108
- 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 -52
- package/dist/external-tools/uv/types.d.ts +0 -24
- 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/{path-cache.d.ts → allowed-dirs-cache.d.ts} +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
|
@@ -11,7 +11,7 @@ const require_smol_primordial = require('../smol/primordial.js');
|
|
|
11
11
|
* static `parseFloat` / `parseInt` use the FastOneByteString-typed bindings
|
|
12
12
|
* for ASCII inputs and fall back to stock `Number.parse*` otherwise.
|
|
13
13
|
*/
|
|
14
|
-
const
|
|
14
|
+
const smolPrimordial = require_smol_primordial.getSmolPrimordial();
|
|
15
15
|
const NumberCtor = Number;
|
|
16
16
|
const NumberEPSILON = Number.EPSILON;
|
|
17
17
|
const NumberMAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER;
|
|
@@ -20,14 +20,14 @@ const NumberMIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER;
|
|
|
20
20
|
const NumberMIN_VALUE = Number.MIN_VALUE;
|
|
21
21
|
const NumberNEGATIVE_INFINITY = Number.NEGATIVE_INFINITY;
|
|
22
22
|
const NumberPOSITIVE_INFINITY = Number.POSITIVE_INFINITY;
|
|
23
|
-
const NumberIsFinite =
|
|
24
|
-
const NumberIsInteger =
|
|
25
|
-
const NumberIsNaN =
|
|
26
|
-
const NumberIsSafeInteger =
|
|
27
|
-
const NumberParseFloat =
|
|
28
|
-
const
|
|
29
|
-
/* c8 ignore start */
|
|
30
|
-
const NumberParseInt =
|
|
23
|
+
const NumberIsFinite = smolPrimordial?.numberIsFinite ?? Number.isFinite;
|
|
24
|
+
const NumberIsInteger = smolPrimordial?.numberIsInteger ?? Number.isInteger;
|
|
25
|
+
const NumberIsNaN = smolPrimordial?.numberIsNaN ?? Number.isNaN;
|
|
26
|
+
const NumberIsSafeInteger = smolPrimordial?.numberIsSafeInteger ?? Number.isSafeInteger;
|
|
27
|
+
const NumberParseFloat = smolPrimordial?.numberParseFloat ?? Number.parseFloat;
|
|
28
|
+
const smolParseInt10 = smolPrimordial?.numberParseInt10;
|
|
29
|
+
/* c8 ignore start - smol fast-path branch only reachable on socket-btm smol Node binary */
|
|
30
|
+
const NumberParseInt = smolParseInt10 ? (s, radix) => radix === void 0 || radix === 10 ? smolParseInt10(s) : Number.parseInt(s, radix) : Number.parseInt;
|
|
31
31
|
/* c8 ignore stop */
|
|
32
32
|
const NumberPrototypeToExponential = require_primordials_uncurry.uncurryThis(Number.prototype.toExponential);
|
|
33
33
|
const NumberPrototypeToFixed = require_primordials_uncurry.uncurryThis(Number.prototype.toFixed);
|
|
@@ -40,11 +40,11 @@ const ObjectPrototypeIsPrototypeOf = require_primordials_uncurry.uncurryThis(Obj
|
|
|
40
40
|
const ObjectPrototypePropertyIsEnumerable = require_primordials_uncurry.uncurryThis(Object.prototype.propertyIsEnumerable);
|
|
41
41
|
const ObjectPrototypeToString = require_primordials_uncurry.uncurryThis(Object.prototype.toString);
|
|
42
42
|
const ObjectPrototypeValueOf = require_primordials_uncurry.uncurryThis(Object.prototype.valueOf);
|
|
43
|
-
const
|
|
44
|
-
const ObjectPrototypeDefineGetter = require_primordials_uncurry.uncurryThis(
|
|
45
|
-
const ObjectPrototypeDefineSetter = require_primordials_uncurry.uncurryThis(
|
|
46
|
-
const ObjectPrototypeLookupGetter = require_primordials_uncurry.uncurryThis(
|
|
47
|
-
const ObjectPrototypeLookupSetter = require_primordials_uncurry.uncurryThis(
|
|
43
|
+
const objectProto = Object.prototype;
|
|
44
|
+
const ObjectPrototypeDefineGetter = require_primordials_uncurry.uncurryThis(objectProto.__defineGetter__);
|
|
45
|
+
const ObjectPrototypeDefineSetter = require_primordials_uncurry.uncurryThis(objectProto.__defineSetter__);
|
|
46
|
+
const ObjectPrototypeLookupGetter = require_primordials_uncurry.uncurryThis(objectProto.__lookupGetter__);
|
|
47
|
+
const ObjectPrototypeLookupSetter = require_primordials_uncurry.uncurryThis(objectProto.__lookupSetter__);
|
|
48
48
|
|
|
49
49
|
//#endregion
|
|
50
50
|
exports.ObjectAssign = ObjectAssign;
|
|
@@ -50,8 +50,8 @@ export declare const StringPrototypeNormalize: (self: unknown, form?: string | u
|
|
|
50
50
|
export declare const StringPrototypePadEnd: (self: unknown, maxLength: number, fillString?: string | undefined) => string;
|
|
51
51
|
export declare const StringPrototypePadStart: (self: unknown, maxLength: number, fillString?: string | undefined) => string;
|
|
52
52
|
export declare const StringPrototypeRepeat: (self: unknown, count: number) => string;
|
|
53
|
-
export declare const StringPrototypeReplace: (self: string, searchValue: string | RegExp, replaceValue: string | ((substring: string, ...args:
|
|
54
|
-
export declare const StringPrototypeReplaceAll: (self: string, searchValue: string | RegExp, replaceValue: string | ((substring: string, ...args:
|
|
53
|
+
export declare const StringPrototypeReplace: (self: string, searchValue: string | RegExp, replaceValue: string | ((substring: string, ...args: unknown[]) => string)) => string;
|
|
54
|
+
export declare const StringPrototypeReplaceAll: (self: string, searchValue: string | RegExp, replaceValue: string | ((substring: string, ...args: unknown[]) => string)) => string;
|
|
55
55
|
export declare const StringPrototypeSearch: (self: unknown, searcher: {
|
|
56
56
|
[Symbol.search](string: string): number;
|
|
57
57
|
}) => number;
|
|
@@ -34,17 +34,17 @@ const require_smol_primordial = require('../smol/primordial.js');
|
|
|
34
34
|
* `src/socketsecurity/primordial/primordial_binding.cc:41-72` for the
|
|
35
35
|
* canonical design statement.
|
|
36
36
|
*/
|
|
37
|
-
const
|
|
37
|
+
const smolPrimordial = require_smol_primordial.getSmolPrimordial();
|
|
38
38
|
const StringCtor = String;
|
|
39
39
|
const StringFromCharCode = String.fromCharCode;
|
|
40
40
|
const StringFromCodePoint = String.fromCodePoint;
|
|
41
41
|
const StringRaw = String.raw;
|
|
42
42
|
const StringPrototypeAt = require_primordials_uncurry.uncurryThis(String.prototype.at);
|
|
43
43
|
const StringPrototypeCharAt = require_primordials_uncurry.uncurryThis(String.prototype.charAt);
|
|
44
|
-
const
|
|
45
|
-
/* c8 ignore start */
|
|
46
|
-
const StringPrototypeCharCodeAt =
|
|
47
|
-
const code =
|
|
44
|
+
const smolCharCodeAt = smolPrimordial?.stringCharCodeAt;
|
|
45
|
+
/* c8 ignore start - smol Node fast path unreachable on stock Node test runner */
|
|
46
|
+
const StringPrototypeCharCodeAt = smolCharCodeAt ? (s, i) => {
|
|
47
|
+
const code = smolCharCodeAt(s, i);
|
|
48
48
|
return code === -1 ? NaN : code;
|
|
49
49
|
} : require_primordials_uncurry.uncurryThis(String.prototype.charCodeAt);
|
|
50
50
|
/* c8 ignore stop */
|
|
@@ -53,7 +53,7 @@ const StringPrototypeConcat = require_primordials_uncurry.uncurryThis(String.pro
|
|
|
53
53
|
const StringPrototypeEndsWith = require_primordials_uncurry.uncurryThis(String.prototype.endsWith);
|
|
54
54
|
const StringPrototypeIncludes = require_primordials_uncurry.uncurryThis(String.prototype.includes);
|
|
55
55
|
const StringPrototypeIndexOf = require_primordials_uncurry.uncurryThis(String.prototype.indexOf);
|
|
56
|
-
const StringPrototypeIsWellFormed =
|
|
56
|
+
const StringPrototypeIsWellFormed = smolPrimordial?.stringIsWellFormed ?? require_primordials_uncurry.uncurryThis(String.prototype.isWellFormed);
|
|
57
57
|
const StringPrototypeLastIndexOf = require_primordials_uncurry.uncurryThis(String.prototype.lastIndexOf);
|
|
58
58
|
const StringPrototypeLocaleCompare = require_primordials_uncurry.uncurryThis(String.prototype.localeCompare);
|
|
59
59
|
const StringPrototypeMatch = require_primordials_uncurry.uncurryThis(String.prototype.match);
|
|
@@ -29,10 +29,10 @@ const SymbolSplit = Symbol.split;
|
|
|
29
29
|
const SymbolToPrimitive = Symbol.toPrimitive;
|
|
30
30
|
const SymbolToStringTag = Symbol.toStringTag;
|
|
31
31
|
const SymbolUnscopables = Symbol.unscopables;
|
|
32
|
-
const
|
|
32
|
+
const symbolDescriptionGetter = Symbol.prototype.__lookupGetter__("description");
|
|
33
33
|
function SymbolPrototypeDescription(self) {
|
|
34
|
-
/* c8 ignore start */
|
|
35
|
-
return
|
|
34
|
+
/* c8 ignore start - description getter is always present in modern V8; the fallback branch is unreachable */
|
|
35
|
+
return symbolDescriptionGetter ? symbolDescriptionGetter.call(self) : self.description;
|
|
36
36
|
/* c8 ignore stop */
|
|
37
37
|
}
|
|
38
38
|
const SymbolPrototypeToString = require_primordials_uncurry.uncurryThis(Symbol.prototype.toString);
|
|
@@ -15,13 +15,13 @@ const require_smol_detect = require('../smol/detect.js');
|
|
|
15
15
|
* or `Reflect` here. tsgo has a bug that mis-transpiles destructured exports.
|
|
16
16
|
* See: https://github.com/SocketDev/socket-packageurl-js/issues/3.
|
|
17
17
|
*/
|
|
18
|
-
const
|
|
18
|
+
const smolUtil = require_smol_detect.getSmolUtil();
|
|
19
19
|
const { apply, bind, call } = Function.prototype;
|
|
20
|
-
const uncurryThis =
|
|
21
|
-
const applyBind =
|
|
22
|
-
const
|
|
23
|
-
const applySafe =
|
|
24
|
-
const apply2 =
|
|
20
|
+
const uncurryThis = smolUtil?.uncurryThis ?? bind.bind(call);
|
|
21
|
+
const applyBind = smolUtil?.applyBind ?? bind.bind(apply);
|
|
22
|
+
const applyBoundForSafe = applyBind;
|
|
23
|
+
const applySafe = smolUtil?.applySafe ?? ((fn) => {
|
|
24
|
+
const apply2 = applyBoundForSafe(fn);
|
|
25
25
|
return (self, args) => {
|
|
26
26
|
try {
|
|
27
27
|
return apply2(self, args);
|
|
@@ -30,9 +30,9 @@ const applySafe = _smolUtil?.applySafe ?? ((fn) => {
|
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
32
|
});
|
|
33
|
-
const
|
|
34
|
-
const bindCall =
|
|
35
|
-
const weakRefSafe =
|
|
33
|
+
const bindCallFallback = ((fn, thisArg, ...presetArgs) => Function.prototype.bind.apply(fn, [thisArg, ...presetArgs]));
|
|
34
|
+
const bindCall = smolUtil?.bindCall ?? bindCallFallback;
|
|
35
|
+
const weakRefSafe = smolUtil?.weakRefSafe ?? ((target) => {
|
|
36
36
|
try {
|
|
37
37
|
return new WeakRef(target);
|
|
38
38
|
} catch {
|
package/dist/process/abort.js
CHANGED
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
8
8
|
* `AbortController` and its `AbortSignal` so cooperating modules can
|
|
9
9
|
* coordinate cancellation from a single source.
|
|
10
10
|
*/
|
|
11
|
-
let
|
|
11
|
+
let abortController;
|
|
12
12
|
/**
|
|
13
13
|
* Get the process-scoped shared `AbortController` singleton. Cooperating
|
|
14
14
|
* modules use this to coordinate cancellation across the library.
|
|
@@ -16,8 +16,8 @@ let _abortController;
|
|
|
16
16
|
* @returns The lazily-created shared `AbortController` instance.
|
|
17
17
|
*/
|
|
18
18
|
function getAbortController() {
|
|
19
|
-
if (
|
|
20
|
-
return
|
|
19
|
+
if (abortController === void 0) abortController = new AbortController();
|
|
20
|
+
return abortController;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Get the process-scoped shared `AbortSignal` singleton. This is the `signal`
|
|
@@ -72,12 +72,12 @@ var ProcessLockManager = class {
|
|
|
72
72
|
*/
|
|
73
73
|
ensureExitHandler() {
|
|
74
74
|
if (this.exitHandlerRegistered) return;
|
|
75
|
-
|
|
75
|
+
require_events_exit_handler.onExit(() => {
|
|
76
76
|
/* c8 ignore start - Exit-handler body only fires on real
|
|
77
77
|
process exit. Subprocess test infra would be needed. */
|
|
78
78
|
for (const timer of this.touchTimers.values()) clearInterval(timer);
|
|
79
79
|
this.touchTimers.clear();
|
|
80
|
-
const fs =
|
|
80
|
+
const fs = require_node_fs.getNodeFs();
|
|
81
81
|
for (const lockPath of this.activeLocks) try {
|
|
82
82
|
if (fs.existsSync(lockPath)) require_fs_safe.safeDeleteSync(lockPath, { recursive: true });
|
|
83
83
|
} catch {}
|
|
@@ -93,7 +93,7 @@ var ProcessLockManager = class {
|
|
|
93
93
|
*/
|
|
94
94
|
touchLock(lockPath) {
|
|
95
95
|
try {
|
|
96
|
-
const fs =
|
|
96
|
+
const fs = require_node_fs.getNodeFs();
|
|
97
97
|
if (fs.existsSync(lockPath)) {
|
|
98
98
|
const now = require_primordials_date.DateNow() / 1e3;
|
|
99
99
|
fs.utimesSync(lockPath, now, now);
|
|
@@ -142,7 +142,7 @@ var ProcessLockManager = class {
|
|
|
142
142
|
*/
|
|
143
143
|
isStale(lockPath, staleMs) {
|
|
144
144
|
try {
|
|
145
|
-
const stats =
|
|
145
|
+
const stats = require_node_fs.getNodeFs().statSync(lockPath, { throwIfNoEntry: false });
|
|
146
146
|
if (!stats) return false;
|
|
147
147
|
return require_primordials_date.DateNow() - stats.mtime.getTime() > staleMs;
|
|
148
148
|
} catch {
|
|
@@ -178,7 +178,7 @@ var ProcessLockManager = class {
|
|
|
178
178
|
async acquire(lockPath, options = {}) {
|
|
179
179
|
const { baseDelayMs = 100, maxDelayMs = 1e3, retries = 3, staleMs = 5e3, touchIntervalMs = 2e3 } = options;
|
|
180
180
|
this.ensureExitHandler();
|
|
181
|
-
return await
|
|
181
|
+
return await require_promises_retry.pRetry(async () => {
|
|
182
182
|
try {
|
|
183
183
|
if (this.isStale(lockPath, staleMs)) {
|
|
184
184
|
logger.log(`Removing stale lock: ${lockPath}`);
|
|
@@ -186,8 +186,8 @@ var ProcessLockManager = class {
|
|
|
186
186
|
require_fs_safe.safeDeleteSync(lockPath, { recursive: true });
|
|
187
187
|
} catch {}
|
|
188
188
|
}
|
|
189
|
-
const fs =
|
|
190
|
-
const parent =
|
|
189
|
+
const fs = require_node_fs.getNodeFs();
|
|
190
|
+
const parent = require_node_path.getNodePath().dirname(lockPath);
|
|
191
191
|
if (parent && parent !== "." && parent !== lockPath) fs.mkdirSync(parent, { recursive: true });
|
|
192
192
|
fs.mkdirSync(lockPath);
|
|
193
193
|
this.activeLocks.add(lockPath);
|
|
@@ -238,7 +238,7 @@ Parent path: ${parentDir}\nTo resolve:
|
|
|
238
238
|
release(lockPath) {
|
|
239
239
|
this.stopTouchTimer(lockPath);
|
|
240
240
|
try {
|
|
241
|
-
if (
|
|
241
|
+
if (require_node_fs.getNodeFs().existsSync(lockPath)) require_fs_safe.safeDeleteSync(lockPath, { recursive: true });
|
|
242
242
|
this.activeLocks.delete(lockPath);
|
|
243
243
|
} catch (e) {
|
|
244
244
|
logger.warn(`Failed to release lock ${lockPath}: ${require_errors_message.errorMessage(e)}`);
|
|
@@ -13,17 +13,16 @@ const require_ansi_strip = require('../../ansi/strip.js');
|
|
|
13
13
|
*/
|
|
14
14
|
const stackCache = new require_primordials_map_set.WeakMapCtor();
|
|
15
15
|
const spawnBinPathCache = new require_primordials_map_set.MapCtor();
|
|
16
|
-
const windowsScriptExtRegExp = /\.(?:cmd|
|
|
17
|
-
let
|
|
16
|
+
const windowsScriptExtRegExp = /\.(?:bat|cmd|ps1)$/i;
|
|
17
|
+
let npmCliPromiseSpawnCache;
|
|
18
18
|
/**
|
|
19
19
|
* Lazily load the `@npmcli/promise-spawn` module to avoid Webpack bundling
|
|
20
20
|
* issues. Required because the upstream module uses CJS dynamic-require
|
|
21
21
|
* patterns that Webpack flags.
|
|
22
22
|
*/
|
|
23
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
24
23
|
function getNpmCliPromiseSpawn() {
|
|
25
|
-
if (
|
|
26
|
-
return
|
|
24
|
+
if (npmCliPromiseSpawnCache === void 0) npmCliPromiseSpawnCache = /*@__PURE__*/ require("../../external/@npmcli/promise-spawn");
|
|
25
|
+
return npmCliPromiseSpawnCache;
|
|
27
26
|
}
|
|
28
27
|
/**
|
|
29
28
|
* Strip ANSI escape codes from spawn result stdout and stderr. Modifies the
|
|
@@ -33,12 +32,11 @@ function getNpmCliPromiseSpawn() {
|
|
|
33
32
|
*
|
|
34
33
|
* @returns {unknown} The modified result object
|
|
35
34
|
*/
|
|
36
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
37
35
|
function stripAnsiFromSpawnResult(result) {
|
|
38
36
|
const res = result;
|
|
39
37
|
const { stderr, stdout } = res;
|
|
40
|
-
if (typeof stdout === "string") res.stdout =
|
|
41
|
-
if (typeof stderr === "string") res.stderr =
|
|
38
|
+
if (typeof stdout === "string") res.stdout = require_ansi_strip.stripAnsi(stdout);
|
|
39
|
+
if (typeof stderr === "string") res.stderr = require_ansi_strip.stripAnsi(stderr);
|
|
42
40
|
return res;
|
|
43
41
|
}
|
|
44
42
|
|
|
@@ -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,9 @@ 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)) actualCmd = require_node_path.getNodePath().basename(actualCmd, require_node_path.getNodePath().extname(actualCmd));
|
|
76
76
|
}
|
|
77
|
-
const shouldStopSpinner = !!spinnerInstance?.isSpinning &&
|
|
77
|
+
const shouldStopSpinner = !!spinnerInstance?.isSpinning && !require_process_spawn_stdio.isStdioType(stdio, "ignore") && !require_process_spawn_stdio.isStdioType(stdio, "pipe");
|
|
78
78
|
const shouldRestartSpinner = shouldStopSpinner;
|
|
79
79
|
if (shouldStopSpinner) spinnerInstance.stop();
|
|
80
80
|
const envToUse = env ? {
|
|
@@ -95,18 +95,18 @@ function spawn(cmd, args, options, extra) {
|
|
|
95
95
|
uid: spawnOptions.uid,
|
|
96
96
|
gid: spawnOptions.gid
|
|
97
97
|
};
|
|
98
|
-
const spawnPromise =
|
|
98
|
+
const spawnPromise = require_process_spawn__internal.getNpmCliPromiseSpawn()(actualCmd, args ? [...args] : [], promiseSpawnOpts, extra);
|
|
99
99
|
/* c8 ignore stop */
|
|
100
100
|
const oldSpawnPromise = spawnPromise;
|
|
101
101
|
/* c8 ignore start */
|
|
102
102
|
let newSpawnPromise;
|
|
103
103
|
if (shouldStripAnsi && stdioString) newSpawnPromise = (async () => {
|
|
104
104
|
try {
|
|
105
|
-
const strippedResult =
|
|
105
|
+
const strippedResult = require_process_spawn__internal.stripAnsiFromSpawnResult(await spawnPromise);
|
|
106
106
|
if ("code" in strippedResult) strippedResult.exitCode = strippedResult.code;
|
|
107
107
|
return strippedResult;
|
|
108
108
|
} catch (error) {
|
|
109
|
-
throw
|
|
109
|
+
throw require_process_spawn_errors.enhanceSpawnError(require_process_spawn__internal.stripAnsiFromSpawnResult(error));
|
|
110
110
|
}
|
|
111
111
|
})();
|
|
112
112
|
else newSpawnPromise = (async () => {
|
|
@@ -119,7 +119,7 @@ function spawn(cmd, args, options, extra) {
|
|
|
119
119
|
}
|
|
120
120
|
return result;
|
|
121
121
|
} catch (error) {
|
|
122
|
-
throw
|
|
122
|
+
throw require_process_spawn_errors.enhanceSpawnError(error);
|
|
123
123
|
}
|
|
124
124
|
})();
|
|
125
125
|
/* c8 ignore stop */
|
|
@@ -139,18 +139,18 @@ function spawn(cmd, args, options, extra) {
|
|
|
139
139
|
}
|
|
140
140
|
function spawnSync(cmd, args, options) {
|
|
141
141
|
let actualCmd = cmd;
|
|
142
|
-
if (
|
|
142
|
+
if (!require_paths_predicates.isPath(cmd)) {
|
|
143
143
|
const resolved = require_bin_which.whichSync(cmd, {
|
|
144
|
-
cwd:
|
|
144
|
+
cwd: require_objects_inspect.getOwn(options, "cwd"),
|
|
145
145
|
nothrow: true
|
|
146
146
|
});
|
|
147
147
|
if (resolved && typeof resolved === "string") actualCmd = resolved;
|
|
148
148
|
}
|
|
149
|
-
const shell =
|
|
149
|
+
const shell = require_objects_inspect.getOwn(options, "shell");
|
|
150
150
|
/* c8 ignore start - Windows-only cmd.exe extension stripping for
|
|
151
151
|
.cmd/.bat/.ps1 shell-true execution. Tested on Windows runners. */
|
|
152
152
|
if (node_process.default.platform === "win32" && shell && require_primordials_regexp.RegExpPrototypeTest(require_process_spawn__internal.windowsScriptExtRegExp, actualCmd)) {
|
|
153
|
-
if (
|
|
153
|
+
if (!require_paths_predicates.isPath(actualCmd)) actualCmd = require_node_path.getNodePath().basename(actualCmd, require_node_path.getNodePath().extname(actualCmd));
|
|
154
154
|
}
|
|
155
155
|
/* c8 ignore stop */
|
|
156
156
|
const { stripAnsi: shouldStripAnsi = true, ...rawSpawnOptions } = {
|
|
@@ -163,13 +163,13 @@ function spawnSync(cmd, args, options) {
|
|
|
163
163
|
...rawSpawnOptions
|
|
164
164
|
};
|
|
165
165
|
const stdioString = spawnOptions.encoding !== "buffer";
|
|
166
|
-
const result =
|
|
166
|
+
const result = require_node_child_process.getNodeChildProcess().spawnSync(actualCmd, args, spawnOptions);
|
|
167
167
|
if (stdioString) {
|
|
168
168
|
const { stderr, stdout } = result;
|
|
169
169
|
if (stdout) result.stdout = stdout.toString().trim();
|
|
170
170
|
if (stderr) result.stderr = stderr.toString().trim();
|
|
171
171
|
}
|
|
172
|
-
return shouldStripAnsi && stdioString ?
|
|
172
|
+
return shouldStripAnsi && stdioString ? require_process_spawn__internal.stripAnsiFromSpawnResult(result) : result;
|
|
173
173
|
}
|
|
174
174
|
|
|
175
175
|
//#endregion
|
|
@@ -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
|
|