@socketsecurity/lib 6.0.5 → 6.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/dist/ai/discover.d.mts +2 -2
- package/dist/ai/discover.js +6 -4
- package/dist/ai/spawn.js +10 -6
- package/dist/ai/types.d.mts +18 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +12 -7
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +6 -6
- package/dist/archives/zip.js +4 -6
- package/dist/argv/flag-predicates.d.ts +12 -12
- package/dist/argv/flag-predicates.js +17 -17
- package/dist/argv/flag-types.d.ts +18 -18
- package/dist/argv/flag-types.js +4 -4
- package/dist/argv/parse.d.ts +1 -1
- package/dist/arrays/_internal.js +11 -12
- package/dist/arrays/chunk.js +0 -1
- package/dist/arrays/join.d.ts +37 -3
- package/dist/arrays/join.js +43 -7
- package/dist/arrays/unique.js +0 -1
- package/dist/bin/_internal.d.ts +1 -1
- package/dist/bin/_internal.js +1 -1
- package/dist/bin/acorn-bindgen.cjs +769 -0
- package/dist/bin/acorn.wasm +0 -0
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +13 -13
- package/dist/bin/prim.cjs +39244 -0
- package/dist/bin/resolve.js +12 -13
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +5 -5
- package/dist/checks/primordials-defaults.d.ts +3 -3
- package/dist/checks/primordials-defaults.js +3 -3
- package/dist/checks/primordials.js +4 -3
- package/dist/{bin → cli}/check-primordials.d.ts +11 -11
- package/dist/{bin → cli}/check-primordials.js +56 -52
- package/dist/{bin → cli}/check.js +6 -5
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +20 -19
- package/dist/compression/brotli.d.ts +25 -25
- package/dist/compression/brotli.js +37 -44
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +44 -52
- package/dist/constants/agents.d.ts +3 -1
- package/dist/constants/agents.js +15 -11
- package/dist/constants/licenses.js +3 -3
- package/dist/constants/node.d.ts +23 -0
- package/dist/constants/node.js +47 -15
- package/dist/constants/packages.js +22 -28
- package/dist/constants/platform.d.ts +30 -3
- package/dist/constants/platform.js +72 -12
- package/dist/constants/runtime.d.ts +22 -0
- package/dist/constants/runtime.js +32 -0
- package/dist/constants/socket.js +1 -1
- package/dist/cover/code.js +8 -8
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +26 -1
- package/dist/crypto/hash.js +43 -12
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +2 -3
- package/dist/debug/namespace.d.ts +7 -0
- package/dist/debug/namespace.js +21 -12
- package/dist/debug/output.js +21 -24
- package/dist/debug/types.d.ts +4 -4
- package/dist/dlx/arborist.js +6 -6
- package/dist/dlx/binary-cache.js +14 -14
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +14 -13
- package/dist/dlx/binary-resolution.js +16 -14
- package/dist/dlx/binary-types.d.ts +5 -5
- package/dist/dlx/binary.js +5 -5
- package/dist/dlx/cache.js +1 -1
- package/dist/dlx/detect.d.ts +34 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +16 -16
- package/dist/dlx/manifest.d.ts +6 -6
- package/dist/dlx/manifest.js +5 -5
- package/dist/dlx/package.d.ts +10 -10
- package/dist/dlx/package.js +16 -16
- package/dist/dlx/packages.js +4 -4
- package/dist/dlx/paths.js +7 -7
- package/dist/dlx/spec.js +1 -1
- package/dist/dlx/types.d.ts +28 -27
- package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
- package/dist/eco/cargo/parse-lockfile.js +2 -2
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +4 -4
- package/dist/eco/manifest/find-packages.js +2 -2
- package/dist/eco/manifest/get-package-versions.js +2 -2
- package/dist/eco/manifest/get-package.js +2 -2
- package/dist/eco/manifest/parse-lockfile.js +2 -2
- package/dist/eco/manifest/parse-manifest.js +2 -2
- package/dist/eco/manifest/parse.js +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/npm/flags.js +7 -12
- package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
- package/dist/eco/npm/npm/parse-lockfile.js +3 -3
- package/dist/eco/npm/parse-package-json.js +3 -3
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/pnpm/exec.js +5 -5
- package/dist/eco/npm/pnpm/flags.js +0 -3
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
- package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
- package/dist/effects/pulse-frames.d.ts +3 -1
- package/dist/effects/shimmer-keyframes.d.ts +1 -1
- package/dist/effects/shimmer-terminal.d.ts +1 -1
- package/dist/env/boolean.js +0 -1
- package/dist/env/ci.js +0 -1
- package/dist/env/debug.js +0 -1
- package/dist/env/github-status.d.ts +51 -0
- package/dist/env/github-status.js +90 -0
- package/dist/env/github.js +0 -8
- package/dist/env/home.js +0 -1
- package/dist/env/locale.js +0 -3
- package/dist/env/node-auth-token.js +0 -1
- package/dist/env/node-env.js +0 -1
- package/dist/env/node-version-managers.d.ts +53 -0
- package/dist/env/node-version-managers.js +90 -0
- package/dist/env/npm.js +0 -5
- package/dist/env/number.js +0 -1
- package/dist/env/package-manager.js +3 -6
- package/dist/env/path.js +0 -1
- package/dist/env/pre-commit.js +1 -2
- package/dist/env/rewire.d.ts +7 -6
- package/dist/env/rewire.js +15 -16
- package/dist/env/shell.js +0 -1
- package/dist/env/socket-cli.js +5 -18
- package/dist/env/socket-mcp.d.ts +114 -0
- package/dist/env/socket-mcp.js +146 -0
- package/dist/env/socket.d.ts +1 -109
- package/dist/env/socket.js +12 -166
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/events/exit/_internal.d.ts +11 -9
- package/dist/events/exit/_internal.js +31 -35
- package/dist/events/exit/handler.js +3 -4
- package/dist/events/exit/intercept.js +4 -6
- package/dist/events/exit/lifecycle.js +16 -18
- package/dist/events/exit/signals.js +1 -2
- package/dist/events/exit/types.d.ts +6 -5
- package/dist/external/@npmcli/package-json.js +2 -2
- package/dist/external/@sinclair/typebox/value.js +5 -1
- package/dist/external/@sinclair/typebox.js +5 -1
- package/dist/external/@socketregistry/packageurl-js.js +27 -0
- package/dist/external/npm-pack.js +2 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/resolve.js +2 -1
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/resolve.js +2 -1
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +1 -1
- package/dist/external-tools/from-download.js +1 -1
- package/dist/external-tools/from-pip-venv.d.ts +73 -0
- package/dist/external-tools/from-pip-venv.js +98 -0
- package/dist/external-tools/janus/asset-names.js +1 -1
- package/dist/external-tools/janus/from-download.js +3 -5
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/resolve.js +2 -1
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
- package/dist/external-tools/jre/detect-platform-arch.js +29 -14
- package/dist/external-tools/jre/from-download.js +2 -1
- package/dist/external-tools/jre/from-vfs.js +1 -1
- package/dist/external-tools/jre/resolve.js +2 -1
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +7 -7
- package/dist/external-tools/manifest.js +18 -16
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/resolve.js +2 -1
- package/dist/external-tools/opengrep/types.d.ts +1 -1
- package/dist/external-tools/python/asset-names.d.ts +76 -0
- package/dist/external-tools/python/asset-names.js +104 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +87 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +68 -0
- package/dist/external-tools/python/from-path.d.ts +7 -0
- package/dist/external-tools/python/from-path.js +23 -0
- package/dist/external-tools/python/pin.d.ts +121 -0
- package/dist/external-tools/python/pin.js +173 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +139 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +58 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/resolve.js +2 -1
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.d.ts +24 -0
- package/dist/external-tools/skillspector/from-dlx.js +41 -0
- package/dist/external-tools/skillspector/from-path.d.ts +8 -0
- package/dist/external-tools/skillspector/from-path.js +30 -0
- package/dist/external-tools/skillspector/from-vfs.d.ts +8 -0
- package/dist/external-tools/skillspector/from-vfs.js +27 -0
- package/dist/external-tools/skillspector/resolve.d.ts +34 -0
- package/dist/external-tools/skillspector/resolve.js +53 -0
- package/dist/external-tools/skillspector/types.d.ts +24 -0
- package/dist/external-tools/skillspector/types.js +2 -0
- package/dist/external-tools/synp/from-download.js +2 -2
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/synp/resolve.js +2 -1
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/resolve.js +2 -1
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/resolve.js +2 -1
- package/dist/external-tools/trufflehog/types.d.ts +1 -1
- package/dist/fs/_internal.d.ts +1 -1
- package/dist/fs/_internal.js +7 -7
- package/dist/fs/access.js +5 -9
- package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +11 -13
- package/dist/fs/inspect.js +7 -13
- package/dist/fs/read-dir.js +7 -10
- package/dist/fs/read-file.js +8 -14
- package/dist/fs/read-json-cache.d.ts +6 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +1 -1
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +12 -13
- package/dist/fs/unique.js +4 -5
- package/dist/fs/validate.js +1 -2
- package/dist/fs/write-json.js +4 -5
- package/dist/git/_internal.js +12 -11
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +3 -3
- package/dist/git/staged.js +4 -4
- package/dist/git/unstaged.js +4 -4
- package/dist/github/ghsa.js +2 -2
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +5 -5
- package/dist/github/refs-rest.js +5 -5
- package/dist/github/{fetch.js → request.js} +13 -2
- package/dist/github/token.js +1 -1
- package/dist/github/types.d.ts +1 -1
- package/dist/globs/_internal.js +7 -9
- package/dist/globs/match.js +6 -7
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +12 -14
- package/dist/globs/stream.js +1 -2
- package/dist/globs/types.d.ts +24 -24
- package/dist/http-request/_internal.d.ts +1 -1
- package/dist/http-request/browser.js +21 -13
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +4 -4
- package/dist/http-request/headers.d.ts +32 -3
- package/dist/http-request/headers.js +41 -13
- package/dist/http-request/request-attempt.js +38 -33
- package/dist/http-request/request-types.d.ts +7 -2
- package/dist/http-request/request.js +33 -16
- package/dist/http-request/response-reader.d.ts +12 -1
- package/dist/http-request/response-reader.js +22 -2
- package/dist/http-request/user-agent.js +3 -4
- package/dist/integrity.d.ts +86 -18
- package/dist/integrity.js +119 -30
- package/dist/ipc/directory.js +2 -2
- package/dist/ipc/paths.js +1 -1
- package/dist/ipc/write.js +1 -1
- package/dist/ipc-cli/get.js +12 -12
- package/dist/json/edit.js +13 -14
- package/dist/json/format.js +2 -2
- package/dist/json/parse.d.ts +1 -1
- package/dist/json/parse.js +3 -7
- package/dist/logger/_internal.d.ts +4 -4
- package/dist/logger/_internal.js +3 -3
- package/dist/logger/colors.js +4 -3
- package/dist/logger/console-methods.d.ts +132 -0
- package/dist/logger/console-methods.js +169 -0
- package/dist/logger/console.d.ts +12 -0
- package/dist/logger/console.js +42 -11
- package/dist/logger/indentation-methods.d.ts +81 -0
- package/dist/logger/indentation-methods.js +121 -0
- package/dist/logger/node.d.ts +16 -338
- package/dist/logger/node.js +75 -608
- package/dist/logger/options.d.ts +39 -0
- package/dist/logger/options.js +47 -0
- package/dist/logger/semantic-methods.d.ts +63 -0
- package/dist/logger/semantic-methods.js +108 -0
- package/dist/logger/stream-methods.d.ts +63 -0
- package/dist/logger/stream-methods.js +101 -0
- package/dist/logger/stream.d.ts +37 -0
- package/dist/logger/stream.js +42 -0
- package/dist/logger/symbols-builder.js +9 -9
- package/dist/logger/symbols.d.ts +2 -25
- package/dist/logger/symbols.js +53 -74
- package/dist/logger/types.d.ts +1 -1
- package/dist/memo/types.d.ts +6 -6
- package/dist/native-messaging/host.d.ts +20 -0
- package/dist/native-messaging/host.js +120 -0
- package/dist/native-messaging/index.d.ts +5 -0
- package/dist/native-messaging/index.js +22 -0
- package/dist/native-messaging/install.d.ts +60 -0
- package/dist/native-messaging/install.js +141 -0
- package/dist/native-messaging/rate-limit.d.ts +62 -0
- package/dist/native-messaging/rate-limit.js +115 -0
- package/dist/native-messaging/run.d.ts +10 -0
- package/dist/native-messaging/run.js +17 -0
- package/dist/node/async-hooks.js +4 -3
- package/dist/node/child-process.js +4 -3
- package/dist/node/crypto.js +4 -3
- package/dist/node/events.js +4 -3
- package/dist/node/fs-promises.js +4 -3
- package/dist/node/fs.js +4 -3
- package/dist/node/http.js +4 -3
- package/dist/node/https.js +4 -3
- package/dist/node/module.js +10 -6
- package/dist/node/os.js +4 -3
- package/dist/node/path.js +4 -3
- package/dist/node/timers-promises.js +4 -3
- package/dist/node/url.js +4 -3
- package/dist/node/util.js +4 -3
- package/dist/objects/getters.js +5 -7
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +2 -3
- package/dist/objects/predicates.js +0 -4
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.js +15 -16
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +11 -17
- package/dist/packages/fetch.d.ts +16 -0
- package/dist/packages/fetch.js +81 -0
- package/dist/packages/find.d.ts +55 -0
- package/dist/packages/find.js +65 -0
- package/dist/packages/isolation.js +14 -14
- package/dist/packages/licenses.js +16 -16
- package/dist/packages/manifest.js +12 -15
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +5 -9
- package/dist/packages/provenance.d.ts +6 -0
- package/dist/packages/provenance.js +25 -18
- package/dist/packages/read.d.ts +29 -0
- package/dist/packages/read.js +66 -0
- package/dist/packages/specs.d.ts +48 -1
- package/dist/packages/specs.js +74 -11
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +79 -0
- package/dist/packages/types.d.ts +21 -20
- package/dist/packages/validation.js +0 -3
- package/dist/paths/_internal.d.ts +2 -1
- package/dist/paths/_internal.js +7 -19
- package/dist/paths/conversion.js +5 -9
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +6 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +11 -14
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.js +16 -16
- package/dist/paths/walk.d.ts +1 -1
- package/dist/paths/walk.js +4 -4
- package/dist/perf/report.js +2 -2
- package/dist/perf/types.d.ts +1 -1
- package/dist/pkg-ext/data.js +1 -1
- package/dist/primordials/array.js +9 -9
- package/dist/primordials/date.js +2 -2
- package/dist/primordials/error.js +3 -3
- package/dist/primordials/headers.d.ts +10 -0
- package/dist/primordials/headers.js +23 -0
- package/dist/primordials/intl.d.ts +13 -0
- package/dist/primordials/intl.js +26 -0
- package/dist/primordials/math.js +33 -33
- package/dist/primordials/number.js +9 -9
- package/dist/primordials/object.js +5 -5
- package/dist/primordials/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- package/dist/primordials/uncurry.js +9 -9
- package/dist/process/abort.js +3 -3
- package/dist/process/lock-manager.js +8 -8
- package/dist/process/spawn/_internal.js +6 -8
- package/dist/process/spawn/child.js +14 -14
- package/dist/process/spawn/errors.js +2 -4
- package/dist/process/spawn/kill-tree.d.ts +53 -0
- package/dist/process/spawn/kill-tree.js +85 -0
- package/dist/process/spawn/stdio.js +0 -1
- package/dist/process/spawn/types.d.ts +5 -5
- package/dist/process/transient.js +2 -2
- package/dist/promises/_internal.d.ts +2 -1
- package/dist/promises/_internal.js +2 -6
- package/dist/promises/iterate.js +12 -16
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +2 -2
- package/dist/releases/github-asset-url.d.ts +1 -1
- package/dist/releases/github-asset-url.js +5 -5
- package/dist/releases/github-downloads.d.ts +1 -1
- package/dist/releases/github-downloads.js +3 -3
- package/dist/releases/github-listing.d.ts +11 -2
- package/dist/releases/github-listing.js +20 -7
- package/dist/releases/github-retry-config.js +1 -1
- package/dist/releases/github-types.d.ts +6 -6
- package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
- package/dist/releases/socket-btm-binary-naming.js +155 -0
- package/dist/releases/socket-btm.d.ts +8 -115
- package/dist/releases/socket-btm.js +16 -159
- package/dist/schema/types.d.ts +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +5 -4
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/keychain.js +9 -6
- package/dist/secrets/linux.js +25 -23
- package/dist/secrets/macos.d.ts +1 -1
- package/dist/secrets/macos.js +18 -16
- package/dist/secrets/rc.d.ts +2 -2
- package/dist/secrets/rc.js +15 -10
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +18 -9
- package/dist/secrets/windows.js +21 -17
- package/dist/shadow/skip.js +2 -2
- package/dist/shell/parse.d.ts +108 -1
- package/dist/shell/parse.js +168 -2
- package/dist/smol/detect.js +9 -10
- package/dist/smol/http.js +6 -7
- package/dist/smol/https.js +6 -7
- package/dist/smol/manifest.d.ts +1 -1
- package/dist/smol/manifest.js +6 -7
- package/dist/smol/path.d.ts +1 -1
- package/dist/smol/path.js +7 -8
- package/dist/smol/primordial.d.ts +4 -0
- package/dist/smol/primordial.js +6 -7
- package/dist/smol/purl.d.ts +1 -1
- package/dist/smol/purl.js +7 -8
- package/dist/smol/versions.js +6 -7
- package/dist/smol/vfs.js +6 -7
- package/dist/sorts/_internal.js +6 -8
- package/dist/sorts/natural.js +10 -12
- package/dist/sorts/semver.js +1 -2
- package/dist/sorts/strings.js +0 -1
- package/dist/sorts/types.d.ts +1 -1
- package/dist/spinner/create-spinner-class.d.ts +38 -0
- package/dist/spinner/create-spinner-class.js +302 -0
- package/dist/spinner/default.js +8 -9
- package/dist/spinner/spinner-internals.d.ts +36 -0
- package/dist/spinner/spinner-internals.js +101 -0
- package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
- package/dist/spinner/spinner-shimmer-methods.js +143 -0
- package/dist/spinner/spinner-status-methods.d.ts +40 -0
- package/dist/spinner/spinner-status-methods.js +133 -0
- package/dist/spinner/spinner.d.ts +4 -5
- package/dist/spinner/spinner.js +18 -705
- package/dist/spinner/types.d.ts +3 -1
- package/dist/spinner/with.d.ts +10 -0
- package/dist/spinner/with.js +16 -2
- package/dist/stdio/divider.js +1 -1
- package/dist/stdio/footer.js +3 -3
- package/dist/stdio/header.js +4 -4
- package/dist/stdio/progress.js +5 -5
- package/dist/stdio/prompts.d.ts +5 -3
- package/dist/stdio/prompts.js +6 -7
- package/dist/stdio/stdout.js +3 -3
- package/dist/streams/parallel.js +3 -5
- package/dist/streams/transform.js +2 -3
- package/dist/strings/format.js +2 -6
- package/dist/strings/predicates.js +0 -2
- package/dist/strings/search.js +1 -2
- package/dist/strings/transform.js +0 -3
- package/dist/strings/width.js +9 -10
- package/dist/tables/bordered.js +4 -3
- package/dist/tables/padding.js +1 -1
- package/dist/tables/simple.js +8 -5
- package/dist/temporal/instant.js +4 -2
- package/dist/temporal/slots.js +7 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.js +1 -2
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +5 -5
- package/dist/versions/_internal.js +3 -3
- package/dist/words/article.js +0 -1
- package/dist/words/capitalize.js +0 -1
- package/dist/words/pluralize.d.ts +24 -2
- package/dist/words/pluralize.js +47 -2
- package/dist/words/types.d.ts +25 -2
- package/package.json +289 -108
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -52
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/http-request/checksums.d.ts +0 -69
- package/dist/http-request/checksums.js +0 -108
- package/dist/http-request/http-request.d.ts +0 -12
- package/dist/http-request/http-request.js +0 -11
- package/dist/packages/operations.d.ts +0 -113
- package/dist/packages/operations.js +0 -304
- package/dist/ssri/convert.d.ts +0 -48
- package/dist/ssri/convert.js +0 -69
- package/dist/ssri/parse.d.ts +0 -27
- package/dist/ssri/parse.js +0 -41
- package/dist/ssri/validate.d.ts +0 -41
- package/dist/ssri/validate.js +0 -56
- /package/dist/{bin → cli}/check.d.ts +0 -0
- /package/dist/external-tools/{uv → python}/types.js +0 -0
- /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
- /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
package/dist/shell/parse.d.ts
CHANGED
|
@@ -8,10 +8,100 @@
|
|
|
8
8
|
* against `env`; unresolved ones collapse to an empty string.
|
|
9
9
|
*/
|
|
10
10
|
import type { ParseEntry } from '../external/shell-quote';
|
|
11
|
+
/**
|
|
12
|
+
* Visit each simple command in `cmd` in order. A "simple command" is the
|
|
13
|
+
* POSIX-grammar term for a run of bare-string tokens between shell
|
|
14
|
+
* control-operator boundaries (`&&`, `;`, `||`, `|`) — e.g. in `sudo apt && rm
|
|
15
|
+
* -rf /`, the two simple commands are `['sudo', 'apt']` and `['rm', '-rf',
|
|
16
|
+
* '/']`. Glob and comment tokens are ignored.
|
|
17
|
+
*
|
|
18
|
+
* The visitor receives each simple command's tokens as a `readonly string[]`;
|
|
19
|
+
* returning `true` short-circuits the walk so callers like `hasBinCall` /
|
|
20
|
+
* `findBinCall` can bail on the first match without finishing the parse.
|
|
21
|
+
*
|
|
22
|
+
* Public so consumers can write their own per-command matchers without
|
|
23
|
+
* re-parsing the command line. Used internally by `findBinCall` /
|
|
24
|
+
* `findBinCalls` / `hasBinCall`.
|
|
25
|
+
*
|
|
26
|
+
* Shell-quote is permissive (partial parses don't throw); the walk tolerates
|
|
27
|
+
* any shape it returns.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* eachSimpleCommand('sudo apt && rm -rf /', tokens => {
|
|
31
|
+
* console.log(tokens)
|
|
32
|
+
* // → ['sudo', 'apt']
|
|
33
|
+
* // → ['rm', '-rf', '/']
|
|
34
|
+
* })
|
|
35
|
+
*
|
|
36
|
+
* // Short-circuit on first match:
|
|
37
|
+
* eachSimpleCommand('a ; b ; c', tokens => {
|
|
38
|
+
* if (tokens[0] === 'b') {
|
|
39
|
+
* return true // stop the walk
|
|
40
|
+
* }
|
|
41
|
+
* })
|
|
42
|
+
*/
|
|
43
|
+
export declare function eachSimpleCommand(cmd: string, visit: (tokens: readonly string[]) => boolean | void): void;
|
|
44
|
+
/**
|
|
45
|
+
* Walk a parsed shell command and return the args of the FIRST binary call
|
|
46
|
+
* whose leading tokens match `prefix` (e.g. `['sudo']`, `['gh', 'auth',
|
|
47
|
+
* 'refresh']`). Returns `undefined` when no call matches.
|
|
48
|
+
*
|
|
49
|
+
* Short-circuits on the first match — does NOT materialize every match. Use
|
|
50
|
+
* this when "did any call match, and what were its args?" is enough. For audit
|
|
51
|
+
* / counting use cases where every match matters, use `findBinCalls`.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* findBinCall('sudo apt update && sudo -k', ['sudo'])
|
|
55
|
+
* // → ['apt', 'update']
|
|
56
|
+
*
|
|
57
|
+
* findBinCall('echo "sudo foo"', ['sudo'])
|
|
58
|
+
* // → undefined
|
|
59
|
+
*/
|
|
60
|
+
export declare function findBinCall(cmd: string, prefix: readonly string[]): readonly string[] | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Walk a parsed shell command and return the args of every binary call whose
|
|
63
|
+
* leading tokens match `prefix` (e.g. `['sudo']`, `['gh', 'auth', 'refresh']`).
|
|
64
|
+
* Returns an empty array when no call matches.
|
|
65
|
+
*
|
|
66
|
+
* Segments split at op tokens (`&&`, `;`, `||`, `|`) so each chained command is
|
|
67
|
+
* scanned independently. Each match's args are returned as a `string[]` slice
|
|
68
|
+
* positioned after the matched prefix — useful for caller-side `.some(...)`
|
|
69
|
+
* over flag/value pairs.
|
|
70
|
+
*
|
|
71
|
+
* The AST walk means embedded args (`echo "sudo foo"`), variable substitutions
|
|
72
|
+
* (`$gh`), and command substitution (`$(...)`) don't trip the matcher — only
|
|
73
|
+
* actual calls do.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* findBinCalls('sudo apt update && sudo -k', ['sudo'])
|
|
77
|
+
* // → [['apt', 'update'], ['-k']]
|
|
78
|
+
*
|
|
79
|
+
* findBinCalls('gh auth refresh -s workflow', ['gh', 'auth', 'refresh'])
|
|
80
|
+
* // → [['-s', 'workflow']]
|
|
81
|
+
*
|
|
82
|
+
* findBinCalls('echo "sudo foo"', ['sudo'])
|
|
83
|
+
* // → []
|
|
84
|
+
*/
|
|
85
|
+
export declare function findBinCalls(cmd: string, prefix: readonly string[]): readonly string[][];
|
|
86
|
+
/**
|
|
87
|
+
* Convenience: does `cmd` contain at least one binary call matching the
|
|
88
|
+
* leading-tokens `prefix`? The most common audit-pattern shape.
|
|
89
|
+
*
|
|
90
|
+
* Short-circuits on the first match — walks the parsed entries once and returns
|
|
91
|
+
* `true` as soon as a simple command matches. No intermediate match list or
|
|
92
|
+
* args slices are allocated.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* hasBinCall('echo hi && sudo rm', ['sudo']) // → true
|
|
96
|
+
* hasBinCall('echo "sudo foo"', ['sudo']) // → false
|
|
97
|
+
* hasBinCall('gh auth refresh -s workflow', ['gh', 'auth', 'refresh']) // → true
|
|
98
|
+
*/
|
|
99
|
+
export declare function hasBinCall(cmd: string, prefix: readonly string[]): boolean;
|
|
11
100
|
export type { ParseEntry, ShellComment, ShellGlob, ShellOp, } from '../external/shell-quote';
|
|
12
101
|
/**
|
|
13
102
|
* Tokenize `cmd` into `ParseEntry` items, preserving operators and comments.
|
|
14
|
-
*
|
|
103
|
+
* `shell-quote` is permissive — an unterminated quote does not throw; the
|
|
104
|
+
* parser drops the opening quote and returns the rest as plain tokens.
|
|
15
105
|
*
|
|
16
106
|
* @example
|
|
17
107
|
* parseShell('git commit -m "hello world"')
|
|
@@ -24,3 +114,20 @@ export type { ParseEntry, ShellComment, ShellGlob, ShellOp, } from '../external/
|
|
|
24
114
|
* // → ['echo', '/root']
|
|
25
115
|
*/
|
|
26
116
|
export declare function parseShell(cmd: string, env?: Record<string, string> | ((key: string) => string | undefined) | undefined): ParseEntry[];
|
|
117
|
+
/**
|
|
118
|
+
* Does the simple command represented by `tokens` start with `prefix`? The
|
|
119
|
+
* natural companion to `eachSimpleCommand` — the visitor callback uses this to
|
|
120
|
+
* test whether a simple command is a call to a specific binary or command-line
|
|
121
|
+
* prefix.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* simpleCommandStartsWith(['sudo', 'apt', 'update'], ['sudo'])
|
|
125
|
+
* // → true
|
|
126
|
+
*
|
|
127
|
+
* simpleCommandStartsWith(
|
|
128
|
+
* ['gh', 'auth', 'status'],
|
|
129
|
+
* ['gh', 'auth', 'refresh'],
|
|
130
|
+
* )
|
|
131
|
+
* // → false
|
|
132
|
+
*/
|
|
133
|
+
export declare function simpleCommandStartsWith(tokens: readonly string[], prefix: readonly string[]): boolean;
|
package/dist/shell/parse.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_array = require('../primordials/array.js');
|
|
4
5
|
let src_external_shell_quote = require("../external/shell-quote");
|
|
5
6
|
|
|
6
7
|
//#region src/shell/parse.ts
|
|
@@ -14,8 +15,146 @@ let src_external_shell_quote = require("../external/shell-quote");
|
|
|
14
15
|
* against `env`; unresolved ones collapse to an empty string.
|
|
15
16
|
*/
|
|
16
17
|
/**
|
|
18
|
+
* Visit each simple command in `cmd` in order. A "simple command" is the
|
|
19
|
+
* POSIX-grammar term for a run of bare-string tokens between shell
|
|
20
|
+
* control-operator boundaries (`&&`, `;`, `||`, `|`) — e.g. in `sudo apt && rm
|
|
21
|
+
* -rf /`, the two simple commands are `['sudo', 'apt']` and `['rm', '-rf',
|
|
22
|
+
* '/']`. Glob and comment tokens are ignored.
|
|
23
|
+
*
|
|
24
|
+
* The visitor receives each simple command's tokens as a `readonly string[]`;
|
|
25
|
+
* returning `true` short-circuits the walk so callers like `hasBinCall` /
|
|
26
|
+
* `findBinCall` can bail on the first match without finishing the parse.
|
|
27
|
+
*
|
|
28
|
+
* Public so consumers can write their own per-command matchers without
|
|
29
|
+
* re-parsing the command line. Used internally by `findBinCall` /
|
|
30
|
+
* `findBinCalls` / `hasBinCall`.
|
|
31
|
+
*
|
|
32
|
+
* Shell-quote is permissive (partial parses don't throw); the walk tolerates
|
|
33
|
+
* any shape it returns.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* eachSimpleCommand('sudo apt && rm -rf /', tokens => {
|
|
37
|
+
* console.log(tokens)
|
|
38
|
+
* // → ['sudo', 'apt']
|
|
39
|
+
* // → ['rm', '-rf', '/']
|
|
40
|
+
* })
|
|
41
|
+
*
|
|
42
|
+
* // Short-circuit on first match:
|
|
43
|
+
* eachSimpleCommand('a ; b ; c', tokens => {
|
|
44
|
+
* if (tokens[0] === 'b') {
|
|
45
|
+
* return true // stop the walk
|
|
46
|
+
* }
|
|
47
|
+
* })
|
|
48
|
+
*/
|
|
49
|
+
function eachSimpleCommand(cmd, visit) {
|
|
50
|
+
const entries = (0, src_external_shell_quote.parse)(cmd);
|
|
51
|
+
let current = [];
|
|
52
|
+
const flush = () => {
|
|
53
|
+
if (current.length > 0) {
|
|
54
|
+
const stop = visit(current);
|
|
55
|
+
current = [];
|
|
56
|
+
return stop === true;
|
|
57
|
+
}
|
|
58
|
+
current = [];
|
|
59
|
+
return false;
|
|
60
|
+
};
|
|
61
|
+
for (let i = 0, { length } = entries; i < length; i += 1) {
|
|
62
|
+
const entry = entries[i];
|
|
63
|
+
if (entry && typeof entry === "object" && "op" in entry) {
|
|
64
|
+
if (flush()) return;
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
if (typeof entry === "string") require_primordials_array.ArrayPrototypePush(current, entry);
|
|
68
|
+
}
|
|
69
|
+
flush();
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Walk a parsed shell command and return the args of the FIRST binary call
|
|
73
|
+
* whose leading tokens match `prefix` (e.g. `['sudo']`, `['gh', 'auth',
|
|
74
|
+
* 'refresh']`). Returns `undefined` when no call matches.
|
|
75
|
+
*
|
|
76
|
+
* Short-circuits on the first match — does NOT materialize every match. Use
|
|
77
|
+
* this when "did any call match, and what were its args?" is enough. For audit
|
|
78
|
+
* / counting use cases where every match matters, use `findBinCalls`.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* findBinCall('sudo apt update && sudo -k', ['sudo'])
|
|
82
|
+
* // → ['apt', 'update']
|
|
83
|
+
*
|
|
84
|
+
* findBinCall('echo "sudo foo"', ['sudo'])
|
|
85
|
+
* // → undefined
|
|
86
|
+
*/
|
|
87
|
+
function findBinCall(cmd, prefix) {
|
|
88
|
+
if (prefix.length === 0) return;
|
|
89
|
+
let found;
|
|
90
|
+
eachSimpleCommand(cmd, (tokens) => {
|
|
91
|
+
if (!simpleCommandStartsWith(tokens, prefix)) return false;
|
|
92
|
+
found = require_primordials_array.ArrayPrototypeSlice(tokens, prefix.length);
|
|
93
|
+
return true;
|
|
94
|
+
});
|
|
95
|
+
return found;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Walk a parsed shell command and return the args of every binary call whose
|
|
99
|
+
* leading tokens match `prefix` (e.g. `['sudo']`, `['gh', 'auth', 'refresh']`).
|
|
100
|
+
* Returns an empty array when no call matches.
|
|
101
|
+
*
|
|
102
|
+
* Segments split at op tokens (`&&`, `;`, `||`, `|`) so each chained command is
|
|
103
|
+
* scanned independently. Each match's args are returned as a `string[]` slice
|
|
104
|
+
* positioned after the matched prefix — useful for caller-side `.some(...)`
|
|
105
|
+
* over flag/value pairs.
|
|
106
|
+
*
|
|
107
|
+
* The AST walk means embedded args (`echo "sudo foo"`), variable substitutions
|
|
108
|
+
* (`$gh`), and command substitution (`$(...)`) don't trip the matcher — only
|
|
109
|
+
* actual calls do.
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* findBinCalls('sudo apt update && sudo -k', ['sudo'])
|
|
113
|
+
* // → [['apt', 'update'], ['-k']]
|
|
114
|
+
*
|
|
115
|
+
* findBinCalls('gh auth refresh -s workflow', ['gh', 'auth', 'refresh'])
|
|
116
|
+
* // → [['-s', 'workflow']]
|
|
117
|
+
*
|
|
118
|
+
* findBinCalls('echo "sudo foo"', ['sudo'])
|
|
119
|
+
* // → []
|
|
120
|
+
*/
|
|
121
|
+
function findBinCalls(cmd, prefix) {
|
|
122
|
+
if (prefix.length === 0) return [];
|
|
123
|
+
const matches = [];
|
|
124
|
+
eachSimpleCommand(cmd, (tokens) => {
|
|
125
|
+
if (simpleCommandStartsWith(tokens, prefix)) require_primordials_array.ArrayPrototypePush(matches, require_primordials_array.ArrayPrototypeSlice(tokens, prefix.length));
|
|
126
|
+
});
|
|
127
|
+
return matches;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Convenience: does `cmd` contain at least one binary call matching the
|
|
131
|
+
* leading-tokens `prefix`? The most common audit-pattern shape.
|
|
132
|
+
*
|
|
133
|
+
* Short-circuits on the first match — walks the parsed entries once and returns
|
|
134
|
+
* `true` as soon as a simple command matches. No intermediate match list or
|
|
135
|
+
* args slices are allocated.
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* hasBinCall('echo hi && sudo rm', ['sudo']) // → true
|
|
139
|
+
* hasBinCall('echo "sudo foo"', ['sudo']) // → false
|
|
140
|
+
* hasBinCall('gh auth refresh -s workflow', ['gh', 'auth', 'refresh']) // → true
|
|
141
|
+
*/
|
|
142
|
+
function hasBinCall(cmd, prefix) {
|
|
143
|
+
if (prefix.length === 0) return false;
|
|
144
|
+
let found = false;
|
|
145
|
+
eachSimpleCommand(cmd, (tokens) => {
|
|
146
|
+
if (simpleCommandStartsWith(tokens, prefix)) {
|
|
147
|
+
found = true;
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
return false;
|
|
151
|
+
});
|
|
152
|
+
return found;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
17
155
|
* Tokenize `cmd` into `ParseEntry` items, preserving operators and comments.
|
|
18
|
-
*
|
|
156
|
+
* `shell-quote` is permissive — an unterminated quote does not throw; the
|
|
157
|
+
* parser drops the opening quote and returns the rest as plain tokens.
|
|
19
158
|
*
|
|
20
159
|
* @example
|
|
21
160
|
* parseShell('git commit -m "hello world"')
|
|
@@ -30,6 +169,33 @@ let src_external_shell_quote = require("../external/shell-quote");
|
|
|
30
169
|
function parseShell(cmd, env) {
|
|
31
170
|
return (0, src_external_shell_quote.parse)(cmd, env);
|
|
32
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Does the simple command represented by `tokens` start with `prefix`? The
|
|
174
|
+
* natural companion to `eachSimpleCommand` — the visitor callback uses this to
|
|
175
|
+
* test whether a simple command is a call to a specific binary or command-line
|
|
176
|
+
* prefix.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* simpleCommandStartsWith(['sudo', 'apt', 'update'], ['sudo'])
|
|
180
|
+
* // → true
|
|
181
|
+
*
|
|
182
|
+
* simpleCommandStartsWith(
|
|
183
|
+
* ['gh', 'auth', 'status'],
|
|
184
|
+
* ['gh', 'auth', 'refresh'],
|
|
185
|
+
* )
|
|
186
|
+
* // → false
|
|
187
|
+
*/
|
|
188
|
+
function simpleCommandStartsWith(tokens, prefix) {
|
|
189
|
+
const { length: pl } = prefix;
|
|
190
|
+
if (tokens.length < pl) return false;
|
|
191
|
+
for (let i = 0; i < pl; i += 1) if (tokens[i] !== prefix[i]) return false;
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
33
194
|
|
|
34
195
|
//#endregion
|
|
35
|
-
exports.
|
|
196
|
+
exports.eachSimpleCommand = eachSimpleCommand;
|
|
197
|
+
exports.findBinCall = findBinCall;
|
|
198
|
+
exports.findBinCalls = findBinCalls;
|
|
199
|
+
exports.hasBinCall = hasBinCall;
|
|
200
|
+
exports.parseShell = parseShell;
|
|
201
|
+
exports.simpleCommandStartsWith = simpleCommandStartsWith;
|
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
|