@socketsecurity/lib 5.27.0 → 6.0.0
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 +69 -27
- package/README.md +1 -1
- 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.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 +44 -0
- package/dist/bin/check-primordials.js +245 -0
- package/dist/bin/check.d.ts +10 -0
- package/dist/bin/check.js +77 -0
- 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 +13 -0
- package/dist/bin/socket-lib.js +79 -0
- 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/checks/primordials.d.ts +118 -0
- package/dist/checks/primordials.js +293 -0
- 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/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/brotli.js +147 -0
- 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 +26 -36
- 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 +9 -8
- 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 +38 -319
- 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 +51 -52
- package/dist/dlx/package.d.ts +83 -249
- package/dist/dlx/package.js +48 -268
- 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/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 +36 -0
- package/dist/external-tools/janus/asset-names.js +52 -0
- package/dist/external-tools/janus/from-download.d.ts +26 -0
- package/dist/external-tools/janus/from-download.js +65 -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.d.ts +72 -0
- package/dist/fs/read-json.js +120 -0
- package/dist/fs/safe.d.ts +153 -0
- package/dist/fs/safe.js +182 -0
- package/dist/fs/types.d.ts +277 -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/glob.d.ts +59 -0
- package/dist/globs/glob.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/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 +284 -0
- package/dist/http-request/request-types.d.ts +238 -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 +106 -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/link.d.ts +65 -0
- package/dist/{links.js → links/link.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/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/logger.d.ts +405 -0
- package/dist/logger/logger.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 +50 -57
- 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} +12 -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 +17 -0
- package/dist/primordials/globals.js +54 -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} +97 -105
- package/dist/process/lock-types.d.ts +43 -0
- package/dist/process/lock-types.js +18 -0
- package/dist/process/transient.d.ts +22 -0
- package/dist/{temporary-executor.js → process/transient.js} +8 -8
- package/dist/promise-queue/queue.d.ts +51 -0
- package/dist/{promise-queue.js → promise-queue/queue.js} +27 -22
- package/dist/promise-queue/types.d.ts +10 -0
- package/dist/promise-queue/types.js +18 -0
- 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/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 +190 -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 +21 -35
- 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 +22 -34
- 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/signal-exit/_internal.d.ts +68 -0
- package/dist/signal-exit/_internal.js +127 -0
- package/dist/signal-exit/intercept.d.ts +8 -0
- package/dist/signal-exit/intercept.js +75 -0
- package/dist/signal-exit/lifecycle.d.ts +28 -0
- package/dist/signal-exit/lifecycle.js +109 -0
- package/dist/signal-exit/register.d.ts +20 -0
- package/dist/signal-exit/register.js +58 -0
- package/dist/signal-exit/signals.d.ts +16 -0
- package/dist/signal-exit/signals.js +34 -0
- package/dist/signal-exit/types.d.ts +21 -0
- package/dist/signal-exit/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/spawn/_internal.d.ts +24 -0
- package/dist/spawn/_internal.js +62 -0
- package/dist/spawn/errors.d.ts +45 -0
- package/dist/spawn/errors.js +118 -0
- package/dist/spawn/spawn.d.ts +134 -0
- package/dist/{spawn.js → spawn/spawn.js} +29 -147
- package/dist/spawn/stdio.d.ts +37 -0
- package/dist/spawn/stdio.js +38 -0
- package/dist/spawn/types.d.ts +325 -0
- package/dist/spawn/types.js +18 -0
- package/dist/spinner/format.d.ts +64 -0
- package/dist/spinner/format.js +83 -0
- package/dist/spinner/registry.d.ts +49 -0
- package/dist/spinner/registry.js +70 -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/ttl-cache/cache.d.ts +29 -0
- package/dist/{cache-with-ttl.js → ttl-cache/cache.js} +45 -37
- package/dist/ttl-cache/types.d.ts +109 -0
- package/dist/ttl-cache/types.js +18 -0
- 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/warnings/event-target.d.ts +31 -0
- package/dist/warnings/event-target.js +43 -0
- package/dist/warnings/suppress.d.ts +65 -0
- package/dist/{suppress-warnings.js → warnings/suppress.js} +16 -28
- 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 +1939 -244
- 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/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/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
|
@@ -1,31 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
2
|
+
* @file GitHub release archive download + extraction.
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import type { ArchiveFormat } from '../archives/types';
|
|
5
5
|
import type { AssetPattern, RepoConfig } from './github-types';
|
|
6
6
|
/**
|
|
7
|
-
* Download and extract an archive from a GitHub release.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* Download and extract an archive from a GitHub release. Supports zip, tar,
|
|
8
|
+
* tar.gz, and tgz formats. Automatically handles downloading, extracting, and
|
|
9
|
+
* cleanup.
|
|
10
10
|
*
|
|
11
|
-
* @
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* @example
|
|
12
|
+
* ;```typescript
|
|
13
|
+
* const outputDir = await downloadAndExtractArchive(
|
|
14
|
+
* 'v1.0.0',
|
|
15
|
+
* 'data-*.tar.gz',
|
|
16
|
+
* '/tmp/data',
|
|
17
|
+
* { owner: 'SocketDev', repo: 'socket-btm' },
|
|
18
|
+
* )
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @param tag - Release tag name.
|
|
22
|
+
* @param assetPattern - Asset name or pattern (glob string, prefix/suffix
|
|
23
|
+
* object, or RegExp)
|
|
24
|
+
* @param outputDir - Directory to extract the archive contents to.
|
|
14
25
|
* @param repoConfig - Repository configuration (owner/repo)
|
|
15
|
-
* @param options - Additional options
|
|
16
|
-
* @param options.quiet - Suppress log messages
|
|
17
|
-
* @param options.cleanup - Remove downloaded archive after extraction (default:
|
|
18
|
-
*
|
|
26
|
+
* @param options - Additional options.
|
|
27
|
+
* @param options.quiet - Suppress log messages.
|
|
28
|
+
* @param options.cleanup - Remove downloaded archive after extraction (default:
|
|
29
|
+
* true)
|
|
30
|
+
* @param options.strip - Strip leading path components (like tar
|
|
31
|
+
* --strip-components)
|
|
19
32
|
* @param options.format - Archive format (auto-detected if not specified)
|
|
20
|
-
* @returns Path to the extraction directory
|
|
21
33
|
*
|
|
22
|
-
* @
|
|
23
|
-
* ```typescript
|
|
24
|
-
* const outputDir = await downloadAndExtractArchive(
|
|
25
|
-
* 'v1.0.0', 'data-*.tar.gz', '/tmp/data',
|
|
26
|
-
* { owner: 'SocketDev', repo: 'socket-btm' },
|
|
27
|
-
* )
|
|
28
|
-
* ```
|
|
34
|
+
* @returns Path to the extraction directory
|
|
29
35
|
*/
|
|
30
36
|
export declare function downloadAndExtractArchive(tag: string, assetPattern: string | AssetPattern, outputDir: string, repoConfig: RepoConfig, options?: {
|
|
31
37
|
cleanup?: boolean;
|
|
@@ -34,25 +40,30 @@ export declare function downloadAndExtractArchive(tag: string, assetPattern: str
|
|
|
34
40
|
strip?: number;
|
|
35
41
|
}): Promise<string>;
|
|
36
42
|
/**
|
|
37
|
-
* Download and extract a zip file from a GitHub release.
|
|
38
|
-
*
|
|
43
|
+
* Download and extract a zip file from a GitHub release. Automatically handles
|
|
44
|
+
* downloading, extracting, and cleanup.
|
|
39
45
|
*
|
|
40
|
-
* @
|
|
41
|
-
*
|
|
42
|
-
*
|
|
46
|
+
* @example
|
|
47
|
+
* ;```typescript
|
|
48
|
+
* const outputDir = await downloadAndExtractZip(
|
|
49
|
+
* 'v1.0.0',
|
|
50
|
+
* 'models-*.zip',
|
|
51
|
+
* '/tmp/models',
|
|
52
|
+
* { owner: 'SocketDev', repo: 'socket-btm' },
|
|
53
|
+
* )
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @param tag - Release tag name.
|
|
57
|
+
* @param assetPattern - Asset name or pattern (glob string, prefix/suffix
|
|
58
|
+
* object, or RegExp)
|
|
59
|
+
* @param outputDir - Directory to extract the zip contents to.
|
|
43
60
|
* @param repoConfig - Repository configuration (owner/repo)
|
|
44
|
-
* @param options - Additional options
|
|
45
|
-
* @param options.quiet - Suppress log messages
|
|
46
|
-
* @param options.cleanup - Remove downloaded zip file after extraction
|
|
47
|
-
*
|
|
61
|
+
* @param options - Additional options.
|
|
62
|
+
* @param options.quiet - Suppress log messages.
|
|
63
|
+
* @param options.cleanup - Remove downloaded zip file after extraction
|
|
64
|
+
* (default: true)
|
|
48
65
|
*
|
|
49
|
-
* @
|
|
50
|
-
* ```typescript
|
|
51
|
-
* const outputDir = await downloadAndExtractZip(
|
|
52
|
-
* 'v1.0.0', 'models-*.zip', '/tmp/models',
|
|
53
|
-
* { owner: 'SocketDev', repo: 'socket-btm' },
|
|
54
|
-
* )
|
|
55
|
-
* ```
|
|
66
|
+
* @returns Path to the extraction directory
|
|
56
67
|
*/
|
|
57
68
|
export declare function downloadAndExtractZip(tag: string, assetPattern: string | AssetPattern, outputDir: string, repoConfig: RepoConfig, options?: {
|
|
58
69
|
cleanup?: boolean;
|
|
@@ -24,38 +24,23 @@ __export(github_archives_exports, {
|
|
|
24
24
|
downloadAndExtractZip: () => downloadAndExtractZip
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(github_archives_exports);
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
var
|
|
27
|
+
var import_detect = require("../archives/detect");
|
|
28
|
+
var import_extract = require("../archives/extract");
|
|
29
|
+
var import_safe = require("../fs/safe");
|
|
30
|
+
var import_logger = require("../logger/logger");
|
|
31
|
+
var import_error = require("../primordials/error");
|
|
31
32
|
var import_github_downloads = require("./github-downloads");
|
|
33
|
+
var import_path = require("../node/path");
|
|
32
34
|
const logger = (0, import_logger.getDefaultLogger)();
|
|
33
|
-
|
|
34
|
-
let _path;
|
|
35
|
-
// @__NO_SIDE_EFFECTS__
|
|
36
|
-
function getFs() {
|
|
37
|
-
if (_fs === void 0) {
|
|
38
|
-
_fs = require("node:fs");
|
|
39
|
-
}
|
|
40
|
-
return _fs;
|
|
41
|
-
}
|
|
42
|
-
// @__NO_SIDE_EFFECTS__
|
|
43
|
-
function getPath() {
|
|
44
|
-
if (_path === void 0) {
|
|
45
|
-
_path = require("node:path");
|
|
46
|
-
}
|
|
47
|
-
return _path;
|
|
48
|
-
}
|
|
49
|
-
async function downloadAndExtractArchive(tag, assetPattern, outputDir, repoConfig, options = {}) {
|
|
35
|
+
async function downloadAndExtractArchive(tag, assetPattern, outputDir, repoConfig, options = { __proto__: null }) {
|
|
50
36
|
const { cleanup = true, format, quiet = false, strip } = options;
|
|
51
|
-
const path =
|
|
52
|
-
|
|
53
|
-
await (0, import_fs.safeMkdir)(outputDir);
|
|
37
|
+
const path = (0, import_path.getNodePath)();
|
|
38
|
+
await (0, import_safe.safeMkdir)(outputDir);
|
|
54
39
|
let ext = ".archive";
|
|
55
40
|
if (format) {
|
|
56
41
|
ext = format === "tar.gz" ? ".tar.gz" : `.${format}`;
|
|
57
42
|
} else if (typeof assetPattern === "string") {
|
|
58
|
-
const detectedFormat = (0,
|
|
43
|
+
const detectedFormat = (0, import_detect.detectArchiveFormat)(assetPattern);
|
|
59
44
|
if (detectedFormat) {
|
|
60
45
|
ext = detectedFormat === "tar.gz" ? ".tar.gz" : `.${detectedFormat}`;
|
|
61
46
|
}
|
|
@@ -71,16 +56,16 @@ async function downloadAndExtractArchive(tag, assetPattern, outputDir, repoConfi
|
|
|
71
56
|
logger.info(`Extracting archive to ${outputDir}...`);
|
|
72
57
|
}
|
|
73
58
|
try {
|
|
74
|
-
await (0,
|
|
59
|
+
await (0, import_extract.extractArchive)(archivePath, outputDir, { quiet, strip });
|
|
75
60
|
if (!quiet) {
|
|
76
61
|
logger.info(`Extracted archive contents to ${outputDir}`);
|
|
77
62
|
}
|
|
78
63
|
} catch (cause) {
|
|
79
|
-
throw new
|
|
64
|
+
throw new import_error.ErrorCtor(`Failed to extract archive: ${archivePath}`, { cause });
|
|
80
65
|
} finally {
|
|
81
66
|
if (cleanup) {
|
|
82
67
|
try {
|
|
83
|
-
await
|
|
68
|
+
await (0, import_safe.safeDelete)(archivePath);
|
|
84
69
|
if (!quiet) {
|
|
85
70
|
logger.info("Cleaned up temporary archive file");
|
|
86
71
|
}
|
|
@@ -93,11 +78,12 @@ async function downloadAndExtractArchive(tag, assetPattern, outputDir, repoConfi
|
|
|
93
78
|
}
|
|
94
79
|
return outputDir;
|
|
95
80
|
}
|
|
96
|
-
async function downloadAndExtractZip(tag, assetPattern, outputDir, repoConfig, options = {
|
|
81
|
+
async function downloadAndExtractZip(tag, assetPattern, outputDir, repoConfig, options = {
|
|
82
|
+
__proto__: null
|
|
83
|
+
}) {
|
|
97
84
|
const { cleanup = true, quiet = false } = options;
|
|
98
|
-
const path =
|
|
99
|
-
|
|
100
|
-
await (0, import_fs.safeMkdir)(outputDir);
|
|
85
|
+
const path = (0, import_path.getNodePath)();
|
|
86
|
+
await (0, import_safe.safeMkdir)(outputDir);
|
|
101
87
|
const zipPath = path.join(outputDir, "__temp_download__.zip");
|
|
102
88
|
if (!quiet) {
|
|
103
89
|
logger.info(`Downloading zip asset from release ${tag}...`);
|
|
@@ -107,16 +93,16 @@ async function downloadAndExtractZip(tag, assetPattern, outputDir, repoConfig, o
|
|
|
107
93
|
logger.info(`Extracting zip to ${outputDir}...`);
|
|
108
94
|
}
|
|
109
95
|
try {
|
|
110
|
-
await (0,
|
|
96
|
+
await (0, import_extract.extractArchive)(zipPath, outputDir, { quiet });
|
|
111
97
|
if (!quiet) {
|
|
112
98
|
logger.info(`Extracted zip contents to ${outputDir}`);
|
|
113
99
|
}
|
|
114
100
|
} catch (cause) {
|
|
115
|
-
throw new
|
|
101
|
+
throw new import_error.ErrorCtor(`Failed to extract zip file: ${zipPath}`, { cause });
|
|
116
102
|
} finally {
|
|
117
103
|
if (cleanup) {
|
|
118
104
|
try {
|
|
119
|
-
await
|
|
105
|
+
await (0, import_safe.safeDelete)(zipPath);
|
|
120
106
|
if (!quiet) {
|
|
121
107
|
logger.info("Cleaned up temporary zip file");
|
|
122
108
|
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Per-release asset-URL discovery for GitHub releases. Split out of
|
|
3
|
+
* `releases/github-api.ts` for size hygiene. Holds the "fetch this specific
|
|
4
|
+
* tag's downloadable asset URL" path (REST with GraphQL fallback for ES-index
|
|
5
|
+
* incidents):
|
|
6
|
+
*
|
|
7
|
+
* - `fetchReleaseAssetsViaGraphQL` — GraphQL fallback when REST's per-tag
|
|
8
|
+
* endpoint returns 200 + empty body
|
|
9
|
+
* - `getReleaseAssetUrl` — REST per-tag lookup + pattern matcher + GraphQL
|
|
10
|
+
* fallback The list-all-releases path lives in `./github-listing`.
|
|
11
|
+
*/
|
|
12
|
+
import type { AssetPattern, RepoConfig } from './github-types';
|
|
13
|
+
/**
|
|
14
|
+
* Fetch the assets of a single release identified by tag via GraphQL.
|
|
15
|
+
*
|
|
16
|
+
* Why this exists: `getReleaseAssetUrl` uses REST `/releases/tags/:tag` to look
|
|
17
|
+
* up a single release and find a downloadable asset. During GitHub incidents
|
|
18
|
+
* that endpoint can return 200 + empty body the same way the listing endpoint
|
|
19
|
+
* does (the per-tag lookup joins against the same listing index for asset
|
|
20
|
+
* discovery). This helper hits GraphQL `repository.release(tagName)` which uses
|
|
21
|
+
* a different backend.
|
|
22
|
+
*
|
|
23
|
+
* Field shape diff we normalize: GraphQL returns REST equivalent
|
|
24
|
+
* `releaseAssets.nodes[].downloadUrl` `assets[].browser_download_url`
|
|
25
|
+
*
|
|
26
|
+
* Same URL, different field name and one extra connection-wrapper level. The
|
|
27
|
+
* mapping at the bottom converts so the asset-matcher in `getReleaseAssetUrl`
|
|
28
|
+
* can run unchanged.
|
|
29
|
+
*
|
|
30
|
+
* Return contract:
|
|
31
|
+
*
|
|
32
|
+
* - Array of assets (REST shape) when the release exists.
|
|
33
|
+
* - `undefined` when the release with that tag genuinely doesn't exist (GraphQL
|
|
34
|
+
* returned `release: null` over the wire — we translate that to undefined per
|
|
35
|
+
* the codebase convention). The caller throws a clean "tag not found" error
|
|
36
|
+
* in that case.
|
|
37
|
+
* - Throws on transport errors (non-OK HTTP, GraphQL errors[], or even the
|
|
38
|
+
* GraphQL backend ALSO returning empty body — at that point both transports
|
|
39
|
+
* are degraded and we want the pRetry wrapper to back off and retry).
|
|
40
|
+
*/
|
|
41
|
+
export declare function fetchReleaseAssetsViaGraphQL(owner: string, repo: string, tag: string): Promise<Array<{
|
|
42
|
+
name: string;
|
|
43
|
+
browser_download_url: string;
|
|
44
|
+
}> | undefined>;
|
|
45
|
+
/**
|
|
46
|
+
* Get download URL for a specific release asset. Supports pattern matching for
|
|
47
|
+
* dynamic asset discovery.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ;```typescript
|
|
51
|
+
* const url = await getReleaseAssetUrl('v1.0.0', 'tool-linux-x64', {
|
|
52
|
+
* owner: 'SocketDev',
|
|
53
|
+
* repo: 'socket-btm',
|
|
54
|
+
* })
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @param tag - Release tag name.
|
|
58
|
+
* @param assetPattern - Asset name or pattern (glob string, prefix/suffix
|
|
59
|
+
* object, or RegExp)
|
|
60
|
+
* @param repoConfig - Repository configuration (owner/repo)
|
|
61
|
+
* @param options - Additional options.
|
|
62
|
+
* @param options.nothrow - If true, return undefined instead of throwing when
|
|
63
|
+
* both REST and GraphQL backends are degraded. Default: false.
|
|
64
|
+
*
|
|
65
|
+
* @returns Browser download URL for the asset, or undefined when not found.
|
|
66
|
+
*
|
|
67
|
+
* @throws {Error} If both REST and GraphQL backends are degraded and nothrow is
|
|
68
|
+
* false.
|
|
69
|
+
*/
|
|
70
|
+
export declare function getReleaseAssetUrl(tag: string, assetPattern: string | AssetPattern, repoConfig: RepoConfig, options?: {
|
|
71
|
+
nothrow?: boolean;
|
|
72
|
+
}): Promise<string | undefined>;
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with esbuild */
|
|
3
|
+
"use strict";
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var github_asset_url_exports = {};
|
|
22
|
+
__export(github_asset_url_exports, {
|
|
23
|
+
fetchReleaseAssetsViaGraphQL: () => fetchReleaseAssetsViaGraphQL,
|
|
24
|
+
getReleaseAssetUrl: () => getReleaseAssetUrl
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(github_asset_url_exports);
|
|
27
|
+
var import_request = require("../http-request/request");
|
|
28
|
+
var import_retry = require("../promises/retry");
|
|
29
|
+
var import_array = require("../primordials/array");
|
|
30
|
+
var import_error = require("../primordials/error");
|
|
31
|
+
var import_json = require("../primordials/json");
|
|
32
|
+
var import_object = require("../primordials/object");
|
|
33
|
+
var import_github_assets = require("./github-assets");
|
|
34
|
+
var import_github_auth = require("./github-auth");
|
|
35
|
+
const RETRY_CONFIG = (0, import_object.ObjectFreeze)({
|
|
36
|
+
__proto__: null,
|
|
37
|
+
// Exponential backoff: delay doubles with each retry (5s, 10s, 20s).
|
|
38
|
+
backoffFactor: 2,
|
|
39
|
+
// Initial delay before first retry.
|
|
40
|
+
baseDelayMs: 5e3,
|
|
41
|
+
// Maximum number of retry attempts (excluding initial request).
|
|
42
|
+
retries: 2
|
|
43
|
+
});
|
|
44
|
+
async function fetchReleaseAssetsViaGraphQL(owner, repo, tag) {
|
|
45
|
+
const response = await (0, import_request.httpRequest)("https://api.github.com/graphql", {
|
|
46
|
+
body: (0, import_json.JSONStringify)({
|
|
47
|
+
query: `query($owner: String!, $repo: String!, $tag: String!) {
|
|
48
|
+
repository(owner: $owner, name: $repo) {
|
|
49
|
+
release(tagName: $tag) {
|
|
50
|
+
tagName
|
|
51
|
+
releaseAssets(first: 100) { nodes { name downloadUrl } }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}`,
|
|
55
|
+
variables: { owner, repo, tag }
|
|
56
|
+
}),
|
|
57
|
+
headers: { ...(0, import_github_auth.getAuthHeaders)(), "Content-Type": "application/json" },
|
|
58
|
+
method: "POST"
|
|
59
|
+
});
|
|
60
|
+
if (!response.ok) {
|
|
61
|
+
throw new import_error.ErrorCtor(
|
|
62
|
+
`Failed to fetch ${owner}/${repo} release ${tag} (GraphQL): ${response.status} ${response.statusText}`
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
if (response.body.byteLength === 0) {
|
|
66
|
+
throw new import_error.ErrorCtor(
|
|
67
|
+
`Failed to fetch ${owner}/${repo} release ${tag}: GraphQL returned empty body`
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
let parsed;
|
|
71
|
+
try {
|
|
72
|
+
parsed = (0, import_json.JSONParse)(response.body.toString("utf8"));
|
|
73
|
+
} catch (cause) {
|
|
74
|
+
throw new import_error.ErrorCtor(
|
|
75
|
+
`Failed to parse ${owner}/${repo} release ${tag} response (GraphQL)`,
|
|
76
|
+
{ cause }
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
if (parsed.errors?.length) {
|
|
80
|
+
throw new import_error.ErrorCtor(
|
|
81
|
+
`GraphQL repository.release(${owner}/${repo}, ${tag}) returned errors: ${parsed.errors.map((e) => e.message).join("; ")}`
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
const release = parsed.data?.repository?.release;
|
|
85
|
+
if (!release) {
|
|
86
|
+
return void 0;
|
|
87
|
+
}
|
|
88
|
+
return (release.releaseAssets?.nodes ?? []).map((n) => ({
|
|
89
|
+
browser_download_url: n.downloadUrl,
|
|
90
|
+
name: n.name
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
93
|
+
async function getReleaseAssetUrl(tag, assetPattern, repoConfig, options = {}) {
|
|
94
|
+
const { nothrow = false } = options;
|
|
95
|
+
const { owner, repo } = repoConfig;
|
|
96
|
+
const isMatch = typeof assetPattern === "string" && !assetPattern.includes("*") && !assetPattern.includes("{") ? (input) => input === assetPattern : (0, import_github_assets.createAssetMatcher)(assetPattern);
|
|
97
|
+
const assets = await (0, import_retry.pRetry)(async () => {
|
|
98
|
+
const response = await (0, import_request.httpRequest)(
|
|
99
|
+
`https://api.github.com/repos/${owner}/${repo}/releases/tags/${tag}`,
|
|
100
|
+
{
|
|
101
|
+
headers: (0, import_github_auth.getAuthHeaders)()
|
|
102
|
+
}
|
|
103
|
+
);
|
|
104
|
+
if (!response.ok) {
|
|
105
|
+
throw new import_error.ErrorCtor(
|
|
106
|
+
`Failed to fetch ${owner}/${repo} release ${tag}: ${response.status}`
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
let assets2;
|
|
110
|
+
if (response.body.byteLength === 0) {
|
|
111
|
+
let fallbackAssets;
|
|
112
|
+
try {
|
|
113
|
+
fallbackAssets = await fetchReleaseAssetsViaGraphQL(owner, repo, tag);
|
|
114
|
+
} catch (cause) {
|
|
115
|
+
if (nothrow) {
|
|
116
|
+
return void 0;
|
|
117
|
+
}
|
|
118
|
+
throw new import_error.ErrorCtor(
|
|
119
|
+
`Failed to fetch ${owner}/${repo} release ${tag}: both REST and GraphQL backends degraded`,
|
|
120
|
+
{ cause }
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
if (fallbackAssets === void 0) {
|
|
124
|
+
if (nothrow) {
|
|
125
|
+
return void 0;
|
|
126
|
+
}
|
|
127
|
+
throw new import_error.ErrorCtor(`Release ${tag} not found in ${owner}/${repo}`);
|
|
128
|
+
}
|
|
129
|
+
assets2 = fallbackAssets;
|
|
130
|
+
} else {
|
|
131
|
+
let release;
|
|
132
|
+
try {
|
|
133
|
+
release = (0, import_json.JSONParse)(response.body.toString("utf8"));
|
|
134
|
+
} catch (cause) {
|
|
135
|
+
throw new import_error.ErrorCtor(
|
|
136
|
+
`Failed to parse ${owner}/${repo} release ${tag} response`,
|
|
137
|
+
{ cause }
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
if (!(0, import_array.ArrayIsArray)(release.assets)) {
|
|
141
|
+
throw new import_error.ErrorCtor(`Release ${tag} has no assets in ${owner}/${repo}`);
|
|
142
|
+
}
|
|
143
|
+
assets2 = release.assets;
|
|
144
|
+
}
|
|
145
|
+
return assets2;
|
|
146
|
+
}, RETRY_CONFIG);
|
|
147
|
+
if (!assets) {
|
|
148
|
+
if (nothrow) {
|
|
149
|
+
return void 0;
|
|
150
|
+
}
|
|
151
|
+
throw new import_error.ErrorCtor(`Release ${tag} not found in ${owner}/${repo}`);
|
|
152
|
+
}
|
|
153
|
+
const asset = assets.find((a) => isMatch(a.name));
|
|
154
|
+
if (!asset) {
|
|
155
|
+
if (nothrow) {
|
|
156
|
+
return void 0;
|
|
157
|
+
}
|
|
158
|
+
const patternDesc = typeof assetPattern === "string" ? assetPattern : "matching pattern";
|
|
159
|
+
throw new import_error.ErrorCtor(`Asset ${patternDesc} not found in release ${tag}`);
|
|
160
|
+
}
|
|
161
|
+
return asset.browser_download_url;
|
|
162
|
+
}
|
|
163
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
164
|
+
0 && (module.exports = {
|
|
165
|
+
fetchReleaseAssetsViaGraphQL,
|
|
166
|
+
getReleaseAssetUrl
|
|
167
|
+
});
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
2
|
+
* @file Asset matching helpers for GitHub releases.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* Create a matcher function for a pattern using picomatch for glob patterns
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @param pattern - Pattern to match (string glob, prefix/suffix object, or RegExp)
|
|
9
|
-
* @returns Function that tests if a string matches the pattern
|
|
5
|
+
* Create a matcher function for a pattern using picomatch for glob patterns or
|
|
6
|
+
* simple prefix/suffix matching for object patterns.
|
|
10
7
|
*
|
|
11
8
|
* @example
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
9
|
+
* ;```typescript
|
|
10
|
+
* const isMatch = createAssetMatcher('tool-*-linux-x64')
|
|
11
|
+
* isMatch('tool-v1.0-linux-x64') // true
|
|
12
|
+
* isMatch('tool-v1.0-darwin-arm64') // false
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* @param pattern - Pattern to match (string glob, prefix/suffix object, or
|
|
16
|
+
* RegExp)
|
|
17
|
+
*
|
|
18
|
+
* @returns Function that tests if a string matches the pattern
|
|
17
19
|
*/
|
|
18
20
|
export declare function createAssetMatcher(pattern: string | {
|
|
19
21
|
prefix: string;
|
|
@@ -34,7 +34,7 @@ __export(github_assets_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(github_assets_exports);
|
|
36
36
|
var import_picomatch = __toESM(require("../external/picomatch"));
|
|
37
|
-
var
|
|
37
|
+
var import_string = require("../primordials/string");
|
|
38
38
|
function createAssetMatcher(pattern) {
|
|
39
39
|
if (typeof pattern === "string") {
|
|
40
40
|
const isMatch = (0, import_picomatch.default)(pattern);
|
|
@@ -44,7 +44,7 @@ function createAssetMatcher(pattern) {
|
|
|
44
44
|
return (input) => pattern.test(input);
|
|
45
45
|
}
|
|
46
46
|
const { prefix, suffix } = pattern;
|
|
47
|
-
return (input) => (0,
|
|
47
|
+
return (input) => (0, import_string.StringPrototypeStartsWith)(input, prefix) && (0, import_string.StringPrototypeEndsWith)(input, suffix);
|
|
48
48
|
}
|
|
49
49
|
// Annotate the CommonJS export names for ESM import in node:
|
|
50
50
|
0 && (module.exports = {
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
2
|
+
* @file GitHub API authentication header helpers.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
|
-
* Get GitHub authentication headers if token is available.
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @returns Headers object with Authorization header if token exists.
|
|
5
|
+
* Get GitHub authentication headers if token is available. Checks GH_TOKEN or
|
|
6
|
+
* GITHUB_TOKEN environment variables.
|
|
9
7
|
*
|
|
10
8
|
* @example
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
9
|
+
* ;```typescript
|
|
10
|
+
* const headers = getAuthHeaders()
|
|
11
|
+
* // { Accept: 'application/vnd.github+json', Authorization: 'Bearer ...' }
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @returns Headers object with Authorization header if token exists.
|
|
15
15
|
*/
|
|
16
16
|
export declare function getAuthHeaders(): Record<string, string>;
|
|
@@ -1,41 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @
|
|
2
|
+
* @file GitHub release asset downloads.
|
|
3
3
|
*/
|
|
4
4
|
import type { AssetPattern, DownloadGitHubReleaseConfig, RepoConfig } from './github-types';
|
|
5
5
|
/**
|
|
6
6
|
* Download a binary from any GitHub repository with version caching.
|
|
7
7
|
*
|
|
8
|
-
* @param config - Download configuration
|
|
9
|
-
* @returns Path to the downloaded binary
|
|
10
|
-
*
|
|
11
8
|
* @example
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
9
|
+
* ;```typescript
|
|
10
|
+
* const binaryPath = await downloadGitHubRelease({
|
|
11
|
+
* owner: 'SocketDev',
|
|
12
|
+
* repo: 'socket-btm',
|
|
13
|
+
* toolName: 'lief',
|
|
14
|
+
* toolPrefix: 'lief-',
|
|
15
|
+
* assetName: 'lief-linux-x64',
|
|
16
|
+
* binaryName: 'lief',
|
|
17
|
+
* platformArch: 'linux-x64',
|
|
18
|
+
* })
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @param config - Download configuration.
|
|
22
|
+
*
|
|
23
|
+
* @returns Path to the downloaded binary
|
|
20
24
|
*/
|
|
21
25
|
export declare function downloadGitHubRelease(config: DownloadGitHubReleaseConfig): Promise<string>;
|
|
22
26
|
/**
|
|
23
|
-
* Download a specific release asset.
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* @param tag - Release tag name
|
|
27
|
-
* @param assetPattern - Asset name or pattern (glob string, prefix/suffix object, or RegExp)
|
|
28
|
-
* @param outputPath - Path to write the downloaded file
|
|
29
|
-
* @param repoConfig - Repository configuration (owner/repo)
|
|
30
|
-
* @param options - Additional options
|
|
27
|
+
* Download a specific release asset. Supports pattern matching for dynamic
|
|
28
|
+
* asset discovery.
|
|
31
29
|
*
|
|
32
30
|
* @example
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
31
|
+
* ;```typescript
|
|
32
|
+
* await downloadReleaseAsset('v1.0.0', 'tool-linux-x64', '/tmp/tool', {
|
|
33
|
+
* owner: 'SocketDev',
|
|
34
|
+
* repo: 'socket-btm',
|
|
35
|
+
* })
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @param tag - Release tag name.
|
|
39
|
+
* @param assetPattern - Asset name or pattern (glob string, prefix/suffix
|
|
40
|
+
* object, or RegExp)
|
|
41
|
+
* @param outputPath - Path to write the downloaded file.
|
|
42
|
+
* @param repoConfig - Repository configuration (owner/repo)
|
|
43
|
+
* @param options - Additional options.
|
|
39
44
|
*/
|
|
40
45
|
export declare function downloadReleaseAsset(tag: string, assetPattern: string | AssetPattern, outputPath: string, repoConfig: RepoConfig, options?: {
|
|
41
46
|
quiet?: boolean;
|