@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
|
@@ -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 import_logger = require("
|
|
29
|
-
var
|
|
30
|
-
var
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
_fs = require("node:fs");
|
|
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
|
-
}
|
|
25
|
+
module.exports = __toCommonJS(lock_manager_exports);
|
|
26
|
+
var import_message = require("../errors/message");
|
|
27
|
+
var import_safe = require("../fs/safe");
|
|
28
|
+
var import_logger = require("../logger/logger");
|
|
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_register = require("../signal-exit/register");
|
|
35
|
+
var import_internal = require("./_internal");
|
|
48
36
|
const logger = (0, import_logger.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_register.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,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Temporary package executor detection utilities for Socket ecosystem.
|
|
3
|
+
* Identifies and handles temporary execution contexts such as npx, pnpm dlx,
|
|
4
|
+
* and yarn dlx.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Detects if the current process is running in a temporary package execution
|
|
8
|
+
* context such as npm exec, npx, pnpm dlx, or yarn dlx.
|
|
9
|
+
*
|
|
10
|
+
* When package managers run commands via exec/npx/dlx, they execute in
|
|
11
|
+
* temporary directories that are cleaned up after execution. Creating
|
|
12
|
+
* persistent shadows or modifying PATH in these contexts can break subsequent
|
|
13
|
+
* package manager commands.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ;```typescript
|
|
17
|
+
* if (isTransientProcess()) {
|
|
18
|
+
* console.log('Running in a temporary executor context')
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function isTransientProcess(cwd?: string): boolean;
|
|
@@ -28,15 +28,15 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
mod
|
|
29
29
|
));
|
|
30
30
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
33
|
-
|
|
31
|
+
var transient_exports = {};
|
|
32
|
+
__export(transient_exports, {
|
|
33
|
+
isTransientProcess: () => isTransientProcess
|
|
34
34
|
});
|
|
35
|
-
module.exports = __toCommonJS(
|
|
35
|
+
module.exports = __toCommonJS(transient_exports);
|
|
36
36
|
var import_node_process = __toESM(require("node:process"));
|
|
37
|
-
var import_platform = require("
|
|
38
|
-
var import_normalize = require("
|
|
39
|
-
function
|
|
37
|
+
var import_platform = require("../constants/platform");
|
|
38
|
+
var import_normalize = require("../paths/normalize");
|
|
39
|
+
function isTransientProcess(cwd = import_node_process.default.cwd()) {
|
|
40
40
|
const userAgent = import_node_process.default.env["npm_config_user_agent"];
|
|
41
41
|
if (userAgent?.includes("exec") || userAgent?.includes("npx") || // # socket-hook: allow npx
|
|
42
42
|
userAgent?.includes("dlx")) {
|
|
@@ -64,5 +64,5 @@ function isRunningInTemporaryExecutor(cwd = import_node_process.default.cwd()) {
|
|
|
64
64
|
}
|
|
65
65
|
// Annotate the CommonJS export names for ESM import in node:
|
|
66
66
|
0 && (module.exports = {
|
|
67
|
-
|
|
67
|
+
isTransientProcess
|
|
68
68
|
});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Bounded concurrency promise queue. Exports the `PromiseQueue` class,
|
|
3
|
+
* which limits how many async tasks run simultaneously, supports an optional
|
|
4
|
+
* max queue length (new tasks beyond the cap are rejected with "Task dropped:
|
|
5
|
+
* queue length exceeded"), and exposes an idle-wait helper.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PromiseQueue {
|
|
8
|
+
private queue;
|
|
9
|
+
private running;
|
|
10
|
+
private idleResolvers;
|
|
11
|
+
private readonly maxConcurrency;
|
|
12
|
+
private readonly maxQueueLength;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new PromiseQueue.
|
|
15
|
+
*
|
|
16
|
+
* @param maxConcurrency - Maximum number of promises that can run
|
|
17
|
+
* concurrently.
|
|
18
|
+
* @param maxQueueLength - Maximum queue size; submissions past the cap reject
|
|
19
|
+
* with "Task dropped: queue length exceeded" instead of evicting a caller
|
|
20
|
+
* that has been waiting patiently. Callers must handle this rejection or
|
|
21
|
+
* they'll see an unhandled rejection.
|
|
22
|
+
*/
|
|
23
|
+
constructor(maxConcurrency: number, maxQueueLength?: number | undefined);
|
|
24
|
+
/**
|
|
25
|
+
* Add a task to the queue.
|
|
26
|
+
*
|
|
27
|
+
* @param fn - Async function to execute.
|
|
28
|
+
*
|
|
29
|
+
* @returns Promise that resolves with the function's result, or rejects with
|
|
30
|
+
* "Task dropped: queue length exceeded" if the queue is full.
|
|
31
|
+
*/
|
|
32
|
+
add<T>(fn: () => Promise<T>): Promise<T>;
|
|
33
|
+
private runNext;
|
|
34
|
+
private notifyIdleIfNeeded;
|
|
35
|
+
/**
|
|
36
|
+
* Wait for all queued and running tasks to complete.
|
|
37
|
+
*/
|
|
38
|
+
onIdle(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Get the number of tasks currently running.
|
|
41
|
+
*/
|
|
42
|
+
get activeCount(): number;
|
|
43
|
+
/**
|
|
44
|
+
* Get the number of tasks waiting in the queue.
|
|
45
|
+
*/
|
|
46
|
+
get pendingCount(): number;
|
|
47
|
+
/**
|
|
48
|
+
* Clear all pending tasks from the queue (does not affect running tasks)
|
|
49
|
+
*/
|
|
50
|
+
clear(): void;
|
|
51
|
+
}
|
|
@@ -18,12 +18,13 @@ 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(
|
|
21
|
+
var queue_exports = {};
|
|
22
|
+
__export(queue_exports, {
|
|
23
23
|
PromiseQueue: () => PromiseQueue
|
|
24
24
|
});
|
|
25
|
-
module.exports = __toCommonJS(
|
|
26
|
-
var
|
|
25
|
+
module.exports = __toCommonJS(queue_exports);
|
|
26
|
+
var import_error = require("../primordials/error");
|
|
27
|
+
var import_promise = require("../primordials/promise");
|
|
27
28
|
class PromiseQueue {
|
|
28
29
|
queue = [];
|
|
29
30
|
running = 0;
|
|
@@ -31,30 +32,34 @@ class PromiseQueue {
|
|
|
31
32
|
maxConcurrency;
|
|
32
33
|
maxQueueLength;
|
|
33
34
|
/**
|
|
34
|
-
* Creates a new PromiseQueue
|
|
35
|
-
*
|
|
36
|
-
* @param
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
35
|
+
* Creates a new PromiseQueue.
|
|
36
|
+
*
|
|
37
|
+
* @param maxConcurrency - Maximum number of promises that can run
|
|
38
|
+
* concurrently.
|
|
39
|
+
* @param maxQueueLength - Maximum queue size; submissions past the cap reject
|
|
40
|
+
* with "Task dropped: queue length exceeded" instead of evicting a caller
|
|
41
|
+
* that has been waiting patiently. Callers must handle this rejection or
|
|
42
|
+
* they'll see an unhandled rejection.
|
|
40
43
|
*/
|
|
41
44
|
constructor(maxConcurrency, maxQueueLength) {
|
|
42
45
|
this.maxConcurrency = maxConcurrency;
|
|
43
46
|
this.maxQueueLength = maxQueueLength;
|
|
44
47
|
if (maxConcurrency < 1) {
|
|
45
|
-
throw new
|
|
48
|
+
throw new import_error.ErrorCtor("maxConcurrency must be at least 1");
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
/**
|
|
49
|
-
* Add a task to the queue
|
|
50
|
-
*
|
|
51
|
-
* @
|
|
52
|
-
*
|
|
52
|
+
* Add a task to the queue.
|
|
53
|
+
*
|
|
54
|
+
* @param fn - Async function to execute.
|
|
55
|
+
*
|
|
56
|
+
* @returns Promise that resolves with the function's result, or rejects with
|
|
57
|
+
* "Task dropped: queue length exceeded" if the queue is full.
|
|
53
58
|
*/
|
|
54
59
|
async add(fn) {
|
|
55
|
-
return await new
|
|
60
|
+
return await new import_promise.PromiseCtor((resolve, reject) => {
|
|
56
61
|
if (this.maxQueueLength !== void 0 && this.queue.length >= this.maxQueueLength) {
|
|
57
|
-
reject(new
|
|
62
|
+
reject(new import_error.ErrorCtor("Task dropped: queue length exceeded"));
|
|
58
63
|
return;
|
|
59
64
|
}
|
|
60
65
|
const task = { fn, resolve, reject };
|
|
@@ -93,24 +98,24 @@ class PromiseQueue {
|
|
|
93
98
|
}
|
|
94
99
|
}
|
|
95
100
|
/**
|
|
96
|
-
* Wait for all queued and running tasks to complete
|
|
101
|
+
* Wait for all queued and running tasks to complete.
|
|
97
102
|
*/
|
|
98
103
|
async onIdle() {
|
|
99
104
|
if (this.running === 0 && this.queue.length === 0) {
|
|
100
105
|
return;
|
|
101
106
|
}
|
|
102
|
-
return await new
|
|
107
|
+
return await new import_promise.PromiseCtor((resolve) => {
|
|
103
108
|
this.idleResolvers.push(resolve);
|
|
104
109
|
});
|
|
105
110
|
}
|
|
106
111
|
/**
|
|
107
|
-
* Get the number of tasks currently running
|
|
112
|
+
* Get the number of tasks currently running.
|
|
108
113
|
*/
|
|
109
114
|
get activeCount() {
|
|
110
115
|
return this.running;
|
|
111
116
|
}
|
|
112
117
|
/**
|
|
113
|
-
* Get the number of tasks waiting in the queue
|
|
118
|
+
* Get the number of tasks waiting in the queue.
|
|
114
119
|
*/
|
|
115
120
|
get pendingCount() {
|
|
116
121
|
return this.queue.length;
|
|
@@ -122,7 +127,7 @@ class PromiseQueue {
|
|
|
122
127
|
const pending = this.queue;
|
|
123
128
|
this.queue = [];
|
|
124
129
|
for (const task of pending) {
|
|
125
|
-
task.reject(new
|
|
130
|
+
task.reject(new import_error.ErrorCtor("Task cancelled: queue cleared"));
|
|
126
131
|
}
|
|
127
132
|
this.notifyIdleIfNeeded();
|
|
128
133
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Public type surface for `promise-queue/*` modules — the `QueuedTask`
|
|
3
|
+
* storage shape used by the bounded-concurrency `PromiseQueue`. Pure types,
|
|
4
|
+
* no runtime side effects.
|
|
5
|
+
*/
|
|
6
|
+
export type QueuedTask<T> = {
|
|
7
|
+
fn: () => Promise<T>;
|
|
8
|
+
resolve: (value: T) => void;
|
|
9
|
+
reject: (error: unknown) => void;
|
|
10
|
+
};
|
|
@@ -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 types_exports = {};
|
|
18
|
+
module.exports = __toCommonJS(types_exports);
|