@socketsecurity/lib 6.0.6 → 6.0.8
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 +46 -1
- package/README.md +1 -1
- package/dist/ai/agent-context.d.mts +103 -0
- package/dist/ai/agent-context.js +157 -0
- package/dist/ai/backends.d.mts +83 -0
- package/dist/ai/backends.js +173 -0
- package/dist/ai/credentials.d.mts +49 -0
- package/dist/ai/credentials.js +82 -0
- package/dist/ai/discover.d.mts +6 -2
- package/dist/ai/discover.js +4 -3
- package/dist/ai/exec.d.mts +52 -0
- package/dist/ai/exec.js +92 -0
- package/dist/ai/http.d.mts +132 -0
- package/dist/ai/http.js +130 -0
- package/dist/ai/profiles.d.mts +41 -6
- package/dist/ai/profiles.js +52 -10
- package/dist/ai/route.d.mts +69 -0
- package/dist/ai/route.js +156 -0
- package/dist/ai/spawn.d.mts +10 -2
- package/dist/ai/spawn.js +56 -31
- package/dist/ai/subagent-status.d.mts +48 -0
- package/dist/ai/subagent-status.js +57 -0
- package/dist/ai/tier.d.mts +60 -0
- package/dist/ai/tier.js +53 -0
- package/dist/ai/types.d.mts +31 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +5 -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 +7 -7
- package/dist/archives/zip.js +5 -7
- 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 +20 -3
- package/dist/argv/parse.js +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 +47 -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 +17 -17
- package/dist/bin/prim.cjs +36175 -35861
- package/dist/bin/resolve.js +13 -14
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +6 -6
- 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 +18 -13
- package/dist/{bin → cli}/check-primordials.js +58 -55
- 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 +18 -18
- package/dist/compression/brotli.d.ts +26 -27
- package/dist/compression/brotli.js +39 -35
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +46 -42
- 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.d.ts +3 -0
- package/dist/constants/packages.js +24 -29
- 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.d.ts +2 -6
- package/dist/constants/socket.js +12 -14
- package/dist/cover/code.js +10 -10
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +30 -2
- package/dist/crypto/hash.js +47 -13
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +3 -4
- 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 +18 -8
- package/dist/dlx/binary-cache.js +15 -15
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +11 -11
- package/dist/dlx/binary-resolution.js +17 -15
- 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 +42 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +9 -1
- package/dist/dlx/firewall.js +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +19 -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 +20 -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 +2 -3
- package/dist/eco/cargo/parse-lockfile.js +5 -5
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +5 -5
- 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 +17 -18
- package/dist/eco/npm/npm/parse-lockfile.js +4 -4
- package/dist/eco/npm/parse-package-json.d.ts +11 -0
- 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 +6 -4
- package/dist/eco/npm/pnpm/parse-lockfile.js +7 -7
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +4 -4
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +3 -4
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +9 -9
- 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/proxy.js +1 -1
- package/dist/env/rewire.d.ts +8 -6
- package/dist/env/rewire.js +16 -17
- 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 +8 -109
- package/dist/env/socket.js +22 -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/errors/predicates.js +1 -1
- 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/@npmcli/promise-spawn.js +3 -1
- package/dist/external/npm-pack.js +2 -2
- package/dist/external/pico-pack.js +4 -2
- package/dist/external/which.js +3 -1
- package/dist/external-tools/bazel/asset-names.d.ts +1 -1
- package/dist/external-tools/bazel/asset-names.js +5 -2
- package/dist/external-tools/bazel/from-download.d.ts +1 -1
- package/dist/external-tools/bazel/from-download.js +5 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/resolve-bazel-version.js +4 -0
- package/dist/external-tools/bazel/resolve.d.ts +3 -3
- package/dist/external-tools/bazel/resolve.js +16 -8
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/asset-names.d.ts +1 -1
- package/dist/external-tools/cdxgen/asset-names.js +5 -2
- package/dist/external-tools/cdxgen/from-download.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-download.js +7 -4
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/resolve.d.ts +3 -3
- package/dist/external-tools/cdxgen/resolve.js +16 -8
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +3 -3
- package/dist/external-tools/from-download.js +12 -6
- package/dist/external-tools/from-pip-venv.d.ts +1 -1
- package/dist/external-tools/from-pip-venv.js +12 -5
- package/dist/external-tools/janus/asset-names.d.ts +1 -1
- package/dist/external-tools/janus/asset-names.js +5 -2
- package/dist/external-tools/janus/from-download.d.ts +1 -1
- package/dist/external-tools/janus/from-download.js +5 -2
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/resolve.d.ts +3 -3
- package/dist/external-tools/janus/resolve.js +16 -8
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/asset-names.d.ts +1 -1
- package/dist/external-tools/jre/asset-names.js +5 -2
- 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.d.ts +1 -1
- package/dist/external-tools/jre/from-download.js +7 -4
- package/dist/external-tools/jre/from-java-home.js +2 -2
- package/dist/external-tools/jre/from-vfs.js +3 -3
- package/dist/external-tools/jre/resolve.d.ts +3 -3
- package/dist/external-tools/jre/resolve.js +16 -8
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +25 -7
- package/dist/external-tools/manifest.js +13 -13
- package/dist/external-tools/opengrep/asset-names.d.ts +1 -1
- package/dist/external-tools/opengrep/asset-names.js +5 -2
- package/dist/external-tools/opengrep/from-download.d.ts +1 -1
- package/dist/external-tools/opengrep/from-download.js +5 -2
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/resolve.d.ts +3 -3
- package/dist/external-tools/opengrep/resolve.js +16 -8
- 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 +111 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +98 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +75 -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 +176 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +142 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +66 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/asset-names.d.ts +1 -1
- package/dist/external-tools/sbt/asset-names.js +5 -2
- package/dist/external-tools/sbt/from-download.d.ts +1 -1
- package/dist/external-tools/sbt/from-download.js +5 -2
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/resolve.d.ts +3 -3
- package/dist/external-tools/sbt/resolve.js +16 -8
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.js +10 -3
- package/dist/external-tools/skillspector/from-path.js +3 -5
- package/dist/external-tools/skillspector/from-vfs.js +1 -1
- package/dist/external-tools/skillspector/resolve.d.ts +2 -2
- package/dist/external-tools/skillspector/resolve.js +14 -6
- package/dist/external-tools/synp/asset-names.d.ts +1 -1
- package/dist/external-tools/synp/asset-names.js +6 -2
- package/dist/external-tools/synp/from-download.d.ts +1 -1
- package/dist/external-tools/synp/from-download.js +7 -4
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/synp/resolve.d.ts +3 -3
- package/dist/external-tools/synp/resolve.js +16 -8
- package/dist/external-tools/trivy/asset-names.d.ts +1 -1
- package/dist/external-tools/trivy/asset-names.js +5 -2
- package/dist/external-tools/trivy/from-download.d.ts +1 -1
- package/dist/external-tools/trivy/from-download.js +7 -4
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/resolve.d.ts +3 -3
- package/dist/external-tools/trivy/resolve.js +16 -8
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/asset-names.d.ts +1 -1
- package/dist/external-tools/trufflehog/asset-names.js +5 -2
- package/dist/external-tools/trufflehog/from-download.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-download.js +7 -4
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/resolve.d.ts +3 -3
- package/dist/external-tools/trufflehog/resolve.js +16 -8
- 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/allowed-dirs-cache.d.ts +47 -0
- package/dist/fs/allowed-dirs-cache.js +69 -0
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +12 -14
- 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 +13 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +7 -3
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +13 -14
- 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 +11 -11
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +5 -7
- package/dist/git/staged.js +12 -4
- package/dist/git/tracked.d.ts +84 -0
- package/dist/git/tracked.js +163 -0
- package/dist/git/unstaged.js +12 -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-graphql.js +4 -0
- package/dist/github/refs-rest.js +9 -5
- package/dist/github/refs.js +15 -10
- 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 +8 -10
- package/dist/globs/match.js +13 -7
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +16 -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 +10 -4
- 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/{browser-fetch.d.ts → fetch/browser.d.ts} +2 -2
- package/dist/http-request/{browser-fetch.js → fetch/browser.js} +4 -4
- package/dist/http-request/headers.js +1 -2
- package/dist/http-request/request-attempt.js +38 -34
- 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 +4 -5
- package/dist/integrity.d.ts +92 -18
- package/dist/integrity.js +125 -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 +51 -44
- package/dist/json/format.js +1 -1
- 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 +144 -0
- package/dist/native-messaging/rate-limit.d.ts +69 -0
- package/dist/native-messaging/rate-limit.js +119 -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.d.ts +22 -6
- package/dist/node/fs.js +17 -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.d.ts +10 -2
- package/dist/node/os.js +12 -4
- package/dist/node/path.d.ts +11 -2
- package/dist/node/path.js +18 -4
- 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 +6 -8
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +4 -5
- package/dist/objects/predicates.js +1 -5
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.d.ts +2 -3
- package/dist/packages/edit-class.js +53 -48
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +15 -21
- 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 +18 -18
- package/dist/packages/manifest.js +16 -19
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +6 -10
- package/dist/packages/provenance.js +17 -19
- 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 +75 -12
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +81 -0
- package/dist/packages/types.d.ts +22 -22
- 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/dirnames.d.ts +1 -0
- package/dist/paths/dirnames.js +2 -0
- 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 +17 -25
- package/dist/paths/rewire.d.ts +5 -0
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.d.ts +74 -111
- package/dist/paths/socket.js +106 -139
- 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/process.d.ts +88 -0
- package/dist/primordials/process.js +132 -0
- 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.d.ts +1 -2
- 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 +20 -14
- package/dist/process/spawn/errors.js +3 -5
- 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/regexps/spec.js +1 -1
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +3 -3
- 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 +12 -4
- 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 +4 -5
- package/dist/schema/validate.js +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/find.d.ts +2 -2
- package/dist/secrets/find.js +10 -4
- package/dist/secrets/keychain.d.ts +1 -1
- package/dist/secrets/keychain.js +6 -4
- package/dist/secrets/linux.js +40 -52
- package/dist/secrets/macos.d.ts +2 -3
- package/dist/secrets/macos.js +24 -33
- package/dist/secrets/rc.d.ts +4 -4
- package/dist/secrets/rc.js +27 -17
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +26 -9
- package/dist/secrets/windows.js +32 -37
- package/dist/shadow/skip.js +2 -2
- package/dist/shell/parse.d.ts +32 -0
- package/dist/shell/parse.js +60 -0
- 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 +105 -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 +8 -5
- package/dist/spinner/spinner.js +19 -706
- 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 +10 -6
- package/dist/stdio/prompts.d.ts +7 -5
- package/dist/stdio/prompts.js +7 -8
- 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/assert-safe.d.ts +29 -0
- package/dist/url/assert-safe.js +54 -0
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.d.ts +31 -1
- package/dist/url/predicates.js +43 -3
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +9 -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 +419 -216
- 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/fs/path-cache.d.ts +0 -21
- package/dist/fs/path-cache.js +0 -34
- 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/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
*
|
|
6
6
|
* - Stat-validated keys: a `stat()` call before serving a cache hit ensures the
|
|
7
7
|
* file hasn't changed (mtime + size mismatch ⇒ cache miss, re-read).
|
|
8
|
-
* - Defensive clone on hit: every hit returns
|
|
9
|
-
* callers can mutate the returned
|
|
10
|
-
* the next reader. The clone cost is
|
|
11
|
-
* anything bigger than a trivial JSON
|
|
8
|
+
* - Defensive clone on hit: every hit returns a JSON round-trip clone
|
|
9
|
+
* (`JSON.parse(JSON.stringify(parsed))`) so callers can mutate the returned
|
|
10
|
+
* object without poisoning the cache for the next reader. The clone cost is
|
|
11
|
+
* far less than re-read + re-parse for anything bigger than a trivial JSON
|
|
12
|
+
* document, and the round-trip is faster than `structuredClone` over the
|
|
13
|
+
* JSON subset these values always belong to.
|
|
12
14
|
* - Reviver opt-out: when the caller passes a `reviver` function, we skip the
|
|
13
15
|
* cache. Function identity isn't safely hashable across boundaries, and the
|
|
14
16
|
* reviver can produce a different shape from the same bytes.
|
|
@@ -28,6 +30,13 @@
|
|
|
28
30
|
* CWDs would get separate cache entries — correct but pessimistic.
|
|
29
31
|
*/
|
|
30
32
|
import type { JsonValue } from '../json/types';
|
|
33
|
+
export interface CacheEntry {
|
|
34
|
+
ino: number;
|
|
35
|
+
size: number;
|
|
36
|
+
mtimeMs: number;
|
|
37
|
+
parsed: JsonValue;
|
|
38
|
+
insertedAt: number;
|
|
39
|
+
}
|
|
31
40
|
/**
|
|
32
41
|
* Drop all cached entries. Tests call this between cases that depend on a fresh
|
|
33
42
|
* read; long-running daemons can call it on file-watcher invalidation events
|
|
@@ -6,6 +6,7 @@ const require_primordials_error = require('../primordials/error.js');
|
|
|
6
6
|
const require_primordials_number = require('../primordials/number.js');
|
|
7
7
|
const require_primordials_map_set = require('../primordials/map-set.js');
|
|
8
8
|
const require_primordials_date = require('../primordials/date.js');
|
|
9
|
+
const require_primordials_json = require('../primordials/json.js');
|
|
9
10
|
let node_process = require("node:process");
|
|
10
11
|
node_process = require_runtime.__toESM(node_process);
|
|
11
12
|
|
|
@@ -17,10 +18,12 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
17
18
|
*
|
|
18
19
|
* - Stat-validated keys: a `stat()` call before serving a cache hit ensures the
|
|
19
20
|
* file hasn't changed (mtime + size mismatch ⇒ cache miss, re-read).
|
|
20
|
-
* - Defensive clone on hit: every hit returns
|
|
21
|
-
* callers can mutate the returned
|
|
22
|
-
* the next reader. The clone cost is
|
|
23
|
-
* anything bigger than a trivial JSON
|
|
21
|
+
* - Defensive clone on hit: every hit returns a JSON round-trip clone
|
|
22
|
+
* (`JSON.parse(JSON.stringify(parsed))`) so callers can mutate the returned
|
|
23
|
+
* object without poisoning the cache for the next reader. The clone cost is
|
|
24
|
+
* far less than re-read + re-parse for anything bigger than a trivial JSON
|
|
25
|
+
* document, and the round-trip is faster than `structuredClone` over the
|
|
26
|
+
* JSON subset these values always belong to.
|
|
24
27
|
* - Reviver opt-out: when the caller passes a `reviver` function, we skip the
|
|
25
28
|
* cache. Function identity isn't safely hashable across boundaries, and the
|
|
26
29
|
* reviver can produce a different shape from the same bytes.
|
|
@@ -85,7 +88,7 @@ function getCachedJson(key, ino, size, mtimeMs) {
|
|
|
85
88
|
return;
|
|
86
89
|
}
|
|
87
90
|
hits += 1;
|
|
88
|
-
return
|
|
91
|
+
return require_primordials_json.JSONParse(require_primordials_json.JSONStringify(entry.parsed));
|
|
89
92
|
}
|
|
90
93
|
/**
|
|
91
94
|
* Snapshot diagnostics. Useful for tests and for tooling that wants to log
|
|
@@ -131,7 +134,7 @@ function setCachedJson(key, ino, size, mtimeMs, parsed) {
|
|
|
131
134
|
ino,
|
|
132
135
|
size,
|
|
133
136
|
mtimeMs,
|
|
134
|
-
parsed:
|
|
137
|
+
parsed: require_primordials_json.JSONParse(require_primordials_json.JSONStringify(parsed)),
|
|
135
138
|
insertedAt: require_primordials_date.DateNow()
|
|
136
139
|
});
|
|
137
140
|
}
|
package/dist/fs/read-json.js
CHANGED
|
@@ -49,7 +49,6 @@ const require_json_parse = require('../json/parse.js');
|
|
|
49
49
|
* @returns Promise resolving to parsed JSON value, or undefined if throws is
|
|
50
50
|
* false and an error occurs.
|
|
51
51
|
*/
|
|
52
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
53
52
|
async function readJson(filepath, options) {
|
|
54
53
|
const { cache, reviver, throws, ...fsOptions } = {
|
|
55
54
|
__proto__: null,
|
|
@@ -57,7 +56,7 @@ async function readJson(filepath, options) {
|
|
|
57
56
|
};
|
|
58
57
|
const shouldThrow = throws === void 0 || !!throws;
|
|
59
58
|
const cacheEnabled = cache !== false && reviver === void 0;
|
|
60
|
-
const fs =
|
|
59
|
+
const fs = require_node_fs.getNodeFs();
|
|
61
60
|
const pathStr = String(filepath);
|
|
62
61
|
if (cacheEnabled) try {
|
|
63
62
|
const stat = await fs.promises.stat(filepath);
|
|
@@ -82,7 +81,7 @@ async function readJson(filepath, options) {
|
|
|
82
81
|
}
|
|
83
82
|
return;
|
|
84
83
|
}
|
|
85
|
-
const parsed =
|
|
84
|
+
const parsed = require_json_parse.parseJson(content, {
|
|
86
85
|
filepath: pathStr,
|
|
87
86
|
reviver,
|
|
88
87
|
throws: shouldThrow
|
|
@@ -123,7 +122,6 @@ async function readJson(filepath, options) {
|
|
|
123
122
|
* @returns Parsed JSON value, or undefined if throws is false and an error
|
|
124
123
|
* occurs.
|
|
125
124
|
*/
|
|
126
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
127
125
|
function readJsonSync(filepath, options) {
|
|
128
126
|
const { cache, reviver, throws, ...fsOptions } = {
|
|
129
127
|
__proto__: null,
|
|
@@ -131,7 +129,7 @@ function readJsonSync(filepath, options) {
|
|
|
131
129
|
};
|
|
132
130
|
const shouldThrow = throws === void 0 || !!throws;
|
|
133
131
|
const cacheEnabled = cache !== false && reviver === void 0;
|
|
134
|
-
const fs =
|
|
132
|
+
const fs = require_node_fs.getNodeFs();
|
|
135
133
|
const pathStr = String(filepath);
|
|
136
134
|
if (cacheEnabled) try {
|
|
137
135
|
const stat = fs.statSync(filepath);
|
|
@@ -156,7 +154,7 @@ function readJsonSync(filepath, options) {
|
|
|
156
154
|
}
|
|
157
155
|
return;
|
|
158
156
|
}
|
|
159
|
-
const parsed =
|
|
157
|
+
const parsed = require_json_parse.parseJson(content, {
|
|
160
158
|
filepath: pathStr,
|
|
161
159
|
reviver,
|
|
162
160
|
throws: shouldThrow
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_runtime = require('../_virtual/_rolldown/runtime.js');
|
|
5
5
|
const require_node_path = require('../node/path.js');
|
|
6
|
-
let node_module = require("node:module");
|
|
7
6
|
let node_process = require("node:process");
|
|
8
7
|
node_process = require_runtime.__toESM(node_process);
|
|
8
|
+
let node_module = require("node:module");
|
|
9
9
|
|
|
10
10
|
//#region src/fs/resolve-module.ts
|
|
11
11
|
/**
|
|
@@ -22,7 +22,7 @@ function requireResolveFrom(fromDir, specifier, options) {
|
|
|
22
22
|
__proto__: null,
|
|
23
23
|
...options
|
|
24
24
|
};
|
|
25
|
-
const path =
|
|
25
|
+
const path = require_node_path.getNodePath();
|
|
26
26
|
const anchor = path.join(path.resolve(fromDir), "noop.js");
|
|
27
27
|
try {
|
|
28
28
|
return (0, node_module.createRequire)(anchor).resolve(specifier);
|
|
@@ -32,7 +32,11 @@ function requireResolveFrom(fromDir, specifier, options) {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
function requireResolveFromCwd(specifier, options) {
|
|
35
|
-
|
|
35
|
+
options = {
|
|
36
|
+
__proto__: null,
|
|
37
|
+
...options
|
|
38
|
+
};
|
|
39
|
+
return options?.nothrow ? requireResolveFrom(node_process.default.cwd(), specifier, { nothrow: true }) : requireResolveFrom(node_process.default.cwd(), specifier);
|
|
36
40
|
}
|
|
37
41
|
|
|
38
42
|
//#endregion
|
package/dist/fs/safe.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* true`. The mkdir helpers default to `recursive: true` and swallow `EEXIST`
|
|
6
6
|
* so concurrent callers don't race-condition each other.
|
|
7
7
|
*/
|
|
8
|
-
import './
|
|
8
|
+
import './allowed-dirs-cache';
|
|
9
9
|
import type { MakeDirectoryOptions, PathLike } from 'node:fs';
|
|
10
10
|
import type { deleteAsync as deleteAsyncType, deleteSync as deleteSyncType } from '../external/del';
|
|
11
11
|
import type { RemoveOptions } from './types';
|
package/dist/fs/safe.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_arrays_predicates = require('../arrays/predicates.js');
|
|
4
5
|
const require_primordials_string = require('../primordials/string.js');
|
|
5
6
|
const require_paths__internal = require('../paths/_internal.js');
|
|
6
7
|
const require_primordials_array = require('../primordials/array.js');
|
|
@@ -8,7 +9,6 @@ const require_node_fs = require('../node/fs.js');
|
|
|
8
9
|
const require_node_path = require('../node/path.js');
|
|
9
10
|
const require_errors_predicates = require('../errors/predicates.js');
|
|
10
11
|
const require_primordials_globals = require('../primordials/globals.js');
|
|
11
|
-
const require_arrays_predicates = require('../arrays/predicates.js');
|
|
12
12
|
const require_objects_mutate = require('../objects/mutate.js');
|
|
13
13
|
const require_promises_retry = require('../promises/retry.js');
|
|
14
14
|
const require_fs__internal = require('./_internal.js');
|
|
@@ -28,11 +28,10 @@ const defaultRemoveOptions = require_objects_mutate.objectFreeze({
|
|
|
28
28
|
recursive: true,
|
|
29
29
|
retryDelay: 200
|
|
30
30
|
});
|
|
31
|
-
let
|
|
32
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
31
|
+
let delModule;
|
|
33
32
|
function getDel() {
|
|
34
|
-
if (
|
|
35
|
-
return
|
|
33
|
+
if (delModule === void 0) delModule = /*@__PURE__*/ require("../external/del");
|
|
34
|
+
return delModule;
|
|
36
35
|
}
|
|
37
36
|
/**
|
|
38
37
|
* Safely delete a file or directory asynchronously with built-in protections.
|
|
@@ -75,11 +74,11 @@ async function safeDelete(filepath, options) {
|
|
|
75
74
|
__proto__: null,
|
|
76
75
|
...options
|
|
77
76
|
};
|
|
78
|
-
const patterns = require_arrays_predicates.isArray(filepath) ? filepath.map(require_paths__internal.pathLikeToString) : [
|
|
77
|
+
const patterns = require_arrays_predicates.isArray(filepath) ? filepath.map(require_paths__internal.pathLikeToString) : [require_paths__internal.pathLikeToString(filepath)];
|
|
79
78
|
/* c8 ignore start */
|
|
80
79
|
let shouldForce = opts.force !== false;
|
|
81
80
|
if (!shouldForce && patterns.length > 0) {
|
|
82
|
-
const path =
|
|
81
|
+
const path = require_node_path.getNodePath();
|
|
83
82
|
const allowedDirs = require_fs__internal.getAllowedDirectories();
|
|
84
83
|
if (patterns.every((pattern) => {
|
|
85
84
|
const resolvedPath = path.resolve(pattern);
|
|
@@ -95,8 +94,8 @@ async function safeDelete(filepath, options) {
|
|
|
95
94
|
const maxRetries = opts.maxRetries ?? defaultRemoveOptions.maxRetries;
|
|
96
95
|
const retryDelay = opts.retryDelay ?? defaultRemoveOptions.retryDelay;
|
|
97
96
|
/* c8 ignore start - External del call */
|
|
98
|
-
const del =
|
|
99
|
-
await
|
|
97
|
+
const del = getDel();
|
|
98
|
+
await require_promises_retry.pRetry(async () => {
|
|
100
99
|
await del.deleteAsync(patterns, {
|
|
101
100
|
dryRun: false,
|
|
102
101
|
force: shouldForce,
|
|
@@ -151,11 +150,11 @@ function safeDeleteSync(filepath, options) {
|
|
|
151
150
|
__proto__: null,
|
|
152
151
|
...options
|
|
153
152
|
};
|
|
154
|
-
const patterns = require_arrays_predicates.isArray(filepath) ? filepath.map(require_paths__internal.pathLikeToString) : [
|
|
153
|
+
const patterns = require_arrays_predicates.isArray(filepath) ? filepath.map(require_paths__internal.pathLikeToString) : [require_paths__internal.pathLikeToString(filepath)];
|
|
155
154
|
/* c8 ignore start */
|
|
156
155
|
let shouldForce = opts.force !== false;
|
|
157
156
|
if (!shouldForce && patterns.length > 0) {
|
|
158
|
-
const path =
|
|
157
|
+
const path = require_node_path.getNodePath();
|
|
159
158
|
const allowedDirs = require_fs__internal.getAllowedDirectories();
|
|
160
159
|
if (patterns.every((pattern) => {
|
|
161
160
|
const resolvedPath = path.resolve(pattern);
|
|
@@ -171,7 +170,7 @@ function safeDeleteSync(filepath, options) {
|
|
|
171
170
|
const maxRetries = opts.maxRetries ?? defaultRemoveOptions.maxRetries;
|
|
172
171
|
const retryDelay = opts.retryDelay ?? defaultRemoveOptions.retryDelay;
|
|
173
172
|
/* c8 ignore start - External del call */
|
|
174
|
-
const del =
|
|
173
|
+
const del = getDel();
|
|
175
174
|
let lastError;
|
|
176
175
|
let delay = retryDelay;
|
|
177
176
|
for (let attempt = 0; attempt <= maxRetries; attempt++) try {
|
|
@@ -225,7 +224,7 @@ function safeDeleteSync(filepath, options) {
|
|
|
225
224
|
* @returns Promise that resolves when directory is created or already exists
|
|
226
225
|
*/
|
|
227
226
|
async function safeMkdir(path, options) {
|
|
228
|
-
const fs =
|
|
227
|
+
const fs = require_node_fs.getNodeFs();
|
|
229
228
|
const opts = {
|
|
230
229
|
__proto__: null,
|
|
231
230
|
recursive: true,
|
|
@@ -269,7 +268,7 @@ async function safeMkdir(path, options) {
|
|
|
269
268
|
* settings.
|
|
270
269
|
*/
|
|
271
270
|
function safeMkdirSync(path, options) {
|
|
272
|
-
const fs =
|
|
271
|
+
const fs = require_node_fs.getNodeFs();
|
|
273
272
|
const opts = {
|
|
274
273
|
__proto__: null,
|
|
275
274
|
recursive: true,
|
package/dist/fs/unique.js
CHANGED
|
@@ -33,12 +33,11 @@ const require_node_path = require('../node/path.js');
|
|
|
33
33
|
* @returns Normalized unique filepath (original if it doesn't exist, or with
|
|
34
34
|
* number suffix)
|
|
35
35
|
*/
|
|
36
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
37
36
|
function uniqueSync(filepath) {
|
|
38
|
-
const fs =
|
|
39
|
-
const path =
|
|
37
|
+
const fs = require_node_fs.getNodeFs();
|
|
38
|
+
const path = require_node_path.getNodePath();
|
|
40
39
|
const filepathStr = String(filepath);
|
|
41
|
-
if (!fs.existsSync(filepathStr)) return
|
|
40
|
+
if (!fs.existsSync(filepathStr)) return require_paths_normalize.normalizePath(filepathStr);
|
|
42
41
|
const dirname = path.dirname(filepathStr);
|
|
43
42
|
const ext = path.extname(filepathStr);
|
|
44
43
|
const basename = path.basename(filepathStr, ext);
|
|
@@ -48,7 +47,7 @@ function uniqueSync(filepath) {
|
|
|
48
47
|
uniquePath = path.join(dirname, `${basename}-${counter}${ext}`);
|
|
49
48
|
counter++;
|
|
50
49
|
} while (fs.existsSync(uniquePath));
|
|
51
|
-
return
|
|
50
|
+
return require_paths_normalize.normalizePath(uniquePath);
|
|
52
51
|
}
|
|
53
52
|
|
|
54
53
|
//#endregion
|
package/dist/fs/validate.js
CHANGED
|
@@ -42,11 +42,10 @@ const require_fs_access = require('./access.js');
|
|
|
42
42
|
*
|
|
43
43
|
* @returns Object with `validPaths` (readable) and `invalidPaths` (unreadable)
|
|
44
44
|
*/
|
|
45
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
46
45
|
function validateFiles(filepaths) {
|
|
47
46
|
const validPaths = [];
|
|
48
47
|
const invalidPaths = [];
|
|
49
|
-
for (const filepath of filepaths) if (
|
|
48
|
+
for (const filepath of filepaths) if (require_fs_access.canRead(filepath)) validPaths.push(filepath);
|
|
50
49
|
else invalidPaths.push(filepath);
|
|
51
50
|
return {
|
|
52
51
|
__proto__: null,
|
package/dist/fs/write-json.js
CHANGED
|
@@ -26,7 +26,6 @@ const NEWLINE_REGEX = /\n/g;
|
|
|
26
26
|
*
|
|
27
27
|
* @returns Formatted JSON string
|
|
28
28
|
*/
|
|
29
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
30
29
|
function stringify(json, EOL, finalEOL, replacer, spaces = 2) {
|
|
31
30
|
const EOF = finalEOL ? EOL : "";
|
|
32
31
|
return `${require_primordials_string.StringPrototypeReplace(require_primordials_json.JSONStringify(json, replacer, spaces), NEWLINE_REGEX, EOL)}${EOF}`;
|
|
@@ -65,8 +64,8 @@ async function writeJson(filepath, jsonContent, options) {
|
|
|
65
64
|
__proto__: null,
|
|
66
65
|
...typeof options === "string" ? { encoding: options } : options
|
|
67
66
|
};
|
|
68
|
-
const fs =
|
|
69
|
-
const jsonString =
|
|
67
|
+
const fs = require_node_fs.getNodeFs();
|
|
68
|
+
const jsonString = stringify(jsonContent, EOL || "\n", finalEOL !== void 0 ? finalEOL : true, replacer, spaces);
|
|
70
69
|
await fs.promises.writeFile(filepath, jsonString, {
|
|
71
70
|
encoding: "utf8",
|
|
72
71
|
...fsOptions,
|
|
@@ -102,8 +101,8 @@ function writeJsonSync(filepath, jsonContent, options) {
|
|
|
102
101
|
__proto__: null,
|
|
103
102
|
...typeof options === "string" ? { encoding: options } : options
|
|
104
103
|
};
|
|
105
|
-
const fs =
|
|
106
|
-
const jsonString =
|
|
104
|
+
const fs = require_node_fs.getNodeFs();
|
|
105
|
+
const jsonString = stringify(jsonContent, EOL || "\n", finalEOL !== void 0 ? finalEOL : true, replacer, spaces);
|
|
107
106
|
fs.writeFileSync(filepath, jsonString, {
|
|
108
107
|
encoding: "utf8",
|
|
109
108
|
...fsOptions,
|
package/dist/git/_internal.js
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_primordials_buffer = require('../primordials/buffer.js');
|
|
5
|
+
const require_primordials_object = require('../primordials/object.js');
|
|
6
|
+
const require_primordials_map_set = require('../primordials/map-set.js');
|
|
5
7
|
const require_primordials_string = require('../primordials/string.js');
|
|
6
8
|
const require_paths_normalize = require('../paths/normalize.js');
|
|
7
9
|
const require_primordials_array = require('../primordials/array.js');
|
|
8
|
-
const require_primordials_map_set = require('../primordials/map-set.js');
|
|
9
10
|
const require_node_path = require('../node/path.js');
|
|
10
11
|
const require_primordials_date = require('../primordials/date.js');
|
|
11
|
-
const require_primordials_object = require('../primordials/object.js');
|
|
12
12
|
const require_primordials_json = require('../primordials/json.js');
|
|
13
13
|
const require_bin_which = require('../bin/which.js');
|
|
14
14
|
const require_ansi_strip = require('../ansi/strip.js');
|
|
@@ -27,7 +27,7 @@ const require_git_repo = require('./repo.js');
|
|
|
27
27
|
const gitDiffCache = new require_primordials_map_set.MapCtor();
|
|
28
28
|
const GIT_CACHE_MAX_SIZE = 100;
|
|
29
29
|
const GIT_CACHE_TTL_MS = 2e3;
|
|
30
|
-
let
|
|
30
|
+
let cachedGitPath;
|
|
31
31
|
function getCachedGitDiff(key) {
|
|
32
32
|
const entry = gitDiffCache.get(key);
|
|
33
33
|
if (!entry) return;
|
|
@@ -96,12 +96,12 @@ function getGitDiffSpawnArgs(cwd) {
|
|
|
96
96
|
*/
|
|
97
97
|
function getGitPath() {
|
|
98
98
|
/* c8 ignore start */
|
|
99
|
-
if (
|
|
99
|
+
if (cachedGitPath === void 0) {
|
|
100
100
|
const resolved = require_bin_which.whichSync("git", { nothrow: true });
|
|
101
|
-
|
|
101
|
+
cachedGitPath = typeof resolved === "string" ? resolved : "git";
|
|
102
102
|
}
|
|
103
103
|
/* c8 ignore stop */
|
|
104
|
-
return
|
|
104
|
+
return cachedGitPath;
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
107
|
* Execute git diff command asynchronously and parse results.
|
|
@@ -211,17 +211,17 @@ function parseGitDiffStdout(stdout, options, spawnCwd) {
|
|
|
211
211
|
__proto__: null,
|
|
212
212
|
...options
|
|
213
213
|
};
|
|
214
|
-
const path =
|
|
214
|
+
const path = require_node_path.getNodePath();
|
|
215
215
|
const cwd = cwdOption === defaultRoot ? defaultRoot : require_git_repo.getCachedRealpath(cwdOption);
|
|
216
216
|
const rootPath = defaultRoot;
|
|
217
|
-
let rawFiles = stdout ?
|
|
217
|
+
let rawFiles = stdout ? require_ansi_strip.stripAnsi(stdout).split(/\r?\n/).map((line) => line.trimEnd()).filter((line) => line) : [];
|
|
218
218
|
if (porcelain) rawFiles = rawFiles.map((line) => {
|
|
219
219
|
/* c8 ignore next */
|
|
220
220
|
return line.length > 3 ? require_primordials_string.StringPrototypeSubstring(line, 3) : line;
|
|
221
221
|
});
|
|
222
|
-
const files = absolute ? rawFiles.map((relPath) =>
|
|
222
|
+
const files = absolute ? rawFiles.map((relPath) => require_paths_normalize.normalizePath(path.join(rootPath, relPath))) : rawFiles.map((relPath) => require_paths_normalize.normalizePath(relPath));
|
|
223
223
|
if (cwd === rootPath) return files;
|
|
224
|
-
const matcher =
|
|
224
|
+
const matcher = require_globs_matcher.getGlobMatcher([`${require_paths_normalize.normalizePath(path.relative(rootPath, cwd))}/**`], {
|
|
225
225
|
...matcherOptions,
|
|
226
226
|
absolute,
|
|
227
227
|
cwd: rootPath
|
|
@@ -251,7 +251,7 @@ function stableKey(value) {
|
|
|
251
251
|
return require_primordials_json.JSONStringify(value, (_key, val) => {
|
|
252
252
|
if (val && typeof val === "object" && !require_primordials_array.ArrayIsArray(val)) {
|
|
253
253
|
const sorted = {};
|
|
254
|
-
for (const k of require_primordials_object.ObjectKeys(val).
|
|
254
|
+
for (const k of require_primordials_object.ObjectKeys(val).toSorted()) sorted[k] = val[k];
|
|
255
255
|
return sorted;
|
|
256
256
|
}
|
|
257
257
|
return val;
|
package/dist/git/changed.js
CHANGED
|
@@ -136,11 +136,11 @@ async function isChanged(pathname, options) {
|
|
|
136
136
|
...options,
|
|
137
137
|
absolute: false
|
|
138
138
|
});
|
|
139
|
-
const path =
|
|
139
|
+
const path = require_node_path.getNodePath();
|
|
140
140
|
const resolvedPathname = require_git_repo.getCachedRealpath(pathname);
|
|
141
141
|
/* c8 ignore start */
|
|
142
142
|
const baseCwd = options?.cwd ? require_git_repo.getCachedRealpath(options["cwd"]) : require_git_repo.getCwd();
|
|
143
|
-
return require_primordials_array.ArrayPrototypeIncludes(files,
|
|
143
|
+
return require_primordials_array.ArrayPrototypeIncludes(files, require_paths_normalize.normalizePath(path.relative(baseCwd, resolvedPathname)));
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
146
|
* Check if a file or directory has any git changes.
|
|
@@ -182,12 +182,12 @@ function isChangedSync(pathname, options) {
|
|
|
182
182
|
...options,
|
|
183
183
|
absolute: false
|
|
184
184
|
});
|
|
185
|
-
const path =
|
|
185
|
+
const path = require_node_path.getNodePath();
|
|
186
186
|
try {
|
|
187
187
|
const resolvedPathname = require_git_repo.getCachedRealpath(pathname);
|
|
188
188
|
/* c8 ignore start */
|
|
189
189
|
const baseCwd = options?.cwd ? require_git_repo.getCachedRealpath(options["cwd"]) : require_git_repo.getCwd();
|
|
190
|
-
return require_primordials_array.ArrayPrototypeIncludes(files,
|
|
190
|
+
return require_primordials_array.ArrayPrototypeIncludes(files, require_paths_normalize.normalizePath(path.relative(baseCwd, resolvedPathname)));
|
|
191
191
|
} catch {
|
|
192
192
|
return false;
|
|
193
193
|
}
|
package/dist/git/repo.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
const require_runtime = require('../_virtual/_rolldown/runtime.js');
|
|
5
4
|
const require_primordials_map_set = require('../primordials/map-set.js');
|
|
6
5
|
const require_node_fs = require('../node/fs.js');
|
|
7
6
|
const require_node_path = require('../node/path.js');
|
|
8
|
-
|
|
9
|
-
node_process = require_runtime.__toESM(node_process);
|
|
7
|
+
const require_primordials_process = require('../primordials/process.js');
|
|
10
8
|
|
|
11
9
|
//#region src/git/repo.ts
|
|
12
10
|
/**
|
|
@@ -41,8 +39,8 @@ const gitRootCache = new require_primordials_map_set.MapCtor();
|
|
|
41
39
|
* @returns Git repository root path, or `startPath` if not found.
|
|
42
40
|
*/
|
|
43
41
|
function findGitRoot(startPath) {
|
|
44
|
-
const fs =
|
|
45
|
-
const path =
|
|
42
|
+
const fs = require_node_fs.getNodeFs();
|
|
43
|
+
const path = require_node_path.getNodePath();
|
|
46
44
|
/* c8 ignore start */
|
|
47
45
|
const cached = gitRootCache.get(startPath);
|
|
48
46
|
if (cached) {
|
|
@@ -75,7 +73,7 @@ function findGitRoot(startPath) {
|
|
|
75
73
|
* realpath resolution is restricted.
|
|
76
74
|
*/
|
|
77
75
|
function getCachedRealpath(pathname) {
|
|
78
|
-
const fs =
|
|
76
|
+
const fs = require_node_fs.getNodeFs();
|
|
79
77
|
const cached = realpathCache.get(pathname);
|
|
80
78
|
/* c8 ignore start */
|
|
81
79
|
if (cached) {
|
|
@@ -112,7 +110,7 @@ function getCachedRealpath(pathname) {
|
|
|
112
110
|
* @returns The resolved real path of `process.cwd()`.
|
|
113
111
|
*/
|
|
114
112
|
function getCwd() {
|
|
115
|
-
return getCachedRealpath(
|
|
113
|
+
return getCachedRealpath(require_primordials_process.processCwd());
|
|
116
114
|
}
|
|
117
115
|
|
|
118
116
|
//#endregion
|
package/dist/git/staged.js
CHANGED
|
@@ -44,6 +44,10 @@ const require_git__internal = require('./_internal.js');
|
|
|
44
44
|
* @returns Promise resolving to array of staged file paths.
|
|
45
45
|
*/
|
|
46
46
|
async function getStagedFiles(options) {
|
|
47
|
+
options = {
|
|
48
|
+
__proto__: null,
|
|
49
|
+
...options
|
|
50
|
+
};
|
|
47
51
|
const args = require_git__internal.getGitDiffSpawnArgs(options?.cwd).staged;
|
|
48
52
|
return await require_git__internal.innerDiff(args, options);
|
|
49
53
|
}
|
|
@@ -79,6 +83,10 @@ async function getStagedFiles(options) {
|
|
|
79
83
|
* @returns Array of staged file paths.
|
|
80
84
|
*/
|
|
81
85
|
function getStagedFilesSync(options) {
|
|
86
|
+
options = {
|
|
87
|
+
__proto__: null,
|
|
88
|
+
...options
|
|
89
|
+
};
|
|
82
90
|
const args = require_git__internal.getGitDiffSpawnArgs(options?.cwd).staged;
|
|
83
91
|
return require_git__internal.innerDiffSync(args, options);
|
|
84
92
|
}
|
|
@@ -121,11 +129,11 @@ async function isStaged(pathname, options) {
|
|
|
121
129
|
...options,
|
|
122
130
|
absolute: false
|
|
123
131
|
});
|
|
124
|
-
const path =
|
|
132
|
+
const path = require_node_path.getNodePath();
|
|
125
133
|
const resolvedPathname = require_git_repo.getCachedRealpath(pathname);
|
|
126
134
|
/* c8 ignore start */
|
|
127
135
|
const baseCwd = options?.cwd ? require_git_repo.getCachedRealpath(options["cwd"]) : require_git_repo.getCwd();
|
|
128
|
-
return require_primordials_array.ArrayPrototypeIncludes(files,
|
|
136
|
+
return require_primordials_array.ArrayPrototypeIncludes(files, require_paths_normalize.normalizePath(path.relative(baseCwd, resolvedPathname)));
|
|
129
137
|
}
|
|
130
138
|
/**
|
|
131
139
|
* Check if a file or directory is staged for commit.
|
|
@@ -167,11 +175,11 @@ function isStagedSync(pathname, options) {
|
|
|
167
175
|
...options,
|
|
168
176
|
absolute: false
|
|
169
177
|
});
|
|
170
|
-
const path =
|
|
178
|
+
const path = require_node_path.getNodePath();
|
|
171
179
|
const resolvedPathname = require_git_repo.getCachedRealpath(pathname);
|
|
172
180
|
/* c8 ignore start */
|
|
173
181
|
const baseCwd = options?.cwd ? require_git_repo.getCachedRealpath(options["cwd"]) : require_git_repo.getCwd();
|
|
174
|
-
return require_primordials_array.ArrayPrototypeIncludes(files,
|
|
182
|
+
return require_primordials_array.ArrayPrototypeIncludes(files, require_paths_normalize.normalizePath(path.relative(baseCwd, resolvedPathname)));
|
|
175
183
|
}
|
|
176
184
|
|
|
177
185
|
//#endregion
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Tracked-status + submodule-membership probes for a working-tree path.
|
|
3
|
+
* `isTracked` answers "does git track this exact path?"; `getSubmodulePaths`
|
|
4
|
+
* lists the repo's submodule mount points; `isInSubmodule` answers "does this
|
|
5
|
+
* path live inside one?"; `isUntrackedNonSubmodulePath` composes them into
|
|
6
|
+
* the safe-to-touch condition for cleanup tooling — never delete a tracked
|
|
7
|
+
* file or reach into a submodule's own tree (which would dirty it).
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* The repo's submodule mount points as normalized, repo-root-relative paths
|
|
11
|
+
* (e.g. `vendor/acorn`). Reads `git config` on `.gitmodules`, so it lists
|
|
12
|
+
* declared submodules whether or not they are initialized — the case a
|
|
13
|
+
* stderr-message check on `git ls-files` misses.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ;```typescript
|
|
17
|
+
* await getSubmodulePaths()
|
|
18
|
+
* // => ['packages/acorn/upstream/acorn', 'vendor/mbedtls']
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function getSubmodulePaths(options?: GitPathOptions | undefined): Promise<string[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Whether `targetPath` lives inside one of the repo's submodules. Resolves the
|
|
24
|
+
* submodule list itself; for a batch sweep prefer `getSubmodulePaths` once plus
|
|
25
|
+
* `pathIsUnderSubmodule` per path.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ;```typescript
|
|
29
|
+
* await isInSubmodule('vendor/mbedtls/x.py') // => true
|
|
30
|
+
* await isInSubmodule('src/index.ts') // => false
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function isInSubmodule(targetPath: string, options?: GitPathOptions | undefined): Promise<boolean>;
|
|
34
|
+
export interface GitPathOptions {
|
|
35
|
+
/**
|
|
36
|
+
* The git working-tree directory the path is resolved against.
|
|
37
|
+
*
|
|
38
|
+
* @default process.cwd()
|
|
39
|
+
*/
|
|
40
|
+
cwd?: string | undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Whether git tracks `targetPath` exactly. Uses `git ls-files --error-unmatch`,
|
|
44
|
+
* which exits non-zero for an untracked path. A path inside a submodule, or one
|
|
45
|
+
* git does not know, returns `false`.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ;```typescript
|
|
49
|
+
* await isTracked('src/index.ts') // => true
|
|
50
|
+
* await isTracked('.DS_Store') // => false
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function isTracked(targetPath: string, options?: GitPathOptions | undefined): Promise<boolean>;
|
|
54
|
+
/**
|
|
55
|
+
* Whether `targetPath` is git does NOT track AND does not live inside a
|
|
56
|
+
* submodule — the safe-to-touch condition for cleanup tooling. A tracked path
|
|
57
|
+
* is a deliberate file; a submodule-internal path belongs to that submodule's
|
|
58
|
+
* own git (touching it would dirty the submodule). Composes `isTracked` +
|
|
59
|
+
* `getSubmodulePaths`/`pathIsUnderSubmodule`. Fails closed — any check error
|
|
60
|
+
* resolves to `false`.
|
|
61
|
+
*
|
|
62
|
+
* For a batch sweep, call `getSubmodulePaths` once and compose `isTracked` +
|
|
63
|
+
* `pathIsUnderSubmodule` per path to avoid re-reading `.gitmodules` each time.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ;```typescript
|
|
67
|
+
* await isUntrackedNonSubmodulePath('.DS_Store') // => true
|
|
68
|
+
* await isUntrackedNonSubmodulePath('src/index.ts') // => false (tracked)
|
|
69
|
+
* await isUntrackedNonSubmodulePath('vendor/sub/x.pyc') // => false (submodule)
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare function isUntrackedNonSubmodulePath(targetPath: string, options?: GitPathOptions | undefined): Promise<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* Whether `relativePath` (repo-root-relative) lies at or under any of
|
|
75
|
+
* `submodulePaths`. Pure — pass the result of `getSubmodulePaths` so the git
|
|
76
|
+
* read happens once for a whole sweep.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ;```typescript
|
|
80
|
+
* pathIsUnderSubmodule('vendor/mbedtls/scripts/__pycache__', ['vendor/mbedtls'])
|
|
81
|
+
* // => true
|
|
82
|
+
* ```
|
|
83
|
+
*/
|
|
84
|
+
export declare function pathIsUnderSubmodule(relativePath: string, submodulePaths: string[]): boolean;
|