@socketsecurity/lib 6.0.5 → 6.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/dist/ai/discover.d.mts +2 -2
- package/dist/ai/discover.js +6 -4
- package/dist/ai/spawn.js +10 -6
- package/dist/ai/types.d.mts +18 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +12 -7
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +6 -6
- package/dist/archives/zip.js +4 -6
- package/dist/argv/flag-predicates.d.ts +12 -12
- package/dist/argv/flag-predicates.js +17 -17
- package/dist/argv/flag-types.d.ts +18 -18
- package/dist/argv/flag-types.js +4 -4
- package/dist/argv/parse.d.ts +1 -1
- package/dist/arrays/_internal.js +11 -12
- package/dist/arrays/chunk.js +0 -1
- package/dist/arrays/join.d.ts +37 -3
- package/dist/arrays/join.js +43 -7
- package/dist/arrays/unique.js +0 -1
- package/dist/bin/_internal.d.ts +1 -1
- package/dist/bin/_internal.js +1 -1
- package/dist/bin/acorn-bindgen.cjs +769 -0
- package/dist/bin/acorn.wasm +0 -0
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +13 -13
- package/dist/bin/prim.cjs +39244 -0
- package/dist/bin/resolve.js +12 -13
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +5 -5
- package/dist/checks/primordials-defaults.d.ts +3 -3
- package/dist/checks/primordials-defaults.js +3 -3
- package/dist/checks/primordials.js +4 -3
- package/dist/{bin → cli}/check-primordials.d.ts +11 -11
- package/dist/{bin → cli}/check-primordials.js +56 -52
- package/dist/{bin → cli}/check.js +6 -5
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +20 -19
- package/dist/compression/brotli.d.ts +25 -25
- package/dist/compression/brotli.js +37 -44
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +44 -52
- package/dist/constants/agents.d.ts +3 -1
- package/dist/constants/agents.js +15 -11
- package/dist/constants/licenses.js +3 -3
- package/dist/constants/node.d.ts +23 -0
- package/dist/constants/node.js +47 -15
- package/dist/constants/packages.js +22 -28
- package/dist/constants/platform.d.ts +30 -3
- package/dist/constants/platform.js +72 -12
- package/dist/constants/runtime.d.ts +22 -0
- package/dist/constants/runtime.js +32 -0
- package/dist/constants/socket.js +1 -1
- package/dist/cover/code.js +8 -8
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +26 -1
- package/dist/crypto/hash.js +43 -12
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +2 -3
- package/dist/debug/namespace.d.ts +7 -0
- package/dist/debug/namespace.js +21 -12
- package/dist/debug/output.js +21 -24
- package/dist/debug/types.d.ts +4 -4
- package/dist/dlx/arborist.js +6 -6
- package/dist/dlx/binary-cache.js +14 -14
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +14 -13
- package/dist/dlx/binary-resolution.js +16 -14
- package/dist/dlx/binary-types.d.ts +5 -5
- package/dist/dlx/binary.js +5 -5
- package/dist/dlx/cache.js +1 -1
- package/dist/dlx/detect.d.ts +34 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +16 -16
- package/dist/dlx/manifest.d.ts +6 -6
- package/dist/dlx/manifest.js +5 -5
- package/dist/dlx/package.d.ts +10 -10
- package/dist/dlx/package.js +16 -16
- package/dist/dlx/packages.js +4 -4
- package/dist/dlx/paths.js +7 -7
- package/dist/dlx/spec.js +1 -1
- package/dist/dlx/types.d.ts +28 -27
- package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
- package/dist/eco/cargo/parse-lockfile.js +2 -2
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +4 -4
- package/dist/eco/manifest/find-packages.js +2 -2
- package/dist/eco/manifest/get-package-versions.js +2 -2
- package/dist/eco/manifest/get-package.js +2 -2
- package/dist/eco/manifest/parse-lockfile.js +2 -2
- package/dist/eco/manifest/parse-manifest.js +2 -2
- package/dist/eco/manifest/parse.js +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/npm/flags.js +7 -12
- package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
- package/dist/eco/npm/npm/parse-lockfile.js +3 -3
- package/dist/eco/npm/parse-package-json.js +3 -3
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/pnpm/exec.js +5 -5
- package/dist/eco/npm/pnpm/flags.js +0 -3
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
- package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
- package/dist/effects/pulse-frames.d.ts +3 -1
- package/dist/effects/shimmer-keyframes.d.ts +1 -1
- package/dist/effects/shimmer-terminal.d.ts +1 -1
- package/dist/env/boolean.js +0 -1
- package/dist/env/ci.js +0 -1
- package/dist/env/debug.js +0 -1
- package/dist/env/github-status.d.ts +51 -0
- package/dist/env/github-status.js +90 -0
- package/dist/env/github.js +0 -8
- package/dist/env/home.js +0 -1
- package/dist/env/locale.js +0 -3
- package/dist/env/node-auth-token.js +0 -1
- package/dist/env/node-env.js +0 -1
- package/dist/env/node-version-managers.d.ts +53 -0
- package/dist/env/node-version-managers.js +90 -0
- package/dist/env/npm.js +0 -5
- package/dist/env/number.js +0 -1
- package/dist/env/package-manager.js +3 -6
- package/dist/env/path.js +0 -1
- package/dist/env/pre-commit.js +1 -2
- package/dist/env/rewire.d.ts +7 -6
- package/dist/env/rewire.js +15 -16
- package/dist/env/shell.js +0 -1
- package/dist/env/socket-cli.js +5 -18
- package/dist/env/socket-mcp.d.ts +114 -0
- package/dist/env/socket-mcp.js +146 -0
- package/dist/env/socket.d.ts +1 -109
- package/dist/env/socket.js +12 -166
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/events/exit/_internal.d.ts +11 -9
- package/dist/events/exit/_internal.js +31 -35
- package/dist/events/exit/handler.js +3 -4
- package/dist/events/exit/intercept.js +4 -6
- package/dist/events/exit/lifecycle.js +16 -18
- package/dist/events/exit/signals.js +1 -2
- package/dist/events/exit/types.d.ts +6 -5
- package/dist/external/@npmcli/package-json.js +2 -2
- package/dist/external/@sinclair/typebox/value.js +5 -1
- package/dist/external/@sinclair/typebox.js +5 -1
- package/dist/external/@socketregistry/packageurl-js.js +27 -0
- package/dist/external/npm-pack.js +2 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/resolve.js +2 -1
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/resolve.js +2 -1
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +1 -1
- package/dist/external-tools/from-download.js +1 -1
- package/dist/external-tools/from-pip-venv.d.ts +73 -0
- package/dist/external-tools/from-pip-venv.js +98 -0
- package/dist/external-tools/janus/asset-names.js +1 -1
- package/dist/external-tools/janus/from-download.js +3 -5
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/resolve.js +2 -1
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
- package/dist/external-tools/jre/detect-platform-arch.js +29 -14
- package/dist/external-tools/jre/from-download.js +2 -1
- package/dist/external-tools/jre/from-vfs.js +1 -1
- package/dist/external-tools/jre/resolve.js +2 -1
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +7 -7
- package/dist/external-tools/manifest.js +18 -16
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/resolve.js +2 -1
- package/dist/external-tools/opengrep/types.d.ts +1 -1
- package/dist/external-tools/python/asset-names.d.ts +76 -0
- package/dist/external-tools/python/asset-names.js +104 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +87 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +68 -0
- package/dist/external-tools/python/from-path.d.ts +7 -0
- package/dist/external-tools/python/from-path.js +23 -0
- package/dist/external-tools/python/pin.d.ts +121 -0
- package/dist/external-tools/python/pin.js +173 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +139 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +58 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/resolve.js +2 -1
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-dlx.d.ts +24 -0
- package/dist/external-tools/skillspector/from-dlx.js +41 -0
- package/dist/external-tools/skillspector/from-path.d.ts +8 -0
- package/dist/external-tools/skillspector/from-path.js +30 -0
- package/dist/external-tools/skillspector/from-vfs.d.ts +8 -0
- package/dist/external-tools/skillspector/from-vfs.js +27 -0
- package/dist/external-tools/skillspector/resolve.d.ts +34 -0
- package/dist/external-tools/skillspector/resolve.js +53 -0
- package/dist/external-tools/skillspector/types.d.ts +24 -0
- package/dist/external-tools/skillspector/types.js +2 -0
- package/dist/external-tools/synp/from-download.js +2 -2
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/synp/resolve.js +2 -1
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/resolve.js +2 -1
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/resolve.js +2 -1
- package/dist/external-tools/trufflehog/types.d.ts +1 -1
- package/dist/fs/_internal.d.ts +1 -1
- package/dist/fs/_internal.js +7 -7
- package/dist/fs/access.js +5 -9
- package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +11 -13
- package/dist/fs/inspect.js +7 -13
- package/dist/fs/read-dir.js +7 -10
- package/dist/fs/read-file.js +8 -14
- package/dist/fs/read-json-cache.d.ts +6 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +1 -1
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +12 -13
- package/dist/fs/unique.js +4 -5
- package/dist/fs/validate.js +1 -2
- package/dist/fs/write-json.js +4 -5
- package/dist/git/_internal.js +12 -11
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +3 -3
- package/dist/git/staged.js +4 -4
- package/dist/git/unstaged.js +4 -4
- package/dist/github/ghsa.js +2 -2
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +5 -5
- package/dist/github/refs-rest.js +5 -5
- package/dist/github/{fetch.js → request.js} +13 -2
- package/dist/github/token.js +1 -1
- package/dist/github/types.d.ts +1 -1
- package/dist/globs/_internal.js +7 -9
- package/dist/globs/match.js +6 -7
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +12 -14
- package/dist/globs/stream.js +1 -2
- package/dist/globs/types.d.ts +24 -24
- package/dist/http-request/_internal.d.ts +1 -1
- package/dist/http-request/browser.js +21 -13
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +4 -4
- package/dist/http-request/headers.d.ts +32 -3
- package/dist/http-request/headers.js +41 -13
- package/dist/http-request/request-attempt.js +38 -33
- package/dist/http-request/request-types.d.ts +7 -2
- package/dist/http-request/request.js +33 -16
- package/dist/http-request/response-reader.d.ts +12 -1
- package/dist/http-request/response-reader.js +22 -2
- package/dist/http-request/user-agent.js +3 -4
- package/dist/integrity.d.ts +86 -18
- package/dist/integrity.js +119 -30
- package/dist/ipc/directory.js +2 -2
- package/dist/ipc/paths.js +1 -1
- package/dist/ipc/write.js +1 -1
- package/dist/ipc-cli/get.js +12 -12
- package/dist/json/edit.js +13 -14
- package/dist/json/format.js +2 -2
- package/dist/json/parse.d.ts +1 -1
- package/dist/json/parse.js +3 -7
- package/dist/logger/_internal.d.ts +4 -4
- package/dist/logger/_internal.js +3 -3
- package/dist/logger/colors.js +4 -3
- package/dist/logger/console-methods.d.ts +132 -0
- package/dist/logger/console-methods.js +169 -0
- package/dist/logger/console.d.ts +12 -0
- package/dist/logger/console.js +42 -11
- package/dist/logger/indentation-methods.d.ts +81 -0
- package/dist/logger/indentation-methods.js +121 -0
- package/dist/logger/node.d.ts +16 -338
- package/dist/logger/node.js +75 -608
- package/dist/logger/options.d.ts +39 -0
- package/dist/logger/options.js +47 -0
- package/dist/logger/semantic-methods.d.ts +63 -0
- package/dist/logger/semantic-methods.js +108 -0
- package/dist/logger/stream-methods.d.ts +63 -0
- package/dist/logger/stream-methods.js +101 -0
- package/dist/logger/stream.d.ts +37 -0
- package/dist/logger/stream.js +42 -0
- package/dist/logger/symbols-builder.js +9 -9
- package/dist/logger/symbols.d.ts +2 -25
- package/dist/logger/symbols.js +53 -74
- package/dist/logger/types.d.ts +1 -1
- package/dist/memo/types.d.ts +6 -6
- package/dist/native-messaging/host.d.ts +20 -0
- package/dist/native-messaging/host.js +120 -0
- package/dist/native-messaging/index.d.ts +5 -0
- package/dist/native-messaging/index.js +22 -0
- package/dist/native-messaging/install.d.ts +60 -0
- package/dist/native-messaging/install.js +141 -0
- package/dist/native-messaging/rate-limit.d.ts +62 -0
- package/dist/native-messaging/rate-limit.js +115 -0
- package/dist/native-messaging/run.d.ts +10 -0
- package/dist/native-messaging/run.js +17 -0
- package/dist/node/async-hooks.js +4 -3
- package/dist/node/child-process.js +4 -3
- package/dist/node/crypto.js +4 -3
- package/dist/node/events.js +4 -3
- package/dist/node/fs-promises.js +4 -3
- package/dist/node/fs.js +4 -3
- package/dist/node/http.js +4 -3
- package/dist/node/https.js +4 -3
- package/dist/node/module.js +10 -6
- package/dist/node/os.js +4 -3
- package/dist/node/path.js +4 -3
- package/dist/node/timers-promises.js +4 -3
- package/dist/node/url.js +4 -3
- package/dist/node/util.js +4 -3
- package/dist/objects/getters.js +5 -7
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +2 -3
- package/dist/objects/predicates.js +0 -4
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.js +15 -16
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +11 -17
- package/dist/packages/fetch.d.ts +16 -0
- package/dist/packages/fetch.js +81 -0
- package/dist/packages/find.d.ts +55 -0
- package/dist/packages/find.js +65 -0
- package/dist/packages/isolation.js +14 -14
- package/dist/packages/licenses.js +16 -16
- package/dist/packages/manifest.js +12 -15
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +5 -9
- package/dist/packages/provenance.d.ts +6 -0
- package/dist/packages/provenance.js +25 -18
- package/dist/packages/read.d.ts +29 -0
- package/dist/packages/read.js +66 -0
- package/dist/packages/specs.d.ts +48 -1
- package/dist/packages/specs.js +74 -11
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +79 -0
- package/dist/packages/types.d.ts +21 -20
- package/dist/packages/validation.js +0 -3
- package/dist/paths/_internal.d.ts +2 -1
- package/dist/paths/_internal.js +7 -19
- package/dist/paths/conversion.js +5 -9
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +6 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +11 -14
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.js +16 -16
- package/dist/paths/walk.d.ts +1 -1
- package/dist/paths/walk.js +4 -4
- package/dist/perf/report.js +2 -2
- package/dist/perf/types.d.ts +1 -1
- package/dist/pkg-ext/data.js +1 -1
- package/dist/primordials/array.js +9 -9
- package/dist/primordials/date.js +2 -2
- package/dist/primordials/error.js +3 -3
- package/dist/primordials/headers.d.ts +10 -0
- package/dist/primordials/headers.js +23 -0
- package/dist/primordials/intl.d.ts +13 -0
- package/dist/primordials/intl.js +26 -0
- package/dist/primordials/math.js +33 -33
- package/dist/primordials/number.js +9 -9
- package/dist/primordials/object.js +5 -5
- package/dist/primordials/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- package/dist/primordials/uncurry.js +9 -9
- package/dist/process/abort.js +3 -3
- package/dist/process/lock-manager.js +8 -8
- package/dist/process/spawn/_internal.js +6 -8
- package/dist/process/spawn/child.js +14 -14
- package/dist/process/spawn/errors.js +2 -4
- package/dist/process/spawn/kill-tree.d.ts +53 -0
- package/dist/process/spawn/kill-tree.js +85 -0
- package/dist/process/spawn/stdio.js +0 -1
- package/dist/process/spawn/types.d.ts +5 -5
- package/dist/process/transient.js +2 -2
- package/dist/promises/_internal.d.ts +2 -1
- package/dist/promises/_internal.js +2 -6
- package/dist/promises/iterate.js +12 -16
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +2 -2
- package/dist/releases/github-asset-url.d.ts +1 -1
- package/dist/releases/github-asset-url.js +5 -5
- package/dist/releases/github-downloads.d.ts +1 -1
- package/dist/releases/github-downloads.js +3 -3
- package/dist/releases/github-listing.d.ts +11 -2
- package/dist/releases/github-listing.js +20 -7
- package/dist/releases/github-retry-config.js +1 -1
- package/dist/releases/github-types.d.ts +6 -6
- package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
- package/dist/releases/socket-btm-binary-naming.js +155 -0
- package/dist/releases/socket-btm.d.ts +8 -115
- package/dist/releases/socket-btm.js +16 -159
- package/dist/schema/types.d.ts +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +5 -4
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/keychain.js +9 -6
- package/dist/secrets/linux.js +25 -23
- package/dist/secrets/macos.d.ts +1 -1
- package/dist/secrets/macos.js +18 -16
- package/dist/secrets/rc.d.ts +2 -2
- package/dist/secrets/rc.js +15 -10
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +18 -9
- package/dist/secrets/windows.js +21 -17
- package/dist/shadow/skip.js +2 -2
- package/dist/shell/parse.d.ts +108 -1
- package/dist/shell/parse.js +168 -2
- package/dist/smol/detect.js +9 -10
- package/dist/smol/http.js +6 -7
- package/dist/smol/https.js +6 -7
- package/dist/smol/manifest.d.ts +1 -1
- package/dist/smol/manifest.js +6 -7
- package/dist/smol/path.d.ts +1 -1
- package/dist/smol/path.js +7 -8
- package/dist/smol/primordial.d.ts +4 -0
- package/dist/smol/primordial.js +6 -7
- package/dist/smol/purl.d.ts +1 -1
- package/dist/smol/purl.js +7 -8
- package/dist/smol/versions.js +6 -7
- package/dist/smol/vfs.js +6 -7
- package/dist/sorts/_internal.js +6 -8
- package/dist/sorts/natural.js +10 -12
- package/dist/sorts/semver.js +1 -2
- package/dist/sorts/strings.js +0 -1
- package/dist/sorts/types.d.ts +1 -1
- package/dist/spinner/create-spinner-class.d.ts +38 -0
- package/dist/spinner/create-spinner-class.js +302 -0
- package/dist/spinner/default.js +8 -9
- package/dist/spinner/spinner-internals.d.ts +36 -0
- package/dist/spinner/spinner-internals.js +101 -0
- package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
- package/dist/spinner/spinner-shimmer-methods.js +143 -0
- package/dist/spinner/spinner-status-methods.d.ts +40 -0
- package/dist/spinner/spinner-status-methods.js +133 -0
- package/dist/spinner/spinner.d.ts +4 -5
- package/dist/spinner/spinner.js +18 -705
- package/dist/spinner/types.d.ts +3 -1
- package/dist/spinner/with.d.ts +10 -0
- package/dist/spinner/with.js +16 -2
- package/dist/stdio/divider.js +1 -1
- package/dist/stdio/footer.js +3 -3
- package/dist/stdio/header.js +4 -4
- package/dist/stdio/progress.js +5 -5
- package/dist/stdio/prompts.d.ts +5 -3
- package/dist/stdio/prompts.js +6 -7
- package/dist/stdio/stdout.js +3 -3
- package/dist/streams/parallel.js +3 -5
- package/dist/streams/transform.js +2 -3
- package/dist/strings/format.js +2 -6
- package/dist/strings/predicates.js +0 -2
- package/dist/strings/search.js +1 -2
- package/dist/strings/transform.js +0 -3
- package/dist/strings/width.js +9 -10
- package/dist/tables/bordered.js +4 -3
- package/dist/tables/padding.js +1 -1
- package/dist/tables/simple.js +8 -5
- package/dist/temporal/instant.js +4 -2
- package/dist/temporal/slots.js +7 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.js +1 -2
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +5 -5
- package/dist/versions/_internal.js +3 -3
- package/dist/words/article.js +0 -1
- package/dist/words/capitalize.js +0 -1
- package/dist/words/pluralize.d.ts +24 -2
- package/dist/words/pluralize.js +47 -2
- package/dist/words/types.d.ts +25 -2
- package/package.json +289 -108
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -52
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/http-request/checksums.d.ts +0 -69
- package/dist/http-request/checksums.js +0 -108
- package/dist/http-request/http-request.d.ts +0 -12
- package/dist/http-request/http-request.js +0 -11
- package/dist/packages/operations.d.ts +0 -113
- package/dist/packages/operations.js +0 -304
- package/dist/ssri/convert.d.ts +0 -48
- package/dist/ssri/convert.js +0 -69
- package/dist/ssri/parse.d.ts +0 -27
- package/dist/ssri/parse.js +0 -41
- package/dist/ssri/validate.d.ts +0 -41
- package/dist/ssri/validate.js +0 -56
- /package/dist/{bin → cli}/check.d.ts +0 -0
- /package/dist/external-tools/{uv → python}/types.js +0 -0
- /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
- /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
package/dist/dlx/package.js
CHANGED
|
@@ -44,9 +44,9 @@ src_external__npmcli_arborist = require_runtime.__toESM(src_external__npmcli_arb
|
|
|
44
44
|
* - dlx/binary.ts: Downloads standalone binaries from URLs
|
|
45
45
|
* - dlx/package.ts: Installs npm packages from registries Implementation:
|
|
46
46
|
* - Uses Arborist for package installation (like npx, no npm CLI required)
|
|
47
|
-
* - Split into
|
|
47
|
+
* - Split into downloadNpmPackage() and executePackage() for flexibility
|
|
48
48
|
* - dlxPackage() combines both for convenience Module shape: this file holds
|
|
49
|
-
* the three async orchestrators (`dlxPackage`, `
|
|
49
|
+
* the three async orchestrators (`dlxPackage`, `downloadNpmPackage`,
|
|
50
50
|
* `ensurePackageInstalled`) and the synchronous `executePackage`. The
|
|
51
51
|
* supporting surface lives in sibling leaves and is re-exported here so
|
|
52
52
|
* existing `dlx/package` importers keep working unchanged:
|
|
@@ -73,13 +73,13 @@ const rangeOperatorsRegExp = /[~^><=xX* ]|\|\|/;
|
|
|
73
73
|
* ;```typescript
|
|
74
74
|
* // Download and execute cdxgen
|
|
75
75
|
* const result = await dlxPackage(['--version'], {
|
|
76
|
-
*
|
|
76
|
+
* spec: '@cyclonedx/cdxgen@10.0.0',
|
|
77
77
|
* })
|
|
78
78
|
* await result.spawnPromise
|
|
79
79
|
* ```
|
|
80
80
|
*/
|
|
81
81
|
async function dlxPackage(args, options, spawnExtra) {
|
|
82
|
-
const downloadResult = await
|
|
82
|
+
const downloadResult = await downloadNpmPackage(options);
|
|
83
83
|
const spawnPromise = executePackage(downloadResult.binaryPath, args, options.spawnOptions, spawnExtra);
|
|
84
84
|
return {
|
|
85
85
|
...downloadResult,
|
|
@@ -94,16 +94,16 @@ async function dlxPackage(args, options, spawnExtra) {
|
|
|
94
94
|
* @example
|
|
95
95
|
* ;```typescript
|
|
96
96
|
* // Install @socketsecurity/cli without running it
|
|
97
|
-
* const result = await
|
|
98
|
-
*
|
|
97
|
+
* const result = await downloadNpmPackage({
|
|
98
|
+
* spec: '@socketsecurity/cli@1.2.0',
|
|
99
99
|
* force: true,
|
|
100
100
|
* })
|
|
101
101
|
* console.log('Installed to:', result.packageDir)
|
|
102
102
|
* console.log('Binary at:', result.binaryPath)
|
|
103
103
|
* ```
|
|
104
104
|
*/
|
|
105
|
-
async function
|
|
106
|
-
const { binaryName, force: userForce, hash, installRoot, lockfile,
|
|
105
|
+
async function downloadNpmPackage(options) {
|
|
106
|
+
const { binaryName, force: userForce, hash, installRoot, lockfile, spec: packageSpec, yes } = {
|
|
107
107
|
__proto__: null,
|
|
108
108
|
...options
|
|
109
109
|
};
|
|
@@ -139,10 +139,10 @@ async function downloadPackage(options) {
|
|
|
139
139
|
* ```
|
|
140
140
|
*/
|
|
141
141
|
async function ensurePackageInstalled(packageName, packageSpec, force, install) {
|
|
142
|
-
const fs =
|
|
143
|
-
const path =
|
|
144
|
-
const packageDir =
|
|
145
|
-
const installedDir =
|
|
142
|
+
const fs = require_node_fs.getNodeFs();
|
|
143
|
+
const path = require_node_path.getNodePath();
|
|
144
|
+
const packageDir = require_paths_normalize.normalizePath(install?.installRoot ?? path.join(require_paths_socket.getSocketDlxDir(), require_dlx_cache.generateCacheKey(packageSpec)));
|
|
145
|
+
const installedDir = require_paths_normalize.normalizePath(path.join(packageDir, "node_modules", packageName));
|
|
146
146
|
try {
|
|
147
147
|
await require_fs_safe.safeMkdir(packageDir);
|
|
148
148
|
} catch (e) {
|
|
@@ -200,7 +200,7 @@ async function ensurePackageInstalled(packageName, packageSpec, force, install)
|
|
|
200
200
|
const code = e?.code;
|
|
201
201
|
if (code === "E404" || code === "ETARGET") throw new require_primordials_error.ErrorCtor(`Package not found: ${packageSpec}\nVerify the package exists on npm registry and check the version.
|
|
202
202
|
Visit https://www.npmjs.com/package/${packageName} to see available versions.`, { cause: e });
|
|
203
|
-
if (code === "
|
|
203
|
+
if (code === "EAI_AGAIN" || code === "ENOTFOUND" || code === "ETIMEDOUT") throw new require_primordials_error.ErrorCtor(`Network error installing ${packageSpec}\nCheck your internet connection and try again.`, { cause: e });
|
|
204
204
|
throw new require_primordials_error.ErrorCtor(`Failed to install package: ${packageSpec}\nDestination: ${installedDir}\nCheck npm registry connectivity or package name.`, { cause: e });
|
|
205
205
|
}
|
|
206
206
|
return {
|
|
@@ -214,7 +214,7 @@ Visit https://www.npmjs.com/package/${packageName} to see available versions.`,
|
|
|
214
214
|
}
|
|
215
215
|
/**
|
|
216
216
|
* Execute a package's binary with cross-platform shell handling. The package
|
|
217
|
-
* must already be installed (use
|
|
217
|
+
* must already be installed (use downloadNpmPackage first).
|
|
218
218
|
*
|
|
219
219
|
* On Windows, script files (.bat, .cmd, .ps1) require shell: true. Matches
|
|
220
220
|
* npm/npx execution behavior.
|
|
@@ -222,7 +222,7 @@ Visit https://www.npmjs.com/package/${packageName} to see available versions.`,
|
|
|
222
222
|
* @example
|
|
223
223
|
* ;```typescript
|
|
224
224
|
* // Execute an already-installed package
|
|
225
|
-
* const downloaded = await
|
|
225
|
+
* const downloaded = await downloadNpmPackage({ spec: 'cowsay@1.5.0' })
|
|
226
226
|
* const result = await executePackage(
|
|
227
227
|
* downloaded.binaryPath,
|
|
228
228
|
* ['Hello World'],
|
|
@@ -241,7 +241,7 @@ function executePackage(binaryPath, args, spawnOptions, spawnExtra) {
|
|
|
241
241
|
exports.binaryPathCacheSet = require_dlx__internal.binaryPathCacheSet;
|
|
242
242
|
exports.checkFirewallPurls = require_dlx_firewall.checkFirewallPurls;
|
|
243
243
|
exports.dlxPackage = dlxPackage;
|
|
244
|
-
exports.
|
|
244
|
+
exports.downloadNpmPackage = downloadNpmPackage;
|
|
245
245
|
exports.ensurePackageInstalled = ensurePackageInstalled;
|
|
246
246
|
exports.executePackage = executePackage;
|
|
247
247
|
exports.findBinaryPath = require_dlx_binary_resolution.findBinaryPath;
|
package/dist/dlx/packages.js
CHANGED
|
@@ -24,7 +24,7 @@ const require_fs_read_dir = require('../fs/read-dir.js');
|
|
|
24
24
|
* ```
|
|
25
25
|
*/
|
|
26
26
|
function isDlxPackageInstalled(packageName) {
|
|
27
|
-
return
|
|
27
|
+
return require_node_fs.getNodeFs().existsSync(require_dlx_paths.getDlxInstalledPackageDir(packageName));
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* List all packages installed in DLX.
|
|
@@ -37,7 +37,7 @@ function isDlxPackageInstalled(packageName) {
|
|
|
37
37
|
*/
|
|
38
38
|
function listDlxPackages() {
|
|
39
39
|
try {
|
|
40
|
-
return
|
|
40
|
+
return require_fs_read_dir.readDirNamesSync(require_paths_socket.getSocketDlxDir(), { sort: true });
|
|
41
41
|
} catch {
|
|
42
42
|
return [];
|
|
43
43
|
}
|
|
@@ -52,9 +52,9 @@ function listDlxPackages() {
|
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
54
|
async function listDlxPackagesAsync() {
|
|
55
|
-
const fs =
|
|
55
|
+
const fs = require_node_fs.getNodeFs();
|
|
56
56
|
try {
|
|
57
|
-
return require_primordials_array.ArrayPrototypeFilter(await fs.promises.readdir(require_paths_socket.getSocketDlxDir(), { withFileTypes: true }), (e) => e.isDirectory()).map((e) => e.name).
|
|
57
|
+
return require_primordials_array.ArrayPrototypeFilter(await fs.promises.readdir(require_paths_socket.getSocketDlxDir(), { withFileTypes: true }), (e) => e.isDirectory()).map((e) => e.name).toSorted();
|
|
58
58
|
} catch {
|
|
59
59
|
return [];
|
|
60
60
|
}
|
package/dist/dlx/paths.js
CHANGED
|
@@ -19,7 +19,7 @@ const require_paths_socket = require('../paths/socket.js');
|
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
21
|
function getDlxInstalledPackageDir(packageName) {
|
|
22
|
-
return
|
|
22
|
+
return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getDlxPackageNodeModulesDir(packageName), packageName));
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Get the DLX installation directory for a specific package.
|
|
@@ -30,7 +30,7 @@ function getDlxInstalledPackageDir(packageName) {
|
|
|
30
30
|
* ```
|
|
31
31
|
*/
|
|
32
32
|
function getDlxPackageDir(packageName) {
|
|
33
|
-
return
|
|
33
|
+
return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(require_paths_socket.getSocketDlxDir(), packageName));
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
36
36
|
* Get the package.json path for a DLX installed package.
|
|
@@ -41,7 +41,7 @@ function getDlxPackageDir(packageName) {
|
|
|
41
41
|
* ```
|
|
42
42
|
*/
|
|
43
43
|
function getDlxPackageJsonPath(packageName) {
|
|
44
|
-
return
|
|
44
|
+
return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getDlxInstalledPackageDir(packageName), "package.json"));
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
47
|
* Get the node_modules directory for a DLX package installation.
|
|
@@ -52,7 +52,7 @@ function getDlxPackageJsonPath(packageName) {
|
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
54
|
function getDlxPackageNodeModulesDir(packageName) {
|
|
55
|
-
return
|
|
55
|
+
return require_paths_normalize.normalizePath(require_node_path.getNodePath().join(getDlxPackageDir(packageName), "node_modules"));
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
58
|
* Check if a file path is within the Socket DLX directory. This is useful for
|
|
@@ -71,9 +71,9 @@ function getDlxPackageNodeModulesDir(packageName) {
|
|
|
71
71
|
*/
|
|
72
72
|
function isInSocketDlx(filePath) {
|
|
73
73
|
if (!filePath) return false;
|
|
74
|
-
const path =
|
|
75
|
-
const dlxDir =
|
|
76
|
-
return require_primordials_string.StringPrototypeStartsWith(
|
|
74
|
+
const path = require_node_path.getNodePath();
|
|
75
|
+
const dlxDir = require_paths_normalize.normalizePath(require_paths_socket.getSocketDlxDir());
|
|
76
|
+
return require_primordials_string.StringPrototypeStartsWith(require_paths_normalize.normalizePath(path.resolve(filePath)), `${dlxDir}/`);
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
//#endregion
|
package/dist/dlx/spec.js
CHANGED
|
@@ -32,7 +32,7 @@ function parsePackageSpec(spec) {
|
|
|
32
32
|
try {
|
|
33
33
|
/* c8 ignore next - External npm-package-arg call */
|
|
34
34
|
const parsed = (0, src_external_npm_package_arg.default)(spec);
|
|
35
|
-
const version = parsed.type === "tag" ? parsed.fetchSpec : parsed.type === "
|
|
35
|
+
const version = parsed.type === "tag" ? parsed.fetchSpec : parsed.type === "range" || parsed.type === "version" ? parsed.fetchSpec : void 0;
|
|
36
36
|
return {
|
|
37
37
|
name: parsed.name || spec,
|
|
38
38
|
version
|
package/dist/dlx/types.d.ts
CHANGED
|
@@ -3,20 +3,16 @@
|
|
|
3
3
|
* of `dlx/package.ts` so consumers can import these types without pulling in
|
|
4
4
|
* the implementation.
|
|
5
5
|
*
|
|
6
|
-
* - `
|
|
6
|
+
* - `DownloadNpmPackageResult` — what `downloadNpmPackage` returns
|
|
7
7
|
* - `EnsurePackageInstallOptions` — shared install-pinning options
|
|
8
|
-
* - `DlxPackageOptions` — full options for `dlxPackage` / `
|
|
8
|
+
* - `DlxPackageOptions` — full options for `dlxPackage` / `downloadNpmPackage`
|
|
9
9
|
* - `DlxPackageResult` — what `dlxPackage` returns
|
|
10
10
|
*/
|
|
11
11
|
import type { HashSpec } from '../integrity';
|
|
12
12
|
import type { LockfileSpec } from './lockfile';
|
|
13
13
|
import type { spawn } from '../process/spawn/child';
|
|
14
14
|
import type { SpawnOptions } from '../process/spawn/types';
|
|
15
|
-
export interface
|
|
16
|
-
/**
|
|
17
|
-
* Path to the installed package directory.
|
|
18
|
-
*/
|
|
19
|
-
packageDir: string;
|
|
15
|
+
export interface DownloadNpmPackageResult {
|
|
20
16
|
/**
|
|
21
17
|
* Path to the binary.
|
|
22
18
|
*/
|
|
@@ -25,6 +21,10 @@ export interface DownloadPackageResult {
|
|
|
25
21
|
* Whether the package was newly installed.
|
|
26
22
|
*/
|
|
27
23
|
installed: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Path to the installed package directory.
|
|
26
|
+
*/
|
|
27
|
+
packageDir: string;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Shared install-pinning options used by both {@link DlxPackageOptions} and the
|
|
@@ -80,38 +80,30 @@ export interface EnsurePackageInstallOptions {
|
|
|
80
80
|
lockfile?: LockfileSpec | undefined;
|
|
81
81
|
}
|
|
82
82
|
export interface DlxPackageOptions extends EnsurePackageInstallOptions {
|
|
83
|
-
/**
|
|
84
|
-
* Package to install (e.g., '@cyclonedx/cdxgen@10.0.0'). Aligns with npx
|
|
85
|
-
* --package flag.
|
|
86
|
-
*/
|
|
87
|
-
package: string;
|
|
88
83
|
/**
|
|
89
84
|
* Binary name to execute (optional - auto-detected in most cases).
|
|
90
85
|
*
|
|
91
|
-
* Auto-detection logic: 1. If package has only one binary, uses it
|
|
86
|
+
* Auto-detection logic: 1. If the package has only one binary, uses it
|
|
92
87
|
* automatically 2. Tries user-provided binaryName 3. Tries last segment of
|
|
93
|
-
* package name (e.g., 'cli' from '@socketsecurity/cli') 4. Falls back to
|
|
88
|
+
* the package name (e.g., 'cli' from '@socketsecurity/cli') 4. Falls back to
|
|
94
89
|
* first binary.
|
|
95
90
|
*
|
|
96
|
-
* Only needed when package has multiple binaries and auto-detection
|
|
91
|
+
* Only needed when the package has multiple binaries and auto-detection
|
|
92
|
+
* fails.
|
|
97
93
|
*
|
|
98
94
|
* @example
|
|
99
95
|
* // Auto-detected (single binary)
|
|
100
|
-
* {
|
|
96
|
+
* { spec: '@socketsecurity/cli' } // Finds 'socket' binary automatically
|
|
101
97
|
*
|
|
102
98
|
* // Explicit (multiple binaries)
|
|
103
|
-
* {
|
|
99
|
+
* { spec: 'some-tool', binaryName: 'specific-tool' }
|
|
104
100
|
*/
|
|
105
101
|
binaryName?: string | undefined;
|
|
106
102
|
/**
|
|
107
|
-
* Force reinstallation even if package exists. Aligns with npx --yes/-y
|
|
108
|
-
* behavior.
|
|
103
|
+
* Force reinstallation even if the package exists. Aligns with npx --yes/-y
|
|
104
|
+
* flag behavior.
|
|
109
105
|
*/
|
|
110
106
|
force?: boolean | undefined;
|
|
111
|
-
/**
|
|
112
|
-
* Skip confirmation prompts (auto-approve). Aligns with npx --yes/-y flag.
|
|
113
|
-
*/
|
|
114
|
-
yes?: boolean | undefined;
|
|
115
107
|
/**
|
|
116
108
|
* Suppress output (quiet mode). Aligns with npx --quiet/-q and pnpm
|
|
117
109
|
* --silent/-s flags.
|
|
@@ -121,12 +113,17 @@ export interface DlxPackageOptions extends EnsurePackageInstallOptions {
|
|
|
121
113
|
* Additional spawn options for the execution.
|
|
122
114
|
*/
|
|
123
115
|
spawnOptions?: SpawnOptions | undefined;
|
|
124
|
-
}
|
|
125
|
-
export interface DlxPackageResult {
|
|
126
116
|
/**
|
|
127
|
-
*
|
|
117
|
+
* Package spec to install (e.g., '@cyclonedx/cdxgen@10.0.0'). Aligns with npx
|
|
118
|
+
* --package flag. Named `spec` to match `downloadPipPackage({ spec })`.
|
|
128
119
|
*/
|
|
129
|
-
|
|
120
|
+
spec: string;
|
|
121
|
+
/**
|
|
122
|
+
* Skip confirmation prompts (auto-approve). Aligns with npx --yes/-y flag.
|
|
123
|
+
*/
|
|
124
|
+
yes?: boolean | undefined;
|
|
125
|
+
}
|
|
126
|
+
export interface DlxPackageResult {
|
|
130
127
|
/**
|
|
131
128
|
* Path to the binary that was executed.
|
|
132
129
|
*/
|
|
@@ -135,6 +132,10 @@ export interface DlxPackageResult {
|
|
|
135
132
|
* Whether the package was newly installed.
|
|
136
133
|
*/
|
|
137
134
|
installed: boolean;
|
|
135
|
+
/**
|
|
136
|
+
* Path to the installed package directory.
|
|
137
|
+
*/
|
|
138
|
+
packageDir: string;
|
|
138
139
|
/**
|
|
139
140
|
* The spawn promise for the running process.
|
|
140
141
|
*/
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* (parseCargoLock)
|
|
28
28
|
* 4. **Cargo's own lockfile encoder** — the source of truth for the format we're
|
|
29
29
|
* parsing:
|
|
30
|
-
* https://github.com/rust-lang/cargo/blob/
|
|
30
|
+
* https://github.com/rust-lang/cargo/blob/0.86.0/src/cargo/core/resolver/encode.rs
|
|
31
31
|
* Lockfile format docs:
|
|
32
32
|
* https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
|
33
33
|
* https://doc.rust-lang.org/cargo/reference/resolver.html#lockfile-format
|
|
@@ -35,7 +35,7 @@ const require_primordials_object = require('../../primordials/object.js');
|
|
|
35
35
|
* (parseCargoLock)
|
|
36
36
|
* 4. **Cargo's own lockfile encoder** — the source of truth for the format we're
|
|
37
37
|
* parsing:
|
|
38
|
-
* https://github.com/rust-lang/cargo/blob/
|
|
38
|
+
* https://github.com/rust-lang/cargo/blob/0.86.0/src/cargo/core/resolver/encode.rs
|
|
39
39
|
* Lockfile format docs:
|
|
40
40
|
* https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
|
41
41
|
* https://doc.rust-lang.org/cargo/reference/resolver.html#lockfile-format
|
|
@@ -180,7 +180,7 @@ function parseInlineArray(value) {
|
|
|
180
180
|
const result = [];
|
|
181
181
|
let i = 0;
|
|
182
182
|
while (i < inner.length) {
|
|
183
|
-
while (i < inner.length && (inner[i] === "
|
|
183
|
+
while (i < inner.length && (inner[i] === " " || inner[i] === " " || inner[i] === ",")) i++;
|
|
184
184
|
if (i >= inner.length) break;
|
|
185
185
|
if (require_primordials_string.StringPrototypeCharCodeAt(inner, i) === 34) {
|
|
186
186
|
const closeIdx = require_primordials_string.StringPrototypeIndexOf(inner, "\"", i + 1);
|
|
@@ -42,8 +42,8 @@ function jsAnalyzeLockfile(lockfile) {
|
|
|
42
42
|
avgDepth: 0
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
const
|
|
46
|
-
const analyzeLockfile =
|
|
45
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
46
|
+
const analyzeLockfile = smol ? smol.analyzeLockfile : jsAnalyzeLockfile;
|
|
47
47
|
|
|
48
48
|
//#endregion
|
|
49
49
|
exports.analyzeLockfile = analyzeLockfile;
|
|
@@ -34,7 +34,7 @@ const COMPOSER_LOCK_FORMAT = require_primordials_object.ObjectFreeze({
|
|
|
34
34
|
format: "composer",
|
|
35
35
|
type: "lockfile"
|
|
36
36
|
});
|
|
37
|
-
const
|
|
37
|
+
const jsSupportedFiles = require_primordials_object.ObjectFreeze({
|
|
38
38
|
__proto__: null,
|
|
39
39
|
manifests: require_primordials_object.ObjectFreeze([
|
|
40
40
|
require_eco_npm_manifest_format.PACKAGE_JSON_FILENAME,
|
|
@@ -64,9 +64,9 @@ function jsDetectFormat(filename) {
|
|
|
64
64
|
default: return;
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
const
|
|
68
|
-
const detectFormat =
|
|
69
|
-
const supportedFiles =
|
|
67
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
68
|
+
const detectFormat = smol?.detectFormat ?? jsDetectFormat;
|
|
69
|
+
const supportedFiles = smol?.supportedFiles ?? jsSupportedFiles;
|
|
70
70
|
|
|
71
71
|
//#endregion
|
|
72
72
|
exports.detectFormat = detectFormat;
|
|
@@ -35,8 +35,8 @@ function jsFindPackages(lockfile, pattern) {
|
|
|
35
35
|
}
|
|
36
36
|
return result;
|
|
37
37
|
}
|
|
38
|
-
const
|
|
39
|
-
const findPackages =
|
|
38
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
39
|
+
const findPackages = smol ? smol.findPackages : jsFindPackages;
|
|
40
40
|
|
|
41
41
|
//#endregion
|
|
42
42
|
exports.FIND_PACKAGES_PATTERN_MAX_LEN = FIND_PACKAGES_PATTERN_MAX_LEN;
|
|
@@ -23,8 +23,8 @@ function jsGetPackageVersions(lockfile, name) {
|
|
|
23
23
|
}
|
|
24
24
|
return result;
|
|
25
25
|
}
|
|
26
|
-
const
|
|
27
|
-
const getPackageVersions =
|
|
26
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
27
|
+
const getPackageVersions = smol ? smol.getPackageVersions : jsGetPackageVersions;
|
|
28
28
|
|
|
29
29
|
//#endregion
|
|
30
30
|
exports.getPackageVersions = getPackageVersions;
|
|
@@ -17,8 +17,8 @@ function jsGetPackage(lockfile, name) {
|
|
|
17
17
|
if (typeof idx === "number") return lockfile.packages[idx];
|
|
18
18
|
return lockfile.packages[idx[0]];
|
|
19
19
|
}
|
|
20
|
-
const
|
|
21
|
-
const getPackage =
|
|
20
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
21
|
+
const getPackage = smol ? smol.getPackage : jsGetPackage;
|
|
22
22
|
|
|
23
23
|
//#endregion
|
|
24
24
|
exports.getPackage = getPackage;
|
|
@@ -36,8 +36,8 @@ function sniffLockfileFormat(content) {
|
|
|
36
36
|
if (require_primordials_string.StringPrototypeIndexOf(content, "yarn lockfile") !== -1 || require_primordials_string.StringPrototypeIndexOf(content, "__metadata:") !== -1) return "yarn";
|
|
37
37
|
if (require_primordials_string.StringPrototypeIndexOf(content, "lockfileVersion:") !== -1) return "pnpm";
|
|
38
38
|
}
|
|
39
|
-
const
|
|
40
|
-
const parseLockfile =
|
|
39
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
40
|
+
const parseLockfile = smol ? (content, ecosystem, format) => smol.parseLockfile(content, ecosystem, format) : jsParseLockfile;
|
|
41
41
|
|
|
42
42
|
//#endregion
|
|
43
43
|
exports.jsParseLockfile = jsParseLockfile;
|
|
@@ -20,9 +20,9 @@ function jsParseManifest(content, ecosystem) {
|
|
|
20
20
|
default: throw new require_eco_manifest_manifest_error.ManifestError(`Unsupported ecosystem: ${ecosystem}`, "ERR_UNSUPPORTED");
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
const
|
|
23
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
24
24
|
/* c8 ignore start - smol-fallback branch is smol Node binary only. */
|
|
25
|
-
const smolParseManifest =
|
|
25
|
+
const smolParseManifest = smol ? (content, ecosystem) => smol.parseManifest(content, ecosystem) : void 0;
|
|
26
26
|
/* c8 ignore stop */
|
|
27
27
|
const parseManifest = smolParseManifest ?? jsParseManifest;
|
|
28
28
|
|
|
@@ -20,9 +20,9 @@ function jsParse(filename, content) {
|
|
|
20
20
|
if (format.type === "manifest") return require_eco_manifest_parse_manifest.parseManifest(content, format.ecosystem);
|
|
21
21
|
return require_eco_manifest_parse_lockfile.parseLockfile(content, format.ecosystem, format.format);
|
|
22
22
|
}
|
|
23
|
-
const
|
|
23
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
24
24
|
/* c8 ignore start - smol-fallback branch is smol Node binary only. */
|
|
25
|
-
const smolParse =
|
|
25
|
+
const smolParse = smol ? (filename, content) => smol.parse(filename, content) : void 0;
|
|
26
26
|
/* c8 ignore stop */
|
|
27
27
|
const parse = smolParse ?? jsParse;
|
|
28
28
|
|
package/dist/eco/npm/npm/exec.js
CHANGED
|
@@ -32,9 +32,9 @@ const require_eco_npm_npm_flags = require('./flags.js');
|
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
|
34
34
|
function execNpm(args, options) {
|
|
35
|
-
const useDebug =
|
|
35
|
+
const useDebug = require_debug_namespace.isDebug();
|
|
36
36
|
const terminatorPos = require_primordials_array.ArrayPrototypeIndexOf(args, "--");
|
|
37
|
-
const npmArgs = (terminatorPos === -1 ? args : require_primordials_array.ArrayPrototypeSlice(args, 0, terminatorPos)).filter((a) =>
|
|
37
|
+
const npmArgs = (terminatorPos === -1 ? args : require_primordials_array.ArrayPrototypeSlice(args, 0, terminatorPos)).filter((a) => !require_eco_npm_npm_flags.isNpmAuditFlag(a) && !require_eco_npm_npm_flags.isNpmFundFlag(a) && !require_eco_npm_npm_flags.isNpmProgressFlag(a));
|
|
38
38
|
const otherArgs = terminatorPos === -1 ? [] : require_primordials_array.ArrayPrototypeSlice(args, terminatorPos);
|
|
39
39
|
return require_process_spawn_child.spawn(require_constants_agents.NPM_BIN_PATH, [
|
|
40
40
|
"--no-audit",
|
|
@@ -19,9 +19,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
19
19
|
* isNpmAuditFlag('--save') // false
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
23
22
|
function isNpmAuditFlag(cmdArg) {
|
|
24
|
-
return /^--(no-)?audit(
|
|
23
|
+
return /^--(?:no-)?audit(?:=.*)?$/.test(cmdArg);
|
|
25
24
|
}
|
|
26
25
|
/**
|
|
27
26
|
* Check if a command argument is an npm fund flag.
|
|
@@ -33,9 +32,8 @@ function isNpmAuditFlag(cmdArg) {
|
|
|
33
32
|
* isNpmFundFlag('--save') // false
|
|
34
33
|
* ```
|
|
35
34
|
*/
|
|
36
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
37
35
|
function isNpmFundFlag(cmdArg) {
|
|
38
|
-
return /^--(no-)?fund(
|
|
36
|
+
return /^--(?:no-)?fund(?:=.*)?$/.test(cmdArg);
|
|
39
37
|
}
|
|
40
38
|
/**
|
|
41
39
|
* Check if a command argument is an npm loglevel flag.
|
|
@@ -48,11 +46,10 @@ function isNpmFundFlag(cmdArg) {
|
|
|
48
46
|
* isNpmLoglevelFlag('--save') // false
|
|
49
47
|
* ```
|
|
50
48
|
*/
|
|
51
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
52
49
|
function isNpmLoglevelFlag(cmdArg) {
|
|
53
|
-
if (/^--loglevel(
|
|
54
|
-
if (/^--(silent|verbose|
|
|
55
|
-
return /^-(
|
|
50
|
+
if (/^--loglevel(?:=.*)?$/.test(cmdArg)) return true;
|
|
51
|
+
if (/^--(?:error|info|quiet|silent|verbose|warn)$/.test(cmdArg)) return true;
|
|
52
|
+
return /^-(?:d|dd|ddd|q|s|v)$/.test(cmdArg);
|
|
56
53
|
}
|
|
57
54
|
/**
|
|
58
55
|
* Check if a command argument is an npm node-options flag.
|
|
@@ -64,9 +61,8 @@ function isNpmLoglevelFlag(cmdArg) {
|
|
|
64
61
|
* isNpmNodeOptionsFlag('--save') // false
|
|
65
62
|
* ```
|
|
66
63
|
*/
|
|
67
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
68
64
|
function isNpmNodeOptionsFlag(cmdArg) {
|
|
69
|
-
return /^--node-options(
|
|
65
|
+
return /^--node-options(?:=.*)?$/.test(cmdArg);
|
|
70
66
|
}
|
|
71
67
|
/**
|
|
72
68
|
* Check if a command argument is an npm progress flag.
|
|
@@ -78,9 +74,8 @@ function isNpmNodeOptionsFlag(cmdArg) {
|
|
|
78
74
|
* isNpmProgressFlag('--save') // false
|
|
79
75
|
* ```
|
|
80
76
|
*/
|
|
81
|
-
/* @__NO_SIDE_EFFECTS__ */
|
|
82
77
|
function isNpmProgressFlag(cmdArg) {
|
|
83
|
-
return /^--(no-)?progress(
|
|
78
|
+
return /^--(?:no-)?progress(?:=.*)?$/.test(cmdArg);
|
|
84
79
|
}
|
|
85
80
|
|
|
86
81
|
//#endregion
|
|
@@ -42,22 +42,22 @@
|
|
|
42
42
|
*/
|
|
43
43
|
import type { DepType, PackageRef, ParsedLockfile } from '../../manifest/types';
|
|
44
44
|
interface RawPackage {
|
|
45
|
-
readonly name?: unknown;
|
|
46
|
-
readonly version?: unknown;
|
|
47
|
-
readonly resolved?: unknown;
|
|
48
|
-
readonly integrity?: unknown;
|
|
49
|
-
readonly dev?: unknown;
|
|
50
|
-
readonly optional?: unknown;
|
|
51
|
-
readonly peer?: unknown;
|
|
52
|
-
readonly inBundle?: unknown;
|
|
53
|
-
readonly license?: unknown;
|
|
54
|
-
readonly dependencies?: unknown;
|
|
55
|
-
readonly requires?: unknown;
|
|
45
|
+
readonly name?: unknown | undefined;
|
|
46
|
+
readonly version?: unknown | undefined;
|
|
47
|
+
readonly resolved?: unknown | undefined;
|
|
48
|
+
readonly integrity?: unknown | undefined;
|
|
49
|
+
readonly dev?: unknown | undefined;
|
|
50
|
+
readonly optional?: unknown | undefined;
|
|
51
|
+
readonly peer?: unknown | undefined;
|
|
52
|
+
readonly inBundle?: unknown | undefined;
|
|
53
|
+
readonly license?: unknown | undefined;
|
|
54
|
+
readonly dependencies?: unknown | undefined;
|
|
55
|
+
readonly requires?: unknown | undefined;
|
|
56
56
|
}
|
|
57
57
|
interface RawLockfile {
|
|
58
|
-
readonly lockfileVersion?: unknown;
|
|
59
|
-
readonly packages?: Record<string, RawPackage
|
|
60
|
-
readonly dependencies?: Record<string, RawPackage
|
|
58
|
+
readonly lockfileVersion?: unknown | undefined;
|
|
59
|
+
readonly packages?: Record<string, RawPackage> | undefined;
|
|
60
|
+
readonly dependencies?: Record<string, RawPackage> | undefined;
|
|
61
61
|
}
|
|
62
62
|
type PackageIndex = Record<string, number | number[]>;
|
|
63
63
|
export declare function addToIndex(packageIndex: PackageIndex, name: string, idx: number): void;
|
|
@@ -5,8 +5,8 @@ const require_primordials_error = require('../../../primordials/error.js');
|
|
|
5
5
|
const require_primordials_string = require('../../../primordials/string.js');
|
|
6
6
|
const require_primordials_array = require('../../../primordials/array.js');
|
|
7
7
|
const require_primordials_map_set = require('../../../primordials/map-set.js');
|
|
8
|
-
const require_primordials_object = require('../../../primordials/object.js');
|
|
9
8
|
const require_primordials_json = require('../../../primordials/json.js');
|
|
9
|
+
const require_primordials_object = require('../../../primordials/object.js');
|
|
10
10
|
const require_errors_message = require('../../../errors/message.js');
|
|
11
11
|
const require_smol_manifest = require('../../../smol/manifest.js');
|
|
12
12
|
const require_eco_manifest_manifest_error = require('../../manifest/manifest-error.js');
|
|
@@ -185,8 +185,8 @@ function resolveDepType(pkg) {
|
|
|
185
185
|
if (pkg.peer) return "peer";
|
|
186
186
|
return "prod";
|
|
187
187
|
}
|
|
188
|
-
const
|
|
189
|
-
const parsePackageLock =
|
|
188
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
189
|
+
const parsePackageLock = smol ? (content) => smol.parseLockfile(content, "npm", "npm") : jsParsePackageLock;
|
|
190
190
|
|
|
191
191
|
//#endregion
|
|
192
192
|
exports.addToIndex = addToIndex;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_primordials_array = require('../../primordials/array.js');
|
|
5
|
-
const require_primordials_object = require('../../primordials/object.js');
|
|
6
5
|
const require_primordials_json = require('../../primordials/json.js');
|
|
6
|
+
const require_primordials_object = require('../../primordials/object.js');
|
|
7
7
|
const require_errors_message = require('../../errors/message.js');
|
|
8
8
|
const require_smol_manifest = require('../../smol/manifest.js');
|
|
9
9
|
const require_eco_manifest_manifest_error = require('../manifest/manifest-error.js');
|
|
@@ -73,8 +73,8 @@ function resolveRepository(value) {
|
|
|
73
73
|
if (typeof url === "string" && url.length > 0) return url;
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
-
const
|
|
77
|
-
const parsePackageJson =
|
|
76
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
77
|
+
const parsePackageJson = smol ? (content) => smol.parseManifest(content, "npm") : jsParsePackageJson;
|
|
78
78
|
|
|
79
79
|
//#endregion
|
|
80
80
|
exports.addDeps = addDeps;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { SpawnOptions } from '../../../process/spawn/types';
|
|
7
7
|
export interface PnpmOptions extends SpawnOptions {
|
|
8
|
-
allowLockfileUpdate?: boolean;
|
|
8
|
+
allowLockfileUpdate?: boolean | undefined;
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* Execute pnpm commands with optimized flags and settings.
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
const require_primordials_array = require('../../../primordials/array.js');
|
|
5
|
-
const require_debug_namespace = require('../../../debug/namespace.js');
|
|
6
5
|
const require_env_ci = require('../../../env/ci.js');
|
|
6
|
+
const require_debug_namespace = require('../../../debug/namespace.js');
|
|
7
7
|
const require_bin_exec = require('../../../bin/exec.js');
|
|
8
8
|
const require_eco_npm_npm_flags = require('../npm/flags.js');
|
|
9
9
|
const require_eco_npm_pnpm_flags = require('./flags.js');
|
|
@@ -28,9 +28,9 @@ function execPnpm(args, options) {
|
|
|
28
28
|
__proto__: null,
|
|
29
29
|
...options
|
|
30
30
|
};
|
|
31
|
-
const useDebug =
|
|
31
|
+
const useDebug = require_debug_namespace.isDebug();
|
|
32
32
|
const terminatorPos = require_primordials_array.ArrayPrototypeIndexOf(args, "--");
|
|
33
|
-
const pnpmArgs = (terminatorPos === -1 ? args : require_primordials_array.ArrayPrototypeSlice(args, 0, terminatorPos)).filter((a) =>
|
|
33
|
+
const pnpmArgs = (terminatorPos === -1 ? args : require_primordials_array.ArrayPrototypeSlice(args, 0, terminatorPos)).filter((a) => !require_eco_npm_npm_flags.isNpmProgressFlag(a));
|
|
34
34
|
const otherArgs = terminatorPos === -1 ? [] : require_primordials_array.ArrayPrototypeSlice(args, terminatorPos);
|
|
35
35
|
const firstArg = pnpmArgs[0];
|
|
36
36
|
const supportsIgnoreScripts = firstArg ? require_eco_npm_pnpm_flags.PNPM_INSTALL_LIKE_COMMANDS.has(firstArg) : false;
|
|
@@ -39,9 +39,9 @@ function execPnpm(args, options) {
|
|
|
39
39
|
const ignoreScriptsArgs = !supportsIgnoreScripts || hasIgnoreScriptsFlag ? [] : ["--ignore-scripts"];
|
|
40
40
|
/* c8 ignore start */
|
|
41
41
|
const frozenLockfileArgs = [];
|
|
42
|
-
if (
|
|
42
|
+
if (require_env_ci.getCI() && allowLockfileUpdate && firstArg && require_eco_npm_pnpm_flags.isPnpmInstallCommand(firstArg) && !pnpmArgs.some(require_eco_npm_pnpm_flags.isPnpmFrozenLockfileFlag)) frozenLockfileArgs.push("--no-frozen-lockfile");
|
|
43
43
|
/* c8 ignore stop */
|
|
44
|
-
return
|
|
44
|
+
return require_bin_exec.execBin("pnpm", [
|
|
45
45
|
...logLevelArgs,
|
|
46
46
|
...ignoreScriptsArgs,
|
|
47
47
|
...frozenLockfileArgs,
|