@socketsecurity/lib 5.28.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +135 -37
- package/README.md +26 -17
- package/dist/abort/signal.d.ts +28 -0
- package/dist/{abort.js → abort/signal.js} +12 -10
- package/dist/ai/discover.d.mts +50 -0
- package/dist/ai/discover.js +128 -0
- package/dist/ai/profiles.d.mts +39 -0
- package/dist/ai/profiles.js +61 -0
- package/dist/ai/spawn.d.mts +49 -0
- package/dist/ai/spawn.js +207 -0
- package/dist/ai/types.d.mts +117 -0
- package/dist/ai/types.js +18 -0
- package/dist/ai/worktree.d.mts +104 -0
- package/dist/ai/worktree.js +200 -0
- package/dist/ansi/constants.d.ts +10 -0
- package/dist/ansi/constants.js +45 -0
- package/dist/ansi/strip.d.ts +33 -0
- package/dist/{ansi.js → ansi/strip.js} +7 -24
- package/dist/archives/_internal.d.ts +39 -0
- package/dist/archives/_internal.js +87 -0
- package/dist/archives/detect.d.ts +19 -0
- package/dist/archives/detect.js +46 -0
- package/dist/archives/extract.d.ts +22 -0
- package/dist/archives/extract.js +53 -0
- package/dist/archives/tar.d.ts +42 -0
- package/dist/archives/tar.js +233 -0
- package/dist/archives/types.d.ts +34 -0
- package/dist/archives/types.js +18 -0
- package/dist/archives/zip.d.ts +20 -0
- package/dist/archives/zip.js +124 -0
- package/dist/argv/flag-predicates.d.ts +179 -0
- package/dist/argv/flag-predicates.js +118 -0
- package/dist/argv/flag-types.d.ts +123 -0
- package/dist/argv/flag-types.js +116 -0
- package/dist/argv/parse-args-string.d.ts +30 -0
- package/dist/argv/parse-args-string.js +42 -0
- package/dist/argv/parse.d.ts +34 -33
- package/dist/argv/parse.js +6 -4
- package/dist/arrays/_internal.d.ts +43 -0
- package/dist/{arrays.js → arrays/_internal.js} +8 -41
- package/dist/arrays/chunk.d.ts +37 -0
- package/dist/arrays/chunk.js +43 -0
- package/dist/arrays/join.d.ts +76 -0
- package/dist/{env/helpers.js → arrays/join.js} +12 -18
- package/dist/arrays/predicates.d.ts +40 -0
- package/dist/arrays/predicates.js +30 -0
- package/dist/arrays/unique.d.ts +36 -0
- package/dist/arrays/unique.js +34 -0
- package/dist/bin/_internal.d.ts +22 -0
- package/dist/bin/_internal.js +43 -0
- package/dist/bin/check-primordials.d.ts +41 -15
- package/dist/bin/check-primordials.js +49 -28
- package/dist/bin/check.d.ts +7 -12
- package/dist/bin/check.js +6 -2
- package/dist/bin/exec.d.ts +37 -0
- package/dist/bin/exec.js +79 -0
- package/dist/bin/find.d.ts +58 -0
- package/dist/bin/find.js +143 -0
- package/dist/bin/resolve.d.ts +30 -0
- package/dist/bin/resolve.js +249 -0
- package/dist/bin/shadow.d.ts +16 -0
- package/dist/bin/shadow.js +36 -0
- package/dist/bin/socket-lib.d.ts +10 -14
- package/dist/bin/socket-lib.js +19 -4
- package/dist/bin/types.d.ts +34 -0
- package/dist/bin/types.js +18 -0
- package/dist/bin/which.d.ts +111 -0
- package/dist/bin/which.js +155 -0
- package/dist/cacache/_internal.d.ts +15 -0
- package/dist/cacache/_internal.js +43 -0
- package/dist/cacache/clear.d.ts +43 -0
- package/dist/cacache/clear.js +77 -0
- package/dist/cacache/read.d.ts +31 -0
- package/dist/cacache/read.js +51 -0
- package/dist/cacache/tmp.d.ts +18 -0
- package/dist/cacache/tmp.js +39 -0
- package/dist/cacache/types.d.ts +37 -0
- package/dist/cacache/types.js +18 -0
- package/dist/cacache/write.d.ts +31 -0
- package/dist/cacache/write.js +53 -0
- package/dist/cache/ttl/store.d.ts +29 -0
- package/dist/{cache-with-ttl.js → cache/ttl/store.js} +45 -37
- package/dist/cache/ttl/types.d.ts +109 -0
- package/dist/cache/ttl/types.js +18 -0
- package/dist/checks/primordials-defaults.d.ts +20 -0
- package/dist/checks/primordials-defaults.js +92 -0
- package/dist/checks/primordials.d.ts +69 -61
- package/dist/checks/primordials.js +141 -92
- package/dist/colors/convert.d.ts +35 -0
- package/dist/colors/convert.js +42 -0
- package/dist/colors/palette.d.ts +7 -0
- package/dist/{colors.js → colors/palette.js} +5 -17
- package/dist/colors/socket-palette.d.ts +69 -0
- package/dist/colors/socket-palette.js +91 -0
- package/dist/colors/types.d.ts +29 -0
- package/dist/colors/types.js +18 -0
- package/dist/compression/_internal.d.ts +33 -0
- package/dist/compression/_internal.js +77 -0
- package/dist/compression/brotli.d.ts +82 -0
- package/dist/{compression.js → compression/brotli.js} +17 -145
- package/dist/compression/gzip.d.ts +70 -0
- package/dist/compression/gzip.js +142 -0
- package/dist/compression/types.d.ts +37 -0
- package/dist/compression/types.js +18 -0
- package/dist/constants/agents.d.ts +4 -3
- package/dist/constants/agents.js +7 -4
- package/dist/constants/encoding.d.ts +3 -3
- package/dist/constants/github.d.ts +2 -3
- package/dist/constants/licenses.d.ts +5 -5
- package/dist/constants/licenses.js +2 -2
- package/dist/constants/lifecycle-script-names.d.ts +3 -4
- package/dist/constants/lifecycle-script-names.js +2 -2
- package/dist/constants/maintained-node-versions.d.ts +1 -1
- package/dist/constants/maintained-node-versions.js +3 -4
- package/dist/constants/node.d.ts +21 -20
- package/dist/constants/node.js +4 -4
- package/dist/constants/package-default-node-range.d.ts +1 -1
- package/dist/constants/package-default-socket-categories.d.ts +1 -1
- package/dist/constants/package-default-socket-categories.js +2 -2
- package/dist/constants/packages.d.ts +4 -4
- package/dist/constants/packages.js +7 -5
- package/dist/constants/platform.d.ts +3 -1
- package/dist/constants/platform.js +3 -10
- package/dist/constants/{core.d.ts → sentinels.d.ts} +4 -4
- package/dist/constants/{core.js → sentinels.js} +3 -3
- package/dist/constants/socket.d.ts +4 -6
- package/dist/constants/socket.js +6 -9
- package/dist/constants/testing.d.ts +3 -3
- package/dist/constants/time.d.ts +3 -3
- package/dist/constants/typescript.d.ts +3 -3
- package/dist/cover/code.d.ts +11 -3
- package/dist/cover/code.js +27 -37
- package/dist/cover/formatters.d.ts +19 -15
- package/dist/cover/formatters.js +21 -18
- package/dist/cover/type.d.ts +4 -3
- package/dist/cover/type.js +10 -9
- package/dist/cover/types.d.ts +1 -1
- package/dist/crypto/hash.d.ts +36 -0
- package/dist/{crypto.js → crypto/hash.js} +17 -17
- package/dist/debug/_internal.d.ts +25 -0
- package/dist/debug/_internal.js +77 -0
- package/dist/debug/caller-info.d.ts +12 -0
- package/dist/debug/caller-info.js +67 -0
- package/dist/debug/namespace.d.ts +35 -0
- package/dist/debug/namespace.js +101 -0
- package/dist/{debug.d.ts → debug/output.d.ts} +23 -42
- package/dist/debug/output.js +209 -0
- package/dist/debug/types.d.ts +21 -0
- package/dist/debug/types.js +18 -0
- package/dist/dlx/_internal.d.ts +10 -0
- package/dist/dlx/_internal.js +47 -0
- package/dist/dlx/arborist.d.ts +86 -61
- package/dist/dlx/arborist.js +30 -35
- package/dist/dlx/binary-cache.d.ts +108 -0
- package/dist/dlx/binary-cache.js +212 -0
- package/dist/dlx/binary-download.d.ts +67 -0
- package/dist/dlx/binary-download.js +216 -0
- package/dist/dlx/binary-resolution.d.ts +61 -0
- package/dist/dlx/binary-resolution.js +164 -0
- package/dist/dlx/binary-types.d.ts +144 -0
- package/dist/dlx/binary-types.js +18 -0
- package/dist/dlx/binary.d.ts +39 -268
- package/dist/dlx/binary.js +40 -321
- package/dist/dlx/cache.d.ts +21 -16
- package/dist/dlx/cache.js +2 -2
- package/dist/dlx/detect.d.ts +94 -68
- package/dist/dlx/detect.js +32 -35
- package/dist/dlx/dir.d.ts +20 -18
- package/dist/dlx/dir.js +7 -14
- package/dist/dlx/firewall.d.ts +27 -0
- package/dist/dlx/firewall.js +107 -0
- package/dist/dlx/lockfile.d.ts +73 -56
- package/dist/dlx/lockfile.js +36 -44
- package/dist/dlx/manifest.d.ts +50 -51
- package/dist/dlx/manifest.js +52 -53
- package/dist/dlx/package.d.ts +83 -279
- package/dist/dlx/package.js +45 -267
- package/dist/dlx/packages.d.ts +22 -20
- package/dist/dlx/packages.js +15 -20
- package/dist/dlx/paths.d.ts +26 -23
- package/dist/dlx/paths.js +8 -15
- package/dist/dlx/spec.d.ts +25 -0
- package/dist/dlx/spec.js +63 -0
- package/dist/dlx/types.d.ts +142 -0
- package/dist/dlx/types.js +18 -0
- package/dist/eco/cargo/lockfile-format.d.ts +8 -0
- package/dist/eco/cargo/lockfile-format.js +39 -0
- package/dist/eco/cargo/manifest-format.d.ts +7 -0
- package/dist/eco/cargo/manifest-format.js +38 -0
- package/dist/eco/cargo/parse-lockfile.d.ts +84 -0
- package/dist/eco/cargo/parse-lockfile.js +257 -0
- package/dist/eco/manifest/analyze-lockfile.d.ts +10 -0
- package/dist/eco/manifest/analyze-lockfile.js +67 -0
- package/dist/eco/manifest/detect-format.d.ts +15 -0
- package/dist/eco/manifest/detect-format.js +98 -0
- package/dist/eco/manifest/find-packages.d.ts +14 -0
- package/dist/eco/manifest/find-packages.js +69 -0
- package/dist/eco/manifest/get-package-versions.d.ts +8 -0
- package/dist/eco/manifest/get-package-versions.js +52 -0
- package/dist/eco/manifest/get-package.d.ts +10 -0
- package/dist/eco/manifest/get-package.js +44 -0
- package/dist/eco/manifest/manifest-error.d.ts +18 -0
- package/dist/eco/manifest/manifest-error.js +37 -0
- package/dist/eco/manifest/parse-lockfile.d.ts +16 -0
- package/dist/eco/manifest/parse-lockfile.js +91 -0
- package/dist/eco/manifest/parse-manifest.d.ts +12 -0
- package/dist/eco/manifest/parse-manifest.js +48 -0
- package/dist/eco/manifest/parse.d.ts +9 -0
- package/dist/eco/manifest/parse.js +52 -0
- package/dist/eco/manifest/types.d.ts +10 -0
- package/dist/eco/manifest/types.js +18 -0
- package/dist/eco/npm/bun/exec.d.ts +15 -0
- package/dist/eco/npm/bun/exec.js +35 -0
- package/dist/eco/npm/manifest-format.d.ts +11 -0
- package/dist/eco/npm/manifest-format.js +38 -0
- package/dist/eco/npm/npm/exec.d.ts +24 -0
- package/dist/eco/npm/npm/exec.js +64 -0
- package/dist/eco/npm/npm/extract-package-name-from-path.d.ts +9 -0
- package/dist/eco/npm/npm/extract-package-name-from-path.js +54 -0
- package/dist/eco/npm/npm/flags.d.ts +62 -0
- package/dist/eco/npm/npm/flags.js +63 -0
- package/dist/eco/npm/npm/lockfile-format.d.ts +9 -0
- package/dist/eco/npm/npm/lockfile-format.js +42 -0
- package/dist/eco/npm/npm/parse-git-url.d.ts +13 -0
- package/dist/eco/npm/npm/parse-git-url.js +43 -0
- package/dist/eco/npm/npm/parse-lockfile.d.ts +70 -0
- package/dist/eco/npm/npm/parse-lockfile.js +224 -0
- package/dist/eco/npm/parse-package-json.d.ts +16 -0
- package/dist/eco/npm/parse-package-json.js +115 -0
- package/dist/eco/npm/pnpm/detect-pnpm-version.d.ts +7 -0
- package/dist/eco/npm/pnpm/detect-pnpm-version.js +47 -0
- package/dist/eco/npm/pnpm/exec.d.ts +26 -0
- package/dist/eco/npm/pnpm/exec.js +65 -0
- package/dist/eco/npm/pnpm/flags.d.ts +44 -0
- package/dist/eco/npm/pnpm/flags.js +76 -0
- package/dist/eco/npm/pnpm/lockfile-format.d.ts +8 -0
- package/dist/eco/npm/pnpm/lockfile-format.js +39 -0
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +69 -0
- package/dist/eco/npm/pnpm/parse-lockfile.js +274 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.d.ts +15 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +50 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.d.ts +11 -0
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +52 -0
- package/dist/eco/npm/script.d.ts +35 -0
- package/dist/eco/npm/script.js +93 -0
- package/dist/eco/npm/vlt/exec.d.ts +16 -0
- package/dist/eco/npm/vlt/exec.js +35 -0
- package/dist/eco/npm/yarnpkg/yarn/exec.d.ts +28 -0
- package/dist/eco/npm/yarnpkg/yarn/exec.js +63 -0
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.d.ts +9 -0
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +39 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +61 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +261 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.d.ts +16 -0
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +68 -0
- package/dist/{types.d.ts → eco/purl.d.ts} +14 -26
- package/dist/{types.js → eco/purl.js} +3 -3
- package/dist/eco/types.d.ts +51 -0
- package/dist/eco/types.js +18 -0
- package/dist/effects/pulse-frames.d.ts +16 -17
- package/dist/effects/pulse-frames.js +4 -4
- package/dist/effects/shimmer-keyframes.d.ts +39 -37
- package/dist/effects/shimmer-terminal.d.ts +43 -42
- package/dist/effects/shimmer-terminal.js +3 -3
- package/dist/effects/shimmer.d.ts +172 -153
- package/dist/effects/shimmer.js +78 -76
- package/dist/env/boolean.d.ts +33 -0
- package/dist/env/boolean.js +46 -0
- package/dist/env/case-insensitive.d.ts +42 -0
- package/dist/env/case-insensitive.js +42 -0
- package/dist/env/ci.d.ts +11 -12
- package/dist/env/debug.d.ts +10 -10
- package/dist/env/github.d.ts +71 -74
- package/dist/env/home.d.ts +15 -14
- package/dist/env/locale.d.ts +26 -29
- package/dist/env/node-auth-token.d.ts +10 -10
- package/dist/env/node-env.d.ts +10 -10
- package/dist/env/npm.d.ts +45 -47
- package/dist/env/number.d.ts +29 -0
- package/dist/env/number.js +54 -0
- package/dist/env/package-manager.d.ts +36 -33
- package/dist/env/package-manager.js +3 -3
- package/dist/env/path.d.ts +10 -10
- package/dist/env/pre-commit.d.ts +11 -11
- package/dist/env/pre-commit.js +2 -2
- package/dist/env/proxy.d.ts +44 -0
- package/dist/env/proxy.js +126 -0
- package/dist/env/rewire.d.ts +105 -99
- package/dist/env/rewire.js +11 -8
- package/dist/env/shell.d.ts +10 -10
- package/dist/env/socket-cli.d.ts +109 -125
- package/dist/env/socket-cli.js +7 -12
- package/dist/env/socket.d.ts +347 -130
- package/dist/env/socket.js +107 -8
- package/dist/env/string.d.ts +28 -0
- package/dist/env/string.js +47 -0
- package/dist/env/temp-dir.d.ts +26 -29
- package/dist/env/term.d.ts +10 -10
- package/dist/env/test.d.ts +29 -31
- package/dist/env/test.js +5 -4
- package/dist/env/types.d.ts +62 -0
- package/dist/env/types.js +18 -0
- package/dist/env/windows.d.ts +37 -38
- package/dist/env/xdg.d.ts +29 -29
- package/dist/errors/message.d.ts +27 -0
- package/dist/errors/message.js +49 -0
- package/dist/errors/predicates.d.ts +46 -0
- package/dist/{errors.js → errors/predicates.js} +13 -43
- package/dist/errors/stack.d.ts +16 -0
- package/dist/errors/stack.js +39 -0
- package/dist/events/exit/_internal.d.ts +68 -0
- package/dist/events/exit/_internal.js +127 -0
- package/dist/events/exit/handler.d.ts +20 -0
- package/dist/events/exit/handler.js +58 -0
- package/dist/events/exit/intercept.d.ts +8 -0
- package/dist/events/exit/intercept.js +75 -0
- package/dist/events/exit/lifecycle.d.ts +28 -0
- package/dist/events/exit/lifecycle.js +109 -0
- package/dist/events/exit/signals.d.ts +16 -0
- package/dist/events/exit/signals.js +34 -0
- package/dist/events/exit/types.d.ts +21 -0
- package/dist/events/exit/types.js +18 -0
- package/dist/events/warning/handler.d.ts +31 -0
- package/dist/events/warning/handler.js +43 -0
- package/dist/events/warning/suppress.d.ts +65 -0
- package/dist/{suppress-warnings.js → events/warning/suppress.js} +16 -28
- package/dist/external/@npmcli/package-json/lib/read-package.js +11 -1
- package/dist/external/@npmcli/package-json.js +300 -82
- package/dist/external/@npmcli/promise-spawn.js +15 -1
- package/dist/external/@socketregistry/packageurl-js.js +7 -1
- package/dist/external/@socketregistry/yocto-spinner.js +5 -1
- package/dist/external/@yarnpkg/extensions.js +1 -1
- package/dist/external/adm-zip.js +20 -4
- package/dist/external/debug.js +15 -1
- package/dist/external/external-pack.js +20 -4
- package/dist/external/fast-sort.js +3 -1
- package/dist/external/get-east-asian-width.js +3 -1
- package/dist/external/libnpmexec.js +5 -1
- package/dist/external/npm-pack.js +344 -113
- package/dist/external/p-map.js +7 -1
- package/dist/external/pico-pack.js +17 -1
- package/dist/external/pony-cause.js +1 -1
- package/dist/external/spdx-pack.js +3 -1
- package/dist/external/supports-color.js +1 -1
- package/dist/external/tar-fs.js +15 -1
- package/dist/external/which.js +11 -1
- package/dist/external/yargs-parser.js +15 -1
- package/dist/external-tools/bazel/asset-names.d.ts +66 -0
- package/dist/external-tools/bazel/asset-names.js +96 -0
- package/dist/external-tools/bazel/from-download.d.ts +49 -0
- package/dist/external-tools/bazel/from-download.js +49 -0
- package/dist/external-tools/bazel/from-path.d.ts +8 -0
- package/dist/external-tools/bazel/from-path.js +41 -0
- package/dist/external-tools/bazel/read-bazel-version-file.d.ts +12 -0
- package/dist/external-tools/bazel/read-bazel-version-file.js +61 -0
- package/dist/external-tools/bazel/resolve-asset-url.d.ts +14 -0
- package/dist/external-tools/bazel/resolve-asset-url.js +42 -0
- package/dist/external-tools/bazel/resolve-bazel-version.d.ts +19 -0
- package/dist/external-tools/bazel/resolve-bazel-version.js +59 -0
- package/dist/external-tools/bazel/resolve.d.ts +35 -0
- package/dist/external-tools/bazel/resolve.js +68 -0
- package/dist/external-tools/bazel/types.d.ts +22 -0
- package/dist/external-tools/bazel/types.js +18 -0
- package/dist/external-tools/cdxgen/asset-names.d.ts +58 -0
- package/dist/external-tools/cdxgen/asset-names.js +79 -0
- package/dist/external-tools/cdxgen/from-download.d.ts +43 -0
- package/dist/external-tools/cdxgen/from-download.js +83 -0
- package/dist/external-tools/cdxgen/from-path.d.ts +5 -0
- package/dist/external-tools/cdxgen/from-path.js +40 -0
- package/dist/external-tools/cdxgen/from-vfs.d.ts +7 -0
- package/dist/external-tools/cdxgen/from-vfs.js +47 -0
- package/dist/external-tools/cdxgen/resolve.d.ts +32 -0
- package/dist/external-tools/cdxgen/resolve.js +73 -0
- package/dist/external-tools/cdxgen/types.d.ts +33 -0
- package/dist/external-tools/cdxgen/types.js +18 -0
- package/dist/external-tools/from-download.d.ts +162 -0
- package/dist/external-tools/from-download.js +72 -0
- package/dist/external-tools/janus/asset-names.d.ts +43 -0
- package/dist/external-tools/janus/asset-names.js +57 -0
- package/dist/external-tools/janus/from-download.d.ts +26 -0
- package/dist/external-tools/janus/from-download.js +73 -0
- package/dist/external-tools/janus/from-path.d.ts +5 -0
- package/dist/external-tools/janus/from-path.js +40 -0
- package/dist/external-tools/janus/from-vfs.d.ts +7 -0
- package/dist/external-tools/janus/from-vfs.js +47 -0
- package/dist/external-tools/janus/resolve.d.ts +28 -0
- package/dist/external-tools/janus/resolve.js +73 -0
- package/dist/external-tools/janus/types.d.ts +24 -0
- package/dist/external-tools/janus/types.js +18 -0
- package/dist/external-tools/jre/asset-names.d.ts +91 -0
- package/dist/external-tools/jre/asset-names.js +88 -0
- package/dist/external-tools/jre/detect-platform-arch.d.ts +8 -0
- package/dist/external-tools/jre/detect-platform-arch.js +52 -0
- package/dist/external-tools/jre/from-download.d.ts +62 -0
- package/dist/external-tools/jre/from-download.js +70 -0
- package/dist/external-tools/jre/from-java-home.d.ts +10 -0
- package/dist/external-tools/jre/from-java-home.js +57 -0
- package/dist/external-tools/jre/from-path.d.ts +9 -0
- package/dist/external-tools/jre/from-path.js +52 -0
- package/dist/external-tools/jre/from-vfs.d.ts +17 -0
- package/dist/external-tools/jre/from-vfs.js +64 -0
- package/dist/external-tools/jre/resolve.d.ts +40 -0
- package/dist/external-tools/jre/resolve.js +78 -0
- package/dist/external-tools/jre/types.d.ts +28 -0
- package/dist/external-tools/jre/types.js +18 -0
- package/dist/external-tools/manifest.d.ts +105 -0
- package/dist/external-tools/manifest.js +167 -0
- package/dist/external-tools/opengrep/asset-names.d.ts +44 -0
- package/dist/external-tools/opengrep/asset-names.js +78 -0
- package/dist/external-tools/opengrep/from-download.d.ts +17 -0
- package/dist/external-tools/opengrep/from-download.js +83 -0
- package/dist/external-tools/opengrep/from-path.d.ts +5 -0
- package/dist/external-tools/opengrep/from-path.js +40 -0
- package/dist/external-tools/opengrep/from-vfs.d.ts +8 -0
- package/dist/external-tools/opengrep/from-vfs.js +47 -0
- package/dist/external-tools/opengrep/resolve.d.ts +26 -0
- package/dist/external-tools/opengrep/resolve.js +73 -0
- package/dist/external-tools/opengrep/types.d.ts +24 -0
- package/dist/external-tools/opengrep/types.js +18 -0
- package/dist/external-tools/sbt/asset-names.d.ts +31 -0
- package/dist/external-tools/sbt/asset-names.js +33 -0
- package/dist/external-tools/sbt/from-download.d.ts +44 -0
- package/dist/external-tools/sbt/from-download.js +64 -0
- package/dist/external-tools/sbt/from-path.d.ts +8 -0
- package/dist/external-tools/sbt/from-path.js +41 -0
- package/dist/external-tools/sbt/from-vfs.d.ts +14 -0
- package/dist/external-tools/sbt/from-vfs.js +48 -0
- package/dist/external-tools/sbt/resolve.d.ts +31 -0
- package/dist/external-tools/sbt/resolve.js +73 -0
- package/dist/external-tools/sbt/types.d.ts +32 -0
- package/dist/external-tools/sbt/types.js +18 -0
- package/dist/external-tools/synp/asset-names.d.ts +14 -0
- package/dist/external-tools/synp/asset-names.js +32 -0
- package/dist/external-tools/synp/from-download.d.ts +18 -0
- package/dist/external-tools/synp/from-download.js +44 -0
- package/dist/external-tools/synp/from-path.d.ts +5 -0
- package/dist/external-tools/synp/from-path.js +40 -0
- package/dist/external-tools/synp/from-vfs.d.ts +7 -0
- package/dist/external-tools/synp/from-vfs.js +47 -0
- package/dist/external-tools/synp/resolve.d.ts +21 -0
- package/dist/external-tools/synp/resolve.js +72 -0
- package/dist/external-tools/synp/types.d.ts +19 -0
- package/dist/external-tools/synp/types.js +18 -0
- package/dist/external-tools/trivy/asset-names.d.ts +34 -0
- package/dist/external-tools/trivy/asset-names.js +68 -0
- package/dist/external-tools/trivy/from-download.d.ts +17 -0
- package/dist/external-tools/trivy/from-download.js +67 -0
- package/dist/external-tools/trivy/from-path.d.ts +5 -0
- package/dist/external-tools/trivy/from-path.js +40 -0
- package/dist/external-tools/trivy/from-vfs.d.ts +7 -0
- package/dist/external-tools/trivy/from-vfs.js +47 -0
- package/dist/external-tools/trivy/resolve.d.ts +26 -0
- package/dist/external-tools/trivy/resolve.js +73 -0
- package/dist/external-tools/trivy/types.d.ts +24 -0
- package/dist/external-tools/trivy/types.js +18 -0
- package/dist/external-tools/trufflehog/asset-names.d.ts +34 -0
- package/dist/external-tools/trufflehog/asset-names.js +72 -0
- package/dist/external-tools/trufflehog/from-download.d.ts +37 -0
- package/dist/external-tools/trufflehog/from-download.js +65 -0
- package/dist/external-tools/trufflehog/from-path.d.ts +7 -0
- package/dist/external-tools/trufflehog/from-path.js +40 -0
- package/dist/external-tools/trufflehog/from-vfs.d.ts +11 -0
- package/dist/external-tools/trufflehog/from-vfs.js +47 -0
- package/dist/external-tools/trufflehog/resolve.d.ts +30 -0
- package/dist/external-tools/trufflehog/resolve.js +73 -0
- package/dist/external-tools/trufflehog/types.d.ts +25 -0
- package/dist/external-tools/trufflehog/types.js +18 -0
- package/dist/external-tools/uv/asset-names.d.ts +36 -0
- package/dist/external-tools/uv/asset-names.js +80 -0
- package/dist/external-tools/uv/from-download.d.ts +17 -0
- package/dist/external-tools/uv/from-download.js +68 -0
- package/dist/external-tools/uv/from-path.d.ts +5 -0
- package/dist/external-tools/uv/from-path.js +40 -0
- package/dist/external-tools/uv/from-vfs.d.ts +7 -0
- package/dist/external-tools/uv/from-vfs.js +47 -0
- package/dist/external-tools/uv/resolve.d.ts +25 -0
- package/dist/external-tools/uv/resolve.js +73 -0
- package/dist/external-tools/uv/types.d.ts +24 -0
- package/dist/external-tools/uv/types.js +18 -0
- package/dist/fs/_internal.d.ts +22 -0
- package/dist/fs/_internal.js +48 -0
- package/dist/fs/encoding.d.ts +49 -0
- package/dist/fs/encoding.js +102 -0
- package/dist/fs/find-up.d.ts +58 -0
- package/dist/fs/find-up.js +152 -0
- package/dist/fs/inspect.d.ts +117 -0
- package/dist/fs/inspect.js +112 -0
- package/dist/fs/path-cache.d.ts +21 -0
- package/dist/fs/path-cache.js +35 -0
- package/dist/fs/read-dir.d.ts +66 -0
- package/dist/fs/read-dir.js +86 -0
- package/dist/fs/read-file.d.ts +150 -0
- package/dist/fs/read-file.js +131 -0
- package/dist/fs/read-json-cache.d.ts +83 -0
- package/dist/fs/read-json-cache.js +156 -0
- package/dist/fs/read-json.d.ts +77 -0
- package/dist/fs/read-json.js +192 -0
- package/dist/fs/safe.d.ts +153 -0
- package/dist/fs/safe.js +182 -0
- package/dist/fs/types.d.ts +291 -0
- package/dist/fs/types.js +18 -0
- package/dist/fs/unique.d.ts +29 -0
- package/dist/fs/unique.js +51 -0
- package/dist/fs/validate.d.ts +40 -0
- package/dist/fs/validate.js +46 -0
- package/dist/fs/write-json.d.ts +78 -0
- package/dist/fs/write-json.js +83 -0
- package/dist/git/_internal.d.ts +105 -0
- package/dist/git/_internal.js +236 -0
- package/dist/git/changed.d.ts +145 -0
- package/dist/git/changed.js +83 -0
- package/dist/git/repo.d.ts +62 -0
- package/dist/git/repo.js +111 -0
- package/dist/git/staged.d.ts +138 -0
- package/dist/git/staged.js +71 -0
- package/dist/git/types.d.ts +109 -0
- package/dist/git/types.js +18 -0
- package/dist/git/unstaged.d.ts +141 -0
- package/dist/git/unstaged.js +71 -0
- package/dist/github/constants.d.ts +18 -0
- package/dist/github/constants.js +36 -0
- package/dist/github/errors.d.ts +36 -0
- package/dist/github/errors.js +40 -0
- package/dist/github/fetch.d.ts +89 -0
- package/dist/github/fetch.js +87 -0
- package/dist/github/ghsa.d.ts +118 -0
- package/dist/github/ghsa.js +178 -0
- package/dist/github/refs-cache.d.ts +40 -0
- package/dist/github/refs-cache.js +49 -0
- package/dist/github/refs-graphql.d.ts +42 -0
- package/dist/github/refs-graphql.js +109 -0
- package/dist/github/refs-rest.d.ts +23 -0
- package/dist/github/refs-rest.js +104 -0
- package/dist/github/refs.d.ts +84 -0
- package/dist/github/refs.js +67 -0
- package/dist/github/token.d.ts +77 -0
- package/dist/github/token.js +55 -0
- package/dist/github/types.d.ts +277 -0
- package/dist/github/types.js +18 -0
- package/dist/globs/_internal.d.ts +46 -0
- package/dist/globs/_internal.js +96 -0
- package/dist/globs/defaults.d.ts +7 -0
- package/dist/globs/defaults.js +61 -0
- package/dist/globs/match.d.ts +59 -0
- package/dist/globs/match.js +84 -0
- package/dist/globs/matcher.d.ts +46 -0
- package/dist/globs/matcher.js +99 -0
- package/dist/globs/stream.d.ts +18 -0
- package/dist/globs/stream.js +58 -0
- package/dist/globs/types.d.ts +35 -0
- package/dist/globs/types.js +18 -0
- package/dist/http-request/_internal.d.ts +18 -0
- package/dist/http-request/_internal.js +39 -0
- package/dist/http-request/browser-fetch.d.ts +10 -0
- package/dist/http-request/browser-fetch.js +32 -0
- package/dist/http-request/browser.d.ts +190 -0
- package/dist/http-request/browser.js +224 -0
- package/dist/http-request/checksums.d.ts +69 -0
- package/dist/http-request/checksums.js +72 -0
- package/dist/http-request/convenience.d.ts +104 -0
- package/dist/http-request/convenience.js +96 -0
- package/dist/http-request/download-types.d.ts +224 -0
- package/dist/http-request/download-types.js +18 -0
- package/dist/http-request/download.d.ts +71 -0
- package/dist/http-request/download.js +201 -0
- package/dist/http-request/errors.d.ts +23 -0
- package/dist/http-request/errors.js +50 -0
- package/dist/http-request/headers.d.ts +57 -0
- package/dist/http-request/headers.js +86 -0
- package/dist/http-request/request-attempt.d.ts +21 -0
- package/dist/http-request/request-attempt.js +288 -0
- package/dist/http-request/request-types.d.ts +253 -0
- package/dist/http-request/request-types.js +18 -0
- package/dist/http-request/request.d.ts +59 -0
- package/dist/http-request/request.js +111 -0
- package/dist/http-request/response-reader.d.ts +25 -0
- package/dist/http-request/response-reader.js +54 -0
- package/dist/http-request/response-types.d.ts +123 -0
- package/dist/http-request/response-types.js +40 -0
- package/dist/http-request/user-agent.d.ts +55 -0
- package/dist/http-request/user-agent.js +61 -0
- package/dist/{dlx/integrity.d.ts → integrity.d.ts} +36 -30
- package/dist/{dlx/integrity.js → integrity.js} +25 -19
- package/dist/ipc/_internal.d.ts +25 -0
- package/dist/ipc/_internal.js +50 -0
- package/dist/ipc/directory.d.ts +18 -0
- package/dist/ipc/directory.js +66 -0
- package/dist/ipc/paths.d.ts +37 -0
- package/dist/ipc/paths.js +48 -0
- package/dist/ipc/types.d.ts +22 -0
- package/dist/ipc/types.js +18 -0
- package/dist/ipc/write.d.ts +39 -0
- package/dist/ipc/write.js +77 -0
- package/dist/ipc-cli/get.d.ts +21 -0
- package/dist/{ipc-cli.js → ipc-cli/get.js} +5 -5
- package/dist/ipc-cli/types.d.ts +14 -0
- package/dist/ipc-cli/types.js +18 -0
- package/dist/json/edit.d.ts +22 -8
- package/dist/json/edit.js +85 -96
- package/dist/json/format.d.ts +100 -86
- package/dist/json/format.js +4 -3
- package/dist/json/parse.d.ts +113 -88
- package/dist/json/parse.js +30 -24
- package/dist/json/types.d.ts +133 -117
- package/dist/links/create.d.ts +65 -0
- package/dist/{links.js → links/create.js} +10 -10
- package/dist/links/types.d.ts +19 -0
- package/dist/links/types.js +18 -0
- package/dist/logger/_internal.d.ts +82 -0
- package/dist/logger/_internal.js +80 -0
- package/dist/logger/browser.d.ts +16 -0
- package/dist/logger/browser.js +65 -0
- package/dist/logger/colors.d.ts +18 -0
- package/dist/logger/colors.js +54 -0
- package/dist/logger/console.d.ts +33 -0
- package/dist/logger/console.js +119 -0
- package/dist/logger/default.d.ts +405 -0
- package/dist/logger/default.js +854 -0
- package/dist/logger/symbols-builder.d.ts +29 -0
- package/dist/logger/symbols-builder.js +61 -0
- package/dist/logger/symbols.d.ts +61 -0
- package/dist/logger/symbols.js +129 -0
- package/dist/logger/types.d.ts +88 -0
- package/dist/logger/types.js +18 -0
- package/dist/memo/_internal.d.ts +16 -0
- package/dist/memo/_internal.js +53 -0
- package/dist/memo/async.d.ts +32 -0
- package/dist/memo/async.js +120 -0
- package/dist/memo/clear.d.ts +15 -0
- package/dist/memo/clear.js +37 -0
- package/dist/memo/decorator.d.ts +29 -0
- package/dist/memo/decorator.js +40 -0
- package/dist/memo/memoize.d.ts +33 -0
- package/dist/memo/memoize.js +91 -0
- package/dist/memo/once.d.ts +25 -0
- package/dist/memo/once.js +44 -0
- package/dist/memo/types.d.ts +43 -0
- package/dist/memo/types.js +18 -0
- package/dist/memo/weak.d.ts +26 -0
- package/dist/memo/weak.js +44 -0
- package/dist/node/async-hooks.d.ts +2 -2
- package/dist/node/child-process.d.ts +5 -7
- package/dist/node/crypto.d.ts +2 -2
- package/dist/node/events.d.ts +2 -2
- package/dist/node/fs-promises.d.ts +2 -2
- package/dist/node/fs.d.ts +6 -10
- package/dist/node/http.d.ts +2 -2
- package/dist/node/https.d.ts +2 -2
- package/dist/node/module.d.ts +7 -0
- package/dist/node/module.js +41 -0
- package/dist/node/os.d.ts +2 -2
- package/dist/node/path.d.ts +2 -2
- package/dist/node/timers-promises.d.ts +2 -2
- package/dist/node/url.d.ts +2 -2
- package/dist/node/util.d.ts +2 -2
- package/dist/objects/getters.d.ts +116 -0
- package/dist/objects/getters.js +137 -0
- package/dist/objects/inspect.d.ts +67 -0
- package/dist/objects/inspect.js +59 -0
- package/dist/objects/mutate.d.ts +72 -0
- package/dist/objects/mutate.js +81 -0
- package/dist/objects/predicates.d.ts +96 -0
- package/dist/objects/predicates.js +68 -0
- package/dist/objects/sort.d.ts +88 -0
- package/dist/objects/sort.js +85 -0
- package/dist/objects/types.d.ts +68 -0
- package/dist/objects/types.js +18 -0
- package/dist/packages/edit-class.d.ts +39 -0
- package/dist/packages/edit-class.js +269 -0
- package/dist/packages/edit.d.ts +60 -61
- package/dist/packages/edit.js +21 -286
- package/dist/packages/exports.d.ts +30 -28
- package/dist/packages/exports.js +38 -34
- package/dist/packages/isolation.d.ts +16 -7
- package/dist/packages/isolation.js +52 -59
- package/dist/packages/licenses.d.ts +49 -45
- package/dist/packages/licenses.js +13 -18
- package/dist/packages/manifest.d.ts +14 -14
- package/dist/packages/manifest.js +16 -15
- package/dist/packages/normalize.d.ts +17 -16
- package/dist/packages/normalize.js +20 -17
- package/dist/packages/operations.d.ts +49 -36
- package/dist/packages/operations.js +30 -15
- package/dist/packages/provenance.d.ts +22 -9
- package/dist/packages/provenance.js +76 -66
- package/dist/packages/specs.d.ts +21 -21
- package/dist/packages/specs.js +7 -7
- package/dist/{packages.d.ts → packages/types.d.ts} +14 -20
- package/dist/packages/types.js +18 -0
- package/dist/packages/validation.d.ts +13 -13
- package/dist/packages/validation.js +2 -2
- package/dist/paths/_internal.d.ts +51 -0
- package/dist/paths/_internal.js +102 -0
- package/dist/paths/conversion.d.ts +82 -0
- package/dist/paths/conversion.js +74 -0
- package/dist/paths/dirnames.d.ts +1 -1
- package/dist/paths/exts.d.ts +1 -1
- package/dist/paths/filenames.d.ts +1 -1
- package/dist/paths/globs.d.ts +1 -1
- package/dist/paths/normalize.d.ts +30 -440
- package/dist/paths/normalize.js +49 -289
- package/dist/paths/packages.d.ts +7 -1
- package/dist/paths/packages.js +7 -12
- package/dist/paths/predicates.d.ts +129 -0
- package/dist/paths/predicates.js +121 -0
- package/dist/paths/resolve.d.ts +71 -0
- package/dist/paths/resolve.js +135 -0
- package/dist/paths/rewire.d.ts +37 -38
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.d.ts +146 -47
- package/dist/paths/socket.js +23 -25
- package/dist/perf/_internal.d.ts +10 -0
- package/dist/perf/_internal.js +30 -0
- package/dist/perf/enabled.d.ts +13 -0
- package/dist/perf/enabled.js +33 -0
- package/dist/perf/metrics.d.ts +51 -0
- package/dist/perf/metrics.js +74 -0
- package/dist/perf/report.d.ts +40 -0
- package/dist/perf/report.js +85 -0
- package/dist/perf/timer.d.ts +100 -0
- package/dist/perf/timer.js +137 -0
- package/dist/perf/types.d.ts +15 -0
- package/dist/perf/types.js +18 -0
- package/dist/pkg-ext/data.d.ts +8 -0
- package/dist/{package-extensions.js → pkg-ext/data.js} +4 -4
- package/dist/pkg-ext/types.d.ts +6 -0
- package/dist/pkg-ext/types.js +18 -0
- package/dist/primordials/array.d.ts +73 -0
- package/dist/primordials/array.js +220 -0
- package/dist/primordials/buffer.d.ts +17 -0
- package/dist/primordials/buffer.js +61 -0
- package/dist/primordials/date.d.ts +16 -0
- package/dist/primordials/date.js +56 -0
- package/dist/primordials/error.d.ts +19 -0
- package/dist/primordials/error.js +75 -0
- package/dist/primordials/function.d.ts +10 -0
- package/dist/primordials/function.js +42 -0
- package/dist/primordials/globals.d.ts +20 -0
- package/dist/primordials/globals.js +60 -0
- package/dist/primordials/json.d.ts +11 -0
- package/dist/primordials/json.js +33 -0
- package/dist/primordials/map-set.d.ts +35 -0
- package/dist/primordials/map-set.js +115 -0
- package/dist/primordials/math.d.ts +51 -0
- package/dist/primordials/math.js +161 -0
- package/dist/primordials/number.d.ts +25 -0
- package/dist/primordials/number.js +92 -0
- package/dist/primordials/object.d.ts +74 -0
- package/dist/primordials/object.js +142 -0
- package/dist/primordials/promise.d.ts +34 -0
- package/dist/primordials/promise.js +61 -0
- package/dist/primordials/reflect.d.ts +18 -0
- package/dist/primordials/reflect.js +66 -0
- package/dist/primordials/regexp.d.ts +14 -0
- package/dist/primordials/regexp.js +50 -0
- package/dist/primordials/string.d.ts +71 -0
- package/dist/primordials/string.js +174 -0
- package/dist/primordials/symbol.d.ts +28 -0
- package/dist/primordials/symbol.js +94 -0
- package/dist/primordials/uncurry.d.ts +18 -0
- package/dist/primordials/uncurry.js +65 -0
- package/dist/primordials/url.d.ts +13 -0
- package/dist/primordials/url.js +69 -0
- package/dist/process/_internal.d.ts +8 -0
- package/dist/process/_internal.js +33 -0
- package/dist/process/abort.d.ts +20 -0
- package/dist/{constants/process.js → process/abort.js} +3 -3
- package/dist/process/lock-instance.d.ts +19 -0
- package/dist/process/lock-instance.js +31 -0
- package/dist/process/lock-manager.d.ts +152 -0
- package/dist/{process-lock.js → process/lock-manager.js} +98 -106
- package/dist/process/lock-types.d.ts +43 -0
- package/dist/process/lock-types.js +18 -0
- package/dist/process/spawn/_internal.d.ts +24 -0
- package/dist/process/spawn/_internal.js +62 -0
- package/dist/process/spawn/child.d.ts +134 -0
- package/dist/process/spawn/child.js +216 -0
- package/dist/process/spawn/errors.d.ts +45 -0
- package/dist/process/spawn/errors.js +118 -0
- package/dist/process/spawn/stdio.d.ts +37 -0
- package/dist/process/spawn/stdio.js +38 -0
- package/dist/process/spawn/types.d.ts +325 -0
- package/dist/process/spawn/types.js +18 -0
- package/dist/process/transient.d.ts +22 -0
- package/dist/{temporary-executor.js → process/transient.js} +8 -8
- package/dist/promises/_internal.d.ts +15 -0
- package/dist/promises/_internal.js +41 -0
- package/dist/promises/iterate.d.ts +190 -0
- package/dist/promises/iterate.js +111 -0
- package/dist/promises/options.d.ts +76 -0
- package/dist/promises/options.js +108 -0
- package/dist/promises/queue.d.ts +51 -0
- package/dist/{promise-queue.js → promises/queue.js} +27 -22
- package/dist/promises/resolvers.d.ts +55 -0
- package/dist/promises/resolvers.js +49 -0
- package/dist/promises/retry.d.ts +105 -0
- package/dist/promises/retry.js +104 -0
- package/dist/promises/types.d.ts +203 -0
- package/dist/promises/types.js +18 -0
- package/dist/regexps/escape.d.ts +6 -0
- package/dist/regexps/escape.js +32 -0
- package/dist/regexps/hex.d.ts +7 -0
- package/dist/regexps/hex.js +38 -0
- package/dist/regexps/spec.d.ts +15 -0
- package/dist/{regexps.js → regexps/spec.js} +32 -36
- package/dist/releases/github-archives.d.ts +47 -36
- package/dist/releases/github-archives.js +22 -36
- package/dist/releases/github-asset-url.d.ts +72 -0
- package/dist/releases/github-asset-url.js +167 -0
- package/dist/releases/github-assets.d.ts +13 -11
- package/dist/releases/github-assets.js +2 -2
- package/dist/releases/github-auth.d.ts +9 -9
- package/dist/releases/github-downloads.d.ts +31 -26
- package/dist/releases/github-downloads.js +24 -36
- package/dist/releases/github-listing.d.ts +105 -0
- package/dist/releases/github-listing.js +171 -0
- package/dist/releases/github-types.d.ts +45 -19
- package/dist/releases/socket-btm.d.ts +149 -99
- package/dist/releases/socket-btm.js +14 -20
- package/dist/schema/parse.d.ts +14 -15
- package/dist/schema/parse.js +2 -2
- package/dist/schema/types.d.ts +49 -37
- package/dist/schema/validate.d.ts +42 -19
- package/dist/schema/validate.js +15 -6
- package/dist/sea/detect.d.ts +37 -0
- package/dist/sea/{util.js → detect.js} +6 -6
- package/dist/secrets/_internal.d.ts +57 -0
- package/dist/secrets/_internal.js +84 -0
- package/dist/secrets/find.d.ts +79 -0
- package/dist/secrets/find.js +84 -0
- package/dist/secrets/keychain.d.ts +138 -0
- package/dist/secrets/keychain.js +328 -0
- package/dist/secrets/linux.d.ts +20 -0
- package/dist/secrets/linux.js +151 -0
- package/dist/secrets/macos.d.ts +36 -0
- package/dist/secrets/macos.js +165 -0
- package/dist/secrets/rc.d.ts +139 -0
- package/dist/secrets/rc.js +196 -0
- package/dist/secrets/socket-api-token.d.ts +23 -0
- package/dist/secrets/socket-api-token.js +50 -0
- package/dist/secrets/types.d.ts +69 -0
- package/dist/secrets/types.js +18 -0
- package/dist/secrets/windows.d.ts +50 -0
- package/dist/secrets/windows.js +318 -0
- package/dist/shadow/skip.d.ts +25 -0
- package/dist/{shadow.js → shadow/skip.js} +4 -4
- package/dist/shadow/types.d.ts +8 -0
- package/dist/shadow/types.js +18 -0
- package/dist/smol/detect.d.ts +80 -0
- package/dist/smol/{util.js → detect.js} +16 -24
- package/dist/smol/http.d.ts +60 -0
- package/dist/smol/http.js +42 -0
- package/dist/smol/https.d.ts +59 -0
- package/dist/smol/https.js +42 -0
- package/dist/smol/manifest.d.ts +140 -0
- package/dist/smol/manifest.js +42 -0
- package/dist/smol/primordial.d.ts +16 -21
- package/dist/smol/primordial.js +7 -11
- package/dist/smol/purl.d.ts +84 -0
- package/dist/smol/purl.js +42 -0
- package/dist/smol/versions.d.ts +11 -14
- package/dist/smol/versions.js +7 -11
- package/dist/smol/vfs.d.ts +99 -0
- package/dist/smol/vfs.js +43 -0
- package/dist/sorts/_internal.d.ts +9 -0
- package/dist/sorts/_internal.js +47 -0
- package/dist/sorts/natural.d.ts +39 -0
- package/dist/{sorts.js → sorts/natural.js} +5 -42
- package/dist/sorts/semver.d.ts +15 -0
- package/dist/sorts/semver.js +46 -0
- package/dist/sorts/strings.d.ts +16 -0
- package/dist/sorts/strings.js +33 -0
- package/dist/sorts/types.d.ts +7 -0
- package/dist/sorts/types.js +18 -0
- package/dist/spinner/default.d.ts +49 -0
- package/dist/spinner/default.js +70 -0
- package/dist/spinner/format.d.ts +64 -0
- package/dist/spinner/format.js +83 -0
- package/dist/spinner/spinner.d.ts +40 -0
- package/dist/spinner/spinner.js +802 -0
- package/dist/spinner/types.d.ts +368 -0
- package/dist/spinner/types.js +18 -0
- package/dist/spinner/with.d.ts +125 -0
- package/dist/spinner/with.js +144 -0
- package/dist/ssri/convert.d.ts +48 -0
- package/dist/{ssri.js → ssri/convert.js} +11 -34
- package/dist/ssri/parse.d.ts +27 -0
- package/dist/ssri/parse.js +40 -0
- package/dist/ssri/validate.d.ts +41 -0
- package/dist/ssri/validate.js +39 -0
- package/dist/stdio/{_stream.d.ts → _internal.d.ts} +10 -5
- package/dist/stdio/{_stream.js → _internal.js} +3 -3
- package/dist/stdio/clear.d.ts +98 -84
- package/dist/stdio/divider.d.ts +100 -78
- package/dist/stdio/divider.js +36 -14
- package/dist/stdio/footer.d.ts +75 -51
- package/dist/stdio/footer.js +28 -18
- package/dist/stdio/header.d.ts +61 -50
- package/dist/stdio/header.js +15 -13
- package/dist/stdio/progress.d.ts +67 -57
- package/dist/stdio/progress.js +55 -51
- package/dist/stdio/prompts.d.ts +147 -100
- package/dist/stdio/prompts.js +23 -15
- package/dist/stdio/stderr.d.ts +86 -84
- package/dist/stdio/stderr.js +6 -6
- package/dist/stdio/stdout.d.ts +77 -78
- package/dist/stdio/stdout.js +6 -6
- package/dist/streams/parallel.d.ts +40 -0
- package/dist/{streams.js → streams/parallel.js} +10 -27
- package/dist/streams/transform.d.ts +20 -0
- package/dist/streams/transform.js +48 -0
- package/dist/strings/format.d.ts +115 -0
- package/dist/strings/format.js +73 -0
- package/dist/strings/predicates.d.ts +52 -0
- package/dist/strings/predicates.js +39 -0
- package/dist/strings/search.d.ts +34 -0
- package/dist/strings/search.js +45 -0
- package/dist/strings/transform.d.ts +80 -0
- package/dist/strings/transform.js +79 -0
- package/dist/strings/types.d.ts +38 -0
- package/dist/strings/types.js +18 -0
- package/dist/strings/width.d.ts +42 -0
- package/dist/strings/width.js +95 -0
- package/dist/tables/bordered.d.ts +44 -0
- package/dist/tables/bordered.js +84 -0
- package/dist/tables/padding.d.ts +18 -0
- package/dist/tables/padding.js +51 -0
- package/dist/tables/simple.d.ts +36 -0
- package/dist/tables/simple.js +73 -0
- package/dist/tables/types.d.ts +15 -0
- package/dist/tables/types.js +18 -0
- package/dist/temporal/instant.d.ts +39 -0
- package/dist/temporal/instant.js +91 -0
- package/dist/temporal/now.d.ts +24 -0
- package/dist/temporal/now.js +34 -0
- package/dist/temporal/slots.d.ts +32 -0
- package/dist/temporal/slots.js +45 -0
- package/dist/temporal/system.d.ts +20 -0
- package/dist/temporal/system.js +42 -0
- package/dist/temporal/temporal.d.ts +22 -0
- package/dist/temporal/temporal.js +43 -0
- package/dist/themes/context.d.ts +65 -48
- package/dist/themes/context.js +6 -2
- package/dist/themes/resolve.d.ts +90 -0
- package/dist/themes/{utils.js → resolve.js} +6 -6
- package/dist/themes/themes.d.ts +14 -16
- package/dist/themes/types.d.ts +93 -35
- package/dist/url/parse.d.ts +26 -0
- package/dist/url/parse.js +57 -0
- package/dist/url/predicates.d.ts +15 -0
- package/dist/url/predicates.js +34 -0
- package/dist/url/search-params.d.ts +71 -0
- package/dist/{url.js → url/search-params.js} +19 -54
- package/dist/url/types.d.ts +20 -0
- package/dist/url/types.js +18 -0
- package/dist/versions/_internal.d.ts +24 -0
- package/dist/versions/_internal.js +37 -0
- package/dist/versions/compare.d.ts +57 -0
- package/dist/versions/compare.js +65 -0
- package/dist/versions/modify.d.ts +28 -0
- package/dist/versions/modify.js +44 -0
- package/dist/versions/parse.d.ts +67 -0
- package/dist/versions/parse.js +77 -0
- package/dist/versions/range.d.ts +45 -0
- package/dist/versions/range.js +50 -0
- package/dist/versions/types.d.ts +13 -0
- package/dist/versions/types.js +18 -0
- package/dist/words/article.d.ts +14 -0
- package/dist/words/article.js +33 -0
- package/dist/words/capitalize.d.ts +15 -0
- package/dist/{words.js → words/capitalize.js} +5 -18
- package/dist/words/pluralize.d.ts +16 -0
- package/dist/words/pluralize.js +34 -0
- package/dist/words/types.d.ts +7 -0
- package/dist/words/types.js +18 -0
- package/package.json +2154 -252
- package/dist/abort.d.ts +0 -27
- package/dist/agent.d.ts +0 -196
- package/dist/agent.js +0 -287
- package/dist/ansi.d.ts +0 -39
- package/dist/archives.d.ts +0 -95
- package/dist/archives.js +0 -408
- package/dist/argv/flags.d.ts +0 -292
- package/dist/argv/flags.js +0 -297
- package/dist/arrays.d.ts +0 -168
- package/dist/bin.d.ts +0 -181
- package/dist/bin.js +0 -544
- package/dist/cacache.d.ts +0 -130
- package/dist/cacache.js +0 -156
- package/dist/cache-with-ttl.d.ts +0 -165
- package/dist/colors.d.ts +0 -49
- package/dist/compression.d.ts +0 -218
- package/dist/constants/process.d.ts +0 -20
- package/dist/crypto.d.ts +0 -36
- package/dist/debug.js +0 -337
- package/dist/env/helpers.d.ts +0 -66
- package/dist/env.d.ts +0 -182
- package/dist/env.js +0 -205
- package/dist/errors.d.ts +0 -100
- package/dist/fs.d.ts +0 -916
- package/dist/fs.js +0 -808
- package/dist/git.d.ts +0 -546
- package/dist/git.js +0 -409
- package/dist/github.d.ts +0 -526
- package/dist/github.js +0 -448
- package/dist/globs.d.ts +0 -119
- package/dist/globs.js +0 -282
- package/dist/http-request.d.ts +0 -951
- package/dist/http-request.js +0 -761
- package/dist/ipc-cli.d.ts +0 -28
- package/dist/ipc.d.ts +0 -76
- package/dist/ipc.js +0 -130
- package/dist/links.d.ts +0 -69
- package/dist/logger.d.ts +0 -993
- package/dist/logger.js +0 -1498
- package/dist/memoization.d.ts +0 -131
- package/dist/memoization.js +0 -243
- package/dist/objects.d.ts +0 -500
- package/dist/objects.js +0 -303
- package/dist/package-extensions.d.ts +0 -9
- package/dist/packages.js +0 -132
- package/dist/performance.d.ts +0 -181
- package/dist/performance.js +0 -233
- package/dist/primordials.d.ts +0 -420
- package/dist/primordials.js +0 -1116
- package/dist/process-lock.d.ts +0 -180
- package/dist/promise-queue.d.ts +0 -48
- package/dist/promises.d.ts +0 -506
- package/dist/promises.js +0 -292
- package/dist/regexps.d.ts +0 -6
- package/dist/releases/github-api.d.ts +0 -56
- package/dist/releases/github-api.js +0 -275
- package/dist/sea/util.d.ts +0 -43
- package/dist/shadow.d.ts +0 -28
- package/dist/signal-exit.d.ts +0 -50
- package/dist/signal-exit.js +0 -247
- package/dist/smol/util.d.ts +0 -87
- package/dist/sorts.d.ts +0 -59
- package/dist/spawn.d.ts +0 -454
- package/dist/spawn.js +0 -334
- package/dist/spinner.d.ts +0 -444
- package/dist/spinner.js +0 -988
- package/dist/ssri.d.ts +0 -90
- package/dist/streams.d.ts +0 -45
- package/dist/strings.d.ts +0 -414
- package/dist/strings.js +0 -218
- package/dist/suppress-warnings.d.ts +0 -81
- package/dist/tables.d.ts +0 -73
- package/dist/tables.js +0 -133
- package/dist/temporary-executor.d.ts +0 -20
- package/dist/themes/utils.d.ts +0 -86
- package/dist/url.d.ts +0 -114
- package/dist/versions.d.ts +0 -207
- package/dist/versions.js +0 -181
- package/dist/words.d.ts +0 -39
|
@@ -18,56 +18,44 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
return to;
|
|
19
19
|
};
|
|
20
20
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
-
var
|
|
22
|
-
__export(
|
|
23
|
-
|
|
21
|
+
var lock_manager_exports = {};
|
|
22
|
+
__export(lock_manager_exports, {
|
|
23
|
+
ProcessLockManager: () => ProcessLockManager
|
|
24
24
|
});
|
|
25
|
-
module.exports = __toCommonJS(
|
|
26
|
-
var
|
|
27
|
-
var
|
|
28
|
-
var
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
return _fs;
|
|
39
|
-
}
|
|
40
|
-
let _path;
|
|
41
|
-
// @__NO_SIDE_EFFECTS__
|
|
42
|
-
function getPath() {
|
|
43
|
-
if (_path === void 0) {
|
|
44
|
-
_path = require("node:path");
|
|
45
|
-
}
|
|
46
|
-
return _path;
|
|
47
|
-
}
|
|
48
|
-
const logger = (0, import_logger.getDefaultLogger)();
|
|
25
|
+
module.exports = __toCommonJS(lock_manager_exports);
|
|
26
|
+
var import_message = require("../errors/message");
|
|
27
|
+
var import_safe = require("../fs/safe");
|
|
28
|
+
var import_default = require("../logger/default");
|
|
29
|
+
var import_date = require("../primordials/date");
|
|
30
|
+
var import_error = require("../primordials/error");
|
|
31
|
+
var import_map_set = require("../primordials/map-set");
|
|
32
|
+
var import_math = require("../primordials/math");
|
|
33
|
+
var import_retry = require("../promises/retry");
|
|
34
|
+
var import_handler = require("../events/exit/handler");
|
|
35
|
+
var import_internal = require("./_internal");
|
|
36
|
+
const logger = (0, import_default.getDefaultLogger)();
|
|
49
37
|
class ProcessLockManager {
|
|
50
|
-
activeLocks = new
|
|
51
|
-
touchTimers = new
|
|
38
|
+
activeLocks = new import_map_set.SetCtor();
|
|
39
|
+
touchTimers = new import_map_set.MapCtor();
|
|
52
40
|
exitHandlerRegistered = false;
|
|
53
41
|
/**
|
|
54
|
-
* Ensure process exit handler is registered for cleanup.
|
|
55
|
-
*
|
|
42
|
+
* Ensure process exit handler is registered for cleanup. Registers a handler
|
|
43
|
+
* that cleans up all active locks when the process exits.
|
|
56
44
|
*/
|
|
57
45
|
ensureExitHandler() {
|
|
58
46
|
if (this.exitHandlerRegistered) {
|
|
59
47
|
return;
|
|
60
48
|
}
|
|
61
|
-
(0,
|
|
49
|
+
(0, import_handler.onExit)(() => {
|
|
62
50
|
for (const timer of this.touchTimers.values()) {
|
|
63
51
|
clearInterval(timer);
|
|
64
52
|
}
|
|
65
53
|
this.touchTimers.clear();
|
|
66
|
-
const fs =
|
|
54
|
+
const fs = (0, import_internal.getFs)();
|
|
67
55
|
for (const lockPath of this.activeLocks) {
|
|
68
56
|
try {
|
|
69
57
|
if (fs.existsSync(lockPath)) {
|
|
70
|
-
(0,
|
|
58
|
+
(0, import_safe.safeDeleteSync)(lockPath, { recursive: true });
|
|
71
59
|
}
|
|
72
60
|
} catch {
|
|
73
61
|
}
|
|
@@ -76,28 +64,28 @@ class ProcessLockManager {
|
|
|
76
64
|
this.exitHandlerRegistered = true;
|
|
77
65
|
}
|
|
78
66
|
/**
|
|
79
|
-
* Touch a lock file to update its mtime.
|
|
80
|
-
*
|
|
67
|
+
* Touch a lock file to update its mtime. This prevents the lock from being
|
|
68
|
+
* detected as stale during long operations.
|
|
81
69
|
*
|
|
82
|
-
* @param lockPath - Path to the lock directory
|
|
70
|
+
* @param lockPath - Path to the lock directory.
|
|
83
71
|
*/
|
|
84
72
|
touchLock(lockPath) {
|
|
85
73
|
try {
|
|
86
|
-
const fs =
|
|
74
|
+
const fs = (0, import_internal.getFs)();
|
|
87
75
|
if (fs.existsSync(lockPath)) {
|
|
88
|
-
const now = (0,
|
|
76
|
+
const now = (0, import_date.DateNow)() / 1e3;
|
|
89
77
|
fs.utimesSync(lockPath, now, now);
|
|
90
78
|
}
|
|
91
79
|
} catch (e) {
|
|
92
|
-
logger.warn(`Failed to touch lock ${lockPath}: ${(0,
|
|
80
|
+
logger.warn(`Failed to touch lock ${lockPath}: ${(0, import_message.errorMessage)(e)}`);
|
|
93
81
|
}
|
|
94
82
|
}
|
|
95
83
|
/**
|
|
96
|
-
* Start periodic touching of a lock file.
|
|
97
|
-
*
|
|
84
|
+
* Start periodic touching of a lock file. Aligned with npm npx strategy to
|
|
85
|
+
* prevent false stale detection.
|
|
98
86
|
*
|
|
99
|
-
* @param lockPath - Path to the lock directory
|
|
100
|
-
* @param intervalMs - Touch interval in milliseconds
|
|
87
|
+
* @param lockPath - Path to the lock directory.
|
|
88
|
+
* @param intervalMs - Touch interval in milliseconds.
|
|
101
89
|
*/
|
|
102
90
|
startTouchTimer(lockPath, intervalMs) {
|
|
103
91
|
if (intervalMs <= 0 || this.touchTimers.has(lockPath)) {
|
|
@@ -112,7 +100,7 @@ class ProcessLockManager {
|
|
|
112
100
|
/**
|
|
113
101
|
* Stop periodic touching of a lock file.
|
|
114
102
|
*
|
|
115
|
-
* @param lockPath - Path to the lock directory
|
|
103
|
+
* @param lockPath - Path to the lock directory.
|
|
116
104
|
*/
|
|
117
105
|
stopTouchTimer(lockPath) {
|
|
118
106
|
const timer = this.touchTimers.get(lockPath);
|
|
@@ -122,47 +110,50 @@ class ProcessLockManager {
|
|
|
122
110
|
}
|
|
123
111
|
}
|
|
124
112
|
/**
|
|
125
|
-
* Check if a lock is stale based on mtime.
|
|
126
|
-
*
|
|
127
|
-
*
|
|
113
|
+
* Check if a lock is stale based on mtime. Uses second-level granularity to
|
|
114
|
+
* avoid APFS floating-point precision issues. Aligned with npm's npx locking
|
|
115
|
+
* strategy.
|
|
116
|
+
*
|
|
117
|
+
* @param lockPath - Path to the lock directory.
|
|
118
|
+
* @param staleMs - Stale timeout in milliseconds.
|
|
128
119
|
*
|
|
129
|
-
* @param lockPath - Path to the lock directory
|
|
130
|
-
* @param staleMs - Stale timeout in milliseconds
|
|
131
120
|
* @returns True if lock exists and is stale
|
|
132
121
|
*/
|
|
133
122
|
isStale(lockPath, staleMs) {
|
|
134
123
|
try {
|
|
135
|
-
const stats = (
|
|
124
|
+
const stats = (0, import_internal.getFs)().statSync(lockPath, { throwIfNoEntry: false });
|
|
136
125
|
if (!stats) {
|
|
137
126
|
return false;
|
|
138
127
|
}
|
|
139
|
-
return (0,
|
|
128
|
+
return (0, import_date.DateNow)() - stats.mtime.getTime() > staleMs;
|
|
140
129
|
} catch {
|
|
141
130
|
return false;
|
|
142
131
|
}
|
|
143
132
|
}
|
|
144
133
|
/**
|
|
145
|
-
* Acquire a lock using mkdir for atomic operation.
|
|
146
|
-
*
|
|
134
|
+
* Acquire a lock using mkdir for atomic operation. Handles stale locks and
|
|
135
|
+
* includes exit cleanup.
|
|
147
136
|
*
|
|
148
137
|
* This method attempts to create a lock directory atomically. If the lock
|
|
149
138
|
* already exists, it checks if it's stale and removes it before retrying.
|
|
150
139
|
* Uses exponential backoff with jitter for retry attempts.
|
|
151
140
|
*
|
|
152
|
-
* @
|
|
153
|
-
*
|
|
141
|
+
* @example
|
|
142
|
+
* ;```typescript
|
|
143
|
+
* const release = await processLock.acquire('/tmp/my-lock')
|
|
144
|
+
* try {
|
|
145
|
+
* // Critical section
|
|
146
|
+
* } finally {
|
|
147
|
+
* release()
|
|
148
|
+
* }
|
|
149
|
+
* ```
|
|
150
|
+
*
|
|
151
|
+
* @param lockPath - Path to the lock directory.
|
|
152
|
+
* @param options - Lock acquisition options.
|
|
153
|
+
*
|
|
154
154
|
* @returns Release function to unlock
|
|
155
|
-
* @throws Error if lock cannot be acquired after all retries
|
|
156
155
|
*
|
|
157
|
-
* @
|
|
158
|
-
* ```typescript
|
|
159
|
-
* const release = await processLock.acquire('/tmp/my-lock')
|
|
160
|
-
* try {
|
|
161
|
-
* // Critical section
|
|
162
|
-
* } finally {
|
|
163
|
-
* release()
|
|
164
|
-
* }
|
|
165
|
-
* ```
|
|
156
|
+
* @throws Error if lock cannot be acquired after all retries
|
|
166
157
|
*/
|
|
167
158
|
async acquire(lockPath, options = {}) {
|
|
168
159
|
const {
|
|
@@ -173,18 +164,18 @@ class ProcessLockManager {
|
|
|
173
164
|
touchIntervalMs = 2e3
|
|
174
165
|
} = options;
|
|
175
166
|
this.ensureExitHandler();
|
|
176
|
-
return await (0,
|
|
167
|
+
return await (0, import_retry.pRetry)(
|
|
177
168
|
async () => {
|
|
178
169
|
try {
|
|
179
170
|
if (this.isStale(lockPath, staleMs)) {
|
|
180
171
|
logger.log(`Removing stale lock: ${lockPath}`);
|
|
181
172
|
try {
|
|
182
|
-
(0,
|
|
173
|
+
(0, import_safe.safeDeleteSync)(lockPath, { recursive: true });
|
|
183
174
|
} catch {
|
|
184
175
|
}
|
|
185
176
|
}
|
|
186
|
-
const fs =
|
|
187
|
-
const parent = (
|
|
177
|
+
const fs = (0, import_internal.getFs)();
|
|
178
|
+
const parent = (0, import_internal.getPath)().dirname(lockPath);
|
|
188
179
|
if (parent && parent !== "." && parent !== lockPath) {
|
|
189
180
|
fs.mkdirSync(parent, { recursive: true });
|
|
190
181
|
}
|
|
@@ -196,29 +187,29 @@ class ProcessLockManager {
|
|
|
196
187
|
const code = e.code;
|
|
197
188
|
if (code === "EEXIST") {
|
|
198
189
|
if (this.isStale(lockPath, staleMs)) {
|
|
199
|
-
throw new
|
|
190
|
+
throw new import_error.ErrorCtor(`Stale lock detected: ${lockPath}`);
|
|
200
191
|
}
|
|
201
|
-
throw new
|
|
192
|
+
throw new import_error.ErrorCtor(`Lock already exists: ${lockPath}`);
|
|
202
193
|
}
|
|
203
194
|
if (code === "EACCES" || code === "EPERM") {
|
|
204
|
-
throw new
|
|
195
|
+
throw new import_error.ErrorCtor(
|
|
205
196
|
`Permission denied creating lock: ${lockPath}. Check directory permissions or run with appropriate access.`,
|
|
206
197
|
{ cause: e }
|
|
207
198
|
);
|
|
208
199
|
}
|
|
209
200
|
if (code === "EROFS") {
|
|
210
|
-
throw new
|
|
201
|
+
throw new import_error.ErrorCtor(
|
|
211
202
|
`Cannot create lock on read-only filesystem: ${lockPath}`,
|
|
212
203
|
{ cause: e }
|
|
213
204
|
);
|
|
214
205
|
}
|
|
215
206
|
if (code === "ENOTDIR") {
|
|
216
|
-
const lastSlashIndex = (0,
|
|
207
|
+
const lastSlashIndex = (0, import_math.MathMax)(
|
|
217
208
|
lockPath.lastIndexOf("/"),
|
|
218
209
|
lockPath.lastIndexOf("\\")
|
|
219
210
|
);
|
|
220
211
|
const parentDir = lastSlashIndex === -1 ? "." : lockPath.slice(0, lastSlashIndex);
|
|
221
|
-
throw new
|
|
212
|
+
throw new import_error.ErrorCtor(
|
|
222
213
|
`Cannot create lock directory: ${lockPath}
|
|
223
214
|
A path component is a file when it should be a directory.
|
|
224
215
|
Parent path: ${parentDir}
|
|
@@ -230,12 +221,12 @@ To resolve:
|
|
|
230
221
|
);
|
|
231
222
|
}
|
|
232
223
|
if (code === "ENOENT") {
|
|
233
|
-
const lastSlashIndex = (0,
|
|
224
|
+
const lastSlashIndex = (0, import_math.MathMax)(
|
|
234
225
|
lockPath.lastIndexOf("/"),
|
|
235
226
|
lockPath.lastIndexOf("\\")
|
|
236
227
|
);
|
|
237
228
|
const parentDir = lastSlashIndex === -1 ? "." : lockPath.slice(0, lastSlashIndex);
|
|
238
|
-
throw new
|
|
229
|
+
throw new import_error.ErrorCtor(
|
|
239
230
|
`Cannot create lock directory: ${lockPath}
|
|
240
231
|
Parent directory does not exist: ${parentDir}
|
|
241
232
|
To resolve:
|
|
@@ -245,7 +236,7 @@ To resolve:
|
|
|
245
236
|
{ cause: e }
|
|
246
237
|
);
|
|
247
238
|
}
|
|
248
|
-
throw new
|
|
239
|
+
throw new import_error.ErrorCtor(`Failed to acquire lock: ${lockPath}`, {
|
|
249
240
|
cause: e
|
|
250
241
|
});
|
|
251
242
|
}
|
|
@@ -259,47 +250,49 @@ To resolve:
|
|
|
259
250
|
);
|
|
260
251
|
}
|
|
261
252
|
/**
|
|
262
|
-
* Release a lock and remove from tracking.
|
|
263
|
-
*
|
|
264
|
-
*
|
|
265
|
-
* @param lockPath - Path to the lock directory
|
|
253
|
+
* Release a lock and remove from tracking. Stops periodic touching and
|
|
254
|
+
* removes the lock directory.
|
|
266
255
|
*
|
|
267
256
|
* @example
|
|
268
|
-
*
|
|
269
|
-
*
|
|
270
|
-
*
|
|
257
|
+
* ;```typescript
|
|
258
|
+
* processLock.release('/tmp/my-lock')
|
|
259
|
+
* ```
|
|
260
|
+
*
|
|
261
|
+
* @param lockPath - Path to the lock directory.
|
|
271
262
|
*/
|
|
272
263
|
release(lockPath) {
|
|
273
264
|
this.stopTouchTimer(lockPath);
|
|
274
265
|
try {
|
|
275
|
-
if ((
|
|
276
|
-
(0,
|
|
266
|
+
if ((0, import_internal.getFs)().existsSync(lockPath)) {
|
|
267
|
+
(0, import_safe.safeDeleteSync)(lockPath, { recursive: true });
|
|
277
268
|
}
|
|
278
269
|
this.activeLocks.delete(lockPath);
|
|
279
270
|
} catch (e) {
|
|
280
|
-
logger.warn(`Failed to release lock ${lockPath}: ${(0,
|
|
271
|
+
logger.warn(`Failed to release lock ${lockPath}: ${(0, import_message.errorMessage)(e)}`);
|
|
281
272
|
}
|
|
282
273
|
}
|
|
283
274
|
/**
|
|
284
|
-
* Execute a function with exclusive lock protection.
|
|
285
|
-
*
|
|
275
|
+
* Execute a function with exclusive lock protection. Automatically handles
|
|
276
|
+
* lock acquisition, execution, and cleanup.
|
|
286
277
|
*
|
|
287
|
-
* This is the recommended way to use process locks, as it guarantees
|
|
288
|
-
*
|
|
278
|
+
* This is the recommended way to use process locks, as it guarantees cleanup
|
|
279
|
+
* even if the callback throws an error.
|
|
280
|
+
*
|
|
281
|
+
* @example
|
|
282
|
+
* ;```typescript
|
|
283
|
+
* const result = await processLock.withLock('/tmp/my-lock', async () => {
|
|
284
|
+
* // Critical section
|
|
285
|
+
* return someValue
|
|
286
|
+
* })
|
|
287
|
+
* ```
|
|
288
|
+
*
|
|
289
|
+
* @param lockPath - Path to the lock directory.
|
|
290
|
+
* @param fn - Function to execute while holding the lock.
|
|
291
|
+
* @param options - Lock acquisition options.
|
|
289
292
|
*
|
|
290
|
-
* @param lockPath - Path to the lock directory
|
|
291
|
-
* @param fn - Function to execute while holding the lock
|
|
292
|
-
* @param options - Lock acquisition options
|
|
293
293
|
* @returns Result of the callback function
|
|
294
|
-
* @throws Error from callback or lock acquisition failure
|
|
295
294
|
*
|
|
296
|
-
* @
|
|
297
|
-
* ```typescript
|
|
298
|
-
* const result = await processLock.withLock('/tmp/my-lock', async () => {
|
|
299
|
-
* // Critical section
|
|
300
|
-
* return someValue
|
|
301
|
-
* })
|
|
302
|
-
* ```
|
|
295
|
+
* @throws Error from callback or lock acquisition failure
|
|
303
296
|
*/
|
|
304
297
|
async withLock(lockPath, fn, options) {
|
|
305
298
|
const release = await this.acquire(lockPath, options);
|
|
@@ -310,8 +303,7 @@ To resolve:
|
|
|
310
303
|
}
|
|
311
304
|
}
|
|
312
305
|
}
|
|
313
|
-
const processLock = new ProcessLockManager();
|
|
314
306
|
// Annotate the CommonJS export names for ESM import in node:
|
|
315
307
|
0 && (module.exports = {
|
|
316
|
-
|
|
308
|
+
ProcessLockManager
|
|
317
309
|
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Public type surface for `process/lock-*` modules — the
|
|
3
|
+
* `ProcessLockOptions` bag accepted by `processLock.acquire` and
|
|
4
|
+
* `processLock.withLock`. Pure types, no runtime side effects.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Lock acquisition options.
|
|
8
|
+
*/
|
|
9
|
+
export interface ProcessLockOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Maximum number of retry attempts.
|
|
12
|
+
*
|
|
13
|
+
* @default 3
|
|
14
|
+
*/
|
|
15
|
+
retries?: number | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Base delay between retries in milliseconds.
|
|
18
|
+
*
|
|
19
|
+
* @default 100
|
|
20
|
+
*/
|
|
21
|
+
baseDelayMs?: number | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Maximum delay between retries in milliseconds.
|
|
24
|
+
*
|
|
25
|
+
* @default 1000
|
|
26
|
+
*/
|
|
27
|
+
maxDelayMs?: number | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Stale lock timeout in milliseconds. Locks older than this are considered
|
|
30
|
+
* abandoned and can be reclaimed. Aligned with npm's npx locking strategy (5
|
|
31
|
+
* seconds).
|
|
32
|
+
*
|
|
33
|
+
* @default 5000 (5 seconds)
|
|
34
|
+
*/
|
|
35
|
+
staleMs?: number | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Interval for touching lock file to keep it fresh in milliseconds. Set to 0
|
|
38
|
+
* to disable periodic touching.
|
|
39
|
+
*
|
|
40
|
+
* @default 2000 (2 seconds)
|
|
41
|
+
*/
|
|
42
|
+
touchIntervalMs?: number | undefined;
|
|
43
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
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 __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
+
for (let key of __getOwnPropNames(from))
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
12
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
+
}
|
|
14
|
+
return to;
|
|
15
|
+
};
|
|
16
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
17
|
+
var lock_types_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(lock_types_exports);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Private internals for `spawn/*` modules — the `@npmcli/promise-spawn`
|
|
3
|
+
* lazy loader, the per-spawn ANSI-stripping helper, the WeakMap stack cache,
|
|
4
|
+
* and the binary-path cache shared between `spawn` and `spawnSync`.
|
|
5
|
+
* Underscore prefix excludes this file from the public exports map.
|
|
6
|
+
*/
|
|
7
|
+
export declare const stackCache: WeakMap<Error, string>;
|
|
8
|
+
export declare const spawnBinPathCache: Map<string, string>;
|
|
9
|
+
export declare const windowsScriptExtRegExp: RegExp;
|
|
10
|
+
/**
|
|
11
|
+
* Lazily load the `@npmcli/promise-spawn` module to avoid Webpack bundling
|
|
12
|
+
* issues. Required because the upstream module uses CJS dynamic-require
|
|
13
|
+
* patterns that Webpack flags.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getNpmCliPromiseSpawn(): any;
|
|
16
|
+
/**
|
|
17
|
+
* Strip ANSI escape codes from spawn result stdout and stderr. Modifies the
|
|
18
|
+
* result object in place to remove color codes and formatting.
|
|
19
|
+
*
|
|
20
|
+
* @param {unknown} result - Spawn result object with stdout/stderr properties.
|
|
21
|
+
*
|
|
22
|
+
* @returns {unknown} The modified result object
|
|
23
|
+
*/
|
|
24
|
+
export declare function stripAnsiFromSpawnResult(result: unknown): unknown;
|
|
@@ -0,0 +1,62 @@
|
|
|
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 internal_exports = {};
|
|
22
|
+
__export(internal_exports, {
|
|
23
|
+
getNpmCliPromiseSpawn: () => getNpmCliPromiseSpawn,
|
|
24
|
+
spawnBinPathCache: () => spawnBinPathCache,
|
|
25
|
+
stackCache: () => stackCache,
|
|
26
|
+
stripAnsiFromSpawnResult: () => stripAnsiFromSpawnResult,
|
|
27
|
+
windowsScriptExtRegExp: () => windowsScriptExtRegExp
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(internal_exports);
|
|
30
|
+
var import_strip = require("../../ansi/strip");
|
|
31
|
+
var import_map_set = require("../../primordials/map-set");
|
|
32
|
+
const stackCache = new import_map_set.WeakMapCtor();
|
|
33
|
+
const spawnBinPathCache = new import_map_set.MapCtor();
|
|
34
|
+
const windowsScriptExtRegExp = /\.(?:cmd|bat|ps1)$/i;
|
|
35
|
+
let _npmCliPromiseSpawn;
|
|
36
|
+
// @__NO_SIDE_EFFECTS__
|
|
37
|
+
function getNpmCliPromiseSpawn() {
|
|
38
|
+
if (_npmCliPromiseSpawn === void 0) {
|
|
39
|
+
_npmCliPromiseSpawn = require("../../external/@npmcli/promise-spawn");
|
|
40
|
+
}
|
|
41
|
+
return _npmCliPromiseSpawn;
|
|
42
|
+
}
|
|
43
|
+
// @__NO_SIDE_EFFECTS__
|
|
44
|
+
function stripAnsiFromSpawnResult(result) {
|
|
45
|
+
const res = result;
|
|
46
|
+
const { stderr, stdout } = res;
|
|
47
|
+
if (typeof stdout === "string") {
|
|
48
|
+
res.stdout = (0, import_strip.stripAnsi)(stdout);
|
|
49
|
+
}
|
|
50
|
+
if (typeof stderr === "string") {
|
|
51
|
+
res.stderr = (0, import_strip.stripAnsi)(stderr);
|
|
52
|
+
}
|
|
53
|
+
return res;
|
|
54
|
+
}
|
|
55
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
56
|
+
0 && (module.exports = {
|
|
57
|
+
getNpmCliPromiseSpawn,
|
|
58
|
+
spawnBinPathCache,
|
|
59
|
+
stackCache,
|
|
60
|
+
stripAnsiFromSpawnResult,
|
|
61
|
+
windowsScriptExtRegExp
|
|
62
|
+
});
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Child process spawning utilities with cross-platform support. Provides
|
|
3
|
+
* enhanced spawn functionality with stdio handling and error management.
|
|
4
|
+
* SECURITY: Array-Based Arguments Prevent Command Injection This module uses
|
|
5
|
+
* array-based arguments for all command execution, which is the PRIMARY
|
|
6
|
+
* DEFENSE against command injection attacks. When you pass arguments as an
|
|
7
|
+
* array to spawn(): spawn('npx', ['sfw', tool, ...args], { shell: true })
|
|
8
|
+
* Node.js handles escaping automatically. Each argument is passed directly to
|
|
9
|
+
* the OS without shell interpretation. Shell metacharacters like ; | & $ ( )
|
|
10
|
+
* ` are treated as LITERAL STRINGS, not as commands. This approach is secure
|
|
11
|
+
* even when shell: true is used on Windows for .cmd/.bat file resolution.
|
|
12
|
+
* UNSAFE ALTERNATIVE (not used in this codebase): spawn(`npx sfw ${tool}
|
|
13
|
+
* ${args.join(' ')}`, { shell: true }) // ✖ VULNERABLE String concatenation
|
|
14
|
+
* allows injection. For example, if tool = "foo; rm -rf /", the shell would
|
|
15
|
+
* execute both commands. Array-based arguments prevent this. References:
|
|
16
|
+
*
|
|
17
|
+
* - https://nodejs.org/api/child_process.html#child_processspawncommand-args-options
|
|
18
|
+
* - https://cheatsheetseries.owasp.org/cheatsheets/Nodejs_Security_Cheat_Sheet.html
|
|
19
|
+
*/
|
|
20
|
+
import type { BufferEncoding, SpawnExtra, SpawnOptions, SpawnResult, SpawnSyncOptions, SpawnSyncReturns } from './types';
|
|
21
|
+
/**
|
|
22
|
+
* Spawn a child process and return a promise that resolves when it completes.
|
|
23
|
+
* Provides enhanced error handling, output capture, and cross-platform
|
|
24
|
+
* support.
|
|
25
|
+
*
|
|
26
|
+
* SECURITY: This function uses array-based arguments which prevent command
|
|
27
|
+
* injection. Arguments in the `args` array are passed directly to the OS
|
|
28
|
+
* without shell interpretation. Shell metacharacters (;|&$()`) are treated as
|
|
29
|
+
* literal strings, not as commands or operators. This is the PRIMARY SECURITY
|
|
30
|
+
* DEFENSE.
|
|
31
|
+
*
|
|
32
|
+
* Even when shell: true is used (on Windows for .cmd/.bat execution), the
|
|
33
|
+
* array-based approach remains secure because Node.js properly escapes each
|
|
34
|
+
* argument before passing to the shell.
|
|
35
|
+
*
|
|
36
|
+
* @param {string} cmd - Command to execute (not user-controlled) @param
|
|
37
|
+
* {string[] | readonly string[] | undefined} args - Array of arguments (safe
|
|
38
|
+
* even with user input) @param {SpawnOptions | undefined} options - Spawn
|
|
39
|
+
* options for process configuration @param {SpawnExtra | undefined} extra -
|
|
40
|
+
* Extra options for promise-spawn @returns {SpawnResult} Promise that resolves
|
|
41
|
+
* with process exit information.
|
|
42
|
+
*
|
|
43
|
+
* @throws {SpawnError} When the process exits with non-zero code or is
|
|
44
|
+
* terminated by signal.
|
|
45
|
+
*
|
|
46
|
+
* @example // Basic usage - spawn and wait for completion const result = await
|
|
47
|
+
* spawn('git', ['status']) console.log(result.stdout)
|
|
48
|
+
*
|
|
49
|
+
* @example // With options - set working directory and environment const result
|
|
50
|
+
* = await spawn('npm', ['install'], { cwd: '/path/to/project', env: { NODE_ENV:
|
|
51
|
+
* 'production' } })
|
|
52
|
+
*
|
|
53
|
+
* @example // ✔ DO THIS - Array-based arguments (safe) spawn('git', ['commit',
|
|
54
|
+
* '-m', userMessage]) // Each argument is properly escaped, even if userMessage
|
|
55
|
+
* = "foo; rm -rf /"
|
|
56
|
+
*
|
|
57
|
+
* @example // ✖ NEVER DO THIS - String concatenation (vulnerable) spawn(`git
|
|
58
|
+
* commit -m "${userMessage}"`, { shell: true }) // Vulnerable to injection if
|
|
59
|
+
* userMessage = '"; rm -rf / #'
|
|
60
|
+
*
|
|
61
|
+
* @example // Access stdin for interactive processes const result =
|
|
62
|
+
* spawn('cat', []) result.stdin?.write('Hello\n') result.stdin?.end() const {
|
|
63
|
+
* stdout } = await result console.log(stdout) // 'Hello'
|
|
64
|
+
*
|
|
65
|
+
* @example // Handle errors with exit codes try { await spawn('exit', ['1']) }
|
|
66
|
+
* catch (e) { if (isSpawnError(e)) { console.error(`Failed with code
|
|
67
|
+
* ${e.code}`) console.error(e.stderr) } }
|
|
68
|
+
*/
|
|
69
|
+
export declare function spawn(cmd: string, args?: string[] | readonly string[]): SpawnResult<string>;
|
|
70
|
+
export declare function spawn(cmd: string, args: string[] | readonly string[] | undefined, options: SpawnOptions & {
|
|
71
|
+
stdioString?: true | undefined;
|
|
72
|
+
}, extra?: SpawnExtra | undefined): SpawnResult<string>;
|
|
73
|
+
export declare function spawn(cmd: string, args: string[] | readonly string[] | undefined, options: SpawnOptions & {
|
|
74
|
+
stdioString: false;
|
|
75
|
+
}, extra?: SpawnExtra | undefined): SpawnResult<Buffer>;
|
|
76
|
+
export declare function spawn(cmd: string, args?: string[] | readonly string[], options?: SpawnOptions | undefined, extra?: SpawnExtra | undefined): SpawnResult;
|
|
77
|
+
/**
|
|
78
|
+
* Synchronously spawn a child process and wait for it to complete. Blocks
|
|
79
|
+
* execution until the process exits, returning all output and exit
|
|
80
|
+
* information.
|
|
81
|
+
*
|
|
82
|
+
* WARNING: This function blocks the event loop. Use {@link spawn} for async
|
|
83
|
+
* operations.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* // Basic synchronous spawn
|
|
87
|
+
* const result = spawnSync('git', ['status'])
|
|
88
|
+
* console.log(result.stdout)
|
|
89
|
+
* console.log(result.status) // exit code
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* // With options
|
|
93
|
+
* const result = spawnSync('npm', ['install'], {
|
|
94
|
+
* cwd: '/path/to/project',
|
|
95
|
+
* stdioString: true,
|
|
96
|
+
* })
|
|
97
|
+
* if (result.status !== 0) {
|
|
98
|
+
* console.error(result.stderr)
|
|
99
|
+
* }
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* // Get raw buffer output
|
|
103
|
+
* const result = spawnSync('cat', ['binary-file'], {
|
|
104
|
+
* stdioString: false,
|
|
105
|
+
* })
|
|
106
|
+
* console.log(result.stdout) // Buffer
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* // Handle process errors
|
|
110
|
+
* const result = spawnSync('nonexistent-command')
|
|
111
|
+
* if (result.error) {
|
|
112
|
+
* console.error('Failed to spawn:', result.error)
|
|
113
|
+
* }
|
|
114
|
+
*
|
|
115
|
+
* @param {string} cmd - Command to execute.
|
|
116
|
+
* @param {string[] | readonly string[] | undefined} args - Array of arguments.
|
|
117
|
+
* @param {SpawnSyncOptions | undefined} options - Spawn options for process
|
|
118
|
+
* configuration.
|
|
119
|
+
*
|
|
120
|
+
* @returns {SpawnSyncReturns<string | Buffer>} Process result with exit code
|
|
121
|
+
* and captured output.
|
|
122
|
+
*/
|
|
123
|
+
export declare function spawnSync(cmd: string, args?: string[] | readonly string[]): SpawnSyncReturns<string>;
|
|
124
|
+
export declare function spawnSync(cmd: string, args: string[] | readonly string[] | undefined, options: SpawnSyncOptions & {
|
|
125
|
+
stdioString?: true | undefined;
|
|
126
|
+
encoding?: Exclude<BufferEncoding, never> | undefined;
|
|
127
|
+
}): SpawnSyncReturns<string>;
|
|
128
|
+
export declare function spawnSync(cmd: string, args: string[] | readonly string[] | undefined, options: SpawnSyncOptions & {
|
|
129
|
+
stdioString: false;
|
|
130
|
+
}): SpawnSyncReturns<Buffer>;
|
|
131
|
+
export declare function spawnSync(cmd: string, args: string[] | readonly string[] | undefined, options: SpawnSyncOptions & {
|
|
132
|
+
encoding: 'buffer' | null;
|
|
133
|
+
}): SpawnSyncReturns<Buffer>;
|
|
134
|
+
export declare function spawnSync(cmd: string, args?: string[] | readonly string[], options?: SpawnSyncOptions | undefined): SpawnSyncReturns<string | Buffer>;
|