@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
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Constructor-options parsing for the `Logger` class. Pulls the
|
|
3
|
+
* options-shape inspection (null-prototype clone, original-stdout capture,
|
|
4
|
+
* theme-name-or-object resolution) out of `./node` so the class constructor
|
|
5
|
+
* stays a thin shell over `parseLoggerOptions`. Returns a normalized
|
|
6
|
+
* `ParsedLoggerOptions`; the constructor copies the fields onto its private
|
|
7
|
+
* slots.
|
|
8
|
+
*/
|
|
9
|
+
import type { Theme } from '../themes/types';
|
|
10
|
+
/**
|
|
11
|
+
* The normalized result of inspecting the first `Logger` constructor argument.
|
|
12
|
+
*/
|
|
13
|
+
export interface ParsedLoggerOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Null-prototype clone of the options object (empty when no options were
|
|
16
|
+
* passed). Stored for future extensibility.
|
|
17
|
+
*/
|
|
18
|
+
options: Record<string, unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* The caller-supplied stdout stream, used by `write()` to bypass Console
|
|
21
|
+
* formatting. `undefined` when not provided.
|
|
22
|
+
*/
|
|
23
|
+
originalStdout: NodeJS.WritableStream | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* The resolved instance theme: a `THEMES` entry when a theme name was given,
|
|
26
|
+
* the object itself when a `Theme` was given, or `undefined` otherwise.
|
|
27
|
+
*/
|
|
28
|
+
theme: Theme | undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Parse the first `Logger` constructor argument into normalized option slots.
|
|
32
|
+
*
|
|
33
|
+
* A `theme` string is resolved against `THEMES` (unknown names yield no theme);
|
|
34
|
+
* a `theme` object is used directly. When the first argument is not an object,
|
|
35
|
+
* every slot defaults (empty null-prototype options, no stdout, no theme).
|
|
36
|
+
*
|
|
37
|
+
* @param args - The raw `Logger` constructor arguments.
|
|
38
|
+
*/
|
|
39
|
+
export declare function parseLoggerOptions(args: unknown[]): ParsedLoggerOptions;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_themes_themes = require('../themes/themes.js');
|
|
5
|
+
|
|
6
|
+
//#region src/logger/options.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Constructor-options parsing for the `Logger` class. Pulls the
|
|
9
|
+
* options-shape inspection (null-prototype clone, original-stdout capture,
|
|
10
|
+
* theme-name-or-object resolution) out of `./node` so the class constructor
|
|
11
|
+
* stays a thin shell over `parseLoggerOptions`. Returns a normalized
|
|
12
|
+
* `ParsedLoggerOptions`; the constructor copies the fields onto its private
|
|
13
|
+
* slots.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Parse the first `Logger` constructor argument into normalized option slots.
|
|
17
|
+
*
|
|
18
|
+
* A `theme` string is resolved against `THEMES` (unknown names yield no theme);
|
|
19
|
+
* a `theme` object is used directly. When the first argument is not an object,
|
|
20
|
+
* every slot defaults (empty null-prototype options, no stdout, no theme).
|
|
21
|
+
*
|
|
22
|
+
* @param args - The raw `Logger` constructor arguments.
|
|
23
|
+
*/
|
|
24
|
+
function parseLoggerOptions(args) {
|
|
25
|
+
const options = args[0];
|
|
26
|
+
if (typeof options !== "object" || options === null) return {
|
|
27
|
+
options: { __proto__: null },
|
|
28
|
+
originalStdout: void 0,
|
|
29
|
+
theme: void 0
|
|
30
|
+
};
|
|
31
|
+
const originalStdout = options.stdout;
|
|
32
|
+
const themeOption = options.theme;
|
|
33
|
+
let theme;
|
|
34
|
+
if (typeof themeOption === "string") theme = require_themes_themes.THEMES[themeOption] ?? void 0;
|
|
35
|
+
else if (themeOption) theme = themeOption;
|
|
36
|
+
return {
|
|
37
|
+
options: {
|
|
38
|
+
__proto__: null,
|
|
39
|
+
...options
|
|
40
|
+
},
|
|
41
|
+
originalStdout,
|
|
42
|
+
theme
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
exports.parseLoggerOptions = parseLoggerOptions;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Free-function bodies for the symbol-prefixed semantic `Logger` methods
|
|
3
|
+
* (`done`, `fail`, `info`, `skip`, `step`, `success`, `warn`). Each strips
|
|
4
|
+
* any leading status symbol from the message, re-prefixes it with the theme's
|
|
5
|
+
* colored symbol, writes to the appropriate stream (status messages to
|
|
6
|
+
* stderr, `step` to stdout), and updates the shared blank-line / call-count
|
|
7
|
+
* tracking via the exported logger symbols. Pulling these out of `./node`
|
|
8
|
+
* keeps the `Logger` class body under the file-size cap. The class retains
|
|
9
|
+
* one-line delegators that resolve `con` / `indent` / `symbols` from its
|
|
10
|
+
* private state and forward them here.
|
|
11
|
+
*/
|
|
12
|
+
import type { ConsoleLike, LoggerTrackable } from './console-methods';
|
|
13
|
+
import type { LogSymbols } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Apply a `node:console` method with the given indentation prefix on its first
|
|
16
|
+
* (string) argument.
|
|
17
|
+
*
|
|
18
|
+
* Mirrors the former private `#apply`: when the first argument is a string it
|
|
19
|
+
* is line-prefixed with `indent`; otherwise the args pass through unchanged.
|
|
20
|
+
* Tracks the blank-line state for `targetStream` and bumps the call count.
|
|
21
|
+
* Returns the logger for chaining.
|
|
22
|
+
*
|
|
23
|
+
* @param logger - The calling logger instance.
|
|
24
|
+
* @param con - The logger's resolved console instance.
|
|
25
|
+
* @param methodName - The `node:console` method to invoke (`log`, `error`,
|
|
26
|
+
* ...).
|
|
27
|
+
* @param args - The arguments forwarded to the console method.
|
|
28
|
+
* @param targetStream - The stream the method writes to.
|
|
29
|
+
* @param indent - The resolved indentation prefix for `targetStream`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function applyMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, methodName: string, args: unknown[], targetStream: 'stderr' | 'stdout', indent: string): T;
|
|
32
|
+
/**
|
|
33
|
+
* Logs a main step message with a colored arrow symbol to stdout.
|
|
34
|
+
*
|
|
35
|
+
* Strips any leading status symbol from `msg`, re-prefixes it with the theme's
|
|
36
|
+
* `step` symbol, and writes to stdout (unlike the other semantic methods, which
|
|
37
|
+
* go to stderr). The blank line before the step is handled by the caller.
|
|
38
|
+
* Returns the logger for chaining.
|
|
39
|
+
*
|
|
40
|
+
* @param logger - The calling logger instance.
|
|
41
|
+
* @param con - The logger's resolved console instance.
|
|
42
|
+
* @param indent - The resolved stdout indentation prefix.
|
|
43
|
+
* @param symbols - The logger's resolved `LogSymbols` map.
|
|
44
|
+
* @param msg - The step message to log.
|
|
45
|
+
* @param extras - Additional arguments to log.
|
|
46
|
+
*/
|
|
47
|
+
export declare function stepMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, indent: string, symbols: LogSymbols, msg: string, extras: unknown[]): T;
|
|
48
|
+
/**
|
|
49
|
+
* Strip a leading status symbol, re-prefix with the colored symbol for
|
|
50
|
+
* `symbolType`, and write to stderr.
|
|
51
|
+
*
|
|
52
|
+
* Mirrors the former private `#symbolApply`: status messages (info / fail /
|
|
53
|
+
* success / warn / skip / done) always go to stderr. Returns the logger for
|
|
54
|
+
* chaining.
|
|
55
|
+
*
|
|
56
|
+
* @param logger - The calling logger instance.
|
|
57
|
+
* @param con - The logger's resolved console instance.
|
|
58
|
+
* @param indent - The resolved stderr indentation prefix.
|
|
59
|
+
* @param symbols - The logger's resolved `LogSymbols` map.
|
|
60
|
+
* @param symbolType - The `LogSymbols` key whose symbol prefixes the message.
|
|
61
|
+
* @param args - The message and additional arguments to log.
|
|
62
|
+
*/
|
|
63
|
+
export declare function symbolApplyMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, indent: string, symbols: LogSymbols, symbolType: string, args: unknown[]): T;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_array = require('../primordials/array.js');
|
|
5
|
+
const require_primordials_reflect = require('../primordials/reflect.js');
|
|
6
|
+
const require_logger_symbols_builder = require('./symbols-builder.js');
|
|
7
|
+
const require_logger_symbols = require('./symbols.js');
|
|
8
|
+
const require_strings_format = require('../strings/format.js');
|
|
9
|
+
const require_strings_predicates = require('../strings/predicates.js');
|
|
10
|
+
|
|
11
|
+
//#region src/logger/semantic-methods.ts
|
|
12
|
+
/**
|
|
13
|
+
* @file Free-function bodies for the symbol-prefixed semantic `Logger` methods
|
|
14
|
+
* (`done`, `fail`, `info`, `skip`, `step`, `success`, `warn`). Each strips
|
|
15
|
+
* any leading status symbol from the message, re-prefixes it with the theme's
|
|
16
|
+
* colored symbol, writes to the appropriate stream (status messages to
|
|
17
|
+
* stderr, `step` to stdout), and updates the shared blank-line / call-count
|
|
18
|
+
* tracking via the exported logger symbols. Pulling these out of `./node`
|
|
19
|
+
* keeps the `Logger` class body under the file-size cap. The class retains
|
|
20
|
+
* one-line delegators that resolve `con` / `indent` / `symbols` from its
|
|
21
|
+
* private state and forward them here.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Apply a `node:console` method with the given indentation prefix on its first
|
|
25
|
+
* (string) argument.
|
|
26
|
+
*
|
|
27
|
+
* Mirrors the former private `#apply`: when the first argument is a string it
|
|
28
|
+
* is line-prefixed with `indent`; otherwise the args pass through unchanged.
|
|
29
|
+
* Tracks the blank-line state for `targetStream` and bumps the call count.
|
|
30
|
+
* Returns the logger for chaining.
|
|
31
|
+
*
|
|
32
|
+
* @param logger - The calling logger instance.
|
|
33
|
+
* @param con - The logger's resolved console instance.
|
|
34
|
+
* @param methodName - The `node:console` method to invoke (`log`, `error`,
|
|
35
|
+
* ...).
|
|
36
|
+
* @param args - The arguments forwarded to the console method.
|
|
37
|
+
* @param targetStream - The stream the method writes to.
|
|
38
|
+
* @param indent - The resolved indentation prefix for `targetStream`.
|
|
39
|
+
*/
|
|
40
|
+
function applyMethod(logger, con, methodName, args, targetStream, indent) {
|
|
41
|
+
const text = require_primordials_array.ArrayPrototypeAt(args, 0);
|
|
42
|
+
const hasText = typeof text === "string";
|
|
43
|
+
const logArgs = hasText ? [require_strings_format.applyLinePrefix(text, { prefix: indent }), ...require_primordials_array.ArrayPrototypeSlice(args, 1)] : args;
|
|
44
|
+
require_primordials_reflect.ReflectApply(con[methodName], con, logArgs);
|
|
45
|
+
logger[require_logger_symbols.lastWasBlankSymbol](hasText && require_strings_predicates.isBlankString(logArgs[0]), targetStream);
|
|
46
|
+
logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
47
|
+
return logger;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Logs a main step message with a colored arrow symbol to stdout.
|
|
51
|
+
*
|
|
52
|
+
* Strips any leading status symbol from `msg`, re-prefixes it with the theme's
|
|
53
|
+
* `step` symbol, and writes to stdout (unlike the other semantic methods, which
|
|
54
|
+
* go to stderr). The blank line before the step is handled by the caller.
|
|
55
|
+
* Returns the logger for chaining.
|
|
56
|
+
*
|
|
57
|
+
* @param logger - The calling logger instance.
|
|
58
|
+
* @param con - The logger's resolved console instance.
|
|
59
|
+
* @param indent - The resolved stdout indentation prefix.
|
|
60
|
+
* @param symbols - The logger's resolved `LogSymbols` map.
|
|
61
|
+
* @param msg - The step message to log.
|
|
62
|
+
* @param extras - Additional arguments to log.
|
|
63
|
+
*/
|
|
64
|
+
function stepMethod(logger, con, indent, symbols, msg, extras) {
|
|
65
|
+
const text = require_logger_symbols_builder.stripLoggerSymbols(msg);
|
|
66
|
+
con.log(require_strings_format.applyLinePrefix(`${symbols.step} ${text}`, { prefix: indent }), ...extras);
|
|
67
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false, "stdout");
|
|
68
|
+
logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
69
|
+
return logger;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Strip a leading status symbol, re-prefix with the colored symbol for
|
|
73
|
+
* `symbolType`, and write to stderr.
|
|
74
|
+
*
|
|
75
|
+
* Mirrors the former private `#symbolApply`: status messages (info / fail /
|
|
76
|
+
* success / warn / skip / done) always go to stderr. Returns the logger for
|
|
77
|
+
* chaining.
|
|
78
|
+
*
|
|
79
|
+
* @param logger - The calling logger instance.
|
|
80
|
+
* @param con - The logger's resolved console instance.
|
|
81
|
+
* @param indent - The resolved stderr indentation prefix.
|
|
82
|
+
* @param symbols - The logger's resolved `LogSymbols` map.
|
|
83
|
+
* @param symbolType - The `LogSymbols` key whose symbol prefixes the message.
|
|
84
|
+
* @param args - The message and additional arguments to log.
|
|
85
|
+
*/
|
|
86
|
+
function symbolApplyMethod(logger, con, indent, symbols, symbolType, args) {
|
|
87
|
+
let text = args[0];
|
|
88
|
+
let extras;
|
|
89
|
+
/* c8 ignore start - text-non-string arm fires only when caller passes
|
|
90
|
+
an object as the first argument; tests always pass a string. */
|
|
91
|
+
if (typeof text === "string") {
|
|
92
|
+
text = require_logger_symbols_builder.stripLoggerSymbols(text);
|
|
93
|
+
extras = args.slice(1);
|
|
94
|
+
} else {
|
|
95
|
+
extras = args;
|
|
96
|
+
text = "";
|
|
97
|
+
}
|
|
98
|
+
/* c8 ignore stop */
|
|
99
|
+
con.error(require_strings_format.applyLinePrefix(`${symbols[symbolType]} ${text}`, { prefix: indent }), ...extras);
|
|
100
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false, "stderr");
|
|
101
|
+
logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
102
|
+
return logger;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
//#endregion
|
|
106
|
+
exports.applyMethod = applyMethod;
|
|
107
|
+
exports.stepMethod = stepMethod;
|
|
108
|
+
exports.symbolApplyMethod = symbolApplyMethod;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Free-function bodies for the `Logger` methods that write to or clear a
|
|
3
|
+
* raw stream rather than going through the indented `#apply` path
|
|
4
|
+
* (`clearLine`, `clearVisible`, `progress`, `write`). Each takes the calling
|
|
5
|
+
* logger plus the already-resolved `node:console` instance and whatever
|
|
6
|
+
* stream / symbol state it needs, then updates the shared blank-line /
|
|
7
|
+
* call-count tracking via the exported logger symbols. Pulling these out of
|
|
8
|
+
* `./node` keeps the `Logger` class body under the file-size cap; the class
|
|
9
|
+
* retains one-line delegators that resolve the arguments from its private
|
|
10
|
+
* state.
|
|
11
|
+
*/
|
|
12
|
+
import type { ConsoleLike, LoggerTrackable } from './console-methods';
|
|
13
|
+
import type { LogSymbols } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Clears the current terminal line on the logger's target stream (TTY and
|
|
16
|
+
* non-TTY). Useful after `progress()`. Returns the logger for chaining.
|
|
17
|
+
*
|
|
18
|
+
* @param logger - The calling logger instance.
|
|
19
|
+
* @param con - The logger's resolved console instance.
|
|
20
|
+
* @param stream - The target stream to clear.
|
|
21
|
+
*/
|
|
22
|
+
export declare function clearLineMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, stream: 'stderr' | 'stdout'): T;
|
|
23
|
+
/**
|
|
24
|
+
* Clears the visible terminal screen. Only valid on the main (non-stream-bound)
|
|
25
|
+
* logger. When the underlying stdout is a TTY, resets blank-line tracking and
|
|
26
|
+
* invokes `resetCount` to zero the log-call counter. Returns the logger for
|
|
27
|
+
* chaining.
|
|
28
|
+
*
|
|
29
|
+
* @param logger - The calling logger instance.
|
|
30
|
+
* @param con - The logger's resolved console instance.
|
|
31
|
+
* @param boundStream - The logger's bound stream, or `undefined` on the root.
|
|
32
|
+
* @param resetCount - Callback that zeroes the logger's log-call counter.
|
|
33
|
+
*
|
|
34
|
+
* @throws {Error} If called on a stream-bound logger instance.
|
|
35
|
+
*/
|
|
36
|
+
export declare function clearVisibleMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, boundStream: 'stderr' | 'stdout' | undefined, resetCount: () => void): T;
|
|
37
|
+
/**
|
|
38
|
+
* Shows a progress indicator (a `∴`-prefixed status message) that can be
|
|
39
|
+
* cleared with `clearLine()`. Always clears the current line first so repeated
|
|
40
|
+
* `progress(...)` calls redraw cleanly. Returns the logger for chaining.
|
|
41
|
+
*
|
|
42
|
+
* @param logger - The calling logger instance.
|
|
43
|
+
* @param con - The logger's resolved console instance.
|
|
44
|
+
* @param stream - The target stream to write to.
|
|
45
|
+
* @param symbols - The logger's resolved `LogSymbols` map.
|
|
46
|
+
* @param text - The progress message to display.
|
|
47
|
+
*/
|
|
48
|
+
export declare function progressMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, stream: 'stderr' | 'stdout', symbols: LogSymbols, text: string): T;
|
|
49
|
+
/**
|
|
50
|
+
* Writes text directly to the original stdout stream, bypassing Console
|
|
51
|
+
* formatting and applying no indentation. Returns the logger for chaining.
|
|
52
|
+
*
|
|
53
|
+
* The original stdout is resolved with a three-way fallback: the seeded
|
|
54
|
+
* `originalStdout`, then the constructor args' `stdout`, then the Console's
|
|
55
|
+
* internal `_stdout` slot.
|
|
56
|
+
*
|
|
57
|
+
* @param logger - The calling logger instance.
|
|
58
|
+
* @param con - The logger's resolved console instance.
|
|
59
|
+
* @param originalStdout - The stdout seeded at construction, if any.
|
|
60
|
+
* @param ctorArgs - The logger's stored constructor args.
|
|
61
|
+
* @param text - The text to write.
|
|
62
|
+
*/
|
|
63
|
+
export declare function writeMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, originalStdout: NodeJS.WritableStream | undefined, ctorArgs: unknown[], text: string): T;
|
|
@@ -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_logger_symbols = require('./symbols.js');
|
|
6
|
+
const require_logger_stream = require('./stream.js');
|
|
7
|
+
|
|
8
|
+
//#region src/logger/stream-methods.ts
|
|
9
|
+
/**
|
|
10
|
+
* @file Free-function bodies for the `Logger` methods that write to or clear a
|
|
11
|
+
* raw stream rather than going through the indented `#apply` path
|
|
12
|
+
* (`clearLine`, `clearVisible`, `progress`, `write`). Each takes the calling
|
|
13
|
+
* logger plus the already-resolved `node:console` instance and whatever
|
|
14
|
+
* stream / symbol state it needs, then updates the shared blank-line /
|
|
15
|
+
* call-count tracking via the exported logger symbols. Pulling these out of
|
|
16
|
+
* `./node` keeps the `Logger` class body under the file-size cap; the class
|
|
17
|
+
* retains one-line delegators that resolve the arguments from its private
|
|
18
|
+
* state.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Clears the current terminal line on the logger's target stream (TTY and
|
|
22
|
+
* non-TTY). Useful after `progress()`. Returns the logger for chaining.
|
|
23
|
+
*
|
|
24
|
+
* @param logger - The calling logger instance.
|
|
25
|
+
* @param con - The logger's resolved console instance.
|
|
26
|
+
* @param stream - The target stream to clear.
|
|
27
|
+
*/
|
|
28
|
+
function clearLineMethod(logger, con, stream) {
|
|
29
|
+
require_logger_stream.clearTerminalLine(require_logger_stream.resolveWriteStream(con, stream));
|
|
30
|
+
return logger;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Clears the visible terminal screen. Only valid on the main (non-stream-bound)
|
|
34
|
+
* logger. When the underlying stdout is a TTY, resets blank-line tracking and
|
|
35
|
+
* invokes `resetCount` to zero the log-call counter. Returns the logger for
|
|
36
|
+
* chaining.
|
|
37
|
+
*
|
|
38
|
+
* @param logger - The calling logger instance.
|
|
39
|
+
* @param con - The logger's resolved console instance.
|
|
40
|
+
* @param boundStream - The logger's bound stream, or `undefined` on the root.
|
|
41
|
+
* @param resetCount - Callback that zeroes the logger's log-call counter.
|
|
42
|
+
*
|
|
43
|
+
* @throws {Error} If called on a stream-bound logger instance.
|
|
44
|
+
*/
|
|
45
|
+
function clearVisibleMethod(logger, con, boundStream, resetCount) {
|
|
46
|
+
/* c8 ignore start - clearVisible TTY-mode behavior; tests use non-TTY
|
|
47
|
+
capture streams so the bound-stream throw and TTY clear branches
|
|
48
|
+
aren't reached. */
|
|
49
|
+
if (boundStream) throw new require_primordials_error.ErrorCtor("clearVisible() is only available on the main logger instance, not on stream-bound instances");
|
|
50
|
+
con.clear();
|
|
51
|
+
if (con["_stdout"].isTTY) {
|
|
52
|
+
logger[require_logger_symbols.lastWasBlankSymbol](true);
|
|
53
|
+
resetCount();
|
|
54
|
+
}
|
|
55
|
+
return logger;
|
|
56
|
+
/* c8 ignore stop */
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Shows a progress indicator (a `∴`-prefixed status message) that can be
|
|
60
|
+
* cleared with `clearLine()`. Always clears the current line first so repeated
|
|
61
|
+
* `progress(...)` calls redraw cleanly. Returns the logger for chaining.
|
|
62
|
+
*
|
|
63
|
+
* @param logger - The calling logger instance.
|
|
64
|
+
* @param con - The logger's resolved console instance.
|
|
65
|
+
* @param stream - The target stream to write to.
|
|
66
|
+
* @param symbols - The logger's resolved `LogSymbols` map.
|
|
67
|
+
* @param text - The progress message to display.
|
|
68
|
+
*/
|
|
69
|
+
function progressMethod(logger, con, stream, symbols, text) {
|
|
70
|
+
const streamObj = require_logger_stream.resolveWriteStream(con, stream);
|
|
71
|
+
require_logger_stream.clearTerminalLine(streamObj);
|
|
72
|
+
streamObj.write(`${symbols.progress} ${text}`);
|
|
73
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
74
|
+
return logger;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Writes text directly to the original stdout stream, bypassing Console
|
|
78
|
+
* formatting and applying no indentation. Returns the logger for chaining.
|
|
79
|
+
*
|
|
80
|
+
* The original stdout is resolved with a three-way fallback: the seeded
|
|
81
|
+
* `originalStdout`, then the constructor args' `stdout`, then the Console's
|
|
82
|
+
* internal `_stdout` slot.
|
|
83
|
+
*
|
|
84
|
+
* @param logger - The calling logger instance.
|
|
85
|
+
* @param con - The logger's resolved console instance.
|
|
86
|
+
* @param originalStdout - The stdout seeded at construction, if any.
|
|
87
|
+
* @param ctorArgs - The logger's stored constructor args.
|
|
88
|
+
* @param text - The text to write.
|
|
89
|
+
*/
|
|
90
|
+
function writeMethod(logger, con, originalStdout, ctorArgs, text) {
|
|
91
|
+
/* c8 ignore stop */
|
|
92
|
+
(originalStdout || ctorArgs[0]?.stdout || con._stdout).write(text);
|
|
93
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
94
|
+
return logger;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
//#endregion
|
|
98
|
+
exports.clearLineMethod = clearLineMethod;
|
|
99
|
+
exports.clearVisibleMethod = clearVisibleMethod;
|
|
100
|
+
exports.progressMethod = progressMethod;
|
|
101
|
+
exports.writeMethod = writeMethod;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Terminal stream resolution + line-clearing helpers shared by the
|
|
3
|
+
* Node-side `Logger` methods that write directly to a stream (`clearLine`,
|
|
4
|
+
* `clearVisible`, `progress`). The Logger's `node:console` instance keeps its
|
|
5
|
+
* underlying writable streams on the internal `_stderr` / `_stdout` symbols;
|
|
6
|
+
* these helpers resolve the right one for a given target stream and
|
|
7
|
+
* centralize the TTY-vs-non-TTY clear sequence (`cursorTo(0) + clearLine(0)`
|
|
8
|
+
* on a TTY, `\r\x1b[K` fallback elsewhere — which still works in CI logs).
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Clear the current line on a writable stream. Uses `cursorTo(0) +
|
|
12
|
+
* clearLine(0)` on a TTY and falls back to `\r\x1b[K` otherwise so the same
|
|
13
|
+
* call redraws cleanly in both interactive terminals and CI logs.
|
|
14
|
+
*
|
|
15
|
+
* @param streamObj - The resolved writable stream to clear.
|
|
16
|
+
*/
|
|
17
|
+
export declare function clearTerminalLine(streamObj: WriteStreamLike): void;
|
|
18
|
+
/**
|
|
19
|
+
* Subset of `NodeJS.WriteStream` the logger needs for direct, cursor-aware
|
|
20
|
+
* writes. Modeled as a structural shape so the cast off the console's internal
|
|
21
|
+
* `_stderr` / `_stdout` slots stays explicit.
|
|
22
|
+
*/
|
|
23
|
+
export interface WriteStreamLike {
|
|
24
|
+
isTTY: boolean;
|
|
25
|
+
cursorTo: (x: number) => void;
|
|
26
|
+
clearLine: (dir: number) => void;
|
|
27
|
+
write: (text: string) => boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Resolve the underlying writable stream for a target stream from a console
|
|
31
|
+
* instance, casting from the console's internal `_stderr` / `_stdout` slots to
|
|
32
|
+
* the cursor-aware shape the logger writes to directly.
|
|
33
|
+
*
|
|
34
|
+
* @param con - The console instance exposing `_stderr` / `_stdout`.
|
|
35
|
+
* @param stream - Which target stream to resolve.
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveWriteStream(con: Record<string, unknown>, stream: 'stderr' | 'stdout'): WriteStreamLike;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
//#region src/logger/stream.ts
|
|
6
|
+
/**
|
|
7
|
+
* @file Terminal stream resolution + line-clearing helpers shared by the
|
|
8
|
+
* Node-side `Logger` methods that write directly to a stream (`clearLine`,
|
|
9
|
+
* `clearVisible`, `progress`). The Logger's `node:console` instance keeps its
|
|
10
|
+
* underlying writable streams on the internal `_stderr` / `_stdout` symbols;
|
|
11
|
+
* these helpers resolve the right one for a given target stream and
|
|
12
|
+
* centralize the TTY-vs-non-TTY clear sequence (`cursorTo(0) + clearLine(0)`
|
|
13
|
+
* on a TTY, `\r\x1b[K` fallback elsewhere — which still works in CI logs).
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Clear the current line on a writable stream. Uses `cursorTo(0) +
|
|
17
|
+
* clearLine(0)` on a TTY and falls back to `\r\x1b[K` otherwise so the same
|
|
18
|
+
* call redraws cleanly in both interactive terminals and CI logs.
|
|
19
|
+
*
|
|
20
|
+
* @param streamObj - The resolved writable stream to clear.
|
|
21
|
+
*/
|
|
22
|
+
function clearTerminalLine(streamObj) {
|
|
23
|
+
if (streamObj.isTTY) {
|
|
24
|
+
streamObj.cursorTo(0);
|
|
25
|
+
streamObj.clearLine(0);
|
|
26
|
+
} else streamObj.write("\r\x1B[K");
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolve the underlying writable stream for a target stream from a console
|
|
30
|
+
* instance, casting from the console's internal `_stderr` / `_stdout` slots to
|
|
31
|
+
* the cursor-aware shape the logger writes to directly.
|
|
32
|
+
*
|
|
33
|
+
* @param con - The console instance exposing `_stderr` / `_stdout`.
|
|
34
|
+
* @param stream - Which target stream to resolve.
|
|
35
|
+
*/
|
|
36
|
+
function resolveWriteStream(con, stream) {
|
|
37
|
+
return stream === "stderr" ? con["_stderr"] : con["_stdout"];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//#endregion
|
|
41
|
+
exports.clearTerminalLine = clearTerminalLine;
|
|
42
|
+
exports.resolveWriteStream = resolveWriteStream;
|
|
@@ -26,18 +26,18 @@ src_external__socketregistry_is_unicode_supported = require_runtime.__toESM(src_
|
|
|
26
26
|
*/
|
|
27
27
|
function buildLoggerSymbols(theme) {
|
|
28
28
|
const supported = (0, src_external__socketregistry_is_unicode_supported.default)();
|
|
29
|
-
const colors =
|
|
29
|
+
const colors = require_logger_colors.getYoctocolors();
|
|
30
30
|
/* c8 ignore start - ASCII-fallback symbol arms only fire on
|
|
31
31
|
terminals without unicode support; tests run on unicode TTYs. */
|
|
32
32
|
return {
|
|
33
33
|
__proto__: null,
|
|
34
|
-
fail:
|
|
35
|
-
info:
|
|
36
|
-
progress:
|
|
37
|
-
skip:
|
|
38
|
-
step:
|
|
39
|
-
success:
|
|
40
|
-
warn:
|
|
34
|
+
fail: require_logger_colors.applyColor(supported ? "✖" : "×", theme.colors.error, colors),
|
|
35
|
+
info: require_logger_colors.applyColor(supported ? "ℹ" : "i", theme.colors.info, colors),
|
|
36
|
+
progress: require_logger_colors.applyColor(supported ? "∴" : ":.", theme.colors.step, colors),
|
|
37
|
+
skip: require_logger_colors.applyColor(supported ? "↻" : "@", theme.colors.step, colors),
|
|
38
|
+
step: require_logger_colors.applyColor(supported ? "→" : ">", theme.colors.step, colors),
|
|
39
|
+
success: require_logger_colors.applyColor(supported ? "✔" : "√", theme.colors.success, colors),
|
|
40
|
+
warn: require_logger_colors.applyColor(supported ? "⚠" : "‼", theme.colors.warning, colors)
|
|
41
41
|
};
|
|
42
42
|
/* c8 ignore stop */
|
|
43
43
|
}
|
|
@@ -51,7 +51,7 @@ function buildLoggerSymbols(theme) {
|
|
|
51
51
|
* input becomes `'Done'`.
|
|
52
52
|
*/
|
|
53
53
|
function stripLoggerSymbols(text) {
|
|
54
|
-
return require_primordials_string.StringPrototypeReplace(text, /^(
|
|
54
|
+
return require_primordials_string.StringPrototypeReplace(text, /^(?::.|[✖✗×⚠‼✔✓√ℹ→∴↻])[️\s]*/u, "");
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
//#endregion
|
package/dist/logger/symbols.d.ts
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
* are configured) and re-renders whenever `setTheme()` fires
|
|
9
9
|
* `onThemeChange`.
|
|
10
10
|
*/
|
|
11
|
+
export declare function createLogSymbols(): Record<string, string>;
|
|
12
|
+
export declare function createLogSymbolsProxyPlaceholder(): void;
|
|
11
13
|
/**
|
|
12
14
|
* Lazily get console symbols on first access.
|
|
13
15
|
*
|
|
@@ -33,29 +35,4 @@ export declare const incLogCallCountSymbol: unique symbol;
|
|
|
33
35
|
* determine whether to add spacing before certain messages.
|
|
34
36
|
*/
|
|
35
37
|
export declare const lastWasBlankSymbol: unique symbol;
|
|
36
|
-
/**
|
|
37
|
-
* Log symbols for terminal output with colored indicators.
|
|
38
|
-
*
|
|
39
|
-
* Provides colored Unicode symbols (✖, ℹ, ∴, →, ✔, ⚠) with ASCII fallbacks (×,
|
|
40
|
-
* i, :., >, √, ‼) for terminals that don't support Unicode. Symbols are colored
|
|
41
|
-
* according to the active theme's color palette (error, info, reason, step,
|
|
42
|
-
* success, warning).
|
|
43
|
-
*
|
|
44
|
-
* The symbols are lazily initialized on first access and automatically update
|
|
45
|
-
* when the fallback theme changes (via setTheme()). Note that LOG_SYMBOLS
|
|
46
|
-
* reflect the global fallback theme, not async-local theme contexts from
|
|
47
|
-
* withTheme().
|
|
48
|
-
*
|
|
49
|
-
* @example
|
|
50
|
-
* ```typescript
|
|
51
|
-
* import { LOG_SYMBOLS } from '@socketsecurity/lib/logger/symbols'
|
|
52
|
-
*
|
|
53
|
-
* console.log(`${LOG_SYMBOLS.fail} Build failed`) // Theme error color ✖
|
|
54
|
-
* console.log(`${LOG_SYMBOLS.info} Starting process`) // Theme info color ℹ
|
|
55
|
-
* console.log(`${LOG_SYMBOLS.progress} Working on task`) // Theme step color ∴
|
|
56
|
-
* console.log(`${LOG_SYMBOLS.step} Processing files`) // Theme step color →
|
|
57
|
-
* console.log(`${LOG_SYMBOLS.success} Build completed`) // Theme success color ✔
|
|
58
|
-
* console.log(`${LOG_SYMBOLS.warn} Deprecated API used`) // Theme warning color ⚠
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
38
|
export declare const LOG_SYMBOLS: Record<string, string>;
|