@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
package/dist/constants/node.js
CHANGED
|
@@ -14,10 +14,10 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
14
14
|
* and feature-detection flags for APIs that vary across Node releases.
|
|
15
15
|
*/
|
|
16
16
|
const NODE_VERSION = node_process.default.version;
|
|
17
|
-
let
|
|
18
|
-
let
|
|
19
|
-
let
|
|
20
|
-
let
|
|
17
|
+
let nodeDisableSigusr1Flags;
|
|
18
|
+
let nodeHardenFlags;
|
|
19
|
+
let nodeNoWarningsFlags;
|
|
20
|
+
let nodePermissionFlags;
|
|
21
21
|
/**
|
|
22
22
|
* Get the absolute path to the currently running Node.js binary.
|
|
23
23
|
*
|
|
@@ -42,11 +42,11 @@ function getMaintainedNodeVersions() {
|
|
|
42
42
|
* @returns A non-empty array of CLI flags suitable for passing to `node`.
|
|
43
43
|
*/
|
|
44
44
|
function getNodeDisableSigusr1Flags() {
|
|
45
|
-
if (
|
|
45
|
+
if (nodeDisableSigusr1Flags === void 0)
|
|
46
46
|
/* c8 ignore start - --no-inspect fallback fires only on Node
|
|
47
47
|
runtimes pre-v22.14 / v23.7 / v24.8; tests run on Node 24+. */
|
|
48
|
-
|
|
49
|
-
return
|
|
48
|
+
nodeDisableSigusr1Flags = supportsNodeDisableSigusr1Flag() ? ["--disable-sigusr1"] : ["--no-inspect"];
|
|
49
|
+
return nodeDisableSigusr1Flags;
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
52
|
* Get the hardening flags Socket applies when spawning Node.js subprocesses.
|
|
@@ -58,7 +58,7 @@ function getNodeDisableSigusr1Flags() {
|
|
|
58
58
|
* @returns A non-empty array of CLI flags suitable for passing to `node`.
|
|
59
59
|
*/
|
|
60
60
|
function getNodeHardenFlags() {
|
|
61
|
-
if (
|
|
61
|
+
if (nodeHardenFlags === void 0) {
|
|
62
62
|
const major = getNodeMajorVersion();
|
|
63
63
|
const flags = ["--disable-proto=delete"];
|
|
64
64
|
if (major >= 24) {
|
|
@@ -69,9 +69,9 @@ function getNodeHardenFlags() {
|
|
|
69
69
|
/* c8 ignore start */
|
|
70
70
|
if (major >= 22) flags.push("--force-node-api-uncaught-exceptions-policy");
|
|
71
71
|
/* c8 ignore stop */
|
|
72
|
-
|
|
72
|
+
nodeHardenFlags = flags;
|
|
73
73
|
}
|
|
74
|
-
return
|
|
74
|
+
return nodeHardenFlags;
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
77
|
* Get the major component of the current Node.js version.
|
|
@@ -99,8 +99,8 @@ function getNodeMinorVersion() {
|
|
|
99
99
|
* @returns A non-empty array of CLI flags suitable for passing to `node`.
|
|
100
100
|
*/
|
|
101
101
|
function getNodeNoWarningsFlags() {
|
|
102
|
-
if (
|
|
103
|
-
return
|
|
102
|
+
if (nodeNoWarningsFlags === void 0) nodeNoWarningsFlags = ["--no-warnings", "--no-deprecation"];
|
|
103
|
+
return nodeNoWarningsFlags;
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
106
|
* Get the patch component of the current Node.js version.
|
|
@@ -121,13 +121,13 @@ function getNodePatchVersion() {
|
|
|
121
121
|
* @returns The permission flag list (possibly empty) for the current runtime.
|
|
122
122
|
*/
|
|
123
123
|
function getNodePermissionFlags() {
|
|
124
|
-
if (
|
|
124
|
+
if (nodePermissionFlags === void 0) if (getNodeMajorVersion() >= 24) nodePermissionFlags = [
|
|
125
125
|
"--allow-fs-read=*",
|
|
126
126
|
"--allow-fs-write=*",
|
|
127
127
|
"--allow-child-process"
|
|
128
128
|
];
|
|
129
|
-
else
|
|
130
|
-
return
|
|
129
|
+
else nodePermissionFlags = [];
|
|
130
|
+
return nodePermissionFlags;
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
133
133
|
* Get the full Node.js version string from `process.version`.
|
|
@@ -219,6 +219,36 @@ function supportsNodeRun() {
|
|
|
219
219
|
/* c8 ignore stop */
|
|
220
220
|
}
|
|
221
221
|
/**
|
|
222
|
+
* Check whether the current runtime can execute TypeScript source directly
|
|
223
|
+
* (`.ts` files via `node foo.ts`), with or without a flag. Type-stripping went
|
|
224
|
+
* stable in Node.js 22.6 (under `--strip-types`, also accepted as the
|
|
225
|
+
* deprecated alias `--experimental-strip-types`) and default-on in Node 24.
|
|
226
|
+
*
|
|
227
|
+
* Pair with {@link supportsNodeStripTypesDefault} to decide whether a flag needs
|
|
228
|
+
* to be passed.
|
|
229
|
+
*
|
|
230
|
+
* @returns `true` when the runtime can run TypeScript (Node 22.6+).
|
|
231
|
+
*/
|
|
232
|
+
function supportsNodeStripTypes() {
|
|
233
|
+
const major = getNodeMajorVersion();
|
|
234
|
+
/* c8 ignore start - 22-specific arm; tests run on a single Node major. */
|
|
235
|
+
return major >= 23 || major === 22 && getNodeMinorVersion() >= 6;
|
|
236
|
+
/* c8 ignore stop */
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Check whether the current runtime strips TypeScript types **by default** (no
|
|
240
|
+
* flag needed). Became default-on in Node.js 24.
|
|
241
|
+
*
|
|
242
|
+
* Use case: deciding whether a wrapper script needs to pass `--strip-types`
|
|
243
|
+
* when invoking `node foo.ts`. On Node 24+ the flag is redundant; on 22.6 –
|
|
244
|
+
* 23.x it's required.
|
|
245
|
+
*
|
|
246
|
+
* @returns `true` when no `--strip-types` flag is needed (Node 24+).
|
|
247
|
+
*/
|
|
248
|
+
function supportsNodeStripTypesDefault() {
|
|
249
|
+
return getNodeMajorVersion() >= 24;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
222
252
|
* Check whether this process was spawned with an IPC channel. When `true`,
|
|
223
253
|
* `process.send()` is callable to message the parent process.
|
|
224
254
|
*
|
|
@@ -250,4 +280,6 @@ exports.supportsNodeDisableWarningFlag = supportsNodeDisableWarningFlag;
|
|
|
250
280
|
exports.supportsNodePermissionFlag = supportsNodePermissionFlag;
|
|
251
281
|
exports.supportsNodeRequireModule = supportsNodeRequireModule;
|
|
252
282
|
exports.supportsNodeRun = supportsNodeRun;
|
|
283
|
+
exports.supportsNodeStripTypes = supportsNodeStripTypes;
|
|
284
|
+
exports.supportsNodeStripTypesDefault = supportsNodeStripTypesDefault;
|
|
253
285
|
exports.supportsProcessSend = supportsProcessSend;
|
|
@@ -20,12 +20,12 @@ src_external_pacote = require_runtime.__toESM(src_external_pacote);
|
|
|
20
20
|
* categories), the pacote cache path, lifecycle script names, and known
|
|
21
21
|
* package extensions used during manifest processing.
|
|
22
22
|
*/
|
|
23
|
-
let
|
|
24
|
-
let
|
|
25
|
-
let
|
|
26
|
-
let
|
|
27
|
-
let
|
|
28
|
-
let
|
|
23
|
+
let cachedLifecycleScriptNames;
|
|
24
|
+
let cachedPackageDefaultNodeRange;
|
|
25
|
+
let cachedPackageDefaultSocketCategories;
|
|
26
|
+
let cachedPackageExtensions;
|
|
27
|
+
let cachedPacoteCachePath;
|
|
28
|
+
let cachedPackumentCache;
|
|
29
29
|
const PACKAGE = "package";
|
|
30
30
|
const AT_LATEST = "@latest";
|
|
31
31
|
const LATEST = "latest";
|
|
@@ -35,28 +35,24 @@ const PACKAGE_DEFAULT_VERSION = "1.0.0";
|
|
|
35
35
|
* force a re-fetch of registry metadata.
|
|
36
36
|
*/
|
|
37
37
|
function clearPackumentCache() {
|
|
38
|
-
/* c8 ignore next 3 */
|
|
39
|
-
if (
|
|
38
|
+
/* c8 ignore next 3 - uninitialized-cache branch unreachable in tests */
|
|
39
|
+
if (cachedPackumentCache !== void 0) cachedPackumentCache.clear();
|
|
40
40
|
}
|
|
41
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
42
41
|
function getLifecycleScriptNames() {
|
|
43
|
-
if (
|
|
44
|
-
return
|
|
42
|
+
if (cachedLifecycleScriptNames === void 0) cachedLifecycleScriptNames = require_primordials_array.ArrayFrom(require_constants_lifecycle_script_names.lifecycleScriptNames);
|
|
43
|
+
return cachedLifecycleScriptNames;
|
|
45
44
|
}
|
|
46
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
47
45
|
function getPackageDefaultNodeRange() {
|
|
48
|
-
if (
|
|
49
|
-
return
|
|
46
|
+
if (cachedPackageDefaultNodeRange === void 0) cachedPackageDefaultNodeRange = require_constants_package_default_node_range.packageDefaultNodeRange;
|
|
47
|
+
return cachedPackageDefaultNodeRange;
|
|
50
48
|
}
|
|
51
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
52
49
|
function getPackageDefaultSocketCategories() {
|
|
53
|
-
if (
|
|
54
|
-
return
|
|
50
|
+
if (cachedPackageDefaultSocketCategories === void 0) cachedPackageDefaultSocketCategories = require_constants_package_default_socket_categories.packageDefaultSocketCategories;
|
|
51
|
+
return cachedPackageDefaultSocketCategories;
|
|
55
52
|
}
|
|
56
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
57
53
|
function getPackageExtensions() {
|
|
58
|
-
if (
|
|
59
|
-
return
|
|
54
|
+
if (cachedPackageExtensions === void 0) cachedPackageExtensions = require_primordials_object.ObjectEntries(require_pkg_ext_data.packageExtensions);
|
|
55
|
+
return cachedPackageExtensions;
|
|
60
56
|
}
|
|
61
57
|
const PACKUMENT_CACHE_MAX = 500;
|
|
62
58
|
var BoundedPackumentCache = class extends Map {
|
|
@@ -71,22 +67,20 @@ var BoundedPackumentCache = class extends Map {
|
|
|
71
67
|
return super.set(key, value);
|
|
72
68
|
}
|
|
73
69
|
};
|
|
74
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
75
70
|
function getPackumentCache() {
|
|
76
|
-
if (
|
|
77
|
-
return
|
|
71
|
+
if (cachedPackumentCache === void 0) cachedPackumentCache = new BoundedPackumentCache();
|
|
72
|
+
return cachedPackumentCache;
|
|
78
73
|
}
|
|
79
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
80
74
|
function getPacoteCachePath() {
|
|
81
|
-
if (
|
|
75
|
+
if (cachedPacoteCachePath === void 0) try {
|
|
82
76
|
const PacoteFetcherBase = require_primordials_reflect.ReflectGetPrototypeOf(src_external_pacote.default.RegistryFetcher.prototype)?.constructor;
|
|
83
77
|
/* c8 ignore start */
|
|
84
78
|
const cachePath = PacoteFetcherBase ? new PacoteFetcherBase("x", {}).cache : "";
|
|
85
|
-
|
|
79
|
+
cachedPacoteCachePath = cachePath ? require_paths_normalize.normalizePath(cachePath) : "";
|
|
86
80
|
} catch {
|
|
87
|
-
|
|
81
|
+
cachedPacoteCachePath = "";
|
|
88
82
|
}
|
|
89
|
-
return
|
|
83
|
+
return cachedPacoteCachePath;
|
|
90
84
|
}
|
|
91
85
|
|
|
92
86
|
//#endregion
|
|
@@ -14,15 +14,42 @@ export type Libc = 'glibc' | 'musl';
|
|
|
14
14
|
*/
|
|
15
15
|
export type Platform = NodeJS.Platform;
|
|
16
16
|
/**
|
|
17
|
-
* Get the current CPU architecture (memoized).
|
|
17
|
+
* Get the current CPU architecture (memoized), e.g. `x64`, `arm64`.
|
|
18
18
|
*/
|
|
19
19
|
export declare function getArch(): Arch;
|
|
20
20
|
/**
|
|
21
|
-
* Get the
|
|
21
|
+
* Get the host libc variant (memoized): `'musl'` on Alpine-and-similar,
|
|
22
|
+
* `'glibc'` on other Linux, `undefined` off-Linux. Detected by probing for the
|
|
23
|
+
* musl dynamic linker. The single source of truth for libc detection —
|
|
24
|
+
* tool-specific resolvers (`getPythonArch`, `getJreArch`) call this rather than
|
|
25
|
+
* re-probing.
|
|
22
26
|
*/
|
|
23
|
-
export declare function
|
|
27
|
+
export declare function getLibc(): Libc | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Get the current OS (memoized), e.g. `darwin`, `linux`, `win32` — the raw
|
|
30
|
+
* `process.platform` value.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getOs(): Platform;
|
|
33
|
+
/**
|
|
34
|
+
* Get the current host **target** in the pnpm `pack-app` vocabulary (memoized):
|
|
35
|
+
* `<os>-<arch>[-<libc>]`, e.g. `darwin-arm64`, `linux-x64`, `win32-x64`,
|
|
36
|
+
* `linux-x64-musl`. Raw Node `process.platform`/`process.arch` joined with `-`,
|
|
37
|
+
* plus a `-musl` suffix on Alpine. This is the fleet-general naming for
|
|
38
|
+
* non-python / non-JRE tools (matches pnpm's release assets,
|
|
39
|
+
* `pnpm-<os>-<arch>[-<libc>].{tar.gz,zip}`). Tool-specific resolvers that need
|
|
40
|
+
* a different vocabulary own their own helper — see `getPythonArch`
|
|
41
|
+
* (python-build- standalone) / `getJreArch` (Adoptium).
|
|
42
|
+
*/
|
|
43
|
+
export declare function getTarget(): string;
|
|
24
44
|
export declare const DARWIN: boolean;
|
|
25
45
|
export declare const WIN32: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* True when this process was launched as a Chrome (or Chromium) native
|
|
48
|
+
* messaging host. Chrome passes the extension origin URL
|
|
49
|
+
* (`chrome-extension://<id>/`) as `process.argv[2]`; no other invocation shape
|
|
50
|
+
* produces that prefix.
|
|
51
|
+
*/
|
|
52
|
+
export declare const NATIVE_MESSAGING_HOST: boolean;
|
|
26
53
|
export declare const S_IXUSR = 64;
|
|
27
54
|
export declare const S_IXGRP = 8;
|
|
28
55
|
export declare const S_IXOTH = 1;
|
|
@@ -2,38 +2,98 @@
|
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_node_os = require('../node/os.js');
|
|
5
|
+
let node_fs = require("node:fs");
|
|
5
6
|
|
|
6
7
|
//#region src/constants/platform.ts
|
|
7
8
|
/**
|
|
8
9
|
* @file Platform detection and OS-specific constants.
|
|
9
10
|
*/
|
|
10
|
-
let
|
|
11
|
+
let memoizedArch;
|
|
11
12
|
/**
|
|
12
|
-
* Get the current CPU architecture (memoized).
|
|
13
|
+
* Get the current CPU architecture (memoized), e.g. `x64`, `arm64`.
|
|
13
14
|
*/
|
|
14
15
|
function getArch() {
|
|
15
|
-
if (
|
|
16
|
-
return
|
|
16
|
+
if (memoizedArch === void 0) memoizedArch = require_node_os.getNodeOs().arch();
|
|
17
|
+
return memoizedArch;
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
+
const MUSL_LINKERS = [
|
|
20
|
+
"/lib/ld-musl-x86_64.so.1",
|
|
21
|
+
"/lib/ld-musl-aarch64.so.1",
|
|
22
|
+
"/usr/lib/ld-musl-x86_64.so.1",
|
|
23
|
+
"/usr/lib/ld-musl-aarch64.so.1"
|
|
24
|
+
];
|
|
25
|
+
let memoizedLibc;
|
|
26
|
+
let memoizedLibcProbed = false;
|
|
19
27
|
/**
|
|
20
|
-
* Get the
|
|
28
|
+
* Get the host libc variant (memoized): `'musl'` on Alpine-and-similar,
|
|
29
|
+
* `'glibc'` on other Linux, `undefined` off-Linux. Detected by probing for the
|
|
30
|
+
* musl dynamic linker. The single source of truth for libc detection —
|
|
31
|
+
* tool-specific resolvers (`getPythonArch`, `getJreArch`) call this rather than
|
|
32
|
+
* re-probing.
|
|
21
33
|
*/
|
|
22
|
-
function
|
|
23
|
-
if (
|
|
24
|
-
|
|
34
|
+
function getLibc() {
|
|
35
|
+
if (!memoizedLibcProbed) {
|
|
36
|
+
memoizedLibcProbed = true;
|
|
37
|
+
/* c8 ignore start - Linux-only filesystem probe. */
|
|
38
|
+
if (getOs() !== "linux") memoizedLibc = void 0;
|
|
39
|
+
else {
|
|
40
|
+
memoizedLibc = "glibc";
|
|
41
|
+
for (let i = 0, { length } = MUSL_LINKERS; i < length; i += 1) if ((0, node_fs.existsSync)(MUSL_LINKERS[i])) {
|
|
42
|
+
memoizedLibc = "musl";
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return memoizedLibc;
|
|
25
48
|
}
|
|
26
|
-
|
|
27
|
-
|
|
49
|
+
let memoizedOs;
|
|
50
|
+
/**
|
|
51
|
+
* Get the current OS (memoized), e.g. `darwin`, `linux`, `win32` — the raw
|
|
52
|
+
* `process.platform` value.
|
|
53
|
+
*/
|
|
54
|
+
function getOs() {
|
|
55
|
+
if (memoizedOs === void 0) memoizedOs = require_node_os.getNodeOs().platform();
|
|
56
|
+
return memoizedOs;
|
|
57
|
+
}
|
|
58
|
+
let memoizedTarget;
|
|
59
|
+
/**
|
|
60
|
+
* Get the current host **target** in the pnpm `pack-app` vocabulary (memoized):
|
|
61
|
+
* `<os>-<arch>[-<libc>]`, e.g. `darwin-arm64`, `linux-x64`, `win32-x64`,
|
|
62
|
+
* `linux-x64-musl`. Raw Node `process.platform`/`process.arch` joined with `-`,
|
|
63
|
+
* plus a `-musl` suffix on Alpine. This is the fleet-general naming for
|
|
64
|
+
* non-python / non-JRE tools (matches pnpm's release assets,
|
|
65
|
+
* `pnpm-<os>-<arch>[-<libc>].{tar.gz,zip}`). Tool-specific resolvers that need
|
|
66
|
+
* a different vocabulary own their own helper — see `getPythonArch`
|
|
67
|
+
* (python-build- standalone) / `getJreArch` (Adoptium).
|
|
68
|
+
*/
|
|
69
|
+
function getTarget() {
|
|
70
|
+
if (memoizedTarget === void 0) {
|
|
71
|
+
const libcSuffix = getLibc() === "musl" ? "-musl" : "";
|
|
72
|
+
memoizedTarget = `${getOs()}-${getArch()}${libcSuffix}`;
|
|
73
|
+
}
|
|
74
|
+
return memoizedTarget;
|
|
75
|
+
}
|
|
76
|
+
const DARWIN = getOs() === "darwin";
|
|
77
|
+
const WIN32 = getOs() === "win32";
|
|
78
|
+
/**
|
|
79
|
+
* True when this process was launched as a Chrome (or Chromium) native
|
|
80
|
+
* messaging host. Chrome passes the extension origin URL
|
|
81
|
+
* (`chrome-extension://<id>/`) as `process.argv[2]`; no other invocation shape
|
|
82
|
+
* produces that prefix.
|
|
83
|
+
*/
|
|
84
|
+
const NATIVE_MESSAGING_HOST = typeof process !== "undefined" && typeof process.argv[2] === "string" && process.argv[2].startsWith("chrome-extension://");
|
|
28
85
|
const S_IXUSR = 64;
|
|
29
86
|
const S_IXGRP = 8;
|
|
30
87
|
const S_IXOTH = 1;
|
|
31
88
|
|
|
32
89
|
//#endregion
|
|
33
90
|
exports.DARWIN = DARWIN;
|
|
91
|
+
exports.NATIVE_MESSAGING_HOST = NATIVE_MESSAGING_HOST;
|
|
34
92
|
exports.S_IXGRP = S_IXGRP;
|
|
35
93
|
exports.S_IXOTH = S_IXOTH;
|
|
36
94
|
exports.S_IXUSR = S_IXUSR;
|
|
37
95
|
exports.WIN32 = WIN32;
|
|
38
96
|
exports.getArch = getArch;
|
|
39
|
-
exports.
|
|
97
|
+
exports.getLibc = getLibc;
|
|
98
|
+
exports.getOs = getOs;
|
|
99
|
+
exports.getTarget = getTarget;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Runtime environment detection constants. All checks use only
|
|
3
|
+
* `typeof`-safe global probes so this module is safe to import in browser,
|
|
4
|
+
* Node.js, Deno, Bun, and bundled contexts alike.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* True when running inside a Node.js process. Detected via
|
|
8
|
+
* `process.versions.node` — present in Node, absent in browsers and Deno/Bun
|
|
9
|
+
* which expose a different `process.versions` shape (or no `process` at all).
|
|
10
|
+
*/
|
|
11
|
+
export declare const IS_NODE: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* True when running in a browser context (window + document both defined).
|
|
14
|
+
* Note: Chrome extensions have `window` in popup contexts but not in service
|
|
15
|
+
* workers — check `IS_SERVICE_WORKER` for that case.
|
|
16
|
+
*/
|
|
17
|
+
export declare const IS_BROWSER: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* True when running inside a Web Worker / Chrome MV3 service worker. `self` is
|
|
20
|
+
* defined without `window` in worker contexts.
|
|
21
|
+
*/
|
|
22
|
+
export declare const IS_WORKER: boolean;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
//#region src/constants/runtime.ts
|
|
6
|
+
/**
|
|
7
|
+
* @file Runtime environment detection constants. All checks use only
|
|
8
|
+
* `typeof`-safe global probes so this module is safe to import in browser,
|
|
9
|
+
* Node.js, Deno, Bun, and bundled contexts alike.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* True when running inside a Node.js process. Detected via
|
|
13
|
+
* `process.versions.node` — present in Node, absent in browsers and Deno/Bun
|
|
14
|
+
* which expose a different `process.versions` shape (or no `process` at all).
|
|
15
|
+
*/
|
|
16
|
+
const IS_NODE = typeof process !== "undefined" && typeof process.versions !== "undefined" && typeof process.versions.node === "string";
|
|
17
|
+
/**
|
|
18
|
+
* True when running in a browser context (window + document both defined).
|
|
19
|
+
* Note: Chrome extensions have `window` in popup contexts but not in service
|
|
20
|
+
* workers — check `IS_SERVICE_WORKER` for that case.
|
|
21
|
+
*/
|
|
22
|
+
const IS_BROWSER = typeof window !== "undefined" && typeof document !== "undefined";
|
|
23
|
+
/**
|
|
24
|
+
* True when running inside a Web Worker / Chrome MV3 service worker. `self` is
|
|
25
|
+
* defined without `window` in worker contexts.
|
|
26
|
+
*/
|
|
27
|
+
const IS_WORKER = typeof self !== "undefined" && typeof window === "undefined" && typeof document === "undefined";
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
exports.IS_BROWSER = IS_BROWSER;
|
|
31
|
+
exports.IS_NODE = IS_NODE;
|
|
32
|
+
exports.IS_WORKER = IS_WORKER;
|
package/dist/constants/socket.js
CHANGED
|
@@ -33,7 +33,7 @@ const SOCKET_REGISTRY_APP_NAME = "registry";
|
|
|
33
33
|
const SOCKET_WHEELHOUSE_APP_NAME = "wheelhouse";
|
|
34
34
|
const SOCKET_APP_PREFIX = "_";
|
|
35
35
|
const SOCKET_LIB_NAME = "@socketsecurity/lib";
|
|
36
|
-
const SOCKET_LIB_VERSION = "6.0.
|
|
36
|
+
const SOCKET_LIB_VERSION = "6.0.7";
|
|
37
37
|
const SOCKET_IPC_HANDSHAKE = "SOCKET_IPC_HANDSHAKE";
|
|
38
38
|
const CACHE_SOCKET_API_DIR = "socket-api";
|
|
39
39
|
const REGISTRY = "registry";
|
package/dist/cover/code.js
CHANGED
|
@@ -38,18 +38,18 @@ function calculateMetric(data) {
|
|
|
38
38
|
async function getCodeCoverage(options) {
|
|
39
39
|
const { coveragePath, generateIfMissing } = {
|
|
40
40
|
__proto__: null,
|
|
41
|
-
coveragePath:
|
|
41
|
+
coveragePath: require_node_path.getNodePath().join(node_process.default.cwd(), "coverage/coverage-final.json"),
|
|
42
42
|
generateIfMissing: false,
|
|
43
43
|
...options
|
|
44
44
|
};
|
|
45
45
|
if (!coveragePath) throw new require_primordials_error.ErrorCtor("Coverage path is required");
|
|
46
|
-
if (!
|
|
46
|
+
if (!require_node_fs.getNodeFs().existsSync(coveragePath)) if (generateIfMissing) await require_process_spawn_child.spawn("vitest", ["run", "--coverage"], {
|
|
47
47
|
cwd: node_process.default.cwd(),
|
|
48
48
|
stdio: "inherit"
|
|
49
49
|
});
|
|
50
50
|
else throw new require_primordials_error.ErrorCtor(`Coverage file not found at "${coveragePath}". Run tests with coverage first.`);
|
|
51
|
-
const coverageData = await
|
|
52
|
-
if (
|
|
51
|
+
const coverageData = await require_fs_read_json.readJson(coveragePath);
|
|
52
|
+
if (!require_objects_predicates.isPlainObject(coverageData)) throw new require_primordials_error.ErrorCtor(`Invalid coverage data format in "${coveragePath}"`);
|
|
53
53
|
const totals = {
|
|
54
54
|
__proto__: null,
|
|
55
55
|
branches: {
|
|
@@ -75,16 +75,16 @@ async function getCodeCoverage(options) {
|
|
|
75
75
|
};
|
|
76
76
|
const v8Data = coverageData;
|
|
77
77
|
for (const fileCoverage of require_primordials_object.ObjectValues(v8Data)) {
|
|
78
|
-
if (
|
|
78
|
+
if (!require_objects_predicates.isPlainObject(fileCoverage)) continue;
|
|
79
79
|
const fc = fileCoverage;
|
|
80
|
-
if (fc.s &&
|
|
80
|
+
if (fc.s && require_objects_predicates.isPlainObject(fc.s)) {
|
|
81
81
|
const statementCounts = require_primordials_object.ObjectValues(fc.s);
|
|
82
82
|
for (const count of statementCounts) if (typeof count === "number") {
|
|
83
83
|
totals.statements.total += 1;
|
|
84
84
|
if (count > 0) totals.statements.covered += 1;
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
|
-
if (fc.b &&
|
|
87
|
+
if (fc.b && require_objects_predicates.isPlainObject(fc.b)) {
|
|
88
88
|
const branchCounts = require_primordials_object.ObjectValues(fc.b);
|
|
89
89
|
for (const branches of branchCounts) if (require_primordials_array.ArrayIsArray(branches)) {
|
|
90
90
|
for (const count of branches) if (typeof count === "number") {
|
|
@@ -93,7 +93,7 @@ async function getCodeCoverage(options) {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
-
if (fc.f &&
|
|
96
|
+
if (fc.f && require_objects_predicates.isPlainObject(fc.f)) {
|
|
97
97
|
const functionCounts = require_primordials_object.ObjectValues(fc.f);
|
|
98
98
|
for (const count of functionCounts) if (typeof count === "number") {
|
|
99
99
|
totals.functions.total += 1;
|
package/dist/cover/formatters.js
CHANGED
|
@@ -95,13 +95,13 @@ function formatCoverage(options) {
|
|
|
95
95
|
if (format === "simple") return overall;
|
|
96
96
|
let output = "";
|
|
97
97
|
output += "Code Coverage:\n";
|
|
98
|
-
output +=
|
|
99
|
-
output +=
|
|
100
|
-
output +=
|
|
101
|
-
output +=
|
|
98
|
+
output += require_strings_format.indentString(`Statements: ${code.statements.percent}%\n`, { count: 2 });
|
|
99
|
+
output += require_strings_format.indentString(`Branches: ${code.branches.percent}%\n`, { count: 2 });
|
|
100
|
+
output += require_strings_format.indentString(`Functions: ${code.functions.percent}%\n`, { count: 2 });
|
|
101
|
+
output += require_strings_format.indentString(`Lines: ${code.lines.percent}%\n`, { count: 2 });
|
|
102
102
|
if (type) {
|
|
103
103
|
output += "\nType Coverage:\n";
|
|
104
|
-
output +=
|
|
104
|
+
output += require_strings_format.indentString(`${type.percent}% (${type.covered}/${type.total})\n`, { count: 2 });
|
|
105
105
|
}
|
|
106
106
|
const overallValue = require_primordials_number.NumberParseFloat(overall);
|
|
107
107
|
const emoji = getCoverageEmoji(require_primordials_number.NumberIsNaN(overallValue) ? 0 : overallValue);
|
package/dist/crypto/hash.d.ts
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
* `node:crypto.hash()` (added v21.7.0 / v20.12.0) and falls back to the
|
|
4
4
|
* streaming `createHash().update().digest()` chain on older runtimes.
|
|
5
5
|
*/
|
|
6
|
+
import type { hash as NodeHash } from 'node:crypto';
|
|
7
|
+
/**
|
|
8
|
+
* Compute the Socket content-address of `bytes`: `Q` +
|
|
9
|
+
* base64url(sha256(bytes)).
|
|
10
|
+
*
|
|
11
|
+
* Matches the blob store's hash scheme so a fetched blob can be verified
|
|
12
|
+
* against the hash it was requested by.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ;```typescript
|
|
16
|
+
* import { blobHashOf } from '@socketsecurity/lib/crypto/hash'
|
|
17
|
+
*
|
|
18
|
+
* blobHashOf(new TextEncoder().encode('hello'))
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function blobHashOf(bytes: NodeJS.ArrayBufferView): string;
|
|
6
22
|
/**
|
|
7
23
|
* Compute a one-shot cryptographic hash.
|
|
8
24
|
*
|
|
@@ -33,4 +49,13 @@ export declare function hash(algorithm: string, data: string | NodeJS.ArrayBuffe
|
|
|
33
49
|
*
|
|
34
50
|
* @internal
|
|
35
51
|
*/
|
|
36
|
-
export declare function nativeHash(): typeof
|
|
52
|
+
export declare function nativeHash(): typeof NodeHash | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Throw if `bytes` does not content-address to `blobHash`. Both `Q`-prefixed
|
|
55
|
+
* (single blob) and `S`-prefixed (file-stream) hashes share the sha256 digest
|
|
56
|
+
* body, so both verify against the same digest; the leading discriminator char
|
|
57
|
+
* is dropped before comparison.
|
|
58
|
+
*
|
|
59
|
+
* @throws {Error} When the recomputed digest does not match `blobHash`.
|
|
60
|
+
*/
|
|
61
|
+
export declare function verifyBlobHash(blobHash: string, bytes: NodeJS.ArrayBufferView): void;
|
package/dist/crypto/hash.js
CHANGED
|
@@ -9,8 +9,26 @@ const require_node_crypto = require('../node/crypto.js');
|
|
|
9
9
|
* `node:crypto.hash()` (added v21.7.0 / v20.12.0) and falls back to the
|
|
10
10
|
* streaming `createHash().update().digest()` chain on older runtimes.
|
|
11
11
|
*/
|
|
12
|
-
let
|
|
13
|
-
let
|
|
12
|
+
let cachedNativeHash;
|
|
13
|
+
let nativeHashProbed = false;
|
|
14
|
+
const BLOB_HASH_PREFIX = "Q";
|
|
15
|
+
/**
|
|
16
|
+
* Compute the Socket content-address of `bytes`: `Q` +
|
|
17
|
+
* base64url(sha256(bytes)).
|
|
18
|
+
*
|
|
19
|
+
* Matches the blob store's hash scheme so a fetched blob can be verified
|
|
20
|
+
* against the hash it was requested by.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ;```typescript
|
|
24
|
+
* import { blobHashOf } from '@socketsecurity/lib/crypto/hash'
|
|
25
|
+
*
|
|
26
|
+
* blobHashOf(new TextEncoder().encode('hello'))
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
function blobHashOf(bytes) {
|
|
30
|
+
return BLOB_HASH_PREFIX + hash("sha256", bytes, "base64url");
|
|
31
|
+
}
|
|
14
32
|
/**
|
|
15
33
|
* Compute a one-shot cryptographic hash.
|
|
16
34
|
*
|
|
@@ -33,11 +51,10 @@ let _hashProbed = false;
|
|
|
33
51
|
* // 'z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg=='
|
|
34
52
|
* ```
|
|
35
53
|
*/
|
|
36
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
37
54
|
function hash(algorithm, data, outputEncoding) {
|
|
38
|
-
const native =
|
|
55
|
+
const native = nativeHash();
|
|
39
56
|
if (native !== void 0) return native(algorithm, data, outputEncoding);
|
|
40
|
-
return
|
|
57
|
+
return require_node_crypto.getNodeCrypto().createHash(algorithm).update(data).digest(outputEncoding);
|
|
41
58
|
}
|
|
42
59
|
/**
|
|
43
60
|
* Resolve `crypto.hash` (or `undefined` if the runtime predates it).
|
|
@@ -46,16 +63,30 @@ function hash(algorithm, data, outputEncoding) {
|
|
|
46
63
|
*
|
|
47
64
|
* @internal
|
|
48
65
|
*/
|
|
49
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
50
66
|
function nativeHash() {
|
|
51
|
-
if (!
|
|
52
|
-
const fn =
|
|
53
|
-
if (typeof fn === "function")
|
|
54
|
-
|
|
67
|
+
if (!nativeHashProbed) {
|
|
68
|
+
const fn = require_node_crypto.getNodeCrypto().hash;
|
|
69
|
+
if (typeof fn === "function") cachedNativeHash = fn;
|
|
70
|
+
nativeHashProbed = true;
|
|
55
71
|
}
|
|
56
|
-
return
|
|
72
|
+
return cachedNativeHash;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Throw if `bytes` does not content-address to `blobHash`. Both `Q`-prefixed
|
|
76
|
+
* (single blob) and `S`-prefixed (file-stream) hashes share the sha256 digest
|
|
77
|
+
* body, so both verify against the same digest; the leading discriminator char
|
|
78
|
+
* is dropped before comparison.
|
|
79
|
+
*
|
|
80
|
+
* @throws {Error} When the recomputed digest does not match `blobHash`.
|
|
81
|
+
*/
|
|
82
|
+
function verifyBlobHash(blobHash, bytes) {
|
|
83
|
+
const expectedDigest = blobHash.slice(1);
|
|
84
|
+
const actualDigest = hash("sha256", bytes, "base64url");
|
|
85
|
+
if (actualDigest !== expectedDigest) throw new Error(`blob integrity check failed for ${blobHash}: content hashes to ${BLOB_HASH_PREFIX}${actualDigest}`);
|
|
57
86
|
}
|
|
58
87
|
|
|
59
88
|
//#endregion
|
|
89
|
+
exports.blobHashOf = blobHashOf;
|
|
60
90
|
exports.hash = hash;
|
|
61
|
-
exports.nativeHash = nativeHash;
|
|
91
|
+
exports.nativeHash = nativeHash;
|
|
92
|
+
exports.verifyBlobHash = verifyBlobHash;
|
package/dist/debug/_internal.js
CHANGED
|
@@ -22,7 +22,7 @@ src_external_debug = require_runtime.__toESM(src_external_debug);
|
|
|
22
22
|
*/
|
|
23
23
|
const logger = require_logger_default.getDefaultLogger();
|
|
24
24
|
const debugByNamespace = new require_primordials_map_set.MapCtor();
|
|
25
|
-
let
|
|
25
|
+
let pointingTriangle;
|
|
26
26
|
/**
|
|
27
27
|
* Custom log function for debug output.
|
|
28
28
|
*
|
|
@@ -32,9 +32,8 @@ let _pointingTriangle;
|
|
|
32
32
|
only fires when debugJs emits, which requires DEBUG=* env var
|
|
33
33
|
set at the right module-load timing. Tests use the SOCKET_DEBUG
|
|
34
34
|
path which writes via logger.info directly. */
|
|
35
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
36
35
|
function customLog(...args) {
|
|
37
|
-
const util =
|
|
36
|
+
const util = require_node_util.getNodeUtil();
|
|
38
37
|
const inspectOpts = src_external_debug.default.inspectOpts ? {
|
|
39
38
|
...src_external_debug.default.inspectOpts,
|
|
40
39
|
showHidden: src_external_debug.default.inspectOpts.showHidden === null ? void 0 : src_external_debug.default.inspectOpts.showHidden,
|
|
@@ -53,10 +52,9 @@ function customLog(...args) {
|
|
|
53
52
|
/* c8 ignore start - First-call init for module-level glyph; only
|
|
54
53
|
one of the 5 debug functions hits the body. The unicode-fallback
|
|
55
54
|
arm also fires only on terminals without unicode support. */
|
|
56
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
57
55
|
function getPointingTriangle() {
|
|
58
|
-
if (
|
|
59
|
-
return
|
|
56
|
+
if (pointingTriangle === void 0) pointingTriangle = (0, src_external__socketregistry_is_unicode_supported.default)() ? "▸" : ">";
|
|
57
|
+
return pointingTriangle;
|
|
60
58
|
}
|
|
61
59
|
/* c8 ignore stop */
|
|
62
60
|
|