@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
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* Socket Lib - Built with rolldown */
|
|
3
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
const require_runtime = require('../_virtual/_rolldown/runtime.js');
|
|
5
|
-
const require_primordials_string = require('../primordials/string.js');
|
|
6
|
-
const require_fs_read_json = require('../fs/read-json.js');
|
|
7
|
-
const require_process_abort = require('../process/abort.js');
|
|
8
|
-
const require_objects_predicates = require('../objects/predicates.js');
|
|
9
|
-
const require_objects_mutate = require('../objects/mutate.js');
|
|
10
|
-
const require_constants_socket = require('../constants/socket.js');
|
|
11
|
-
const require_constants_packages = require('../constants/packages.js');
|
|
12
|
-
const require_smol_purl = require('../smol/purl.js');
|
|
13
|
-
const require_packages_normalize = require('./normalize.js');
|
|
14
|
-
const require_paths_packages = require('../paths/packages.js');
|
|
15
|
-
const require_packages_specs = require('./specs.js');
|
|
16
|
-
const require_packages_edit = require('./edit.js');
|
|
17
|
-
let src_external_cacache = require("../external/cacache");
|
|
18
|
-
src_external_cacache = require_runtime.__toESM(src_external_cacache);
|
|
19
|
-
let src_external_semver = require("../external/semver");
|
|
20
|
-
src_external_semver = require_runtime.__toESM(src_external_semver);
|
|
21
|
-
let src_external_pacote = require("../external/pacote");
|
|
22
|
-
src_external_pacote = require_runtime.__toESM(src_external_pacote);
|
|
23
|
-
let src_external_libnpmpack = require("../external/libnpmpack");
|
|
24
|
-
src_external_libnpmpack = require_runtime.__toESM(src_external_libnpmpack);
|
|
25
|
-
let src_external_make_fetch_happen = require("../external/make-fetch-happen");
|
|
26
|
-
src_external_make_fetch_happen = require_runtime.__toESM(src_external_make_fetch_happen);
|
|
27
|
-
let src_external_npm_package_arg = require("../external/npm-package-arg");
|
|
28
|
-
src_external_npm_package_arg = require_runtime.__toESM(src_external_npm_package_arg);
|
|
29
|
-
let src_external__socketregistry_packageurl_js = require("../external/@socketregistry/packageurl-js");
|
|
30
|
-
|
|
31
|
-
//#region src/packages/operations.ts
|
|
32
|
-
/**
|
|
33
|
-
* @file Package operations including extraction, packing, and I/O.
|
|
34
|
-
*/
|
|
35
|
-
const abortSignal = require_process_abort.getAbortSignal();
|
|
36
|
-
const packageExtensions = /* @__PURE__ */ require_constants_packages.getPackageExtensions();
|
|
37
|
-
const packumentCache = /* @__PURE__ */ require_constants_packages.getPackumentCache();
|
|
38
|
-
const pacoteCachePath = /* @__PURE__ */ require_constants_packages.getPacoteCachePath();
|
|
39
|
-
let _fetcher;
|
|
40
|
-
/**
|
|
41
|
-
* Extract a package to a destination directory.
|
|
42
|
-
*
|
|
43
|
-
* @example
|
|
44
|
-
* ;```typescript
|
|
45
|
-
* await extractPackage('lodash@4.17.21', { dest: '/tmp/lodash' })
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
49
|
-
async function extractPackage(pkgNameOrId, options, callback) {
|
|
50
|
-
let actualCallback = callback;
|
|
51
|
-
let actualOptions = options;
|
|
52
|
-
if (arguments.length === 2 && typeof options === "function") {
|
|
53
|
-
actualCallback = options;
|
|
54
|
-
actualOptions = void 0;
|
|
55
|
-
}
|
|
56
|
-
const { dest, tmpPrefix, ...extractOptions_ } = {
|
|
57
|
-
__proto__: null,
|
|
58
|
-
...actualOptions
|
|
59
|
-
};
|
|
60
|
-
const extractOptions = {
|
|
61
|
-
packumentCache,
|
|
62
|
-
preferOffline: true,
|
|
63
|
-
...extractOptions_
|
|
64
|
-
};
|
|
65
|
-
/* c8 ignore start - External package registry extraction */
|
|
66
|
-
if (typeof dest === "string") {
|
|
67
|
-
await src_external_pacote.default.extract(pkgNameOrId, dest, extractOptions);
|
|
68
|
-
if (typeof actualCallback === "function") await actualCallback(dest);
|
|
69
|
-
} else await src_external_cacache.default.tmp.withTmp(pacoteCachePath, { tmpPrefix }, async (tmpDirPath) => {
|
|
70
|
-
await src_external_pacote.default.extract(pkgNameOrId, tmpDirPath, extractOptions);
|
|
71
|
-
if (typeof actualCallback === "function") await actualCallback(tmpDirPath);
|
|
72
|
-
});
|
|
73
|
-
/* c8 ignore stop */
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Find package extensions for a given package.
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* ;```typescript
|
|
80
|
-
* const extensions = findPackageExtensions('my-pkg', '1.0.0')
|
|
81
|
-
* ```
|
|
82
|
-
*/
|
|
83
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
84
|
-
function findPackageExtensions(pkgName, pkgVer) {
|
|
85
|
-
let result;
|
|
86
|
-
for (const entry of packageExtensions) {
|
|
87
|
-
const selector = String(entry[0]);
|
|
88
|
-
const ext = entry[1];
|
|
89
|
-
const lastAtSignIndex = selector.lastIndexOf("@");
|
|
90
|
-
if (pkgName === selector.slice(0, lastAtSignIndex)) {
|
|
91
|
-
const range = selector.slice(lastAtSignIndex + 1);
|
|
92
|
-
if (src_external_semver.satisfies(pkgVer, range)) {
|
|
93
|
-
if (result === void 0) result = {};
|
|
94
|
-
if (typeof ext === "object" && ext !== null) /* @__PURE__ */ require_objects_mutate.merge(result, ext);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return result;
|
|
99
|
-
}
|
|
100
|
-
function getFetcher() {
|
|
101
|
-
if (_fetcher === void 0) _fetcher = src_external_make_fetch_happen.default.defaults({
|
|
102
|
-
cachePath: pacoteCachePath,
|
|
103
|
-
cache: "force-cache"
|
|
104
|
-
});
|
|
105
|
-
return _fetcher;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Get the release tag for a version.
|
|
109
|
-
*
|
|
110
|
-
* @example
|
|
111
|
-
* ;```typescript
|
|
112
|
-
* getReleaseTag('lodash@latest') // 'latest'
|
|
113
|
-
* getReleaseTag('@scope/pkg@beta') // 'beta'
|
|
114
|
-
* getReleaseTag('lodash') // ''
|
|
115
|
-
* ```
|
|
116
|
-
*/
|
|
117
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
118
|
-
function getReleaseTag(spec) {
|
|
119
|
-
if (!spec) return "";
|
|
120
|
-
let atIndex = -1;
|
|
121
|
-
if (require_primordials_string.StringPrototypeStartsWith(spec, "@")) atIndex = require_primordials_string.StringPrototypeIndexOf(spec, "@", 1);
|
|
122
|
-
else atIndex = require_primordials_string.StringPrototypeIndexOf(spec, "@");
|
|
123
|
-
if (atIndex !== -1) return require_primordials_string.StringPrototypeSlice(spec, atIndex + 1);
|
|
124
|
-
return "";
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Pack a package tarball using pacote.
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* ;```typescript
|
|
131
|
-
* const tarball = await packPackage('lodash@4.17.21')
|
|
132
|
-
* ```
|
|
133
|
-
*/
|
|
134
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
135
|
-
async function packPackage(spec, options) {
|
|
136
|
-
/* c8 ignore start - External package registry packing */
|
|
137
|
-
return await (0, src_external_libnpmpack.default)(spec, {
|
|
138
|
-
__proto__: null,
|
|
139
|
-
signal: abortSignal,
|
|
140
|
-
...options,
|
|
141
|
-
packumentCache,
|
|
142
|
-
preferOffline: true
|
|
143
|
-
});
|
|
144
|
-
/* c8 ignore stop */
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Slugify an npm package name into a hyphenated identifier suitable for
|
|
148
|
-
* User-Agent tokens, log namespaces, file paths, and other contexts where `@`
|
|
149
|
-
* and `/` are not welcome.
|
|
150
|
-
*
|
|
151
|
-
* @example
|
|
152
|
-
* ;```typescript
|
|
153
|
-
* pkgNameToSlug('@socketsecurity/lib') // 'socketsecurity-lib'
|
|
154
|
-
* pkgNameToSlug('@cyclonedx/cdxgen') // 'cyclonedx-cdxgen'
|
|
155
|
-
* pkgNameToSlug('lodash') // 'lodash'
|
|
156
|
-
* ```
|
|
157
|
-
*/
|
|
158
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
159
|
-
function pkgNameToSlug(pkgName) {
|
|
160
|
-
return pkgName.charCodeAt(0) === 64 ? `${pkgName.slice(1).replace("/", "-")}` : pkgName;
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Read and parse a package.json file asynchronously.
|
|
164
|
-
*
|
|
165
|
-
* @example
|
|
166
|
-
* ;```typescript
|
|
167
|
-
* const pkgJson = await readPackageJson('/tmp/my-project')
|
|
168
|
-
* console.log(pkgJson?.name)
|
|
169
|
-
* ```
|
|
170
|
-
*/
|
|
171
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
172
|
-
async function readPackageJson(filepath, options) {
|
|
173
|
-
const { editable, normalize, throws, ...normalizeOptions } = {
|
|
174
|
-
__proto__: null,
|
|
175
|
-
...options
|
|
176
|
-
};
|
|
177
|
-
const pkgJson = await /* @__PURE__ */ require_fs_read_json.readJson(/* @__PURE__ */ require_paths_packages.resolvePackageJsonPath(filepath), { throws });
|
|
178
|
-
if (pkgJson) {
|
|
179
|
-
if (editable) return await /* @__PURE__ */ require_packages_edit.toEditablePackageJson(pkgJson, {
|
|
180
|
-
path: filepath,
|
|
181
|
-
normalize,
|
|
182
|
-
...normalizeOptions
|
|
183
|
-
});
|
|
184
|
-
return normalize ? /* @__PURE__ */ require_packages_normalize.normalizePackageJson(pkgJson, normalizeOptions) : pkgJson;
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Read and parse package.json from a file path synchronously.
|
|
189
|
-
*
|
|
190
|
-
* @example
|
|
191
|
-
* ;```typescript
|
|
192
|
-
* const pkgJson = readPackageJsonSync('/tmp/my-project')
|
|
193
|
-
* console.log(pkgJson?.name)
|
|
194
|
-
* ```
|
|
195
|
-
*/
|
|
196
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
197
|
-
function readPackageJsonSync(filepath, options) {
|
|
198
|
-
const { editable, normalize, throws, ...normalizeOptions } = {
|
|
199
|
-
__proto__: null,
|
|
200
|
-
...options
|
|
201
|
-
};
|
|
202
|
-
const pkgJson = /* @__PURE__ */ require_fs_read_json.readJsonSync(/* @__PURE__ */ require_paths_packages.resolvePackageJsonPath(filepath), { throws });
|
|
203
|
-
if (pkgJson) {
|
|
204
|
-
if (editable) return /* @__PURE__ */ require_packages_edit.toEditablePackageJsonSync(pkgJson, {
|
|
205
|
-
path: filepath,
|
|
206
|
-
normalize,
|
|
207
|
-
...normalizeOptions
|
|
208
|
-
});
|
|
209
|
-
return normalize ? /* @__PURE__ */ require_packages_normalize.normalizePackageJson(pkgJson, normalizeOptions) : pkgJson;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
/**
|
|
213
|
-
* Resolve GitHub tarball URL for a package specifier.
|
|
214
|
-
*
|
|
215
|
-
* @example
|
|
216
|
-
* ;```typescript
|
|
217
|
-
* const url = await resolveGitHubTgzUrl('my-pkg@1.0.0', '/tmp/my-project')
|
|
218
|
-
* ```
|
|
219
|
-
*/
|
|
220
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
221
|
-
async function resolveGitHubTgzUrl(pkgNameOrId, where) {
|
|
222
|
-
const whereIsPkgJson = /* @__PURE__ */ require_objects_predicates.isPlainObject(where);
|
|
223
|
-
const pkgJson = whereIsPkgJson ? where : await /* @__PURE__ */ readPackageJson(where, { normalize: true });
|
|
224
|
-
if (!pkgJson) return "";
|
|
225
|
-
const { version } = pkgJson;
|
|
226
|
-
const parsedSpec = (0, src_external_npm_package_arg.default)(pkgNameOrId, whereIsPkgJson ? void 0 : where);
|
|
227
|
-
if (/* @__PURE__ */ require_packages_specs.isGitHubTgzSpec(parsedSpec)) return parsedSpec.saveSpec || "";
|
|
228
|
-
const isGitHubUrl = /* @__PURE__ */ require_packages_specs.isGitHubUrlSpec(parsedSpec);
|
|
229
|
-
const repository = pkgJson.repository;
|
|
230
|
-
const { project, user } = (isGitHubUrl ? parsedSpec.hosted : /* @__PURE__ */ require_packages_specs.getRepoUrlDetails(repository?.url)) || {
|
|
231
|
-
project: "",
|
|
232
|
-
user: ""
|
|
233
|
-
};
|
|
234
|
-
/* c8 ignore start - External GitHub API calls */
|
|
235
|
-
if (user && project) {
|
|
236
|
-
const fetcher = getFetcher();
|
|
237
|
-
let apiUrl = "";
|
|
238
|
-
if (isGitHubUrl) apiUrl = /* @__PURE__ */ require_packages_specs.gitHubTagRefUrl(user, project, parsedSpec.gitCommittish || "");
|
|
239
|
-
else {
|
|
240
|
-
const versionStr = version;
|
|
241
|
-
apiUrl = /* @__PURE__ */ require_packages_specs.gitHubTagRefUrl(user, project, `v${versionStr}`);
|
|
242
|
-
if (!(await fetcher(apiUrl, { method: "head" })).ok) {
|
|
243
|
-
apiUrl = /* @__PURE__ */ require_packages_specs.gitHubTagRefUrl(user, project, versionStr);
|
|
244
|
-
if (!(await fetcher(apiUrl, { method: "head" })).ok) apiUrl = "";
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
if (apiUrl) {
|
|
248
|
-
const resp = await fetcher(apiUrl);
|
|
249
|
-
let json;
|
|
250
|
-
try {
|
|
251
|
-
json = await resp.json();
|
|
252
|
-
} catch {
|
|
253
|
-
json = void 0;
|
|
254
|
-
}
|
|
255
|
-
const sha = json?.object?.sha;
|
|
256
|
-
if (sha) return /* @__PURE__ */ require_packages_specs.gitHubTgzUrl(user, project, sha);
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
/* c8 ignore stop */
|
|
260
|
-
return "";
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Resolve full package name from a PURL object with custom delimiter.
|
|
264
|
-
*
|
|
265
|
-
* @example
|
|
266
|
-
* ;```typescript
|
|
267
|
-
* resolvePackageName({ name: 'core', namespace: '@babel' }) // '@babel/core'
|
|
268
|
-
* resolvePackageName({ name: 'lodash' }) // 'lodash'
|
|
269
|
-
* ```
|
|
270
|
-
*/
|
|
271
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
272
|
-
function resolvePackageName(purlObj, delimiter = "/") {
|
|
273
|
-
const { name, namespace } = purlObj;
|
|
274
|
-
return `${namespace ? `${namespace}${delimiter}` : ""}${name}`;
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Convert npm package name to Socket registry format with delimiter.
|
|
278
|
-
*
|
|
279
|
-
* @example
|
|
280
|
-
* ;```typescript
|
|
281
|
-
* resolveRegistryPackageName('@babel/core') // 'babel__core'
|
|
282
|
-
* resolveRegistryPackageName('lodash') // 'lodash'
|
|
283
|
-
* ```
|
|
284
|
-
*/
|
|
285
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
286
|
-
function resolveRegistryPackageName(pkgName) {
|
|
287
|
-
const input = `pkg:npm/${pkgName}`;
|
|
288
|
-
const smolPurl = /* @__PURE__ */ require_smol_purl.getSmolPurl();
|
|
289
|
-
const purlObj = smolPurl ? smolPurl.parse(input) : src_external__socketregistry_packageurl_js.PackageURL.fromString(input);
|
|
290
|
-
return purlObj.namespace ? `${purlObj.namespace.slice(1)}${"__"}${purlObj.name}` : pkgName;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
//#endregion
|
|
294
|
-
exports.extractPackage = extractPackage;
|
|
295
|
-
exports.findPackageExtensions = findPackageExtensions;
|
|
296
|
-
exports.getFetcher = getFetcher;
|
|
297
|
-
exports.getReleaseTag = getReleaseTag;
|
|
298
|
-
exports.packPackage = packPackage;
|
|
299
|
-
exports.pkgNameToSlug = pkgNameToSlug;
|
|
300
|
-
exports.readPackageJson = readPackageJson;
|
|
301
|
-
exports.readPackageJsonSync = readPackageJsonSync;
|
|
302
|
-
exports.resolveGitHubTgzUrl = resolveGitHubTgzUrl;
|
|
303
|
-
exports.resolvePackageName = resolvePackageName;
|
|
304
|
-
exports.resolveRegistryPackageName = resolveRegistryPackageName;
|
package/dist/ssri/convert.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file SSRI ↔ hex digest conversion helpers — `hexToSsri` wraps a hex digest
|
|
3
|
-
* in `<algorithm>-<base64>` form, `ssriToHex` decodes the base64 half back to
|
|
4
|
-
* hex.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Convert hex format hash to SSRI format.
|
|
8
|
-
*
|
|
9
|
-
* Takes a hash in hex format and converts it to SSRI format with the specified
|
|
10
|
-
* algorithm prefix (defaults to sha256).
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ;```typescript
|
|
14
|
-
* const ssri = hexToSsri(
|
|
15
|
-
* '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856',
|
|
16
|
-
* )
|
|
17
|
-
* // Returns: 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY='
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @param hex - Hash in hex format.
|
|
21
|
-
* @param algorithm - Hash algorithm (default: 'sha256')
|
|
22
|
-
*
|
|
23
|
-
* @returns SSRI format hash (algorithm-base64)
|
|
24
|
-
*
|
|
25
|
-
* @throws Error if hex format is invalid
|
|
26
|
-
*/
|
|
27
|
-
export declare function hexToSsri(hex: string, algorithm?: string): string;
|
|
28
|
-
/**
|
|
29
|
-
* Convert SSRI format hash to hex format.
|
|
30
|
-
*
|
|
31
|
-
* Takes a hash in SSRI format (e.g., "sha256-base64hash") and converts it to
|
|
32
|
-
* standard hex format (e.g., "hexstring").
|
|
33
|
-
*
|
|
34
|
-
* @example
|
|
35
|
-
* ;```typescript
|
|
36
|
-
* const hex = ssriToHex(
|
|
37
|
-
* 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=',
|
|
38
|
-
* )
|
|
39
|
-
* // Returns: '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856'
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* @param ssri - Hash in SSRI format (algorithm-base64)
|
|
43
|
-
*
|
|
44
|
-
* @returns Hex string representation of the hash
|
|
45
|
-
*
|
|
46
|
-
* @throws Error if SSRI format is invalid
|
|
47
|
-
*/
|
|
48
|
-
export declare function ssriToHex(ssri: string): string;
|
package/dist/ssri/convert.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* Socket Lib - Built with rolldown */
|
|
3
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
const require_primordials_buffer = require('../primordials/buffer.js');
|
|
5
|
-
const require_primordials_error = require('../primordials/error.js');
|
|
6
|
-
|
|
7
|
-
//#region src/ssri/convert.ts
|
|
8
|
-
/**
|
|
9
|
-
* @file SSRI ↔ hex digest conversion helpers — `hexToSsri` wraps a hex digest
|
|
10
|
-
* in `<algorithm>-<base64>` form, `ssriToHex` decodes the base64 half back to
|
|
11
|
-
* hex.
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* Convert hex format hash to SSRI format.
|
|
15
|
-
*
|
|
16
|
-
* Takes a hash in hex format and converts it to SSRI format with the specified
|
|
17
|
-
* algorithm prefix (defaults to sha256).
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ;```typescript
|
|
21
|
-
* const ssri = hexToSsri(
|
|
22
|
-
* '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856',
|
|
23
|
-
* )
|
|
24
|
-
* // Returns: 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY='
|
|
25
|
-
* ```
|
|
26
|
-
*
|
|
27
|
-
* @param hex - Hash in hex format.
|
|
28
|
-
* @param algorithm - Hash algorithm (default: 'sha256')
|
|
29
|
-
*
|
|
30
|
-
* @returns SSRI format hash (algorithm-base64)
|
|
31
|
-
*
|
|
32
|
-
* @throws Error if hex format is invalid
|
|
33
|
-
*/
|
|
34
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
35
|
-
function hexToSsri(hex, algorithm = "sha256") {
|
|
36
|
-
if (!/^[a-f0-9]+$/i.test(hex)) throw new require_primordials_error.ErrorCtor(`Invalid hex format: ${hex}`);
|
|
37
|
-
return `${algorithm}-${require_primordials_buffer.BufferPrototypeToString(require_primordials_buffer.BufferFrom(hex, "hex"), "base64")}`;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Convert SSRI format hash to hex format.
|
|
41
|
-
*
|
|
42
|
-
* Takes a hash in SSRI format (e.g., "sha256-base64hash") and converts it to
|
|
43
|
-
* standard hex format (e.g., "hexstring").
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ;```typescript
|
|
47
|
-
* const hex = ssriToHex(
|
|
48
|
-
* 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=',
|
|
49
|
-
* )
|
|
50
|
-
* // Returns: '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856'
|
|
51
|
-
* ```
|
|
52
|
-
*
|
|
53
|
-
* @param ssri - Hash in SSRI format (algorithm-base64)
|
|
54
|
-
*
|
|
55
|
-
* @returns Hex string representation of the hash
|
|
56
|
-
*
|
|
57
|
-
* @throws Error if SSRI format is invalid
|
|
58
|
-
*/
|
|
59
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
60
|
-
function ssriToHex(ssri) {
|
|
61
|
-
const match = /^([a-z0-9]+)-([A-Za-z0-9+/]+=*)$/i.exec(ssri);
|
|
62
|
-
if (!match || !match[2] || match[2].length < 2) throw new require_primordials_error.ErrorCtor(`Invalid SSRI format: ${ssri}`);
|
|
63
|
-
const base64Hash = match[2];
|
|
64
|
-
return require_primordials_buffer.BufferPrototypeToString(require_primordials_buffer.BufferFrom(base64Hash, "base64"), "hex");
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
//#endregion
|
|
68
|
-
exports.hexToSsri = hexToSsri;
|
|
69
|
-
exports.ssriToHex = ssriToHex;
|
package/dist/ssri/parse.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file SSRI parser — splits a `<algorithm>-<base64hash>` string into its
|
|
3
|
-
* component fields.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Parse SSRI format into components.
|
|
7
|
-
*
|
|
8
|
-
* Extracts the algorithm and base64 hash from an SSRI string.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* ;```typescript
|
|
12
|
-
* const { algorithm, base64Hash } = parseSsri(
|
|
13
|
-
* 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=',
|
|
14
|
-
* )
|
|
15
|
-
* // Returns: { algorithm: 'sha256', base64Hash: 'dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=' }
|
|
16
|
-
* ```
|
|
17
|
-
*
|
|
18
|
-
* @param ssri - Hash in SSRI format.
|
|
19
|
-
*
|
|
20
|
-
* @returns Object with algorithm and base64Hash properties
|
|
21
|
-
*
|
|
22
|
-
* @throws Error if SSRI format is invalid
|
|
23
|
-
*/
|
|
24
|
-
export declare function parseSsri(ssri: string): {
|
|
25
|
-
algorithm: string;
|
|
26
|
-
base64Hash: string;
|
|
27
|
-
};
|
package/dist/ssri/parse.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* Socket Lib - Built with rolldown */
|
|
3
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
const require_primordials_error = require('../primordials/error.js');
|
|
5
|
-
|
|
6
|
-
//#region src/ssri/parse.ts
|
|
7
|
-
/**
|
|
8
|
-
* @file SSRI parser — splits a `<algorithm>-<base64hash>` string into its
|
|
9
|
-
* component fields.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Parse SSRI format into components.
|
|
13
|
-
*
|
|
14
|
-
* Extracts the algorithm and base64 hash from an SSRI string.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ;```typescript
|
|
18
|
-
* const { algorithm, base64Hash } = parseSsri(
|
|
19
|
-
* 'sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=',
|
|
20
|
-
* )
|
|
21
|
-
* // Returns: { algorithm: 'sha256', base64Hash: 'dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=' }
|
|
22
|
-
* ```
|
|
23
|
-
*
|
|
24
|
-
* @param ssri - Hash in SSRI format.
|
|
25
|
-
*
|
|
26
|
-
* @returns Object with algorithm and base64Hash properties
|
|
27
|
-
*
|
|
28
|
-
* @throws Error if SSRI format is invalid
|
|
29
|
-
*/
|
|
30
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
31
|
-
function parseSsri(ssri) {
|
|
32
|
-
const match = /^([a-z0-9]+)-([A-Za-z0-9+/]+=*)$/i.exec(ssri);
|
|
33
|
-
if (!match || !match[1] || !match[2] || match[2].length < 2) throw new require_primordials_error.ErrorCtor(`Invalid SSRI format: ${ssri}`);
|
|
34
|
-
return {
|
|
35
|
-
algorithm: match[1],
|
|
36
|
-
base64Hash: match[2]
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
//#endregion
|
|
41
|
-
exports.parseSsri = parseSsri;
|
package/dist/ssri/validate.d.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file SSRI/hex format validators — predicates that report whether a string
|
|
3
|
-
* looks like a hex digest or an SSRI integrity string. Validation is purely
|
|
4
|
-
* lexical; the predicates do not verify algorithm strength or digest length.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
|
-
* Check if a string is valid hex format.
|
|
8
|
-
*
|
|
9
|
-
* Validates that a string contains only hexadecimal characters (0-9, a-f). Does
|
|
10
|
-
* not verify hash length or algorithm.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ;```typescript
|
|
14
|
-
* isValidHex(
|
|
15
|
-
* '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856',
|
|
16
|
-
* ) // true
|
|
17
|
-
* isValidHex('sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=') // false
|
|
18
|
-
* ```
|
|
19
|
-
*
|
|
20
|
-
* @param value - String to validate.
|
|
21
|
-
*
|
|
22
|
-
* @returns True if string is valid hex format
|
|
23
|
-
*/
|
|
24
|
-
export declare function isValidHex(value: string): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Check if a string is valid SSRI format.
|
|
27
|
-
*
|
|
28
|
-
* Validates that a string matches the SSRI format pattern (algorithm-base64).
|
|
29
|
-
* Does not verify that the base64 encoding is valid.
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* ;```typescript
|
|
33
|
-
* isValidSsri('sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=') // true
|
|
34
|
-
* isValidSsri('76682a9f...') // false
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* @param value - String to validate.
|
|
38
|
-
*
|
|
39
|
-
* @returns True if string matches SSRI format
|
|
40
|
-
*/
|
|
41
|
-
export declare function isValidSsri(value: string): boolean;
|
package/dist/ssri/validate.js
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* Socket Lib - Built with rolldown */
|
|
3
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
|
|
5
|
-
//#region src/ssri/validate.ts
|
|
6
|
-
/**
|
|
7
|
-
* @file SSRI/hex format validators — predicates that report whether a string
|
|
8
|
-
* looks like a hex digest or an SSRI integrity string. Validation is purely
|
|
9
|
-
* lexical; the predicates do not verify algorithm strength or digest length.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Check if a string is valid hex format.
|
|
13
|
-
*
|
|
14
|
-
* Validates that a string contains only hexadecimal characters (0-9, a-f). Does
|
|
15
|
-
* not verify hash length or algorithm.
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* ;```typescript
|
|
19
|
-
* isValidHex(
|
|
20
|
-
* '76682a9fc3bbe62975176e2541f39a8168877d828d5cad8b56461fc36ac2b856',
|
|
21
|
-
* ) // true
|
|
22
|
-
* isValidHex('sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=') // false
|
|
23
|
-
* ```
|
|
24
|
-
*
|
|
25
|
-
* @param value - String to validate.
|
|
26
|
-
*
|
|
27
|
-
* @returns True if string is valid hex format
|
|
28
|
-
*/
|
|
29
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
30
|
-
function isValidHex(value) {
|
|
31
|
-
return /^[a-f0-9]+$/i.test(value);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Check if a string is valid SSRI format.
|
|
35
|
-
*
|
|
36
|
-
* Validates that a string matches the SSRI format pattern (algorithm-base64).
|
|
37
|
-
* Does not verify that the base64 encoding is valid.
|
|
38
|
-
*
|
|
39
|
-
* @example
|
|
40
|
-
* ;```typescript
|
|
41
|
-
* isValidSsri('sha256-dmgqn8O75il1F24lQfOagWiHfYKNXK2LVkYfw2rCuFY=') // true
|
|
42
|
-
* isValidSsri('76682a9f...') // false
|
|
43
|
-
* ```
|
|
44
|
-
*
|
|
45
|
-
* @param value - String to validate.
|
|
46
|
-
*
|
|
47
|
-
* @returns True if string matches SSRI format
|
|
48
|
-
*/
|
|
49
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
50
|
-
function isValidSsri(value) {
|
|
51
|
-
return /^[a-z0-9]+-[A-Za-z0-9+/]{2,}=*$/i.test(value);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
//#endregion
|
|
55
|
-
exports.isValidHex = isValidHex;
|
|
56
|
-
exports.isValidSsri = isValidSsri;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|