@socketsecurity/lib 5.28.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 +64 -37
- 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 +41 -15
- package/dist/bin/check-primordials.js +36 -20
- package/dist/bin/check.d.ts +7 -12
- package/dist/bin/check.js +5 -1
- 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 +18 -3
- 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 +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/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 +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 -279
- package/dist/dlx/package.js +44 -266
- 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 +1919 -247
- 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/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
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file "Edited but not yet staged" helpers — `git diff` over the working tree
|
|
3
|
+
* only. Excludes index-staged changes and untracked paths; use `changed.ts`
|
|
4
|
+
* for the broader view or `staged.ts` for the index.
|
|
5
|
+
*/
|
|
6
|
+
import type { GitDiffOptions } from './types';
|
|
7
|
+
/**
|
|
8
|
+
* Get unstaged modified files (changes not yet staged for commit).
|
|
9
|
+
*
|
|
10
|
+
* Uses `git diff --name-only` which returns only unstaged modifications to
|
|
11
|
+
* tracked files. Does NOT include: - Untracked files (new files not added to
|
|
12
|
+
* git) - Staged changes (files added with `git add`)
|
|
13
|
+
*
|
|
14
|
+
* This is a focused check for uncommitted changes to existing tracked files.
|
|
15
|
+
* Useful for detecting work-in-progress modifications before staging.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ;```typescript
|
|
19
|
+
* // Get unstaged files
|
|
20
|
+
* const files = await getUnstagedFiles()
|
|
21
|
+
* // => ['src/foo.ts', 'src/bar.ts']
|
|
22
|
+
*
|
|
23
|
+
* // After staging some files
|
|
24
|
+
* await spawn('git', ['add', 'src/foo.ts'])
|
|
25
|
+
* const files = await getUnstagedFiles()
|
|
26
|
+
* // => ['src/bar.ts'] (foo.ts no longer included)
|
|
27
|
+
*
|
|
28
|
+
* // Get absolute paths
|
|
29
|
+
* const files = await getUnstagedFiles({ absolute: true })
|
|
30
|
+
* // => ['/path/to/repo/src/bar.ts']
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @param options - Options controlling path format and filtering.
|
|
34
|
+
*
|
|
35
|
+
* @returns Promise resolving to array of unstaged file paths.
|
|
36
|
+
*/
|
|
37
|
+
export declare function getUnstagedFiles(options?: GitDiffOptions | undefined): Promise<string[]>;
|
|
38
|
+
/**
|
|
39
|
+
* Get unstaged modified files (changes not yet staged for commit).
|
|
40
|
+
*
|
|
41
|
+
* Synchronous version of `getUnstagedFiles()`. Uses `git diff --name-only`
|
|
42
|
+
* which returns only unstaged modifications to tracked files. Does NOT include:
|
|
43
|
+
* - Untracked files (new files not added to git) - Staged changes (files added
|
|
44
|
+
* with `git add`)
|
|
45
|
+
*
|
|
46
|
+
* This is a focused check for uncommitted changes to existing tracked files.
|
|
47
|
+
* Useful for detecting work-in-progress modifications before staging.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ;```typescript
|
|
51
|
+
* // Get unstaged files
|
|
52
|
+
* const files = getUnstagedFilesSync()
|
|
53
|
+
* // => ['src/foo.ts', 'src/bar.ts']
|
|
54
|
+
*
|
|
55
|
+
* // After staging some files
|
|
56
|
+
* spawnSync('git', ['add', 'src/foo.ts'])
|
|
57
|
+
* const files = getUnstagedFilesSync()
|
|
58
|
+
* // => ['src/bar.ts'] (foo.ts no longer included)
|
|
59
|
+
*
|
|
60
|
+
* // Get absolute paths
|
|
61
|
+
* const files = getUnstagedFilesSync({ absolute: true })
|
|
62
|
+
* // => ['/path/to/repo/src/bar.ts']
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* @param options - Options controlling path format and filtering.
|
|
66
|
+
*
|
|
67
|
+
* @returns Array of unstaged file paths.
|
|
68
|
+
*/
|
|
69
|
+
export declare function getUnstagedFilesSync(options?: GitDiffOptions | undefined): string[];
|
|
70
|
+
/**
|
|
71
|
+
* Check if a file or directory has unstaged changes.
|
|
72
|
+
*
|
|
73
|
+
* Checks if the given pathname has modifications that are not yet staged for
|
|
74
|
+
* commit (changes not added with `git add`). Does NOT include: - Staged changes
|
|
75
|
+
* (already added with `git add`) - Untracked files (new files not in git)
|
|
76
|
+
*
|
|
77
|
+
* For directories, returns `true` if ANY file within the directory has unstaged
|
|
78
|
+
* changes.
|
|
79
|
+
*
|
|
80
|
+
* Symlinks in the pathname and cwd are automatically resolved using
|
|
81
|
+
* `fs.realpathSync()` before comparison.
|
|
82
|
+
*
|
|
83
|
+
* @example
|
|
84
|
+
* ;```typescript
|
|
85
|
+
* // Check if file has unstaged changes
|
|
86
|
+
* const unstaged = await isUnstaged('src/foo.ts')
|
|
87
|
+
* // => true
|
|
88
|
+
*
|
|
89
|
+
* // After staging the file
|
|
90
|
+
* await spawn('git', ['add', 'src/foo.ts'])
|
|
91
|
+
* const unstaged = await isUnstaged('src/foo.ts')
|
|
92
|
+
* // => false
|
|
93
|
+
*
|
|
94
|
+
* // Check directory
|
|
95
|
+
* const unstaged = await isUnstaged('src/')
|
|
96
|
+
* // => true (if any file in src/ has unstaged changes)
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* @param pathname - File or directory path to check.
|
|
100
|
+
* @param options - Options for the git diff check.
|
|
101
|
+
*
|
|
102
|
+
* @returns Promise resolving to `true` if path has unstaged changes, `false`
|
|
103
|
+
* otherwise.
|
|
104
|
+
*/
|
|
105
|
+
export declare function isUnstaged(pathname: string, options?: GitDiffOptions | undefined): Promise<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* Check if a file or directory has unstaged changes.
|
|
108
|
+
*
|
|
109
|
+
* Synchronous version of `isUnstaged()`. Checks if the given pathname has
|
|
110
|
+
* modifications that are not yet staged for commit (changes not added with `git
|
|
111
|
+
* add`). Does NOT include: - Staged changes (already added with `git add`) -
|
|
112
|
+
* Untracked files (new files not in git)
|
|
113
|
+
*
|
|
114
|
+
* For directories, returns `true` if ANY file within the directory has unstaged
|
|
115
|
+
* changes.
|
|
116
|
+
*
|
|
117
|
+
* Symlinks in the pathname and cwd are automatically resolved using
|
|
118
|
+
* `fs.realpathSync()` before comparison.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ;```typescript
|
|
122
|
+
* // Check if file has unstaged changes
|
|
123
|
+
* const unstaged = isUnstagedSync('src/foo.ts')
|
|
124
|
+
* // => true
|
|
125
|
+
*
|
|
126
|
+
* // After staging the file
|
|
127
|
+
* spawnSync('git', ['add', 'src/foo.ts'])
|
|
128
|
+
* const unstaged = isUnstagedSync('src/foo.ts')
|
|
129
|
+
* // => false
|
|
130
|
+
*
|
|
131
|
+
* // Check directory
|
|
132
|
+
* const unstaged = isUnstagedSync('src/')
|
|
133
|
+
* // => true (if any file in src/ has unstaged changes)
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* @param pathname - File or directory path to check.
|
|
137
|
+
* @param options - Options for the git diff check.
|
|
138
|
+
*
|
|
139
|
+
* @returns `true` if path has unstaged changes, `false` otherwise.
|
|
140
|
+
*/
|
|
141
|
+
export declare function isUnstagedSync(pathname: string, options?: GitDiffOptions | undefined): boolean;
|
|
@@ -0,0 +1,71 @@
|
|
|
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 unstaged_exports = {};
|
|
22
|
+
__export(unstaged_exports, {
|
|
23
|
+
getUnstagedFiles: () => getUnstagedFiles,
|
|
24
|
+
getUnstagedFilesSync: () => getUnstagedFilesSync,
|
|
25
|
+
isUnstaged: () => isUnstaged,
|
|
26
|
+
isUnstagedSync: () => isUnstagedSync
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(unstaged_exports);
|
|
29
|
+
var import_normalize = require("../paths/normalize");
|
|
30
|
+
var import_array = require("../primordials/array");
|
|
31
|
+
var import_internal = require("./_internal");
|
|
32
|
+
var import_repo = require("./repo");
|
|
33
|
+
async function getUnstagedFiles(options) {
|
|
34
|
+
const args = (0, import_internal.getGitDiffSpawnArgs)(options?.cwd).unstaged;
|
|
35
|
+
return await (0, import_internal.innerDiff)(args, options);
|
|
36
|
+
}
|
|
37
|
+
function getUnstagedFilesSync(options) {
|
|
38
|
+
const args = (0, import_internal.getGitDiffSpawnArgs)(options?.cwd).unstaged;
|
|
39
|
+
return (0, import_internal.innerDiffSync)(args, options);
|
|
40
|
+
}
|
|
41
|
+
async function isUnstaged(pathname, options) {
|
|
42
|
+
const files = await getUnstagedFiles({
|
|
43
|
+
__proto__: null,
|
|
44
|
+
...options,
|
|
45
|
+
absolute: false
|
|
46
|
+
});
|
|
47
|
+
const path = (0, import_repo.getPath)();
|
|
48
|
+
const resolvedPathname = (0, import_repo.getCachedRealpath)(pathname);
|
|
49
|
+
const baseCwd = options?.cwd ? (0, import_repo.getCachedRealpath)(options["cwd"]) : (0, import_repo.getCwd)();
|
|
50
|
+
const relativePath = (0, import_normalize.normalizePath)(path.relative(baseCwd, resolvedPathname));
|
|
51
|
+
return (0, import_array.ArrayPrototypeIncludes)(files, relativePath);
|
|
52
|
+
}
|
|
53
|
+
function isUnstagedSync(pathname, options) {
|
|
54
|
+
const files = getUnstagedFilesSync({
|
|
55
|
+
__proto__: null,
|
|
56
|
+
...options,
|
|
57
|
+
absolute: false
|
|
58
|
+
});
|
|
59
|
+
const path = (0, import_repo.getPath)();
|
|
60
|
+
const resolvedPathname = (0, import_repo.getCachedRealpath)(pathname);
|
|
61
|
+
const baseCwd = options?.cwd ? (0, import_repo.getCachedRealpath)(options["cwd"]) : (0, import_repo.getCwd)();
|
|
62
|
+
const relativePath = (0, import_normalize.normalizePath)(path.relative(baseCwd, resolvedPathname));
|
|
63
|
+
return (0, import_array.ArrayPrototypeIncludes)(files, relativePath);
|
|
64
|
+
}
|
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
66
|
+
0 && (module.exports = {
|
|
67
|
+
getUnstagedFiles,
|
|
68
|
+
getUnstagedFilesSync,
|
|
69
|
+
isUnstaged,
|
|
70
|
+
isUnstagedSync
|
|
71
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file GitHub API URL + cache-TTL constants. Inlined so values are captured at
|
|
3
|
+
* coverage-mode bundle time rather than referenced through a module graph
|
|
4
|
+
* indirection.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* GitHub REST API base URL.
|
|
8
|
+
*/
|
|
9
|
+
export declare const GITHUB_API_BASE_URL = "https://api.github.com";
|
|
10
|
+
/**
|
|
11
|
+
* GitHub GraphQL API endpoint.
|
|
12
|
+
*/
|
|
13
|
+
export declare const GITHUB_GRAPHQL_URL = "https://api.github.com/graphql";
|
|
14
|
+
/**
|
|
15
|
+
* Default TTL for the GitHub cache (5 minutes). Used by ref resolution and the
|
|
16
|
+
* GHSA cache layer.
|
|
17
|
+
*/
|
|
18
|
+
export declare const DEFAULT_CACHE_TTL_MS: number;
|
|
@@ -0,0 +1,36 @@
|
|
|
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 constants_exports = {};
|
|
22
|
+
__export(constants_exports, {
|
|
23
|
+
DEFAULT_CACHE_TTL_MS: () => DEFAULT_CACHE_TTL_MS,
|
|
24
|
+
GITHUB_API_BASE_URL: () => GITHUB_API_BASE_URL,
|
|
25
|
+
GITHUB_GRAPHQL_URL: () => GITHUB_GRAPHQL_URL
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(constants_exports);
|
|
28
|
+
const GITHUB_API_BASE_URL = "https://api.github.com";
|
|
29
|
+
const GITHUB_GRAPHQL_URL = "https://api.github.com/graphql";
|
|
30
|
+
const DEFAULT_CACHE_TTL_MS = 5 * 60 * 1e3;
|
|
31
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
+
0 && (module.exports = {
|
|
33
|
+
DEFAULT_CACHE_TTL_MS,
|
|
34
|
+
GITHUB_API_BASE_URL,
|
|
35
|
+
GITHUB_GRAPHQL_URL
|
|
36
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Named errors thrown by `github/*` helpers.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Thrown by `fetchGitHub` when GitHub returns HTTP 200 OK with a zero-byte body
|
|
6
|
+
* — the "successful empty response" pattern.
|
|
7
|
+
*
|
|
8
|
+
* Why this exists (background for new contributors): GitHub's REST API has a
|
|
9
|
+
* documented failure mode that is _very_ easy to miss in code review. During
|
|
10
|
+
* incidents where the search / Elasticsearch backing index is degraded (see
|
|
11
|
+
* GitHub status pages with titles like "search is degraded" or "Pull Requests
|
|
12
|
+
* degraded"), the REST `/repos/...` GET endpoints return: - HTTP status: 200 OK
|
|
13
|
+
* ← looks like success - Body: "" ← but the payload is empty - Headers: no
|
|
14
|
+
* Retry-After, no rate-limit signal, nothing.
|
|
15
|
+
*
|
|
16
|
+
* Without a typed error, calling code does
|
|
17
|
+
* `JSON.parse(response.body.toString('utf8'))` on an empty string, which throws
|
|
18
|
+
* a confusing `SyntaxError: Unexpected end of JSON input`. That error has
|
|
19
|
+
* nothing to do with bad code on our side; it's GitHub's incident manifesting
|
|
20
|
+
* as a parse failure several frames deep. We surface the actual condition (`200
|
|
21
|
+
* \+ empty body`) as its own typed exception so the call path can either fall
|
|
22
|
+
* through to the GraphQL backend (which queries a different data path and uses
|
|
23
|
+
* a different backend and is unaffected by ES outages), or surface a clean
|
|
24
|
+
* message to the user.
|
|
25
|
+
*
|
|
26
|
+
* The HTTP status is hard-coded to 200 because that's _exactly_ what makes this
|
|
27
|
+
* insidious — a real 4xx/5xx would already be handled by the rate-limit /
|
|
28
|
+
* status-code branch above.
|
|
29
|
+
*/
|
|
30
|
+
export declare class GitHubEmptyBodyError extends Error {
|
|
31
|
+
/**
|
|
32
|
+
* HTTP status (always 200 — that's what makes this case insidious).
|
|
33
|
+
*/
|
|
34
|
+
status: number;
|
|
35
|
+
constructor(url: string);
|
|
36
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 errors_exports = {};
|
|
22
|
+
__export(errors_exports, {
|
|
23
|
+
GitHubEmptyBodyError: () => GitHubEmptyBodyError
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(errors_exports);
|
|
26
|
+
class GitHubEmptyBodyError extends Error {
|
|
27
|
+
/**
|
|
28
|
+
* HTTP status (always 200 — that's what makes this case insidious).
|
|
29
|
+
*/
|
|
30
|
+
status;
|
|
31
|
+
constructor(url) {
|
|
32
|
+
super(`GitHub API returned HTTP 200 with empty body: ${url}`);
|
|
33
|
+
this.name = "GitHubEmptyBodyError";
|
|
34
|
+
this.status = 200;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
38
|
+
0 && (module.exports = {
|
|
39
|
+
GitHubEmptyBodyError
|
|
40
|
+
});
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Authenticated GitHub REST fetch. `fetchGitHub` is the single entry
|
|
3
|
+
* point that the rest of the github/ modules go through for REST calls. It
|
|
4
|
+
* handles four things the callers shouldn't have to repeat:
|
|
5
|
+
*
|
|
6
|
+
* 1. Token resolution (env → git config) when the caller doesn't pass an
|
|
7
|
+
* explicit token.
|
|
8
|
+
* 2. Standard headers (Accept, User-Agent) merged with caller- supplied headers.
|
|
9
|
+
* 3. Rate-limit detection — when GitHub returns 403 with `x-ratelimit-remaining:
|
|
10
|
+
* 0`, throw a typed `GitHubRateLimitError` so callers can react (set
|
|
11
|
+
* GITHUB_TOKEN, retry after reset).
|
|
12
|
+
* 4. Empty-body detection — 200 OK + zero-byte body is the documented incident
|
|
13
|
+
* shape (see GitHubEmptyBodyError JSDoc). Raised as a typed error so the
|
|
14
|
+
* ref / GHSA modules can fall back to GraphQL on a different backend.
|
|
15
|
+
* `getGhsaUrl` lives here because it's the URL counterpart to the GHSA
|
|
16
|
+
* fetch path — the only other consumer is the GHSA module.
|
|
17
|
+
*/
|
|
18
|
+
import type { GitHubFetchOptions } from './types';
|
|
19
|
+
/**
|
|
20
|
+
* Fetch data from GitHub API with automatic authentication and rate limit
|
|
21
|
+
* handling. Makes authenticated requests to the GitHub REST API with proper
|
|
22
|
+
* error handling.
|
|
23
|
+
*
|
|
24
|
+
* Features: - Automatic token injection from environment if not provided - Rate
|
|
25
|
+
* limit detection with helpful error messages - Standard GitHub API headers
|
|
26
|
+
* (Accept, User-Agent) - JSON response parsing.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* // Fetch repository information
|
|
31
|
+
* interface Repo {
|
|
32
|
+
* name: string
|
|
33
|
+
* full_name: string
|
|
34
|
+
* default_branch: string
|
|
35
|
+
* }
|
|
36
|
+
* const repo = await fetchGitHub<Repo>(
|
|
37
|
+
* 'https://api.github.com/repos/owner/repo',
|
|
38
|
+
* )
|
|
39
|
+
* console.log(`Default branch: ${repo.default_branch}`)
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ;```ts
|
|
44
|
+
* // With custom token and headers
|
|
45
|
+
* const data = await fetchGitHub('https://api.github.com/user', {
|
|
46
|
+
* token: 'ghp_customtoken',
|
|
47
|
+
* headers: { 'X-Custom-Header': 'value' },
|
|
48
|
+
* })
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* // Handle rate limit errors
|
|
54
|
+
* try {
|
|
55
|
+
* await fetchGitHub('https://api.github.com/repos/owner/repo')
|
|
56
|
+
* } catch (e) {
|
|
57
|
+
* if (e.status === 403 && e.resetTime) {
|
|
58
|
+
* console.error(`Rate limited until ${e.resetTime}`)
|
|
59
|
+
* }
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @template T - Expected response type (defaults to `unknown`)
|
|
64
|
+
*
|
|
65
|
+
* @param url - Full GitHub API URL (e.g.,
|
|
66
|
+
* 'https://api.github.com/repos/owner/repo')
|
|
67
|
+
* @param options - Fetch options including token and custom headers.
|
|
68
|
+
*
|
|
69
|
+
* @returns Parsed JSON response of type `T`
|
|
70
|
+
*
|
|
71
|
+
* @throws {GitHubRateLimitError} When API rate limit is exceeded (status 403)
|
|
72
|
+
* @throws {Error} For other API errors with status code and message
|
|
73
|
+
*/
|
|
74
|
+
export declare function fetchGitHub<T = unknown>(url: string, options?: GitHubFetchOptions | undefined): Promise<T>;
|
|
75
|
+
/**
|
|
76
|
+
* Generate GitHub Security Advisory URL from GHSA ID. Constructs the public
|
|
77
|
+
* advisory URL for a given GHSA identifier.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ;```ts
|
|
81
|
+
* const url = getGhsaUrl('GHSA-1234-5678-90ab')
|
|
82
|
+
* console.log(url) // 'https://github.com/advisories/GHSA-1234-5678-90ab'
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @param ghsaId - GHSA identifier (e.g., 'GHSA-xxxx-yyyy-zzzz')
|
|
86
|
+
*
|
|
87
|
+
* @returns Full URL to the advisory page
|
|
88
|
+
*/
|
|
89
|
+
export declare function getGhsaUrl(ghsaId: string): string;
|
|
@@ -0,0 +1,87 @@
|
|
|
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 fetch_exports = {};
|
|
22
|
+
__export(fetch_exports, {
|
|
23
|
+
fetchGitHub: () => fetchGitHub,
|
|
24
|
+
getGhsaUrl: () => getGhsaUrl
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(fetch_exports);
|
|
27
|
+
var import_message = require("../errors/message");
|
|
28
|
+
var import_request = require("../http-request/request");
|
|
29
|
+
var import_date = require("../primordials/date");
|
|
30
|
+
var import_error = require("../primordials/error");
|
|
31
|
+
var import_json = require("../primordials/json");
|
|
32
|
+
var import_token = require("./token");
|
|
33
|
+
var import_errors = require("./errors");
|
|
34
|
+
async function fetchGitHub(url, options) {
|
|
35
|
+
const opts = { __proto__: null, ...options };
|
|
36
|
+
const token = opts.token || (0, import_token.getGitHubToken)();
|
|
37
|
+
const headers = {
|
|
38
|
+
Accept: "application/vnd.github.v3+json",
|
|
39
|
+
"User-Agent": "socket-registry-github-client",
|
|
40
|
+
...opts.headers
|
|
41
|
+
};
|
|
42
|
+
if (token) {
|
|
43
|
+
headers["Authorization"] = `Bearer ${token}`;
|
|
44
|
+
}
|
|
45
|
+
const response = await (0, import_request.httpRequest)(url, { headers });
|
|
46
|
+
if (!response.ok) {
|
|
47
|
+
if (response.status === 403) {
|
|
48
|
+
const rateLimit = response.headers["x-ratelimit-remaining"];
|
|
49
|
+
const rateLimitStr = typeof rateLimit === "string" ? rateLimit : rateLimit?.[0];
|
|
50
|
+
if (rateLimitStr === "0") {
|
|
51
|
+
const resetTime = response.headers["x-ratelimit-reset"];
|
|
52
|
+
const resetTimeStr = typeof resetTime === "string" ? resetTime : resetTime?.[0];
|
|
53
|
+
const resetDate = resetTimeStr ? new import_date.DateCtor(Number(resetTimeStr) * 1e3) : void 0;
|
|
54
|
+
const error = new import_error.ErrorCtor(
|
|
55
|
+
`GitHub API rate limit exceeded${resetDate ? `. Resets at ${resetDate.toLocaleString()}` : ""}. Use GITHUB_TOKEN environment variable to increase rate limit.`
|
|
56
|
+
);
|
|
57
|
+
error.status = 403;
|
|
58
|
+
error.resetTime = resetDate;
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
throw new import_error.ErrorCtor(
|
|
63
|
+
`GitHub API error ${response.status}: ${response.statusText}`
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
if (response.body.byteLength === 0) {
|
|
67
|
+
throw new import_errors.GitHubEmptyBodyError(url);
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
return (0, import_json.JSONParse)(response.body.toString("utf8"));
|
|
71
|
+
} catch (e) {
|
|
72
|
+
throw new import_error.ErrorCtor(
|
|
73
|
+
`Failed to parse GitHub API response: ${(0, import_message.errorMessage)(e)}
|
|
74
|
+
URL: ${url}
|
|
75
|
+
Response may be malformed or incomplete.`,
|
|
76
|
+
{ cause: e }
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function getGhsaUrl(ghsaId) {
|
|
81
|
+
return `https://github.com/advisories/${ghsaId}`;
|
|
82
|
+
}
|
|
83
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
84
|
+
0 && (module.exports = {
|
|
85
|
+
fetchGitHub,
|
|
86
|
+
getGhsaUrl
|
|
87
|
+
});
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file GitHub Security Advisory (GHSA) lookups. Three layers, narrowest first:
|
|
3
|
+
*
|
|
4
|
+
* - `cacheFetchGhsa` — caches GHSA fetches in the same `TtlCache` used by ref
|
|
5
|
+
* resolution (5-minute TTL, two-tier).
|
|
6
|
+
* - `fetchGhsaDetails` — REST `/advisories/:id` with the same empty-body
|
|
7
|
+
* fallback to GraphQL that ref resolution uses.
|
|
8
|
+
* - `fetchGhsaDetailsViaGraphQL` — GraphQL `securityAdvisory(...)` with shape
|
|
9
|
+
* normalization back to the REST surface so callers don't have to know
|
|
10
|
+
* which transport ran.
|
|
11
|
+
*/
|
|
12
|
+
import type { GhsaDetails, GitHubFetchOptions } from './types';
|
|
13
|
+
/**
|
|
14
|
+
* Fetch GitHub Security Advisory details with caching. Retrieves advisory
|
|
15
|
+
* information with two-tier caching (in-memory + persistent). Cached results
|
|
16
|
+
* are stored with the default TTL (5 minutes).
|
|
17
|
+
*
|
|
18
|
+
* Caching behavior:
|
|
19
|
+
*
|
|
20
|
+
* - Checks in-memory cache first for immediate response
|
|
21
|
+
* - Falls back to persistent disk cache if not in memory
|
|
22
|
+
* - Fetches from API only if not cached
|
|
23
|
+
* - Stores result in both cache tiers
|
|
24
|
+
* - Respects `DISABLE_GITHUB_CACHE` env var
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ;```ts
|
|
28
|
+
* // First call hits API
|
|
29
|
+
* const advisory = await cacheFetchGhsa('GHSA-1234-5678-90ab')
|
|
30
|
+
*
|
|
31
|
+
* // Second call within 5 minutes returns cached data
|
|
32
|
+
* const cached = await cacheFetchGhsa('GHSA-1234-5678-90ab')
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ;```ts
|
|
37
|
+
* // Disable caching for fresh data
|
|
38
|
+
* process.env.DISABLE_GITHUB_CACHE = '1'
|
|
39
|
+
* const advisory = await cacheFetchGhsa('GHSA-xxxx-yyyy-zzzz')
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @param ghsaId - GHSA identifier to fetch.
|
|
43
|
+
* @param options - Fetch options including authentication token.
|
|
44
|
+
*
|
|
45
|
+
* @returns Complete advisory details
|
|
46
|
+
*
|
|
47
|
+
* @throws {Error} If advisory cannot be found or API request fails
|
|
48
|
+
* @throws {GitHubRateLimitError} When API rate limit is exceeded
|
|
49
|
+
*/
|
|
50
|
+
export declare function cacheFetchGhsa(ghsaId: string, options?: GitHubFetchOptions | undefined): Promise<GhsaDetails>;
|
|
51
|
+
/**
|
|
52
|
+
* Fetch GitHub Security Advisory details from the API. Retrieves complete
|
|
53
|
+
* advisory information including severity, affected packages, CVSS scores, and
|
|
54
|
+
* CWE classifications.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* const advisory = await fetchGhsaDetails('GHSA-1234-5678-90ab')
|
|
59
|
+
* console.log(`Severity: ${advisory.severity}`)
|
|
60
|
+
* console.log(`Affects: ${advisory.vulnerabilities.length} packages`)
|
|
61
|
+
* if (advisory.cvss) {
|
|
62
|
+
* console.log(`CVSS Score: ${advisory.cvss.score}`)
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```ts
|
|
68
|
+
* // Check if vulnerability is patched
|
|
69
|
+
* const advisory = await fetchGhsaDetails('GHSA-xxxx-yyyy-zzzz')
|
|
70
|
+
* for (const vuln of advisory.vulnerabilities) {
|
|
71
|
+
* if (vuln.firstPatchedVersion) {
|
|
72
|
+
* console.log(
|
|
73
|
+
* `Patched in ${vuln.package.name}@${vuln.firstPatchedVersion.identifier}`,
|
|
74
|
+
* )
|
|
75
|
+
* }
|
|
76
|
+
* }
|
|
77
|
+
* ```
|
|
78
|
+
*
|
|
79
|
+
* @param ghsaId - GHSA identifier to fetch (e.g., 'GHSA-xxxx-yyyy-zzzz')
|
|
80
|
+
* @param options - Fetch options including authentication token.
|
|
81
|
+
*
|
|
82
|
+
* @returns Complete advisory details with normalized field names
|
|
83
|
+
*
|
|
84
|
+
* @throws {Error} If advisory cannot be found or API request fails
|
|
85
|
+
* @throws {GitHubRateLimitError} When API rate limit is exceeded
|
|
86
|
+
*/
|
|
87
|
+
export declare function fetchGhsaDetails(ghsaId: string, options?: GitHubFetchOptions | undefined): Promise<GhsaDetails>;
|
|
88
|
+
/**
|
|
89
|
+
* GraphQL counterpart for `fetchGhsaDetails`.
|
|
90
|
+
*
|
|
91
|
+
* What it does: Queries the GraphQL `securityAdvisory(ghsaId)` connection and
|
|
92
|
+
* reshapes the response to match the REST `/advisories/:id` JSON so callers
|
|
93
|
+
* don't have to know which transport ran.
|
|
94
|
+
*
|
|
95
|
+
* Three normalizations the REST shape differs from GraphQL on:
|
|
96
|
+
*
|
|
97
|
+
* 1. Severity case REST returns lowercase strings like "moderate", "high". GraphQL
|
|
98
|
+
* returns SCREAMING_CASE enum values: "MODERATE", "HIGH", "CRITICAL". We
|
|
99
|
+
* `.toLowerCase()` so callers can compare against a single canonical form.
|
|
100
|
+
* 2. Identifiers vs. aliases REST has an `aliases: ["CVE-2024-..."]` array — a
|
|
101
|
+
* flat list of non-GHSA IDs (CVEs, etc.) for the same vulnerability. GraphQL
|
|
102
|
+
* has `identifiers: [{type, value}]` which INCLUDES the advisory's own GHSA
|
|
103
|
+
* id alongside CVE ids. We filter out the GHSA self-reference so the list
|
|
104
|
+
* matches REST.
|
|
105
|
+
* 3. Connection wrapping GraphQL wraps array fields in `{ nodes: [...] }`
|
|
106
|
+
* connection objects (it's how pagination works in GraphQL). REST returns
|
|
107
|
+
* plain arrays. We unwrap with `?.nodes ?? []`.
|
|
108
|
+
*
|
|
109
|
+
* `description` (GraphQL) maps to `details` (REST) — same data, different field
|
|
110
|
+
* name. The mapping below renames it.
|
|
111
|
+
*
|
|
112
|
+
* Token handling: We re-derive the token from `options.token ||
|
|
113
|
+
* getGitHubToken()` because this function may be called from places that didn't
|
|
114
|
+
* thread an explicit token through. GraphQL queries to private data require
|
|
115
|
+
* auth even when the equivalent REST GET works anonymously, so the auth header
|
|
116
|
+
* is mandatory in practice.
|
|
117
|
+
*/
|
|
118
|
+
export declare function fetchGhsaDetailsViaGraphQL(ghsaId: string, options?: GitHubFetchOptions | undefined): Promise<GhsaDetails>;
|