@socketsecurity/lib 6.0.5 → 6.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/dist/ai/discover.d.mts +2 -2
- package/dist/ai/discover.js +6 -4
- package/dist/ai/spawn.js +10 -6
- package/dist/ai/types.d.mts +18 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +12 -7
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +6 -6
- package/dist/archives/zip.js +4 -6
- package/dist/argv/flag-predicates.d.ts +12 -12
- package/dist/argv/flag-predicates.js +17 -17
- package/dist/argv/flag-types.d.ts +18 -18
- package/dist/argv/flag-types.js +4 -4
- package/dist/argv/parse.d.ts +1 -1
- package/dist/arrays/_internal.js +11 -12
- package/dist/arrays/chunk.js +0 -1
- package/dist/arrays/join.d.ts +37 -3
- package/dist/arrays/join.js +43 -7
- package/dist/arrays/unique.js +0 -1
- package/dist/bin/_internal.d.ts +1 -1
- package/dist/bin/_internal.js +1 -1
- package/dist/bin/acorn-bindgen.cjs +769 -0
- package/dist/bin/acorn.wasm +0 -0
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +13 -13
- package/dist/bin/prim.cjs +39244 -0
- package/dist/bin/resolve.js +12 -13
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +5 -5
- package/dist/checks/primordials-defaults.d.ts +3 -3
- package/dist/checks/primordials-defaults.js +3 -3
- package/dist/checks/primordials.js +4 -3
- package/dist/{bin → cli}/check-primordials.d.ts +11 -11
- package/dist/{bin → cli}/check-primordials.js +56 -52
- package/dist/{bin → cli}/check.js +6 -5
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +20 -19
- package/dist/compression/brotli.d.ts +25 -25
- package/dist/compression/brotli.js +37 -44
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +44 -52
- package/dist/constants/agents.d.ts +3 -1
- package/dist/constants/agents.js +15 -11
- package/dist/constants/licenses.js +3 -3
- package/dist/constants/node.d.ts +23 -0
- package/dist/constants/node.js +47 -15
- package/dist/constants/packages.js +22 -28
- package/dist/constants/platform.d.ts +30 -3
- package/dist/constants/platform.js +72 -12
- package/dist/constants/runtime.d.ts +22 -0
- package/dist/constants/runtime.js +32 -0
- package/dist/constants/socket.js +1 -1
- package/dist/cover/code.js +8 -8
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +26 -1
- package/dist/crypto/hash.js +43 -12
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +2 -3
- package/dist/debug/namespace.d.ts +7 -0
- package/dist/debug/namespace.js +21 -12
- package/dist/debug/output.js +21 -24
- package/dist/debug/types.d.ts +4 -4
- package/dist/dlx/arborist.js +6 -6
- package/dist/dlx/binary-cache.js +14 -14
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +14 -13
- package/dist/dlx/binary-resolution.js +16 -14
- package/dist/dlx/binary-types.d.ts +5 -5
- package/dist/dlx/binary.js +5 -5
- package/dist/dlx/cache.js +1 -1
- package/dist/dlx/detect.d.ts +34 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +16 -16
- package/dist/dlx/manifest.d.ts +6 -6
- package/dist/dlx/manifest.js +5 -5
- package/dist/dlx/package.d.ts +10 -10
- package/dist/dlx/package.js +16 -16
- package/dist/dlx/packages.js +4 -4
- package/dist/dlx/paths.js +7 -7
- package/dist/dlx/spec.js +1 -1
- package/dist/dlx/types.d.ts +28 -27
- package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
- package/dist/eco/cargo/parse-lockfile.js +2 -2
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +4 -4
- package/dist/eco/manifest/find-packages.js +2 -2
- package/dist/eco/manifest/get-package-versions.js +2 -2
- package/dist/eco/manifest/get-package.js +2 -2
- package/dist/eco/manifest/parse-lockfile.js +2 -2
- package/dist/eco/manifest/parse-manifest.js +2 -2
- package/dist/eco/manifest/parse.js +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/npm/flags.js +7 -12
- package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
- package/dist/eco/npm/npm/parse-lockfile.js +3 -3
- package/dist/eco/npm/parse-package-json.js +3 -3
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/pnpm/exec.js +5 -5
- package/dist/eco/npm/pnpm/flags.js +0 -3
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
- package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
- package/dist/effects/pulse-frames.d.ts +3 -1
- package/dist/effects/shimmer-keyframes.d.ts +1 -1
- package/dist/effects/shimmer-terminal.d.ts +1 -1
- package/dist/env/boolean.js +0 -1
- package/dist/env/ci.js +0 -1
- package/dist/env/debug.js +0 -1
- package/dist/env/github-status.d.ts +51 -0
- package/dist/env/github-status.js +90 -0
- package/dist/env/github.js +0 -8
- package/dist/env/home.js +0 -1
- package/dist/env/locale.js +0 -3
- package/dist/env/node-auth-token.js +0 -1
- package/dist/env/node-env.js +0 -1
- package/dist/env/node-version-managers.d.ts +53 -0
- package/dist/env/node-version-managers.js +90 -0
- package/dist/env/npm.js +0 -5
- package/dist/env/number.js +0 -1
- package/dist/env/package-manager.js +3 -6
- package/dist/env/path.js +0 -1
- package/dist/env/pre-commit.js +1 -2
- package/dist/env/rewire.d.ts +7 -6
- package/dist/env/rewire.js +15 -16
- package/dist/env/shell.js +0 -1
- package/dist/env/socket-cli.js +5 -18
- package/dist/env/socket-mcp.d.ts +114 -0
- package/dist/env/socket-mcp.js +146 -0
- package/dist/env/socket.d.ts +1 -109
- package/dist/env/socket.js +12 -166
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/events/exit/_internal.d.ts +11 -9
- package/dist/events/exit/_internal.js +31 -35
- package/dist/events/exit/handler.js +3 -4
- package/dist/events/exit/intercept.js +4 -6
- package/dist/events/exit/lifecycle.js +16 -18
- package/dist/events/exit/signals.js +1 -2
- package/dist/events/exit/types.d.ts +6 -5
- package/dist/external/@npmcli/package-json.js +2 -2
- package/dist/external/@sinclair/typebox/value.js +5 -1
- package/dist/external/@sinclair/typebox.js +5 -1
- package/dist/external/@socketregistry/packageurl-js.js +27 -0
- package/dist/external/npm-pack.js +2 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/resolve.js +2 -1
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/resolve.js +2 -1
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +1 -1
- package/dist/external-tools/from-download.js +1 -1
- package/dist/external-tools/from-pip-venv.d.ts +73 -0
- package/dist/external-tools/from-pip-venv.js +98 -0
- package/dist/external-tools/janus/asset-names.js +1 -1
- package/dist/external-tools/janus/from-download.js +3 -5
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/resolve.js +2 -1
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
- package/dist/external-tools/jre/detect-platform-arch.js +29 -14
- package/dist/external-tools/jre/from-download.js +2 -1
- package/dist/external-tools/jre/from-vfs.js +1 -1
- package/dist/external-tools/jre/resolve.js +2 -1
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +7 -7
- package/dist/external-tools/manifest.js +18 -16
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/resolve.js +2 -1
- package/dist/external-tools/opengrep/types.d.ts +1 -1
- package/dist/external-tools/python/asset-names.d.ts +76 -0
- package/dist/external-tools/python/asset-names.js +104 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +87 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +68 -0
- package/dist/external-tools/python/from-path.d.ts +7 -0
- package/dist/external-tools/python/from-path.js +23 -0
- package/dist/external-tools/python/pin.d.ts +121 -0
- package/dist/external-tools/python/pin.js +173 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +139 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +58 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/resolve.js +2 -1
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.d.ts +24 -0
- package/dist/external-tools/skillspector/from-dlx.js +41 -0
- package/dist/external-tools/skillspector/from-path.d.ts +8 -0
- package/dist/external-tools/skillspector/from-path.js +30 -0
- package/dist/external-tools/skillspector/from-vfs.d.ts +8 -0
- package/dist/external-tools/skillspector/from-vfs.js +27 -0
- package/dist/external-tools/skillspector/resolve.d.ts +34 -0
- package/dist/external-tools/skillspector/resolve.js +53 -0
- package/dist/external-tools/skillspector/types.d.ts +24 -0
- package/dist/external-tools/skillspector/types.js +2 -0
- package/dist/external-tools/synp/from-download.js +2 -2
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/synp/resolve.js +2 -1
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/resolve.js +2 -1
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/resolve.js +2 -1
- package/dist/external-tools/trufflehog/types.d.ts +1 -1
- package/dist/fs/_internal.d.ts +1 -1
- package/dist/fs/_internal.js +7 -7
- package/dist/fs/access.js +5 -9
- package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +11 -13
- package/dist/fs/inspect.js +7 -13
- package/dist/fs/read-dir.js +7 -10
- package/dist/fs/read-file.js +8 -14
- package/dist/fs/read-json-cache.d.ts +6 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +1 -1
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +12 -13
- package/dist/fs/unique.js +4 -5
- package/dist/fs/validate.js +1 -2
- package/dist/fs/write-json.js +4 -5
- package/dist/git/_internal.js +12 -11
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +3 -3
- package/dist/git/staged.js +4 -4
- package/dist/git/unstaged.js +4 -4
- package/dist/github/ghsa.js +2 -2
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +5 -5
- package/dist/github/refs-rest.js +5 -5
- package/dist/github/{fetch.js → request.js} +13 -2
- package/dist/github/token.js +1 -1
- package/dist/github/types.d.ts +1 -1
- package/dist/globs/_internal.js +7 -9
- package/dist/globs/match.js +6 -7
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +12 -14
- package/dist/globs/stream.js +1 -2
- package/dist/globs/types.d.ts +24 -24
- package/dist/http-request/_internal.d.ts +1 -1
- package/dist/http-request/browser.js +21 -13
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +4 -4
- package/dist/http-request/headers.d.ts +32 -3
- package/dist/http-request/headers.js +41 -13
- package/dist/http-request/request-attempt.js +38 -33
- package/dist/http-request/request-types.d.ts +7 -2
- package/dist/http-request/request.js +33 -16
- package/dist/http-request/response-reader.d.ts +12 -1
- package/dist/http-request/response-reader.js +22 -2
- package/dist/http-request/user-agent.js +3 -4
- package/dist/integrity.d.ts +86 -18
- package/dist/integrity.js +119 -30
- package/dist/ipc/directory.js +2 -2
- package/dist/ipc/paths.js +1 -1
- package/dist/ipc/write.js +1 -1
- package/dist/ipc-cli/get.js +12 -12
- package/dist/json/edit.js +13 -14
- package/dist/json/format.js +2 -2
- package/dist/json/parse.d.ts +1 -1
- package/dist/json/parse.js +3 -7
- package/dist/logger/_internal.d.ts +4 -4
- package/dist/logger/_internal.js +3 -3
- package/dist/logger/colors.js +4 -3
- package/dist/logger/console-methods.d.ts +132 -0
- package/dist/logger/console-methods.js +169 -0
- package/dist/logger/console.d.ts +12 -0
- package/dist/logger/console.js +42 -11
- package/dist/logger/indentation-methods.d.ts +81 -0
- package/dist/logger/indentation-methods.js +121 -0
- package/dist/logger/node.d.ts +16 -338
- package/dist/logger/node.js +75 -608
- package/dist/logger/options.d.ts +39 -0
- package/dist/logger/options.js +47 -0
- package/dist/logger/semantic-methods.d.ts +63 -0
- package/dist/logger/semantic-methods.js +108 -0
- package/dist/logger/stream-methods.d.ts +63 -0
- package/dist/logger/stream-methods.js +101 -0
- package/dist/logger/stream.d.ts +37 -0
- package/dist/logger/stream.js +42 -0
- package/dist/logger/symbols-builder.js +9 -9
- package/dist/logger/symbols.d.ts +2 -25
- package/dist/logger/symbols.js +53 -74
- package/dist/logger/types.d.ts +1 -1
- package/dist/memo/types.d.ts +6 -6
- package/dist/native-messaging/host.d.ts +20 -0
- package/dist/native-messaging/host.js +120 -0
- package/dist/native-messaging/index.d.ts +5 -0
- package/dist/native-messaging/index.js +22 -0
- package/dist/native-messaging/install.d.ts +60 -0
- package/dist/native-messaging/install.js +141 -0
- package/dist/native-messaging/rate-limit.d.ts +62 -0
- package/dist/native-messaging/rate-limit.js +115 -0
- package/dist/native-messaging/run.d.ts +10 -0
- package/dist/native-messaging/run.js +17 -0
- package/dist/node/async-hooks.js +4 -3
- package/dist/node/child-process.js +4 -3
- package/dist/node/crypto.js +4 -3
- package/dist/node/events.js +4 -3
- package/dist/node/fs-promises.js +4 -3
- package/dist/node/fs.js +4 -3
- package/dist/node/http.js +4 -3
- package/dist/node/https.js +4 -3
- package/dist/node/module.js +10 -6
- package/dist/node/os.js +4 -3
- package/dist/node/path.js +4 -3
- package/dist/node/timers-promises.js +4 -3
- package/dist/node/url.js +4 -3
- package/dist/node/util.js +4 -3
- package/dist/objects/getters.js +5 -7
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +2 -3
- package/dist/objects/predicates.js +0 -4
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.js +15 -16
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +11 -17
- package/dist/packages/fetch.d.ts +16 -0
- package/dist/packages/fetch.js +81 -0
- package/dist/packages/find.d.ts +55 -0
- package/dist/packages/find.js +65 -0
- package/dist/packages/isolation.js +14 -14
- package/dist/packages/licenses.js +16 -16
- package/dist/packages/manifest.js +12 -15
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +5 -9
- package/dist/packages/provenance.d.ts +6 -0
- package/dist/packages/provenance.js +25 -18
- package/dist/packages/read.d.ts +29 -0
- package/dist/packages/read.js +66 -0
- package/dist/packages/specs.d.ts +48 -1
- package/dist/packages/specs.js +74 -11
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +79 -0
- package/dist/packages/types.d.ts +21 -20
- package/dist/packages/validation.js +0 -3
- package/dist/paths/_internal.d.ts +2 -1
- package/dist/paths/_internal.js +7 -19
- package/dist/paths/conversion.js +5 -9
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +6 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +11 -14
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.js +16 -16
- package/dist/paths/walk.d.ts +1 -1
- package/dist/paths/walk.js +4 -4
- package/dist/perf/report.js +2 -2
- package/dist/perf/types.d.ts +1 -1
- package/dist/pkg-ext/data.js +1 -1
- package/dist/primordials/array.js +9 -9
- package/dist/primordials/date.js +2 -2
- package/dist/primordials/error.js +3 -3
- package/dist/primordials/headers.d.ts +10 -0
- package/dist/primordials/headers.js +23 -0
- package/dist/primordials/intl.d.ts +13 -0
- package/dist/primordials/intl.js +26 -0
- package/dist/primordials/math.js +33 -33
- package/dist/primordials/number.js +9 -9
- package/dist/primordials/object.js +5 -5
- package/dist/primordials/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- package/dist/primordials/uncurry.js +9 -9
- package/dist/process/abort.js +3 -3
- package/dist/process/lock-manager.js +8 -8
- package/dist/process/spawn/_internal.js +6 -8
- package/dist/process/spawn/child.js +14 -14
- package/dist/process/spawn/errors.js +2 -4
- package/dist/process/spawn/kill-tree.d.ts +53 -0
- package/dist/process/spawn/kill-tree.js +85 -0
- package/dist/process/spawn/stdio.js +0 -1
- package/dist/process/spawn/types.d.ts +5 -5
- package/dist/process/transient.js +2 -2
- package/dist/promises/_internal.d.ts +2 -1
- package/dist/promises/_internal.js +2 -6
- package/dist/promises/iterate.js +12 -16
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +2 -2
- package/dist/releases/github-asset-url.d.ts +1 -1
- package/dist/releases/github-asset-url.js +5 -5
- package/dist/releases/github-downloads.d.ts +1 -1
- package/dist/releases/github-downloads.js +3 -3
- package/dist/releases/github-listing.d.ts +11 -2
- package/dist/releases/github-listing.js +20 -7
- package/dist/releases/github-retry-config.js +1 -1
- package/dist/releases/github-types.d.ts +6 -6
- package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
- package/dist/releases/socket-btm-binary-naming.js +155 -0
- package/dist/releases/socket-btm.d.ts +8 -115
- package/dist/releases/socket-btm.js +16 -159
- package/dist/schema/types.d.ts +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +5 -4
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/keychain.js +9 -6
- package/dist/secrets/linux.js +25 -23
- package/dist/secrets/macos.d.ts +1 -1
- package/dist/secrets/macos.js +18 -16
- package/dist/secrets/rc.d.ts +2 -2
- package/dist/secrets/rc.js +15 -10
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +18 -9
- package/dist/secrets/windows.js +21 -17
- package/dist/shadow/skip.js +2 -2
- package/dist/shell/parse.d.ts +108 -1
- package/dist/shell/parse.js +168 -2
- package/dist/smol/detect.js +9 -10
- package/dist/smol/http.js +6 -7
- package/dist/smol/https.js +6 -7
- package/dist/smol/manifest.d.ts +1 -1
- package/dist/smol/manifest.js +6 -7
- package/dist/smol/path.d.ts +1 -1
- package/dist/smol/path.js +7 -8
- package/dist/smol/primordial.d.ts +4 -0
- package/dist/smol/primordial.js +6 -7
- package/dist/smol/purl.d.ts +1 -1
- package/dist/smol/purl.js +7 -8
- package/dist/smol/versions.js +6 -7
- package/dist/smol/vfs.js +6 -7
- package/dist/sorts/_internal.js +6 -8
- package/dist/sorts/natural.js +10 -12
- package/dist/sorts/semver.js +1 -2
- package/dist/sorts/strings.js +0 -1
- package/dist/sorts/types.d.ts +1 -1
- package/dist/spinner/create-spinner-class.d.ts +38 -0
- package/dist/spinner/create-spinner-class.js +302 -0
- package/dist/spinner/default.js +8 -9
- package/dist/spinner/spinner-internals.d.ts +36 -0
- package/dist/spinner/spinner-internals.js +101 -0
- package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
- package/dist/spinner/spinner-shimmer-methods.js +143 -0
- package/dist/spinner/spinner-status-methods.d.ts +40 -0
- package/dist/spinner/spinner-status-methods.js +133 -0
- package/dist/spinner/spinner.d.ts +4 -5
- package/dist/spinner/spinner.js +18 -705
- package/dist/spinner/types.d.ts +3 -1
- package/dist/spinner/with.d.ts +10 -0
- package/dist/spinner/with.js +16 -2
- package/dist/stdio/divider.js +1 -1
- package/dist/stdio/footer.js +3 -3
- package/dist/stdio/header.js +4 -4
- package/dist/stdio/progress.js +5 -5
- package/dist/stdio/prompts.d.ts +5 -3
- package/dist/stdio/prompts.js +6 -7
- package/dist/stdio/stdout.js +3 -3
- package/dist/streams/parallel.js +3 -5
- package/dist/streams/transform.js +2 -3
- package/dist/strings/format.js +2 -6
- package/dist/strings/predicates.js +0 -2
- package/dist/strings/search.js +1 -2
- package/dist/strings/transform.js +0 -3
- package/dist/strings/width.js +9 -10
- package/dist/tables/bordered.js +4 -3
- package/dist/tables/padding.js +1 -1
- package/dist/tables/simple.js +8 -5
- package/dist/temporal/instant.js +4 -2
- package/dist/temporal/slots.js +7 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.js +1 -2
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +5 -5
- package/dist/versions/_internal.js +3 -3
- package/dist/words/article.js +0 -1
- package/dist/words/capitalize.js +0 -1
- package/dist/words/pluralize.d.ts +24 -2
- package/dist/words/pluralize.js +47 -2
- package/dist/words/types.d.ts +25 -2
- package/package.json +289 -108
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -52
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/http-request/checksums.d.ts +0 -69
- package/dist/http-request/checksums.js +0 -108
- package/dist/http-request/http-request.d.ts +0 -12
- package/dist/http-request/http-request.js +0 -11
- package/dist/packages/operations.d.ts +0 -113
- package/dist/packages/operations.js +0 -304
- package/dist/ssri/convert.d.ts +0 -48
- package/dist/ssri/convert.js +0 -69
- package/dist/ssri/parse.d.ts +0 -27
- package/dist/ssri/parse.js +0 -41
- package/dist/ssri/validate.d.ts +0 -41
- package/dist/ssri/validate.js +0 -56
- /package/dist/{bin → cli}/check.d.ts +0 -0
- /package/dist/external-tools/{uv → python}/types.js +0 -0
- /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
- /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
package/dist/logger/node.js
CHANGED
|
@@ -1,43 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
const require_runtime = require('../_virtual/_rolldown/runtime.js');
|
|
5
|
-
const require_primordials_error = require('../primordials/error.js');
|
|
6
|
-
const require_primordials_math = require('../primordials/math.js');
|
|
7
|
-
const require_primordials_array = require('../primordials/array.js');
|
|
8
4
|
const require_primordials_reflect = require('../primordials/reflect.js');
|
|
9
|
-
const require_strings_format = require('../strings/format.js');
|
|
10
|
-
const require_strings_predicates = require('../strings/predicates.js');
|
|
11
|
-
const require_themes_themes = require('../themes/themes.js');
|
|
12
5
|
const require_themes_context = require('../themes/context.js');
|
|
13
6
|
const require_logger__internal = require('./_internal.js');
|
|
14
7
|
const require_logger_symbols_builder = require('./symbols-builder.js');
|
|
15
8
|
const require_logger_symbols = require('./symbols.js');
|
|
16
9
|
const require_logger_console = require('./console.js');
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
const require_logger_console_methods = require('./console-methods.js');
|
|
11
|
+
const require_logger_indentation_methods = require('./indentation-methods.js');
|
|
12
|
+
const require_logger_options = require('./options.js');
|
|
13
|
+
const require_logger_semantic_methods = require('./semantic-methods.js');
|
|
14
|
+
const require_logger_stream_methods = require('./stream-methods.js');
|
|
19
15
|
|
|
20
16
|
//#region src/logger/node.ts
|
|
21
17
|
/**
|
|
22
|
-
* @file Node-side `Logger` class — owns
|
|
23
|
-
* stream, indent buffers, theme)
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* `#getConsole()`. This lets the logger be imported during early Node.js
|
|
33
|
-
* bootstrap before stdout is ready, avoiding `ERR_CONSOLE_WRITABLE_STREAM`.
|
|
34
|
-
* Free helpers live in sibling leaves (per `socket-lib`'s
|
|
35
|
-
* export-top-level-functions rule):
|
|
36
|
-
*
|
|
37
|
-
* - color helpers — `./colors` (`applyColor`, `getYoctocolors`)
|
|
38
|
-
* - log symbols + symbol getters — `./symbols`
|
|
39
|
-
* - lazy console init + prototype mirror — `./console-init`
|
|
40
|
-
* - shared private state — `./_internal`
|
|
18
|
+
* @file Node-side `Logger` class — owns per-instance state (parent, bound
|
|
19
|
+
* stream, indent buffers, theme) and exposes the public surface as thin
|
|
20
|
+
* delegators over sibling free-function leaves. Console construction is lazy:
|
|
21
|
+
* the constructor stashes its args in `_internal.privateConstructorArgs` and
|
|
22
|
+
* the `node:console` instance is built on first `#getConsole()`, so the
|
|
23
|
+
* logger can be imported during early Node.js bootstrap before stdout is
|
|
24
|
+
* ready (avoiding `ERR_CONSOLE_WRITABLE_STREAM`). Method bodies live in the
|
|
25
|
+
* leaves: `./console-methods`, `./semantic-methods`, `./indentation-methods`,
|
|
26
|
+
* `./stream-methods`, `./console`, `./options`, `./symbols`,
|
|
27
|
+
* `./symbols-builder`, `./_internal`.
|
|
41
28
|
*/
|
|
42
29
|
/**
|
|
43
30
|
* Enhanced console logger with indentation, colored symbols, and stream
|
|
@@ -61,260 +48,93 @@ var Logger = class Logger {
|
|
|
61
48
|
#originalStdout;
|
|
62
49
|
#theme;
|
|
63
50
|
/**
|
|
64
|
-
* Creates a new Logger
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* `process.stdout` and `process.stderr` streams. Can accept custom console
|
|
68
|
-
* constructor arguments for advanced use cases.
|
|
51
|
+
* Creates a new Logger. With no args it uses the default `process.stdout` /
|
|
52
|
+
* `process.stderr`; an options object customizes stream / theme. See
|
|
53
|
+
* {@link parseLoggerOptions}.
|
|
69
54
|
*
|
|
70
55
|
* @param args - Optional console constructor arguments.
|
|
71
56
|
*/
|
|
72
57
|
constructor(...args) {
|
|
73
58
|
require_logger__internal.privateConstructorArgs.set(this, args);
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
...options
|
|
79
|
-
};
|
|
80
|
-
this.#originalStdout = options.stdout;
|
|
81
|
-
const themeOption = options.theme;
|
|
82
|
-
if (themeOption) if (typeof themeOption === "string") {
|
|
83
|
-
const resolved = require_themes_themes.THEMES[themeOption];
|
|
84
|
-
if (resolved) this.#theme = resolved;
|
|
85
|
-
} else this.#theme = themeOption;
|
|
86
|
-
} else this.#options = { __proto__: null };
|
|
59
|
+
const parsed = require_logger_options.parseLoggerOptions(args);
|
|
60
|
+
this.#options = parsed.options;
|
|
61
|
+
this.#originalStdout = parsed.originalStdout;
|
|
62
|
+
this.#theme = parsed.theme;
|
|
87
63
|
}
|
|
88
|
-
/**
|
|
89
|
-
* Apply a console method with indentation.
|
|
90
|
-
*
|
|
91
|
-
* @private
|
|
92
|
-
*/
|
|
93
64
|
#apply(methodName, args, stream) {
|
|
94
|
-
const con = this.#getConsole();
|
|
95
|
-
const text = require_primordials_array.ArrayPrototypeAt(args, 0);
|
|
96
|
-
const hasText = typeof text === "string";
|
|
97
65
|
const targetStream = stream || (methodName === "log" ? "stdout" : "stderr");
|
|
98
|
-
|
|
99
|
-
const logArgs = hasText ? [/* @__PURE__ */ require_strings_format.applyLinePrefix(text, { prefix: indent }), ...require_primordials_array.ArrayPrototypeSlice(args, 1)] : args;
|
|
100
|
-
require_primordials_reflect.ReflectApply(con[methodName], con, logArgs);
|
|
101
|
-
this[require_logger_symbols.lastWasBlankSymbol](hasText && /* @__PURE__ */ require_strings_predicates.isBlankString(logArgs[0]), targetStream);
|
|
102
|
-
this[require_logger_symbols.incLogCallCountSymbol]();
|
|
103
|
-
return this;
|
|
66
|
+
return require_logger_semantic_methods.applyMethod(this, this.#getConsole(), methodName, args, targetStream, this.#getIndent(targetStream));
|
|
104
67
|
}
|
|
105
|
-
/**
|
|
106
|
-
* Get the Console instance for this logger, creating it lazily on first
|
|
107
|
-
* access.
|
|
108
|
-
*
|
|
109
|
-
* This lazy initialization allows the logger to be imported during early
|
|
110
|
-
* Node.js bootstrap before stdout is ready, avoiding Console initialization
|
|
111
|
-
* errors (ERR_CONSOLE_WRITABLE_STREAM).
|
|
112
|
-
*
|
|
113
|
-
* @private
|
|
114
|
-
*/
|
|
115
68
|
#getConsole() {
|
|
116
|
-
require_logger_console.
|
|
117
|
-
let con = require_logger__internal.privateConsole.get(this);
|
|
118
|
-
/* c8 ignore start */
|
|
119
|
-
if (!con) {
|
|
120
|
-
const ctorArgs = require_logger__internal.privateConstructorArgs.get(this) ?? [];
|
|
121
|
-
if (ctorArgs.length) con = /* @__PURE__ */ require_logger_console.constructConsole(...ctorArgs);
|
|
122
|
-
else {
|
|
123
|
-
con = /* @__PURE__ */ require_logger_console.constructConsole({
|
|
124
|
-
stdout: node_process.default.stdout,
|
|
125
|
-
stderr: node_process.default.stderr
|
|
126
|
-
});
|
|
127
|
-
for (const { 0: key, 1: method } of require_logger__internal.boundConsoleEntries) con[key] = method;
|
|
128
|
-
}
|
|
129
|
-
require_logger__internal.privateConsole.set(this, con);
|
|
130
|
-
require_logger__internal.privateConstructorArgs.delete(this);
|
|
131
|
-
}
|
|
132
|
-
/* c8 ignore stop */
|
|
133
|
-
return con;
|
|
69
|
+
return require_logger_console.resolveConsole(this);
|
|
134
70
|
}
|
|
135
|
-
/**
|
|
136
|
-
* Get indentation for a specific stream.
|
|
137
|
-
*
|
|
138
|
-
* @private
|
|
139
|
-
*/
|
|
140
71
|
#getIndent(stream) {
|
|
141
72
|
const root = this.#getRoot();
|
|
142
73
|
return stream === "stderr" ? root.#stderrIndention : root.#stdoutIndention;
|
|
143
74
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Get lastWasBlank state for a specific stream.
|
|
146
|
-
*
|
|
147
|
-
* @private
|
|
148
|
-
*/
|
|
149
75
|
#getLastWasBlank(stream) {
|
|
150
76
|
const root = this.#getRoot();
|
|
151
77
|
return stream === "stderr" ? root.#stderrLastWasBlank : root.#stdoutLastWasBlank;
|
|
152
78
|
}
|
|
153
|
-
/**
|
|
154
|
-
* Get the root logger (for accessing shared indentation state).
|
|
155
|
-
*
|
|
156
|
-
* @private
|
|
157
|
-
*/
|
|
158
79
|
#getRoot() {
|
|
159
80
|
return this.#parent || this;
|
|
160
81
|
}
|
|
161
|
-
/**
|
|
162
|
-
* Get logger-specific symbols using the resolved theme.
|
|
163
|
-
*
|
|
164
|
-
* @private
|
|
165
|
-
*/
|
|
166
82
|
#getSymbols() {
|
|
167
83
|
return require_logger_symbols_builder.buildLoggerSymbols(this.#getTheme());
|
|
168
84
|
}
|
|
169
|
-
/**
|
|
170
|
-
* Get the target stream for this logger instance.
|
|
171
|
-
*
|
|
172
|
-
* @private
|
|
173
|
-
*/
|
|
174
85
|
#getTargetStream() {
|
|
175
86
|
return this.#boundStream || "stderr";
|
|
176
87
|
}
|
|
177
|
-
/**
|
|
178
|
-
* Get the resolved theme for this logger instance. Returns instance theme if
|
|
179
|
-
* set, otherwise falls back to context theme.
|
|
180
|
-
*
|
|
181
|
-
* @private
|
|
182
|
-
*/
|
|
183
88
|
#getTheme() {
|
|
184
89
|
return this.#theme ?? require_themes_context.getTheme();
|
|
185
90
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
91
|
+
#indentCtx() {
|
|
92
|
+
return {
|
|
93
|
+
boundStream: this.#boundStream,
|
|
94
|
+
getIndent: (stream) => this.#getIndent(stream),
|
|
95
|
+
setIndent: (stream, value) => this.#setIndent(stream, value)
|
|
96
|
+
};
|
|
97
|
+
}
|
|
191
98
|
#setIndent(stream, value) {
|
|
192
99
|
const root = this.#getRoot();
|
|
193
100
|
if (stream === "stderr") root.#stderrIndention = value;
|
|
194
101
|
else root.#stdoutIndention = value;
|
|
195
102
|
}
|
|
196
|
-
/**
|
|
197
|
-
* Set lastWasBlank state for a specific stream.
|
|
198
|
-
*
|
|
199
|
-
* @private
|
|
200
|
-
*/
|
|
201
103
|
#setLastWasBlank(stream, value) {
|
|
202
104
|
const root = this.#getRoot();
|
|
203
105
|
if (stream === "stderr") root.#stderrLastWasBlank = value;
|
|
204
106
|
else root.#stdoutLastWasBlank = value;
|
|
205
107
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
108
|
+
#streamChild(stream) {
|
|
109
|
+
const instance = new Logger(...require_logger__internal.privateConstructorArgs.get(this) ?? []);
|
|
110
|
+
instance.#parent = this;
|
|
111
|
+
instance.#boundStream = stream;
|
|
112
|
+
instance.#options = {
|
|
113
|
+
__proto__: null,
|
|
114
|
+
...this.#options
|
|
115
|
+
};
|
|
116
|
+
if (this.#theme) instance.#theme = this.#theme;
|
|
117
|
+
return instance;
|
|
213
118
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
*
|
|
217
|
-
* @private
|
|
218
|
-
*/
|
|
219
|
-
#symbolApply(symbolType, args) {
|
|
220
|
-
const con = this.#getConsole();
|
|
221
|
-
let text = require_primordials_array.ArrayPrototypeAt(args, 0);
|
|
222
|
-
let extras;
|
|
223
|
-
/* c8 ignore start */
|
|
224
|
-
if (typeof text === "string") {
|
|
225
|
-
text = this.#stripSymbols(text);
|
|
226
|
-
extras = require_primordials_array.ArrayPrototypeSlice(args, 1);
|
|
227
|
-
} else {
|
|
228
|
-
extras = args;
|
|
229
|
-
text = "";
|
|
230
|
-
}
|
|
231
|
-
/* c8 ignore stop */
|
|
232
|
-
const indent = this.#getIndent("stderr");
|
|
233
|
-
const symbols = this.#getSymbols();
|
|
234
|
-
con.error(/* @__PURE__ */ require_strings_format.applyLinePrefix(`${symbols[symbolType]} ${text}`, { prefix: indent }), ...extras);
|
|
235
|
-
this[require_logger_symbols.lastWasBlankSymbol](false, "stderr");
|
|
236
|
-
this[require_logger_symbols.incLogCallCountSymbol]();
|
|
237
|
-
return this;
|
|
119
|
+
#symbol(symbolType, args) {
|
|
120
|
+
return require_logger_semantic_methods.symbolApplyMethod(this, this.#getConsole(), this.#getIndent("stderr"), this.#getSymbols(), symbolType, args);
|
|
238
121
|
}
|
|
239
|
-
/**
|
|
240
|
-
* Gets a logger instance bound exclusively to stderr.
|
|
241
|
-
*
|
|
242
|
-
* All logging operations on this instance will write to stderr only.
|
|
243
|
-
* Indentation is tracked separately from stdout. The instance is cached and
|
|
244
|
-
* reused on subsequent accesses.
|
|
245
|
-
*
|
|
246
|
-
* @returns A logger instance bound to stderr
|
|
247
|
-
*/
|
|
248
122
|
get stderr() {
|
|
249
|
-
if (!this.#stderrLogger)
|
|
250
|
-
const instance = new Logger(...require_logger__internal.privateConstructorArgs.get(this) ?? []);
|
|
251
|
-
instance.#parent = this;
|
|
252
|
-
instance.#boundStream = "stderr";
|
|
253
|
-
instance.#options = {
|
|
254
|
-
__proto__: null,
|
|
255
|
-
...this.#options
|
|
256
|
-
};
|
|
257
|
-
if (this.#theme) instance.#theme = this.#theme;
|
|
258
|
-
this.#stderrLogger = instance;
|
|
259
|
-
}
|
|
123
|
+
if (!this.#stderrLogger) this.#stderrLogger = this.#streamChild("stderr");
|
|
260
124
|
return this.#stderrLogger;
|
|
261
125
|
}
|
|
262
|
-
/**
|
|
263
|
-
* Gets a logger instance bound exclusively to stdout.
|
|
264
|
-
*
|
|
265
|
-
* All logging operations on this instance will write to stdout only.
|
|
266
|
-
* Indentation is tracked separately from stderr. The instance is cached and
|
|
267
|
-
* reused on subsequent accesses.
|
|
268
|
-
*
|
|
269
|
-
* @returns A logger instance bound to stdout
|
|
270
|
-
*/
|
|
271
126
|
get stdout() {
|
|
272
|
-
if (!this.#stdoutLogger)
|
|
273
|
-
const instance = new Logger(...require_logger__internal.privateConstructorArgs.get(this) ?? []);
|
|
274
|
-
instance.#parent = this;
|
|
275
|
-
instance.#boundStream = "stdout";
|
|
276
|
-
instance.#options = {
|
|
277
|
-
__proto__: null,
|
|
278
|
-
...this.#options
|
|
279
|
-
};
|
|
280
|
-
if (this.#theme) instance.#theme = this.#theme;
|
|
281
|
-
this.#stdoutLogger = instance;
|
|
282
|
-
}
|
|
127
|
+
if (!this.#stdoutLogger) this.#stdoutLogger = this.#streamChild("stdout");
|
|
283
128
|
return this.#stdoutLogger;
|
|
284
129
|
}
|
|
285
|
-
/**
|
|
286
|
-
* Gets the total number of log calls made on this logger instance.
|
|
287
|
-
*
|
|
288
|
-
* Tracks all logging method calls including `log()`, `error()`, `warn()`,
|
|
289
|
-
* `success()`, `fail()`, etc. Useful for testing and monitoring logging
|
|
290
|
-
* activity.
|
|
291
|
-
*
|
|
292
|
-
* @returns The number of times logging methods have been called
|
|
293
|
-
*/
|
|
294
130
|
get logCallCount() {
|
|
295
131
|
return this.#getRoot().#logCallCount;
|
|
296
132
|
}
|
|
297
|
-
/**
|
|
298
|
-
* Increments the internal log call counter.
|
|
299
|
-
*
|
|
300
|
-
* This is called automatically by logging methods and should not be called
|
|
301
|
-
* directly in normal usage.
|
|
302
|
-
*/
|
|
303
133
|
[require_logger_symbols.incLogCallCountSymbol]() {
|
|
304
134
|
const root = this.#getRoot();
|
|
305
135
|
root.#logCallCount += 1;
|
|
306
136
|
return this;
|
|
307
137
|
}
|
|
308
|
-
/**
|
|
309
|
-
* Sets whether the last logged line was blank.
|
|
310
|
-
*
|
|
311
|
-
* Used internally to track blank lines and prevent duplicate spacing. This is
|
|
312
|
-
* called automatically by logging methods.
|
|
313
|
-
*
|
|
314
|
-
* @param value - Whether the last line was blank.
|
|
315
|
-
* @param stream - Optional stream to update (defaults to both streams if not
|
|
316
|
-
* bound, or target stream if bound)
|
|
317
|
-
*/
|
|
318
138
|
[require_logger_symbols.lastWasBlankSymbol](value, stream) {
|
|
319
139
|
if (stream) this.#setLastWasBlank(stream, !!value);
|
|
320
140
|
else if (this.#boundStream) this.#setLastWasBlank(this.#boundStream, !!value);
|
|
@@ -324,87 +144,27 @@ var Logger = class Logger {
|
|
|
324
144
|
}
|
|
325
145
|
return this;
|
|
326
146
|
}
|
|
327
|
-
/**
|
|
328
|
-
* Logs an assertion failure message if the value is falsy.
|
|
329
|
-
*
|
|
330
|
-
* Works like `console.assert()` but returns the logger for chaining. If the
|
|
331
|
-
* value is truthy, nothing is logged. If falsy, logs an error message with an
|
|
332
|
-
* assertion failure.
|
|
333
|
-
*
|
|
334
|
-
* @param value - The value to test.
|
|
335
|
-
* @param message - Optional message and additional arguments to log.
|
|
336
|
-
*/
|
|
337
147
|
assert(value, ...message) {
|
|
338
|
-
this.#getConsole()
|
|
339
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
340
|
-
return value ? this : this[require_logger_symbols.incLogCallCountSymbol]();
|
|
148
|
+
return require_logger_console_methods.assertMethod(this, this.#getConsole(), value, message);
|
|
341
149
|
}
|
|
342
|
-
/**
|
|
343
|
-
* Clears the current line in the terminal.
|
|
344
|
-
*
|
|
345
|
-
* Moves the cursor to the beginning of the line and clears all content. Works
|
|
346
|
-
* in both TTY and non-TTY environments. Useful for clearing progress
|
|
347
|
-
* indicators created with `progress()`.
|
|
348
|
-
*
|
|
349
|
-
* The stream to clear (stderr or stdout) depends on whether the logger is
|
|
350
|
-
* stream-bound.
|
|
351
|
-
*/
|
|
352
150
|
clearLine() {
|
|
353
|
-
|
|
354
|
-
const streamObj = this.#getTargetStream() === "stderr" ? con["_stderr"] : con["_stdout"];
|
|
355
|
-
if (streamObj.isTTY) {
|
|
356
|
-
streamObj.cursorTo(0);
|
|
357
|
-
streamObj.clearLine(0);
|
|
358
|
-
} else streamObj.write("\r\x1B[K");
|
|
359
|
-
return this;
|
|
151
|
+
return require_logger_stream_methods.clearLineMethod(this, this.#getConsole(), this.#getTargetStream());
|
|
360
152
|
}
|
|
361
|
-
/**
|
|
362
|
-
* Clears the visible terminal screen.
|
|
363
|
-
*
|
|
364
|
-
* Only available on the main logger instance, not on stream-bound instances
|
|
365
|
-
* (`.stderr` or `.stdout`). Resets the log call count and blank line tracking
|
|
366
|
-
* if the output is a TTY.
|
|
367
|
-
*
|
|
368
|
-
* @throws {Error} If called on a stream-bound logger instance
|
|
369
|
-
*/
|
|
370
153
|
clearVisible() {
|
|
371
|
-
|
|
372
|
-
non-TTY capture streams so the bound-stream throw and TTY
|
|
373
|
-
clear branches aren't reached. */
|
|
374
|
-
if (this.#boundStream) throw new require_primordials_error.ErrorCtor("clearVisible() is only available on the main logger instance, not on stream-bound instances");
|
|
375
|
-
const con = this.#getConsole();
|
|
376
|
-
con.clear();
|
|
377
|
-
if (con._stdout.isTTY) {
|
|
378
|
-
this[require_logger_symbols.lastWasBlankSymbol](true);
|
|
154
|
+
return require_logger_stream_methods.clearVisibleMethod(this, this.#getConsole(), this.#boundStream, () => {
|
|
379
155
|
this.#logCallCount = 0;
|
|
380
|
-
}
|
|
381
|
-
return this;
|
|
382
|
-
/* c8 ignore stop */
|
|
156
|
+
});
|
|
383
157
|
}
|
|
384
|
-
/**
|
|
385
|
-
* Increments and logs a counter for the given label.
|
|
386
|
-
*
|
|
387
|
-
* Each unique label maintains its own counter. Works like `console.count()`.
|
|
388
|
-
*
|
|
389
|
-
* @default 'default'
|
|
390
|
-
*
|
|
391
|
-
* @param label - Optional label for the counter.
|
|
392
|
-
*/
|
|
393
158
|
count(label) {
|
|
394
|
-
this.#getConsole()
|
|
395
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
396
|
-
return this[require_logger_symbols.incLogCallCountSymbol]();
|
|
159
|
+
return require_logger_console_methods.countMethod(this, this.#getConsole(), label);
|
|
397
160
|
}
|
|
398
161
|
/**
|
|
399
|
-
* Creates a task
|
|
400
|
-
*
|
|
401
|
-
* Returns a task object with a `run()` method that executes the provided
|
|
402
|
-
* function and logs "Starting task: {name}" before execution and "Completed
|
|
403
|
-
* task: {name}" after completion.
|
|
162
|
+
* Creates a task whose `run()` logs "Starting task: {name}" before running
|
|
163
|
+
* the provided function and "Completed task: {name}" after.
|
|
404
164
|
*
|
|
405
165
|
* @param name - The name of the task.
|
|
406
166
|
*
|
|
407
|
-
* @returns A task object with a `run()` method
|
|
167
|
+
* @returns A task object with a `run()` method.
|
|
408
168
|
*/
|
|
409
169
|
createTask(name) {
|
|
410
170
|
return { run: (f) => {
|
|
@@ -414,380 +174,87 @@ var Logger = class Logger {
|
|
|
414
174
|
return result;
|
|
415
175
|
} };
|
|
416
176
|
}
|
|
417
|
-
/**
|
|
418
|
-
* Decreases the indentation level by removing spaces from the prefix.
|
|
419
|
-
*
|
|
420
|
-
* When called on the main logger, affects both stderr and stdout indentation.
|
|
421
|
-
* When called on a stream-bound logger (`.stderr` or `.stdout`), affects only
|
|
422
|
-
* that stream's indentation.
|
|
423
|
-
*
|
|
424
|
-
* @default 2
|
|
425
|
-
*/
|
|
426
177
|
dedent(spaces = 2) {
|
|
427
|
-
|
|
428
|
-
const current = this.#getIndent(this.#boundStream);
|
|
429
|
-
this.#setIndent(this.#boundStream, current.slice(0, -spaces));
|
|
430
|
-
} else {
|
|
431
|
-
const stderrCurrent = this.#getIndent("stderr");
|
|
432
|
-
const stdoutCurrent = this.#getIndent("stdout");
|
|
433
|
-
this.#setIndent("stderr", stderrCurrent.slice(0, -spaces));
|
|
434
|
-
this.#setIndent("stdout", stdoutCurrent.slice(0, -spaces));
|
|
435
|
-
}
|
|
436
|
-
return this;
|
|
178
|
+
return require_logger_indentation_methods.dedentMethod(this, this.#indentCtx(), spaces);
|
|
437
179
|
}
|
|
438
|
-
/**
|
|
439
|
-
* Displays an object's properties in a formatted way.
|
|
440
|
-
*
|
|
441
|
-
* Works like `console.dir()` with customizable options for depth, colors,
|
|
442
|
-
* etc. Useful for inspecting complex objects.
|
|
443
|
-
*
|
|
444
|
-
* @param obj - The object to display.
|
|
445
|
-
* @param options - Optional formatting options (Node.js inspect options)
|
|
446
|
-
*/
|
|
447
180
|
dir(obj, options) {
|
|
448
|
-
this.#getConsole()
|
|
449
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
450
|
-
return this[require_logger_symbols.incLogCallCountSymbol]();
|
|
181
|
+
return require_logger_console_methods.dirMethod(this, this.#getConsole(), obj, options);
|
|
451
182
|
}
|
|
452
|
-
/**
|
|
453
|
-
* Displays data as XML/HTML in a formatted way.
|
|
454
|
-
*
|
|
455
|
-
* Works like `console.dirxml()`. In Node.js, behaves the same as `dir()`.
|
|
456
|
-
*
|
|
457
|
-
* @param data - The data to display.
|
|
458
|
-
*/
|
|
459
183
|
dirxml(...data) {
|
|
460
|
-
this.#getConsole()
|
|
461
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
462
|
-
return this[require_logger_symbols.incLogCallCountSymbol]();
|
|
184
|
+
return require_logger_console_methods.dirxmlMethod(this, this.#getConsole(), data);
|
|
463
185
|
}
|
|
464
|
-
/**
|
|
465
|
-
* Logs a completion message with a success symbol (alias for `success()`).
|
|
466
|
-
*
|
|
467
|
-
* Provides semantic clarity when marking something as "done". Does NOT
|
|
468
|
-
* automatically clear the current line - call `clearLine()` first if needed
|
|
469
|
-
* after using `progress()`.
|
|
470
|
-
*/
|
|
471
186
|
done(...args) {
|
|
472
|
-
return this.#
|
|
187
|
+
return this.#symbol("success", args);
|
|
473
188
|
}
|
|
474
|
-
/**
|
|
475
|
-
* Logs an error message to stderr.
|
|
476
|
-
*
|
|
477
|
-
* Automatically applies current indentation. All arguments are formatted and
|
|
478
|
-
* logged like `console.error()`.
|
|
479
|
-
*/
|
|
480
189
|
error(...args) {
|
|
481
190
|
return this.#apply("error", args);
|
|
482
191
|
}
|
|
483
|
-
/**
|
|
484
|
-
* Logs a newline to stderr only if the last line wasn't already blank.
|
|
485
|
-
*
|
|
486
|
-
* Prevents multiple consecutive blank lines. Useful for adding spacing
|
|
487
|
-
* between sections without creating excessive whitespace.
|
|
488
|
-
*/
|
|
489
192
|
errorNewline() {
|
|
490
193
|
return this.#getLastWasBlank("stderr") ? this : this.error("");
|
|
491
194
|
}
|
|
492
|
-
/**
|
|
493
|
-
* Logs a failure message with a red colored fail symbol.
|
|
494
|
-
*
|
|
495
|
-
* Automatically prefixes the message with `LOG_SYMBOLS.fail` (red ✖). Always
|
|
496
|
-
* outputs to stderr. If the message starts with an existing symbol, it will
|
|
497
|
-
* be stripped and replaced.
|
|
498
|
-
*/
|
|
499
195
|
fail(...args) {
|
|
500
|
-
return this.#
|
|
196
|
+
return this.#symbol("fail", args);
|
|
501
197
|
}
|
|
502
|
-
/**
|
|
503
|
-
* Starts a new indented log group.
|
|
504
|
-
*
|
|
505
|
-
* If a label is provided, it's logged before increasing indentation. Groups
|
|
506
|
-
* can be nested. Each group increases indentation by the `kGroupIndentWidth`
|
|
507
|
-
* (default 2 spaces). Call `groupEnd()` to close.
|
|
508
|
-
*
|
|
509
|
-
* @param label - Optional label to display before the group.
|
|
510
|
-
*/
|
|
511
198
|
group(...label) {
|
|
512
|
-
|
|
513
|
-
if (length) require_primordials_reflect.ReflectApply(this.log, this, label);
|
|
514
|
-
this.indent(this[require_logger_symbols.getKGroupIndentationWidthSymbol()]);
|
|
515
|
-
if (length) {
|
|
516
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
517
|
-
this[require_logger_symbols.incLogCallCountSymbol]();
|
|
518
|
-
}
|
|
519
|
-
return this;
|
|
199
|
+
return require_logger_indentation_methods.groupMethod(this, label);
|
|
520
200
|
}
|
|
521
|
-
/**
|
|
522
|
-
* Starts a new collapsed log group (alias for `group()`).
|
|
523
|
-
*
|
|
524
|
-
* In browser consoles, this creates a collapsed group. In Node.js, it behaves
|
|
525
|
-
* identically to `group()`.
|
|
526
|
-
*
|
|
527
|
-
* @param label - Optional label to display before the group.
|
|
528
|
-
*/
|
|
529
201
|
groupCollapsed(...label) {
|
|
530
202
|
return require_primordials_reflect.ReflectApply(this.group, this, label);
|
|
531
203
|
}
|
|
532
|
-
/**
|
|
533
|
-
* Ends the current log group and decreases indentation.
|
|
534
|
-
*
|
|
535
|
-
* Must be called once for each `group()` or `groupCollapsed()` call to
|
|
536
|
-
* properly close the group and restore indentation.
|
|
537
|
-
*/
|
|
538
204
|
groupEnd() {
|
|
539
|
-
|
|
540
|
-
return this;
|
|
205
|
+
return require_logger_indentation_methods.groupEndMethod(this);
|
|
541
206
|
}
|
|
542
|
-
/**
|
|
543
|
-
* Increases the indentation level by adding spaces to the prefix.
|
|
544
|
-
*
|
|
545
|
-
* When called on the main logger, affects both stderr and stdout indentation.
|
|
546
|
-
* When called on a stream-bound logger (`.stderr` or `.stdout`), affects only
|
|
547
|
-
* that stream's indentation. Maximum indentation is 1000 spaces.
|
|
548
|
-
*
|
|
549
|
-
* @default 2
|
|
550
|
-
*/
|
|
551
207
|
indent(spaces = 2) {
|
|
552
|
-
|
|
553
|
-
if (this.#boundStream) {
|
|
554
|
-
const current = this.#getIndent(this.#boundStream);
|
|
555
|
-
this.#setIndent(this.#boundStream, current + spacesToAdd);
|
|
556
|
-
} else {
|
|
557
|
-
const stderrCurrent = this.#getIndent("stderr");
|
|
558
|
-
const stdoutCurrent = this.#getIndent("stdout");
|
|
559
|
-
this.#setIndent("stderr", stderrCurrent + spacesToAdd);
|
|
560
|
-
this.#setIndent("stdout", stdoutCurrent + spacesToAdd);
|
|
561
|
-
}
|
|
562
|
-
return this;
|
|
208
|
+
return require_logger_indentation_methods.indentMethod(this, this.#indentCtx(), spaces);
|
|
563
209
|
}
|
|
564
|
-
/**
|
|
565
|
-
* Logs an informational message with a blue colored info symbol.
|
|
566
|
-
*
|
|
567
|
-
* Automatically prefixes the message with `LOG_SYMBOLS.info` (blue ℹ). Always
|
|
568
|
-
* outputs to stderr. If the message starts with an existing symbol, it will
|
|
569
|
-
* be stripped and replaced.
|
|
570
|
-
*/
|
|
571
210
|
info(...args) {
|
|
572
|
-
return this.#
|
|
211
|
+
return this.#symbol("info", args);
|
|
573
212
|
}
|
|
574
|
-
/**
|
|
575
|
-
* Logs a message to stdout.
|
|
576
|
-
*
|
|
577
|
-
* Automatically applies current indentation. All arguments are formatted and
|
|
578
|
-
* logged like `console.log()`. This is the primary method for standard
|
|
579
|
-
* output.
|
|
580
|
-
*/
|
|
581
213
|
log(...args) {
|
|
582
214
|
return this.#apply("log", args);
|
|
583
215
|
}
|
|
584
|
-
/**
|
|
585
|
-
* Logs a newline to stdout only if the last line wasn't already blank.
|
|
586
|
-
*
|
|
587
|
-
* Prevents multiple consecutive blank lines. Useful for adding spacing
|
|
588
|
-
* between sections without creating excessive whitespace.
|
|
589
|
-
*/
|
|
590
216
|
logNewline() {
|
|
591
217
|
return this.#getLastWasBlank("stdout") ? this : this.log("");
|
|
592
218
|
}
|
|
593
|
-
/**
|
|
594
|
-
* Shows a progress indicator that can be cleared with `clearLine()`.
|
|
595
|
-
*
|
|
596
|
-
* Displays a simple status message with a '∴' prefix. Does not include
|
|
597
|
-
* animation or spinner. Intended to be cleared once the operation completes.
|
|
598
|
-
* The output stream (stderr or stdout) depends on whether the logger is
|
|
599
|
-
* stream-bound.
|
|
600
|
-
*
|
|
601
|
-
* Always clears the current line before writing so calling `progress(...)`
|
|
602
|
-
* twice in a row redraws cleanly, and any partially-flushed prior output on
|
|
603
|
-
* the same row gets overwritten. TTY path uses `cursorTo(0) + clearLine(0)`;
|
|
604
|
-
* non-TTY path falls back to `\r\x1b[K` (which still works in CI logs).
|
|
605
|
-
*
|
|
606
|
-
* @param text - The progress message to display.
|
|
607
|
-
*/
|
|
608
219
|
progress(text) {
|
|
609
|
-
|
|
610
|
-
const streamObj = this.#getTargetStream() === "stderr" ? con["_stderr"] : con["_stdout"];
|
|
611
|
-
if (streamObj.isTTY) {
|
|
612
|
-
streamObj.cursorTo(0);
|
|
613
|
-
streamObj.clearLine(0);
|
|
614
|
-
} else streamObj.write("\r\x1B[K");
|
|
615
|
-
const symbols = this.#getSymbols();
|
|
616
|
-
streamObj.write(`${symbols.progress} ${text}`);
|
|
617
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
618
|
-
return this;
|
|
220
|
+
return require_logger_stream_methods.progressMethod(this, this.#getConsole(), this.#getTargetStream(), this.#getSymbols(), text);
|
|
619
221
|
}
|
|
620
|
-
/**
|
|
621
|
-
* Resets all indentation to zero.
|
|
622
|
-
*
|
|
623
|
-
* When called on the main logger, resets both stderr and stdout indentation.
|
|
624
|
-
* When called on a stream-bound logger (`.stderr` or `.stdout`), resets only
|
|
625
|
-
* that stream's indentation.
|
|
626
|
-
*/
|
|
627
222
|
resetIndent() {
|
|
628
|
-
|
|
629
|
-
else {
|
|
630
|
-
this.#setIndent("stderr", "");
|
|
631
|
-
this.#setIndent("stdout", "");
|
|
632
|
-
}
|
|
633
|
-
return this;
|
|
223
|
+
return require_logger_indentation_methods.resetIndentMethod(this, this.#indentCtx());
|
|
634
224
|
}
|
|
635
|
-
/**
|
|
636
|
-
* Logs a skip message with a cyan colored skip symbol.
|
|
637
|
-
*
|
|
638
|
-
* Automatically prefixes the message with `LOG_SYMBOLS.skip` (cyan ↻). Always
|
|
639
|
-
* outputs to stderr. If the message starts with an existing symbol, it will
|
|
640
|
-
* be stripped and replaced.
|
|
641
|
-
*/
|
|
642
225
|
skip(...args) {
|
|
643
|
-
return this.#
|
|
226
|
+
return this.#symbol("skip", args);
|
|
644
227
|
}
|
|
645
|
-
/**
|
|
646
|
-
* Logs a main step message with a cyan arrow symbol and blank line before it.
|
|
647
|
-
*
|
|
648
|
-
* Automatically prefixes the message with `LOG_SYMBOLS.step` (cyan →) and
|
|
649
|
-
* adds a blank line before the message unless the last line was already
|
|
650
|
-
* blank. Useful for marking major steps in a process with clear visual
|
|
651
|
-
* separation. Always outputs to stdout. If the message starts with an
|
|
652
|
-
* existing symbol, it will be stripped and replaced.
|
|
653
|
-
*
|
|
654
|
-
* @param msg - The step message to log.
|
|
655
|
-
* @param extras - Additional arguments to log.
|
|
656
|
-
*/
|
|
657
228
|
step(msg, ...extras) {
|
|
658
229
|
if (!this.#getLastWasBlank("stdout")) this.log("");
|
|
659
|
-
|
|
660
|
-
const indent = this.#getIndent("stdout");
|
|
661
|
-
const symbols = this.#getSymbols();
|
|
662
|
-
this.#getConsole().log(/* @__PURE__ */ require_strings_format.applyLinePrefix(`${symbols.step} ${text}`, { prefix: indent }), ...extras);
|
|
663
|
-
this[require_logger_symbols.lastWasBlankSymbol](false, "stdout");
|
|
664
|
-
this[require_logger_symbols.incLogCallCountSymbol]();
|
|
665
|
-
return this;
|
|
230
|
+
return require_logger_semantic_methods.stepMethod(this, this.#getConsole(), this.#getIndent("stdout"), this.#getSymbols(), msg, extras);
|
|
666
231
|
}
|
|
667
|
-
/**
|
|
668
|
-
* Logs an indented substep message (stateless).
|
|
669
|
-
*
|
|
670
|
-
* Adds a 2-space indent to the message without affecting the logger's
|
|
671
|
-
* indentation state. Useful for showing sub-items under a main step.
|
|
672
|
-
*
|
|
673
|
-
* @param msg - The substep message to log.
|
|
674
|
-
* @param extras - Additional arguments to log.
|
|
675
|
-
*/
|
|
676
232
|
substep(msg, ...extras) {
|
|
677
|
-
|
|
678
|
-
return this.log(indentedMsg, ...extras);
|
|
233
|
+
return this.log(` ${msg}`, ...extras);
|
|
679
234
|
}
|
|
680
|
-
/**
|
|
681
|
-
* Logs a success message with a green colored success symbol.
|
|
682
|
-
*
|
|
683
|
-
* Automatically prefixes the message with `LOG_SYMBOLS.success` (green ✔).
|
|
684
|
-
* Always outputs to stderr. If the message starts with an existing symbol, it
|
|
685
|
-
* will be stripped and replaced.
|
|
686
|
-
*/
|
|
687
235
|
success(...args) {
|
|
688
|
-
return this.#
|
|
236
|
+
return this.#symbol("success", args);
|
|
689
237
|
}
|
|
690
|
-
/**
|
|
691
|
-
* Displays data in a table format.
|
|
692
|
-
*
|
|
693
|
-
* Works like `console.table()`. Accepts arrays of objects or objects with
|
|
694
|
-
* nested objects. Optionally specify which properties to include in the
|
|
695
|
-
* table.
|
|
696
|
-
*
|
|
697
|
-
* @param tabularData - The data to display as a table.
|
|
698
|
-
* @param properties - Optional array of property names to include.
|
|
699
|
-
*/
|
|
700
238
|
table(tabularData, properties) {
|
|
701
|
-
this.#getConsole()
|
|
702
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
703
|
-
return this[require_logger_symbols.incLogCallCountSymbol]();
|
|
239
|
+
return require_logger_console_methods.tableMethod(this, this.#getConsole(), tabularData, properties);
|
|
704
240
|
}
|
|
705
|
-
/**
|
|
706
|
-
* Starts a timer for measuring elapsed time.
|
|
707
|
-
*
|
|
708
|
-
* Creates a timer with the given label. Use `timeEnd()` with the same label
|
|
709
|
-
* to stop the timer and log the elapsed time, or use `timeLog()` to check the
|
|
710
|
-
* time without stopping the timer.
|
|
711
|
-
*
|
|
712
|
-
* @default 'default'
|
|
713
|
-
*
|
|
714
|
-
* @param label - Optional label for the timer.
|
|
715
|
-
*/
|
|
716
241
|
time(label) {
|
|
717
|
-
this.#getConsole()
|
|
718
|
-
return this;
|
|
242
|
+
return require_logger_console_methods.timeMethod(this, this.#getConsole(), label);
|
|
719
243
|
}
|
|
720
|
-
/**
|
|
721
|
-
* Ends a timer and logs the elapsed time.
|
|
722
|
-
*
|
|
723
|
-
* Logs the duration since `console.time()` or `logger.time()` was called with
|
|
724
|
-
* the same label. The timer is stopped and removed.
|
|
725
|
-
*
|
|
726
|
-
* @default 'default'
|
|
727
|
-
*
|
|
728
|
-
* @param label - Optional label for the timer.
|
|
729
|
-
*/
|
|
730
244
|
timeEnd(label) {
|
|
731
|
-
this.#getConsole()
|
|
732
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
733
|
-
return this[require_logger_symbols.incLogCallCountSymbol]();
|
|
245
|
+
return require_logger_console_methods.timeEndMethod(this, this.#getConsole(), label);
|
|
734
246
|
}
|
|
735
|
-
/**
|
|
736
|
-
* Logs the current value of a timer without stopping it.
|
|
737
|
-
*
|
|
738
|
-
* Logs the duration since `console.time()` was called with the same label,
|
|
739
|
-
* but keeps the timer running. Can include additional data to log alongside
|
|
740
|
-
* the time.
|
|
741
|
-
*
|
|
742
|
-
* @default 'default'
|
|
743
|
-
*
|
|
744
|
-
* @param label - Optional label for the timer.
|
|
745
|
-
* @param data - Additional data to log with the time.
|
|
746
|
-
*/
|
|
747
247
|
timeLog(label, ...data) {
|
|
748
|
-
this.#getConsole()
|
|
749
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
750
|
-
return this[require_logger_symbols.incLogCallCountSymbol]();
|
|
248
|
+
return require_logger_console_methods.timeLogMethod(this, this.#getConsole(), label, data);
|
|
751
249
|
}
|
|
752
|
-
/**
|
|
753
|
-
* Logs a stack trace to the console.
|
|
754
|
-
*
|
|
755
|
-
* Works like `console.trace()`. Shows the call stack leading to where this
|
|
756
|
-
* method was called. Useful for debugging.
|
|
757
|
-
*
|
|
758
|
-
* @param message - Optional message to display with the trace.
|
|
759
|
-
* @param args - Additional arguments to log.
|
|
760
|
-
*/
|
|
761
250
|
trace(message, ...args) {
|
|
762
|
-
this.#getConsole()
|
|
763
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
764
|
-
return this[require_logger_symbols.incLogCallCountSymbol]();
|
|
251
|
+
return require_logger_console_methods.traceMethod(this, this.#getConsole(), message, args);
|
|
765
252
|
}
|
|
766
|
-
/**
|
|
767
|
-
* Logs a warning message with a yellow colored warning symbol.
|
|
768
|
-
*
|
|
769
|
-
* Automatically prefixes the message with `LOG_SYMBOLS.warn` (yellow ⚠).
|
|
770
|
-
* Always outputs to stderr. If the message starts with an existing symbol, it
|
|
771
|
-
* will be stripped and replaced.
|
|
772
|
-
*/
|
|
773
253
|
warn(...args) {
|
|
774
|
-
return this.#
|
|
254
|
+
return this.#symbol("warn", args);
|
|
775
255
|
}
|
|
776
|
-
/**
|
|
777
|
-
* Writes text directly to stdout without a newline or indentation.
|
|
778
|
-
*
|
|
779
|
-
* Useful for progress indicators or custom formatting where you need
|
|
780
|
-
* low-level control. Does not apply any indentation or formatting.
|
|
781
|
-
*
|
|
782
|
-
* @param text - The text to write.
|
|
783
|
-
*/
|
|
784
256
|
write(text) {
|
|
785
|
-
|
|
786
|
-
const ctorArgs = require_logger__internal.privateConstructorArgs.get(this) ?? [];
|
|
787
|
-
/* c8 ignore stop */
|
|
788
|
-
(this.#originalStdout || ctorArgs[0]?.stdout || con._stdout).write(text);
|
|
789
|
-
this[require_logger_symbols.lastWasBlankSymbol](false);
|
|
790
|
-
return this;
|
|
257
|
+
return require_logger_stream_methods.writeMethod(this, this.#getConsole(), this.#originalStdout, require_logger__internal.privateConstructorArgs.get(this) ?? [], text);
|
|
791
258
|
}
|
|
792
259
|
};
|
|
793
260
|
|