@socketsecurity/lib 6.0.6 → 6.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -1
- package/dist/ai/discover.d.mts +2 -2
- package/dist/ai/discover.js +3 -2
- package/dist/ai/spawn.js +2 -1
- package/dist/ai/types.d.mts +18 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +1 -1
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +6 -6
- package/dist/archives/zip.js +3 -5
- package/dist/argv/flag-predicates.d.ts +12 -12
- package/dist/argv/flag-predicates.js +17 -17
- package/dist/argv/flag-types.d.ts +18 -18
- package/dist/argv/flag-types.js +4 -4
- package/dist/argv/parse.d.ts +1 -1
- package/dist/arrays/_internal.js +11 -12
- package/dist/arrays/chunk.js +0 -1
- package/dist/arrays/join.d.ts +37 -3
- package/dist/arrays/join.js +43 -7
- package/dist/arrays/unique.js +0 -1
- package/dist/bin/_internal.d.ts +1 -1
- package/dist/bin/_internal.js +1 -1
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +13 -13
- package/dist/bin/prim.cjs +22736 -22556
- package/dist/bin/resolve.js +12 -13
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +5 -5
- package/dist/checks/primordials-defaults.d.ts +3 -3
- package/dist/checks/primordials-defaults.js +3 -3
- package/dist/checks/primordials.js +4 -3
- package/dist/{bin → cli}/check-primordials.d.ts +11 -11
- package/dist/{bin → cli}/check-primordials.js +55 -52
- package/dist/{bin → cli}/check.js +3 -3
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +17 -17
- package/dist/compression/brotli.d.ts +25 -25
- package/dist/compression/brotli.js +33 -33
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +40 -40
- package/dist/constants/agents.d.ts +3 -1
- package/dist/constants/agents.js +15 -11
- package/dist/constants/licenses.js +3 -3
- package/dist/constants/node.d.ts +23 -0
- package/dist/constants/node.js +47 -15
- package/dist/constants/packages.js +22 -28
- package/dist/constants/platform.d.ts +30 -3
- package/dist/constants/platform.js +72 -12
- package/dist/constants/runtime.d.ts +22 -0
- package/dist/constants/runtime.js +32 -0
- package/dist/constants/socket.js +1 -1
- package/dist/cover/code.js +8 -8
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +26 -1
- package/dist/crypto/hash.js +43 -12
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +2 -3
- package/dist/debug/namespace.d.ts +7 -0
- package/dist/debug/namespace.js +21 -12
- package/dist/debug/output.js +21 -24
- package/dist/debug/types.d.ts +4 -4
- package/dist/dlx/arborist.js +6 -6
- package/dist/dlx/binary-cache.js +14 -14
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +11 -11
- package/dist/dlx/binary-resolution.js +16 -14
- package/dist/dlx/binary-types.d.ts +5 -5
- package/dist/dlx/binary.js +5 -5
- package/dist/dlx/cache.js +1 -1
- package/dist/dlx/detect.d.ts +34 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +16 -16
- package/dist/dlx/manifest.d.ts +6 -6
- package/dist/dlx/manifest.js +5 -5
- package/dist/dlx/package.d.ts +10 -10
- package/dist/dlx/package.js +16 -16
- package/dist/dlx/packages.js +4 -4
- package/dist/dlx/paths.js +7 -7
- package/dist/dlx/spec.js +1 -1
- package/dist/dlx/types.d.ts +28 -27
- package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
- package/dist/eco/cargo/parse-lockfile.js +2 -2
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +4 -4
- package/dist/eco/manifest/find-packages.js +2 -2
- package/dist/eco/manifest/get-package-versions.js +2 -2
- package/dist/eco/manifest/get-package.js +2 -2
- package/dist/eco/manifest/parse-lockfile.js +2 -2
- package/dist/eco/manifest/parse-manifest.js +2 -2
- package/dist/eco/manifest/parse.js +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/npm/flags.js +7 -12
- package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
- package/dist/eco/npm/npm/parse-lockfile.js +3 -3
- package/dist/eco/npm/parse-package-json.js +3 -3
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/pnpm/exec.js +5 -5
- package/dist/eco/npm/pnpm/flags.js +0 -3
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
- package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
- package/dist/effects/pulse-frames.d.ts +3 -1
- package/dist/effects/shimmer-keyframes.d.ts +1 -1
- package/dist/effects/shimmer-terminal.d.ts +1 -1
- package/dist/env/boolean.js +0 -1
- package/dist/env/ci.js +0 -1
- package/dist/env/debug.js +0 -1
- package/dist/env/github-status.d.ts +51 -0
- package/dist/env/github-status.js +90 -0
- package/dist/env/github.js +0 -8
- package/dist/env/home.js +0 -1
- package/dist/env/locale.js +0 -3
- package/dist/env/node-auth-token.js +0 -1
- package/dist/env/node-env.js +0 -1
- package/dist/env/node-version-managers.d.ts +53 -0
- package/dist/env/node-version-managers.js +90 -0
- package/dist/env/npm.js +0 -5
- package/dist/env/number.js +0 -1
- package/dist/env/package-manager.js +3 -6
- package/dist/env/path.js +0 -1
- package/dist/env/pre-commit.js +1 -2
- package/dist/env/rewire.d.ts +7 -6
- package/dist/env/rewire.js +15 -16
- package/dist/env/shell.js +0 -1
- package/dist/env/socket-cli.js +5 -18
- package/dist/env/socket-mcp.d.ts +114 -0
- package/dist/env/socket-mcp.js +146 -0
- package/dist/env/socket.d.ts +1 -109
- package/dist/env/socket.js +12 -167
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/events/exit/_internal.d.ts +11 -9
- package/dist/events/exit/_internal.js +31 -35
- package/dist/events/exit/handler.js +3 -4
- package/dist/events/exit/intercept.js +4 -6
- package/dist/events/exit/lifecycle.js +16 -18
- package/dist/events/exit/signals.js +1 -2
- package/dist/events/exit/types.d.ts +6 -5
- package/dist/external/@npmcli/package-json.js +2 -2
- package/dist/external/npm-pack.js +2 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +1 -1
- package/dist/external-tools/from-download.js +1 -1
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
- package/dist/external-tools/jre/detect-platform-arch.js +29 -14
- package/dist/external-tools/jre/from-vfs.js +1 -1
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +7 -7
- package/dist/external-tools/manifest.js +12 -12
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/types.d.ts +1 -1
- package/dist/external-tools/python/asset-names.d.ts +76 -0
- package/dist/external-tools/python/asset-names.js +104 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +87 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +68 -0
- package/dist/external-tools/python/from-path.d.ts +7 -0
- package/dist/external-tools/python/from-path.js +23 -0
- package/dist/external-tools/python/pin.d.ts +121 -0
- package/dist/external-tools/python/pin.js +173 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +139 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +58 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-path.js +3 -5
- package/dist/external-tools/skillspector/from-vfs.js +1 -1
- package/dist/external-tools/synp/from-download.js +2 -2
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/types.d.ts +1 -1
- package/dist/fs/_internal.d.ts +1 -1
- package/dist/fs/_internal.js +7 -7
- package/dist/fs/access.js +5 -9
- package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +11 -13
- package/dist/fs/inspect.js +7 -13
- package/dist/fs/read-dir.js +7 -10
- package/dist/fs/read-file.js +8 -14
- package/dist/fs/read-json-cache.d.ts +6 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +1 -1
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +12 -13
- package/dist/fs/unique.js +4 -5
- package/dist/fs/validate.js +1 -2
- package/dist/fs/write-json.js +4 -5
- package/dist/git/_internal.js +10 -10
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +3 -3
- package/dist/git/staged.js +4 -4
- package/dist/git/unstaged.js +4 -4
- package/dist/github/ghsa.js +2 -2
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +5 -5
- package/dist/github/refs-rest.js +5 -5
- package/dist/github/{fetch.js → request.js} +13 -2
- package/dist/github/token.js +1 -1
- package/dist/github/types.d.ts +1 -1
- package/dist/globs/_internal.js +7 -9
- package/dist/globs/match.js +4 -6
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +12 -14
- package/dist/globs/stream.js +1 -2
- package/dist/globs/types.d.ts +24 -24
- package/dist/http-request/_internal.d.ts +1 -1
- package/dist/http-request/browser.js +4 -2
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +3 -3
- package/dist/http-request/headers.js +0 -1
- package/dist/http-request/request-attempt.js +37 -33
- package/dist/http-request/request-types.d.ts +2 -2
- package/dist/http-request/request.js +1 -1
- package/dist/http-request/user-agent.js +3 -4
- package/dist/integrity.d.ts +86 -18
- package/dist/integrity.js +119 -30
- package/dist/ipc/directory.js +2 -2
- package/dist/ipc/paths.js +1 -1
- package/dist/ipc/write.js +1 -1
- package/dist/ipc-cli/get.js +12 -12
- package/dist/json/edit.js +13 -14
- package/dist/json/format.js +2 -2
- package/dist/json/parse.d.ts +1 -1
- package/dist/json/parse.js +3 -7
- package/dist/logger/_internal.d.ts +4 -4
- package/dist/logger/_internal.js +3 -3
- package/dist/logger/colors.js +4 -3
- package/dist/logger/console-methods.d.ts +132 -0
- package/dist/logger/console-methods.js +169 -0
- package/dist/logger/console.d.ts +12 -0
- package/dist/logger/console.js +42 -11
- package/dist/logger/indentation-methods.d.ts +81 -0
- package/dist/logger/indentation-methods.js +121 -0
- package/dist/logger/node.d.ts +16 -338
- package/dist/logger/node.js +75 -608
- package/dist/logger/options.d.ts +39 -0
- package/dist/logger/options.js +47 -0
- package/dist/logger/semantic-methods.d.ts +63 -0
- package/dist/logger/semantic-methods.js +108 -0
- package/dist/logger/stream-methods.d.ts +63 -0
- package/dist/logger/stream-methods.js +101 -0
- package/dist/logger/stream.d.ts +37 -0
- package/dist/logger/stream.js +42 -0
- package/dist/logger/symbols-builder.js +9 -9
- package/dist/logger/symbols.d.ts +2 -25
- package/dist/logger/symbols.js +53 -74
- package/dist/logger/types.d.ts +1 -1
- package/dist/memo/types.d.ts +6 -6
- package/dist/native-messaging/host.d.ts +20 -0
- package/dist/native-messaging/host.js +120 -0
- package/dist/native-messaging/index.d.ts +5 -0
- package/dist/native-messaging/index.js +22 -0
- package/dist/native-messaging/install.d.ts +60 -0
- package/dist/native-messaging/install.js +141 -0
- package/dist/native-messaging/rate-limit.d.ts +62 -0
- package/dist/native-messaging/rate-limit.js +115 -0
- package/dist/native-messaging/run.d.ts +10 -0
- package/dist/native-messaging/run.js +17 -0
- package/dist/node/async-hooks.js +4 -3
- package/dist/node/child-process.js +4 -3
- package/dist/node/crypto.js +4 -3
- package/dist/node/events.js +4 -3
- package/dist/node/fs-promises.js +4 -3
- package/dist/node/fs.js +4 -3
- package/dist/node/http.js +4 -3
- package/dist/node/https.js +4 -3
- package/dist/node/module.js +10 -6
- package/dist/node/os.js +4 -3
- package/dist/node/path.js +4 -3
- package/dist/node/timers-promises.js +4 -3
- package/dist/node/url.js +4 -3
- package/dist/node/util.js +4 -3
- package/dist/objects/getters.js +5 -7
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +2 -3
- package/dist/objects/predicates.js +0 -4
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.js +15 -16
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +11 -17
- package/dist/packages/fetch.d.ts +16 -0
- package/dist/packages/fetch.js +81 -0
- package/dist/packages/find.d.ts +55 -0
- package/dist/packages/find.js +65 -0
- package/dist/packages/isolation.js +14 -14
- package/dist/packages/licenses.js +16 -16
- package/dist/packages/manifest.js +12 -15
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +5 -9
- package/dist/packages/provenance.js +16 -18
- package/dist/packages/read.d.ts +29 -0
- package/dist/packages/read.js +66 -0
- package/dist/packages/specs.d.ts +48 -1
- package/dist/packages/specs.js +74 -11
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +79 -0
- package/dist/packages/types.d.ts +21 -20
- package/dist/packages/validation.js +0 -3
- package/dist/paths/_internal.d.ts +2 -1
- package/dist/paths/_internal.js +7 -19
- package/dist/paths/conversion.js +5 -9
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +4 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +11 -14
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.js +16 -16
- package/dist/paths/walk.d.ts +1 -1
- package/dist/paths/walk.js +4 -4
- package/dist/perf/report.js +2 -2
- package/dist/perf/types.d.ts +1 -1
- package/dist/pkg-ext/data.js +1 -1
- package/dist/primordials/array.js +9 -9
- package/dist/primordials/date.js +2 -2
- package/dist/primordials/error.js +3 -3
- package/dist/primordials/headers.d.ts +10 -0
- package/dist/primordials/headers.js +23 -0
- package/dist/primordials/intl.d.ts +13 -0
- package/dist/primordials/intl.js +26 -0
- package/dist/primordials/math.js +33 -33
- package/dist/primordials/number.js +9 -9
- package/dist/primordials/object.js +5 -5
- package/dist/primordials/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- package/dist/primordials/uncurry.js +9 -9
- package/dist/process/abort.js +3 -3
- package/dist/process/lock-manager.js +8 -8
- package/dist/process/spawn/_internal.js +6 -8
- package/dist/process/spawn/child.js +14 -14
- package/dist/process/spawn/errors.js +2 -4
- package/dist/process/spawn/kill-tree.d.ts +53 -0
- package/dist/process/spawn/kill-tree.js +85 -0
- package/dist/process/spawn/stdio.js +0 -1
- package/dist/process/spawn/types.d.ts +5 -5
- package/dist/process/transient.js +2 -2
- package/dist/promises/_internal.d.ts +2 -1
- package/dist/promises/_internal.js +2 -6
- package/dist/promises/iterate.js +11 -15
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +2 -2
- package/dist/releases/github-asset-url.d.ts +1 -1
- package/dist/releases/github-asset-url.js +5 -5
- package/dist/releases/github-downloads.d.ts +1 -1
- package/dist/releases/github-downloads.js +3 -3
- package/dist/releases/github-listing.d.ts +11 -2
- package/dist/releases/github-listing.js +20 -7
- package/dist/releases/github-retry-config.js +1 -1
- package/dist/releases/github-types.d.ts +6 -6
- package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
- package/dist/releases/socket-btm-binary-naming.js +155 -0
- package/dist/releases/socket-btm.d.ts +8 -115
- package/dist/releases/socket-btm.js +16 -159
- package/dist/schema/types.d.ts +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +2 -2
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/keychain.js +6 -4
- package/dist/secrets/linux.js +19 -19
- package/dist/secrets/macos.d.ts +1 -1
- package/dist/secrets/macos.js +13 -13
- package/dist/secrets/rc.d.ts +2 -2
- package/dist/secrets/rc.js +6 -4
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +18 -9
- package/dist/secrets/windows.js +14 -13
- package/dist/shadow/skip.js +2 -2
- package/dist/smol/detect.js +9 -10
- package/dist/smol/http.js +6 -7
- package/dist/smol/https.js +6 -7
- package/dist/smol/manifest.d.ts +1 -1
- package/dist/smol/manifest.js +6 -7
- package/dist/smol/path.d.ts +1 -1
- package/dist/smol/path.js +7 -8
- package/dist/smol/primordial.d.ts +4 -0
- package/dist/smol/primordial.js +6 -7
- package/dist/smol/purl.d.ts +1 -1
- package/dist/smol/purl.js +7 -8
- package/dist/smol/versions.js +6 -7
- package/dist/smol/vfs.js +6 -7
- package/dist/sorts/_internal.js +6 -8
- package/dist/sorts/natural.js +10 -12
- package/dist/sorts/semver.js +1 -2
- package/dist/sorts/strings.js +0 -1
- package/dist/sorts/types.d.ts +1 -1
- package/dist/spinner/create-spinner-class.d.ts +38 -0
- package/dist/spinner/create-spinner-class.js +302 -0
- package/dist/spinner/default.js +8 -9
- package/dist/spinner/spinner-internals.d.ts +36 -0
- package/dist/spinner/spinner-internals.js +101 -0
- package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
- package/dist/spinner/spinner-shimmer-methods.js +143 -0
- package/dist/spinner/spinner-status-methods.d.ts +40 -0
- package/dist/spinner/spinner-status-methods.js +133 -0
- package/dist/spinner/spinner.d.ts +4 -5
- package/dist/spinner/spinner.js +18 -705
- package/dist/spinner/types.d.ts +3 -1
- package/dist/spinner/with.d.ts +10 -0
- package/dist/spinner/with.js +16 -2
- package/dist/stdio/divider.js +1 -1
- package/dist/stdio/footer.js +3 -3
- package/dist/stdio/header.js +4 -4
- package/dist/stdio/progress.js +5 -5
- package/dist/stdio/prompts.d.ts +5 -3
- package/dist/stdio/prompts.js +6 -7
- package/dist/stdio/stdout.js +3 -3
- package/dist/streams/parallel.js +3 -5
- package/dist/streams/transform.js +2 -3
- package/dist/strings/format.js +2 -6
- package/dist/strings/predicates.js +0 -2
- package/dist/strings/search.js +1 -2
- package/dist/strings/transform.js +0 -3
- package/dist/strings/width.js +9 -10
- package/dist/tables/bordered.js +4 -3
- package/dist/tables/padding.js +1 -1
- package/dist/tables/simple.js +8 -5
- package/dist/temporal/instant.js +1 -1
- package/dist/temporal/slots.js +6 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.js +1 -2
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +5 -5
- package/dist/versions/_internal.js +3 -3
- package/dist/words/article.js +0 -1
- package/dist/words/capitalize.js +0 -1
- package/dist/words/pluralize.js +15 -5
- package/package.json +247 -106
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -53
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/http-request/checksums.d.ts +0 -69
- package/dist/http-request/checksums.js +0 -108
- package/dist/http-request/http-request.d.ts +0 -12
- package/dist/http-request/http-request.js +0 -11
- package/dist/packages/operations.d.ts +0 -113
- package/dist/packages/operations.js +0 -304
- package/dist/ssri/convert.d.ts +0 -48
- package/dist/ssri/convert.js +0 -69
- package/dist/ssri/parse.d.ts +0 -27
- package/dist/ssri/parse.js +0 -41
- package/dist/ssri/validate.d.ts +0 -41
- package/dist/ssri/validate.js +0 -56
- /package/dist/{bin → cli}/check.d.ts +0 -0
- /package/dist/external-tools/{uv → python}/types.js +0 -0
- /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
- /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
package/dist/integrity.js
CHANGED
|
@@ -1,51 +1,117 @@
|
|
|
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');
|
|
4
5
|
const require_crypto_hash = require('./crypto/hash.js');
|
|
5
6
|
const require_primordials_buffer = require('./primordials/buffer.js');
|
|
6
7
|
const require_primordials_error = require('./primordials/error.js');
|
|
7
|
-
const require_primordials_string = require('./primordials/string.js');
|
|
8
8
|
let node_crypto = require("node:crypto");
|
|
9
|
+
node_crypto = require_runtime.__toESM(node_crypto);
|
|
9
10
|
|
|
10
11
|
//#region src/integrity.ts
|
|
11
12
|
/**
|
|
12
|
-
* @file Integrity
|
|
13
|
-
* Used by `dlx/binary-download` and external-tools resolvers; safe to consume
|
|
14
|
-
* from any module that needs to verify bytes against an expected hash. Single
|
|
15
|
-
* supported format per flavor:
|
|
13
|
+
* @file Integrity + checksum helpers. The fleet uses two named hash flavors:
|
|
16
14
|
*
|
|
17
|
-
* - integrity
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
15
|
+
* - **integrity** — W3C Subresource Integrity string:
|
|
16
|
+
* `sha(256|384|512)-<base64>`. The same shape the npm registry returns and
|
|
17
|
+
* the `<script integrity>` HTML attribute accepts. Algorithm is embedded.
|
|
18
|
+
* - **checksum** — sha256 hex digest, exactly 64 lowercase chars. The shape
|
|
19
|
+
* produced by `shasum -a 256` and used in GitHub-release SHA256SUMS files.
|
|
20
|
+
* Conversion is direction-specific so the names read in English:
|
|
21
|
+
* `checksumToIntegrity(hex)` and `integrityToChecksum(sri)`. Both are
|
|
22
|
+
* idempotent on the destination format (pass an SRI to
|
|
23
|
+
* `checksumToIntegrity`, get the same SRI back) so callers can apply them
|
|
24
|
+
* without first sniffing the input shape. "SSRI" is just another name for
|
|
25
|
+
* Subresource Integrity — this module is the only one that should mention
|
|
26
|
+
* it, and only inside `parseIntegrity` to extract the embedded algorithm +
|
|
27
|
+
* body.
|
|
22
28
|
*/
|
|
23
|
-
const
|
|
24
|
-
const INTEGRITY_BODY_RE = /^[A-Za-z0-9+/=]+$/;
|
|
29
|
+
const INTEGRITY_RE = /^(sha(?:256|384|512))-([A-Za-z0-9+/]+=*)$/;
|
|
25
30
|
const CHECKSUM_RE = /^[a-f0-9]{64}$/i;
|
|
26
31
|
/**
|
|
32
|
+
* Convert a sha256 hex checksum to its SRI integrity form (`sha256-<base64>`).
|
|
33
|
+
* Idempotent on integrity input — call this on user-supplied data without first
|
|
34
|
+
* sniffing the format.
|
|
35
|
+
*
|
|
36
|
+
* The default algorithm is `'sha256'` because that's the fleet's checksum
|
|
37
|
+
* convention; pass an explicit algorithm if you have a hex digest from `sha384`
|
|
38
|
+
* or `sha512` (the function does not verify hex length against the algorithm —
|
|
39
|
+
* caller's responsibility).
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ;```typescript
|
|
43
|
+
* checksumToIntegrity(
|
|
44
|
+
* '3620a0fcaf81ecd3aaeccd5965919d90dbc913f4d07a96e11e7cafc2c785054b',
|
|
45
|
+
* )
|
|
46
|
+
* // 'sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs='
|
|
47
|
+
*
|
|
48
|
+
* checksumToIntegrity('sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=')
|
|
49
|
+
* // 'sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=' (idempotent)
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @throws TypeError when the input is neither a recognized SRI nor a hex
|
|
53
|
+
* digest.
|
|
54
|
+
*/
|
|
55
|
+
function checksumToIntegrity(input, algorithm = "sha256") {
|
|
56
|
+
if (isIntegrity(input)) return input;
|
|
57
|
+
if (!/^[a-f0-9]+$/i.test(input)) throw new require_primordials_error.TypeErrorCtor(`checksumToIntegrity: expected a hex digest or SRI string, got: ${input}`);
|
|
58
|
+
return `${algorithm}-${require_primordials_buffer.BufferPrototypeToString(require_primordials_buffer.BufferFrom(input, "hex"), "base64")}`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
27
61
|
* Compute both integrity (sha512 SRI) and checksum (sha256 hex) for a buffer of
|
|
28
62
|
* bytes.
|
|
29
63
|
*/
|
|
30
64
|
function computeHashes(bytes) {
|
|
31
65
|
return {
|
|
32
|
-
integrity: `sha512-${
|
|
33
|
-
checksum:
|
|
66
|
+
integrity: `sha512-${require_crypto_hash.hash("sha512", bytes, "base64")}`,
|
|
67
|
+
checksum: require_crypto_hash.hash("sha256", bytes, "hex")
|
|
34
68
|
};
|
|
35
69
|
}
|
|
36
|
-
|
|
70
|
+
/**
|
|
71
|
+
* Convert a sha256 SRI integrity string to its hex checksum form (64 lowercase
|
|
72
|
+
* chars). Idempotent on checksum input.
|
|
73
|
+
*
|
|
74
|
+
* Throws on `sha384` and `sha512` SRI — checksums are sha256-only by fleet
|
|
75
|
+
* convention. Callers that need a hex digest for those algorithms can call
|
|
76
|
+
* `parseIntegrity(sri)` and decode `.body` manually.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ;```typescript
|
|
80
|
+
* integrityToChecksum('sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=')
|
|
81
|
+
* // '3620a0fcaf81ecd3aaeccd5965919d90dbc913f4d07a96e11e7cafc2c785054b'
|
|
82
|
+
*
|
|
83
|
+
* integrityToChecksum(
|
|
84
|
+
* '3620a0fcaf81ecd3aaeccd5965919d90dbc913f4d07a96e11e7cafc2c785054b',
|
|
85
|
+
* )
|
|
86
|
+
* // '3620a0fcaf81ecd3aaeccd5965919d90dbc913f4d07a96e11e7cafc2c785054b' (idempotent)
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
89
|
+
* @throws TypeError when the input is neither a recognized SRI nor a hex
|
|
90
|
+
* checksum, or when the input is a non-sha256 SRI.
|
|
91
|
+
*/
|
|
92
|
+
function integrityToChecksum(input) {
|
|
93
|
+
if (isChecksum(input)) return input;
|
|
94
|
+
const parsed = parseIntegrity(input);
|
|
95
|
+
if (parsed.algorithm !== "sha256") throw new require_primordials_error.TypeErrorCtor(`integrityToChecksum: ${parsed.algorithm} integrity has no 64-hex-char checksum form — checksums are sha256-only by fleet convention.`);
|
|
96
|
+
return require_primordials_buffer.BufferPrototypeToString(require_primordials_buffer.BufferFrom(parsed.body, "base64"), "hex");
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* True when `s` is a sha256 hex checksum (exactly 64 hex chars).
|
|
100
|
+
*/
|
|
101
|
+
function isChecksum(s) {
|
|
37
102
|
return CHECKSUM_RE.test(s);
|
|
38
103
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
104
|
+
/**
|
|
105
|
+
* True when `s` is a W3C SRI integrity string: `sha(256|384|512)-<base64>`.
|
|
106
|
+
*/
|
|
107
|
+
function isIntegrity(s) {
|
|
108
|
+
return INTEGRITY_RE.test(s);
|
|
43
109
|
}
|
|
44
110
|
/**
|
|
45
111
|
* Normalize a {@link HashSpec} to its canonical `{ type, value }` form.
|
|
46
112
|
*
|
|
47
113
|
* - Object form is trusted (its `value` is validated for shape).
|
|
48
|
-
* - Bare string matching
|
|
114
|
+
* - Bare string matching SRI → integrity.
|
|
49
115
|
* - Bare string of 64 hex chars → checksum.
|
|
50
116
|
* - Anything else throws TypeError.
|
|
51
117
|
*
|
|
@@ -55,31 +121,51 @@ function isIntegrityString(s) {
|
|
|
55
121
|
function normalizeHash(spec) {
|
|
56
122
|
if (typeof spec === "object" && spec !== null) {
|
|
57
123
|
if (spec.type === "integrity") {
|
|
58
|
-
if (!
|
|
124
|
+
if (!isIntegrity(spec.value)) throw new require_primordials_error.TypeErrorCtor(`normalizeHash: expected SRI integrity "sha(256|384|512)-<base64>", got: ${spec.value}`);
|
|
59
125
|
return {
|
|
60
126
|
type: "integrity",
|
|
61
127
|
value: spec.value
|
|
62
128
|
};
|
|
63
129
|
}
|
|
64
130
|
if (spec.type === "checksum") {
|
|
65
|
-
if (!
|
|
131
|
+
if (!isChecksum(spec.value)) throw new require_primordials_error.TypeErrorCtor(`normalizeHash: expected sha256 hex checksum (64 hex chars), got: ${spec.value}`);
|
|
66
132
|
return {
|
|
67
133
|
type: "checksum",
|
|
68
134
|
value: spec.value
|
|
69
135
|
};
|
|
70
136
|
}
|
|
71
|
-
throw new require_primordials_error.TypeErrorCtor(`
|
|
137
|
+
throw new require_primordials_error.TypeErrorCtor(`normalizeHash: unknown hash type: ${spec.type}`);
|
|
72
138
|
}
|
|
73
|
-
if (typeof spec !== "string") throw new require_primordials_error.TypeErrorCtor(`
|
|
74
|
-
if (
|
|
139
|
+
if (typeof spec !== "string") throw new require_primordials_error.TypeErrorCtor(`normalizeHash: expected string or { type, value }, got: ${typeof spec}`);
|
|
140
|
+
if (isIntegrity(spec)) return {
|
|
75
141
|
type: "integrity",
|
|
76
142
|
value: spec
|
|
77
143
|
};
|
|
78
|
-
if (
|
|
144
|
+
if (isChecksum(spec)) return {
|
|
79
145
|
type: "checksum",
|
|
80
146
|
value: spec
|
|
81
147
|
};
|
|
82
|
-
throw new require_primordials_error.TypeErrorCtor(`
|
|
148
|
+
throw new require_primordials_error.TypeErrorCtor(`normalizeHash: unrecognized hash format. Expected SRI integrity ("sha(256|384|512)-<base64>") or sha256 hex checksum (64 hex chars), got: ${spec}`);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Split an integrity string into its `{ algorithm, body }` components. `body`
|
|
152
|
+
* is the base64-encoded digest (everything after the algorithm + dash).
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ;```typescript
|
|
156
|
+
* parseIntegrity('sha256-NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=')
|
|
157
|
+
* // { algorithm: 'sha256', body: 'NiCg/K+B7NOq7M1ZZZGdkNvJE/TQepbhHnyvwseFBUs=' }
|
|
158
|
+
* ```
|
|
159
|
+
*
|
|
160
|
+
* @throws Error when the input is not a valid SRI integrity string.
|
|
161
|
+
*/
|
|
162
|
+
function parseIntegrity(sri) {
|
|
163
|
+
const m = INTEGRITY_RE.exec(sri);
|
|
164
|
+
if (!m) throw new require_primordials_error.ErrorCtor(`parseIntegrity: invalid SRI format: ${sri}`);
|
|
165
|
+
return {
|
|
166
|
+
algorithm: m[1],
|
|
167
|
+
body: m[2]
|
|
168
|
+
};
|
|
83
169
|
}
|
|
84
170
|
/**
|
|
85
171
|
* Verify computed hashes against an expected {@link NormalizedHash}. Uses
|
|
@@ -92,7 +178,7 @@ function verifyHash(expected, computed) {
|
|
|
92
178
|
const actual = expected.type === "integrity" ? computed.integrity : computed.checksum;
|
|
93
179
|
const expectedBuf = require_primordials_buffer.BufferFrom(expected.value);
|
|
94
180
|
const actualBuf = require_primordials_buffer.BufferFrom(actual);
|
|
95
|
-
if (expectedBuf.length !== actualBuf.length || !
|
|
181
|
+
if (expectedBuf.length !== actualBuf.length || !node_crypto.default.timingSafeEqual(expectedBuf, actualBuf)) throw new DlxHashMismatchError(expected, computed);
|
|
96
182
|
}
|
|
97
183
|
/**
|
|
98
184
|
* Thrown when an expected hash doesn't match the computed hash of the
|
|
@@ -112,8 +198,11 @@ var DlxHashMismatchError = class extends Error {
|
|
|
112
198
|
|
|
113
199
|
//#endregion
|
|
114
200
|
exports.DlxHashMismatchError = DlxHashMismatchError;
|
|
201
|
+
exports.checksumToIntegrity = checksumToIntegrity;
|
|
115
202
|
exports.computeHashes = computeHashes;
|
|
116
|
-
exports.
|
|
117
|
-
exports.
|
|
203
|
+
exports.integrityToChecksum = integrityToChecksum;
|
|
204
|
+
exports.isChecksum = isChecksum;
|
|
205
|
+
exports.isIntegrity = isIntegrity;
|
|
118
206
|
exports.normalizeHash = normalizeHash;
|
|
207
|
+
exports.parseIntegrity = parseIntegrity;
|
|
119
208
|
exports.verifyHash = verifyHash;
|
package/dist/ipc/directory.js
CHANGED
|
@@ -27,8 +27,8 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
27
27
|
* @internal
|
|
28
28
|
*/
|
|
29
29
|
async function ensureIpcDirectory(filePath) {
|
|
30
|
-
const fs =
|
|
31
|
-
const dir =
|
|
30
|
+
const fs = require_node_fs.getNodeFs();
|
|
31
|
+
const dir = require_node_path.getNodePath().dirname(filePath);
|
|
32
32
|
await fs.promises.mkdir(dir, {
|
|
33
33
|
recursive: true,
|
|
34
34
|
mode: 448
|
package/dist/ipc/paths.js
CHANGED
|
@@ -46,7 +46,7 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
46
46
|
*/
|
|
47
47
|
function getIpcStubPath(appName) {
|
|
48
48
|
const tempDir = require_paths_socket.getOsTmpDir();
|
|
49
|
-
const path =
|
|
49
|
+
const path = require_node_path.getNodePath();
|
|
50
50
|
const stubDir = path.join(tempDir, ".socket-ipc", appName);
|
|
51
51
|
return path.join(stubDir, `stub-${node_process.default.pid}.json`);
|
|
52
52
|
}
|
package/dist/ipc/write.js
CHANGED
|
@@ -60,7 +60,7 @@ async function writeIpcStub(appName, data) {
|
|
|
60
60
|
pid: node_process.default.pid,
|
|
61
61
|
timestamp: require_primordials_date.DateNow()
|
|
62
62
|
});
|
|
63
|
-
const fs =
|
|
63
|
+
const fs = require_node_fs.getNodeFs();
|
|
64
64
|
const flags = fs.constants.O_CREAT | fs.constants.O_WRONLY | fs.constants.O_EXCL | fs.constants.O_NOFOLLOW;
|
|
65
65
|
let handle;
|
|
66
66
|
try {
|
package/dist/ipc-cli/get.js
CHANGED
|
@@ -12,21 +12,21 @@ const require_primordials_object = require('../primordials/object.js');
|
|
|
12
12
|
* `@socketsecurity/lib/ipc` (`getIpcStubPath`, `writeIpcStub`) for cases
|
|
13
13
|
* where data exceeds env-var size limits.
|
|
14
14
|
*/
|
|
15
|
-
let
|
|
15
|
+
let ipcObject;
|
|
16
16
|
async function getIpc(key) {
|
|
17
|
-
if (
|
|
18
|
-
|
|
17
|
+
if (ipcObject === void 0) {
|
|
18
|
+
ipcObject = {};
|
|
19
19
|
const { env } = process;
|
|
20
|
-
if (env["SOCKET_CLI_FIX"])
|
|
21
|
-
if (env["SOCKET_CLI_OPTIMIZE"])
|
|
22
|
-
if (env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"])
|
|
23
|
-
if (env["SOCKET_CLI_SHADOW_API_TOKEN"])
|
|
24
|
-
if (env["SOCKET_CLI_SHADOW_BIN"])
|
|
25
|
-
if (env["SOCKET_CLI_SHADOW_PROGRESS"])
|
|
26
|
-
if (env["SOCKET_CLI_SHADOW_SILENT"])
|
|
27
|
-
require_primordials_object.ObjectFreeze(
|
|
20
|
+
if (env["SOCKET_CLI_FIX"]) ipcObject.SOCKET_CLI_FIX = env["SOCKET_CLI_FIX"];
|
|
21
|
+
if (env["SOCKET_CLI_OPTIMIZE"]) ipcObject.SOCKET_CLI_OPTIMIZE = env["SOCKET_CLI_OPTIMIZE"] === "1" || env["SOCKET_CLI_OPTIMIZE"] === "true";
|
|
22
|
+
if (env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"]) ipcObject.SOCKET_CLI_SHADOW_ACCEPT_RISKS = env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"] === "1" || env["SOCKET_CLI_SHADOW_ACCEPT_RISKS"] === "true";
|
|
23
|
+
if (env["SOCKET_CLI_SHADOW_API_TOKEN"]) ipcObject.SOCKET_CLI_SHADOW_API_TOKEN = env["SOCKET_CLI_SHADOW_API_TOKEN"];
|
|
24
|
+
if (env["SOCKET_CLI_SHADOW_BIN"]) ipcObject.SOCKET_CLI_SHADOW_BIN = env["SOCKET_CLI_SHADOW_BIN"];
|
|
25
|
+
if (env["SOCKET_CLI_SHADOW_PROGRESS"]) ipcObject.SOCKET_CLI_SHADOW_PROGRESS = env["SOCKET_CLI_SHADOW_PROGRESS"] === "1" || env["SOCKET_CLI_SHADOW_PROGRESS"] === "true";
|
|
26
|
+
if (env["SOCKET_CLI_SHADOW_SILENT"]) ipcObject.SOCKET_CLI_SHADOW_SILENT = env["SOCKET_CLI_SHADOW_SILENT"] === "1" || env["SOCKET_CLI_SHADOW_SILENT"] === "true";
|
|
27
|
+
require_primordials_object.ObjectFreeze(ipcObject);
|
|
28
28
|
}
|
|
29
|
-
return key ?
|
|
29
|
+
return key ? ipcObject[key] : ipcObject;
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
//#endregion
|
package/dist/json/edit.js
CHANGED
|
@@ -6,10 +6,10 @@ const require_primordials_error = require('../primordials/error.js');
|
|
|
6
6
|
const require_node_fs = require('../node/fs.js');
|
|
7
7
|
const require_primordials_json = require('../primordials/json.js');
|
|
8
8
|
const require_errors_predicates = require('../errors/predicates.js');
|
|
9
|
+
const require_promises_timers = require('../promises/timers.js');
|
|
9
10
|
const require_json_format = require('./format.js');
|
|
10
11
|
let node_process = require("node:process");
|
|
11
12
|
node_process = require_runtime.__toESM(node_process);
|
|
12
|
-
let node_timers_promises = require("node:timers/promises");
|
|
13
13
|
|
|
14
14
|
//#region src/json/edit.ts
|
|
15
15
|
/**
|
|
@@ -17,7 +17,7 @@ let node_timers_promises = require("node:timers/promises");
|
|
|
17
17
|
*/
|
|
18
18
|
const identSymbol = require_json_format.INDENT_SYMBOL;
|
|
19
19
|
const newlineSymbol = require_json_format.NEWLINE_SYMBOL;
|
|
20
|
-
let
|
|
20
|
+
let editableJsonClass;
|
|
21
21
|
/**
|
|
22
22
|
* Get the EditableJson class for JSON file manipulation.
|
|
23
23
|
*
|
|
@@ -31,9 +31,8 @@ let _EditableJsonClass;
|
|
|
31
31
|
* await config.save({ sort: true })
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
|
34
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
35
34
|
function getEditableJsonClass() {
|
|
36
|
-
if (
|
|
35
|
+
if (editableJsonClass === void 0) editableJsonClass = class EditableJson {
|
|
37
36
|
_canSave = true;
|
|
38
37
|
_content = {};
|
|
39
38
|
_path = void 0;
|
|
@@ -108,7 +107,7 @@ function getEditableJsonClass() {
|
|
|
108
107
|
if (!require_json_format.shouldSave(this.content, this._readFileJson, this._readFileContent, options)) return false;
|
|
109
108
|
const content = require_json_format.stripFormattingSymbols(this.content);
|
|
110
109
|
const fileContent = require_json_format.stringifyWithFormatting(options?.sort ? require_json_format.sortKeys(content) : content, require_json_format.getFormattingFromContent(this.content));
|
|
111
|
-
|
|
110
|
+
require_node_fs.getNodeFs().writeFileSync(this.filename, fileContent);
|
|
112
111
|
this._readFileContent = fileContent;
|
|
113
112
|
this._readFileJson = require_primordials_json.JSONParse(fileContent);
|
|
114
113
|
return true;
|
|
@@ -125,7 +124,7 @@ function getEditableJsonClass() {
|
|
|
125
124
|
return require_json_format.shouldSave(this.content, this._readFileJson, this._readFileContent, options);
|
|
126
125
|
}
|
|
127
126
|
};
|
|
128
|
-
return
|
|
127
|
+
return editableJsonClass;
|
|
129
128
|
}
|
|
130
129
|
/**
|
|
131
130
|
* Read file content from disk with retry logic for ENOENT errors.
|
|
@@ -133,7 +132,7 @@ function getEditableJsonClass() {
|
|
|
133
132
|
* @private
|
|
134
133
|
*/
|
|
135
134
|
async function readFile(filepath) {
|
|
136
|
-
const { promises: fsPromises } =
|
|
135
|
+
const { promises: fsPromises } = require_node_fs.getNodeFs();
|
|
137
136
|
/* c8 ignore start */
|
|
138
137
|
const maxRetries = node_process.default.platform === "win32" ? 5 : 1;
|
|
139
138
|
for (let attempt = 0; attempt <= maxRetries; attempt++) try {
|
|
@@ -141,7 +140,7 @@ async function readFile(filepath) {
|
|
|
141
140
|
} catch (e) {
|
|
142
141
|
const isLastAttempt = attempt === maxRetries;
|
|
143
142
|
if (!(require_errors_predicates.isErrnoException(e) && e.code === "ENOENT") || isLastAttempt) throw e;
|
|
144
|
-
await
|
|
143
|
+
await require_promises_timers.sleep(node_process.default.platform === "win32" ? 50 * (attempt + 1) : 20);
|
|
145
144
|
}
|
|
146
145
|
/* c8 ignore stop */
|
|
147
146
|
/* c8 ignore next 3 - Loop has 'return' on success and 'throw' in
|
|
@@ -156,22 +155,22 @@ async function readFile(filepath) {
|
|
|
156
155
|
* @private
|
|
157
156
|
*/
|
|
158
157
|
async function retryWrite(filepath, content, retries = 3, baseDelay = 10) {
|
|
159
|
-
const fs =
|
|
158
|
+
const fs = require_node_fs.getNodeFs();
|
|
160
159
|
const { promises: fsPromises } = fs;
|
|
161
160
|
for (let attempt = 0; attempt <= retries; attempt++) try {
|
|
162
161
|
await fsPromises.writeFile(filepath, content);
|
|
163
162
|
/* c8 ignore start - Windows-only flush+verify loop. Tested on
|
|
164
163
|
Windows runners. */
|
|
165
164
|
if (node_process.default.platform === "win32") {
|
|
166
|
-
await
|
|
165
|
+
await require_promises_timers.sleep(50);
|
|
167
166
|
let accessRetries = 0;
|
|
168
167
|
const maxAccessRetries = 5;
|
|
169
168
|
while (accessRetries < maxAccessRetries) {
|
|
170
169
|
if (fs.existsSync(filepath)) {
|
|
171
|
-
await
|
|
170
|
+
await require_promises_timers.sleep(10);
|
|
172
171
|
break;
|
|
173
172
|
}
|
|
174
|
-
await
|
|
173
|
+
await require_promises_timers.sleep(20 * (accessRetries + 1));
|
|
175
174
|
accessRetries++;
|
|
176
175
|
}
|
|
177
176
|
}
|
|
@@ -179,8 +178,8 @@ async function retryWrite(filepath, content, retries = 3, baseDelay = 10) {
|
|
|
179
178
|
return;
|
|
180
179
|
} catch (e) {
|
|
181
180
|
const isLastAttempt = attempt === retries;
|
|
182
|
-
if (!(require_errors_predicates.isErrnoException(e) && (e.code === "
|
|
183
|
-
await
|
|
181
|
+
if (!(require_errors_predicates.isErrnoException(e) && (e.code === "EBUSY" || e.code === "ENOENT" || e.code === "EPERM")) || isLastAttempt) throw e;
|
|
182
|
+
await require_promises_timers.sleep(baseDelay * 2 ** attempt);
|
|
184
183
|
}
|
|
185
184
|
}
|
|
186
185
|
|
package/dist/json/format.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
const require_primordials_object = require('../primordials/object.js');
|
|
5
4
|
const require_primordials_json = require('../primordials/json.js');
|
|
5
|
+
const require_primordials_object = require('../primordials/object.js');
|
|
6
6
|
|
|
7
7
|
//#region src/json/format.ts
|
|
8
8
|
/**
|
|
@@ -165,7 +165,7 @@ function shouldSave(currentContent, originalContent, originalFileContent, option
|
|
|
165
165
|
*/
|
|
166
166
|
function sortKeys(obj) {
|
|
167
167
|
const sorted = { __proto__: null };
|
|
168
|
-
const keys = require_primordials_object.ObjectKeys(obj).
|
|
168
|
+
const keys = require_primordials_object.ObjectKeys(obj).toSorted();
|
|
169
169
|
for (const key of keys) sorted[key] = obj[key];
|
|
170
170
|
return sorted;
|
|
171
171
|
}
|
package/dist/json/parse.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* limits + optional schema validation).
|
|
6
6
|
*/
|
|
7
7
|
import type { Schema } from '../schema/types';
|
|
8
|
-
import type {
|
|
8
|
+
import type { JsonPrimitive, JsonValue, ParseJsonOptions, ParseJsonSafeOptions } from './types';
|
|
9
9
|
/**
|
|
10
10
|
* Check if a value is a Buffer instance. Uses duck-typing to detect Buffer
|
|
11
11
|
* without requiring Node.js Buffer in type system.
|
package/dist/json/parse.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
const require_primordials_buffer = require('../primordials/buffer.js');
|
|
5
5
|
const require_primordials_error = require('../primordials/error.js');
|
|
6
6
|
const require_primordials_map_set = require('../primordials/map-set.js');
|
|
7
|
+
const require_primordials_json = require('../primordials/json.js');
|
|
7
8
|
const require_schema_validate = require('../schema/validate.js');
|
|
8
9
|
const require_strings_transform = require('../strings/transform.js');
|
|
9
|
-
const require_primordials_json = require('../primordials/json.js');
|
|
10
10
|
|
|
11
11
|
//#region src/json/parse.ts
|
|
12
12
|
/**
|
|
@@ -30,7 +30,6 @@ const require_primordials_json = require('../primordials/json.js');
|
|
|
30
30
|
*
|
|
31
31
|
* @returns `true` if value is a Buffer, `false` otherwise
|
|
32
32
|
*/
|
|
33
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
34
33
|
function isBuffer(x) {
|
|
35
34
|
if (!x || typeof x !== "object") return false;
|
|
36
35
|
const obj = x;
|
|
@@ -59,7 +58,6 @@ function isBuffer(x) {
|
|
|
59
58
|
*
|
|
60
59
|
* @returns `true` if value is a JSON primitive, `false` otherwise
|
|
61
60
|
*/
|
|
62
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
63
61
|
function isJsonPrimitive(value) {
|
|
64
62
|
return value === null || typeof value === "boolean" || typeof value === "number" || typeof value === "string";
|
|
65
63
|
}
|
|
@@ -117,16 +115,15 @@ function isJsonPrimitive(value) {
|
|
|
117
115
|
*
|
|
118
116
|
* @throws {SyntaxError} When JSON is invalid and `throws` is `true` (default)
|
|
119
117
|
*/
|
|
120
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
121
118
|
function parseJson(content, options) {
|
|
122
119
|
const { filepath, reviver, throws } = {
|
|
123
120
|
__proto__: null,
|
|
124
121
|
...options
|
|
125
122
|
};
|
|
126
123
|
const shouldThrow = throws === void 0 || !!throws;
|
|
127
|
-
const jsonStr =
|
|
124
|
+
const jsonStr = isBuffer(content) ? content.toString("utf8") : content;
|
|
128
125
|
try {
|
|
129
|
-
return require_primordials_json.JSONParse(
|
|
126
|
+
return require_primordials_json.JSONParse(require_strings_transform.stripBom(jsonStr), reviver);
|
|
130
127
|
} catch (e) {
|
|
131
128
|
if (shouldThrow) {
|
|
132
129
|
const error = e;
|
|
@@ -183,7 +180,6 @@ const DEFAULT_MAX_SIZE = 10 * 1024 * 1024;
|
|
|
183
180
|
* `allowPrototype` is not `true`).
|
|
184
181
|
* @throws {Error} When schema validation fails.
|
|
185
182
|
*/
|
|
186
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
187
183
|
function parseJsonSafe(jsonString, schema, options = {}) {
|
|
188
184
|
const { allowPrototype = false, maxSize = DEFAULT_MAX_SIZE } = options;
|
|
189
185
|
if (require_primordials_buffer.BufferByteLength(jsonString, "utf8") > maxSize) throw new require_primordials_error.ErrorCtor(`JSON string exceeds maximum size limit${maxSize !== DEFAULT_MAX_SIZE ? ` of ${maxSize} bytes` : ""}`);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* public `Logger` surface) and `logger/console-init` (which mutates
|
|
4
4
|
* `Logger.prototype` to mirror `globalConsole`). The `_` prefix keeps this
|
|
5
5
|
* module out of the generated package.json `exports` map (the `dist/**\/_*`
|
|
6
|
-
* ignore pattern in `scripts/
|
|
6
|
+
* ignore pattern in `scripts/post-build/make-package-exports.mts` filters it
|
|
7
7
|
* out), so it is not part of the public surface — it exists only to give the
|
|
8
8
|
* two leaves above a common owner for the WeakMap-backed lazy-init state. Why
|
|
9
9
|
* two WeakMaps instead of `#privateField` slots:
|
|
@@ -32,9 +32,9 @@ export declare const globalConsole: Console;
|
|
|
32
32
|
*/
|
|
33
33
|
export declare const consolePropAttributes: {
|
|
34
34
|
__proto__: null;
|
|
35
|
-
writable: boolean;
|
|
36
|
-
enumerable: boolean;
|
|
37
35
|
configurable: boolean;
|
|
36
|
+
enumerable: boolean;
|
|
37
|
+
writable: boolean;
|
|
38
38
|
};
|
|
39
39
|
/**
|
|
40
40
|
* Cap on the indentation prefix length so a runaway `indent(n)` call with a
|
|
@@ -58,7 +58,7 @@ export declare const maxIndentation = 1000;
|
|
|
58
58
|
* the Logger's own group methods avoid by tracking indentation at the prefix
|
|
59
59
|
* layer.
|
|
60
60
|
*/
|
|
61
|
-
export declare const boundConsoleEntries:
|
|
61
|
+
export declare const boundConsoleEntries: [string, (...args: unknown[]) => unknown][];
|
|
62
62
|
/**
|
|
63
63
|
* WeakMap storing the Console instance for each Logger.
|
|
64
64
|
*
|
package/dist/logger/_internal.js
CHANGED
|
@@ -9,7 +9,7 @@ const require_primordials_map_set = require('../primordials/map-set.js');
|
|
|
9
9
|
* public `Logger` surface) and `logger/console-init` (which mutates
|
|
10
10
|
* `Logger.prototype` to mirror `globalConsole`). The `_` prefix keeps this
|
|
11
11
|
* module out of the generated package.json `exports` map (the `dist/**\/_*`
|
|
12
|
-
* ignore pattern in `scripts/
|
|
12
|
+
* ignore pattern in `scripts/post-build/make-package-exports.mts` filters it
|
|
13
13
|
* out), so it is not part of the public surface — it exists only to give the
|
|
14
14
|
* two leaves above a common owner for the WeakMap-backed lazy-init state. Why
|
|
15
15
|
* two WeakMaps instead of `#privateField` slots:
|
|
@@ -38,9 +38,9 @@ const globalConsole = console;
|
|
|
38
38
|
*/
|
|
39
39
|
const consolePropAttributes = {
|
|
40
40
|
__proto__: null,
|
|
41
|
-
|
|
41
|
+
configurable: true,
|
|
42
42
|
enumerable: false,
|
|
43
|
-
|
|
43
|
+
writable: true
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
46
|
* Cap on the indentation prefix length so a runaway `indent(n)` call with a
|
package/dist/logger/colors.js
CHANGED
|
@@ -17,16 +17,17 @@ src_external_yoctocolors_cjs = require_runtime.__toESM(src_external_yoctocolors_
|
|
|
17
17
|
* Apply a color to text using yoctocolors. Handles both named colors and RGB
|
|
18
18
|
* tuples.
|
|
19
19
|
*/
|
|
20
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
21
20
|
function applyColor(text, color, colors) {
|
|
22
|
-
if (typeof color === "string")
|
|
21
|
+
if (typeof color === "string") {
|
|
22
|
+
const formatter = colors[color];
|
|
23
|
+
return formatter ? formatter(text) : text;
|
|
24
|
+
}
|
|
23
25
|
const { 0: r, 1: g, 2: b } = color;
|
|
24
26
|
return `\u001B[38;2;${r};${g};${b}m${text}\u001B[39m`;
|
|
25
27
|
}
|
|
26
28
|
/**
|
|
27
29
|
* Get the yoctocolors module for terminal colors.
|
|
28
30
|
*/
|
|
29
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
30
31
|
function getYoctocolors() {
|
|
31
32
|
return src_external_yoctocolors_cjs.default;
|
|
32
33
|
}
|