@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,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Free-function bodies for the `Logger` methods that are thin, chainable
|
|
3
|
+
* mirrors of the underlying `node:console` API (`assert`, `count`, `dir`,
|
|
4
|
+
* `dirxml`, `table`, `time`, `timeEnd`, `timeLog`, `trace`). Each takes the
|
|
5
|
+
* calling logger plus its already-resolved `node:console` instance, delegates
|
|
6
|
+
* to the matching console method, updates the shared blank-line / call-count
|
|
7
|
+
* tracking via the exported logger symbols, and returns the logger for
|
|
8
|
+
* chaining. Pulling these out of `./node` keeps the `Logger` class body under
|
|
9
|
+
* the file-size cap while preserving the per-method documentation here. The
|
|
10
|
+
* class retains one-line delegators that supply `this` and
|
|
11
|
+
* `this.#getConsole()`.
|
|
12
|
+
*/
|
|
13
|
+
import { incLogCallCountSymbol, lastWasBlankSymbol } from './symbols';
|
|
14
|
+
/**
|
|
15
|
+
* The slice of `node:console` the mirror methods call into, plus the internal
|
|
16
|
+
* `_stderr` / `_stdout` slots reached elsewhere. Modeled structurally so the
|
|
17
|
+
* cast from the lazily-built per-instance Console stays explicit.
|
|
18
|
+
*/
|
|
19
|
+
export type ConsoleLike = typeof console & Record<string, unknown>;
|
|
20
|
+
/**
|
|
21
|
+
* The slice of `Logger` the mirror methods need: the two symbol-keyed tracking
|
|
22
|
+
* methods. Typed structurally to avoid a circular import with `./node`.
|
|
23
|
+
*/
|
|
24
|
+
export interface LoggerTrackable {
|
|
25
|
+
[incLogCallCountSymbol](): LoggerTrackable;
|
|
26
|
+
[lastWasBlankSymbol](value: unknown, stream?: 'stderr' | 'stdout'): unknown;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Logs an assertion failure message if the value is falsy.
|
|
30
|
+
*
|
|
31
|
+
* Works like `console.assert()` but returns the logger for chaining. If the
|
|
32
|
+
* value is truthy, nothing is logged. If falsy, logs an error message with an
|
|
33
|
+
* assertion failure.
|
|
34
|
+
*
|
|
35
|
+
* @param logger - The calling logger instance.
|
|
36
|
+
* @param con - The logger's resolved console instance.
|
|
37
|
+
* @param value - The value to test.
|
|
38
|
+
* @param message - Optional message and additional arguments to log.
|
|
39
|
+
*/
|
|
40
|
+
export declare function assertMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, value: unknown, message: unknown[]): T;
|
|
41
|
+
/**
|
|
42
|
+
* Increments and logs a counter for the given label.
|
|
43
|
+
*
|
|
44
|
+
* Each unique label maintains its own counter. Works like `console.count()`.
|
|
45
|
+
*
|
|
46
|
+
* @param logger - The calling logger instance.
|
|
47
|
+
* @param con - The logger's resolved console instance.
|
|
48
|
+
* @param label - Optional label for the counter (defaults to 'default').
|
|
49
|
+
*/
|
|
50
|
+
export declare function countMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, label?: string | undefined): T;
|
|
51
|
+
/**
|
|
52
|
+
* Displays an object's properties in a formatted way.
|
|
53
|
+
*
|
|
54
|
+
* Works like `console.dir()` with customizable options for depth, colors, etc.
|
|
55
|
+
* Useful for inspecting complex objects.
|
|
56
|
+
*
|
|
57
|
+
* @param logger - The calling logger instance.
|
|
58
|
+
* @param con - The logger's resolved console instance.
|
|
59
|
+
* @param obj - The object to display.
|
|
60
|
+
* @param options - Optional formatting options (Node.js inspect options).
|
|
61
|
+
*/
|
|
62
|
+
export declare function dirMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, obj: unknown, options?: unknown | undefined): T;
|
|
63
|
+
/**
|
|
64
|
+
* Displays data as XML/HTML in a formatted way.
|
|
65
|
+
*
|
|
66
|
+
* Works like `console.dirxml()`. In Node.js, behaves the same as `dir()`.
|
|
67
|
+
*
|
|
68
|
+
* @param logger - The calling logger instance.
|
|
69
|
+
* @param con - The logger's resolved console instance.
|
|
70
|
+
* @param data - The data to display.
|
|
71
|
+
*/
|
|
72
|
+
export declare function dirxmlMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, data: unknown[]): T;
|
|
73
|
+
/**
|
|
74
|
+
* Displays data in a table format.
|
|
75
|
+
*
|
|
76
|
+
* Works like `console.table()`. Accepts arrays of objects or objects with
|
|
77
|
+
* nested objects. Optionally specify which properties to include in the table.
|
|
78
|
+
*
|
|
79
|
+
* @param logger - The calling logger instance.
|
|
80
|
+
* @param con - The logger's resolved console instance.
|
|
81
|
+
* @param tabularData - The data to display as a table.
|
|
82
|
+
* @param properties - Optional array of property names to include.
|
|
83
|
+
*/
|
|
84
|
+
export declare function tableMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, tabularData: unknown, properties?: readonly string[] | undefined): T;
|
|
85
|
+
/**
|
|
86
|
+
* Ends a timer and logs the elapsed time.
|
|
87
|
+
*
|
|
88
|
+
* Logs the duration since `console.time()` or `logger.time()` was called with
|
|
89
|
+
* the same label. The timer is stopped and removed.
|
|
90
|
+
*
|
|
91
|
+
* @param logger - The calling logger instance.
|
|
92
|
+
* @param con - The logger's resolved console instance.
|
|
93
|
+
* @param label - Optional label for the timer (defaults to 'default').
|
|
94
|
+
*/
|
|
95
|
+
export declare function timeEndMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, label?: string | undefined): T;
|
|
96
|
+
/**
|
|
97
|
+
* Logs the current value of a timer without stopping it.
|
|
98
|
+
*
|
|
99
|
+
* Logs the duration since `console.time()` was called with the same label, but
|
|
100
|
+
* keeps the timer running. Can include additional data to log alongside the
|
|
101
|
+
* time.
|
|
102
|
+
*
|
|
103
|
+
* @param logger - The calling logger instance.
|
|
104
|
+
* @param con - The logger's resolved console instance.
|
|
105
|
+
* @param label - Optional label for the timer (defaults to 'default').
|
|
106
|
+
* @param data - Additional data to log with the time.
|
|
107
|
+
*/
|
|
108
|
+
export declare function timeLogMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, label: string | undefined, data: unknown[]): T;
|
|
109
|
+
/**
|
|
110
|
+
* Starts a timer for measuring elapsed time.
|
|
111
|
+
*
|
|
112
|
+
* Creates a timer with the given label. Use `timeEnd()` with the same label to
|
|
113
|
+
* stop the timer and log the elapsed time, or use `timeLog()` to check the time
|
|
114
|
+
* without stopping the timer.
|
|
115
|
+
*
|
|
116
|
+
* @param logger - The calling logger instance.
|
|
117
|
+
* @param con - The logger's resolved console instance.
|
|
118
|
+
* @param label - Optional label for the timer (defaults to 'default').
|
|
119
|
+
*/
|
|
120
|
+
export declare function timeMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, label?: string | undefined): T;
|
|
121
|
+
/**
|
|
122
|
+
* Logs a stack trace to the console.
|
|
123
|
+
*
|
|
124
|
+
* Works like `console.trace()`. Shows the call stack leading to where this
|
|
125
|
+
* method was called. Useful for debugging.
|
|
126
|
+
*
|
|
127
|
+
* @param logger - The calling logger instance.
|
|
128
|
+
* @param con - The logger's resolved console instance.
|
|
129
|
+
* @param message - Optional message to display with the trace.
|
|
130
|
+
* @param args - Additional arguments to log.
|
|
131
|
+
*/
|
|
132
|
+
export declare function traceMethod<T extends LoggerTrackable>(logger: T, con: ConsoleLike, message: unknown | undefined, args: unknown[]): T;
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_logger_symbols = require('./symbols.js');
|
|
5
|
+
|
|
6
|
+
//#region src/logger/console-methods.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Free-function bodies for the `Logger` methods that are thin, chainable
|
|
9
|
+
* mirrors of the underlying `node:console` API (`assert`, `count`, `dir`,
|
|
10
|
+
* `dirxml`, `table`, `time`, `timeEnd`, `timeLog`, `trace`). Each takes the
|
|
11
|
+
* calling logger plus its already-resolved `node:console` instance, delegates
|
|
12
|
+
* to the matching console method, updates the shared blank-line / call-count
|
|
13
|
+
* tracking via the exported logger symbols, and returns the logger for
|
|
14
|
+
* chaining. Pulling these out of `./node` keeps the `Logger` class body under
|
|
15
|
+
* the file-size cap while preserving the per-method documentation here. The
|
|
16
|
+
* class retains one-line delegators that supply `this` and
|
|
17
|
+
* `this.#getConsole()`.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Logs an assertion failure message if the value is falsy.
|
|
21
|
+
*
|
|
22
|
+
* Works like `console.assert()` but returns the logger for chaining. If the
|
|
23
|
+
* value is truthy, nothing is logged. If falsy, logs an error message with an
|
|
24
|
+
* assertion failure.
|
|
25
|
+
*
|
|
26
|
+
* @param logger - The calling logger instance.
|
|
27
|
+
* @param con - The logger's resolved console instance.
|
|
28
|
+
* @param value - The value to test.
|
|
29
|
+
* @param message - Optional message and additional arguments to log.
|
|
30
|
+
*/
|
|
31
|
+
function assertMethod(logger, con, value, message) {
|
|
32
|
+
con.assert(value, message[0], ...message.slice(1));
|
|
33
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
34
|
+
return value ? logger : logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Increments and logs a counter for the given label.
|
|
38
|
+
*
|
|
39
|
+
* Each unique label maintains its own counter. Works like `console.count()`.
|
|
40
|
+
*
|
|
41
|
+
* @param logger - The calling logger instance.
|
|
42
|
+
* @param con - The logger's resolved console instance.
|
|
43
|
+
* @param label - Optional label for the counter (defaults to 'default').
|
|
44
|
+
*/
|
|
45
|
+
function countMethod(logger, con, label) {
|
|
46
|
+
con.count(label);
|
|
47
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
48
|
+
return logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Displays an object's properties in a formatted way.
|
|
52
|
+
*
|
|
53
|
+
* Works like `console.dir()` with customizable options for depth, colors, etc.
|
|
54
|
+
* Useful for inspecting complex objects.
|
|
55
|
+
*
|
|
56
|
+
* @param logger - The calling logger instance.
|
|
57
|
+
* @param con - The logger's resolved console instance.
|
|
58
|
+
* @param obj - The object to display.
|
|
59
|
+
* @param options - Optional formatting options (Node.js inspect options).
|
|
60
|
+
*/
|
|
61
|
+
function dirMethod(logger, con, obj, options) {
|
|
62
|
+
con.dir(obj, options);
|
|
63
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
64
|
+
return logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Displays data as XML/HTML in a formatted way.
|
|
68
|
+
*
|
|
69
|
+
* Works like `console.dirxml()`. In Node.js, behaves the same as `dir()`.
|
|
70
|
+
*
|
|
71
|
+
* @param logger - The calling logger instance.
|
|
72
|
+
* @param con - The logger's resolved console instance.
|
|
73
|
+
* @param data - The data to display.
|
|
74
|
+
*/
|
|
75
|
+
function dirxmlMethod(logger, con, data) {
|
|
76
|
+
con.dirxml(data);
|
|
77
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
78
|
+
return logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Displays data in a table format.
|
|
82
|
+
*
|
|
83
|
+
* Works like `console.table()`. Accepts arrays of objects or objects with
|
|
84
|
+
* nested objects. Optionally specify which properties to include in the table.
|
|
85
|
+
*
|
|
86
|
+
* @param logger - The calling logger instance.
|
|
87
|
+
* @param con - The logger's resolved console instance.
|
|
88
|
+
* @param tabularData - The data to display as a table.
|
|
89
|
+
* @param properties - Optional array of property names to include.
|
|
90
|
+
*/
|
|
91
|
+
function tableMethod(logger, con, tabularData, properties) {
|
|
92
|
+
con.table(tabularData, properties);
|
|
93
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
94
|
+
return logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Ends a timer and logs the elapsed time.
|
|
98
|
+
*
|
|
99
|
+
* Logs the duration since `console.time()` or `logger.time()` was called with
|
|
100
|
+
* the same label. The timer is stopped and removed.
|
|
101
|
+
*
|
|
102
|
+
* @param logger - The calling logger instance.
|
|
103
|
+
* @param con - The logger's resolved console instance.
|
|
104
|
+
* @param label - Optional label for the timer (defaults to 'default').
|
|
105
|
+
*/
|
|
106
|
+
function timeEndMethod(logger, con, label) {
|
|
107
|
+
con.timeEnd(label);
|
|
108
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
109
|
+
return logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Logs the current value of a timer without stopping it.
|
|
113
|
+
*
|
|
114
|
+
* Logs the duration since `console.time()` was called with the same label, but
|
|
115
|
+
* keeps the timer running. Can include additional data to log alongside the
|
|
116
|
+
* time.
|
|
117
|
+
*
|
|
118
|
+
* @param logger - The calling logger instance.
|
|
119
|
+
* @param con - The logger's resolved console instance.
|
|
120
|
+
* @param label - Optional label for the timer (defaults to 'default').
|
|
121
|
+
* @param data - Additional data to log with the time.
|
|
122
|
+
*/
|
|
123
|
+
function timeLogMethod(logger, con, label, data) {
|
|
124
|
+
con.timeLog(label, ...data);
|
|
125
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
126
|
+
return logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Starts a timer for measuring elapsed time.
|
|
130
|
+
*
|
|
131
|
+
* Creates a timer with the given label. Use `timeEnd()` with the same label to
|
|
132
|
+
* stop the timer and log the elapsed time, or use `timeLog()` to check the time
|
|
133
|
+
* without stopping the timer.
|
|
134
|
+
*
|
|
135
|
+
* @param logger - The calling logger instance.
|
|
136
|
+
* @param con - The logger's resolved console instance.
|
|
137
|
+
* @param label - Optional label for the timer (defaults to 'default').
|
|
138
|
+
*/
|
|
139
|
+
function timeMethod(logger, con, label) {
|
|
140
|
+
con.time(label);
|
|
141
|
+
return logger;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Logs a stack trace to the console.
|
|
145
|
+
*
|
|
146
|
+
* Works like `console.trace()`. Shows the call stack leading to where this
|
|
147
|
+
* method was called. Useful for debugging.
|
|
148
|
+
*
|
|
149
|
+
* @param logger - The calling logger instance.
|
|
150
|
+
* @param con - The logger's resolved console instance.
|
|
151
|
+
* @param message - Optional message to display with the trace.
|
|
152
|
+
* @param args - Additional arguments to log.
|
|
153
|
+
*/
|
|
154
|
+
function traceMethod(logger, con, message, args) {
|
|
155
|
+
con.trace(message, ...args);
|
|
156
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
157
|
+
return logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
//#endregion
|
|
161
|
+
exports.assertMethod = assertMethod;
|
|
162
|
+
exports.countMethod = countMethod;
|
|
163
|
+
exports.dirMethod = dirMethod;
|
|
164
|
+
exports.dirxmlMethod = dirxmlMethod;
|
|
165
|
+
exports.tableMethod = tableMethod;
|
|
166
|
+
exports.timeEndMethod = timeEndMethod;
|
|
167
|
+
exports.timeLogMethod = timeLogMethod;
|
|
168
|
+
exports.timeMethod = timeMethod;
|
|
169
|
+
exports.traceMethod = traceMethod;
|
package/dist/logger/console.d.ts
CHANGED
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* `ensurePrototypeInitialized` actually runs, both modules are fully
|
|
20
20
|
* evaluated. Same pattern as `fs/path-cache` ↔ `fs/_internal`.
|
|
21
21
|
*/
|
|
22
|
+
import { Logger } from './node';
|
|
22
23
|
/**
|
|
23
24
|
* Construct a new Console instance.
|
|
24
25
|
*/
|
|
@@ -31,3 +32,14 @@ export declare function constructConsole(...args: unknown[]): Console;
|
|
|
31
32
|
* ready.
|
|
32
33
|
*/
|
|
33
34
|
export declare function ensurePrototypeInitialized(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Resolve (and lazily construct + cache) the per-instance `Console` for a
|
|
37
|
+
* logger. Ensures the prototype is initialized, then returns the cached Console
|
|
38
|
+
* from the `privateConsole` WeakMap, building one from the stored constructor
|
|
39
|
+
* args (or the default stdout/stderr pair) on first access. This lazy path is
|
|
40
|
+
* what lets the logger be imported during early Node.js bootstrap before stdout
|
|
41
|
+
* is ready, avoiding `ERR_CONSOLE_WRITABLE_STREAM`.
|
|
42
|
+
*
|
|
43
|
+
* @param logger - The logger whose Console to resolve.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveConsole(logger: Logger): typeof console & Record<string, unknown>;
|
package/dist/logger/console.js
CHANGED
|
@@ -32,16 +32,15 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
32
32
|
* `ensurePrototypeInitialized` actually runs, both modules are fully
|
|
33
33
|
* evaluated. Same pattern as `fs/path-cache` ↔ `fs/_internal`.
|
|
34
34
|
*/
|
|
35
|
-
let
|
|
36
|
-
let
|
|
35
|
+
let cachedConsole;
|
|
36
|
+
let prototypeInitialized = false;
|
|
37
37
|
/**
|
|
38
38
|
* Construct a new Console instance.
|
|
39
39
|
*/
|
|
40
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
41
40
|
function constructConsole(...args) {
|
|
42
41
|
/* c8 ignore next - Lazy-init second-call branch; module-singleton. */
|
|
43
|
-
if (
|
|
44
|
-
return require_primordials_reflect.ReflectConstruct(
|
|
42
|
+
if (cachedConsole === void 0) cachedConsole = (/* @__PURE__ */ require("node:console")).Console;
|
|
43
|
+
return require_primordials_reflect.ReflectConstruct(cachedConsole, args);
|
|
45
44
|
}
|
|
46
45
|
/**
|
|
47
46
|
* Lazily add dynamic console methods to Logger prototype.
|
|
@@ -51,8 +50,8 @@ function constructConsole(...args) {
|
|
|
51
50
|
* ready.
|
|
52
51
|
*/
|
|
53
52
|
function ensurePrototypeInitialized() {
|
|
54
|
-
if (
|
|
55
|
-
|
|
53
|
+
if (prototypeInitialized) return;
|
|
54
|
+
prototypeInitialized = true;
|
|
56
55
|
const entries = [[require_logger_symbols.getKGroupIndentationWidthSymbol(), {
|
|
57
56
|
...require_logger__internal.consolePropAttributes,
|
|
58
57
|
value: 2
|
|
@@ -68,9 +67,9 @@ function ensurePrototypeInitialized() {
|
|
|
68
67
|
if (con === void 0) {
|
|
69
68
|
const ctorArgs = require_logger__internal.privateConstructorArgs.get(this) ?? [];
|
|
70
69
|
require_logger__internal.privateConstructorArgs.delete(this);
|
|
71
|
-
if (ctorArgs.length) con =
|
|
70
|
+
if (ctorArgs.length) con = constructConsole(...ctorArgs);
|
|
72
71
|
else {
|
|
73
|
-
con =
|
|
72
|
+
con = constructConsole({
|
|
74
73
|
stdout: node_process.default.stdout,
|
|
75
74
|
stderr: node_process.default.stderr
|
|
76
75
|
});
|
|
@@ -78,7 +77,6 @@ function ensurePrototypeInitialized() {
|
|
|
78
77
|
}
|
|
79
78
|
require_logger__internal.privateConsole.set(this, con);
|
|
80
79
|
}
|
|
81
|
-
/* c8 ignore stop */
|
|
82
80
|
const result = con[key](...args);
|
|
83
81
|
/* c8 ignore next */
|
|
84
82
|
return result === void 0 || result === con ? this : result;
|
|
@@ -90,7 +88,40 @@ function ensurePrototypeInitialized() {
|
|
|
90
88
|
}
|
|
91
89
|
require_primordials_object.ObjectDefineProperties(require_logger_node.Logger.prototype, require_primordials_object.ObjectFromEntries(entries));
|
|
92
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Resolve (and lazily construct + cache) the per-instance `Console` for a
|
|
93
|
+
* logger. Ensures the prototype is initialized, then returns the cached Console
|
|
94
|
+
* from the `privateConsole` WeakMap, building one from the stored constructor
|
|
95
|
+
* args (or the default stdout/stderr pair) on first access. This lazy path is
|
|
96
|
+
* what lets the logger be imported during early Node.js bootstrap before stdout
|
|
97
|
+
* is ready, avoiding `ERR_CONSOLE_WRITABLE_STREAM`.
|
|
98
|
+
*
|
|
99
|
+
* @param logger - The logger whose Console to resolve.
|
|
100
|
+
*/
|
|
101
|
+
function resolveConsole(logger) {
|
|
102
|
+
ensurePrototypeInitialized();
|
|
103
|
+
let con = require_logger__internal.privateConsole.get(logger);
|
|
104
|
+
/* c8 ignore start - ctorArgs.length-truthy fires when caller seeded
|
|
105
|
+
constructor args; both arms are exercised across tests but not always
|
|
106
|
+
in the same run. */
|
|
107
|
+
if (!con) {
|
|
108
|
+
const ctorArgs = require_logger__internal.privateConstructorArgs.get(logger) ?? [];
|
|
109
|
+
if (ctorArgs.length) con = constructConsole(...ctorArgs);
|
|
110
|
+
else {
|
|
111
|
+
con = constructConsole({
|
|
112
|
+
stdout: node_process.default.stdout,
|
|
113
|
+
stderr: node_process.default.stderr
|
|
114
|
+
});
|
|
115
|
+
for (const { 0: key, 1: method } of require_logger__internal.boundConsoleEntries) con[key] = method;
|
|
116
|
+
}
|
|
117
|
+
require_logger__internal.privateConsole.set(logger, con);
|
|
118
|
+
require_logger__internal.privateConstructorArgs.delete(logger);
|
|
119
|
+
}
|
|
120
|
+
/* c8 ignore stop */
|
|
121
|
+
return con;
|
|
122
|
+
}
|
|
93
123
|
|
|
94
124
|
//#endregion
|
|
95
125
|
exports.constructConsole = constructConsole;
|
|
96
|
-
exports.ensurePrototypeInitialized = ensurePrototypeInitialized;
|
|
126
|
+
exports.ensurePrototypeInitialized = ensurePrototypeInitialized;
|
|
127
|
+
exports.resolveConsole = resolveConsole;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Free-function bodies for the `Logger` indentation-domain methods
|
|
3
|
+
* (`indent`, `dedent`, `resetIndent`, `group`, `groupCollapsed`, `groupEnd`).
|
|
4
|
+
* Indentation is tracked at the prefix layer (a per-stream string of spaces)
|
|
5
|
+
* rather than via `node:console`'s frozen `Symbol(kGroupIndent)`, so these
|
|
6
|
+
* helpers read and write that prefix through a small accessor context handed
|
|
7
|
+
* in by the calling `Logger`. Pulling these out of `./node` keeps the
|
|
8
|
+
* `Logger` class body under the file-size cap; the class retains one-line
|
|
9
|
+
* delegators that build the context from its private state.
|
|
10
|
+
*/
|
|
11
|
+
import type { LoggerTrackable } from './console-methods';
|
|
12
|
+
/**
|
|
13
|
+
* The slice of `Logger` the indentation helpers need: the bound-stream marker
|
|
14
|
+
* (`undefined` on the root logger, `'stderr'` / `'stdout'` on a stream-bound
|
|
15
|
+
* instance) plus per-stream indent prefix read / write accessors. Modeled
|
|
16
|
+
* structurally to avoid a circular import with `./node`; the class supplies
|
|
17
|
+
* closures over its private `#getIndent` / `#setIndent`.
|
|
18
|
+
*/
|
|
19
|
+
export interface IndentContext {
|
|
20
|
+
boundStream: 'stderr' | 'stdout' | undefined;
|
|
21
|
+
getIndent(stream: 'stderr' | 'stdout'): string;
|
|
22
|
+
setIndent(stream: 'stderr' | 'stdout', value: string): void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Decrease the indentation prefix by `spaces`.
|
|
26
|
+
*
|
|
27
|
+
* On the root logger (`boundStream` undefined) both streams shrink; on a
|
|
28
|
+
* stream-bound logger only the bound stream shrinks. Returns the logger for
|
|
29
|
+
* chaining.
|
|
30
|
+
*
|
|
31
|
+
* @param logger - The calling logger instance.
|
|
32
|
+
* @param ctx - The logger's indentation accessor context.
|
|
33
|
+
* @param spaces - Number of spaces to remove (default 2).
|
|
34
|
+
*/
|
|
35
|
+
export declare function dedentMethod<T extends LoggerTrackable>(logger: T, ctx: IndentContext, spaces: number): T;
|
|
36
|
+
/**
|
|
37
|
+
* End the current log group and decrease indentation by the group-indent width.
|
|
38
|
+
*
|
|
39
|
+
* Call once per `groupMethod` / `groupCollapsed`. Returns the logger for
|
|
40
|
+
* chaining.
|
|
41
|
+
*
|
|
42
|
+
* @param logger - The calling logger instance.
|
|
43
|
+
*/
|
|
44
|
+
export declare function groupEndMethod<T extends {
|
|
45
|
+
dedent(spaces?: number): T;
|
|
46
|
+
}>(logger: T): T;
|
|
47
|
+
/**
|
|
48
|
+
* Start a new indented log group.
|
|
49
|
+
*
|
|
50
|
+
* A provided label is logged via the logger's own `log` before indentation
|
|
51
|
+
* increases by the group-indent width (default 2). Groups nest; close with
|
|
52
|
+
* `groupEndMethod`. Returns the logger for chaining.
|
|
53
|
+
*
|
|
54
|
+
* @param logger - The calling logger instance.
|
|
55
|
+
* @param label - Optional label to display before the group.
|
|
56
|
+
*/
|
|
57
|
+
export declare function groupMethod<T extends LoggerTrackable & {
|
|
58
|
+
indent(spaces?: number): T;
|
|
59
|
+
log(...args: unknown[]): T;
|
|
60
|
+
}>(logger: T, label: unknown[]): T;
|
|
61
|
+
/**
|
|
62
|
+
* Increase the indentation prefix by `spaces`, capped at `maxIndentation`.
|
|
63
|
+
*
|
|
64
|
+
* On the root logger both streams grow; on a stream-bound logger only the bound
|
|
65
|
+
* stream grows. Returns the logger for chaining.
|
|
66
|
+
*
|
|
67
|
+
* @param logger - The calling logger instance.
|
|
68
|
+
* @param ctx - The logger's indentation accessor context.
|
|
69
|
+
* @param spaces - Number of spaces to add (default 2).
|
|
70
|
+
*/
|
|
71
|
+
export declare function indentMethod<T extends LoggerTrackable>(logger: T, ctx: IndentContext, spaces: number): T;
|
|
72
|
+
/**
|
|
73
|
+
* Reset all indentation to zero.
|
|
74
|
+
*
|
|
75
|
+
* On the root logger both streams reset; on a stream-bound logger only the
|
|
76
|
+
* bound stream resets. Returns the logger for chaining.
|
|
77
|
+
*
|
|
78
|
+
* @param logger - The calling logger instance.
|
|
79
|
+
* @param ctx - The logger's indentation accessor context.
|
|
80
|
+
*/
|
|
81
|
+
export declare function resetIndentMethod<T extends LoggerTrackable>(logger: T, ctx: IndentContext): T;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_math = require('../primordials/math.js');
|
|
5
|
+
const require_primordials_reflect = require('../primordials/reflect.js');
|
|
6
|
+
const require_logger__internal = require('./_internal.js');
|
|
7
|
+
const require_logger_symbols = require('./symbols.js');
|
|
8
|
+
|
|
9
|
+
//#region src/logger/indentation-methods.ts
|
|
10
|
+
/**
|
|
11
|
+
* @file Free-function bodies for the `Logger` indentation-domain methods
|
|
12
|
+
* (`indent`, `dedent`, `resetIndent`, `group`, `groupCollapsed`, `groupEnd`).
|
|
13
|
+
* Indentation is tracked at the prefix layer (a per-stream string of spaces)
|
|
14
|
+
* rather than via `node:console`'s frozen `Symbol(kGroupIndent)`, so these
|
|
15
|
+
* helpers read and write that prefix through a small accessor context handed
|
|
16
|
+
* in by the calling `Logger`. Pulling these out of `./node` keeps the
|
|
17
|
+
* `Logger` class body under the file-size cap; the class retains one-line
|
|
18
|
+
* delegators that build the context from its private state.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Decrease the indentation prefix by `spaces`.
|
|
22
|
+
*
|
|
23
|
+
* On the root logger (`boundStream` undefined) both streams shrink; on a
|
|
24
|
+
* stream-bound logger only the bound stream shrinks. Returns the logger for
|
|
25
|
+
* chaining.
|
|
26
|
+
*
|
|
27
|
+
* @param logger - The calling logger instance.
|
|
28
|
+
* @param ctx - The logger's indentation accessor context.
|
|
29
|
+
* @param spaces - Number of spaces to remove (default 2).
|
|
30
|
+
*/
|
|
31
|
+
function dedentMethod(logger, ctx, spaces) {
|
|
32
|
+
if (ctx.boundStream) {
|
|
33
|
+
const current = ctx.getIndent(ctx.boundStream);
|
|
34
|
+
ctx.setIndent(ctx.boundStream, current.slice(0, -spaces));
|
|
35
|
+
} else {
|
|
36
|
+
const stderrCurrent = ctx.getIndent("stderr");
|
|
37
|
+
const stdoutCurrent = ctx.getIndent("stdout");
|
|
38
|
+
ctx.setIndent("stderr", stderrCurrent.slice(0, -spaces));
|
|
39
|
+
ctx.setIndent("stdout", stdoutCurrent.slice(0, -spaces));
|
|
40
|
+
}
|
|
41
|
+
return logger;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* End the current log group and decrease indentation by the group-indent width.
|
|
45
|
+
*
|
|
46
|
+
* Call once per `groupMethod` / `groupCollapsed`. Returns the logger for
|
|
47
|
+
* chaining.
|
|
48
|
+
*
|
|
49
|
+
* @param logger - The calling logger instance.
|
|
50
|
+
*/
|
|
51
|
+
function groupEndMethod(logger) {
|
|
52
|
+
logger.dedent(logger[require_logger_symbols.getKGroupIndentationWidthSymbol()]);
|
|
53
|
+
return logger;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Start a new indented log group.
|
|
57
|
+
*
|
|
58
|
+
* A provided label is logged via the logger's own `log` before indentation
|
|
59
|
+
* increases by the group-indent width (default 2). Groups nest; close with
|
|
60
|
+
* `groupEndMethod`. Returns the logger for chaining.
|
|
61
|
+
*
|
|
62
|
+
* @param logger - The calling logger instance.
|
|
63
|
+
* @param label - Optional label to display before the group.
|
|
64
|
+
*/
|
|
65
|
+
function groupMethod(logger, label) {
|
|
66
|
+
const { length } = label;
|
|
67
|
+
if (length) require_primordials_reflect.ReflectApply(logger.log, logger, label);
|
|
68
|
+
logger.indent(logger[require_logger_symbols.getKGroupIndentationWidthSymbol()]);
|
|
69
|
+
if (length) {
|
|
70
|
+
logger[require_logger_symbols.lastWasBlankSymbol](false);
|
|
71
|
+
logger[require_logger_symbols.incLogCallCountSymbol]();
|
|
72
|
+
}
|
|
73
|
+
return logger;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Increase the indentation prefix by `spaces`, capped at `maxIndentation`.
|
|
77
|
+
*
|
|
78
|
+
* On the root logger both streams grow; on a stream-bound logger only the bound
|
|
79
|
+
* stream grows. Returns the logger for chaining.
|
|
80
|
+
*
|
|
81
|
+
* @param logger - The calling logger instance.
|
|
82
|
+
* @param ctx - The logger's indentation accessor context.
|
|
83
|
+
* @param spaces - Number of spaces to add (default 2).
|
|
84
|
+
*/
|
|
85
|
+
function indentMethod(logger, ctx, spaces) {
|
|
86
|
+
const spacesToAdd = " ".repeat(require_primordials_math.MathMin(spaces, require_logger__internal.maxIndentation));
|
|
87
|
+
if (ctx.boundStream) {
|
|
88
|
+
const current = ctx.getIndent(ctx.boundStream);
|
|
89
|
+
ctx.setIndent(ctx.boundStream, current + spacesToAdd);
|
|
90
|
+
} else {
|
|
91
|
+
const stderrCurrent = ctx.getIndent("stderr");
|
|
92
|
+
const stdoutCurrent = ctx.getIndent("stdout");
|
|
93
|
+
ctx.setIndent("stderr", stderrCurrent + spacesToAdd);
|
|
94
|
+
ctx.setIndent("stdout", stdoutCurrent + spacesToAdd);
|
|
95
|
+
}
|
|
96
|
+
return logger;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Reset all indentation to zero.
|
|
100
|
+
*
|
|
101
|
+
* On the root logger both streams reset; on a stream-bound logger only the
|
|
102
|
+
* bound stream resets. Returns the logger for chaining.
|
|
103
|
+
*
|
|
104
|
+
* @param logger - The calling logger instance.
|
|
105
|
+
* @param ctx - The logger's indentation accessor context.
|
|
106
|
+
*/
|
|
107
|
+
function resetIndentMethod(logger, ctx) {
|
|
108
|
+
if (ctx.boundStream) ctx.setIndent(ctx.boundStream, "");
|
|
109
|
+
else {
|
|
110
|
+
ctx.setIndent("stderr", "");
|
|
111
|
+
ctx.setIndent("stdout", "");
|
|
112
|
+
}
|
|
113
|
+
return logger;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
//#endregion
|
|
117
|
+
exports.dedentMethod = dedentMethod;
|
|
118
|
+
exports.groupEndMethod = groupEndMethod;
|
|
119
|
+
exports.groupMethod = groupMethod;
|
|
120
|
+
exports.indentMethod = indentMethod;
|
|
121
|
+
exports.resetIndentMethod = resetIndentMethod;
|