@socketsecurity/lib 6.0.5 → 6.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/dist/ai/discover.d.mts +2 -2
- package/dist/ai/discover.js +6 -4
- package/dist/ai/spawn.js +10 -6
- package/dist/ai/types.d.mts +18 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +12 -7
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +6 -6
- package/dist/archives/zip.js +4 -6
- package/dist/argv/flag-predicates.d.ts +12 -12
- package/dist/argv/flag-predicates.js +17 -17
- package/dist/argv/flag-types.d.ts +18 -18
- package/dist/argv/flag-types.js +4 -4
- package/dist/argv/parse.d.ts +1 -1
- package/dist/arrays/_internal.js +11 -12
- package/dist/arrays/chunk.js +0 -1
- package/dist/arrays/join.d.ts +37 -3
- package/dist/arrays/join.js +43 -7
- package/dist/arrays/unique.js +0 -1
- package/dist/bin/_internal.d.ts +1 -1
- package/dist/bin/_internal.js +1 -1
- package/dist/bin/acorn-bindgen.cjs +769 -0
- package/dist/bin/acorn.wasm +0 -0
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +13 -13
- package/dist/bin/prim.cjs +39244 -0
- package/dist/bin/resolve.js +12 -13
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +5 -5
- package/dist/checks/primordials-defaults.d.ts +3 -3
- package/dist/checks/primordials-defaults.js +3 -3
- package/dist/checks/primordials.js +4 -3
- package/dist/{bin → cli}/check-primordials.d.ts +11 -11
- package/dist/{bin → cli}/check-primordials.js +56 -52
- package/dist/{bin → cli}/check.js +6 -5
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +20 -19
- package/dist/compression/brotli.d.ts +25 -25
- package/dist/compression/brotli.js +37 -44
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +44 -52
- package/dist/constants/agents.d.ts +3 -1
- package/dist/constants/agents.js +15 -11
- package/dist/constants/licenses.js +3 -3
- package/dist/constants/node.d.ts +23 -0
- package/dist/constants/node.js +47 -15
- package/dist/constants/packages.js +22 -28
- package/dist/constants/platform.d.ts +30 -3
- package/dist/constants/platform.js +72 -12
- package/dist/constants/runtime.d.ts +22 -0
- package/dist/constants/runtime.js +32 -0
- package/dist/constants/socket.js +1 -1
- package/dist/cover/code.js +8 -8
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +26 -1
- package/dist/crypto/hash.js +43 -12
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +2 -3
- package/dist/debug/namespace.d.ts +7 -0
- package/dist/debug/namespace.js +21 -12
- package/dist/debug/output.js +21 -24
- package/dist/debug/types.d.ts +4 -4
- package/dist/dlx/arborist.js +6 -6
- package/dist/dlx/binary-cache.js +14 -14
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +14 -13
- package/dist/dlx/binary-resolution.js +16 -14
- package/dist/dlx/binary-types.d.ts +5 -5
- package/dist/dlx/binary.js +5 -5
- package/dist/dlx/cache.js +1 -1
- package/dist/dlx/detect.d.ts +34 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +16 -16
- package/dist/dlx/manifest.d.ts +6 -6
- package/dist/dlx/manifest.js +5 -5
- package/dist/dlx/package.d.ts +10 -10
- package/dist/dlx/package.js +16 -16
- package/dist/dlx/packages.js +4 -4
- package/dist/dlx/paths.js +7 -7
- package/dist/dlx/spec.js +1 -1
- package/dist/dlx/types.d.ts +28 -27
- package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
- package/dist/eco/cargo/parse-lockfile.js +2 -2
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +4 -4
- package/dist/eco/manifest/find-packages.js +2 -2
- package/dist/eco/manifest/get-package-versions.js +2 -2
- package/dist/eco/manifest/get-package.js +2 -2
- package/dist/eco/manifest/parse-lockfile.js +2 -2
- package/dist/eco/manifest/parse-manifest.js +2 -2
- package/dist/eco/manifest/parse.js +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/npm/flags.js +7 -12
- package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
- package/dist/eco/npm/npm/parse-lockfile.js +3 -3
- package/dist/eco/npm/parse-package-json.js +3 -3
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/pnpm/exec.js +5 -5
- package/dist/eco/npm/pnpm/flags.js +0 -3
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
- package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
- package/dist/effects/pulse-frames.d.ts +3 -1
- package/dist/effects/shimmer-keyframes.d.ts +1 -1
- package/dist/effects/shimmer-terminal.d.ts +1 -1
- package/dist/env/boolean.js +0 -1
- package/dist/env/ci.js +0 -1
- package/dist/env/debug.js +0 -1
- package/dist/env/github-status.d.ts +51 -0
- package/dist/env/github-status.js +90 -0
- package/dist/env/github.js +0 -8
- package/dist/env/home.js +0 -1
- package/dist/env/locale.js +0 -3
- package/dist/env/node-auth-token.js +0 -1
- package/dist/env/node-env.js +0 -1
- package/dist/env/node-version-managers.d.ts +53 -0
- package/dist/env/node-version-managers.js +90 -0
- package/dist/env/npm.js +0 -5
- package/dist/env/number.js +0 -1
- package/dist/env/package-manager.js +3 -6
- package/dist/env/path.js +0 -1
- package/dist/env/pre-commit.js +1 -2
- package/dist/env/rewire.d.ts +7 -6
- package/dist/env/rewire.js +15 -16
- package/dist/env/shell.js +0 -1
- package/dist/env/socket-cli.js +5 -18
- package/dist/env/socket-mcp.d.ts +114 -0
- package/dist/env/socket-mcp.js +146 -0
- package/dist/env/socket.d.ts +1 -109
- package/dist/env/socket.js +12 -166
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/events/exit/_internal.d.ts +11 -9
- package/dist/events/exit/_internal.js +31 -35
- package/dist/events/exit/handler.js +3 -4
- package/dist/events/exit/intercept.js +4 -6
- package/dist/events/exit/lifecycle.js +16 -18
- package/dist/events/exit/signals.js +1 -2
- package/dist/events/exit/types.d.ts +6 -5
- package/dist/external/@npmcli/package-json.js +2 -2
- package/dist/external/@sinclair/typebox/value.js +5 -1
- package/dist/external/@sinclair/typebox.js +5 -1
- package/dist/external/@socketregistry/packageurl-js.js +27 -0
- package/dist/external/npm-pack.js +2 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/resolve.js +2 -1
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/resolve.js +2 -1
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +1 -1
- package/dist/external-tools/from-download.js +1 -1
- package/dist/external-tools/from-pip-venv.d.ts +73 -0
- package/dist/external-tools/from-pip-venv.js +98 -0
- package/dist/external-tools/janus/asset-names.js +1 -1
- package/dist/external-tools/janus/from-download.js +3 -5
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/resolve.js +2 -1
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
- package/dist/external-tools/jre/detect-platform-arch.js +29 -14
- package/dist/external-tools/jre/from-download.js +2 -1
- package/dist/external-tools/jre/from-vfs.js +1 -1
- package/dist/external-tools/jre/resolve.js +2 -1
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +7 -7
- package/dist/external-tools/manifest.js +18 -16
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/resolve.js +2 -1
- package/dist/external-tools/opengrep/types.d.ts +1 -1
- package/dist/external-tools/python/asset-names.d.ts +76 -0
- package/dist/external-tools/python/asset-names.js +104 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +87 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +68 -0
- package/dist/external-tools/python/from-path.d.ts +7 -0
- package/dist/external-tools/python/from-path.js +23 -0
- package/dist/external-tools/python/pin.d.ts +121 -0
- package/dist/external-tools/python/pin.js +173 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +139 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +58 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/resolve.js +2 -1
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.d.ts +24 -0
- package/dist/external-tools/skillspector/from-dlx.js +41 -0
- package/dist/external-tools/skillspector/from-path.d.ts +8 -0
- package/dist/external-tools/skillspector/from-path.js +30 -0
- package/dist/external-tools/skillspector/from-vfs.d.ts +8 -0
- package/dist/external-tools/skillspector/from-vfs.js +27 -0
- package/dist/external-tools/skillspector/resolve.d.ts +34 -0
- package/dist/external-tools/skillspector/resolve.js +53 -0
- package/dist/external-tools/skillspector/types.d.ts +24 -0
- package/dist/external-tools/skillspector/types.js +2 -0
- package/dist/external-tools/synp/from-download.js +2 -2
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/synp/resolve.js +2 -1
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/resolve.js +2 -1
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/resolve.js +2 -1
- package/dist/external-tools/trufflehog/types.d.ts +1 -1
- package/dist/fs/_internal.d.ts +1 -1
- package/dist/fs/_internal.js +7 -7
- package/dist/fs/access.js +5 -9
- package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +11 -13
- package/dist/fs/inspect.js +7 -13
- package/dist/fs/read-dir.js +7 -10
- package/dist/fs/read-file.js +8 -14
- package/dist/fs/read-json-cache.d.ts +6 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +1 -1
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +12 -13
- package/dist/fs/unique.js +4 -5
- package/dist/fs/validate.js +1 -2
- package/dist/fs/write-json.js +4 -5
- package/dist/git/_internal.js +12 -11
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +3 -3
- package/dist/git/staged.js +4 -4
- package/dist/git/unstaged.js +4 -4
- package/dist/github/ghsa.js +2 -2
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +5 -5
- package/dist/github/refs-rest.js +5 -5
- package/dist/github/{fetch.js → request.js} +13 -2
- package/dist/github/token.js +1 -1
- package/dist/github/types.d.ts +1 -1
- package/dist/globs/_internal.js +7 -9
- package/dist/globs/match.js +6 -7
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +12 -14
- package/dist/globs/stream.js +1 -2
- package/dist/globs/types.d.ts +24 -24
- package/dist/http-request/_internal.d.ts +1 -1
- package/dist/http-request/browser.js +21 -13
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +4 -4
- package/dist/http-request/headers.d.ts +32 -3
- package/dist/http-request/headers.js +41 -13
- package/dist/http-request/request-attempt.js +38 -33
- package/dist/http-request/request-types.d.ts +7 -2
- package/dist/http-request/request.js +33 -16
- package/dist/http-request/response-reader.d.ts +12 -1
- package/dist/http-request/response-reader.js +22 -2
- package/dist/http-request/user-agent.js +3 -4
- package/dist/integrity.d.ts +86 -18
- package/dist/integrity.js +119 -30
- package/dist/ipc/directory.js +2 -2
- package/dist/ipc/paths.js +1 -1
- package/dist/ipc/write.js +1 -1
- package/dist/ipc-cli/get.js +12 -12
- package/dist/json/edit.js +13 -14
- package/dist/json/format.js +2 -2
- package/dist/json/parse.d.ts +1 -1
- package/dist/json/parse.js +3 -7
- package/dist/logger/_internal.d.ts +4 -4
- package/dist/logger/_internal.js +3 -3
- package/dist/logger/colors.js +4 -3
- package/dist/logger/console-methods.d.ts +132 -0
- package/dist/logger/console-methods.js +169 -0
- package/dist/logger/console.d.ts +12 -0
- package/dist/logger/console.js +42 -11
- package/dist/logger/indentation-methods.d.ts +81 -0
- package/dist/logger/indentation-methods.js +121 -0
- package/dist/logger/node.d.ts +16 -338
- package/dist/logger/node.js +75 -608
- package/dist/logger/options.d.ts +39 -0
- package/dist/logger/options.js +47 -0
- package/dist/logger/semantic-methods.d.ts +63 -0
- package/dist/logger/semantic-methods.js +108 -0
- package/dist/logger/stream-methods.d.ts +63 -0
- package/dist/logger/stream-methods.js +101 -0
- package/dist/logger/stream.d.ts +37 -0
- package/dist/logger/stream.js +42 -0
- package/dist/logger/symbols-builder.js +9 -9
- package/dist/logger/symbols.d.ts +2 -25
- package/dist/logger/symbols.js +53 -74
- package/dist/logger/types.d.ts +1 -1
- package/dist/memo/types.d.ts +6 -6
- package/dist/native-messaging/host.d.ts +20 -0
- package/dist/native-messaging/host.js +120 -0
- package/dist/native-messaging/index.d.ts +5 -0
- package/dist/native-messaging/index.js +22 -0
- package/dist/native-messaging/install.d.ts +60 -0
- package/dist/native-messaging/install.js +141 -0
- package/dist/native-messaging/rate-limit.d.ts +62 -0
- package/dist/native-messaging/rate-limit.js +115 -0
- package/dist/native-messaging/run.d.ts +10 -0
- package/dist/native-messaging/run.js +17 -0
- package/dist/node/async-hooks.js +4 -3
- package/dist/node/child-process.js +4 -3
- package/dist/node/crypto.js +4 -3
- package/dist/node/events.js +4 -3
- package/dist/node/fs-promises.js +4 -3
- package/dist/node/fs.js +4 -3
- package/dist/node/http.js +4 -3
- package/dist/node/https.js +4 -3
- package/dist/node/module.js +10 -6
- package/dist/node/os.js +4 -3
- package/dist/node/path.js +4 -3
- package/dist/node/timers-promises.js +4 -3
- package/dist/node/url.js +4 -3
- package/dist/node/util.js +4 -3
- package/dist/objects/getters.js +5 -7
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +2 -3
- package/dist/objects/predicates.js +0 -4
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.js +15 -16
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +11 -17
- package/dist/packages/fetch.d.ts +16 -0
- package/dist/packages/fetch.js +81 -0
- package/dist/packages/find.d.ts +55 -0
- package/dist/packages/find.js +65 -0
- package/dist/packages/isolation.js +14 -14
- package/dist/packages/licenses.js +16 -16
- package/dist/packages/manifest.js +12 -15
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +5 -9
- package/dist/packages/provenance.d.ts +6 -0
- package/dist/packages/provenance.js +25 -18
- package/dist/packages/read.d.ts +29 -0
- package/dist/packages/read.js +66 -0
- package/dist/packages/specs.d.ts +48 -1
- package/dist/packages/specs.js +74 -11
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +79 -0
- package/dist/packages/types.d.ts +21 -20
- package/dist/packages/validation.js +0 -3
- package/dist/paths/_internal.d.ts +2 -1
- package/dist/paths/_internal.js +7 -19
- package/dist/paths/conversion.js +5 -9
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +6 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +11 -14
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.js +16 -16
- package/dist/paths/walk.d.ts +1 -1
- package/dist/paths/walk.js +4 -4
- package/dist/perf/report.js +2 -2
- package/dist/perf/types.d.ts +1 -1
- package/dist/pkg-ext/data.js +1 -1
- package/dist/primordials/array.js +9 -9
- package/dist/primordials/date.js +2 -2
- package/dist/primordials/error.js +3 -3
- package/dist/primordials/headers.d.ts +10 -0
- package/dist/primordials/headers.js +23 -0
- package/dist/primordials/intl.d.ts +13 -0
- package/dist/primordials/intl.js +26 -0
- package/dist/primordials/math.js +33 -33
- package/dist/primordials/number.js +9 -9
- package/dist/primordials/object.js +5 -5
- package/dist/primordials/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- package/dist/primordials/uncurry.js +9 -9
- package/dist/process/abort.js +3 -3
- package/dist/process/lock-manager.js +8 -8
- package/dist/process/spawn/_internal.js +6 -8
- package/dist/process/spawn/child.js +14 -14
- package/dist/process/spawn/errors.js +2 -4
- package/dist/process/spawn/kill-tree.d.ts +53 -0
- package/dist/process/spawn/kill-tree.js +85 -0
- package/dist/process/spawn/stdio.js +0 -1
- package/dist/process/spawn/types.d.ts +5 -5
- package/dist/process/transient.js +2 -2
- package/dist/promises/_internal.d.ts +2 -1
- package/dist/promises/_internal.js +2 -6
- package/dist/promises/iterate.js +12 -16
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +2 -2
- package/dist/releases/github-asset-url.d.ts +1 -1
- package/dist/releases/github-asset-url.js +5 -5
- package/dist/releases/github-downloads.d.ts +1 -1
- package/dist/releases/github-downloads.js +3 -3
- package/dist/releases/github-listing.d.ts +11 -2
- package/dist/releases/github-listing.js +20 -7
- package/dist/releases/github-retry-config.js +1 -1
- package/dist/releases/github-types.d.ts +6 -6
- package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
- package/dist/releases/socket-btm-binary-naming.js +155 -0
- package/dist/releases/socket-btm.d.ts +8 -115
- package/dist/releases/socket-btm.js +16 -159
- package/dist/schema/types.d.ts +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +5 -4
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/keychain.js +9 -6
- package/dist/secrets/linux.js +25 -23
- package/dist/secrets/macos.d.ts +1 -1
- package/dist/secrets/macos.js +18 -16
- package/dist/secrets/rc.d.ts +2 -2
- package/dist/secrets/rc.js +15 -10
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +18 -9
- package/dist/secrets/windows.js +21 -17
- package/dist/shadow/skip.js +2 -2
- package/dist/shell/parse.d.ts +108 -1
- package/dist/shell/parse.js +168 -2
- package/dist/smol/detect.js +9 -10
- package/dist/smol/http.js +6 -7
- package/dist/smol/https.js +6 -7
- package/dist/smol/manifest.d.ts +1 -1
- package/dist/smol/manifest.js +6 -7
- package/dist/smol/path.d.ts +1 -1
- package/dist/smol/path.js +7 -8
- package/dist/smol/primordial.d.ts +4 -0
- package/dist/smol/primordial.js +6 -7
- package/dist/smol/purl.d.ts +1 -1
- package/dist/smol/purl.js +7 -8
- package/dist/smol/versions.js +6 -7
- package/dist/smol/vfs.js +6 -7
- package/dist/sorts/_internal.js +6 -8
- package/dist/sorts/natural.js +10 -12
- package/dist/sorts/semver.js +1 -2
- package/dist/sorts/strings.js +0 -1
- package/dist/sorts/types.d.ts +1 -1
- package/dist/spinner/create-spinner-class.d.ts +38 -0
- package/dist/spinner/create-spinner-class.js +302 -0
- package/dist/spinner/default.js +8 -9
- package/dist/spinner/spinner-internals.d.ts +36 -0
- package/dist/spinner/spinner-internals.js +101 -0
- package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
- package/dist/spinner/spinner-shimmer-methods.js +143 -0
- package/dist/spinner/spinner-status-methods.d.ts +40 -0
- package/dist/spinner/spinner-status-methods.js +133 -0
- package/dist/spinner/spinner.d.ts +4 -5
- package/dist/spinner/spinner.js +18 -705
- package/dist/spinner/types.d.ts +3 -1
- package/dist/spinner/with.d.ts +10 -0
- package/dist/spinner/with.js +16 -2
- package/dist/stdio/divider.js +1 -1
- package/dist/stdio/footer.js +3 -3
- package/dist/stdio/header.js +4 -4
- package/dist/stdio/progress.js +5 -5
- package/dist/stdio/prompts.d.ts +5 -3
- package/dist/stdio/prompts.js +6 -7
- package/dist/stdio/stdout.js +3 -3
- package/dist/streams/parallel.js +3 -5
- package/dist/streams/transform.js +2 -3
- package/dist/strings/format.js +2 -6
- package/dist/strings/predicates.js +0 -2
- package/dist/strings/search.js +1 -2
- package/dist/strings/transform.js +0 -3
- package/dist/strings/width.js +9 -10
- package/dist/tables/bordered.js +4 -3
- package/dist/tables/padding.js +1 -1
- package/dist/tables/simple.js +8 -5
- package/dist/temporal/instant.js +4 -2
- package/dist/temporal/slots.js +7 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.js +1 -2
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +5 -5
- package/dist/versions/_internal.js +3 -3
- package/dist/words/article.js +0 -1
- package/dist/words/capitalize.js +0 -1
- package/dist/words/pluralize.d.ts +24 -2
- package/dist/words/pluralize.js +47 -2
- package/dist/words/types.d.ts +25 -2
- package/package.json +289 -108
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -52
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/http-request/checksums.d.ts +0 -69
- package/dist/http-request/checksums.js +0 -108
- package/dist/http-request/http-request.d.ts +0 -12
- package/dist/http-request/http-request.js +0 -11
- package/dist/packages/operations.d.ts +0 -113
- package/dist/packages/operations.js +0 -304
- package/dist/ssri/convert.d.ts +0 -48
- package/dist/ssri/convert.js +0 -69
- package/dist/ssri/parse.d.ts +0 -27
- package/dist/ssri/parse.js +0 -41
- package/dist/ssri/validate.d.ts +0 -41
- package/dist/ssri/validate.js +0 -56
- /package/dist/{bin → cli}/check.d.ts +0 -0
- /package/dist/external-tools/{uv → python}/types.js +0 -0
- /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
- /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_paths_normalize = require('../../paths/normalize.js');
|
|
5
|
+
const require_bin_which = require('../../bin/which.js');
|
|
6
|
+
|
|
7
|
+
//#region src/external-tools/skillspector/from-path.ts
|
|
8
|
+
/**
|
|
9
|
+
* @file `skillspectorFromPath()` — `which skillspector` lookup. Reports
|
|
10
|
+
* `source: 'pipx'` when the resolved path lives under a `pipx/venvs/`
|
|
11
|
+
* directory (the dev's `pipx install skillspector` path); reports `source:
|
|
12
|
+
* 'path'` otherwise (a one-off binary on PATH).
|
|
13
|
+
*/
|
|
14
|
+
const PIPX_PATH_SEGMENT_RE = /pipx\/venvs\//;
|
|
15
|
+
async function skillspectorFromPath() {
|
|
16
|
+
const resolved = await require_bin_which.which("skillspector", { nothrow: true });
|
|
17
|
+
if (typeof resolved !== "string") return;
|
|
18
|
+
const normalized = require_paths_normalize.normalizePath(resolved);
|
|
19
|
+
if (PIPX_PATH_SEGMENT_RE.test(normalized)) return {
|
|
20
|
+
path: normalized,
|
|
21
|
+
source: "pipx"
|
|
22
|
+
};
|
|
23
|
+
return {
|
|
24
|
+
path: normalized,
|
|
25
|
+
source: "path"
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
exports.skillspectorFromPath = skillspectorFromPath;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file `skillspectorFromVfs()` — extracts SkillSpector from the smol Node VFS
|
|
3
|
+
* if it's bundled. Returns `undefined` when the binary doesn't carry
|
|
4
|
+
* skillspector.
|
|
5
|
+
*/
|
|
6
|
+
import type { ResolvedSkillSpector } from './types';
|
|
7
|
+
export declare const SKILLSPECTOR_VFS_KEY = "skillspector";
|
|
8
|
+
export declare function skillspectorFromVfs(): Promise<ResolvedSkillSpector | undefined>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_smol_vfs = require('../../smol/vfs.js');
|
|
5
|
+
|
|
6
|
+
//#region src/external-tools/skillspector/from-vfs.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file `skillspectorFromVfs()` — extracts SkillSpector from the smol Node VFS
|
|
9
|
+
* if it's bundled. Returns `undefined` when the binary doesn't carry
|
|
10
|
+
* skillspector.
|
|
11
|
+
*/
|
|
12
|
+
const SKILLSPECTOR_VFS_KEY = "skillspector";
|
|
13
|
+
async function skillspectorFromVfs() {
|
|
14
|
+
const vfs = require_smol_vfs.getSmolVfs();
|
|
15
|
+
if (!vfs) return;
|
|
16
|
+
/* c8 ignore start - smol Node binary only. */
|
|
17
|
+
if (!vfs.has("skillspector")) return;
|
|
18
|
+
return {
|
|
19
|
+
path: await vfs.extract(SKILLSPECTOR_VFS_KEY),
|
|
20
|
+
source: "vfs"
|
|
21
|
+
};
|
|
22
|
+
/* c8 ignore stop */
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
exports.SKILLSPECTOR_VFS_KEY = SKILLSPECTOR_VFS_KEY;
|
|
27
|
+
exports.skillspectorFromVfs = skillspectorFromVfs;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file `resolveSkillSpector()` — SkillSpector resolution entry point. Tries
|
|
3
|
+
* each source in order:
|
|
4
|
+
*
|
|
5
|
+
* 1. VFS — smol binary's embedded skillspector (if packed)
|
|
6
|
+
* 2. PATH — `which skillspector` (pipx-installed binaries land here too; the
|
|
7
|
+
* source field distinguishes `'pipx'` vs `'path'`)
|
|
8
|
+
* 3. DLX-venv — `~/.socket/_dlx/skillspector/<sha>/` with the pinned SHA Returns
|
|
9
|
+
* `undefined` when all enabled sources miss. Memoized per
|
|
10
|
+
* sha+cacheDir+localOnly tuple.
|
|
11
|
+
*/
|
|
12
|
+
import type { ResolvedSkillSpector } from './types';
|
|
13
|
+
export interface ResolveSkillSpectorOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Tier-3 install spec — the pinned upstream SHA. Required when `localOnly` is
|
|
16
|
+
* unset (without a SHA, the DLX tier can't run).
|
|
17
|
+
*/
|
|
18
|
+
readonly sha?: string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Tier-3 cache override. Defaults to `~/.socket/_dlx/skillspector/<sha>`.
|
|
21
|
+
*/
|
|
22
|
+
readonly cacheDir?: string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* When true, only the VFS + PATH tiers run. Use for check-mode invocations
|
|
25
|
+
* that want to fail-fast if the tool isn't already installed.
|
|
26
|
+
*/
|
|
27
|
+
readonly localOnly?: boolean | undefined;
|
|
28
|
+
}
|
|
29
|
+
export declare function cacheKey(opts: ResolveSkillSpectorOptions): string;
|
|
30
|
+
export declare function doResolveSkillSpector(opts: ResolveSkillSpectorOptions): Promise<ResolvedSkillSpector | undefined>;
|
|
31
|
+
/**
|
|
32
|
+
* Memoizing wrapper around {@link doResolveSkillSpector}.
|
|
33
|
+
*/
|
|
34
|
+
export declare function resolveSkillSpector(opts?: ResolveSkillSpectorOptions): Promise<ResolvedSkillSpector | undefined>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_map_set = require('../../primordials/map-set.js');
|
|
5
|
+
const require_external_tools_skillspector_from_dlx = require('./from-dlx.js');
|
|
6
|
+
const require_external_tools_skillspector_from_path = require('./from-path.js');
|
|
7
|
+
const require_external_tools_skillspector_from_vfs = require('./from-vfs.js');
|
|
8
|
+
|
|
9
|
+
//#region src/external-tools/skillspector/resolve.ts
|
|
10
|
+
/**
|
|
11
|
+
* @file `resolveSkillSpector()` — SkillSpector resolution entry point. Tries
|
|
12
|
+
* each source in order:
|
|
13
|
+
*
|
|
14
|
+
* 1. VFS — smol binary's embedded skillspector (if packed)
|
|
15
|
+
* 2. PATH — `which skillspector` (pipx-installed binaries land here too; the
|
|
16
|
+
* source field distinguishes `'pipx'` vs `'path'`)
|
|
17
|
+
* 3. DLX-venv — `~/.socket/_dlx/skillspector/<sha>/` with the pinned SHA Returns
|
|
18
|
+
* `undefined` when all enabled sources miss. Memoized per
|
|
19
|
+
* sha+cacheDir+localOnly tuple.
|
|
20
|
+
*/
|
|
21
|
+
const resolutionCache = new require_primordials_map_set.MapCtor();
|
|
22
|
+
function cacheKey(opts) {
|
|
23
|
+
return `${opts.sha ?? ""}|${opts.cacheDir ?? ""}|${opts.localOnly ? "local" : "full"}`;
|
|
24
|
+
}
|
|
25
|
+
async function doResolveSkillSpector(opts) {
|
|
26
|
+
const fromVfs = await require_external_tools_skillspector_from_vfs.skillspectorFromVfs();
|
|
27
|
+
/* c8 ignore start - smol Node binary only. */
|
|
28
|
+
if (fromVfs) return fromVfs;
|
|
29
|
+
/* c8 ignore stop */
|
|
30
|
+
const fromPath = await require_external_tools_skillspector_from_path.skillspectorFromPath();
|
|
31
|
+
if (fromPath) return fromPath;
|
|
32
|
+
if (opts.localOnly || !opts.sha) return;
|
|
33
|
+
return require_external_tools_skillspector_from_dlx.skillspectorFromDlx({
|
|
34
|
+
sha: opts.sha,
|
|
35
|
+
cacheDir: opts.cacheDir
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Memoizing wrapper around {@link doResolveSkillSpector}.
|
|
40
|
+
*/
|
|
41
|
+
async function resolveSkillSpector(opts = {}) {
|
|
42
|
+
const key = cacheKey(opts);
|
|
43
|
+
const existing = resolutionCache.get(key);
|
|
44
|
+
if (existing) return existing;
|
|
45
|
+
const promise = doResolveSkillSpector(opts);
|
|
46
|
+
resolutionCache.set(key, promise);
|
|
47
|
+
return promise;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
exports.cacheKey = cacheKey;
|
|
52
|
+
exports.doResolveSkillSpector = doResolveSkillSpector;
|
|
53
|
+
exports.resolveSkillSpector = resolveSkillSpector;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Shared types for SkillSpector resolution. SkillSpector is NVIDIA's
|
|
3
|
+
* third-party-skill scanner (sibling to AgentShield); pinned to a git SHA
|
|
4
|
+
* because upstream has no PyPI release or GH tags as of 2026-06-01.
|
|
5
|
+
*/
|
|
6
|
+
export type SkillSpectorSource = 'vfs' | 'pipx' | 'path' | 'dlx';
|
|
7
|
+
/**
|
|
8
|
+
* A resolved SkillSpector installation.
|
|
9
|
+
*/
|
|
10
|
+
export interface ResolvedSkillSpector {
|
|
11
|
+
/**
|
|
12
|
+
* Absolute path to the `skillspector` entry-point executable.
|
|
13
|
+
*/
|
|
14
|
+
readonly path: string;
|
|
15
|
+
/**
|
|
16
|
+
* Which resolver tier found this.
|
|
17
|
+
*
|
|
18
|
+
* - 'vfs' — extracted from the SEA binary's VFS
|
|
19
|
+
* - 'pipx' — `which skillspector` returned a pipx-installed venv binary
|
|
20
|
+
* - 'path' — `which skillspector` returned a non-pipx binary on PATH
|
|
21
|
+
* - 'dlx' — created a venv under ~/.socket/_dlx/skillspector/<sha>/
|
|
22
|
+
*/
|
|
23
|
+
readonly source: SkillSpectorSource;
|
|
24
|
+
}
|
|
@@ -12,8 +12,8 @@ const require_external_tools_synp_asset_names = require('./asset-names.js');
|
|
|
12
12
|
*/
|
|
13
13
|
async function synpFromDownload(opts) {
|
|
14
14
|
const { integrity, version } = opts;
|
|
15
|
-
const { binaryPath } = await require_dlx_package.
|
|
16
|
-
|
|
15
|
+
const { binaryPath } = await require_dlx_package.downloadNpmPackage({
|
|
16
|
+
spec: require_external_tools_synp_asset_names.getSynpPackageSpec({ version }),
|
|
17
17
|
binaryName: "synp",
|
|
18
18
|
...integrity ? { hash: integrity } : {}
|
|
19
19
|
});
|
|
@@ -10,7 +10,7 @@ const require_smol_vfs = require('../../smol/vfs.js');
|
|
|
10
10
|
*/
|
|
11
11
|
const SYNP_VFS_KEY = "synp";
|
|
12
12
|
async function synpFromVfs() {
|
|
13
|
-
const vfs =
|
|
13
|
+
const vfs = require_smol_vfs.getSmolVfs();
|
|
14
14
|
if (!vfs) return;
|
|
15
15
|
/* c8 ignore start - smol Node binary only. */
|
|
16
16
|
if (!vfs.has("synp")) return;
|
|
@@ -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_primordials_map_set = require('../../primordials/map-set.js');
|
|
4
5
|
const require_external_tools_synp_from_download = require('./from-download.js');
|
|
5
6
|
const require_external_tools_synp_from_path = require('./from-path.js');
|
|
6
7
|
const require_external_tools_synp_from_vfs = require('./from-vfs.js');
|
|
@@ -16,7 +17,7 @@ const require_external_tools_synp_from_vfs = require('./from-vfs.js');
|
|
|
16
17
|
* passed) Returns `undefined` if all of the enabled sources miss. Memoized
|
|
17
18
|
* per option-shape.
|
|
18
19
|
*/
|
|
19
|
-
const resolutionCache =
|
|
20
|
+
const resolutionCache = new require_primordials_map_set.MapCtor();
|
|
20
21
|
function cacheKey(opts) {
|
|
21
22
|
if (!opts?.downloadIfMissing) return "local-only";
|
|
22
23
|
const { integrity, version } = opts.downloadIfMissing;
|
|
@@ -10,7 +10,7 @@ const require_smol_vfs = require('../../smol/vfs.js');
|
|
|
10
10
|
*/
|
|
11
11
|
const TRIVY_VFS_KEY = "trivy";
|
|
12
12
|
async function trivyFromVfs() {
|
|
13
|
-
const vfs =
|
|
13
|
+
const vfs = require_smol_vfs.getSmolVfs();
|
|
14
14
|
if (!vfs) return;
|
|
15
15
|
/* c8 ignore start - smol Node binary only. */
|
|
16
16
|
if (!vfs.has("trivy")) return;
|
|
@@ -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_primordials_map_set = require('../../primordials/map-set.js');
|
|
4
5
|
const require_external_tools_trivy_from_download = require('./from-download.js');
|
|
5
6
|
const require_external_tools_trivy_from_path = require('./from-path.js');
|
|
6
7
|
const require_external_tools_trivy_from_vfs = require('./from-vfs.js');
|
|
@@ -16,7 +17,7 @@ const require_external_tools_trivy_from_vfs = require('./from-vfs.js');
|
|
|
16
17
|
* is passed) Returns `undefined` if all of the enabled sources miss.
|
|
17
18
|
* Memoized per option-shape.
|
|
18
19
|
*/
|
|
19
|
-
const resolutionCache =
|
|
20
|
+
const resolutionCache = new require_primordials_map_set.MapCtor();
|
|
20
21
|
function cacheKey(opts) {
|
|
21
22
|
if (!opts?.downloadIfMissing) return "local-only";
|
|
22
23
|
const { cacheDir, integrity, platformArch, version } = opts.downloadIfMissing;
|
|
@@ -14,7 +14,7 @@ const require_smol_vfs = require('../../smol/vfs.js');
|
|
|
14
14
|
*/
|
|
15
15
|
const TRUFFLEHOG_VFS_KEY = "trufflehog";
|
|
16
16
|
async function trufflehogFromVfs() {
|
|
17
|
-
const vfs =
|
|
17
|
+
const vfs = require_smol_vfs.getSmolVfs();
|
|
18
18
|
if (!vfs) return;
|
|
19
19
|
/* c8 ignore start - smol Node binary only. */
|
|
20
20
|
if (!vfs.has("trufflehog")) return;
|
|
@@ -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_primordials_map_set = require('../../primordials/map-set.js');
|
|
4
5
|
const require_external_tools_trufflehog_from_download = require('./from-download.js');
|
|
5
6
|
const require_external_tools_trufflehog_from_path = require('./from-path.js');
|
|
6
7
|
const require_external_tools_trufflehog_from_vfs = require('./from-vfs.js');
|
|
@@ -16,7 +17,7 @@ const require_external_tools_trufflehog_from_vfs = require('./from-vfs.js');
|
|
|
16
17
|
* passed) Returns `undefined` if all of the enabled sources miss. Memoized
|
|
17
18
|
* per option-shape; same caching semantics as `resolveJre()`.
|
|
18
19
|
*/
|
|
19
|
-
const resolutionCache =
|
|
20
|
+
const resolutionCache = new require_primordials_map_set.MapCtor();
|
|
20
21
|
function cacheKey(opts) {
|
|
21
22
|
if (!opts?.downloadIfMissing) return "local-only";
|
|
22
23
|
const { cacheDir, integrity, platformArch, version } = opts.downloadIfMissing;
|
package/dist/fs/_internal.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @file Private state shared between `fs/safe` and `fs/path-cache`. The `_`
|
|
3
3
|
* prefix keeps this module out of the generated package.json `exports` map
|
|
4
4
|
* (the `dist/**\/_*` ignore pattern in
|
|
5
|
-
* `scripts/
|
|
5
|
+
* `scripts/post-build/make-package-exports.mts` filters it out), so it is not
|
|
6
6
|
* part of the public surface — it exists only to give the two leaves above a
|
|
7
7
|
* common owner for the allowed-directory cache. The cache is invalidated by
|
|
8
8
|
* `invalidatePathCache()` in `fs/path-cache.ts` whenever paths are rewired in
|
package/dist/fs/_internal.js
CHANGED
|
@@ -9,36 +9,36 @@ const require_paths_socket = require('../paths/socket.js');
|
|
|
9
9
|
* @file Private state shared between `fs/safe` and `fs/path-cache`. The `_`
|
|
10
10
|
* prefix keeps this module out of the generated package.json `exports` map
|
|
11
11
|
* (the `dist/**\/_*` ignore pattern in
|
|
12
|
-
* `scripts/
|
|
12
|
+
* `scripts/post-build/make-package-exports.mts` filters it out), so it is not
|
|
13
13
|
* part of the public surface — it exists only to give the two leaves above a
|
|
14
14
|
* common owner for the allowed-directory cache. The cache is invalidated by
|
|
15
15
|
* `invalidatePathCache()` in `fs/path-cache.ts` whenever paths are rewired in
|
|
16
16
|
* tests (`paths/rewire.ts` registers `invalidatePathCache` as one of its
|
|
17
17
|
* cache callbacks); `getAllowedDirectories()` rehydrates on next call.
|
|
18
18
|
*/
|
|
19
|
-
let
|
|
19
|
+
let cachedAllowedDirs;
|
|
20
20
|
/**
|
|
21
21
|
* Clear the cached allowed-directories list. Used by `invalidatePathCache()`
|
|
22
22
|
* when test path rewiring changes any of the underlying paths so the next read
|
|
23
23
|
* picks up the new resolved values.
|
|
24
24
|
*/
|
|
25
25
|
function clearAllowedDirectories() {
|
|
26
|
-
|
|
26
|
+
cachedAllowedDirs = void 0;
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
29
|
* Get resolved allowed directories for safe deletion with lazy caching. These
|
|
30
30
|
* directories are resolved once and cached for the process lifetime.
|
|
31
31
|
*/
|
|
32
32
|
function getAllowedDirectories() {
|
|
33
|
-
if (
|
|
34
|
-
const path =
|
|
35
|
-
|
|
33
|
+
if (cachedAllowedDirs === void 0) {
|
|
34
|
+
const path = require_node_path.getNodePath();
|
|
35
|
+
cachedAllowedDirs = [
|
|
36
36
|
path.resolve(require_paths_socket.getOsTmpDir()),
|
|
37
37
|
path.resolve(require_paths_socket.getSocketCacacheDir()),
|
|
38
38
|
path.resolve(require_paths_socket.getSocketUserDir())
|
|
39
39
|
];
|
|
40
40
|
}
|
|
41
|
-
return
|
|
41
|
+
return cachedAllowedDirs;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
//#endregion
|
package/dist/fs/access.js
CHANGED
|
@@ -23,13 +23,12 @@ const require_smol_path = require('../smol/path.js');
|
|
|
23
23
|
*
|
|
24
24
|
* @returns True if the access check succeeds.
|
|
25
25
|
*/
|
|
26
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
27
26
|
function canAccess(path, mode) {
|
|
28
27
|
/* c8 ignore start - native access arm only on socket-btm smol binaries; getSmolPath() is undefined on stock Node. */
|
|
29
|
-
const smolAccess =
|
|
28
|
+
const smolAccess = require_smol_path.getSmolPath()?.access;
|
|
30
29
|
if (smolAccess) return smolAccess(path, mode);
|
|
31
30
|
/* c8 ignore stop */
|
|
32
|
-
const fs =
|
|
31
|
+
const fs = require_node_fs.getNodeFs();
|
|
33
32
|
try {
|
|
34
33
|
fs.accessSync(path, mode);
|
|
35
34
|
return true;
|
|
@@ -40,23 +39,20 @@ function canAccess(path, mode) {
|
|
|
40
39
|
/**
|
|
41
40
|
* Can the process execute `path`? (`X_OK`)
|
|
42
41
|
*/
|
|
43
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
44
42
|
function canExecute(path) {
|
|
45
|
-
return
|
|
43
|
+
return canAccess(path, require_node_fs.getNodeFs().constants.X_OK);
|
|
46
44
|
}
|
|
47
45
|
/**
|
|
48
46
|
* Can the process read `path`? (`R_OK`)
|
|
49
47
|
*/
|
|
50
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
51
48
|
function canRead(path) {
|
|
52
|
-
return
|
|
49
|
+
return canAccess(path, require_node_fs.getNodeFs().constants.R_OK);
|
|
53
50
|
}
|
|
54
51
|
/**
|
|
55
52
|
* Can the process write `path`? (`W_OK`)
|
|
56
53
|
*/
|
|
57
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
58
54
|
function canWrite(path) {
|
|
59
|
-
return
|
|
55
|
+
return canAccess(path, require_node_fs.getNodeFs().constants.W_OK);
|
|
60
56
|
}
|
|
61
57
|
|
|
62
58
|
//#endregion
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
const require_paths_rewire = require('../paths/rewire.js');
|
|
5
5
|
const require_fs__internal = require('./_internal.js');
|
|
6
6
|
|
|
7
|
-
//#region src/fs/
|
|
7
|
+
//#region src/fs/allowed-dirs-cache.ts
|
|
8
8
|
/**
|
|
9
9
|
* @file Cache-invalidation entry point for the allowed-directories list used by
|
|
10
10
|
* `safeDelete` / `safeDeleteSync`. Loading this module registers
|
package/dist/fs/encoding.js
CHANGED
|
@@ -23,9 +23,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
23
23
|
*
|
|
24
24
|
* @see https://github.com/nodejs/node/blob/ae62b36d442b7bf987e85ae6e0df0f02cc1bb17f/lib/internal/util.js#L247-L310
|
|
25
25
|
*/
|
|
26
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
27
26
|
function normalizeEncoding(enc) {
|
|
28
|
-
return enc == null || enc === "utf8" || enc === "utf-8" ? "utf8" :
|
|
27
|
+
return enc == null || enc === "utf8" || enc === "utf-8" ? "utf8" : normalizeEncodingSlow(enc);
|
|
29
28
|
}
|
|
30
29
|
/**
|
|
31
30
|
* Move the "slow cases" to a separate function to make sure this function gets
|
|
@@ -46,11 +45,10 @@ function normalizeEncoding(enc) {
|
|
|
46
45
|
*
|
|
47
46
|
* @see https://github.com/nodejs/node/blob/ae62b36d442b7bf987e85ae6e0df0f02cc1bb17f/lib/internal/util.js#L247-L310
|
|
48
47
|
*/
|
|
49
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
50
48
|
function normalizeEncodingSlow(enc) {
|
|
51
49
|
const { length } = enc;
|
|
52
50
|
if (length === 4) {
|
|
53
|
-
if (enc === "
|
|
51
|
+
if (enc === "UCS2" || enc === "ucs2") return "utf16le";
|
|
54
52
|
if (enc.toLowerCase() === "ucs2") return "utf16le";
|
|
55
53
|
} else if (length === 3 && enc === "hex" || enc === "HEX" || enc.toLowerCase() === "hex") return "hex";
|
|
56
54
|
else if (length === 5) {
|
|
@@ -63,12 +61,12 @@ function normalizeEncodingSlow(enc) {
|
|
|
63
61
|
if (enc === "ucs-2") return "utf16le";
|
|
64
62
|
} else if (length === 6) {
|
|
65
63
|
if (enc === "base64") return "base64";
|
|
66
|
-
if (enc === "
|
|
64
|
+
if (enc === "binary" || enc === "latin1") return "latin1";
|
|
67
65
|
if (enc === "BASE64") return "base64";
|
|
68
|
-
if (enc === "
|
|
66
|
+
if (enc === "BINARY" || enc === "LATIN1") return "latin1";
|
|
69
67
|
enc = enc.toLowerCase();
|
|
70
68
|
if (enc === "base64") return "base64";
|
|
71
|
-
if (enc === "
|
|
69
|
+
if (enc === "binary" || enc === "latin1") return "latin1";
|
|
72
70
|
} else if (length === 7) {
|
|
73
71
|
if (enc === "utf16le" || enc === "UTF16LE" || enc.toLowerCase() === "utf16le") return "utf16le";
|
|
74
72
|
} else if (length === 8) {
|
|
@@ -12,7 +12,7 @@ const require_paths_walk = require('../paths/walk.js');
|
|
|
12
12
|
let node_process = require("node:process");
|
|
13
13
|
node_process = require_runtime.__toESM(node_process);
|
|
14
14
|
|
|
15
|
-
//#region src/fs/find
|
|
15
|
+
//#region src/fs/find.ts
|
|
16
16
|
/**
|
|
17
17
|
* @file Walk parent directories to locate a file or directory by name. The
|
|
18
18
|
* traversal includes the filesystem root (or the caller-supplied `stopAt`
|
|
@@ -43,7 +43,6 @@ const abortSignal = require_process_abort.getAbortSignal();
|
|
|
43
43
|
*
|
|
44
44
|
* @returns Normalized absolute path if found, undefined otherwise
|
|
45
45
|
*/
|
|
46
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
47
46
|
async function findUp(name, options) {
|
|
48
47
|
const { cwd = node_process.default.cwd(), signal = abortSignal } = {
|
|
49
48
|
__proto__: null,
|
|
@@ -55,16 +54,16 @@ async function findUp(name, options) {
|
|
|
55
54
|
};
|
|
56
55
|
if (onlyDirectories) onlyFiles = false;
|
|
57
56
|
if (onlyFiles) onlyDirectories = false;
|
|
58
|
-
const fs =
|
|
59
|
-
const path =
|
|
57
|
+
const fs = require_node_fs.getNodeFs();
|
|
58
|
+
const path = require_node_path.getNodePath();
|
|
60
59
|
const names = require_arrays_predicates.isArray(name) ? name : [name];
|
|
61
60
|
for (const dir of require_paths_walk.walkUp(cwd)) for (const n of names) {
|
|
62
61
|
if (signal?.aborted) return;
|
|
63
62
|
const thePath = path.join(dir, n);
|
|
64
63
|
try {
|
|
65
64
|
const stats = await fs.promises.stat(thePath);
|
|
66
|
-
if (!onlyDirectories && stats.isFile()) return
|
|
67
|
-
if (!onlyFiles && stats.isDirectory()) return
|
|
65
|
+
if (!onlyDirectories && stats.isFile()) return require_paths_normalize.normalizePath(thePath);
|
|
66
|
+
if (!onlyFiles && stats.isDirectory()) return require_paths_normalize.normalizePath(thePath);
|
|
68
67
|
} catch {}
|
|
69
68
|
}
|
|
70
69
|
}
|
|
@@ -94,7 +93,6 @@ async function findUp(name, options) {
|
|
|
94
93
|
*
|
|
95
94
|
* @returns Normalized absolute path if found, undefined otherwise
|
|
96
95
|
*/
|
|
97
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
98
96
|
function findUpSync(name, options) {
|
|
99
97
|
const { cwd = node_process.default.cwd(), stopAt } = {
|
|
100
98
|
__proto__: null,
|
|
@@ -106,22 +104,22 @@ function findUpSync(name, options) {
|
|
|
106
104
|
};
|
|
107
105
|
if (onlyDirectories) onlyFiles = false;
|
|
108
106
|
if (onlyFiles) onlyDirectories = false;
|
|
109
|
-
const fs =
|
|
110
|
-
const path =
|
|
107
|
+
const fs = require_node_fs.getNodeFs();
|
|
108
|
+
const path = require_node_path.getNodePath();
|
|
111
109
|
const names = require_arrays_predicates.isArray(name) ? name : [name];
|
|
112
110
|
/* c8 ignore start - native findUp arm only on socket-btm smol binaries; getSmolPath() is undefined on stock Node. */
|
|
113
|
-
const smolFindUp =
|
|
111
|
+
const smolFindUp = require_smol_path.getSmolPath()?.findUp;
|
|
114
112
|
if (smolFindUp && stopAt === void 0) {
|
|
115
113
|
const found = smolFindUp(path.resolve(cwd), names, { onlyDirectories });
|
|
116
|
-
return found === void 0 ? void 0 :
|
|
114
|
+
return found === void 0 ? void 0 : require_paths_normalize.normalizePath(found);
|
|
117
115
|
}
|
|
118
116
|
/* c8 ignore stop */
|
|
119
117
|
for (const dir of require_paths_walk.walkUp(cwd, { stopAt })) for (const n of names) {
|
|
120
118
|
const thePath = path.join(dir, n);
|
|
121
119
|
try {
|
|
122
120
|
const stats = fs.statSync(thePath);
|
|
123
|
-
if (!onlyDirectories && stats.isFile()) return
|
|
124
|
-
if (!onlyFiles && stats.isDirectory()) return
|
|
121
|
+
if (!onlyDirectories && stats.isFile()) return require_paths_normalize.normalizePath(thePath);
|
|
122
|
+
if (!onlyFiles && stats.isDirectory()) return require_paths_normalize.normalizePath(thePath);
|
|
125
123
|
} catch {}
|
|
126
124
|
}
|
|
127
125
|
}
|
package/dist/fs/inspect.js
CHANGED
|
@@ -29,9 +29,8 @@ const require_globs_matcher = require('../globs/matcher.js');
|
|
|
29
29
|
*
|
|
30
30
|
* @returns `true` if path is a directory, `false` otherwise
|
|
31
31
|
*/
|
|
32
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
33
32
|
async function isDir(filepath) {
|
|
34
|
-
return !!(await
|
|
33
|
+
return !!(await safeStat(filepath))?.isDirectory();
|
|
35
34
|
}
|
|
36
35
|
/**
|
|
37
36
|
* Check if a directory is empty synchronously. A directory is considered empty
|
|
@@ -52,18 +51,17 @@ async function isDir(filepath) {
|
|
|
52
51
|
*
|
|
53
52
|
* @returns `true` if directory is empty (or doesn't exist), `false` otherwise
|
|
54
53
|
*/
|
|
55
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
56
54
|
function isDirEmptySync(dirname, options) {
|
|
57
55
|
const { ignore = require_globs_defaults.defaultIgnore } = {
|
|
58
56
|
__proto__: null,
|
|
59
57
|
...options
|
|
60
58
|
};
|
|
61
|
-
const fs =
|
|
59
|
+
const fs = require_node_fs.getNodeFs();
|
|
62
60
|
try {
|
|
63
61
|
const files = fs.readdirSync(dirname);
|
|
64
62
|
const { length } = files;
|
|
65
63
|
if (length === 0) return true;
|
|
66
|
-
const matcher =
|
|
64
|
+
const matcher = require_globs_matcher.getGlobMatcher(ignore, { cwd: require_paths__internal.pathLikeToString(dirname) });
|
|
67
65
|
let ignoredCount = 0;
|
|
68
66
|
for (let i = 0; i < length; i += 1) {
|
|
69
67
|
const file = files[i];
|
|
@@ -89,9 +87,8 @@ function isDirEmptySync(dirname, options) {
|
|
|
89
87
|
*
|
|
90
88
|
* @returns `true` if path is a directory, `false` otherwise
|
|
91
89
|
*/
|
|
92
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
93
90
|
function isDirSync(filepath) {
|
|
94
|
-
return !!
|
|
91
|
+
return !!safeStatSync(filepath)?.isDirectory();
|
|
95
92
|
}
|
|
96
93
|
/**
|
|
97
94
|
* Check if a path is a symbolic link synchronously. Uses `lstat` to check the
|
|
@@ -108,9 +105,8 @@ function isDirSync(filepath) {
|
|
|
108
105
|
*
|
|
109
106
|
* @returns `true` if path is a symbolic link, `false` otherwise
|
|
110
107
|
*/
|
|
111
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
112
108
|
function isSymlinkSync(filepath) {
|
|
113
|
-
const fs =
|
|
109
|
+
const fs = require_node_fs.getNodeFs();
|
|
114
110
|
try {
|
|
115
111
|
return fs.lstatSync(filepath).isSymbolicLink();
|
|
116
112
|
} catch {}
|
|
@@ -135,9 +131,8 @@ function isSymlinkSync(filepath) {
|
|
|
135
131
|
*
|
|
136
132
|
* @returns Promise resolving to Stats object, or undefined on error
|
|
137
133
|
*/
|
|
138
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
139
134
|
async function safeStat(filepath) {
|
|
140
|
-
const fs =
|
|
135
|
+
const fs = require_node_fs.getNodeFs();
|
|
141
136
|
try {
|
|
142
137
|
return await fs.promises.stat(filepath);
|
|
143
138
|
} catch {}
|
|
@@ -161,9 +156,8 @@ async function safeStat(filepath) {
|
|
|
161
156
|
*
|
|
162
157
|
* @returns Stats object, or undefined on error
|
|
163
158
|
*/
|
|
164
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
165
159
|
function safeStatSync(filepath) {
|
|
166
|
-
const fs =
|
|
160
|
+
const fs = require_node_fs.getNodeFs();
|
|
167
161
|
try {
|
|
168
162
|
return fs.statSync(filepath, {
|
|
169
163
|
__proto__: null,
|
package/dist/fs/read-dir.js
CHANGED
|
@@ -24,15 +24,14 @@ const require_fs_inspect = require('./inspect.js');
|
|
|
24
24
|
*
|
|
25
25
|
* @returns Array of directory names, optionally sorted
|
|
26
26
|
*/
|
|
27
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
28
27
|
function innerReadDirNames(dirents, dirname, options) {
|
|
29
28
|
const { ignore, includeEmpty = true, sort = true } = {
|
|
30
29
|
__proto__: null,
|
|
31
30
|
...options
|
|
32
31
|
};
|
|
33
|
-
const path =
|
|
34
|
-
const names = dirents.filter((d) => d.isDirectory() && (includeEmpty ||
|
|
35
|
-
return sort ? names.
|
|
32
|
+
const path = require_node_path.getNodePath();
|
|
33
|
+
const names = dirents.filter((d) => d.isDirectory() && (includeEmpty || !require_fs_inspect.isDirEmptySync(path.join(dirname || d.parentPath, d.name), { ignore }))).map((d) => d.name);
|
|
34
|
+
return sort ? names.toSorted(require_sorts_natural.naturalCompare) : names;
|
|
36
35
|
}
|
|
37
36
|
/**
|
|
38
37
|
* Read directory names asynchronously with filtering and sorting. Returns only
|
|
@@ -56,11 +55,10 @@ function innerReadDirNames(dirents, dirname, options) {
|
|
|
56
55
|
*
|
|
57
56
|
* @returns Array of directory names, empty array on error
|
|
58
57
|
*/
|
|
59
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
60
58
|
async function readDirNames(dirname, options) {
|
|
61
|
-
const fs =
|
|
59
|
+
const fs = require_node_fs.getNodeFs();
|
|
62
60
|
try {
|
|
63
|
-
return
|
|
61
|
+
return innerReadDirNames(await fs.promises.readdir(dirname, {
|
|
64
62
|
__proto__: null,
|
|
65
63
|
encoding: "utf8",
|
|
66
64
|
withFileTypes: true
|
|
@@ -90,11 +88,10 @@ async function readDirNames(dirname, options) {
|
|
|
90
88
|
*
|
|
91
89
|
* @returns Array of directory names, empty array on error
|
|
92
90
|
*/
|
|
93
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
94
91
|
function readDirNamesSync(dirname, options) {
|
|
95
|
-
const fs =
|
|
92
|
+
const fs = require_node_fs.getNodeFs();
|
|
96
93
|
try {
|
|
97
|
-
return
|
|
94
|
+
return innerReadDirNames(fs.readdirSync(dirname, {
|
|
98
95
|
__proto__: null,
|
|
99
96
|
encoding: "utf8",
|
|
100
97
|
withFileTypes: true
|