@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
package/dist/spawn.d.ts
DELETED
|
@@ -1,454 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Child process spawning utilities with cross-platform support.
|
|
3
|
-
* Provides enhanced spawn functionality with stdio handling and error management.
|
|
4
|
-
*
|
|
5
|
-
* SECURITY: Array-Based Arguments Prevent Command Injection
|
|
6
|
-
*
|
|
7
|
-
* This module uses array-based arguments for all command execution, which is the
|
|
8
|
-
* PRIMARY DEFENSE against command injection attacks. When you pass arguments as
|
|
9
|
-
* an array to spawn():
|
|
10
|
-
*
|
|
11
|
-
* spawn('npx', ['sfw', tool, ...args], { shell: true })
|
|
12
|
-
*
|
|
13
|
-
* Node.js handles escaping automatically. Each argument is passed directly to the
|
|
14
|
-
* OS without shell interpretation. Shell metacharacters like ; | & $ ( ) ` are
|
|
15
|
-
* treated as LITERAL STRINGS, not as commands. This approach is secure even when
|
|
16
|
-
* shell: true is used on Windows for .cmd/.bat file resolution.
|
|
17
|
-
*
|
|
18
|
-
* UNSAFE ALTERNATIVE (not used in this codebase):
|
|
19
|
-
* spawn(`npx sfw ${tool} ${args.join(' ')}`, { shell: true }) // ✖ VULNERABLE
|
|
20
|
-
*
|
|
21
|
-
* String concatenation allows injection. For example, if tool = "foo; rm -rf /",
|
|
22
|
-
* the shell would execute both commands. Array-based arguments prevent this.
|
|
23
|
-
*
|
|
24
|
-
* References:
|
|
25
|
-
* - https://nodejs.org/api/child_process.html#child_processspawncommand-args-options
|
|
26
|
-
* - https://cheatsheetseries.owasp.org/cheatsheets/Nodejs_Security_Cheat_Sheet.html
|
|
27
|
-
*/
|
|
28
|
-
import type { SendHandle, Serializable, StdioOptions } from 'node:child_process';
|
|
29
|
-
import type { EventEmitter } from 'node:events';
|
|
30
|
-
type BufferEncoding = globalThis.BufferEncoding;
|
|
31
|
-
/**
|
|
32
|
-
* Options for spawning a child process with promise-based completion.
|
|
33
|
-
*
|
|
34
|
-
* @property {string | undefined} cwd - Current working directory for the process
|
|
35
|
-
* @property {NodeJS.ProcessEnv | undefined} env - Environment variables for the process
|
|
36
|
-
* @property {number | undefined} gid - Group identity of the process (POSIX only)
|
|
37
|
-
* @property {boolean | string | undefined} shell - Whether to run command in shell, or path to shell
|
|
38
|
-
* @property {AbortSignal | undefined} signal - Signal to abort the process
|
|
39
|
-
* @property {StdioType | undefined} stdio - Stdio configuration (`'pipe'`, `'ignore'`, `'inherit'`, or array)
|
|
40
|
-
* @property {boolean | undefined} stdioString - Convert stdio output to strings (default: `true`)
|
|
41
|
-
* @property {number | undefined} timeout - Maximum time in milliseconds before killing the process
|
|
42
|
-
* @property {number | undefined} uid - User identity of the process (POSIX only)
|
|
43
|
-
* @property {boolean | undefined} windowsVerbatimArguments - Don't quote or escape arguments on Windows (requires shell: true). Use when you need exact argument control. Default: false
|
|
44
|
-
*/
|
|
45
|
-
export type PromiseSpawnOptions = {
|
|
46
|
-
cwd?: string | undefined;
|
|
47
|
-
env?: NodeJS.ProcessEnv | undefined;
|
|
48
|
-
gid?: number | undefined;
|
|
49
|
-
shell?: boolean | string | undefined;
|
|
50
|
-
signal?: AbortSignal | undefined;
|
|
51
|
-
stdio?: StdioType | undefined;
|
|
52
|
-
stdioString?: boolean | undefined;
|
|
53
|
-
timeout?: number | undefined;
|
|
54
|
-
uid?: number | undefined;
|
|
55
|
-
windowsVerbatimArguments?: boolean | undefined;
|
|
56
|
-
};
|
|
57
|
-
/**
|
|
58
|
-
* Result returned by {@link spawn} when the child process completes.
|
|
59
|
-
* This is a Promise that resolves with process exit information and output,
|
|
60
|
-
* with additional properties for accessing the running process and stdin stream.
|
|
61
|
-
*
|
|
62
|
-
* @property {ChildProcess} process - The running child process instance
|
|
63
|
-
* @property {WritableStreamType | null} stdin - Writable stream for process stdin, or `null` if not piped
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* const result = spawn('echo', ['hello'])
|
|
67
|
-
* result.stdin?.write('additional input\n')
|
|
68
|
-
* const { code, stdout } = await result
|
|
69
|
-
* console.log(stdout) // 'hello'
|
|
70
|
-
*/
|
|
71
|
-
export type PromiseSpawnResult = Promise<{
|
|
72
|
-
cmd: string;
|
|
73
|
-
args: string[] | readonly string[];
|
|
74
|
-
code: number;
|
|
75
|
-
signal: NodeJS.Signals | null;
|
|
76
|
-
stdout: string | Buffer;
|
|
77
|
-
stderr: string | Buffer;
|
|
78
|
-
}> & {
|
|
79
|
-
process: ChildProcess;
|
|
80
|
-
stdin: WritableStreamType | null;
|
|
81
|
-
};
|
|
82
|
-
/**
|
|
83
|
-
* Error object thrown when a spawned process fails.
|
|
84
|
-
* Extends the standard Error with process-specific information including exit code,
|
|
85
|
-
* signal, command details, and captured output.
|
|
86
|
-
*
|
|
87
|
-
* @property {string[]} args - Arguments passed to the command
|
|
88
|
-
* @property {string} cmd - Command that was executed
|
|
89
|
-
* @property {number} code - Process exit code
|
|
90
|
-
* @property {string} name - Error name (typically `'Error'`)
|
|
91
|
-
* @property {string} message - Error message describing the failure
|
|
92
|
-
* @property {NodeJS.Signals | null} signal - Signal that terminated the process, if any
|
|
93
|
-
* @property {string} stack - Stack trace of the error
|
|
94
|
-
* @property {string | Buffer} stderr - Standard error output from the process
|
|
95
|
-
* @property {string | Buffer} stdout - Standard output from the process
|
|
96
|
-
*
|
|
97
|
-
* @example
|
|
98
|
-
* try {
|
|
99
|
-
* await spawn('exit', ['1'])
|
|
100
|
-
* } catch (e) {
|
|
101
|
-
* if (isSpawnError(e)) {
|
|
102
|
-
* console.error(`Command failed with code ${e.code}`)
|
|
103
|
-
* console.error(`stderr: ${e.stderr}`)
|
|
104
|
-
* }
|
|
105
|
-
* }
|
|
106
|
-
*/
|
|
107
|
-
export type SpawnError = {
|
|
108
|
-
args: string[];
|
|
109
|
-
cmd: string;
|
|
110
|
-
code: number;
|
|
111
|
-
name: string;
|
|
112
|
-
message: string;
|
|
113
|
-
signal: NodeJS.Signals | null;
|
|
114
|
-
stack: string;
|
|
115
|
-
stderr: string | Buffer;
|
|
116
|
-
stdout: string | Buffer;
|
|
117
|
-
};
|
|
118
|
-
/**
|
|
119
|
-
* Spawn error variant where stdout and stderr are guaranteed to be strings.
|
|
120
|
-
* This type is used when `stdioString: true` is set in spawn options.
|
|
121
|
-
*
|
|
122
|
-
* @property {string} stdout - Standard output as a string
|
|
123
|
-
* @property {string} stderr - Standard error as a string
|
|
124
|
-
*/
|
|
125
|
-
export type SpawnErrorWithOutputString = SpawnError & {
|
|
126
|
-
stdout: string;
|
|
127
|
-
stderr: string;
|
|
128
|
-
};
|
|
129
|
-
/**
|
|
130
|
-
* Spawn error variant where stdout and stderr are guaranteed to be Buffers.
|
|
131
|
-
* This type is used when `stdioString: false` is set in spawn options.
|
|
132
|
-
*
|
|
133
|
-
* @property {Buffer} stdout - Standard output as a Buffer
|
|
134
|
-
* @property {Buffer} stderr - Standard error as a Buffer
|
|
135
|
-
*/
|
|
136
|
-
export type SpawnErrorWithOutputBuffer = SpawnError & {
|
|
137
|
-
stdout: Buffer;
|
|
138
|
-
stderr: Buffer;
|
|
139
|
-
};
|
|
140
|
-
/**
|
|
141
|
-
* Extra options passed to the underlying promise-spawn implementation.
|
|
142
|
-
* This is an open-ended object for passing additional metadata or configuration.
|
|
143
|
-
*/
|
|
144
|
-
export type SpawnExtra = Record<string, unknown>;
|
|
145
|
-
/**
|
|
146
|
-
* Valid values for individual stdio streams.
|
|
147
|
-
* - `'pipe'` - Creates a pipe between child and parent (default)
|
|
148
|
-
* - `'ignore'` - Ignores the stream
|
|
149
|
-
* - `'inherit'` - Uses parent's stream
|
|
150
|
-
* - `'overlapped'` - Windows-specific overlapped I/O
|
|
151
|
-
*/
|
|
152
|
-
export type IOType = 'pipe' | 'ignore' | 'inherit' | 'overlapped';
|
|
153
|
-
/**
|
|
154
|
-
* Configuration for process stdio (stdin, stdout, stderr) streams.
|
|
155
|
-
* Can be a single value applied to all streams, or an array specifying each stream individually.
|
|
156
|
-
* - `'ipc'` - Creates an IPC channel for communication with the parent
|
|
157
|
-
*
|
|
158
|
-
* @example
|
|
159
|
-
* // All streams piped
|
|
160
|
-
* stdio: 'pipe'
|
|
161
|
-
*
|
|
162
|
-
* @example
|
|
163
|
-
* // Custom configuration per stream: [stdin, stdout, stderr]
|
|
164
|
-
* stdio: ['ignore', 'pipe', 'pipe']
|
|
165
|
-
*/
|
|
166
|
-
export type StdioType = IOType | 'ipc' | Array<IOType | 'ipc'>;
|
|
167
|
-
/**
|
|
168
|
-
* Result object returned by {@link spawnSync} when the child process completes synchronously.
|
|
169
|
-
*
|
|
170
|
-
* @template T - Type of stdout/stderr (string or Buffer)
|
|
171
|
-
* @property {number} pid - Process ID of the spawned child
|
|
172
|
-
* @property {Array<T | null>} output - Array containing stdout/stderr values
|
|
173
|
-
* @property {T} stdout - Standard output from the process
|
|
174
|
-
* @property {T} stderr - Standard error from the process
|
|
175
|
-
* @property {number | null} status - Exit code, or `null` if killed by signal
|
|
176
|
-
* @property {NodeJS.Signals | null} signal - Signal that terminated the process, or `null`
|
|
177
|
-
* @property {Error | undefined} error - Error object if the spawn failed
|
|
178
|
-
*/
|
|
179
|
-
export interface SpawnSyncReturns<T> {
|
|
180
|
-
pid: number;
|
|
181
|
-
output: Array<T | null>;
|
|
182
|
-
stdout: T;
|
|
183
|
-
stderr: T;
|
|
184
|
-
status: number | null;
|
|
185
|
-
signal: NodeJS.Signals | null;
|
|
186
|
-
error?: Error | undefined;
|
|
187
|
-
}
|
|
188
|
-
interface NodeSpawnOptions {
|
|
189
|
-
cwd?: string | URL | undefined;
|
|
190
|
-
env?: NodeJS.ProcessEnv | undefined;
|
|
191
|
-
argv0?: string | undefined;
|
|
192
|
-
stdio?: StdioOptions | undefined;
|
|
193
|
-
detached?: boolean | undefined;
|
|
194
|
-
uid?: number | undefined;
|
|
195
|
-
gid?: number | undefined;
|
|
196
|
-
serialization?: 'json' | 'advanced' | undefined;
|
|
197
|
-
shell?: boolean | string | undefined;
|
|
198
|
-
windowsVerbatimArguments?: boolean | undefined;
|
|
199
|
-
windowsHide?: boolean | undefined;
|
|
200
|
-
signal?: AbortSignal | undefined;
|
|
201
|
-
timeout?: number | undefined;
|
|
202
|
-
killSignal?: NodeJS.Signals | number | undefined;
|
|
203
|
-
}
|
|
204
|
-
interface ChildProcess extends EventEmitter {
|
|
205
|
-
stdin: NodeJS.WritableStream | null;
|
|
206
|
-
stdout: NodeJS.ReadableStream | null;
|
|
207
|
-
stderr: NodeJS.ReadableStream | null;
|
|
208
|
-
readonly channel?: unknown;
|
|
209
|
-
readonly stdio: [
|
|
210
|
-
NodeJS.WritableStream | null,
|
|
211
|
-
NodeJS.ReadableStream | null,
|
|
212
|
-
NodeJS.ReadableStream | null,
|
|
213
|
-
NodeJS.ReadableStream | NodeJS.WritableStream | null | undefined,
|
|
214
|
-
NodeJS.ReadableStream | NodeJS.WritableStream | null | undefined
|
|
215
|
-
];
|
|
216
|
-
readonly killed: boolean;
|
|
217
|
-
readonly pid?: number | undefined;
|
|
218
|
-
readonly connected: boolean;
|
|
219
|
-
readonly exitCode: number | null;
|
|
220
|
-
readonly signalCode: NodeJS.Signals | null;
|
|
221
|
-
readonly spawnargs: string[];
|
|
222
|
-
readonly spawnfile: string;
|
|
223
|
-
kill(signal?: NodeJS.Signals | number): boolean;
|
|
224
|
-
send(message: Serializable, callback?: (error: Error | null) => void): boolean;
|
|
225
|
-
send(message: Serializable, sendHandle?: SendHandle | undefined, callback?: (error: Error | null) => void): boolean;
|
|
226
|
-
send(message: Serializable, sendHandle?: SendHandle | undefined, options?: {
|
|
227
|
-
keepOpen?: boolean | undefined;
|
|
228
|
-
} | undefined, callback?: (error: Error | null) => void): boolean;
|
|
229
|
-
disconnect(): void;
|
|
230
|
-
unref(): void;
|
|
231
|
-
ref(): void;
|
|
232
|
-
}
|
|
233
|
-
interface WritableStreamType {
|
|
234
|
-
writable: boolean;
|
|
235
|
-
writableEnded: boolean;
|
|
236
|
-
writableFinished: boolean;
|
|
237
|
-
writableHighWaterMark: number;
|
|
238
|
-
writableLength: number;
|
|
239
|
-
writableObjectMode: boolean;
|
|
240
|
-
writableCorked: number;
|
|
241
|
-
destroyed: boolean;
|
|
242
|
-
write(chunk: unknown, encoding?: BufferEncoding | undefined, callback?: (error?: Error | null) => void): boolean;
|
|
243
|
-
write(chunk: unknown, callback?: (error?: Error | null) => void): boolean;
|
|
244
|
-
end(cb?: () => void): this;
|
|
245
|
-
end(chunk: unknown, cb?: () => void): this;
|
|
246
|
-
end(chunk: unknown, encoding?: BufferEncoding | undefined, cb?: () => void): this;
|
|
247
|
-
cork(): void;
|
|
248
|
-
uncork(): void;
|
|
249
|
-
destroy(error?: Error | undefined): this;
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Options for spawning a child process with {@link spawn}.
|
|
253
|
-
* Extends Node.js spawn options with additional Socket-specific functionality.
|
|
254
|
-
*
|
|
255
|
-
* @property {string | URL | undefined} cwd - Current working directory
|
|
256
|
-
* @property {NodeJS.ProcessEnv | undefined} env - Environment variables
|
|
257
|
-
* @property {number | undefined} gid - Group identity (POSIX)
|
|
258
|
-
* @property {boolean | string | undefined} shell - Run command in shell
|
|
259
|
-
* @property {AbortSignal | undefined} signal - Abort signal
|
|
260
|
-
* @property {import('./spinner').Spinner | undefined} spinner - Spinner instance to pause during execution
|
|
261
|
-
* @property {StdioType | undefined} stdio - Stdio configuration
|
|
262
|
-
* @property {boolean | undefined} stdioString - Convert output to strings (default: `true`)
|
|
263
|
-
* @property {boolean | undefined} stripAnsi - Remove ANSI codes from output (default: `true`)
|
|
264
|
-
* @property {number | undefined} timeout - Timeout in milliseconds
|
|
265
|
-
* @property {number | undefined} uid - User identity (POSIX)
|
|
266
|
-
* @property {boolean | undefined} windowsVerbatimArguments - Don't quote or escape arguments on Windows (requires shell: true). Use when you need exact argument control. Default: false
|
|
267
|
-
*/
|
|
268
|
-
export type SpawnOptions = import('./objects').Remap<NodeSpawnOptions & {
|
|
269
|
-
spinner?: import('./spinner').Spinner | undefined;
|
|
270
|
-
stdioString?: boolean;
|
|
271
|
-
stripAnsi?: boolean;
|
|
272
|
-
}>;
|
|
273
|
-
export type SpawnResult = PromiseSpawnResult;
|
|
274
|
-
/**
|
|
275
|
-
* Result object returned when a spawned process completes.
|
|
276
|
-
*
|
|
277
|
-
* @property {string} cmd - Command that was executed
|
|
278
|
-
* @property {string[] | readonly string[]} args - Arguments passed to the command
|
|
279
|
-
* @property {number} code - Process exit code
|
|
280
|
-
* @property {NodeJS.Signals | null} signal - Signal that terminated the process, if any
|
|
281
|
-
* @property {string | Buffer} stdout - Standard output (string if `stdioString: true`, Buffer otherwise)
|
|
282
|
-
* @property {string | Buffer} stderr - Standard error (string if `stdioString: true`, Buffer otherwise)
|
|
283
|
-
*/
|
|
284
|
-
export type SpawnStdioResult = {
|
|
285
|
-
cmd: string;
|
|
286
|
-
args: string[] | readonly string[];
|
|
287
|
-
code: number;
|
|
288
|
-
signal: NodeJS.Signals | null;
|
|
289
|
-
stdout: string | Buffer;
|
|
290
|
-
stderr: string | Buffer;
|
|
291
|
-
};
|
|
292
|
-
/**
|
|
293
|
-
* Options for synchronously spawning a child process with {@link spawnSync}.
|
|
294
|
-
* Same as {@link SpawnOptions} but excludes the `spinner` property (not applicable for synchronous execution).
|
|
295
|
-
*/
|
|
296
|
-
export type SpawnSyncOptions = Omit<SpawnOptions, 'spinner'>;
|
|
297
|
-
/**
|
|
298
|
-
* Enhances spawn error with better context.
|
|
299
|
-
* Converts generic "command failed" to detailed error with command, exit code, and stderr.
|
|
300
|
-
*
|
|
301
|
-
* @example
|
|
302
|
-
* ```typescript
|
|
303
|
-
* try {
|
|
304
|
-
* await spawn('git', ['status'])
|
|
305
|
-
* } catch (e) {
|
|
306
|
-
* throw enhanceSpawnError(e)
|
|
307
|
-
* }
|
|
308
|
-
* ```
|
|
309
|
-
*/
|
|
310
|
-
export declare function enhanceSpawnError(error: unknown): unknown;
|
|
311
|
-
/**
|
|
312
|
-
* Check if a value is a spawn error with expected error properties.
|
|
313
|
-
* Tests for common error properties from child process failures.
|
|
314
|
-
*
|
|
315
|
-
* @param {unknown} value - Value to check
|
|
316
|
-
* @returns {boolean} `true` if the value has spawn error properties
|
|
317
|
-
*
|
|
318
|
-
* @example
|
|
319
|
-
* try {
|
|
320
|
-
* await spawn('nonexistent-command')
|
|
321
|
-
* } catch (e) {
|
|
322
|
-
* if (isSpawnError(e)) {
|
|
323
|
-
* console.error(`Spawn failed: ${e.code}`)
|
|
324
|
-
* }
|
|
325
|
-
* }
|
|
326
|
-
*/
|
|
327
|
-
export declare function isSpawnError(value: unknown): value is SpawnError;
|
|
328
|
-
/**
|
|
329
|
-
* Check if stdio configuration matches a specific type.
|
|
330
|
-
* When called with one argument, validates if it's a valid stdio type.
|
|
331
|
-
* When called with two arguments, checks if the stdio config matches the specified type.
|
|
332
|
-
*
|
|
333
|
-
* @param {string | string[]} stdio - Stdio configuration to check
|
|
334
|
-
* @param {StdioType | undefined} type - Expected stdio type (optional)
|
|
335
|
-
* @returns {boolean} `true` if stdio matches the type or is valid
|
|
336
|
-
*
|
|
337
|
-
* @example
|
|
338
|
-
* // Check if valid stdio type
|
|
339
|
-
* isStdioType('pipe') // true
|
|
340
|
-
* isStdioType('invalid') // false
|
|
341
|
-
*
|
|
342
|
-
* @example
|
|
343
|
-
* // Check if stdio matches specific type
|
|
344
|
-
* isStdioType('pipe', 'pipe') // true
|
|
345
|
-
* isStdioType(['pipe', 'pipe', 'pipe'], 'pipe') // true
|
|
346
|
-
* isStdioType('ignore', 'pipe') // false
|
|
347
|
-
*/
|
|
348
|
-
export declare function isStdioType(stdio: string | string[], type?: StdioType | undefined): boolean;
|
|
349
|
-
/**
|
|
350
|
-
* Spawn a child process and return a promise that resolves when it completes.
|
|
351
|
-
* Provides enhanced error handling, output capture, and cross-platform support.
|
|
352
|
-
*
|
|
353
|
-
* SECURITY: This function uses array-based arguments which prevent command injection.
|
|
354
|
-
* Arguments in the `args` array are passed directly to the OS without shell
|
|
355
|
-
* interpretation. Shell metacharacters (;|&$()`) are treated as literal strings,
|
|
356
|
-
* not as commands or operators. This is the PRIMARY SECURITY DEFENSE.
|
|
357
|
-
*
|
|
358
|
-
* Even when shell: true is used (on Windows for .cmd/.bat execution), the array-based
|
|
359
|
-
* approach remains secure because Node.js properly escapes each argument before passing
|
|
360
|
-
* to the shell.
|
|
361
|
-
*
|
|
362
|
-
* @param {string} cmd - Command to execute (not user-controlled)
|
|
363
|
-
* @param {string[] | readonly string[] | undefined} args - Array of arguments (safe even with user input)
|
|
364
|
-
* @param {SpawnOptions | undefined} options - Spawn options for process configuration
|
|
365
|
-
* @param {SpawnExtra | undefined} extra - Extra options for promise-spawn
|
|
366
|
-
* @returns {SpawnResult} Promise that resolves with process exit information
|
|
367
|
-
*
|
|
368
|
-
* @throws {SpawnError} When the process exits with non-zero code or is terminated by signal
|
|
369
|
-
*
|
|
370
|
-
* @example
|
|
371
|
-
* // Basic usage - spawn and wait for completion
|
|
372
|
-
* const result = await spawn('git', ['status'])
|
|
373
|
-
* console.log(result.stdout)
|
|
374
|
-
*
|
|
375
|
-
* @example
|
|
376
|
-
* // With options - set working directory and environment
|
|
377
|
-
* const result = await spawn('npm', ['install'], {
|
|
378
|
-
* cwd: '/path/to/project',
|
|
379
|
-
* env: { NODE_ENV: 'production' }
|
|
380
|
-
* })
|
|
381
|
-
*
|
|
382
|
-
* @example
|
|
383
|
-
* // ✔ DO THIS - Array-based arguments (safe)
|
|
384
|
-
* spawn('git', ['commit', '-m', userMessage])
|
|
385
|
-
* // Each argument is properly escaped, even if userMessage = "foo; rm -rf /"
|
|
386
|
-
*
|
|
387
|
-
* @example
|
|
388
|
-
* // ✖ NEVER DO THIS - String concatenation (vulnerable)
|
|
389
|
-
* spawn(`git commit -m "${userMessage}"`, { shell: true })
|
|
390
|
-
* // Vulnerable to injection if userMessage = '"; rm -rf / #'
|
|
391
|
-
*
|
|
392
|
-
* @example
|
|
393
|
-
* // Access stdin for interactive processes
|
|
394
|
-
* const result = spawn('cat', [])
|
|
395
|
-
* result.stdin?.write('Hello\n')
|
|
396
|
-
* result.stdin?.end()
|
|
397
|
-
* const { stdout } = await result
|
|
398
|
-
* console.log(stdout) // 'Hello'
|
|
399
|
-
*
|
|
400
|
-
* @example
|
|
401
|
-
* // Handle errors with exit codes
|
|
402
|
-
* try {
|
|
403
|
-
* await spawn('exit', ['1'])
|
|
404
|
-
* } catch (e) {
|
|
405
|
-
* if (isSpawnError(e)) {
|
|
406
|
-
* console.error(`Failed with code ${e.code}`)
|
|
407
|
-
* console.error(e.stderr)
|
|
408
|
-
* }
|
|
409
|
-
* }
|
|
410
|
-
*/
|
|
411
|
-
export declare function spawn(cmd: string, args?: string[] | readonly string[], options?: SpawnOptions | undefined, extra?: SpawnExtra | undefined): SpawnResult;
|
|
412
|
-
/**
|
|
413
|
-
* Synchronously spawn a child process and wait for it to complete.
|
|
414
|
-
* Blocks execution until the process exits, returning all output and exit information.
|
|
415
|
-
*
|
|
416
|
-
* WARNING: This function blocks the event loop. Use {@link spawn} for async operations.
|
|
417
|
-
*
|
|
418
|
-
* @param {string} cmd - Command to execute
|
|
419
|
-
* @param {string[] | readonly string[] | undefined} args - Array of arguments
|
|
420
|
-
* @param {SpawnSyncOptions | undefined} options - Spawn options for process configuration
|
|
421
|
-
* @returns {SpawnSyncReturns<string | Buffer>} Process result with exit code and captured output
|
|
422
|
-
*
|
|
423
|
-
* @example
|
|
424
|
-
* // Basic synchronous spawn
|
|
425
|
-
* const result = spawnSync('git', ['status'])
|
|
426
|
-
* console.log(result.stdout)
|
|
427
|
-
* console.log(result.status) // exit code
|
|
428
|
-
*
|
|
429
|
-
* @example
|
|
430
|
-
* // With options
|
|
431
|
-
* const result = spawnSync('npm', ['install'], {
|
|
432
|
-
* cwd: '/path/to/project',
|
|
433
|
-
* stdioString: true
|
|
434
|
-
* })
|
|
435
|
-
* if (result.status !== 0) {
|
|
436
|
-
* console.error(result.stderr)
|
|
437
|
-
* }
|
|
438
|
-
*
|
|
439
|
-
* @example
|
|
440
|
-
* // Get raw buffer output
|
|
441
|
-
* const result = spawnSync('cat', ['binary-file'], {
|
|
442
|
-
* stdioString: false
|
|
443
|
-
* })
|
|
444
|
-
* console.log(result.stdout) // Buffer
|
|
445
|
-
*
|
|
446
|
-
* @example
|
|
447
|
-
* // Handle process errors
|
|
448
|
-
* const result = spawnSync('nonexistent-command')
|
|
449
|
-
* if (result.error) {
|
|
450
|
-
* console.error('Failed to spawn:', result.error)
|
|
451
|
-
* }
|
|
452
|
-
*/
|
|
453
|
-
export declare function spawnSync(cmd: string, args?: string[] | readonly string[], options?: SpawnSyncOptions | undefined): SpawnSyncReturns<string | Buffer>;
|
|
454
|
-
export {};
|