@socketsecurity/lib 5.28.0 → 6.0.1
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 +135 -37
- package/README.md +26 -17
- package/dist/abort/signal.d.ts +28 -0
- package/dist/{abort.js → abort/signal.js} +12 -10
- package/dist/ai/discover.d.mts +50 -0
- package/dist/ai/discover.js +128 -0
- package/dist/ai/profiles.d.mts +39 -0
- package/dist/ai/profiles.js +61 -0
- package/dist/ai/spawn.d.mts +49 -0
- package/dist/ai/spawn.js +207 -0
- package/dist/ai/types.d.mts +117 -0
- package/dist/ai/types.js +18 -0
- package/dist/ai/worktree.d.mts +104 -0
- package/dist/ai/worktree.js +200 -0
- package/dist/ansi/constants.d.ts +10 -0
- package/dist/ansi/constants.js +45 -0
- package/dist/ansi/strip.d.ts +33 -0
- package/dist/{ansi.js → ansi/strip.js} +7 -24
- package/dist/archives/_internal.d.ts +39 -0
- package/dist/archives/_internal.js +87 -0
- package/dist/archives/detect.d.ts +19 -0
- package/dist/archives/detect.js +46 -0
- package/dist/archives/extract.d.ts +22 -0
- package/dist/archives/extract.js +53 -0
- package/dist/archives/tar.d.ts +42 -0
- package/dist/archives/tar.js +233 -0
- package/dist/archives/types.d.ts +34 -0
- package/dist/archives/types.js +18 -0
- package/dist/archives/zip.d.ts +20 -0
- package/dist/archives/zip.js +124 -0
- package/dist/argv/flag-predicates.d.ts +179 -0
- package/dist/argv/flag-predicates.js +118 -0
- package/dist/argv/flag-types.d.ts +123 -0
- package/dist/argv/flag-types.js +116 -0
- package/dist/argv/parse-args-string.d.ts +30 -0
- package/dist/argv/parse-args-string.js +42 -0
- package/dist/argv/parse.d.ts +34 -33
- package/dist/argv/parse.js +6 -4
- package/dist/arrays/_internal.d.ts +43 -0
- package/dist/{arrays.js → arrays/_internal.js} +8 -41
- package/dist/arrays/chunk.d.ts +37 -0
- package/dist/arrays/chunk.js +43 -0
- package/dist/arrays/join.d.ts +76 -0
- package/dist/{env/helpers.js → arrays/join.js} +12 -18
- package/dist/arrays/predicates.d.ts +40 -0
- package/dist/arrays/predicates.js +30 -0
- package/dist/arrays/unique.d.ts +36 -0
- package/dist/arrays/unique.js +34 -0
- package/dist/bin/_internal.d.ts +22 -0
- package/dist/bin/_internal.js +43 -0
- package/dist/bin/check-primordials.d.ts +41 -15
- package/dist/bin/check-primordials.js +49 -28
- package/dist/bin/check.d.ts +7 -12
- package/dist/bin/check.js +6 -2
- package/dist/bin/exec.d.ts +37 -0
- package/dist/bin/exec.js +79 -0
- package/dist/bin/find.d.ts +58 -0
- package/dist/bin/find.js +143 -0
- package/dist/bin/resolve.d.ts +30 -0
- package/dist/bin/resolve.js +249 -0
- package/dist/bin/shadow.d.ts +16 -0
- package/dist/bin/shadow.js +36 -0
- package/dist/bin/socket-lib.d.ts +10 -14
- package/dist/bin/socket-lib.js +19 -4
- package/dist/bin/types.d.ts +34 -0
- package/dist/bin/types.js +18 -0
- package/dist/bin/which.d.ts +111 -0
- package/dist/bin/which.js +155 -0
- package/dist/cacache/_internal.d.ts +15 -0
- package/dist/cacache/_internal.js +43 -0
- package/dist/cacache/clear.d.ts +43 -0
- package/dist/cacache/clear.js +77 -0
- package/dist/cacache/read.d.ts +31 -0
- package/dist/cacache/read.js +51 -0
- package/dist/cacache/tmp.d.ts +18 -0
- package/dist/cacache/tmp.js +39 -0
- package/dist/cacache/types.d.ts +37 -0
- package/dist/cacache/types.js +18 -0
- package/dist/cacache/write.d.ts +31 -0
- package/dist/cacache/write.js +53 -0
- package/dist/cache/ttl/store.d.ts +29 -0
- package/dist/{cache-with-ttl.js → cache/ttl/store.js} +45 -37
- package/dist/cache/ttl/types.d.ts +109 -0
- package/dist/cache/ttl/types.js +18 -0
- package/dist/checks/primordials-defaults.d.ts +20 -0
- package/dist/checks/primordials-defaults.js +92 -0
- package/dist/checks/primordials.d.ts +69 -61
- package/dist/checks/primordials.js +141 -92
- package/dist/colors/convert.d.ts +35 -0
- package/dist/colors/convert.js +42 -0
- package/dist/colors/palette.d.ts +7 -0
- package/dist/{colors.js → colors/palette.js} +5 -17
- package/dist/colors/socket-palette.d.ts +69 -0
- package/dist/colors/socket-palette.js +91 -0
- package/dist/colors/types.d.ts +29 -0
- package/dist/colors/types.js +18 -0
- package/dist/compression/_internal.d.ts +33 -0
- package/dist/compression/_internal.js +77 -0
- package/dist/compression/brotli.d.ts +82 -0
- package/dist/{compression.js → compression/brotli.js} +17 -145
- package/dist/compression/gzip.d.ts +70 -0
- package/dist/compression/gzip.js +142 -0
- package/dist/compression/types.d.ts +37 -0
- package/dist/compression/types.js +18 -0
- package/dist/constants/agents.d.ts +4 -3
- package/dist/constants/agents.js +7 -4
- package/dist/constants/encoding.d.ts +3 -3
- package/dist/constants/github.d.ts +2 -3
- package/dist/constants/licenses.d.ts +5 -5
- package/dist/constants/licenses.js +2 -2
- package/dist/constants/lifecycle-script-names.d.ts +3 -4
- package/dist/constants/lifecycle-script-names.js +2 -2
- package/dist/constants/maintained-node-versions.d.ts +1 -1
- package/dist/constants/maintained-node-versions.js +3 -4
- package/dist/constants/node.d.ts +21 -20
- package/dist/constants/node.js +4 -4
- package/dist/constants/package-default-node-range.d.ts +1 -1
- package/dist/constants/package-default-socket-categories.d.ts +1 -1
- package/dist/constants/package-default-socket-categories.js +2 -2
- package/dist/constants/packages.d.ts +4 -4
- package/dist/constants/packages.js +7 -5
- package/dist/constants/platform.d.ts +3 -1
- package/dist/constants/platform.js +3 -10
- package/dist/constants/{core.d.ts → sentinels.d.ts} +4 -4
- package/dist/constants/{core.js → sentinels.js} +3 -3
- package/dist/constants/socket.d.ts +4 -6
- package/dist/constants/socket.js +6 -9
- package/dist/constants/testing.d.ts +3 -3
- package/dist/constants/time.d.ts +3 -3
- package/dist/constants/typescript.d.ts +3 -3
- package/dist/cover/code.d.ts +11 -3
- package/dist/cover/code.js +27 -37
- package/dist/cover/formatters.d.ts +19 -15
- package/dist/cover/formatters.js +21 -18
- package/dist/cover/type.d.ts +4 -3
- package/dist/cover/type.js +10 -9
- package/dist/cover/types.d.ts +1 -1
- package/dist/crypto/hash.d.ts +36 -0
- package/dist/{crypto.js → crypto/hash.js} +17 -17
- package/dist/debug/_internal.d.ts +25 -0
- package/dist/debug/_internal.js +77 -0
- package/dist/debug/caller-info.d.ts +12 -0
- package/dist/debug/caller-info.js +67 -0
- package/dist/debug/namespace.d.ts +35 -0
- package/dist/debug/namespace.js +101 -0
- package/dist/{debug.d.ts → debug/output.d.ts} +23 -42
- package/dist/debug/output.js +209 -0
- package/dist/debug/types.d.ts +21 -0
- package/dist/debug/types.js +18 -0
- package/dist/dlx/_internal.d.ts +10 -0
- package/dist/dlx/_internal.js +47 -0
- package/dist/dlx/arborist.d.ts +86 -61
- package/dist/dlx/arborist.js +30 -35
- package/dist/dlx/binary-cache.d.ts +108 -0
- package/dist/dlx/binary-cache.js +212 -0
- package/dist/dlx/binary-download.d.ts +67 -0
- package/dist/dlx/binary-download.js +216 -0
- package/dist/dlx/binary-resolution.d.ts +61 -0
- package/dist/dlx/binary-resolution.js +164 -0
- package/dist/dlx/binary-types.d.ts +144 -0
- package/dist/dlx/binary-types.js +18 -0
- package/dist/dlx/binary.d.ts +39 -268
- package/dist/dlx/binary.js +40 -321
- package/dist/dlx/cache.d.ts +21 -16
- package/dist/dlx/cache.js +2 -2
- package/dist/dlx/detect.d.ts +94 -68
- package/dist/dlx/detect.js +32 -35
- package/dist/dlx/dir.d.ts +20 -18
- package/dist/dlx/dir.js +7 -14
- package/dist/dlx/firewall.d.ts +27 -0
- package/dist/dlx/firewall.js +107 -0
- package/dist/dlx/lockfile.d.ts +73 -56
- package/dist/dlx/lockfile.js +36 -44
- package/dist/dlx/manifest.d.ts +50 -51
- package/dist/dlx/manifest.js +52 -53
- package/dist/dlx/package.d.ts +83 -279
- package/dist/dlx/package.js +45 -267
- package/dist/dlx/packages.d.ts +22 -20
- package/dist/dlx/packages.js +15 -20
- package/dist/dlx/paths.d.ts +26 -23
- package/dist/dlx/paths.js +8 -15
- package/dist/dlx/spec.d.ts +25 -0
- package/dist/dlx/spec.js +63 -0
- package/dist/dlx/types.d.ts +142 -0
- package/dist/dlx/types.js +18 -0
- package/dist/eco/cargo/lockfile-format.d.ts +8 -0
- package/dist/eco/cargo/lockfile-format.js +39 -0
- package/dist/eco/cargo/manifest-format.d.ts +7 -0
- package/dist/eco/cargo/manifest-format.js +38 -0
- package/dist/eco/cargo/parse-lockfile.d.ts +84 -0
- package/dist/eco/cargo/parse-lockfile.js +257 -0
- package/dist/eco/manifest/analyze-lockfile.d.ts +10 -0
- package/dist/eco/manifest/analyze-lockfile.js +67 -0
- package/dist/eco/manifest/detect-format.d.ts +15 -0
- package/dist/eco/manifest/detect-format.js +98 -0
- package/dist/eco/manifest/find-packages.d.ts +14 -0
- package/dist/eco/manifest/find-packages.js +69 -0
- package/dist/eco/manifest/get-package-versions.d.ts +8 -0
- package/dist/eco/manifest/get-package-versions.js +52 -0
- package/dist/eco/manifest/get-package.d.ts +10 -0
- package/dist/eco/manifest/get-package.js +44 -0
- package/dist/eco/manifest/manifest-error.d.ts +18 -0
- package/dist/eco/manifest/manifest-error.js +37 -0
- package/dist/eco/manifest/parse-lockfile.d.ts +16 -0
- package/dist/eco/manifest/parse-lockfile.js +91 -0
- package/dist/eco/manifest/parse-manifest.d.ts +12 -0
- package/dist/eco/manifest/parse-manifest.js +48 -0
- package/dist/eco/manifest/parse.d.ts +9 -0
- package/dist/eco/manifest/parse.js +52 -0
- package/dist/eco/manifest/types.d.ts +10 -0
- package/dist/eco/manifest/types.js +18 -0
- package/dist/eco/npm/bun/exec.d.ts +15 -0
- package/dist/eco/npm/bun/exec.js +35 -0
- package/dist/eco/npm/manifest-format.d.ts +11 -0
- package/dist/eco/npm/manifest-format.js +38 -0
- package/dist/eco/npm/npm/exec.d.ts +24 -0
- package/dist/eco/npm/npm/exec.js +64 -0
- package/dist/eco/npm/npm/extract-package-name-from-path.d.ts +9 -0
- package/dist/eco/npm/npm/extract-package-name-from-path.js +54 -0
- package/dist/eco/npm/npm/flags.d.ts +62 -0
- package/dist/eco/npm/npm/flags.js +63 -0
- package/dist/eco/npm/npm/lockfile-format.d.ts +9 -0
- package/dist/eco/npm/npm/lockfile-format.js +42 -0
- package/dist/eco/npm/npm/parse-git-url.d.ts +13 -0
- package/dist/eco/npm/npm/parse-git-url.js +43 -0
- package/dist/eco/npm/npm/parse-lockfile.d.ts +70 -0
- package/dist/eco/npm/npm/parse-lockfile.js +224 -0
- package/dist/eco/npm/parse-package-json.d.ts +16 -0
- package/dist/eco/npm/parse-package-json.js +115 -0
- package/dist/eco/npm/pnpm/detect-pnpm-version.d.ts +7 -0
- package/dist/eco/npm/pnpm/detect-pnpm-version.js +47 -0
- package/dist/eco/npm/pnpm/exec.d.ts +26 -0
- package/dist/eco/npm/pnpm/exec.js +65 -0
- package/dist/eco/npm/pnpm/flags.d.ts +44 -0
- package/dist/eco/npm/pnpm/flags.js +76 -0
- package/dist/eco/npm/pnpm/lockfile-format.d.ts +8 -0
- package/dist/eco/npm/pnpm/lockfile-format.js +39 -0
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +69 -0
- package/dist/eco/npm/pnpm/parse-lockfile.js +274 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.d.ts +15 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +50 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.d.ts +11 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +52 -0
- package/dist/eco/npm/script.d.ts +35 -0
- package/dist/eco/npm/script.js +93 -0
- package/dist/eco/npm/vlt/exec.d.ts +16 -0
- package/dist/eco/npm/vlt/exec.js +35 -0
- package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +28 -0
- package/dist/eco/npm/yarnpkg/yarn/exec.js +63 -0
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.d.ts +9 -0
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +39 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +61 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +261 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.d.ts +16 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +68 -0
- package/dist/{types.d.ts → eco/purl.d.ts} +14 -26
- package/dist/{types.js → eco/purl.js} +3 -3
- package/dist/eco/types.d.ts +51 -0
- package/dist/eco/types.js +18 -0
- package/dist/effects/pulse-frames.d.ts +16 -17
- package/dist/effects/pulse-frames.js +4 -4
- package/dist/effects/shimmer-keyframes.d.ts +39 -37
- package/dist/effects/shimmer-terminal.d.ts +43 -42
- package/dist/effects/shimmer-terminal.js +3 -3
- package/dist/effects/shimmer.d.ts +172 -153
- package/dist/effects/shimmer.js +78 -76
- package/dist/env/boolean.d.ts +33 -0
- package/dist/env/boolean.js +46 -0
- package/dist/env/case-insensitive.d.ts +42 -0
- package/dist/env/case-insensitive.js +42 -0
- package/dist/env/ci.d.ts +11 -12
- package/dist/env/debug.d.ts +10 -10
- package/dist/env/github.d.ts +71 -74
- package/dist/env/home.d.ts +15 -14
- package/dist/env/locale.d.ts +26 -29
- package/dist/env/node-auth-token.d.ts +10 -10
- package/dist/env/node-env.d.ts +10 -10
- package/dist/env/npm.d.ts +45 -47
- package/dist/env/number.d.ts +29 -0
- package/dist/env/number.js +54 -0
- package/dist/env/package-manager.d.ts +36 -33
- package/dist/env/package-manager.js +3 -3
- package/dist/env/path.d.ts +10 -10
- package/dist/env/pre-commit.d.ts +11 -11
- package/dist/env/pre-commit.js +2 -2
- package/dist/env/proxy.d.ts +44 -0
- package/dist/env/proxy.js +126 -0
- package/dist/env/rewire.d.ts +105 -99
- package/dist/env/rewire.js +11 -8
- package/dist/env/shell.d.ts +10 -10
- package/dist/env/socket-cli.d.ts +109 -125
- package/dist/env/socket-cli.js +7 -12
- package/dist/env/socket.d.ts +347 -130
- package/dist/env/socket.js +107 -8
- package/dist/env/string.d.ts +28 -0
- package/dist/env/string.js +47 -0
- package/dist/env/temp-dir.d.ts +26 -29
- package/dist/env/term.d.ts +10 -10
- package/dist/env/test.d.ts +29 -31
- package/dist/env/test.js +5 -4
- package/dist/env/types.d.ts +62 -0
- package/dist/env/types.js +18 -0
- package/dist/env/windows.d.ts +37 -38
- package/dist/env/xdg.d.ts +29 -29
- package/dist/errors/message.d.ts +27 -0
- package/dist/errors/message.js +49 -0
- package/dist/errors/predicates.d.ts +46 -0
- package/dist/{errors.js → errors/predicates.js} +13 -43
- package/dist/errors/stack.d.ts +16 -0
- package/dist/errors/stack.js +39 -0
- package/dist/events/exit/_internal.d.ts +68 -0
- package/dist/events/exit/_internal.js +127 -0
- package/dist/events/exit/handler.d.ts +20 -0
- package/dist/events/exit/handler.js +58 -0
- package/dist/events/exit/intercept.d.ts +8 -0
- package/dist/events/exit/intercept.js +75 -0
- package/dist/events/exit/lifecycle.d.ts +28 -0
- package/dist/events/exit/lifecycle.js +109 -0
- package/dist/events/exit/signals.d.ts +16 -0
- package/dist/events/exit/signals.js +34 -0
- package/dist/events/exit/types.d.ts +21 -0
- package/dist/events/exit/types.js +18 -0
- package/dist/events/warning/handler.d.ts +31 -0
- package/dist/events/warning/handler.js +43 -0
- package/dist/events/warning/suppress.d.ts +65 -0
- package/dist/{suppress-warnings.js → events/warning/suppress.js} +16 -28
- package/dist/external/@npmcli/package-json/lib/read-package.js +11 -1
- package/dist/external/@npmcli/package-json.js +300 -82
- package/dist/external/@npmcli/promise-spawn.js +15 -1
- package/dist/external/@socketregistry/packageurl-js.js +7 -1
- package/dist/external/@socketregistry/yocto-spinner.js +5 -1
- package/dist/external/@yarnpkg/extensions.js +1 -1
- package/dist/external/adm-zip.js +20 -4
- package/dist/external/debug.js +15 -1
- package/dist/external/external-pack.js +20 -4
- package/dist/external/fast-sort.js +3 -1
- package/dist/external/get-east-asian-width.js +3 -1
- package/dist/external/libnpmexec.js +5 -1
- package/dist/external/npm-pack.js +344 -113
- package/dist/external/p-map.js +7 -1
- package/dist/external/pico-pack.js +17 -1
- package/dist/external/pony-cause.js +1 -1
- package/dist/external/spdx-pack.js +3 -1
- package/dist/external/supports-color.js +1 -1
- package/dist/external/tar-fs.js +15 -1
- package/dist/external/which.js +11 -1
- package/dist/external/yargs-parser.js +15 -1
- package/dist/external-tools/bazel/asset-names.d.ts +66 -0
- package/dist/external-tools/bazel/asset-names.js +96 -0
- package/dist/external-tools/bazel/from-download.d.ts +49 -0
- package/dist/external-tools/bazel/from-download.js +49 -0
- package/dist/external-tools/bazel/from-path.d.ts +8 -0
- package/dist/external-tools/bazel/from-path.js +41 -0
- package/dist/external-tools/bazel/read-bazel-version-file.d.ts +12 -0
- package/dist/external-tools/bazel/read-bazel-version-file.js +61 -0
- package/dist/external-tools/bazel/resolve-asset-url.d.ts +14 -0
- package/dist/external-tools/bazel/resolve-asset-url.js +42 -0
- package/dist/external-tools/bazel/resolve-bazel-version.d.ts +19 -0
- package/dist/external-tools/bazel/resolve-bazel-version.js +59 -0
- package/dist/external-tools/bazel/resolve.d.ts +35 -0
- package/dist/external-tools/bazel/resolve.js +68 -0
- package/dist/external-tools/bazel/types.d.ts +22 -0
- package/dist/external-tools/bazel/types.js +18 -0
- package/dist/external-tools/cdxgen/asset-names.d.ts +58 -0
- package/dist/external-tools/cdxgen/asset-names.js +79 -0
- package/dist/external-tools/cdxgen/from-download.d.ts +43 -0
- package/dist/external-tools/cdxgen/from-download.js +83 -0
- package/dist/external-tools/cdxgen/from-path.d.ts +5 -0
- package/dist/external-tools/cdxgen/from-path.js +40 -0
- package/dist/external-tools/cdxgen/from-vfs.d.ts +7 -0
- package/dist/external-tools/cdxgen/from-vfs.js +47 -0
- package/dist/external-tools/cdxgen/resolve.d.ts +32 -0
- package/dist/external-tools/cdxgen/resolve.js +73 -0
- package/dist/external-tools/cdxgen/types.d.ts +33 -0
- package/dist/external-tools/cdxgen/types.js +18 -0
- package/dist/external-tools/from-download.d.ts +162 -0
- package/dist/external-tools/from-download.js +72 -0
- package/dist/external-tools/janus/asset-names.d.ts +43 -0
- package/dist/external-tools/janus/asset-names.js +57 -0
- package/dist/external-tools/janus/from-download.d.ts +26 -0
- package/dist/external-tools/janus/from-download.js +73 -0
- package/dist/external-tools/janus/from-path.d.ts +5 -0
- package/dist/external-tools/janus/from-path.js +40 -0
- package/dist/external-tools/janus/from-vfs.d.ts +7 -0
- package/dist/external-tools/janus/from-vfs.js +47 -0
- package/dist/external-tools/janus/resolve.d.ts +28 -0
- package/dist/external-tools/janus/resolve.js +73 -0
- package/dist/external-tools/janus/types.d.ts +24 -0
- package/dist/external-tools/janus/types.js +18 -0
- package/dist/external-tools/jre/asset-names.d.ts +91 -0
- package/dist/external-tools/jre/asset-names.js +88 -0
- package/dist/external-tools/jre/detect-platform-arch.d.ts +8 -0
- package/dist/external-tools/jre/detect-platform-arch.js +52 -0
- package/dist/external-tools/jre/from-download.d.ts +62 -0
- package/dist/external-tools/jre/from-download.js +70 -0
- package/dist/external-tools/jre/from-java-home.d.ts +10 -0
- package/dist/external-tools/jre/from-java-home.js +57 -0
- package/dist/external-tools/jre/from-path.d.ts +9 -0
- package/dist/external-tools/jre/from-path.js +52 -0
- package/dist/external-tools/jre/from-vfs.d.ts +17 -0
- package/dist/external-tools/jre/from-vfs.js +64 -0
- package/dist/external-tools/jre/resolve.d.ts +40 -0
- package/dist/external-tools/jre/resolve.js +78 -0
- package/dist/external-tools/jre/types.d.ts +28 -0
- package/dist/external-tools/jre/types.js +18 -0
- package/dist/external-tools/manifest.d.ts +105 -0
- package/dist/external-tools/manifest.js +167 -0
- package/dist/external-tools/opengrep/asset-names.d.ts +44 -0
- package/dist/external-tools/opengrep/asset-names.js +78 -0
- package/dist/external-tools/opengrep/from-download.d.ts +17 -0
- package/dist/external-tools/opengrep/from-download.js +83 -0
- package/dist/external-tools/opengrep/from-path.d.ts +5 -0
- package/dist/external-tools/opengrep/from-path.js +40 -0
- package/dist/external-tools/opengrep/from-vfs.d.ts +8 -0
- package/dist/external-tools/opengrep/from-vfs.js +47 -0
- package/dist/external-tools/opengrep/resolve.d.ts +26 -0
- package/dist/external-tools/opengrep/resolve.js +73 -0
- package/dist/external-tools/opengrep/types.d.ts +24 -0
- package/dist/external-tools/opengrep/types.js +18 -0
- package/dist/external-tools/sbt/asset-names.d.ts +31 -0
- package/dist/external-tools/sbt/asset-names.js +33 -0
- package/dist/external-tools/sbt/from-download.d.ts +44 -0
- package/dist/external-tools/sbt/from-download.js +64 -0
- package/dist/external-tools/sbt/from-path.d.ts +8 -0
- package/dist/external-tools/sbt/from-path.js +41 -0
- package/dist/external-tools/sbt/from-vfs.d.ts +14 -0
- package/dist/external-tools/sbt/from-vfs.js +48 -0
- package/dist/external-tools/sbt/resolve.d.ts +31 -0
- package/dist/external-tools/sbt/resolve.js +73 -0
- package/dist/external-tools/sbt/types.d.ts +32 -0
- package/dist/external-tools/sbt/types.js +18 -0
- package/dist/external-tools/synp/asset-names.d.ts +14 -0
- package/dist/external-tools/synp/asset-names.js +32 -0
- package/dist/external-tools/synp/from-download.d.ts +18 -0
- package/dist/external-tools/synp/from-download.js +44 -0
- package/dist/external-tools/synp/from-path.d.ts +5 -0
- package/dist/external-tools/synp/from-path.js +40 -0
- package/dist/external-tools/synp/from-vfs.d.ts +7 -0
- package/dist/external-tools/synp/from-vfs.js +47 -0
- package/dist/external-tools/synp/resolve.d.ts +21 -0
- package/dist/external-tools/synp/resolve.js +72 -0
- package/dist/external-tools/synp/types.d.ts +19 -0
- package/dist/external-tools/synp/types.js +18 -0
- package/dist/external-tools/trivy/asset-names.d.ts +34 -0
- package/dist/external-tools/trivy/asset-names.js +68 -0
- package/dist/external-tools/trivy/from-download.d.ts +17 -0
- package/dist/external-tools/trivy/from-download.js +67 -0
- package/dist/external-tools/trivy/from-path.d.ts +5 -0
- package/dist/external-tools/trivy/from-path.js +40 -0
- package/dist/external-tools/trivy/from-vfs.d.ts +7 -0
- package/dist/external-tools/trivy/from-vfs.js +47 -0
- package/dist/external-tools/trivy/resolve.d.ts +26 -0
- package/dist/external-tools/trivy/resolve.js +73 -0
- package/dist/external-tools/trivy/types.d.ts +24 -0
- package/dist/external-tools/trivy/types.js +18 -0
- package/dist/external-tools/trufflehog/asset-names.d.ts +34 -0
- package/dist/external-tools/trufflehog/asset-names.js +72 -0
- package/dist/external-tools/trufflehog/from-download.d.ts +37 -0
- package/dist/external-tools/trufflehog/from-download.js +65 -0
- package/dist/external-tools/trufflehog/from-path.d.ts +7 -0
- package/dist/external-tools/trufflehog/from-path.js +40 -0
- package/dist/external-tools/trufflehog/from-vfs.d.ts +11 -0
- package/dist/external-tools/trufflehog/from-vfs.js +47 -0
- package/dist/external-tools/trufflehog/resolve.d.ts +30 -0
- package/dist/external-tools/trufflehog/resolve.js +73 -0
- package/dist/external-tools/trufflehog/types.d.ts +25 -0
- package/dist/external-tools/trufflehog/types.js +18 -0
- package/dist/external-tools/uv/asset-names.d.ts +36 -0
- package/dist/external-tools/uv/asset-names.js +80 -0
- package/dist/external-tools/uv/from-download.d.ts +17 -0
- package/dist/external-tools/uv/from-download.js +68 -0
- package/dist/external-tools/uv/from-path.d.ts +5 -0
- package/dist/external-tools/uv/from-path.js +40 -0
- package/dist/external-tools/uv/from-vfs.d.ts +7 -0
- package/dist/external-tools/uv/from-vfs.js +47 -0
- package/dist/external-tools/uv/resolve.d.ts +25 -0
- package/dist/external-tools/uv/resolve.js +73 -0
- package/dist/external-tools/uv/types.d.ts +24 -0
- package/dist/external-tools/uv/types.js +18 -0
- package/dist/fs/_internal.d.ts +22 -0
- package/dist/fs/_internal.js +48 -0
- package/dist/fs/encoding.d.ts +49 -0
- package/dist/fs/encoding.js +102 -0
- package/dist/fs/find-up.d.ts +58 -0
- package/dist/fs/find-up.js +152 -0
- package/dist/fs/inspect.d.ts +117 -0
- package/dist/fs/inspect.js +112 -0
- package/dist/fs/path-cache.d.ts +21 -0
- package/dist/fs/path-cache.js +35 -0
- package/dist/fs/read-dir.d.ts +66 -0
- package/dist/fs/read-dir.js +86 -0
- package/dist/fs/read-file.d.ts +150 -0
- package/dist/fs/read-file.js +131 -0
- package/dist/fs/read-json-cache.d.ts +83 -0
- package/dist/fs/read-json-cache.js +156 -0
- package/dist/fs/read-json.d.ts +77 -0
- package/dist/fs/read-json.js +192 -0
- package/dist/fs/safe.d.ts +153 -0
- package/dist/fs/safe.js +182 -0
- package/dist/fs/types.d.ts +291 -0
- package/dist/fs/types.js +18 -0
- package/dist/fs/unique.d.ts +29 -0
- package/dist/fs/unique.js +51 -0
- package/dist/fs/validate.d.ts +40 -0
- package/dist/fs/validate.js +46 -0
- package/dist/fs/write-json.d.ts +78 -0
- package/dist/fs/write-json.js +83 -0
- package/dist/git/_internal.d.ts +105 -0
- package/dist/git/_internal.js +236 -0
- package/dist/git/changed.d.ts +145 -0
- package/dist/git/changed.js +83 -0
- package/dist/git/repo.d.ts +62 -0
- package/dist/git/repo.js +111 -0
- package/dist/git/staged.d.ts +138 -0
- package/dist/git/staged.js +71 -0
- package/dist/git/types.d.ts +109 -0
- package/dist/git/types.js +18 -0
- package/dist/git/unstaged.d.ts +141 -0
- package/dist/git/unstaged.js +71 -0
- package/dist/github/constants.d.ts +18 -0
- package/dist/github/constants.js +36 -0
- package/dist/github/errors.d.ts +36 -0
- package/dist/github/errors.js +40 -0
- package/dist/github/fetch.d.ts +89 -0
- package/dist/github/fetch.js +87 -0
- package/dist/github/ghsa.d.ts +118 -0
- package/dist/github/ghsa.js +178 -0
- package/dist/github/refs-cache.d.ts +40 -0
- package/dist/github/refs-cache.js +49 -0
- package/dist/github/refs-graphql.d.ts +42 -0
- package/dist/github/refs-graphql.js +109 -0
- package/dist/github/refs-rest.d.ts +23 -0
- package/dist/github/refs-rest.js +104 -0
- package/dist/github/refs.d.ts +84 -0
- package/dist/github/refs.js +67 -0
- package/dist/github/token.d.ts +77 -0
- package/dist/github/token.js +55 -0
- package/dist/github/types.d.ts +277 -0
- package/dist/github/types.js +18 -0
- package/dist/globs/_internal.d.ts +46 -0
- package/dist/globs/_internal.js +96 -0
- package/dist/globs/defaults.d.ts +7 -0
- package/dist/globs/defaults.js +61 -0
- package/dist/globs/match.d.ts +59 -0
- package/dist/globs/match.js +84 -0
- package/dist/globs/matcher.d.ts +46 -0
- package/dist/globs/matcher.js +99 -0
- package/dist/globs/stream.d.ts +18 -0
- package/dist/globs/stream.js +58 -0
- package/dist/globs/types.d.ts +35 -0
- package/dist/globs/types.js +18 -0
- package/dist/http-request/_internal.d.ts +18 -0
- package/dist/http-request/_internal.js +39 -0
- package/dist/http-request/browser-fetch.d.ts +10 -0
- package/dist/http-request/browser-fetch.js +32 -0
- package/dist/http-request/browser.d.ts +190 -0
- package/dist/http-request/browser.js +224 -0
- package/dist/http-request/checksums.d.ts +69 -0
- package/dist/http-request/checksums.js +72 -0
- package/dist/http-request/convenience.d.ts +104 -0
- package/dist/http-request/convenience.js +96 -0
- package/dist/http-request/download-types.d.ts +224 -0
- package/dist/http-request/download-types.js +18 -0
- package/dist/http-request/download.d.ts +71 -0
- package/dist/http-request/download.js +201 -0
- package/dist/http-request/errors.d.ts +23 -0
- package/dist/http-request/errors.js +50 -0
- package/dist/http-request/headers.d.ts +57 -0
- package/dist/http-request/headers.js +86 -0
- package/dist/http-request/request-attempt.d.ts +21 -0
- package/dist/http-request/request-attempt.js +288 -0
- package/dist/http-request/request-types.d.ts +253 -0
- package/dist/http-request/request-types.js +18 -0
- package/dist/http-request/request.d.ts +59 -0
- package/dist/http-request/request.js +111 -0
- package/dist/http-request/response-reader.d.ts +25 -0
- package/dist/http-request/response-reader.js +54 -0
- package/dist/http-request/response-types.d.ts +123 -0
- package/dist/http-request/response-types.js +40 -0
- package/dist/http-request/user-agent.d.ts +55 -0
- package/dist/http-request/user-agent.js +61 -0
- package/dist/{dlx/integrity.d.ts → integrity.d.ts} +36 -30
- package/dist/{dlx/integrity.js → integrity.js} +25 -19
- package/dist/ipc/_internal.d.ts +25 -0
- package/dist/ipc/_internal.js +50 -0
- package/dist/ipc/directory.d.ts +18 -0
- package/dist/ipc/directory.js +66 -0
- package/dist/ipc/paths.d.ts +37 -0
- package/dist/ipc/paths.js +48 -0
- package/dist/ipc/types.d.ts +22 -0
- package/dist/ipc/types.js +18 -0
- package/dist/ipc/write.d.ts +39 -0
- package/dist/ipc/write.js +77 -0
- package/dist/ipc-cli/get.d.ts +21 -0
- package/dist/{ipc-cli.js → ipc-cli/get.js} +5 -5
- package/dist/ipc-cli/types.d.ts +14 -0
- package/dist/ipc-cli/types.js +18 -0
- package/dist/json/edit.d.ts +22 -8
- package/dist/json/edit.js +85 -96
- package/dist/json/format.d.ts +100 -86
- package/dist/json/format.js +4 -3
- package/dist/json/parse.d.ts +113 -88
- package/dist/json/parse.js +30 -24
- package/dist/json/types.d.ts +133 -117
- package/dist/links/create.d.ts +65 -0
- package/dist/{links.js → links/create.js} +10 -10
- package/dist/links/types.d.ts +19 -0
- package/dist/links/types.js +18 -0
- package/dist/logger/_internal.d.ts +82 -0
- package/dist/logger/_internal.js +80 -0
- package/dist/logger/browser.d.ts +16 -0
- package/dist/logger/browser.js +65 -0
- package/dist/logger/colors.d.ts +18 -0
- package/dist/logger/colors.js +54 -0
- package/dist/logger/console.d.ts +33 -0
- package/dist/logger/console.js +119 -0
- package/dist/logger/default.d.ts +405 -0
- package/dist/logger/default.js +854 -0
- package/dist/logger/symbols-builder.d.ts +29 -0
- package/dist/logger/symbols-builder.js +61 -0
- package/dist/logger/symbols.d.ts +61 -0
- package/dist/logger/symbols.js +129 -0
- package/dist/logger/types.d.ts +88 -0
- package/dist/logger/types.js +18 -0
- package/dist/memo/_internal.d.ts +16 -0
- package/dist/memo/_internal.js +53 -0
- package/dist/memo/async.d.ts +32 -0
- package/dist/memo/async.js +120 -0
- package/dist/memo/clear.d.ts +15 -0
- package/dist/memo/clear.js +37 -0
- package/dist/memo/decorator.d.ts +29 -0
- package/dist/memo/decorator.js +40 -0
- package/dist/memo/memoize.d.ts +33 -0
- package/dist/memo/memoize.js +91 -0
- package/dist/memo/once.d.ts +25 -0
- package/dist/memo/once.js +44 -0
- package/dist/memo/types.d.ts +43 -0
- package/dist/memo/types.js +18 -0
- package/dist/memo/weak.d.ts +26 -0
- package/dist/memo/weak.js +44 -0
- package/dist/node/async-hooks.d.ts +2 -2
- package/dist/node/child-process.d.ts +5 -7
- package/dist/node/crypto.d.ts +2 -2
- package/dist/node/events.d.ts +2 -2
- package/dist/node/fs-promises.d.ts +2 -2
- package/dist/node/fs.d.ts +6 -10
- package/dist/node/http.d.ts +2 -2
- package/dist/node/https.d.ts +2 -2
- package/dist/node/module.d.ts +7 -0
- package/dist/node/module.js +41 -0
- package/dist/node/os.d.ts +2 -2
- package/dist/node/path.d.ts +2 -2
- package/dist/node/timers-promises.d.ts +2 -2
- package/dist/node/url.d.ts +2 -2
- package/dist/node/util.d.ts +2 -2
- package/dist/objects/getters.d.ts +116 -0
- package/dist/objects/getters.js +137 -0
- package/dist/objects/inspect.d.ts +67 -0
- package/dist/objects/inspect.js +59 -0
- package/dist/objects/mutate.d.ts +72 -0
- package/dist/objects/mutate.js +81 -0
- package/dist/objects/predicates.d.ts +96 -0
- package/dist/objects/predicates.js +68 -0
- package/dist/objects/sort.d.ts +88 -0
- package/dist/objects/sort.js +85 -0
- package/dist/objects/types.d.ts +68 -0
- package/dist/objects/types.js +18 -0
- package/dist/packages/edit-class.d.ts +39 -0
- package/dist/packages/edit-class.js +269 -0
- package/dist/packages/edit.d.ts +60 -61
- package/dist/packages/edit.js +21 -286
- package/dist/packages/exports.d.ts +30 -28
- package/dist/packages/exports.js +38 -34
- package/dist/packages/isolation.d.ts +16 -7
- package/dist/packages/isolation.js +52 -59
- package/dist/packages/licenses.d.ts +49 -45
- package/dist/packages/licenses.js +13 -18
- package/dist/packages/manifest.d.ts +14 -14
- package/dist/packages/manifest.js +16 -15
- package/dist/packages/normalize.d.ts +17 -16
- package/dist/packages/normalize.js +20 -17
- package/dist/packages/operations.d.ts +49 -36
- package/dist/packages/operations.js +30 -15
- package/dist/packages/provenance.d.ts +22 -9
- package/dist/packages/provenance.js +76 -66
- package/dist/packages/specs.d.ts +21 -21
- package/dist/packages/specs.js +7 -7
- package/dist/{packages.d.ts → packages/types.d.ts} +14 -20
- package/dist/packages/types.js +18 -0
- package/dist/packages/validation.d.ts +13 -13
- package/dist/packages/validation.js +2 -2
- package/dist/paths/_internal.d.ts +51 -0
- package/dist/paths/_internal.js +102 -0
- package/dist/paths/conversion.d.ts +82 -0
- package/dist/paths/conversion.js +74 -0
- package/dist/paths/dirnames.d.ts +1 -1
- package/dist/paths/exts.d.ts +1 -1
- package/dist/paths/filenames.d.ts +1 -1
- package/dist/paths/globs.d.ts +1 -1
- package/dist/paths/normalize.d.ts +30 -440
- package/dist/paths/normalize.js +49 -289
- package/dist/paths/packages.d.ts +7 -1
- package/dist/paths/packages.js +7 -12
- package/dist/paths/predicates.d.ts +129 -0
- package/dist/paths/predicates.js +121 -0
- package/dist/paths/resolve.d.ts +71 -0
- package/dist/paths/resolve.js +135 -0
- package/dist/paths/rewire.d.ts +37 -38
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.d.ts +146 -47
- package/dist/paths/socket.js +23 -25
- package/dist/perf/_internal.d.ts +10 -0
- package/dist/perf/_internal.js +30 -0
- package/dist/perf/enabled.d.ts +13 -0
- package/dist/perf/enabled.js +33 -0
- package/dist/perf/metrics.d.ts +51 -0
- package/dist/perf/metrics.js +74 -0
- package/dist/perf/report.d.ts +40 -0
- package/dist/perf/report.js +85 -0
- package/dist/perf/timer.d.ts +100 -0
- package/dist/perf/timer.js +137 -0
- package/dist/perf/types.d.ts +15 -0
- package/dist/perf/types.js +18 -0
- package/dist/pkg-ext/data.d.ts +8 -0
- package/dist/{package-extensions.js → pkg-ext/data.js} +4 -4
- package/dist/pkg-ext/types.d.ts +6 -0
- package/dist/pkg-ext/types.js +18 -0
- package/dist/primordials/array.d.ts +73 -0
- package/dist/primordials/array.js +220 -0
- package/dist/primordials/buffer.d.ts +17 -0
- package/dist/primordials/buffer.js +61 -0
- package/dist/primordials/date.d.ts +16 -0
- package/dist/primordials/date.js +56 -0
- package/dist/primordials/error.d.ts +19 -0
- package/dist/primordials/error.js +75 -0
- package/dist/primordials/function.d.ts +10 -0
- package/dist/primordials/function.js +42 -0
- package/dist/primordials/globals.d.ts +20 -0
- package/dist/primordials/globals.js +60 -0
- package/dist/primordials/json.d.ts +11 -0
- package/dist/primordials/json.js +33 -0
- package/dist/primordials/map-set.d.ts +35 -0
- package/dist/primordials/map-set.js +115 -0
- package/dist/primordials/math.d.ts +51 -0
- package/dist/primordials/math.js +161 -0
- package/dist/primordials/number.d.ts +25 -0
- package/dist/primordials/number.js +92 -0
- package/dist/primordials/object.d.ts +74 -0
- package/dist/primordials/object.js +142 -0
- package/dist/primordials/promise.d.ts +34 -0
- package/dist/primordials/promise.js +61 -0
- package/dist/primordials/reflect.d.ts +18 -0
- package/dist/primordials/reflect.js +66 -0
- package/dist/primordials/regexp.d.ts +14 -0
- package/dist/primordials/regexp.js +50 -0
- package/dist/primordials/string.d.ts +71 -0
- package/dist/primordials/string.js +174 -0
- package/dist/primordials/symbol.d.ts +28 -0
- package/dist/primordials/symbol.js +94 -0
- package/dist/primordials/uncurry.d.ts +18 -0
- package/dist/primordials/uncurry.js +65 -0
- package/dist/primordials/url.d.ts +13 -0
- package/dist/primordials/url.js +69 -0
- package/dist/process/_internal.d.ts +8 -0
- package/dist/process/_internal.js +33 -0
- package/dist/process/abort.d.ts +20 -0
- package/dist/{constants/process.js → process/abort.js} +3 -3
- package/dist/process/lock-instance.d.ts +19 -0
- package/dist/process/lock-instance.js +31 -0
- package/dist/process/lock-manager.d.ts +152 -0
- package/dist/{process-lock.js → process/lock-manager.js} +98 -106
- package/dist/process/lock-types.d.ts +43 -0
- package/dist/process/lock-types.js +18 -0
- package/dist/process/spawn/_internal.d.ts +24 -0
- package/dist/process/spawn/_internal.js +62 -0
- package/dist/process/spawn/child.d.ts +134 -0
- package/dist/process/spawn/child.js +216 -0
- package/dist/process/spawn/errors.d.ts +45 -0
- package/dist/process/spawn/errors.js +118 -0
- package/dist/process/spawn/stdio.d.ts +37 -0
- package/dist/process/spawn/stdio.js +38 -0
- package/dist/process/spawn/types.d.ts +325 -0
- package/dist/process/spawn/types.js +18 -0
- package/dist/process/transient.d.ts +22 -0
- package/dist/{temporary-executor.js → process/transient.js} +8 -8
- package/dist/promises/_internal.d.ts +15 -0
- package/dist/promises/_internal.js +41 -0
- package/dist/promises/iterate.d.ts +190 -0
- package/dist/promises/iterate.js +111 -0
- package/dist/promises/options.d.ts +76 -0
- package/dist/promises/options.js +108 -0
- package/dist/promises/queue.d.ts +51 -0
- package/dist/{promise-queue.js → promises/queue.js} +27 -22
- package/dist/promises/resolvers.d.ts +55 -0
- package/dist/promises/resolvers.js +49 -0
- package/dist/promises/retry.d.ts +105 -0
- package/dist/promises/retry.js +104 -0
- package/dist/promises/types.d.ts +203 -0
- package/dist/promises/types.js +18 -0
- package/dist/regexps/escape.d.ts +6 -0
- package/dist/regexps/escape.js +32 -0
- package/dist/regexps/hex.d.ts +7 -0
- package/dist/regexps/hex.js +38 -0
- package/dist/regexps/spec.d.ts +15 -0
- package/dist/{regexps.js → regexps/spec.js} +32 -36
- package/dist/releases/github-archives.d.ts +47 -36
- package/dist/releases/github-archives.js +22 -36
- package/dist/releases/github-asset-url.d.ts +72 -0
- package/dist/releases/github-asset-url.js +167 -0
- package/dist/releases/github-assets.d.ts +13 -11
- package/dist/releases/github-assets.js +2 -2
- package/dist/releases/github-auth.d.ts +9 -9
- package/dist/releases/github-downloads.d.ts +31 -26
- package/dist/releases/github-downloads.js +24 -36
- package/dist/releases/github-listing.d.ts +105 -0
- package/dist/releases/github-listing.js +171 -0
- package/dist/releases/github-types.d.ts +45 -19
- package/dist/releases/socket-btm.d.ts +149 -99
- package/dist/releases/socket-btm.js +14 -20
- package/dist/schema/parse.d.ts +14 -15
- package/dist/schema/parse.js +2 -2
- package/dist/schema/types.d.ts +49 -37
- package/dist/schema/validate.d.ts +42 -19
- package/dist/schema/validate.js +15 -6
- package/dist/sea/detect.d.ts +37 -0
- package/dist/sea/{util.js → detect.js} +6 -6
- package/dist/secrets/_internal.d.ts +57 -0
- package/dist/secrets/_internal.js +84 -0
- package/dist/secrets/find.d.ts +79 -0
- package/dist/secrets/find.js +84 -0
- package/dist/secrets/keychain.d.ts +138 -0
- package/dist/secrets/keychain.js +328 -0
- package/dist/secrets/linux.d.ts +20 -0
- package/dist/secrets/linux.js +151 -0
- package/dist/secrets/macos.d.ts +36 -0
- package/dist/secrets/macos.js +165 -0
- package/dist/secrets/rc.d.ts +139 -0
- package/dist/secrets/rc.js +196 -0
- package/dist/secrets/socket-api-token.d.ts +23 -0
- package/dist/secrets/socket-api-token.js +50 -0
- package/dist/secrets/types.d.ts +69 -0
- package/dist/secrets/types.js +18 -0
- package/dist/secrets/windows.d.ts +50 -0
- package/dist/secrets/windows.js +318 -0
- package/dist/shadow/skip.d.ts +25 -0
- package/dist/{shadow.js → shadow/skip.js} +4 -4
- package/dist/shadow/types.d.ts +8 -0
- package/dist/shadow/types.js +18 -0
- package/dist/smol/detect.d.ts +80 -0
- package/dist/smol/{util.js → detect.js} +16 -24
- package/dist/smol/http.d.ts +60 -0
- package/dist/smol/http.js +42 -0
- package/dist/smol/https.d.ts +59 -0
- package/dist/smol/https.js +42 -0
- package/dist/smol/manifest.d.ts +140 -0
- package/dist/smol/manifest.js +42 -0
- package/dist/smol/primordial.d.ts +16 -21
- package/dist/smol/primordial.js +7 -11
- package/dist/smol/purl.d.ts +84 -0
- package/dist/smol/purl.js +42 -0
- package/dist/smol/versions.d.ts +11 -14
- package/dist/smol/versions.js +7 -11
- package/dist/smol/vfs.d.ts +99 -0
- package/dist/smol/vfs.js +43 -0
- package/dist/sorts/_internal.d.ts +9 -0
- package/dist/sorts/_internal.js +47 -0
- package/dist/sorts/natural.d.ts +39 -0
- package/dist/{sorts.js → sorts/natural.js} +5 -42
- package/dist/sorts/semver.d.ts +15 -0
- package/dist/sorts/semver.js +46 -0
- package/dist/sorts/strings.d.ts +16 -0
- package/dist/sorts/strings.js +33 -0
- package/dist/sorts/types.d.ts +7 -0
- package/dist/sorts/types.js +18 -0
- package/dist/spinner/default.d.ts +49 -0
- package/dist/spinner/default.js +70 -0
- package/dist/spinner/format.d.ts +64 -0
- package/dist/spinner/format.js +83 -0
- package/dist/spinner/spinner.d.ts +40 -0
- package/dist/spinner/spinner.js +802 -0
- package/dist/spinner/types.d.ts +368 -0
- package/dist/spinner/types.js +18 -0
- package/dist/spinner/with.d.ts +125 -0
- package/dist/spinner/with.js +144 -0
- package/dist/ssri/convert.d.ts +48 -0
- package/dist/{ssri.js → ssri/convert.js} +11 -34
- package/dist/ssri/parse.d.ts +27 -0
- package/dist/ssri/parse.js +40 -0
- package/dist/ssri/validate.d.ts +41 -0
- package/dist/ssri/validate.js +39 -0
- package/dist/stdio/{_stream.d.ts → _internal.d.ts} +10 -5
- package/dist/stdio/{_stream.js → _internal.js} +3 -3
- package/dist/stdio/clear.d.ts +98 -84
- package/dist/stdio/divider.d.ts +100 -78
- package/dist/stdio/divider.js +36 -14
- package/dist/stdio/footer.d.ts +75 -51
- package/dist/stdio/footer.js +28 -18
- package/dist/stdio/header.d.ts +61 -50
- package/dist/stdio/header.js +15 -13
- package/dist/stdio/progress.d.ts +67 -57
- package/dist/stdio/progress.js +55 -51
- package/dist/stdio/prompts.d.ts +147 -100
- package/dist/stdio/prompts.js +23 -15
- package/dist/stdio/stderr.d.ts +86 -84
- package/dist/stdio/stderr.js +6 -6
- package/dist/stdio/stdout.d.ts +77 -78
- package/dist/stdio/stdout.js +6 -6
- package/dist/streams/parallel.d.ts +40 -0
- package/dist/{streams.js → streams/parallel.js} +10 -27
- package/dist/streams/transform.d.ts +20 -0
- package/dist/streams/transform.js +48 -0
- package/dist/strings/format.d.ts +115 -0
- package/dist/strings/format.js +73 -0
- package/dist/strings/predicates.d.ts +52 -0
- package/dist/strings/predicates.js +39 -0
- package/dist/strings/search.d.ts +34 -0
- package/dist/strings/search.js +45 -0
- package/dist/strings/transform.d.ts +80 -0
- package/dist/strings/transform.js +79 -0
- package/dist/strings/types.d.ts +38 -0
- package/dist/strings/types.js +18 -0
- package/dist/strings/width.d.ts +42 -0
- package/dist/strings/width.js +95 -0
- package/dist/tables/bordered.d.ts +44 -0
- package/dist/tables/bordered.js +84 -0
- package/dist/tables/padding.d.ts +18 -0
- package/dist/tables/padding.js +51 -0
- package/dist/tables/simple.d.ts +36 -0
- package/dist/tables/simple.js +73 -0
- package/dist/tables/types.d.ts +15 -0
- package/dist/tables/types.js +18 -0
- package/dist/temporal/instant.d.ts +39 -0
- package/dist/temporal/instant.js +91 -0
- package/dist/temporal/now.d.ts +24 -0
- package/dist/temporal/now.js +34 -0
- package/dist/temporal/slots.d.ts +32 -0
- package/dist/temporal/slots.js +45 -0
- package/dist/temporal/system.d.ts +20 -0
- package/dist/temporal/system.js +42 -0
- package/dist/temporal/temporal.d.ts +22 -0
- package/dist/temporal/temporal.js +43 -0
- package/dist/themes/context.d.ts +65 -48
- package/dist/themes/context.js +6 -2
- package/dist/themes/resolve.d.ts +90 -0
- package/dist/themes/{utils.js → resolve.js} +6 -6
- package/dist/themes/themes.d.ts +14 -16
- package/dist/themes/types.d.ts +93 -35
- package/dist/url/parse.d.ts +26 -0
- package/dist/url/parse.js +57 -0
- package/dist/url/predicates.d.ts +15 -0
- package/dist/url/predicates.js +34 -0
- package/dist/url/search-params.d.ts +71 -0
- package/dist/{url.js → url/search-params.js} +19 -54
- package/dist/url/types.d.ts +20 -0
- package/dist/url/types.js +18 -0
- package/dist/versions/_internal.d.ts +24 -0
- package/dist/versions/_internal.js +37 -0
- package/dist/versions/compare.d.ts +57 -0
- package/dist/versions/compare.js +65 -0
- package/dist/versions/modify.d.ts +28 -0
- package/dist/versions/modify.js +44 -0
- package/dist/versions/parse.d.ts +67 -0
- package/dist/versions/parse.js +77 -0
- package/dist/versions/range.d.ts +45 -0
- package/dist/versions/range.js +50 -0
- package/dist/versions/types.d.ts +13 -0
- package/dist/versions/types.js +18 -0
- package/dist/words/article.d.ts +14 -0
- package/dist/words/article.js +33 -0
- package/dist/words/capitalize.d.ts +15 -0
- package/dist/{words.js → words/capitalize.js} +5 -18
- package/dist/words/pluralize.d.ts +16 -0
- package/dist/words/pluralize.js +34 -0
- package/dist/words/types.d.ts +7 -0
- package/dist/words/types.js +18 -0
- package/package.json +2154 -252
- package/dist/abort.d.ts +0 -27
- package/dist/agent.d.ts +0 -196
- package/dist/agent.js +0 -287
- package/dist/ansi.d.ts +0 -39
- package/dist/archives.d.ts +0 -95
- package/dist/archives.js +0 -408
- package/dist/argv/flags.d.ts +0 -292
- package/dist/argv/flags.js +0 -297
- package/dist/arrays.d.ts +0 -168
- package/dist/bin.d.ts +0 -181
- package/dist/bin.js +0 -544
- package/dist/cacache.d.ts +0 -130
- package/dist/cacache.js +0 -156
- package/dist/cache-with-ttl.d.ts +0 -165
- package/dist/colors.d.ts +0 -49
- package/dist/compression.d.ts +0 -218
- package/dist/constants/process.d.ts +0 -20
- package/dist/crypto.d.ts +0 -36
- package/dist/debug.js +0 -337
- package/dist/env/helpers.d.ts +0 -66
- package/dist/env.d.ts +0 -182
- package/dist/env.js +0 -205
- package/dist/errors.d.ts +0 -100
- package/dist/fs.d.ts +0 -916
- package/dist/fs.js +0 -808
- package/dist/git.d.ts +0 -546
- package/dist/git.js +0 -409
- package/dist/github.d.ts +0 -526
- package/dist/github.js +0 -448
- package/dist/globs.d.ts +0 -119
- package/dist/globs.js +0 -282
- package/dist/http-request.d.ts +0 -951
- package/dist/http-request.js +0 -761
- package/dist/ipc-cli.d.ts +0 -28
- package/dist/ipc.d.ts +0 -76
- package/dist/ipc.js +0 -130
- package/dist/links.d.ts +0 -69
- package/dist/logger.d.ts +0 -993
- package/dist/logger.js +0 -1498
- package/dist/memoization.d.ts +0 -131
- package/dist/memoization.js +0 -243
- package/dist/objects.d.ts +0 -500
- package/dist/objects.js +0 -303
- package/dist/package-extensions.d.ts +0 -9
- package/dist/packages.js +0 -132
- package/dist/performance.d.ts +0 -181
- package/dist/performance.js +0 -233
- package/dist/primordials.d.ts +0 -420
- package/dist/primordials.js +0 -1116
- package/dist/process-lock.d.ts +0 -180
- package/dist/promise-queue.d.ts +0 -48
- package/dist/promises.d.ts +0 -506
- package/dist/promises.js +0 -292
- package/dist/regexps.d.ts +0 -6
- package/dist/releases/github-api.d.ts +0 -56
- package/dist/releases/github-api.js +0 -275
- package/dist/sea/util.d.ts +0 -43
- package/dist/shadow.d.ts +0 -28
- package/dist/signal-exit.d.ts +0 -50
- package/dist/signal-exit.js +0 -247
- package/dist/smol/util.d.ts +0 -87
- package/dist/sorts.d.ts +0 -59
- package/dist/spawn.d.ts +0 -454
- package/dist/spawn.js +0 -334
- package/dist/spinner.d.ts +0 -444
- package/dist/spinner.js +0 -988
- package/dist/ssri.d.ts +0 -90
- package/dist/streams.d.ts +0 -45
- package/dist/strings.d.ts +0 -414
- package/dist/strings.js +0 -218
- package/dist/suppress-warnings.d.ts +0 -81
- package/dist/tables.d.ts +0 -73
- package/dist/tables.js +0 -133
- package/dist/temporary-executor.d.ts +0 -20
- package/dist/themes/utils.d.ts +0 -86
- package/dist/url.d.ts +0 -114
- package/dist/versions.d.ts +0 -207
- package/dist/versions.js +0 -181
- package/dist/words.d.ts +0 -39
package/dist/dlx/manifest.js
CHANGED
|
@@ -26,31 +26,20 @@ __export(manifest_exports, {
|
|
|
26
26
|
isPackageEntry: () => isPackageEntry
|
|
27
27
|
});
|
|
28
28
|
module.exports = __toCommonJS(manifest_exports);
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
29
|
+
var import_message = require("../errors/message");
|
|
30
|
+
var import_read_file = require("../fs/read-file");
|
|
31
|
+
var import_safe = require("../fs/safe");
|
|
32
|
+
var import_default = require("../logger/default");
|
|
32
33
|
var import_socket = require("../paths/socket");
|
|
33
|
-
var
|
|
34
|
-
var
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
return _fs;
|
|
43
|
-
}
|
|
44
|
-
// @__NO_SIDE_EFFECTS__
|
|
45
|
-
function getPath() {
|
|
46
|
-
if (_path === void 0) {
|
|
47
|
-
_path = require("node:path");
|
|
48
|
-
}
|
|
49
|
-
return _path;
|
|
50
|
-
}
|
|
51
|
-
const fs = /* @__PURE__ */ getFs();
|
|
52
|
-
const path = /* @__PURE__ */ getPath();
|
|
53
|
-
const logger = (0, import_logger.getDefaultLogger)();
|
|
34
|
+
var import_lock_instance = require("../process/lock-instance");
|
|
35
|
+
var import_date = require("../primordials/date");
|
|
36
|
+
var import_json = require("../primordials/json");
|
|
37
|
+
var import_object = require("../primordials/object");
|
|
38
|
+
var import_fs = require("../node/fs");
|
|
39
|
+
var import_path = require("../node/path");
|
|
40
|
+
const fs = (0, import_fs.getNodeFs)();
|
|
41
|
+
const path = (0, import_path.getNodePath)();
|
|
42
|
+
const logger = (0, import_default.getDefaultLogger)();
|
|
54
43
|
const MANIFEST_FILE_NAME = ".dlx-manifest.json";
|
|
55
44
|
function isBinaryEntry(entry) {
|
|
56
45
|
return entry.type === "binary";
|
|
@@ -67,6 +56,7 @@ class DlxManifest {
|
|
|
67
56
|
}
|
|
68
57
|
/**
|
|
69
58
|
* Read the entire manifest file.
|
|
59
|
+
*
|
|
70
60
|
* @private
|
|
71
61
|
*/
|
|
72
62
|
readManifest() {
|
|
@@ -74,29 +64,33 @@ class DlxManifest {
|
|
|
74
64
|
if (!fs.existsSync(this.manifestPath)) {
|
|
75
65
|
return { __proto__: null };
|
|
76
66
|
}
|
|
77
|
-
const rawContent = (0,
|
|
78
|
-
const content = (typeof rawContent === "string" ? rawContent :
|
|
67
|
+
const rawContent = (0, import_read_file.readFileUtf8Sync)(this.manifestPath);
|
|
68
|
+
const content = (typeof rawContent === "string" ? rawContent : (
|
|
69
|
+
/* c8 ignore next - readFileUtf8Sync returns string in tests; Buffer fallback. */
|
|
70
|
+
rawContent.toString("utf8")
|
|
71
|
+
)).trim();
|
|
79
72
|
if (!content) {
|
|
80
73
|
return { __proto__: null };
|
|
81
74
|
}
|
|
82
|
-
return (0,
|
|
75
|
+
return (0, import_json.JSONParse)(content);
|
|
83
76
|
} catch (e) {
|
|
84
|
-
logger.warn(`Failed to read manifest: ${(0,
|
|
77
|
+
logger.warn(`Failed to read manifest: ${(0, import_message.errorMessage)(e)}`);
|
|
85
78
|
return { __proto__: null };
|
|
86
79
|
}
|
|
87
80
|
}
|
|
88
81
|
/**
|
|
89
82
|
* Write the manifest file atomically.
|
|
83
|
+
*
|
|
90
84
|
* @private
|
|
91
85
|
*/
|
|
92
86
|
async writeManifest(data) {
|
|
93
87
|
const manifestDir = path.dirname(this.manifestPath);
|
|
94
88
|
try {
|
|
95
|
-
(0,
|
|
89
|
+
(0, import_safe.safeMkdirSync)(manifestDir, { recursive: true });
|
|
96
90
|
} catch (e) {
|
|
97
|
-
logger.warn(`Failed to create manifest directory: ${(0,
|
|
91
|
+
logger.warn(`Failed to create manifest directory: ${(0, import_message.errorMessage)(e)}`);
|
|
98
92
|
}
|
|
99
|
-
const content = (0,
|
|
93
|
+
const content = (0, import_json.JSONStringify)(data, void 0, 2);
|
|
100
94
|
const tempPath = `${this.manifestPath}.tmp`;
|
|
101
95
|
try {
|
|
102
96
|
fs.writeFileSync(tempPath, content, "utf8");
|
|
@@ -104,7 +98,7 @@ class DlxManifest {
|
|
|
104
98
|
} catch (e) {
|
|
105
99
|
try {
|
|
106
100
|
if (fs.existsSync(tempPath)) {
|
|
107
|
-
|
|
101
|
+
(0, import_safe.safeDeleteSync)(tempPath);
|
|
108
102
|
}
|
|
109
103
|
} catch {
|
|
110
104
|
}
|
|
@@ -115,7 +109,7 @@ class DlxManifest {
|
|
|
115
109
|
* Clear cached data for a specific entry.
|
|
116
110
|
*/
|
|
117
111
|
async clear(name) {
|
|
118
|
-
await
|
|
112
|
+
await import_lock_instance.processLock.withLock(this.lockPath, async () => {
|
|
119
113
|
try {
|
|
120
114
|
if (!fs.existsSync(this.manifestPath)) {
|
|
121
115
|
return;
|
|
@@ -124,11 +118,11 @@ class DlxManifest {
|
|
|
124
118
|
if (!content.trim()) {
|
|
125
119
|
return;
|
|
126
120
|
}
|
|
127
|
-
const data =
|
|
121
|
+
const data = (0, import_json.JSONParse)(content);
|
|
128
122
|
delete data[name];
|
|
129
123
|
await this.writeManifest(data);
|
|
130
124
|
} catch (e) {
|
|
131
|
-
logger.warn(`Failed to clear cache for ${name}: ${(0,
|
|
125
|
+
logger.warn(`Failed to clear cache for ${name}: ${(0, import_message.errorMessage)(e)}`);
|
|
132
126
|
}
|
|
133
127
|
});
|
|
134
128
|
}
|
|
@@ -136,18 +130,19 @@ class DlxManifest {
|
|
|
136
130
|
* Clear all cached data.
|
|
137
131
|
*/
|
|
138
132
|
async clearAll() {
|
|
139
|
-
await
|
|
133
|
+
await import_lock_instance.processLock.withLock(this.lockPath, async () => {
|
|
140
134
|
try {
|
|
141
135
|
if (fs.existsSync(this.manifestPath)) {
|
|
142
|
-
|
|
136
|
+
(0, import_safe.safeDeleteSync)(this.manifestPath);
|
|
143
137
|
}
|
|
144
138
|
} catch (e) {
|
|
145
|
-
logger.warn(`Failed to clear all cache: ${(0,
|
|
139
|
+
logger.warn(`Failed to clear all cache: ${(0, import_message.errorMessage)(e)}`);
|
|
146
140
|
}
|
|
147
141
|
});
|
|
148
142
|
}
|
|
149
143
|
/**
|
|
150
144
|
* Get cached update information for a package (legacy format).
|
|
145
|
+
*
|
|
151
146
|
* @deprecated Use getManifestEntry() for new code.
|
|
152
147
|
*/
|
|
153
148
|
get(name) {
|
|
@@ -166,15 +161,18 @@ class DlxManifest {
|
|
|
166
161
|
if (!fs.existsSync(this.manifestPath)) {
|
|
167
162
|
return [];
|
|
168
163
|
}
|
|
169
|
-
const rawContent = (0,
|
|
170
|
-
const content = (typeof rawContent === "string" ? rawContent :
|
|
164
|
+
const rawContent = (0, import_read_file.readFileUtf8Sync)(this.manifestPath);
|
|
165
|
+
const content = (typeof rawContent === "string" ? rawContent : (
|
|
166
|
+
/* c8 ignore next - readFileUtf8Sync returns string in tests; Buffer fallback. */
|
|
167
|
+
rawContent.toString("utf8")
|
|
168
|
+
)).trim();
|
|
171
169
|
if (!content) {
|
|
172
170
|
return [];
|
|
173
171
|
}
|
|
174
|
-
const data = (0,
|
|
175
|
-
return (0,
|
|
172
|
+
const data = (0, import_json.JSONParse)(content);
|
|
173
|
+
return (0, import_object.ObjectKeys)(data);
|
|
176
174
|
} catch (e) {
|
|
177
|
-
logger.warn(`Failed to get package list: ${(0,
|
|
175
|
+
logger.warn(`Failed to get package list: ${(0, import_message.errorMessage)(e)}`);
|
|
178
176
|
return [];
|
|
179
177
|
}
|
|
180
178
|
}
|
|
@@ -196,15 +194,16 @@ class DlxManifest {
|
|
|
196
194
|
if (!record) {
|
|
197
195
|
return false;
|
|
198
196
|
}
|
|
199
|
-
const age = (0,
|
|
197
|
+
const age = (0, import_date.DateNow)() - record.timestampFetch;
|
|
200
198
|
return age < ttlMs;
|
|
201
199
|
}
|
|
202
200
|
/**
|
|
203
201
|
* Store update information for a package (legacy format).
|
|
202
|
+
*
|
|
204
203
|
* @deprecated Use setPackageEntry() for new code.
|
|
205
204
|
*/
|
|
206
205
|
async set(name, record) {
|
|
207
|
-
await
|
|
206
|
+
await import_lock_instance.processLock.withLock(this.lockPath, async () => {
|
|
208
207
|
let data = {
|
|
209
208
|
__proto__: null
|
|
210
209
|
};
|
|
@@ -212,20 +211,20 @@ class DlxManifest {
|
|
|
212
211
|
if (fs.existsSync(this.manifestPath)) {
|
|
213
212
|
const content2 = fs.readFileSync(this.manifestPath, "utf8");
|
|
214
213
|
if (content2.trim()) {
|
|
215
|
-
data =
|
|
214
|
+
data = (0, import_json.JSONParse)(content2);
|
|
216
215
|
}
|
|
217
216
|
}
|
|
218
217
|
} catch (e) {
|
|
219
|
-
logger.warn(`Failed to read existing manifest: ${(0,
|
|
218
|
+
logger.warn(`Failed to read existing manifest: ${(0, import_message.errorMessage)(e)}`);
|
|
220
219
|
}
|
|
221
220
|
data[name] = record;
|
|
222
221
|
const manifestDir = path.dirname(this.manifestPath);
|
|
223
222
|
try {
|
|
224
|
-
(0,
|
|
223
|
+
(0, import_safe.safeMkdirSync)(manifestDir, { recursive: true });
|
|
225
224
|
} catch (e) {
|
|
226
|
-
logger.warn(`Failed to create manifest directory: ${(0,
|
|
225
|
+
logger.warn(`Failed to create manifest directory: ${(0, import_message.errorMessage)(e)}`);
|
|
227
226
|
}
|
|
228
|
-
const content =
|
|
227
|
+
const content = (0, import_json.JSONStringify)(data, null, 2);
|
|
229
228
|
const tempPath = `${this.manifestPath}.tmp`;
|
|
230
229
|
try {
|
|
231
230
|
fs.writeFileSync(tempPath, content, "utf8");
|
|
@@ -233,7 +232,7 @@ class DlxManifest {
|
|
|
233
232
|
} catch (e) {
|
|
234
233
|
try {
|
|
235
234
|
if (fs.existsSync(tempPath)) {
|
|
236
|
-
|
|
235
|
+
(0, import_safe.safeDeleteSync)(tempPath);
|
|
237
236
|
}
|
|
238
237
|
} catch {
|
|
239
238
|
}
|
|
@@ -245,7 +244,7 @@ class DlxManifest {
|
|
|
245
244
|
* Set a binary manifest entry.
|
|
246
245
|
*/
|
|
247
246
|
async setBinaryEntry(spec, cacheKey, details) {
|
|
248
|
-
await
|
|
247
|
+
await import_lock_instance.processLock.withLock(this.lockPath, async () => {
|
|
249
248
|
const data = this.readManifest();
|
|
250
249
|
data[spec] = {
|
|
251
250
|
type: "binary",
|
|
@@ -260,7 +259,7 @@ class DlxManifest {
|
|
|
260
259
|
* Set a package manifest entry.
|
|
261
260
|
*/
|
|
262
261
|
async setPackageEntry(spec, cacheKey, details) {
|
|
263
|
-
await
|
|
262
|
+
await import_lock_instance.processLock.withLock(this.lockPath, async () => {
|
|
264
263
|
const data = this.readManifest();
|
|
265
264
|
data[spec] = {
|
|
266
265
|
type: "package",
|
package/dist/dlx/package.d.ts
CHANGED
|
@@ -1,311 +1,115 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
import type { LockfileSpec } from './lockfile';
|
|
35
|
-
import type { SpawnExtra, SpawnOptions } from '../spawn';
|
|
36
|
-
export interface DownloadPackageResult {
|
|
37
|
-
/** Path to the installed package directory. */
|
|
38
|
-
packageDir: string;
|
|
39
|
-
/** Path to the binary. */
|
|
40
|
-
binaryPath: string;
|
|
41
|
-
/** Whether the package was newly installed. */
|
|
42
|
-
installed: boolean;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Shared install-pinning options used by both {@link DlxPackageOptions}
|
|
46
|
-
* and the lower-level {@link ensurePackageInstalled}.
|
|
2
|
+
* @file DLX package execution — install and execute npm packages. This module
|
|
3
|
+
* provides functionality to install and execute npm packages in the
|
|
4
|
+
* ~/.socket/_dlx directory, similar to npx but with Socket's own cache. Uses
|
|
5
|
+
* content-addressed storage like npm's _npx:
|
|
6
|
+
*
|
|
7
|
+
* - Hash is generated from package spec (name@version)
|
|
8
|
+
* - Each unique spec gets its own directory: ~/.socket/_dlx/<hash>/
|
|
9
|
+
* - Allows caching multiple versions of the same package Concurrency
|
|
10
|
+
* protection:
|
|
11
|
+
* - Uses process-lock to prevent concurrent installation corruption
|
|
12
|
+
* - Lock file created at ~/.socket/_dlx/<hash>/concurrency.lock
|
|
13
|
+
* - Uses npm npx's concurrency.lock naming convention (5s stale, 2s touching)
|
|
14
|
+
* - Prevents multiple processes from corrupting the same package installation
|
|
15
|
+
* Version range handling:
|
|
16
|
+
* - Exact versions (1.0.0) use cache if available
|
|
17
|
+
* - Range versions (^1.0.0, ~1.0.0) auto-force to get latest within range
|
|
18
|
+
* - User can override with explicit force: false Key difference from
|
|
19
|
+
* dlx/binary.ts:
|
|
20
|
+
* - dlx/binary.ts: Downloads standalone binaries from URLs
|
|
21
|
+
* - dlx/package.ts: Installs npm packages from registries Implementation:
|
|
22
|
+
* - Uses Arborist for package installation (like npx, no npm CLI required)
|
|
23
|
+
* - Split into downloadPackage() and executePackage() for flexibility
|
|
24
|
+
* - dlxPackage() combines both for convenience Module shape: this file holds
|
|
25
|
+
* the three async orchestrators (`dlxPackage`, `downloadPackage`,
|
|
26
|
+
* `ensurePackageInstalled`) and the synchronous `executePackage`. The
|
|
27
|
+
* supporting surface lives in sibling leaves and is re-exported here so
|
|
28
|
+
* existing `dlx/package` importers keep working unchanged:
|
|
29
|
+
* - types — `./types`
|
|
30
|
+
* - PURL + firewall — `./firewall`
|
|
31
|
+
* - spec parsing — `./spec`
|
|
32
|
+
* - binary resolution — `./binary-resolution`
|
|
33
|
+
* - lazy `node:fs` / `node:path` + LRU cache — `./_internal`
|
|
47
34
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
* - A bare sha512 SRI string (sniffed as integrity).
|
|
52
|
-
* - A bare sha256 hex string (sniffed as checksum).
|
|
53
|
-
* - An explicit `{ type: 'integrity' | 'checksum', value }` object.
|
|
54
|
-
*/
|
|
55
|
-
hash?: HashSpec | undefined;
|
|
56
|
-
/**
|
|
57
|
-
* Override the install root passed to Arborist. By default, the
|
|
58
|
-
* install root is `~/.socket/_dlx/<cacheKey>/` (or
|
|
59
|
-
* `SOCKET_DLX_DIR/<cacheKey>/`) — keyed by spec so multiple specs
|
|
60
|
-
* share a parent dir without colliding. When `installRoot` is set,
|
|
61
|
-
* the install root is the value verbatim — no cacheKey subdirectory.
|
|
62
|
-
*
|
|
63
|
-
* In both cases the package itself lands at
|
|
64
|
-
* `<installRoot>/node_modules/<packageName>/` with transitive deps as
|
|
65
|
-
* siblings under the same `node_modules/` directory. That layout is a
|
|
66
|
-
* fixed property of Arborist; this option only controls the parent.
|
|
67
|
-
*
|
|
68
|
-
* That means **the caller is responsible for keeping per-spec
|
|
69
|
-
* installs separated** — calling twice with the same `installRoot`
|
|
70
|
-
* but different specs (e.g. `ink@7` and `ink@8`) overwrites the
|
|
71
|
-
* earlier install. Either pass a different `installRoot` per spec or
|
|
72
|
-
* pass `force: true` to accept the overwrite.
|
|
73
|
-
*
|
|
74
|
-
* Pass a sentinel name (e.g. `_dlx`, `_pkg`, `vendor`) — never one
|
|
75
|
-
* that ends in `node_modules`, since that turns the install root
|
|
76
|
-
* into something parent-walking resolvers, IDE indexers, and pnpm
|
|
77
|
-
* hoisting will mistake for a workspace `node_modules/`.
|
|
78
|
-
*
|
|
79
|
-
* Use cases:
|
|
80
|
-
* - Build pipelines that want the install gitignored alongside their
|
|
81
|
-
* own outputs and walkable by tools that resolve through
|
|
82
|
-
* `node_modules` (e.g. esbuild's `nodePaths`).
|
|
83
|
-
* - Tests that need a deterministic, easily-cleaned install path.
|
|
84
|
-
*/
|
|
85
|
-
installRoot?: string | undefined;
|
|
86
|
-
/**
|
|
87
|
-
* Vendored `package-lock.json` to drive a reproducible install. Accepts
|
|
88
|
-
* a filesystem path (sniffed) or raw JSON content (sniffed via leading
|
|
89
|
-
* `{`), or an explicit `{ type: 'path' | 'content', value }` object.
|
|
90
|
-
*
|
|
91
|
-
* When provided, the lockfile is written into the install dir before
|
|
92
|
-
* Arborist runs and a hardened `.npmrc` is placed alongside it.
|
|
93
|
-
*/
|
|
94
|
-
lockfile?: LockfileSpec | undefined;
|
|
95
|
-
}
|
|
96
|
-
export interface DlxPackageOptions extends EnsurePackageInstallOptions {
|
|
97
|
-
/**
|
|
98
|
-
* Package to install (e.g., '@cyclonedx/cdxgen@10.0.0').
|
|
99
|
-
* Aligns with npx --package flag.
|
|
100
|
-
*/
|
|
101
|
-
package: string;
|
|
102
|
-
/**
|
|
103
|
-
* Binary name to execute (optional - auto-detected in most cases).
|
|
104
|
-
*
|
|
105
|
-
* Auto-detection logic:
|
|
106
|
-
* 1. If package has only one binary, uses it automatically
|
|
107
|
-
* 2. Tries user-provided binaryName
|
|
108
|
-
* 3. Tries last segment of package name (e.g., 'cli' from '@socketsecurity/cli')
|
|
109
|
-
* 4. Falls back to first binary
|
|
110
|
-
*
|
|
111
|
-
* Only needed when package has multiple binaries and auto-detection fails.
|
|
112
|
-
*
|
|
113
|
-
* @example
|
|
114
|
-
* // Auto-detected (single binary)
|
|
115
|
-
* { package: '@socketsecurity/cli' } // Finds 'socket' binary automatically
|
|
116
|
-
*
|
|
117
|
-
* // Explicit (multiple binaries)
|
|
118
|
-
* { package: 'some-tool', binaryName: 'specific-tool' }
|
|
119
|
-
*/
|
|
120
|
-
binaryName?: string | undefined;
|
|
121
|
-
/**
|
|
122
|
-
* Force reinstallation even if package exists.
|
|
123
|
-
* Aligns with npx --yes/-y flag behavior.
|
|
124
|
-
*/
|
|
125
|
-
force?: boolean | undefined;
|
|
126
|
-
/**
|
|
127
|
-
* Skip confirmation prompts (auto-approve).
|
|
128
|
-
* Aligns with npx --yes/-y flag.
|
|
129
|
-
*/
|
|
130
|
-
yes?: boolean | undefined;
|
|
131
|
-
/**
|
|
132
|
-
* Suppress output (quiet mode).
|
|
133
|
-
* Aligns with npx --quiet/-q and pnpm --silent/-s flags.
|
|
134
|
-
*/
|
|
135
|
-
quiet?: boolean | undefined;
|
|
136
|
-
/**
|
|
137
|
-
* Additional spawn options for the execution.
|
|
138
|
-
*/
|
|
139
|
-
spawnOptions?: SpawnOptions | undefined;
|
|
140
|
-
}
|
|
141
|
-
export interface DlxPackageResult {
|
|
142
|
-
/** Path to the installed package directory. */
|
|
143
|
-
packageDir: string;
|
|
144
|
-
/** Path to the binary that was executed. */
|
|
145
|
-
binaryPath: string;
|
|
146
|
-
/** Whether the package was newly installed. */
|
|
147
|
-
installed: boolean;
|
|
148
|
-
/** The spawn promise for the running process. */
|
|
149
|
-
spawnPromise: ReturnType<typeof spawn>;
|
|
150
|
-
}
|
|
35
|
+
import { spawn } from '../process/spawn/child';
|
|
36
|
+
import type { DlxPackageOptions, DlxPackageResult, DownloadPackageResult, EnsurePackageInstallOptions } from './types';
|
|
37
|
+
import type { SpawnExtra, SpawnOptions } from '../process/spawn/types';
|
|
151
38
|
/**
|
|
152
39
|
* Execute a package via DLX - install if needed and run its binary.
|
|
153
40
|
*
|
|
154
|
-
* This is the Socket equivalent of npx/pnpm dlx/yarn dlx, but using
|
|
155
|
-
*
|
|
41
|
+
* This is the Socket equivalent of npx/pnpm dlx/yarn dlx, but using our own
|
|
42
|
+
* cache directory (~/.socket/_dlx) and installation logic.
|
|
156
43
|
*
|
|
157
44
|
* Auto-forces reinstall for version ranges to get latest within range.
|
|
158
45
|
*
|
|
159
46
|
* @example
|
|
160
|
-
*
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
* ```
|
|
47
|
+
* ;```typescript
|
|
48
|
+
* // Download and execute cdxgen
|
|
49
|
+
* const result = await dlxPackage(['--version'], {
|
|
50
|
+
* package: '@cyclonedx/cdxgen@10.0.0',
|
|
51
|
+
* })
|
|
52
|
+
* await result.spawnPromise
|
|
53
|
+
* ```
|
|
168
54
|
*/
|
|
169
55
|
export declare function dlxPackage(args: readonly string[] | string[], options: DlxPackageOptions, spawnExtra?: SpawnExtra | undefined): Promise<DlxPackageResult>;
|
|
170
56
|
/**
|
|
171
|
-
* Download and install a package without executing it.
|
|
172
|
-
*
|
|
173
|
-
*
|
|
57
|
+
* Download and install a package without executing it. This is useful for
|
|
58
|
+
* self-update or when you need the package files but don't want to run the
|
|
59
|
+
* binary immediately.
|
|
174
60
|
*
|
|
175
61
|
* @example
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
62
|
+
* ;```typescript
|
|
63
|
+
* // Install @socketsecurity/cli without running it
|
|
64
|
+
* const result = await downloadPackage({
|
|
65
|
+
* package: '@socketsecurity/cli@1.2.0',
|
|
66
|
+
* force: true,
|
|
67
|
+
* })
|
|
68
|
+
* console.log('Installed to:', result.packageDir)
|
|
69
|
+
* console.log('Binary at:', result.binaryPath)
|
|
70
|
+
* ```
|
|
185
71
|
*/
|
|
186
72
|
export declare function downloadPackage(options: DlxPackageOptions): Promise<DownloadPackageResult>;
|
|
187
73
|
/**
|
|
188
|
-
* Install package to ~/.socket/_dlx/<hash>/ if not already installed.
|
|
189
|
-
*
|
|
190
|
-
*
|
|
74
|
+
* Install package to ~/.socket/_dlx/<hash>/ if not already installed. Uses
|
|
75
|
+
* pacote for installation (no npm CLI required). Protected by process lock to
|
|
76
|
+
* prevent concurrent installation corruption.
|
|
191
77
|
*
|
|
192
78
|
* @example
|
|
193
|
-
*
|
|
194
|
-
*
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const { installed, packageDir } = await ensurePackageInstalled(
|
|
195
81
|
* 'prettier',
|
|
196
82
|
* 'prettier@3.0.0',
|
|
197
|
-
* false
|
|
198
|
-
*
|
|
199
|
-
*
|
|
200
|
-
*
|
|
83
|
+
* false,
|
|
84
|
+
* )
|
|
85
|
+
* console.log(`Installed: ${installed}, dir: ${packageDir}`)
|
|
86
|
+
* ```
|
|
201
87
|
*/
|
|
202
88
|
export declare function ensurePackageInstalled(packageName: string, packageSpec: string, force: boolean, install?: EnsurePackageInstallOptions | undefined): Promise<{
|
|
203
89
|
installed: boolean;
|
|
204
90
|
packageDir: string;
|
|
205
91
|
}>;
|
|
206
92
|
/**
|
|
207
|
-
* Execute a package's binary with cross-platform shell handling.
|
|
208
|
-
*
|
|
93
|
+
* Execute a package's binary with cross-platform shell handling. The package
|
|
94
|
+
* must already be installed (use downloadPackage first).
|
|
209
95
|
*
|
|
210
|
-
* On Windows, script files (.bat, .cmd, .ps1) require shell: true.
|
|
211
|
-
*
|
|
96
|
+
* On Windows, script files (.bat, .cmd, .ps1) require shell: true. Matches
|
|
97
|
+
* npm/npx execution behavior.
|
|
212
98
|
*
|
|
213
99
|
* @example
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
*
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
*
|
|
100
|
+
* ;```typescript
|
|
101
|
+
* // Execute an already-installed package
|
|
102
|
+
* const downloaded = await downloadPackage({ package: 'cowsay@1.5.0' })
|
|
103
|
+
* const result = await executePackage(
|
|
104
|
+
* downloaded.binaryPath,
|
|
105
|
+
* ['Hello World'],
|
|
106
|
+
* { stdio: 'inherit' },
|
|
107
|
+
* )
|
|
108
|
+
* ```
|
|
223
109
|
*/
|
|
224
110
|
export declare function executePackage(binaryPath: string, args: readonly string[] | string[], spawnOptions?: SpawnOptions | undefined, spawnExtra?: SpawnExtra | undefined): ReturnType<typeof spawn>;
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
* Resolution strategy (cherry-picked from libnpmexec):
|
|
231
|
-
* 1. Use npm's getBinFromManifest (handles aliases and standard cases)
|
|
232
|
-
* 2. Fall back to user-provided binaryName if npm's strategy fails
|
|
233
|
-
* 3. Try last segment of package name as final fallback
|
|
234
|
-
* 4. Use first binary as last resort
|
|
235
|
-
*
|
|
236
|
-
* @example
|
|
237
|
-
* ```typescript
|
|
238
|
-
* const binPath = findBinaryPath(
|
|
239
|
-
* '/tmp/.socket/_dlx/a1b2c3d4',
|
|
240
|
-
* 'prettier'
|
|
241
|
-
* )
|
|
242
|
-
* console.log(`Binary: ${binPath}`)
|
|
243
|
-
* ```
|
|
244
|
-
*/
|
|
245
|
-
export declare function findBinaryPath(packageDir: string, packageName: string, binaryName?: string): string;
|
|
246
|
-
/**
|
|
247
|
-
* Make all binaries in an installed package executable.
|
|
248
|
-
* Reads the package.json bin field and makes all binaries executable (chmod 0o755).
|
|
249
|
-
* Handles both single binary (string) and multiple binaries (object) formats.
|
|
250
|
-
*
|
|
251
|
-
* Aligns with npm's approach:
|
|
252
|
-
* - Uses 0o755 permission (matches npm's cmd-shim)
|
|
253
|
-
* - Reads bin field from package.json (matches npm's bin-links and libnpmexec)
|
|
254
|
-
* - Handles both string and object bin formats
|
|
255
|
-
*
|
|
256
|
-
* References:
|
|
257
|
-
* - npm cmd-shim: https://github.com/npm/cmd-shim/blob/main/lib/index.js
|
|
258
|
-
* - npm getBinFromManifest: https://github.com/npm/libnpmexec/blob/main/lib/get-bin-from-manifest.js
|
|
259
|
-
*
|
|
260
|
-
* @example
|
|
261
|
-
* ```typescript
|
|
262
|
-
* makePackageBinsExecutable(
|
|
263
|
-
* '/tmp/.socket/_dlx/a1b2c3d4',
|
|
264
|
-
* 'prettier'
|
|
265
|
-
* )
|
|
266
|
-
* ```
|
|
267
|
-
*/
|
|
268
|
-
export declare function makePackageBinsExecutable(packageDir: string, packageName: string): void;
|
|
269
|
-
/**
|
|
270
|
-
* Build a PURL string for an npm package.
|
|
271
|
-
* Follows the PURL spec for the npm type:
|
|
272
|
-
* - Scoped: `@scope/pkg` → `pkg:npm/%40scope/pkg@version`
|
|
273
|
-
* - Unscoped: `pkg` → `pkg:npm/pkg@version`
|
|
274
|
-
*
|
|
275
|
-
*/
|
|
276
|
-
export declare function npmPurl(name: string, version: string): string;
|
|
277
|
-
/**
|
|
278
|
-
* Parse package spec into name and version using npm-package-arg.
|
|
279
|
-
* Examples:
|
|
280
|
-
* - 'lodash@4.17.21' → { name: 'lodash', version: '4.17.21' }
|
|
281
|
-
* - '@scope/pkg@1.0.0' → { name: '@scope/pkg', version: '1.0.0' }
|
|
282
|
-
* - 'lodash' → { name: 'lodash', version: undefined }
|
|
283
|
-
*
|
|
284
|
-
* @example
|
|
285
|
-
* ```typescript
|
|
286
|
-
* parsePackageSpec('lodash@4.17.21')
|
|
287
|
-
* // { name: 'lodash', version: '4.17.21' }
|
|
288
|
-
*
|
|
289
|
-
* parsePackageSpec('@scope/pkg')
|
|
290
|
-
* // { name: '@scope/pkg', version: undefined }
|
|
291
|
-
* ```
|
|
292
|
-
*/
|
|
293
|
-
export declare function parsePackageSpec(spec: string): {
|
|
294
|
-
name: string;
|
|
295
|
-
version: string | undefined;
|
|
296
|
-
};
|
|
297
|
-
/**
|
|
298
|
-
* Resolve binary path with cross-platform wrapper support.
|
|
299
|
-
* On Windows, checks for .cmd, .bat, .ps1, .exe wrappers in order.
|
|
300
|
-
* On Unix, uses path directly.
|
|
301
|
-
*
|
|
302
|
-
* Aligns with npm/npx binary resolution strategy.
|
|
303
|
-
*
|
|
304
|
-
* @example
|
|
305
|
-
* ```typescript
|
|
306
|
-
* const resolved = resolveBinaryPath('/tmp/.socket/_dlx/a1b2c3d4/prettier')
|
|
307
|
-
* // On Windows: may resolve to '.cmd' or '.ps1' wrapper
|
|
308
|
-
* // On Unix: returns the path unchanged
|
|
309
|
-
* ```
|
|
310
|
-
*/
|
|
311
|
-
export declare function resolveBinaryPath(basePath: string): string;
|
|
111
|
+
export { binaryPathCacheSet } from './_internal';
|
|
112
|
+
export { findBinaryPath, makePackageBinsExecutable, resolveBinaryPath, } from './binary-resolution';
|
|
113
|
+
export { checkFirewallPurls, npmPurl } from './firewall';
|
|
114
|
+
export { parsePackageSpec } from './spec';
|
|
115
|
+
export type { DlxPackageOptions, DlxPackageResult, DownloadPackageResult, EnsurePackageInstallOptions, } from './types';
|