@socketsecurity/lib 6.0.6 → 6.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -1
- package/README.md +1 -1
- package/dist/ai/agent-context.d.mts +103 -0
- package/dist/ai/agent-context.js +157 -0
- package/dist/ai/backends.d.mts +83 -0
- package/dist/ai/backends.js +173 -0
- package/dist/ai/credentials.d.mts +49 -0
- package/dist/ai/credentials.js +82 -0
- package/dist/ai/discover.d.mts +6 -2
- package/dist/ai/discover.js +4 -3
- package/dist/ai/exec.d.mts +52 -0
- package/dist/ai/exec.js +92 -0
- package/dist/ai/http.d.mts +132 -0
- package/dist/ai/http.js +130 -0
- package/dist/ai/profiles.d.mts +41 -6
- package/dist/ai/profiles.js +52 -10
- package/dist/ai/route.d.mts +69 -0
- package/dist/ai/route.js +156 -0
- package/dist/ai/spawn.d.mts +10 -2
- package/dist/ai/spawn.js +56 -31
- package/dist/ai/subagent-status.d.mts +48 -0
- package/dist/ai/subagent-status.js +57 -0
- package/dist/ai/tier.d.mts +60 -0
- package/dist/ai/tier.js +53 -0
- package/dist/ai/types.d.mts +31 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +5 -1
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +7 -7
- package/dist/archives/zip.js +5 -7
- package/dist/argv/flag-predicates.d.ts +12 -12
- package/dist/argv/flag-predicates.js +17 -17
- package/dist/argv/flag-types.d.ts +18 -18
- package/dist/argv/flag-types.js +4 -4
- package/dist/argv/parse.d.ts +20 -3
- package/dist/argv/parse.js +1 -1
- package/dist/arrays/_internal.js +11 -12
- package/dist/arrays/chunk.js +0 -1
- package/dist/arrays/join.d.ts +37 -3
- package/dist/arrays/join.js +47 -7
- package/dist/arrays/unique.js +0 -1
- package/dist/bin/_internal.d.ts +1 -1
- package/dist/bin/_internal.js +1 -1
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +17 -17
- package/dist/bin/prim.cjs +36175 -35861
- package/dist/bin/resolve.js +13 -14
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +6 -6
- package/dist/checks/primordials-defaults.d.ts +3 -3
- package/dist/checks/primordials-defaults.js +3 -3
- package/dist/checks/primordials.js +4 -3
- package/dist/{bin → cli}/check-primordials.d.ts +18 -13
- package/dist/{bin → cli}/check-primordials.js +58 -55
- package/dist/{bin → cli}/check.js +3 -3
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +18 -18
- package/dist/compression/brotli.d.ts +26 -27
- package/dist/compression/brotli.js +39 -35
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +46 -42
- package/dist/constants/agents.d.ts +3 -1
- package/dist/constants/agents.js +15 -11
- package/dist/constants/licenses.js +3 -3
- package/dist/constants/node.d.ts +23 -0
- package/dist/constants/node.js +47 -15
- package/dist/constants/packages.d.ts +3 -0
- package/dist/constants/packages.js +24 -29
- package/dist/constants/platform.d.ts +30 -3
- package/dist/constants/platform.js +72 -12
- package/dist/constants/runtime.d.ts +22 -0
- package/dist/constants/runtime.js +32 -0
- package/dist/constants/socket.d.ts +2 -6
- package/dist/constants/socket.js +12 -14
- package/dist/cover/code.js +10 -10
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +30 -2
- package/dist/crypto/hash.js +47 -13
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +3 -4
- package/dist/debug/namespace.d.ts +7 -0
- package/dist/debug/namespace.js +21 -12
- package/dist/debug/output.js +21 -24
- package/dist/debug/types.d.ts +4 -4
- package/dist/dlx/arborist.js +18 -8
- package/dist/dlx/binary-cache.js +15 -15
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +11 -11
- package/dist/dlx/binary-resolution.js +17 -15
- package/dist/dlx/binary-types.d.ts +5 -5
- package/dist/dlx/binary.js +5 -5
- package/dist/dlx/cache.js +1 -1
- package/dist/dlx/detect.d.ts +42 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +9 -1
- package/dist/dlx/firewall.js +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +19 -16
- package/dist/dlx/manifest.d.ts +6 -6
- package/dist/dlx/manifest.js +5 -5
- package/dist/dlx/package.d.ts +10 -10
- package/dist/dlx/package.js +20 -16
- package/dist/dlx/packages.js +4 -4
- package/dist/dlx/paths.js +7 -7
- package/dist/dlx/spec.js +1 -1
- package/dist/dlx/types.d.ts +28 -27
- package/dist/eco/cargo/parse-lockfile.d.ts +2 -3
- package/dist/eco/cargo/parse-lockfile.js +5 -5
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +5 -5
- package/dist/eco/manifest/find-packages.js +2 -2
- package/dist/eco/manifest/get-package-versions.js +2 -2
- package/dist/eco/manifest/get-package.js +2 -2
- package/dist/eco/manifest/parse-lockfile.js +2 -2
- package/dist/eco/manifest/parse-manifest.js +2 -2
- package/dist/eco/manifest/parse.js +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/npm/flags.js +7 -12
- package/dist/eco/npm/npm/parse-lockfile.d.ts +17 -18
- package/dist/eco/npm/npm/parse-lockfile.js +4 -4
- package/dist/eco/npm/parse-package-json.d.ts +11 -0
- package/dist/eco/npm/parse-package-json.js +3 -3
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/pnpm/exec.js +5 -5
- package/dist/eco/npm/pnpm/flags.js +0 -3
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +6 -4
- package/dist/eco/npm/pnpm/parse-lockfile.js +7 -7
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +4 -4
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +3 -4
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +9 -9
- package/dist/effects/pulse-frames.d.ts +3 -1
- package/dist/effects/shimmer-keyframes.d.ts +1 -1
- package/dist/effects/shimmer-terminal.d.ts +1 -1
- package/dist/env/boolean.js +0 -1
- package/dist/env/ci.js +0 -1
- package/dist/env/debug.js +0 -1
- package/dist/env/github-status.d.ts +51 -0
- package/dist/env/github-status.js +90 -0
- package/dist/env/github.js +0 -8
- package/dist/env/home.js +0 -1
- package/dist/env/locale.js +0 -3
- package/dist/env/node-auth-token.js +0 -1
- package/dist/env/node-env.js +0 -1
- package/dist/env/node-version-managers.d.ts +53 -0
- package/dist/env/node-version-managers.js +90 -0
- package/dist/env/npm.js +0 -5
- package/dist/env/number.js +0 -1
- package/dist/env/package-manager.js +3 -6
- package/dist/env/path.js +0 -1
- package/dist/env/pre-commit.js +1 -2
- package/dist/env/proxy.js +1 -1
- package/dist/env/rewire.d.ts +8 -6
- package/dist/env/rewire.js +16 -17
- package/dist/env/shell.js +0 -1
- package/dist/env/socket-cli.js +5 -18
- package/dist/env/socket-mcp.d.ts +114 -0
- package/dist/env/socket-mcp.js +146 -0
- package/dist/env/socket.d.ts +8 -109
- package/dist/env/socket.js +22 -167
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/errors/predicates.js +1 -1
- package/dist/events/exit/_internal.d.ts +11 -9
- package/dist/events/exit/_internal.js +31 -35
- package/dist/events/exit/handler.js +3 -4
- package/dist/events/exit/intercept.js +4 -6
- package/dist/events/exit/lifecycle.js +16 -18
- package/dist/events/exit/signals.js +1 -2
- package/dist/events/exit/types.d.ts +6 -5
- package/dist/external/@npmcli/package-json.js +2 -2
- package/dist/external/@npmcli/promise-spawn.js +3 -1
- package/dist/external/npm-pack.js +2 -2
- package/dist/external/pico-pack.js +4 -2
- package/dist/external/which.js +3 -1
- package/dist/external-tools/bazel/asset-names.d.ts +1 -1
- package/dist/external-tools/bazel/asset-names.js +5 -2
- package/dist/external-tools/bazel/from-download.d.ts +1 -1
- package/dist/external-tools/bazel/from-download.js +5 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
- package/dist/external-tools/bazel/resolve.d.ts +3 -3
- package/dist/external-tools/bazel/resolve.js +16 -8
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
- package/dist/external-tools/cdxgen/asset-names.js +5 -2
- package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-download.js +7 -4
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
- package/dist/external-tools/cdxgen/resolve.js +16 -8
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +3 -3
- package/dist/external-tools/from-download.js +12 -6
- package/dist/external-tools/from-pip-venv.d.ts +1 -1
- package/dist/external-tools/from-pip-venv.js +12 -5
- package/dist/external-tools/janus/asset-names.d.ts +1 -1
- package/dist/external-tools/janus/asset-names.js +5 -2
- package/dist/external-tools/janus/from-download.d.ts +1 -1
- package/dist/external-tools/janus/from-download.js +5 -2
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/resolve.d.ts +3 -3
- package/dist/external-tools/janus/resolve.js +16 -8
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/asset-names.d.ts +1 -1
- package/dist/external-tools/jre/asset-names.js +5 -2
- package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
- package/dist/external-tools/jre/detect-platform-arch.js +29 -14
- package/dist/external-tools/jre/from-download.d.ts +1 -1
- package/dist/external-tools/jre/from-download.js +7 -4
- package/dist/external-tools/jre/from-java-home.js +2 -2
- package/dist/external-tools/jre/from-vfs.js +3 -3
- package/dist/external-tools/jre/resolve.d.ts +3 -3
- package/dist/external-tools/jre/resolve.js +16 -8
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +25 -7
- package/dist/external-tools/manifest.js +13 -13
- package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
- package/dist/external-tools/opengrep/asset-names.js +5 -2
- package/dist/external-tools/opengrep/from-download.d.ts +1 -1
- package/dist/external-tools/opengrep/from-download.js +5 -2
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/resolve.d.ts +3 -3
- package/dist/external-tools/opengrep/resolve.js +16 -8
- package/dist/external-tools/opengrep/types.d.ts +1 -1
- package/dist/external-tools/python/asset-names.d.ts +76 -0
- package/dist/external-tools/python/asset-names.js +111 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +98 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +75 -0
- package/dist/external-tools/python/from-path.d.ts +7 -0
- package/dist/external-tools/python/from-path.js +23 -0
- package/dist/external-tools/python/pin.d.ts +121 -0
- package/dist/external-tools/python/pin.js +176 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +142 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +66 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/asset-names.d.ts +1 -1
- package/dist/external-tools/sbt/asset-names.js +5 -2
- package/dist/external-tools/sbt/from-download.d.ts +1 -1
- package/dist/external-tools/sbt/from-download.js +5 -2
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/resolve.d.ts +3 -3
- package/dist/external-tools/sbt/resolve.js +16 -8
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.js +10 -3
- package/dist/external-tools/skillspector/from-path.js +3 -5
- package/dist/external-tools/skillspector/from-vfs.js +1 -1
- package/dist/external-tools/skillspector/resolve.d.ts +2 -2
- package/dist/external-tools/skillspector/resolve.js +14 -6
- package/dist/external-tools/synp/asset-names.d.ts +1 -1
- package/dist/external-tools/synp/asset-names.js +6 -2
- package/dist/external-tools/synp/from-download.d.ts +1 -1
- package/dist/external-tools/synp/from-download.js +7 -4
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/synp/resolve.d.ts +3 -3
- package/dist/external-tools/synp/resolve.js +16 -8
- package/dist/external-tools/trivy/asset-names.d.ts +1 -1
- package/dist/external-tools/trivy/asset-names.js +5 -2
- package/dist/external-tools/trivy/from-download.d.ts +1 -1
- package/dist/external-tools/trivy/from-download.js +7 -4
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/resolve.d.ts +3 -3
- package/dist/external-tools/trivy/resolve.js +16 -8
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
- package/dist/external-tools/trufflehog/asset-names.js +5 -2
- package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-download.js +7 -4
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
- package/dist/external-tools/trufflehog/resolve.js +16 -8
- package/dist/external-tools/trufflehog/types.d.ts +1 -1
- package/dist/fs/_internal.d.ts +1 -1
- package/dist/fs/_internal.js +7 -7
- package/dist/fs/access.js +5 -9
- package/dist/fs/allowed-dirs-cache.d.ts +47 -0
- package/dist/fs/allowed-dirs-cache.js +69 -0
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +12 -14
- package/dist/fs/inspect.js +7 -13
- package/dist/fs/read-dir.js +7 -10
- package/dist/fs/read-file.js +8 -14
- package/dist/fs/read-json-cache.d.ts +13 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +7 -3
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +13 -14
- package/dist/fs/unique.js +4 -5
- package/dist/fs/validate.js +1 -2
- package/dist/fs/write-json.js +4 -5
- package/dist/git/_internal.js +11 -11
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +5 -7
- package/dist/git/staged.js +12 -4
- package/dist/git/tracked.d.ts +84 -0
- package/dist/git/tracked.js +163 -0
- package/dist/git/unstaged.js +12 -4
- package/dist/github/ghsa.js +2 -2
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +5 -5
- package/dist/github/refs-graphql.js +4 -0
- package/dist/github/refs-rest.js +9 -5
- package/dist/github/refs.js +15 -10
- package/dist/github/{fetch.js → request.js} +13 -2
- package/dist/github/token.js +1 -1
- package/dist/github/types.d.ts +1 -1
- package/dist/globs/_internal.js +8 -10
- package/dist/globs/match.js +13 -7
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +16 -14
- package/dist/globs/stream.js +1 -2
- package/dist/globs/types.d.ts +24 -24
- package/dist/http-request/_internal.d.ts +1 -1
- package/dist/http-request/browser.js +10 -4
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +3 -3
- package/dist/http-request/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
- package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
- package/dist/http-request/headers.js +1 -2
- package/dist/http-request/request-attempt.js +38 -34
- package/dist/http-request/request-types.d.ts +2 -2
- package/dist/http-request/request.js +1 -1
- package/dist/http-request/user-agent.js +4 -5
- package/dist/integrity.d.ts +92 -18
- package/dist/integrity.js +125 -30
- package/dist/ipc/directory.js +2 -2
- package/dist/ipc/paths.js +1 -1
- package/dist/ipc/write.js +1 -1
- package/dist/ipc-cli/get.js +12 -12
- package/dist/json/edit.js +51 -44
- package/dist/json/format.js +1 -1
- package/dist/json/parse.d.ts +1 -1
- package/dist/json/parse.js +3 -7
- package/dist/logger/_internal.d.ts +4 -4
- package/dist/logger/_internal.js +3 -3
- package/dist/logger/colors.js +4 -3
- package/dist/logger/console-methods.d.ts +132 -0
- package/dist/logger/console-methods.js +169 -0
- package/dist/logger/console.d.ts +12 -0
- package/dist/logger/console.js +42 -11
- package/dist/logger/indentation-methods.d.ts +81 -0
- package/dist/logger/indentation-methods.js +121 -0
- package/dist/logger/node.d.ts +16 -338
- package/dist/logger/node.js +75 -608
- package/dist/logger/options.d.ts +39 -0
- package/dist/logger/options.js +47 -0
- package/dist/logger/semantic-methods.d.ts +63 -0
- package/dist/logger/semantic-methods.js +108 -0
- package/dist/logger/stream-methods.d.ts +63 -0
- package/dist/logger/stream-methods.js +101 -0
- package/dist/logger/stream.d.ts +37 -0
- package/dist/logger/stream.js +42 -0
- package/dist/logger/symbols-builder.js +9 -9
- package/dist/logger/symbols.d.ts +2 -25
- package/dist/logger/symbols.js +53 -74
- package/dist/logger/types.d.ts +1 -1
- package/dist/memo/types.d.ts +6 -6
- package/dist/native-messaging/host.d.ts +20 -0
- package/dist/native-messaging/host.js +120 -0
- package/dist/native-messaging/index.d.ts +5 -0
- package/dist/native-messaging/index.js +22 -0
- package/dist/native-messaging/install.d.ts +60 -0
- package/dist/native-messaging/install.js +144 -0
- package/dist/native-messaging/rate-limit.d.ts +69 -0
- package/dist/native-messaging/rate-limit.js +119 -0
- package/dist/native-messaging/run.d.ts +10 -0
- package/dist/native-messaging/run.js +17 -0
- package/dist/node/async-hooks.js +4 -3
- package/dist/node/child-process.js +4 -3
- package/dist/node/crypto.js +4 -3
- package/dist/node/events.js +4 -3
- package/dist/node/fs-promises.js +4 -3
- package/dist/node/fs.d.ts +22 -6
- package/dist/node/fs.js +17 -3
- package/dist/node/http.js +4 -3
- package/dist/node/https.js +4 -3
- package/dist/node/module.js +10 -6
- package/dist/node/os.d.ts +10 -2
- package/dist/node/os.js +12 -4
- package/dist/node/path.d.ts +11 -2
- package/dist/node/path.js +18 -4
- package/dist/node/timers-promises.js +4 -3
- package/dist/node/url.js +4 -3
- package/dist/node/util.js +4 -3
- package/dist/objects/getters.js +6 -8
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +4 -5
- package/dist/objects/predicates.js +1 -5
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.d.ts +2 -3
- package/dist/packages/edit-class.js +53 -48
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +15 -21
- package/dist/packages/fetch.d.ts +16 -0
- package/dist/packages/fetch.js +81 -0
- package/dist/packages/find.d.ts +55 -0
- package/dist/packages/find.js +65 -0
- package/dist/packages/isolation.js +14 -14
- package/dist/packages/licenses.js +18 -18
- package/dist/packages/manifest.js +16 -19
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +6 -10
- package/dist/packages/provenance.js +17 -19
- package/dist/packages/read.d.ts +29 -0
- package/dist/packages/read.js +66 -0
- package/dist/packages/specs.d.ts +48 -1
- package/dist/packages/specs.js +75 -12
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +81 -0
- package/dist/packages/types.d.ts +22 -22
- package/dist/packages/validation.js +0 -3
- package/dist/paths/_internal.d.ts +2 -1
- package/dist/paths/_internal.js +7 -19
- package/dist/paths/conversion.js +5 -9
- package/dist/paths/dirnames.d.ts +1 -0
- package/dist/paths/dirnames.js +2 -0
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +4 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +17 -25
- package/dist/paths/rewire.d.ts +5 -0
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.d.ts +74 -111
- package/dist/paths/socket.js +106 -139
- package/dist/paths/walk.d.ts +1 -1
- package/dist/paths/walk.js +4 -4
- package/dist/perf/report.js +2 -2
- package/dist/perf/types.d.ts +1 -1
- package/dist/pkg-ext/data.js +1 -1
- package/dist/primordials/array.js +9 -9
- package/dist/primordials/date.js +2 -2
- package/dist/primordials/error.js +3 -3
- package/dist/primordials/headers.d.ts +10 -0
- package/dist/primordials/headers.js +23 -0
- package/dist/primordials/intl.d.ts +13 -0
- package/dist/primordials/intl.js +26 -0
- package/dist/primordials/math.js +33 -33
- package/dist/primordials/number.js +9 -9
- package/dist/primordials/object.js +5 -5
- package/dist/primordials/process.d.ts +88 -0
- package/dist/primordials/process.js +132 -0
- package/dist/primordials/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- package/dist/primordials/uncurry.d.ts +1 -2
- package/dist/primordials/uncurry.js +9 -9
- package/dist/process/abort.js +3 -3
- package/dist/process/lock-manager.js +8 -8
- package/dist/process/spawn/_internal.js +6 -8
- package/dist/process/spawn/child.js +20 -14
- package/dist/process/spawn/errors.js +3 -5
- package/dist/process/spawn/kill-tree.d.ts +53 -0
- package/dist/process/spawn/kill-tree.js +85 -0
- package/dist/process/spawn/stdio.js +0 -1
- package/dist/process/spawn/types.d.ts +5 -5
- package/dist/process/transient.js +2 -2
- package/dist/promises/_internal.d.ts +2 -1
- package/dist/promises/_internal.js +2 -6
- package/dist/promises/iterate.js +11 -15
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/regexps/spec.js +1 -1
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +3 -3
- package/dist/releases/github-asset-url.d.ts +1 -1
- package/dist/releases/github-asset-url.js +5 -5
- package/dist/releases/github-downloads.d.ts +1 -1
- package/dist/releases/github-downloads.js +3 -3
- package/dist/releases/github-listing.d.ts +12 -4
- package/dist/releases/github-listing.js +20 -7
- package/dist/releases/github-retry-config.js +1 -1
- package/dist/releases/github-types.d.ts +6 -6
- package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
- package/dist/releases/socket-btm-binary-naming.js +155 -0
- package/dist/releases/socket-btm.d.ts +8 -115
- package/dist/releases/socket-btm.js +16 -159
- package/dist/schema/types.d.ts +4 -5
- package/dist/schema/validate.js +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +2 -2
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/find.d.ts +2 -2
- package/dist/secrets/find.js +10 -4
- package/dist/secrets/keychain.d.ts +1 -1
- package/dist/secrets/keychain.js +6 -4
- package/dist/secrets/linux.js +40 -52
- package/dist/secrets/macos.d.ts +2 -3
- package/dist/secrets/macos.js +24 -33
- package/dist/secrets/rc.d.ts +4 -4
- package/dist/secrets/rc.js +27 -17
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +26 -9
- package/dist/secrets/windows.js +32 -37
- package/dist/shadow/skip.js +2 -2
- package/dist/shell/parse.d.ts +32 -0
- package/dist/shell/parse.js +60 -0
- package/dist/smol/detect.js +9 -10
- package/dist/smol/http.js +6 -7
- package/dist/smol/https.js +6 -7
- package/dist/smol/manifest.d.ts +1 -1
- package/dist/smol/manifest.js +6 -7
- package/dist/smol/path.d.ts +1 -1
- package/dist/smol/path.js +7 -8
- package/dist/smol/primordial.d.ts +4 -0
- package/dist/smol/primordial.js +6 -7
- package/dist/smol/purl.d.ts +1 -1
- package/dist/smol/purl.js +7 -8
- package/dist/smol/versions.js +6 -7
- package/dist/smol/vfs.js +6 -7
- package/dist/sorts/_internal.js +6 -8
- package/dist/sorts/natural.js +10 -12
- package/dist/sorts/semver.js +1 -2
- package/dist/sorts/strings.js +0 -1
- package/dist/sorts/types.d.ts +1 -1
- package/dist/spinner/create-spinner-class.d.ts +38 -0
- package/dist/spinner/create-spinner-class.js +302 -0
- package/dist/spinner/default.js +8 -9
- package/dist/spinner/spinner-internals.d.ts +36 -0
- package/dist/spinner/spinner-internals.js +105 -0
- package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
- package/dist/spinner/spinner-shimmer-methods.js +143 -0
- package/dist/spinner/spinner-status-methods.d.ts +40 -0
- package/dist/spinner/spinner-status-methods.js +133 -0
- package/dist/spinner/spinner.d.ts +8 -5
- package/dist/spinner/spinner.js +19 -706
- package/dist/spinner/types.d.ts +3 -1
- package/dist/spinner/with.d.ts +10 -0
- package/dist/spinner/with.js +16 -2
- package/dist/stdio/divider.js +1 -1
- package/dist/stdio/footer.js +3 -3
- package/dist/stdio/header.js +4 -4
- package/dist/stdio/progress.js +10 -6
- package/dist/stdio/prompts.d.ts +7 -5
- package/dist/stdio/prompts.js +7 -8
- package/dist/stdio/stdout.js +3 -3
- package/dist/streams/parallel.js +3 -5
- package/dist/streams/transform.js +2 -3
- package/dist/strings/format.js +2 -6
- package/dist/strings/predicates.js +0 -2
- package/dist/strings/search.js +1 -2
- package/dist/strings/transform.js +0 -3
- package/dist/strings/width.js +9 -10
- package/dist/tables/bordered.js +4 -3
- package/dist/tables/padding.js +1 -1
- package/dist/tables/simple.js +8 -5
- package/dist/temporal/instant.js +1 -1
- package/dist/temporal/slots.js +6 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/assert-safe.d.ts +29 -0
- package/dist/url/assert-safe.js +54 -0
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.d.ts +31 -1
- package/dist/url/predicates.js +43 -3
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +9 -5
- package/dist/versions/_internal.js +3 -3
- package/dist/words/article.js +0 -1
- package/dist/words/capitalize.js +0 -1
- package/dist/words/pluralize.js +15 -5
- package/package.json +419 -216
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -53
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/fs/path-cache.d.ts +0 -21
- package/dist/fs/path-cache.js +0 -34
- package/dist/http-request/checksums.d.ts +0 -69
- package/dist/http-request/checksums.js +0 -108
- package/dist/http-request/http-request.d.ts +0 -12
- package/dist/http-request/http-request.js +0 -11
- package/dist/packages/operations.d.ts +0 -113
- package/dist/packages/operations.js +0 -304
- package/dist/ssri/convert.d.ts +0 -48
- package/dist/ssri/convert.js +0 -69
- package/dist/ssri/parse.d.ts +0 -27
- package/dist/ssri/parse.js +0 -41
- package/dist/ssri/validate.d.ts +0 -41
- package/dist/ssri/validate.js +0 -56
- /package/dist/{bin → cli}/check.d.ts +0 -0
- /package/dist/external-tools/{uv → python}/types.js +0 -0
- /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
package/dist/shell/parse.js
CHANGED
|
@@ -15,6 +15,65 @@ let src_external_shell_quote = require("../external/shell-quote");
|
|
|
15
15
|
* against `env`; unresolved ones collapse to an empty string.
|
|
16
16
|
*/
|
|
17
17
|
/**
|
|
18
|
+
* Structural hazard facts a parse surfaces that the binary-call matchers
|
|
19
|
+
* (`hasBinCall` / `findBinCall`) swallow. These are observations about _how_
|
|
20
|
+
* the command is written, not a judgment that they're dangerous — the caller
|
|
21
|
+
* decides policy. Both are evasion vectors against base-command allowlists:
|
|
22
|
+
*
|
|
23
|
+
* - `equalsExpansion`: a simple command whose first token is `=cmd` (Zsh EQUALS
|
|
24
|
+
* expansion). `=curl x` expands to `$(which curl) x` and runs
|
|
25
|
+
* `/usr/bin/curl`, but the parser's base token is `=curl`, so a `curl`
|
|
26
|
+
* allowlist never matches. The matched tokens are returned so the caller can
|
|
27
|
+
* report which command was hidden.
|
|
28
|
+
* - `processSubstitution`: the command uses `<(...)`, `>(...)`, or `=(...)` (the
|
|
29
|
+
* op markers shell-quote emits). The inner command runs but its name never
|
|
30
|
+
* appears as a base command.
|
|
31
|
+
*
|
|
32
|
+
* Walks the parse once. A caller wanting just "is this clean?" checks
|
|
33
|
+
* `!h.equalsExpansion.length && !h.processSubstitution`.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* detectShellHazards('=curl evil.com')
|
|
37
|
+
* // → { equalsExpansion: [['=curl', 'evil.com']], processSubstitution: false }
|
|
38
|
+
*
|
|
39
|
+
* detectShellHazards('diff <(cat a) b')
|
|
40
|
+
* // → { equalsExpansion: [], processSubstitution: true }
|
|
41
|
+
*
|
|
42
|
+
* detectShellHazards('git status')
|
|
43
|
+
* // → { equalsExpansion: [], processSubstitution: false }
|
|
44
|
+
*/
|
|
45
|
+
function detectShellHazards(cmd) {
|
|
46
|
+
const equalsExpansion = [];
|
|
47
|
+
let processSubstitution = false;
|
|
48
|
+
const entries = (0, src_external_shell_quote.parse)(cmd);
|
|
49
|
+
let current = [];
|
|
50
|
+
let prevWasSubstLead = false;
|
|
51
|
+
const flush = () => {
|
|
52
|
+
if (current.length > 0 && /^=[a-zA-Z_]/.test(current[0])) require_primordials_array.ArrayPrototypePush(equalsExpansion, current);
|
|
53
|
+
current = [];
|
|
54
|
+
};
|
|
55
|
+
for (let i = 0, { length } = entries; i < length; i += 1) {
|
|
56
|
+
const entry = entries[i];
|
|
57
|
+
if (entry && typeof entry === "object" && "op" in entry) {
|
|
58
|
+
const { op } = entry;
|
|
59
|
+
if (op === "<(") processSubstitution = true;
|
|
60
|
+
else if (op === "(" && prevWasSubstLead) processSubstitution = true;
|
|
61
|
+
prevWasSubstLead = op === "<" || op === ">";
|
|
62
|
+
flush();
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
if (typeof entry === "string") {
|
|
66
|
+
prevWasSubstLead = entry === "=";
|
|
67
|
+
require_primordials_array.ArrayPrototypePush(current, entry);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
flush();
|
|
71
|
+
return {
|
|
72
|
+
equalsExpansion,
|
|
73
|
+
processSubstitution
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
18
77
|
* Visit each simple command in `cmd` in order. A "simple command" is the
|
|
19
78
|
* POSIX-grammar term for a run of bare-string tokens between shell
|
|
20
79
|
* control-operator boundaries (`&&`, `;`, `||`, `|`) — e.g. in `sudo apt && rm
|
|
@@ -193,6 +252,7 @@ function simpleCommandStartsWith(tokens, prefix) {
|
|
|
193
252
|
}
|
|
194
253
|
|
|
195
254
|
//#endregion
|
|
255
|
+
exports.detectShellHazards = detectShellHazards;
|
|
196
256
|
exports.eachSimpleCommand = eachSimpleCommand;
|
|
197
257
|
exports.findBinCall = findBinCall;
|
|
198
258
|
exports.findBinCalls = findBinCalls;
|
package/dist/smol/detect.js
CHANGED
|
@@ -27,26 +27,25 @@ const require_node_module = require('../node/module.js');
|
|
|
27
27
|
/**
|
|
28
28
|
* Cached smol-binary detection result.
|
|
29
29
|
*/
|
|
30
|
-
let
|
|
30
|
+
let isSmolCache;
|
|
31
31
|
/**
|
|
32
32
|
* Cached `node:smol-util` binding. `null` = probed and unavailable; `undefined`
|
|
33
33
|
* = not yet probed. JS truthiness collapses both to "no binding" at the call
|
|
34
34
|
* site.
|
|
35
35
|
*/
|
|
36
|
-
let
|
|
37
|
-
let
|
|
36
|
+
let smolUtilCache;
|
|
37
|
+
let smolUtilProbed = false;
|
|
38
38
|
/**
|
|
39
39
|
* Returns `node:smol-util` when running on the smol Node binary, otherwise
|
|
40
40
|
* `undefined`. Result is cached across calls.
|
|
41
41
|
*/
|
|
42
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
43
42
|
function getSmolUtil() {
|
|
44
|
-
if (!
|
|
45
|
-
|
|
43
|
+
if (!smolUtilProbed) {
|
|
44
|
+
smolUtilProbed = true;
|
|
46
45
|
/* c8 ignore start - smol Node binary only. */
|
|
47
|
-
if (
|
|
46
|
+
if (require_node_module.isNodeBuiltin("node:smol-util")) smolUtilCache = require("node:smol-util");
|
|
48
47
|
}
|
|
49
|
-
return
|
|
48
|
+
return smolUtilCache;
|
|
50
49
|
}
|
|
51
50
|
/**
|
|
52
51
|
* Detect if the current process is running on socket-btm's smol Node binary.
|
|
@@ -66,8 +65,8 @@ function getSmolUtil() {
|
|
|
66
65
|
* ```
|
|
67
66
|
*/
|
|
68
67
|
function isSmol() {
|
|
69
|
-
if (
|
|
70
|
-
return
|
|
68
|
+
if (isSmolCache === void 0) isSmolCache = require_node_module.isNodeBuiltin("node:smol-util");
|
|
69
|
+
return isSmolCache;
|
|
71
70
|
}
|
|
72
71
|
|
|
73
72
|
//#endregion
|
package/dist/smol/http.js
CHANGED
|
@@ -18,20 +18,19 @@ const require_node_module = require('../node/module.js');
|
|
|
18
18
|
* `httpText` exports, which already route through this when smol
|
|
19
19
|
* is present.
|
|
20
20
|
*/
|
|
21
|
-
let
|
|
22
|
-
let
|
|
21
|
+
let smolHttpBinding;
|
|
22
|
+
let smolHttpProbed = false;
|
|
23
23
|
/**
|
|
24
24
|
* Returns `node:smol-http` when running on the smol Node binary, otherwise
|
|
25
25
|
* `undefined`. Result is cached across calls.
|
|
26
26
|
*/
|
|
27
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
28
27
|
function getSmolHttp() {
|
|
29
|
-
if (!
|
|
30
|
-
|
|
28
|
+
if (!smolHttpProbed) {
|
|
29
|
+
smolHttpProbed = true;
|
|
31
30
|
/* c8 ignore start - smol Node binary only. */
|
|
32
|
-
if (
|
|
31
|
+
if (require_node_module.isNodeBuiltin("node:smol-http")) smolHttpBinding = require("node:smol-http");
|
|
33
32
|
}
|
|
34
|
-
return
|
|
33
|
+
return smolHttpBinding;
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
//#endregion
|
package/dist/smol/https.js
CHANGED
|
@@ -16,20 +16,19 @@ const require_node_module = require('../node/module.js');
|
|
|
16
16
|
* callers should use the standard server-side helpers, which
|
|
17
17
|
* route through this when smol is present.
|
|
18
18
|
*/
|
|
19
|
-
let
|
|
20
|
-
let
|
|
19
|
+
let smolHttps;
|
|
20
|
+
let smolHttpsProbed = false;
|
|
21
21
|
/**
|
|
22
22
|
* Returns `node:smol-https` when running on the smol Node binary, otherwise
|
|
23
23
|
* `undefined`. Result is cached across calls.
|
|
24
24
|
*/
|
|
25
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
26
25
|
function getSmolHttps() {
|
|
27
|
-
if (!
|
|
28
|
-
|
|
26
|
+
if (!smolHttpsProbed) {
|
|
27
|
+
smolHttpsProbed = true;
|
|
29
28
|
/* c8 ignore start - smol Node binary only. */
|
|
30
|
-
if (
|
|
29
|
+
if (require_node_module.isNodeBuiltin("node:smol-https")) smolHttps = require("node:smol-https");
|
|
31
30
|
}
|
|
32
|
-
return
|
|
31
|
+
return smolHttps;
|
|
33
32
|
}
|
|
34
33
|
|
|
35
34
|
//#endregion
|
package/dist/smol/manifest.d.ts
CHANGED
|
@@ -83,7 +83,7 @@ export interface ParsedLockfile {
|
|
|
83
83
|
export interface FormatDescriptor {
|
|
84
84
|
readonly ecosystem: EcosystemString;
|
|
85
85
|
readonly type: 'manifest' | 'lockfile';
|
|
86
|
-
readonly format?: 'npm' | 'yarn' | 'pnpm' | 'composer' | 'cargo';
|
|
86
|
+
readonly format?: 'npm' | 'yarn' | 'pnpm' | 'composer' | 'cargo' | undefined;
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* Supported-files index returned by `supportedFiles`.
|
package/dist/smol/manifest.js
CHANGED
|
@@ -18,20 +18,19 @@ const require_node_module = require('../node/module.js');
|
|
|
18
18
|
* (`@socketsecurity/lib/eco/manifest/parse`), which already routes
|
|
19
19
|
* through this when smol is present.
|
|
20
20
|
*/
|
|
21
|
-
let
|
|
22
|
-
let
|
|
21
|
+
let cachedSmolManifest;
|
|
22
|
+
let smolManifestProbed = false;
|
|
23
23
|
/**
|
|
24
24
|
* Returns `node:smol-manifest` when running on the smol Node binary, otherwise
|
|
25
25
|
* `undefined`. Result is cached across calls.
|
|
26
26
|
*/
|
|
27
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
28
27
|
function getSmolManifest() {
|
|
29
|
-
if (!
|
|
30
|
-
|
|
28
|
+
if (!smolManifestProbed) {
|
|
29
|
+
smolManifestProbed = true;
|
|
31
30
|
/* c8 ignore start - smol Node binary only. */
|
|
32
|
-
if (
|
|
31
|
+
if (require_node_module.isNodeBuiltin("node:smol-manifest")) cachedSmolManifest = require("node:smol-manifest");
|
|
33
32
|
}
|
|
34
|
-
return
|
|
33
|
+
return cachedSmolManifest;
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
//#endregion
|
package/dist/smol/path.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* and on socket-btm binaries that haven't shipped the binding yet; callers
|
|
7
7
|
* fall back to the JS implementation. Result is cached. The binding does not
|
|
8
8
|
* exist yet (the plan is unbuilt) — this accessor is the seam so that when it
|
|
9
|
-
* lands, only this file changes and `paths/walk`, `fs/access`, `fs/find
|
|
9
|
+
* lands, only this file changes and `paths/walk`, `fs/access`, `fs/find`
|
|
10
10
|
* light up natively. Today `getSmolPath()` is always `undefined` and the JS
|
|
11
11
|
* paths run.
|
|
12
12
|
*/
|
package/dist/smol/path.js
CHANGED
|
@@ -12,26 +12,25 @@ const require_node_module = require('../node/module.js');
|
|
|
12
12
|
* and on socket-btm binaries that haven't shipped the binding yet; callers
|
|
13
13
|
* fall back to the JS implementation. Result is cached. The binding does not
|
|
14
14
|
* exist yet (the plan is unbuilt) — this accessor is the seam so that when it
|
|
15
|
-
* lands, only this file changes and `paths/walk`, `fs/access`, `fs/find
|
|
15
|
+
* lands, only this file changes and `paths/walk`, `fs/access`, `fs/find`
|
|
16
16
|
* light up natively. Today `getSmolPath()` is always `undefined` and the JS
|
|
17
17
|
* paths run.
|
|
18
18
|
*/
|
|
19
|
-
let
|
|
20
|
-
let
|
|
19
|
+
let smolPathCache;
|
|
20
|
+
let smolPathProbed = false;
|
|
21
21
|
/**
|
|
22
22
|
* Returns the `node:smol-path` binding when running on a smol Node binary that
|
|
23
23
|
* ships it; otherwise `undefined`. Cached across calls.
|
|
24
24
|
*
|
|
25
25
|
* @returns The native binding, or `undefined` to signal "use the JS fallback".
|
|
26
26
|
*/
|
|
27
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
28
27
|
function getSmolPath() {
|
|
29
|
-
if (!
|
|
30
|
-
|
|
28
|
+
if (!smolPathProbed) {
|
|
29
|
+
smolPathProbed = true;
|
|
31
30
|
/* c8 ignore start - smol Node binary only. */
|
|
32
|
-
if (
|
|
31
|
+
if (require_node_module.isNodeBuiltin("node:smol-path")) smolPathCache = require("node:smol-path");
|
|
33
32
|
}
|
|
34
|
-
return
|
|
33
|
+
return smolPathCache;
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
//#endregion
|
|
@@ -67,6 +67,10 @@ export interface SmolPrimordialBinding {
|
|
|
67
67
|
numberParseInt10(s: string): number;
|
|
68
68
|
stringCharCodeAt(s: string, i: number): number;
|
|
69
69
|
stringIsWellFormed(s: string): boolean;
|
|
70
|
+
IntlCollator: typeof Intl.Collator;
|
|
71
|
+
IntlListFormat: typeof Intl.ListFormat;
|
|
72
|
+
IntlPluralRules: typeof Intl.PluralRules;
|
|
73
|
+
IntlSegmenter: typeof Intl.Segmenter;
|
|
70
74
|
}
|
|
71
75
|
/**
|
|
72
76
|
* Returns `node:smol-primordial` when running on the smol Node binary,
|
package/dist/smol/primordial.js
CHANGED
|
@@ -20,20 +20,19 @@ const require_node_module = require('../node/module.js');
|
|
|
20
20
|
*
|
|
21
21
|
* @see https://v8.dev/blog/v8-release-99 — V8 Fast API Calls overview
|
|
22
22
|
*/
|
|
23
|
-
let
|
|
24
|
-
let
|
|
23
|
+
let smolPrimordial;
|
|
24
|
+
let smolPrimordialProbed = false;
|
|
25
25
|
/**
|
|
26
26
|
* Returns `node:smol-primordial` when running on the smol Node binary,
|
|
27
27
|
* otherwise `undefined`. Result is cached across calls.
|
|
28
28
|
*/
|
|
29
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
30
29
|
function getSmolPrimordial() {
|
|
31
|
-
if (!
|
|
32
|
-
|
|
30
|
+
if (!smolPrimordialProbed) {
|
|
31
|
+
smolPrimordialProbed = true;
|
|
33
32
|
/* c8 ignore start - smol Node binary only. */
|
|
34
|
-
if (
|
|
33
|
+
if (require_node_module.isNodeBuiltin("node:smol-primordial")) smolPrimordial = require("node:smol-primordial");
|
|
35
34
|
}
|
|
36
|
-
return
|
|
35
|
+
return smolPrimordial;
|
|
37
36
|
}
|
|
38
37
|
|
|
39
38
|
//#endregion
|
package/dist/smol/purl.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* calls. Callers fall back to the JS `@socketregistry/packageurl-js` import
|
|
8
8
|
* on the undefined path.
|
|
9
9
|
*
|
|
10
|
-
* @internal — used by `src/packages/
|
|
10
|
+
* @internal — used by `src/packages/specs.ts` to resolve the
|
|
11
11
|
* `pkg:npm/<name>` parse on `resolveRegistryPackageName`. Most
|
|
12
12
|
* callers should keep using `PackageURL` from
|
|
13
13
|
* `external/@socketregistry/packageurl-js` directly; this loader
|
package/dist/smol/purl.js
CHANGED
|
@@ -13,26 +13,25 @@ const require_node_module = require('../node/module.js');
|
|
|
13
13
|
* calls. Callers fall back to the JS `@socketregistry/packageurl-js` import
|
|
14
14
|
* on the undefined path.
|
|
15
15
|
*
|
|
16
|
-
* @internal — used by `src/packages/
|
|
16
|
+
* @internal — used by `src/packages/specs.ts` to resolve the
|
|
17
17
|
* `pkg:npm/<name>` parse on `resolveRegistryPackageName`. Most
|
|
18
18
|
* callers should keep using `PackageURL` from
|
|
19
19
|
* `external/@socketregistry/packageurl-js` directly; this loader
|
|
20
20
|
* only matters where the hot path warrants the native acceleration.
|
|
21
21
|
*/
|
|
22
|
-
let
|
|
23
|
-
let
|
|
22
|
+
let smolPurl;
|
|
23
|
+
let smolPurlProbed = false;
|
|
24
24
|
/**
|
|
25
25
|
* Returns `node:smol-purl` when running on the smol Node binary, otherwise
|
|
26
26
|
* `undefined`. Result is cached across calls.
|
|
27
27
|
*/
|
|
28
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
29
28
|
function getSmolPurl() {
|
|
30
|
-
if (!
|
|
31
|
-
|
|
29
|
+
if (!smolPurlProbed) {
|
|
30
|
+
smolPurlProbed = true;
|
|
32
31
|
/* c8 ignore start - smol Node binary only. */
|
|
33
|
-
if (
|
|
32
|
+
if (require_node_module.isNodeBuiltin("node:smol-purl")) smolPurl = require("node:smol-purl");
|
|
34
33
|
}
|
|
35
|
-
return
|
|
34
|
+
return smolPurl;
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
//#endregion
|
package/dist/smol/versions.js
CHANGED
|
@@ -16,20 +16,19 @@ const require_node_module = require('../node/module.js');
|
|
|
16
16
|
* ops. Most callers should use the standard `versions` exports,
|
|
17
17
|
* which already route through this when smol is present.
|
|
18
18
|
*/
|
|
19
|
-
let
|
|
20
|
-
let
|
|
19
|
+
let smolVersions;
|
|
20
|
+
let smolVersionsProbed = false;
|
|
21
21
|
/**
|
|
22
22
|
* Returns `node:smol-versions` when running on the smol Node binary, otherwise
|
|
23
23
|
* `undefined`. Result is cached across calls.
|
|
24
24
|
*/
|
|
25
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
26
25
|
function getSmolVersions() {
|
|
27
|
-
if (!
|
|
28
|
-
|
|
26
|
+
if (!smolVersionsProbed) {
|
|
27
|
+
smolVersionsProbed = true;
|
|
29
28
|
/* c8 ignore start - smol Node binary only. */
|
|
30
|
-
if (
|
|
29
|
+
if (require_node_module.isNodeBuiltin("node:smol-versions")) smolVersions = require("node:smol-versions");
|
|
31
30
|
}
|
|
32
|
-
return
|
|
31
|
+
return smolVersions;
|
|
33
32
|
}
|
|
34
33
|
|
|
35
34
|
//#endregion
|
package/dist/smol/vfs.js
CHANGED
|
@@ -26,8 +26,8 @@ const require_node_module = require('../node/module.js');
|
|
|
26
26
|
* binding. Result is cached across calls. Callers fall back to PATH lookup
|
|
27
27
|
* (or out-of-band downloads in socket-cli's case) when this is missing.
|
|
28
28
|
*/
|
|
29
|
-
let
|
|
30
|
-
let
|
|
29
|
+
let cachedSmolVfs;
|
|
30
|
+
let smolVfsProbed = false;
|
|
31
31
|
/**
|
|
32
32
|
* Returns the pre-mounted SEA `SmolVirtualFileSystem` instance when running on
|
|
33
33
|
* a smol Node binary with an embedded SEA payload; otherwise `undefined`.
|
|
@@ -37,14 +37,13 @@ let _smolVfsProbed = false;
|
|
|
37
37
|
* binding-module loader is collapsed into this function so callers don't deal
|
|
38
38
|
* with two indirection levels.
|
|
39
39
|
*/
|
|
40
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
41
40
|
function getSmolVfs() {
|
|
42
|
-
if (!
|
|
43
|
-
|
|
41
|
+
if (!smolVfsProbed) {
|
|
42
|
+
smolVfsProbed = true;
|
|
44
43
|
/* c8 ignore start - smol Node binary only. */
|
|
45
|
-
if (
|
|
44
|
+
if (require_node_module.isNodeBuiltin("node:smol-vfs")) cachedSmolVfs = require("node:smol-vfs").getSmolVfs();
|
|
46
45
|
}
|
|
47
|
-
return
|
|
46
|
+
return cachedSmolVfs;
|
|
48
47
|
}
|
|
49
48
|
|
|
50
49
|
//#endregion
|
package/dist/sorts/_internal.js
CHANGED
|
@@ -3,17 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
//#region src/sorts/_internal.ts
|
|
6
|
-
let
|
|
7
|
-
let
|
|
8
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
6
|
+
let fastSort;
|
|
7
|
+
let semver;
|
|
9
8
|
function getFastSort() {
|
|
10
|
-
if (
|
|
11
|
-
return
|
|
9
|
+
if (fastSort === void 0) fastSort = /*@__PURE__*/ require("../external/fast-sort.js");
|
|
10
|
+
return fastSort;
|
|
12
11
|
}
|
|
13
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
14
12
|
function getSemver() {
|
|
15
|
-
if (
|
|
16
|
-
return
|
|
13
|
+
if (semver === void 0) semver = /*@__PURE__*/ require("../external/semver.js");
|
|
14
|
+
return semver;
|
|
17
15
|
}
|
|
18
16
|
|
|
19
17
|
//#endregion
|
package/dist/sorts/natural.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_intl = require('../primordials/intl.js');
|
|
4
5
|
const require_sorts__internal = require('./_internal.js');
|
|
5
6
|
|
|
6
7
|
//#region src/sorts/natural.ts
|
|
@@ -11,9 +12,9 @@ const require_sorts__internal = require('./_internal.js');
|
|
|
11
12
|
* Intl.Collator()` is 10-14ms in Node — too expensive to call
|
|
12
13
|
* per-comparison.
|
|
13
14
|
*/
|
|
14
|
-
let
|
|
15
|
-
let
|
|
16
|
-
let
|
|
15
|
+
let cachedLocaleCompare;
|
|
16
|
+
let cachedNaturalCompare;
|
|
17
|
+
let cachedNaturalSorter;
|
|
17
18
|
/**
|
|
18
19
|
* Compare two strings using locale-aware comparison.
|
|
19
20
|
*
|
|
@@ -24,10 +25,9 @@ let _naturalSorter;
|
|
|
24
25
|
* localeCompare('a', 'a') // 0
|
|
25
26
|
* ```
|
|
26
27
|
*/
|
|
27
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
28
28
|
function localeCompare(x, y) {
|
|
29
|
-
if (
|
|
30
|
-
return
|
|
29
|
+
if (cachedLocaleCompare === void 0) cachedLocaleCompare = new require_primordials_intl.IntlCollator().compare;
|
|
30
|
+
return cachedLocaleCompare(x, y);
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Compare two strings using natural sorting (numeric-aware, case-insensitive).
|
|
@@ -38,13 +38,12 @@ function localeCompare(x, y) {
|
|
|
38
38
|
* naturalCompare('img10', 'img2') // positive (img10 after img2)
|
|
39
39
|
* ```
|
|
40
40
|
*/
|
|
41
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
42
41
|
function naturalCompare(x, y) {
|
|
43
|
-
if (
|
|
42
|
+
if (cachedNaturalCompare === void 0) cachedNaturalCompare = new require_primordials_intl.IntlCollator(void 0, {
|
|
44
43
|
numeric: true,
|
|
45
44
|
sensitivity: "base"
|
|
46
45
|
}).compare;
|
|
47
|
-
return
|
|
46
|
+
return cachedNaturalCompare(x, y);
|
|
48
47
|
}
|
|
49
48
|
/**
|
|
50
49
|
* Sort an array using natural comparison.
|
|
@@ -55,10 +54,9 @@ function naturalCompare(x, y) {
|
|
|
55
54
|
* // ['file1', 'file2', 'file10']
|
|
56
55
|
* ```
|
|
57
56
|
*/
|
|
58
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
59
57
|
function naturalSorter(arrayToSort) {
|
|
60
|
-
if (
|
|
61
|
-
return
|
|
58
|
+
if (cachedNaturalSorter === void 0) cachedNaturalSorter = require_sorts__internal.getFastSort().createNewSortInstance({ comparer: naturalCompare });
|
|
59
|
+
return cachedNaturalSorter(arrayToSort);
|
|
62
60
|
}
|
|
63
61
|
|
|
64
62
|
//#endregion
|
package/dist/sorts/semver.js
CHANGED
|
@@ -18,10 +18,9 @@ const require_sorts__internal = require('./_internal.js');
|
|
|
18
18
|
* compareSemver('1.0.0', '1.0.0') // 0
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
22
21
|
function compareSemver(a, b) {
|
|
23
22
|
/* c8 ignore start */
|
|
24
|
-
const semver =
|
|
23
|
+
const semver = require_sorts__internal.getSemver();
|
|
25
24
|
const validA = semver.valid(a);
|
|
26
25
|
/* c8 ignore stop */
|
|
27
26
|
const validB = semver.valid(b);
|
package/dist/sorts/strings.js
CHANGED
package/dist/sorts/types.d.ts
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* shape returned by `naturalSorter`. Pure types, no runtime side effects.
|
|
4
4
|
*/
|
|
5
5
|
import type * as fastSortType from '../external/fast-sort';
|
|
6
|
-
export type FastSortFunction = ReturnType<typeof
|
|
6
|
+
export type FastSortFunction = ReturnType<typeof fastSortType.createNewSortInstance>;
|
|
7
7
|
export type { fastSortType };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Builds the lazy-init Socket `Spinner` class that extends the live
|
|
3
|
+
* `yocto-spinner` constructor. The class graph is constructed inside
|
|
4
|
+
* `createSpinnerClass()` so the `super()` call binds against the runtime
|
|
5
|
+
* `YoctoSpinner` constructor passed in by the factory; keeping it here
|
|
6
|
+
* (rather than at module scope) preserves the spinner's lazy-init guarantee
|
|
7
|
+
* while splitting the bulk of the class body out of the factory module.
|
|
8
|
+
*/
|
|
9
|
+
import type { ColorRgb, ColorValue } from '../colors/types';
|
|
10
|
+
import { incLogCallCountSymbol, lastWasBlankSymbol } from '../logger/symbols';
|
|
11
|
+
import type { SpinnerInstance, SpinnerOptions } from './types';
|
|
12
|
+
export type SpinnerCtorType = {
|
|
13
|
+
new (options?: SpinnerOptions | undefined): SpinnerInstance;
|
|
14
|
+
};
|
|
15
|
+
export type YoctoSpinnerConstructor = new (...args: unknown[]) => {
|
|
16
|
+
get color(): ColorRgb | ColorValue;
|
|
17
|
+
set color(value: ColorRgb | ColorValue);
|
|
18
|
+
isSpinning: boolean;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
};
|
|
21
|
+
export type SpinnerLogger = {
|
|
22
|
+
error: (...args: unknown[]) => unknown;
|
|
23
|
+
log: (...args: unknown[]) => unknown;
|
|
24
|
+
[lastWasBlankSymbol]: (value: boolean) => unknown;
|
|
25
|
+
[incLogCallCountSymbol]: () => unknown;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Build the Socket `Spinner` class as a subclass of the live `yocto-spinner`
|
|
29
|
+
* constructor. Passing the parent class in keeps the `super()` binding against
|
|
30
|
+
* the runtime constructor while letting the bulk of the class body live outside
|
|
31
|
+
* the factory module.
|
|
32
|
+
*
|
|
33
|
+
* @param YoctoSpinnerClass - Runtime `yocto-spinner` constructor to extend.
|
|
34
|
+
* @param logger - Default logger used for status output.
|
|
35
|
+
*
|
|
36
|
+
* @returns The constructed Socket spinner constructor.
|
|
37
|
+
*/
|
|
38
|
+
export declare function createSpinnerClass(YoctoSpinnerClass: YoctoSpinnerConstructor, logger: SpinnerLogger): SpinnerCtorType;
|