@socketsecurity/lib 6.0.6 → 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 +26 -1
- package/dist/ai/discover.d.mts +2 -2
- package/dist/ai/discover.js +3 -2
- package/dist/ai/spawn.js +2 -1
- package/dist/ai/types.d.mts +18 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +1 -1
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +6 -6
- package/dist/archives/zip.js +3 -5
- 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/exec.js +2 -3
- package/dist/bin/find.js +13 -13
- package/dist/bin/prim.cjs +22736 -22556
- 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 +55 -52
- package/dist/{bin → cli}/check.js +3 -3
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +17 -17
- package/dist/compression/brotli.d.ts +25 -25
- package/dist/compression/brotli.js +33 -33
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +40 -40
- 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 +11 -11
- 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 -167
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/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/npm-pack.js +2 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -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/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/janus/from-vfs.js +1 -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-vfs.js +1 -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 +12 -12
- package/dist/external-tools/opengrep/from-vfs.js +1 -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/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-path.js +3 -5
- package/dist/external-tools/skillspector/from-vfs.js +1 -1
- package/dist/external-tools/synp/from-download.js +2 -2
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/trivy/from-vfs.js +1 -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/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 +10 -10
- 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 +4 -6
- 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 +4 -2
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +3 -3
- package/dist/http-request/headers.js +0 -1
- package/dist/http-request/request-attempt.js +37 -33
- package/dist/http-request/request-types.d.ts +2 -2
- package/dist/http-request/request.js +1 -1
- package/dist/http-request/user-agent.js +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.js +16 -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 +4 -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 +11 -15
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/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 +2 -2
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/keychain.js +6 -4
- package/dist/secrets/linux.js +19 -19
- package/dist/secrets/macos.d.ts +1 -1
- package/dist/secrets/macos.js +13 -13
- package/dist/secrets/rc.d.ts +2 -2
- package/dist/secrets/rc.js +6 -4
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +18 -9
- package/dist/secrets/windows.js +14 -13
- package/dist/shadow/skip.js +2 -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 +1 -1
- package/dist/temporal/slots.js +6 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/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.js +15 -5
- package/package.json +247 -106
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -53
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/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/spinner/default.js
CHANGED
|
@@ -16,8 +16,8 @@ src_external__socketregistry_yocto_spinner = require_runtime.__toESM(src_externa
|
|
|
16
16
|
* and memoized; `getDefaultSpinner()` defers `Spinner()` construction until
|
|
17
17
|
* first call so module initialization stays cheap.
|
|
18
18
|
*/
|
|
19
|
-
let
|
|
20
|
-
let
|
|
19
|
+
let cliSpinners;
|
|
20
|
+
let spinner;
|
|
21
21
|
/**
|
|
22
22
|
* Get available CLI spinner styles or a specific style by name. Extends the
|
|
23
23
|
* standard cli-spinners collection with Socket custom spinners.
|
|
@@ -42,17 +42,16 @@ let _spinner;
|
|
|
42
42
|
*
|
|
43
43
|
* @see https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json
|
|
44
44
|
*/
|
|
45
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
46
45
|
function getCliSpinners(styleName) {
|
|
47
|
-
if (
|
|
46
|
+
if (cliSpinners === void 0)
|
|
48
47
|
/* c8 ignore stop */
|
|
49
|
-
|
|
48
|
+
cliSpinners = {
|
|
50
49
|
__proto__: null,
|
|
51
50
|
...(0, src_external__socketregistry_yocto_spinner.default)({}).constructor.spinners,
|
|
52
51
|
socket: require_effects_pulse_frames.generateSocketSpinnerFrames()
|
|
53
52
|
};
|
|
54
|
-
if (typeof styleName === "string" &&
|
|
55
|
-
return
|
|
53
|
+
if (typeof styleName === "string" && cliSpinners) return require_objects_predicates.hasOwn(cliSpinners, styleName) ? cliSpinners[styleName] : void 0;
|
|
54
|
+
return cliSpinners;
|
|
56
55
|
}
|
|
57
56
|
/**
|
|
58
57
|
* Get the default spinner instance. Lazily creates the spinner to avoid
|
|
@@ -70,8 +69,8 @@ function getCliSpinners(styleName) {
|
|
|
70
69
|
* @returns Shared default spinner instance
|
|
71
70
|
*/
|
|
72
71
|
function getDefaultSpinner() {
|
|
73
|
-
if (
|
|
74
|
-
return
|
|
72
|
+
if (spinner === void 0) spinner = require_spinner_spinner.Spinner();
|
|
73
|
+
return spinner;
|
|
75
74
|
}
|
|
76
75
|
|
|
77
76
|
//#endregion
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Pure helpers extracted from the Socket `Spinner` class body: option
|
|
3
|
+
* parsing (theme/color resolution, shimmer config) and the shimmer rendering
|
|
4
|
+
* pass. Keeping these side-effect-free and outside the class keeps the class
|
|
5
|
+
* module focused on method wiring and under the file-size cap.
|
|
6
|
+
*/
|
|
7
|
+
import type { ColorRgb } from '../colors/types';
|
|
8
|
+
import type { ShimmerInfo, SpinnerOptions } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Apply the shimmer effect to display text. Mutates the shimmer frame counter
|
|
11
|
+
* as it advances. Skips work in CI or when the direction is 'none'.
|
|
12
|
+
*
|
|
13
|
+
* @param displayText - Text to colorize.
|
|
14
|
+
* @param shimmer - Mutable shimmer state (frame counter is advanced).
|
|
15
|
+
* @param currentColor - The spinner's current RGB color (used for inherit).
|
|
16
|
+
*
|
|
17
|
+
* @returns Colorized text, or the input unchanged when shimmer is skipped.
|
|
18
|
+
*/
|
|
19
|
+
export declare function applyShimmer(displayText: string, shimmer: ShimmerInfo, currentColor: ColorRgb): string;
|
|
20
|
+
/**
|
|
21
|
+
* Parse the shimmer option (object or direction string) into a `ShimmerInfo`.
|
|
22
|
+
*
|
|
23
|
+
* @param shimmer - The `shimmer` option value.
|
|
24
|
+
*
|
|
25
|
+
* @returns Parsed shimmer state, or undefined when shimmer is disabled.
|
|
26
|
+
*/
|
|
27
|
+
export declare function parseShimmerOption(shimmer: SpinnerOptions['shimmer']): ShimmerInfo | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the spinner's RGB color from options and the active theme. Validates
|
|
30
|
+
* RGB tuples and falls back to the theme's primary color.
|
|
31
|
+
*
|
|
32
|
+
* @param opts - Normalized spinner options.
|
|
33
|
+
*
|
|
34
|
+
* @returns Resolved RGB color tuple.
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolveSpinnerColorRgb(opts: SpinnerOptions): ColorRgb;
|
|
@@ -0,0 +1,101 @@
|
|
|
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
|
+
const require_primordials_array = require('../primordials/array.js');
|
|
6
|
+
const require_themes_themes = require('../themes/themes.js');
|
|
7
|
+
const require_themes_context = require('../themes/context.js');
|
|
8
|
+
const require_env_ci = require('../env/ci.js');
|
|
9
|
+
const require_colors_convert = require('../colors/convert.js');
|
|
10
|
+
const require_spinner_format = require('./format.js');
|
|
11
|
+
const require_effects_shimmer = require('../effects/shimmer.js');
|
|
12
|
+
const require_effects_shimmer_terminal = require('../effects/shimmer-terminal.js');
|
|
13
|
+
const require_themes_resolve = require('../themes/resolve.js');
|
|
14
|
+
|
|
15
|
+
//#region src/spinner/spinner-internals.ts
|
|
16
|
+
/**
|
|
17
|
+
* Apply the shimmer effect to display text. Mutates the shimmer frame counter
|
|
18
|
+
* as it advances. Skips work in CI or when the direction is 'none'.
|
|
19
|
+
*
|
|
20
|
+
* @param displayText - Text to colorize.
|
|
21
|
+
* @param shimmer - Mutable shimmer state (frame counter is advanced).
|
|
22
|
+
* @param currentColor - The spinner's current RGB color (used for inherit).
|
|
23
|
+
*
|
|
24
|
+
* @returns Colorized text, or the input unchanged when shimmer is skipped.
|
|
25
|
+
*/
|
|
26
|
+
function applyShimmer(displayText, shimmer, currentColor) {
|
|
27
|
+
let shimmerColor;
|
|
28
|
+
if (shimmer.color === "inherit") shimmerColor = currentColor;
|
|
29
|
+
else if (require_primordials_array.ArrayIsArray(shimmer.color[0])) shimmerColor = shimmer.color;
|
|
30
|
+
else shimmerColor = require_colors_convert.toRgb(shimmer.color);
|
|
31
|
+
if (!require_env_ci.getCI() && shimmer.direction !== "none") {
|
|
32
|
+
const chars = [...displayText];
|
|
33
|
+
const colors = require_effects_shimmer.frameColors(require_effects_shimmer.configToSpec({
|
|
34
|
+
color: shimmerColor,
|
|
35
|
+
dir: shimmer.direction,
|
|
36
|
+
speed: shimmer.speed
|
|
37
|
+
}, chars.length), chars.length, shimmer.frame);
|
|
38
|
+
shimmer.frame++;
|
|
39
|
+
return require_effects_shimmer_terminal.colorsToAnsi(displayText, colors);
|
|
40
|
+
}
|
|
41
|
+
return displayText;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Parse the shimmer option (object or direction string) into a `ShimmerInfo`.
|
|
45
|
+
*
|
|
46
|
+
* @param shimmer - The `shimmer` option value.
|
|
47
|
+
*
|
|
48
|
+
* @returns Parsed shimmer state, or undefined when shimmer is disabled.
|
|
49
|
+
*/
|
|
50
|
+
function parseShimmerOption(shimmer) {
|
|
51
|
+
if (!shimmer) return;
|
|
52
|
+
let shimmerDir;
|
|
53
|
+
let shimmerColor;
|
|
54
|
+
let shimmerSpeed = 1 / 3;
|
|
55
|
+
if (typeof shimmer === "string") {
|
|
56
|
+
shimmerDir = shimmer;
|
|
57
|
+
shimmerColor = require_spinner_format.COLOR_INHERIT;
|
|
58
|
+
} else {
|
|
59
|
+
const shimmerConfig = {
|
|
60
|
+
__proto__: null,
|
|
61
|
+
...shimmer
|
|
62
|
+
};
|
|
63
|
+
shimmerDir = shimmerConfig.dir ?? "ltr";
|
|
64
|
+
shimmerColor = shimmerConfig.color ?? "inherit";
|
|
65
|
+
shimmerSpeed = shimmerConfig.speed ?? 1 / 3;
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
__proto__: null,
|
|
69
|
+
color: shimmerColor,
|
|
70
|
+
direction: shimmerDir,
|
|
71
|
+
speed: shimmerSpeed,
|
|
72
|
+
frame: 0
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Resolve the spinner's RGB color from options and the active theme. Validates
|
|
77
|
+
* RGB tuples and falls back to the theme's primary color.
|
|
78
|
+
*
|
|
79
|
+
* @param opts - Normalized spinner options.
|
|
80
|
+
*
|
|
81
|
+
* @returns Resolved RGB color tuple.
|
|
82
|
+
*/
|
|
83
|
+
function resolveSpinnerColorRgb(opts) {
|
|
84
|
+
let theme = require_themes_context.getTheme();
|
|
85
|
+
if (opts.theme) if (typeof opts.theme === "string") theme = require_themes_themes.THEMES[opts.theme] ?? theme;
|
|
86
|
+
else theme = opts.theme;
|
|
87
|
+
let defaultColor = theme.colors.primary;
|
|
88
|
+
if (theme.effects?.spinner?.color) {
|
|
89
|
+
const resolved = require_themes_resolve.resolveColor(theme.effects.spinner.color, theme.colors);
|
|
90
|
+
if (resolved === "inherit" || require_primordials_array.ArrayIsArray(resolved[0])) defaultColor = theme.colors.primary;
|
|
91
|
+
else defaultColor = resolved;
|
|
92
|
+
}
|
|
93
|
+
const spinnerColor = opts.color ?? defaultColor;
|
|
94
|
+
if (require_colors_convert.isRgbTuple(spinnerColor) && (spinnerColor.length !== 3 || !spinnerColor.every((n) => typeof n === "number" && n >= 0 && n <= 255))) throw new require_primordials_error.TypeErrorCtor("RGB color must be an array of 3 numbers between 0 and 255");
|
|
95
|
+
return require_colors_convert.toRgb(spinnerColor);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
//#endregion
|
|
99
|
+
exports.applyShimmer = applyShimmer;
|
|
100
|
+
exports.parseShimmerOption = parseShimmerOption;
|
|
101
|
+
exports.resolveSpinnerColorRgb = resolveSpinnerColorRgb;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Shimmer-configuration methods for the Socket `Spinner` class, split out
|
|
3
|
+
* of `create-spinner-class.ts` to keep that module under the file-size cap.
|
|
4
|
+
* The methods read and write the spinner's shimmer state through well-known
|
|
5
|
+
* symbols (`getShimmerSymbol`, `setShimmerSymbol`, `getSavedShimmerSymbol`,
|
|
6
|
+
* `setSavedShimmerSymbol`, `updateTextSymbol`) the class exposes, so they
|
|
7
|
+
* share the same private state without crossing the private-field boundary.
|
|
8
|
+
* `installShimmerMethods()` defines them on the prototype after the class is
|
|
9
|
+
* built.
|
|
10
|
+
*/
|
|
11
|
+
import type { ShimmerInfo, SpinnerInstance } from './types';
|
|
12
|
+
/**
|
|
13
|
+
* Well-known symbol the spinner class exposes to read its current shimmer
|
|
14
|
+
* state.
|
|
15
|
+
*/
|
|
16
|
+
export declare const getShimmerSymbol: unique symbol;
|
|
17
|
+
/**
|
|
18
|
+
* Well-known symbol the spinner class exposes to replace its current shimmer
|
|
19
|
+
* state.
|
|
20
|
+
*/
|
|
21
|
+
export declare const setShimmerSymbol: unique symbol;
|
|
22
|
+
/**
|
|
23
|
+
* Well-known symbol the spinner class exposes to read the saved shimmer config
|
|
24
|
+
* that `enableShimmer()` restores from.
|
|
25
|
+
*/
|
|
26
|
+
export declare const getSavedShimmerSymbol: unique symbol;
|
|
27
|
+
/**
|
|
28
|
+
* Well-known symbol the spinner class exposes to replace the saved shimmer
|
|
29
|
+
* config.
|
|
30
|
+
*/
|
|
31
|
+
export declare const setSavedShimmerSymbol: unique symbol;
|
|
32
|
+
/**
|
|
33
|
+
* Well-known symbol the spinner class exposes for its `#updateSpinnerText`
|
|
34
|
+
* helper so the shimmer methods can trigger a re-render after a state change.
|
|
35
|
+
*/
|
|
36
|
+
export declare const updateTextSymbol: unique symbol;
|
|
37
|
+
/**
|
|
38
|
+
* Runtime shape of the spinner instance the shimmer methods operate on.
|
|
39
|
+
*/
|
|
40
|
+
export type ShimmerHost = SpinnerInstance & {
|
|
41
|
+
[getShimmerSymbol]: () => ShimmerInfo | undefined;
|
|
42
|
+
[setShimmerSymbol]: (value: ShimmerInfo | undefined) => void;
|
|
43
|
+
[getSavedShimmerSymbol]: () => ShimmerInfo | undefined;
|
|
44
|
+
[setSavedShimmerSymbol]: (value: ShimmerInfo | undefined) => void;
|
|
45
|
+
[updateTextSymbol]: () => void;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Install the shimmer-configuration methods + `shimmerState` getter onto the
|
|
49
|
+
* spinner prototype. The methods reach the spinner's private shimmer state
|
|
50
|
+
* through the well-known symbols the class exposes.
|
|
51
|
+
*
|
|
52
|
+
* @param proto - The spinner class prototype to augment.
|
|
53
|
+
*/
|
|
54
|
+
export declare function installShimmerMethods(proto: object): void;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_spinner_format = require('./format.js');
|
|
5
|
+
|
|
6
|
+
//#region src/spinner/spinner-shimmer-methods.ts
|
|
7
|
+
/**
|
|
8
|
+
* Well-known symbol the spinner class exposes to read its current shimmer
|
|
9
|
+
* state.
|
|
10
|
+
*/
|
|
11
|
+
const getShimmerSymbol = Symbol.for("socket.spinner.getShimmer");
|
|
12
|
+
/**
|
|
13
|
+
* Well-known symbol the spinner class exposes to replace its current shimmer
|
|
14
|
+
* state.
|
|
15
|
+
*/
|
|
16
|
+
const setShimmerSymbol = Symbol.for("socket.spinner.setShimmer");
|
|
17
|
+
/**
|
|
18
|
+
* Well-known symbol the spinner class exposes to read the saved shimmer config
|
|
19
|
+
* that `enableShimmer()` restores from.
|
|
20
|
+
*/
|
|
21
|
+
const getSavedShimmerSymbol = Symbol.for("socket.spinner.getSavedShimmer");
|
|
22
|
+
/**
|
|
23
|
+
* Well-known symbol the spinner class exposes to replace the saved shimmer
|
|
24
|
+
* config.
|
|
25
|
+
*/
|
|
26
|
+
const setSavedShimmerSymbol = Symbol.for("socket.spinner.setSavedShimmer");
|
|
27
|
+
/**
|
|
28
|
+
* Well-known symbol the spinner class exposes for its `#updateSpinnerText`
|
|
29
|
+
* helper so the shimmer methods can trigger a re-render after a state change.
|
|
30
|
+
*/
|
|
31
|
+
const updateTextSymbol = Symbol.for("socket.spinner.updateText");
|
|
32
|
+
/**
|
|
33
|
+
* Install the shimmer-configuration methods + `shimmerState` getter onto the
|
|
34
|
+
* spinner prototype. The methods reach the spinner's private shimmer state
|
|
35
|
+
* through the well-known symbols the class exposes.
|
|
36
|
+
*
|
|
37
|
+
* @param proto - The spinner class prototype to augment.
|
|
38
|
+
*/
|
|
39
|
+
function installShimmerMethods(proto) {
|
|
40
|
+
const target = proto;
|
|
41
|
+
function shimmerState() {
|
|
42
|
+
const shimmer = this[getShimmerSymbol]();
|
|
43
|
+
if (!shimmer) return;
|
|
44
|
+
return {
|
|
45
|
+
__proto__: null,
|
|
46
|
+
color: shimmer.color,
|
|
47
|
+
direction: shimmer.direction,
|
|
48
|
+
speed: shimmer.speed,
|
|
49
|
+
frame: shimmer.frame
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function disableShimmer() {
|
|
53
|
+
this[setShimmerSymbol](void 0);
|
|
54
|
+
this[updateTextSymbol]();
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
function enableShimmer() {
|
|
58
|
+
const saved = this[getSavedShimmerSymbol]();
|
|
59
|
+
if (saved) this[setShimmerSymbol]({
|
|
60
|
+
...saved,
|
|
61
|
+
frame: 0
|
|
62
|
+
});
|
|
63
|
+
else {
|
|
64
|
+
const next = {
|
|
65
|
+
__proto__: null,
|
|
66
|
+
color: require_spinner_format.COLOR_INHERIT,
|
|
67
|
+
direction: "ltr",
|
|
68
|
+
speed: 1 / 3,
|
|
69
|
+
frame: 0
|
|
70
|
+
};
|
|
71
|
+
this[setShimmerSymbol](next);
|
|
72
|
+
this[setSavedShimmerSymbol](next);
|
|
73
|
+
}
|
|
74
|
+
this[updateTextSymbol]();
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
function setShimmer(config) {
|
|
78
|
+
const next = {
|
|
79
|
+
__proto__: null,
|
|
80
|
+
color: config.color ?? "inherit",
|
|
81
|
+
direction: config.dir ?? "ltr",
|
|
82
|
+
speed: config.speed ?? 1 / 3,
|
|
83
|
+
frame: 0
|
|
84
|
+
};
|
|
85
|
+
this[setShimmerSymbol](next);
|
|
86
|
+
this[setSavedShimmerSymbol](next);
|
|
87
|
+
this[updateTextSymbol]();
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
function updateShimmer(config) {
|
|
91
|
+
/* c8 ignore start - each partial-config field branch fires only when caller updates that field; shimmer-state cascade covers three init paths */
|
|
92
|
+
const partialConfig = {
|
|
93
|
+
__proto__: null,
|
|
94
|
+
...config
|
|
95
|
+
};
|
|
96
|
+
const update = { __proto__: null };
|
|
97
|
+
if (partialConfig.color !== void 0) update.color = partialConfig.color;
|
|
98
|
+
if (partialConfig.dir !== void 0) update.direction = partialConfig.dir;
|
|
99
|
+
if (partialConfig.speed !== void 0) update.speed = partialConfig.speed;
|
|
100
|
+
const shimmer = this[getShimmerSymbol]();
|
|
101
|
+
const saved = this[getSavedShimmerSymbol]();
|
|
102
|
+
let next;
|
|
103
|
+
if (shimmer) next = {
|
|
104
|
+
...shimmer,
|
|
105
|
+
...update
|
|
106
|
+
};
|
|
107
|
+
else if (saved) next = {
|
|
108
|
+
...saved,
|
|
109
|
+
...update,
|
|
110
|
+
frame: 0
|
|
111
|
+
};
|
|
112
|
+
else next = {
|
|
113
|
+
__proto__: null,
|
|
114
|
+
color: require_spinner_format.COLOR_INHERIT,
|
|
115
|
+
direction: "ltr",
|
|
116
|
+
speed: 1 / 3,
|
|
117
|
+
frame: 0,
|
|
118
|
+
...update
|
|
119
|
+
};
|
|
120
|
+
this[setShimmerSymbol](next);
|
|
121
|
+
this[setSavedShimmerSymbol](next);
|
|
122
|
+
this[updateTextSymbol]();
|
|
123
|
+
return this;
|
|
124
|
+
/* c8 ignore stop */
|
|
125
|
+
}
|
|
126
|
+
Object.defineProperty(target, "shimmerState", {
|
|
127
|
+
configurable: true,
|
|
128
|
+
enumerable: false,
|
|
129
|
+
get: shimmerState
|
|
130
|
+
});
|
|
131
|
+
target["disableShimmer"] = disableShimmer;
|
|
132
|
+
target["enableShimmer"] = enableShimmer;
|
|
133
|
+
target["setShimmer"] = setShimmer;
|
|
134
|
+
target["updateShimmer"] = updateShimmer;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
exports.getSavedShimmerSymbol = getSavedShimmerSymbol;
|
|
139
|
+
exports.getShimmerSymbol = getShimmerSymbol;
|
|
140
|
+
exports.installShimmerMethods = installShimmerMethods;
|
|
141
|
+
exports.setSavedShimmerSymbol = setSavedShimmerSymbol;
|
|
142
|
+
exports.setShimmerSymbol = setShimmerSymbol;
|
|
143
|
+
exports.updateTextSymbol = updateTextSymbol;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Status-presentation methods for the Socket `Spinner` class, split out
|
|
3
|
+
* of `create-spinner-class.ts` to keep that module under the file-size cap.
|
|
4
|
+
* Each method is a thin delegation to one of the two internal helpers the
|
|
5
|
+
* class exposes via well-known symbols (`applyStatusSymbol`,
|
|
6
|
+
* `showStatusSymbol`); `installStatusMethods()` defines them on the spinner
|
|
7
|
+
* prototype after the class is built so they share the same private state.
|
|
8
|
+
*/
|
|
9
|
+
import type { SpinnerLogger } from './create-spinner-class';
|
|
10
|
+
import type { SpinnerInstance, SymbolType } from './types';
|
|
11
|
+
/**
|
|
12
|
+
* Well-known symbol the spinner class uses to expose its `#apply` helper so the
|
|
13
|
+
* status methods in this module can drive a yocto-spinner method + logger
|
|
14
|
+
* update without reaching into a private field across the file boundary.
|
|
15
|
+
*/
|
|
16
|
+
export declare const applyStatusSymbol: unique symbol;
|
|
17
|
+
/**
|
|
18
|
+
* Well-known symbol the spinner class uses to expose its
|
|
19
|
+
* `#showStatusAndKeepSpinning` helper so the status methods here can emit a
|
|
20
|
+
* symbol-prefixed status line without stopping the spinner.
|
|
21
|
+
*/
|
|
22
|
+
export declare const showStatusSymbol: unique symbol;
|
|
23
|
+
/**
|
|
24
|
+
* Runtime shape of the spinner instance the status methods operate on. Only the
|
|
25
|
+
* two symbol-keyed helpers are needed; everything else is reached through the
|
|
26
|
+
* module-scope `logger`.
|
|
27
|
+
*/
|
|
28
|
+
export type StatusHost = SpinnerInstance & {
|
|
29
|
+
[applyStatusSymbol]: (methodName: string, args: unknown[]) => SpinnerInstance;
|
|
30
|
+
[showStatusSymbol]: (symbolType: SymbolType, args: unknown[]) => SpinnerInstance;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Install the status-presentation methods onto the spinner prototype. The
|
|
34
|
+
* methods close over `logger` for the stdout/stderr writes and reach the
|
|
35
|
+
* spinner's private helpers through the two well-known symbols.
|
|
36
|
+
*
|
|
37
|
+
* @param proto - The spinner class prototype to augment.
|
|
38
|
+
* @param logger - Default logger used for status output.
|
|
39
|
+
*/
|
|
40
|
+
export declare function installStatusMethods(proto: object, logger: SpinnerLogger): void;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_logger_symbols = require('../logger/symbols.js');
|
|
5
|
+
const require_spinner_format = require('./format.js');
|
|
6
|
+
const require_debug_namespace = require('../debug/namespace.js');
|
|
7
|
+
|
|
8
|
+
//#region src/spinner/spinner-status-methods.ts
|
|
9
|
+
/**
|
|
10
|
+
* @file Status-presentation methods for the Socket `Spinner` class, split out
|
|
11
|
+
* of `create-spinner-class.ts` to keep that module under the file-size cap.
|
|
12
|
+
* Each method is a thin delegation to one of the two internal helpers the
|
|
13
|
+
* class exposes via well-known symbols (`applyStatusSymbol`,
|
|
14
|
+
* `showStatusSymbol`); `installStatusMethods()` defines them on the spinner
|
|
15
|
+
* prototype after the class is built so they share the same private state.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Well-known symbol the spinner class uses to expose its `#apply` helper so the
|
|
19
|
+
* status methods in this module can drive a yocto-spinner method + logger
|
|
20
|
+
* update without reaching into a private field across the file boundary.
|
|
21
|
+
*/
|
|
22
|
+
const applyStatusSymbol = Symbol.for("socket.spinner.applyStatus");
|
|
23
|
+
/**
|
|
24
|
+
* Well-known symbol the spinner class uses to expose its
|
|
25
|
+
* `#showStatusAndKeepSpinning` helper so the status methods here can emit a
|
|
26
|
+
* symbol-prefixed status line without stopping the spinner.
|
|
27
|
+
*/
|
|
28
|
+
const showStatusSymbol = Symbol.for("socket.spinner.showStatus");
|
|
29
|
+
/**
|
|
30
|
+
* Install the status-presentation methods onto the spinner prototype. The
|
|
31
|
+
* methods close over `logger` for the stdout/stderr writes and reach the
|
|
32
|
+
* spinner's private helpers through the two well-known symbols.
|
|
33
|
+
*
|
|
34
|
+
* @param proto - The spinner class prototype to augment.
|
|
35
|
+
* @param logger - Default logger used for status output.
|
|
36
|
+
*/
|
|
37
|
+
function installStatusMethods(proto, logger) {
|
|
38
|
+
const target = proto;
|
|
39
|
+
function debug(text, ...extras) {
|
|
40
|
+
if (require_debug_namespace.isDebug()) return this[showStatusSymbol]("info", [text, ...extras]);
|
|
41
|
+
return this;
|
|
42
|
+
}
|
|
43
|
+
function debugAndStop(text, ...extras) {
|
|
44
|
+
if (require_debug_namespace.isDebug()) return this[applyStatusSymbol]("info", [text, ...extras]);
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
function done(text, ...extras) {
|
|
48
|
+
return this[showStatusSymbol]("success", [text, ...extras]);
|
|
49
|
+
}
|
|
50
|
+
function doneAndStop(text, ...extras) {
|
|
51
|
+
return this[applyStatusSymbol]("success", [text, ...extras]);
|
|
52
|
+
}
|
|
53
|
+
function fail(text, ...extras) {
|
|
54
|
+
return this[showStatusSymbol]("fail", [text, ...extras]);
|
|
55
|
+
}
|
|
56
|
+
function failAndStop(text, ...extras) {
|
|
57
|
+
return this[applyStatusSymbol]("error", [text, ...extras]);
|
|
58
|
+
}
|
|
59
|
+
function info(text, ...extras) {
|
|
60
|
+
return this[showStatusSymbol]("info", [text, ...extras]);
|
|
61
|
+
}
|
|
62
|
+
function infoAndStop(text, ...extras) {
|
|
63
|
+
return this[applyStatusSymbol]("info", [text, ...extras]);
|
|
64
|
+
}
|
|
65
|
+
function log(...args) {
|
|
66
|
+
logger.log(...args);
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
function logAndStop(text, ...extras) {
|
|
70
|
+
return this[applyStatusSymbol]("stop", [text, ...extras]);
|
|
71
|
+
}
|
|
72
|
+
function skip(text, ...extras) {
|
|
73
|
+
return this[showStatusSymbol]("skip", [text, ...extras]);
|
|
74
|
+
}
|
|
75
|
+
function skipAndStop(text, ...extras) {
|
|
76
|
+
this[applyStatusSymbol]("stop", []);
|
|
77
|
+
const normalized = require_spinner_format.normalizeText(text);
|
|
78
|
+
/* c8 ignore start - empty-text no-op fires when text is undefined or whitespace-only */
|
|
79
|
+
if (normalized) logger.error(`${require_logger_symbols.LOG_SYMBOLS["skip"]} ${normalized}`, ...extras);
|
|
80
|
+
return this;
|
|
81
|
+
/* c8 ignore stop */
|
|
82
|
+
}
|
|
83
|
+
function step(text, ...extras) {
|
|
84
|
+
/* c8 ignore start - text-omitted no-op arm fires when caller invokes step() bare */
|
|
85
|
+
if (typeof text === "string") {
|
|
86
|
+
logger.error("");
|
|
87
|
+
logger.error(text, ...extras);
|
|
88
|
+
}
|
|
89
|
+
return this;
|
|
90
|
+
/* c8 ignore stop */
|
|
91
|
+
}
|
|
92
|
+
function substep(text, ...extras) {
|
|
93
|
+
/* c8 ignore start - text-omitted no-op arm fires when caller invokes substep() bare */
|
|
94
|
+
if (typeof text === "string") logger.error(` ${text}`, ...extras);
|
|
95
|
+
return this;
|
|
96
|
+
/* c8 ignore stop */
|
|
97
|
+
}
|
|
98
|
+
function success(text, ...extras) {
|
|
99
|
+
return this[showStatusSymbol]("success", [text, ...extras]);
|
|
100
|
+
}
|
|
101
|
+
function successAndStop(text, ...extras) {
|
|
102
|
+
return this[applyStatusSymbol]("success", [text, ...extras]);
|
|
103
|
+
}
|
|
104
|
+
function warn(text, ...extras) {
|
|
105
|
+
return this[showStatusSymbol]("warn", [text, ...extras]);
|
|
106
|
+
}
|
|
107
|
+
function warnAndStop(text, ...extras) {
|
|
108
|
+
return this[applyStatusSymbol]("warning", [text, ...extras]);
|
|
109
|
+
}
|
|
110
|
+
target["debug"] = debug;
|
|
111
|
+
target["debugAndStop"] = debugAndStop;
|
|
112
|
+
target["done"] = done;
|
|
113
|
+
target["doneAndStop"] = doneAndStop;
|
|
114
|
+
target["fail"] = fail;
|
|
115
|
+
target["failAndStop"] = failAndStop;
|
|
116
|
+
target["info"] = info;
|
|
117
|
+
target["infoAndStop"] = infoAndStop;
|
|
118
|
+
target["log"] = log;
|
|
119
|
+
target["logAndStop"] = logAndStop;
|
|
120
|
+
target["skip"] = skip;
|
|
121
|
+
target["skipAndStop"] = skipAndStop;
|
|
122
|
+
target["step"] = step;
|
|
123
|
+
target["substep"] = substep;
|
|
124
|
+
target["success"] = success;
|
|
125
|
+
target["successAndStop"] = successAndStop;
|
|
126
|
+
target["warn"] = warn;
|
|
127
|
+
target["warnAndStop"] = warnAndStop;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
//#endregion
|
|
131
|
+
exports.applyStatusSymbol = applyStatusSymbol;
|
|
132
|
+
exports.installStatusMethods = installStatusMethods;
|
|
133
|
+
exports.showStatusSymbol = showStatusSymbol;
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @file Spinner factory — builds the
|
|
2
|
+
* @file Spinner factory — lazily builds the Socket `Spinner` class that wraps
|
|
3
3
|
* `yocto-spinner` with Socket-specific behaviors (custom RGB color pipeline,
|
|
4
4
|
* shimmer, progress bar, indented step messages, status methods that don't
|
|
5
5
|
* auto-stop, *AndStop variants that auto-clear). The class graph is
|
|
6
|
-
* constructed
|
|
7
|
-
* live `YoctoSpinner` constructor;
|
|
8
|
-
*
|
|
9
|
-
* lazy-init guarantee.
|
|
6
|
+
* constructed by `createSpinnerClass()` so the `super()` call binds against
|
|
7
|
+
* the live `YoctoSpinner` constructor resolved here; building it lazily keeps
|
|
8
|
+
* the module free of side effects at import time.
|
|
10
9
|
*/
|
|
11
10
|
import type { SpinnerInstance, SpinnerOptions } from './types';
|
|
12
11
|
/**
|