@socketsecurity/lib 6.0.6 → 6.0.7
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 +26 -1
- package/dist/ai/discover.d.mts +2 -2
- package/dist/ai/discover.js +3 -2
- package/dist/ai/spawn.js +2 -1
- package/dist/ai/types.d.mts +18 -6
- package/dist/ai/worktree.d.mts +6 -6
- package/dist/ai/worktree.js +1 -1
- package/dist/ansi/strip.d.ts +1 -1
- package/dist/ansi/strip.js +0 -2
- package/dist/archives/_internal.js +7 -9
- package/dist/archives/extract.js +1 -1
- package/dist/archives/tar.js +6 -6
- package/dist/archives/zip.js +3 -5
- package/dist/argv/flag-predicates.d.ts +12 -12
- package/dist/argv/flag-predicates.js +17 -17
- package/dist/argv/flag-types.d.ts +18 -18
- package/dist/argv/flag-types.js +4 -4
- package/dist/argv/parse.d.ts +1 -1
- package/dist/arrays/_internal.js +11 -12
- package/dist/arrays/chunk.js +0 -1
- package/dist/arrays/join.d.ts +37 -3
- package/dist/arrays/join.js +43 -7
- package/dist/arrays/unique.js +0 -1
- package/dist/bin/_internal.d.ts +1 -1
- package/dist/bin/_internal.js +1 -1
- package/dist/bin/exec.js +2 -3
- package/dist/bin/find.js +13 -13
- package/dist/bin/prim.cjs +22736 -22556
- package/dist/bin/resolve.js +12 -13
- package/dist/bin/which.js +8 -8
- package/dist/cache/ttl/store.js +5 -5
- package/dist/checks/primordials-defaults.d.ts +3 -3
- package/dist/checks/primordials-defaults.js +3 -3
- package/dist/checks/primordials.js +4 -3
- package/dist/{bin → cli}/check-primordials.d.ts +11 -11
- package/dist/{bin → cli}/check-primordials.js +55 -52
- package/dist/{bin → cli}/check.js +3 -3
- package/dist/{bin → cli}/socket-lib.d.ts +1 -1
- package/dist/{bin → cli}/socket-lib.js +4 -4
- package/dist/colors/socket-palette.js +7 -9
- package/dist/compression/_internal.d.ts +12 -12
- package/dist/compression/_internal.js +17 -17
- package/dist/compression/brotli.d.ts +25 -25
- package/dist/compression/brotli.js +33 -33
- package/dist/compression/gzip.d.ts +23 -23
- package/dist/compression/gzip.js +40 -40
- package/dist/constants/agents.d.ts +3 -1
- package/dist/constants/agents.js +15 -11
- package/dist/constants/licenses.js +3 -3
- package/dist/constants/node.d.ts +23 -0
- package/dist/constants/node.js +47 -15
- package/dist/constants/packages.js +22 -28
- package/dist/constants/platform.d.ts +30 -3
- package/dist/constants/platform.js +72 -12
- package/dist/constants/runtime.d.ts +22 -0
- package/dist/constants/runtime.js +32 -0
- package/dist/constants/socket.js +1 -1
- package/dist/cover/code.js +8 -8
- package/dist/cover/formatters.js +5 -5
- package/dist/crypto/hash.d.ts +26 -1
- package/dist/crypto/hash.js +43 -12
- package/dist/debug/_internal.js +4 -6
- package/dist/debug/caller-info.js +2 -3
- package/dist/debug/namespace.d.ts +7 -0
- package/dist/debug/namespace.js +21 -12
- package/dist/debug/output.js +21 -24
- package/dist/debug/types.d.ts +4 -4
- package/dist/dlx/arborist.js +6 -6
- package/dist/dlx/binary-cache.js +14 -14
- package/dist/dlx/binary-download.d.ts +1 -1
- package/dist/dlx/binary-download.js +11 -11
- package/dist/dlx/binary-resolution.js +16 -14
- package/dist/dlx/binary-types.d.ts +5 -5
- package/dist/dlx/binary.js +5 -5
- package/dist/dlx/cache.js +1 -1
- package/dist/dlx/detect.d.ts +34 -25
- package/dist/dlx/detect.js +86 -77
- package/dist/dlx/dir.js +2 -2
- package/dist/dlx/firewall.d.ts +1 -1
- package/dist/dlx/lockfile.d.ts +19 -18
- package/dist/dlx/lockfile.js +16 -16
- package/dist/dlx/manifest.d.ts +6 -6
- package/dist/dlx/manifest.js +5 -5
- package/dist/dlx/package.d.ts +10 -10
- package/dist/dlx/package.js +16 -16
- package/dist/dlx/packages.js +4 -4
- package/dist/dlx/paths.js +7 -7
- package/dist/dlx/spec.js +1 -1
- package/dist/dlx/types.d.ts +28 -27
- package/dist/eco/cargo/parse-lockfile.d.ts +1 -1
- package/dist/eco/cargo/parse-lockfile.js +2 -2
- package/dist/eco/manifest/analyze-lockfile.js +2 -2
- package/dist/eco/manifest/detect-format.js +4 -4
- package/dist/eco/manifest/find-packages.js +2 -2
- package/dist/eco/manifest/get-package-versions.js +2 -2
- package/dist/eco/manifest/get-package.js +2 -2
- package/dist/eco/manifest/parse-lockfile.js +2 -2
- package/dist/eco/manifest/parse-manifest.js +2 -2
- package/dist/eco/manifest/parse.js +2 -2
- package/dist/eco/npm/npm/exec.js +2 -2
- package/dist/eco/npm/npm/flags.js +7 -12
- package/dist/eco/npm/npm/parse-lockfile.d.ts +14 -14
- package/dist/eco/npm/npm/parse-lockfile.js +3 -3
- package/dist/eco/npm/parse-package-json.js +3 -3
- package/dist/eco/npm/pnpm/exec.d.ts +1 -1
- package/dist/eco/npm/pnpm/exec.js +5 -5
- package/dist/eco/npm/pnpm/flags.js +0 -3
- package/dist/eco/npm/pnpm/parse-lockfile.d.ts +1 -1
- package/dist/eco/npm/pnpm/parse-lockfile.js +4 -4
- package/dist/eco/npm/script.js +9 -6
- package/dist/eco/npm/yarnpkg/yarn/exec.js +3 -3
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.d.ts +2 -2
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +8 -8
- package/dist/effects/pulse-frames.d.ts +3 -1
- package/dist/effects/shimmer-keyframes.d.ts +1 -1
- package/dist/effects/shimmer-terminal.d.ts +1 -1
- package/dist/env/boolean.js +0 -1
- package/dist/env/ci.js +0 -1
- package/dist/env/debug.js +0 -1
- package/dist/env/github-status.d.ts +51 -0
- package/dist/env/github-status.js +90 -0
- package/dist/env/github.js +0 -8
- package/dist/env/home.js +0 -1
- package/dist/env/locale.js +0 -3
- package/dist/env/node-auth-token.js +0 -1
- package/dist/env/node-env.js +0 -1
- package/dist/env/node-version-managers.d.ts +53 -0
- package/dist/env/node-version-managers.js +90 -0
- package/dist/env/npm.js +0 -5
- package/dist/env/number.js +0 -1
- package/dist/env/package-manager.js +3 -6
- package/dist/env/path.js +0 -1
- package/dist/env/pre-commit.js +1 -2
- package/dist/env/rewire.d.ts +7 -6
- package/dist/env/rewire.js +15 -16
- package/dist/env/shell.js +0 -1
- package/dist/env/socket-cli.js +5 -18
- package/dist/env/socket-mcp.d.ts +114 -0
- package/dist/env/socket-mcp.js +146 -0
- package/dist/env/socket.d.ts +1 -109
- package/dist/env/socket.js +12 -167
- package/dist/env/string.js +0 -1
- package/dist/env/temp-dir.js +0 -3
- package/dist/env/term.js +0 -1
- package/dist/env/test.js +3 -6
- package/dist/env/windows.js +0 -4
- package/dist/env/xdg.js +0 -3
- package/dist/events/exit/_internal.d.ts +11 -9
- package/dist/events/exit/_internal.js +31 -35
- package/dist/events/exit/handler.js +3 -4
- package/dist/events/exit/intercept.js +4 -6
- package/dist/events/exit/lifecycle.js +16 -18
- package/dist/events/exit/signals.js +1 -2
- package/dist/events/exit/types.d.ts +6 -5
- package/dist/external/@npmcli/package-json.js +2 -2
- package/dist/external/npm-pack.js +2 -2
- package/dist/external-tools/bazel/read-bazel-version-file.js +1 -1
- package/dist/external-tools/bazel/types.d.ts +1 -1
- package/dist/external-tools/cdxgen/from-vfs.js +1 -1
- package/dist/external-tools/cdxgen/types.d.ts +1 -1
- package/dist/external-tools/from-download.d.ts +1 -1
- package/dist/external-tools/from-download.js +1 -1
- package/dist/external-tools/janus/from-vfs.js +1 -1
- package/dist/external-tools/janus/types.d.ts +1 -1
- package/dist/external-tools/jre/detect-platform-arch.d.ts +10 -6
- package/dist/external-tools/jre/detect-platform-arch.js +29 -14
- package/dist/external-tools/jre/from-vfs.js +1 -1
- package/dist/external-tools/jre/types.d.ts +1 -1
- package/dist/external-tools/manifest.d.ts +7 -7
- package/dist/external-tools/manifest.js +12 -12
- package/dist/external-tools/opengrep/from-vfs.js +1 -1
- package/dist/external-tools/opengrep/types.d.ts +1 -1
- package/dist/external-tools/python/asset-names.d.ts +76 -0
- package/dist/external-tools/python/asset-names.js +104 -0
- package/dist/external-tools/python/dlx.d.ts +80 -0
- package/dist/external-tools/python/dlx.js +87 -0
- package/dist/external-tools/python/from-download.d.ts +53 -0
- package/dist/external-tools/python/from-download.js +68 -0
- package/dist/external-tools/python/from-path.d.ts +7 -0
- package/dist/external-tools/python/from-path.js +23 -0
- package/dist/external-tools/python/pin.d.ts +121 -0
- package/dist/external-tools/python/pin.js +173 -0
- package/dist/external-tools/python/pip-install.d.ts +75 -0
- package/dist/external-tools/python/pip-install.js +139 -0
- package/dist/external-tools/python/resolve.d.ts +42 -0
- package/dist/external-tools/python/resolve.js +58 -0
- package/dist/external-tools/python/types.d.ts +49 -0
- package/dist/external-tools/sbt/from-vfs.js +1 -1
- package/dist/external-tools/sbt/types.d.ts +1 -1
- package/dist/external-tools/skillspector/from-path.js +3 -5
- package/dist/external-tools/skillspector/from-vfs.js +1 -1
- package/dist/external-tools/synp/from-download.js +2 -2
- package/dist/external-tools/synp/from-vfs.js +1 -1
- package/dist/external-tools/trivy/from-vfs.js +1 -1
- package/dist/external-tools/trivy/types.d.ts +1 -1
- package/dist/external-tools/trufflehog/from-vfs.js +1 -1
- package/dist/external-tools/trufflehog/types.d.ts +1 -1
- package/dist/fs/_internal.d.ts +1 -1
- package/dist/fs/_internal.js +7 -7
- package/dist/fs/access.js +5 -9
- package/dist/fs/{path-cache.js → allowed-dirs-cache.js} +1 -1
- package/dist/fs/encoding.js +5 -7
- package/dist/fs/{find-up.js → find.js} +11 -13
- package/dist/fs/inspect.js +7 -13
- package/dist/fs/read-dir.js +7 -10
- package/dist/fs/read-file.js +8 -14
- package/dist/fs/read-json-cache.d.ts +6 -4
- package/dist/fs/read-json-cache.js +9 -6
- package/dist/fs/read-json.js +4 -6
- package/dist/fs/resolve-module.js +1 -1
- package/dist/fs/safe.d.ts +1 -1
- package/dist/fs/safe.js +12 -13
- package/dist/fs/unique.js +4 -5
- package/dist/fs/validate.js +1 -2
- package/dist/fs/write-json.js +4 -5
- package/dist/git/_internal.js +10 -10
- package/dist/git/changed.js +4 -4
- package/dist/git/repo.js +3 -3
- package/dist/git/staged.js +4 -4
- package/dist/git/unstaged.js +4 -4
- package/dist/github/ghsa.js +2 -2
- package/dist/github/refs-cache.d.ts +1 -1
- package/dist/github/refs-cache.js +5 -5
- package/dist/github/refs-rest.js +5 -5
- package/dist/github/{fetch.js → request.js} +13 -2
- package/dist/github/token.js +1 -1
- package/dist/github/types.d.ts +1 -1
- package/dist/globs/_internal.js +7 -9
- package/dist/globs/match.js +4 -6
- package/dist/globs/matcher.d.ts +3 -3
- package/dist/globs/matcher.js +12 -14
- package/dist/globs/stream.js +1 -2
- package/dist/globs/types.d.ts +24 -24
- package/dist/http-request/_internal.d.ts +1 -1
- package/dist/http-request/browser.js +4 -2
- package/dist/http-request/checksum-file.d.ts +55 -0
- package/dist/http-request/checksum-file.js +95 -0
- package/dist/http-request/download-types.d.ts +15 -23
- package/dist/http-request/download.js +3 -3
- package/dist/http-request/headers.js +0 -1
- package/dist/http-request/request-attempt.js +37 -33
- package/dist/http-request/request-types.d.ts +2 -2
- package/dist/http-request/request.js +1 -1
- package/dist/http-request/user-agent.js +3 -4
- package/dist/integrity.d.ts +86 -18
- package/dist/integrity.js +119 -30
- package/dist/ipc/directory.js +2 -2
- package/dist/ipc/paths.js +1 -1
- package/dist/ipc/write.js +1 -1
- package/dist/ipc-cli/get.js +12 -12
- package/dist/json/edit.js +13 -14
- package/dist/json/format.js +2 -2
- package/dist/json/parse.d.ts +1 -1
- package/dist/json/parse.js +3 -7
- package/dist/logger/_internal.d.ts +4 -4
- package/dist/logger/_internal.js +3 -3
- package/dist/logger/colors.js +4 -3
- package/dist/logger/console-methods.d.ts +132 -0
- package/dist/logger/console-methods.js +169 -0
- package/dist/logger/console.d.ts +12 -0
- package/dist/logger/console.js +42 -11
- package/dist/logger/indentation-methods.d.ts +81 -0
- package/dist/logger/indentation-methods.js +121 -0
- package/dist/logger/node.d.ts +16 -338
- package/dist/logger/node.js +75 -608
- package/dist/logger/options.d.ts +39 -0
- package/dist/logger/options.js +47 -0
- package/dist/logger/semantic-methods.d.ts +63 -0
- package/dist/logger/semantic-methods.js +108 -0
- package/dist/logger/stream-methods.d.ts +63 -0
- package/dist/logger/stream-methods.js +101 -0
- package/dist/logger/stream.d.ts +37 -0
- package/dist/logger/stream.js +42 -0
- package/dist/logger/symbols-builder.js +9 -9
- package/dist/logger/symbols.d.ts +2 -25
- package/dist/logger/symbols.js +53 -74
- package/dist/logger/types.d.ts +1 -1
- package/dist/memo/types.d.ts +6 -6
- package/dist/native-messaging/host.d.ts +20 -0
- package/dist/native-messaging/host.js +120 -0
- package/dist/native-messaging/index.d.ts +5 -0
- package/dist/native-messaging/index.js +22 -0
- package/dist/native-messaging/install.d.ts +60 -0
- package/dist/native-messaging/install.js +141 -0
- package/dist/native-messaging/rate-limit.d.ts +62 -0
- package/dist/native-messaging/rate-limit.js +115 -0
- package/dist/native-messaging/run.d.ts +10 -0
- package/dist/native-messaging/run.js +17 -0
- package/dist/node/async-hooks.js +4 -3
- package/dist/node/child-process.js +4 -3
- package/dist/node/crypto.js +4 -3
- package/dist/node/events.js +4 -3
- package/dist/node/fs-promises.js +4 -3
- package/dist/node/fs.js +4 -3
- package/dist/node/http.js +4 -3
- package/dist/node/https.js +4 -3
- package/dist/node/module.js +10 -6
- package/dist/node/os.js +4 -3
- package/dist/node/path.js +4 -3
- package/dist/node/timers-promises.js +4 -3
- package/dist/node/url.js +4 -3
- package/dist/node/util.js +4 -3
- package/dist/objects/getters.js +5 -7
- package/dist/objects/inspect.js +1 -4
- package/dist/objects/mutate.js +2 -3
- package/dist/objects/predicates.js +0 -4
- package/dist/objects/sort.js +3 -7
- package/dist/packages/edit-class.js +15 -16
- package/dist/packages/edit.js +12 -14
- package/dist/packages/exports.js +11 -17
- package/dist/packages/fetch.d.ts +16 -0
- package/dist/packages/fetch.js +81 -0
- package/dist/packages/find.d.ts +55 -0
- package/dist/packages/find.js +65 -0
- package/dist/packages/isolation.js +14 -14
- package/dist/packages/licenses.js +16 -16
- package/dist/packages/manifest.js +12 -15
- package/dist/packages/metadata-extensions.d.ts +14 -0
- package/dist/packages/metadata-extensions.js +43 -0
- package/dist/packages/normalize.js +5 -9
- package/dist/packages/provenance.js +16 -18
- package/dist/packages/read.d.ts +29 -0
- package/dist/packages/read.js +66 -0
- package/dist/packages/specs.d.ts +48 -1
- package/dist/packages/specs.js +74 -11
- package/dist/packages/tarball.d.ts +24 -0
- package/dist/packages/tarball.js +79 -0
- package/dist/packages/types.d.ts +21 -20
- package/dist/packages/validation.js +0 -3
- package/dist/paths/_internal.d.ts +2 -1
- package/dist/paths/_internal.js +7 -19
- package/dist/paths/conversion.js +5 -9
- package/dist/paths/filenames.d.ts +0 -1
- package/dist/paths/filenames.js +0 -2
- package/dist/paths/normalize.js +4 -5
- package/dist/paths/packages.js +4 -7
- package/dist/paths/predicates.js +9 -16
- package/dist/paths/resolve.js +11 -14
- package/dist/paths/rewire.js +3 -3
- package/dist/paths/socket.js +16 -16
- package/dist/paths/walk.d.ts +1 -1
- package/dist/paths/walk.js +4 -4
- package/dist/perf/report.js +2 -2
- package/dist/perf/types.d.ts +1 -1
- package/dist/pkg-ext/data.js +1 -1
- package/dist/primordials/array.js +9 -9
- package/dist/primordials/date.js +2 -2
- package/dist/primordials/error.js +3 -3
- package/dist/primordials/headers.d.ts +10 -0
- package/dist/primordials/headers.js +23 -0
- package/dist/primordials/intl.d.ts +13 -0
- package/dist/primordials/intl.js +26 -0
- package/dist/primordials/math.js +33 -33
- package/dist/primordials/number.js +9 -9
- package/dist/primordials/object.js +5 -5
- package/dist/primordials/string.d.ts +2 -2
- package/dist/primordials/string.js +6 -6
- package/dist/primordials/symbol.js +3 -3
- package/dist/primordials/uncurry.js +9 -9
- package/dist/process/abort.js +3 -3
- package/dist/process/lock-manager.js +8 -8
- package/dist/process/spawn/_internal.js +6 -8
- package/dist/process/spawn/child.js +14 -14
- package/dist/process/spawn/errors.js +2 -4
- package/dist/process/spawn/kill-tree.d.ts +53 -0
- package/dist/process/spawn/kill-tree.js +85 -0
- package/dist/process/spawn/stdio.js +0 -1
- package/dist/process/spawn/types.d.ts +5 -5
- package/dist/process/transient.js +2 -2
- package/dist/promises/_internal.d.ts +2 -1
- package/dist/promises/_internal.js +2 -6
- package/dist/promises/iterate.js +11 -15
- package/dist/promises/options.js +3 -6
- package/dist/promises/retry.js +4 -5
- package/dist/promises/timers.d.ts +30 -0
- package/dist/promises/timers.js +48 -0
- package/dist/releases/github-archives.d.ts +6 -6
- package/dist/releases/github-archives.js +2 -2
- package/dist/releases/github-asset-url.d.ts +1 -1
- package/dist/releases/github-asset-url.js +5 -5
- package/dist/releases/github-downloads.d.ts +1 -1
- package/dist/releases/github-downloads.js +3 -3
- package/dist/releases/github-listing.d.ts +11 -2
- package/dist/releases/github-listing.js +20 -7
- package/dist/releases/github-retry-config.js +1 -1
- package/dist/releases/github-types.d.ts +6 -6
- package/dist/releases/socket-btm-binary-naming.d.ts +107 -0
- package/dist/releases/socket-btm-binary-naming.js +155 -0
- package/dist/releases/socket-btm.d.ts +8 -115
- package/dist/releases/socket-btm.js +16 -159
- package/dist/schema/types.d.ts +1 -1
- package/dist/sea/detect.js +6 -6
- package/dist/secrets/_internal.d.ts +2 -2
- package/dist/secrets/_internal.js +2 -2
- package/dist/secrets/compare.d.ts +45 -0
- package/dist/secrets/compare.js +61 -0
- package/dist/secrets/keychain.js +6 -4
- package/dist/secrets/linux.js +19 -19
- package/dist/secrets/macos.d.ts +1 -1
- package/dist/secrets/macos.js +13 -13
- package/dist/secrets/rc.d.ts +2 -2
- package/dist/secrets/rc.js +6 -4
- package/dist/secrets/socket-api-token.d.ts +4 -4
- package/dist/secrets/socket-api-token.js +18 -9
- package/dist/secrets/windows.js +14 -13
- package/dist/shadow/skip.js +2 -2
- package/dist/smol/detect.js +9 -10
- package/dist/smol/http.js +6 -7
- package/dist/smol/https.js +6 -7
- package/dist/smol/manifest.d.ts +1 -1
- package/dist/smol/manifest.js +6 -7
- package/dist/smol/path.d.ts +1 -1
- package/dist/smol/path.js +7 -8
- package/dist/smol/primordial.d.ts +4 -0
- package/dist/smol/primordial.js +6 -7
- package/dist/smol/purl.d.ts +1 -1
- package/dist/smol/purl.js +7 -8
- package/dist/smol/versions.js +6 -7
- package/dist/smol/vfs.js +6 -7
- package/dist/sorts/_internal.js +6 -8
- package/dist/sorts/natural.js +10 -12
- package/dist/sorts/semver.js +1 -2
- package/dist/sorts/strings.js +0 -1
- package/dist/sorts/types.d.ts +1 -1
- package/dist/spinner/create-spinner-class.d.ts +38 -0
- package/dist/spinner/create-spinner-class.js +302 -0
- package/dist/spinner/default.js +8 -9
- package/dist/spinner/spinner-internals.d.ts +36 -0
- package/dist/spinner/spinner-internals.js +101 -0
- package/dist/spinner/spinner-shimmer-methods.d.ts +54 -0
- package/dist/spinner/spinner-shimmer-methods.js +143 -0
- package/dist/spinner/spinner-status-methods.d.ts +40 -0
- package/dist/spinner/spinner-status-methods.js +133 -0
- package/dist/spinner/spinner.d.ts +4 -5
- package/dist/spinner/spinner.js +18 -705
- package/dist/spinner/types.d.ts +3 -1
- package/dist/spinner/with.d.ts +10 -0
- package/dist/spinner/with.js +16 -2
- package/dist/stdio/divider.js +1 -1
- package/dist/stdio/footer.js +3 -3
- package/dist/stdio/header.js +4 -4
- package/dist/stdio/progress.js +5 -5
- package/dist/stdio/prompts.d.ts +5 -3
- package/dist/stdio/prompts.js +6 -7
- package/dist/stdio/stdout.js +3 -3
- package/dist/streams/parallel.js +3 -5
- package/dist/streams/transform.js +2 -3
- package/dist/strings/format.js +2 -6
- package/dist/strings/predicates.js +0 -2
- package/dist/strings/search.js +1 -2
- package/dist/strings/transform.js +0 -3
- package/dist/strings/width.js +9 -10
- package/dist/tables/bordered.js +4 -3
- package/dist/tables/padding.js +1 -1
- package/dist/tables/simple.js +8 -5
- package/dist/temporal/instant.js +1 -1
- package/dist/temporal/slots.js +6 -6
- package/dist/temporal/system.js +9 -9
- package/dist/themes/context.d.ts +3 -2
- package/dist/themes/context.js +4 -5
- package/dist/themes/themes.js +15 -15
- package/dist/themes/types.d.ts +3 -3
- package/dist/url/parse.js +0 -2
- package/dist/url/predicates.js +1 -2
- package/dist/url/search-params.js +3 -9
- package/dist/url/types.d.ts +5 -5
- package/dist/versions/_internal.js +3 -3
- package/dist/words/article.js +0 -1
- package/dist/words/capitalize.js +0 -1
- package/dist/words/pluralize.js +15 -5
- package/package.json +247 -106
- package/dist/external-tools/uv/asset-names.d.ts +0 -36
- package/dist/external-tools/uv/asset-names.js +0 -70
- package/dist/external-tools/uv/from-download.d.ts +0 -17
- package/dist/external-tools/uv/from-download.js +0 -47
- package/dist/external-tools/uv/from-path.d.ts +0 -5
- package/dist/external-tools/uv/from-path.js +0 -22
- package/dist/external-tools/uv/from-vfs.d.ts +0 -7
- package/dist/external-tools/uv/from-vfs.js +0 -26
- package/dist/external-tools/uv/resolve.d.ts +0 -25
- package/dist/external-tools/uv/resolve.js +0 -53
- package/dist/external-tools/uv/types.d.ts +0 -24
- package/dist/http-request/checksums.d.ts +0 -69
- package/dist/http-request/checksums.js +0 -108
- package/dist/http-request/http-request.d.ts +0 -12
- package/dist/http-request/http-request.js +0 -11
- package/dist/packages/operations.d.ts +0 -113
- package/dist/packages/operations.js +0 -304
- package/dist/ssri/convert.d.ts +0 -48
- package/dist/ssri/convert.js +0 -69
- package/dist/ssri/parse.d.ts +0 -27
- package/dist/ssri/parse.js +0 -41
- package/dist/ssri/validate.d.ts +0 -41
- package/dist/ssri/validate.js +0 -56
- /package/dist/{bin → cli}/check.d.ts +0 -0
- /package/dist/external-tools/{uv → python}/types.js +0 -0
- /package/dist/fs/{path-cache.d.ts → allowed-dirs-cache.d.ts} +0 -0
- /package/dist/fs/{find-up.d.ts → find.d.ts} +0 -0
- /package/dist/github/{fetch.d.ts → request.d.ts} +0 -0
|
@@ -38,9 +38,9 @@ const yarnInstallLikeCommands = new require_primordials_map_set.SetCtor([
|
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
40
|
function execYarn(args, options) {
|
|
41
|
-
const useDebug =
|
|
41
|
+
const useDebug = require_debug_namespace.isDebug();
|
|
42
42
|
const terminatorPos = require_primordials_array.ArrayPrototypeIndexOf(args, "--");
|
|
43
|
-
const yarnArgs = (terminatorPos === -1 ? args : require_primordials_array.ArrayPrototypeSlice(args, 0, terminatorPos)).filter((a) =>
|
|
43
|
+
const yarnArgs = (terminatorPos === -1 ? args : require_primordials_array.ArrayPrototypeSlice(args, 0, terminatorPos)).filter((a) => !require_eco_npm_npm_flags.isNpmProgressFlag(a));
|
|
44
44
|
const otherArgs = terminatorPos === -1 ? [] : require_primordials_array.ArrayPrototypeSlice(args, terminatorPos);
|
|
45
45
|
const firstArg = yarnArgs[0];
|
|
46
46
|
/* c8 ignore start */
|
|
@@ -49,7 +49,7 @@ function execYarn(args, options) {
|
|
|
49
49
|
const hasIgnoreScriptsFlag = yarnArgs.some(require_eco_npm_pnpm_flags.isPnpmIgnoreScriptsFlag);
|
|
50
50
|
const ignoreScriptsArgs = !supportsIgnoreScripts || hasIgnoreScriptsFlag ? [] : ["--ignore-scripts"];
|
|
51
51
|
/* c8 ignore stop */
|
|
52
|
-
return
|
|
52
|
+
return require_bin_exec.execBin("yarn", [
|
|
53
53
|
...logLevelArgs,
|
|
54
54
|
...ignoreScriptsArgs,
|
|
55
55
|
...yarnArgs,
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
* https://github.com/CycloneDX/cdxgen/blob/v11.11.0/lib/parsers/js.js
|
|
23
23
|
* (parseYarnLock)
|
|
24
24
|
* 4. **yarn format docs**: classic (v1):
|
|
25
|
-
* https://github.com/yarnpkg/yarn/blob/
|
|
26
|
-
* (v2+): https://yarnpkg.com/configuration/yarnrc#lockfileVersion
|
|
25
|
+
* https://github.com/yarnpkg/yarn/blob/v1.22.22/src/lockfile/parse.js
|
|
26
|
+
* berry (v2+): https://yarnpkg.com/configuration/yarnrc#lockfileVersion
|
|
27
27
|
* protocols: https://yarnpkg.com/protocol/ Bug fixes implemented here (and
|
|
28
28
|
* in the native parser):
|
|
29
29
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* Socket Lib - Built with rolldown */
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
const require_primordials_string = require('../../../../primordials/string.js');
|
|
5
4
|
const require_primordials_math = require('../../../../primordials/math.js');
|
|
5
|
+
const require_primordials_string = require('../../../../primordials/string.js');
|
|
6
6
|
const require_primordials_array = require('../../../../primordials/array.js');
|
|
7
7
|
const require_primordials_object = require('../../../../primordials/object.js');
|
|
8
8
|
const require_smol_manifest = require('../../../../smol/manifest.js');
|
|
@@ -33,8 +33,8 @@ const require_eco_npm_yarnpkg_yarn_parse_yarn_descriptor = require('./parse-yarn
|
|
|
33
33
|
* https://github.com/CycloneDX/cdxgen/blob/v11.11.0/lib/parsers/js.js
|
|
34
34
|
* (parseYarnLock)
|
|
35
35
|
* 4. **yarn format docs**: classic (v1):
|
|
36
|
-
* https://github.com/yarnpkg/yarn/blob/
|
|
37
|
-
* (v2+): https://yarnpkg.com/configuration/yarnrc#lockfileVersion
|
|
36
|
+
* https://github.com/yarnpkg/yarn/blob/v1.22.22/src/lockfile/parse.js
|
|
37
|
+
* berry (v2+): https://yarnpkg.com/configuration/yarnrc#lockfileVersion
|
|
38
38
|
* protocols: https://yarnpkg.com/protocol/ Bug fixes implemented here (and
|
|
39
39
|
* in the native parser):
|
|
40
40
|
*
|
|
@@ -86,7 +86,7 @@ function consumeEntryProperties(content, startPos, entry) {
|
|
|
86
86
|
const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
|
|
87
87
|
const end = eol === -1 ? content.length : eol;
|
|
88
88
|
const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
|
|
89
|
-
if (line.length === 0 || line[0] !== "
|
|
89
|
+
if (line.length === 0 || line[0] !== " " && line[0] !== " ") break;
|
|
90
90
|
const propLine = require_primordials_string.StringPrototypeTrim(line);
|
|
91
91
|
pos = end + 1;
|
|
92
92
|
if (require_primordials_string.StringPrototypeIndexOf(propLine, "version ") === 0 || require_primordials_string.StringPrototypeIndexOf(propLine, "version:") === 0) entry.version = stripQuotes(valueAfterKey(propLine, 8));
|
|
@@ -122,7 +122,7 @@ function jsParseYarnLock(content) {
|
|
|
122
122
|
pos = skipIndentedBlock(content, pos);
|
|
123
123
|
continue;
|
|
124
124
|
}
|
|
125
|
-
if (line[0] === "
|
|
125
|
+
if (line[0] === " " || line[0] === " ") continue;
|
|
126
126
|
const trimmed = require_primordials_string.StringPrototypeTrim(line);
|
|
127
127
|
if (!require_primordials_string.StringPrototypeEndsWith(trimmed, ":")) continue;
|
|
128
128
|
let header = stripQuotes(require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(trimmed, 0, -1)));
|
|
@@ -182,7 +182,7 @@ function skipIndentedBlock(content, startPos) {
|
|
|
182
182
|
const eol = require_primordials_string.StringPrototypeIndexOf(content, "\n", pos);
|
|
183
183
|
const end = eol === -1 ? content.length : eol;
|
|
184
184
|
const line = require_primordials_string.StringPrototypeSlice(content, pos, end);
|
|
185
|
-
if (line.length === 0 || line[0] !== "
|
|
185
|
+
if (line.length === 0 || line[0] !== " " && line[0] !== " ") return pos;
|
|
186
186
|
pos = end + 1;
|
|
187
187
|
}
|
|
188
188
|
return pos;
|
|
@@ -197,8 +197,8 @@ function stripQuotes(s) {
|
|
|
197
197
|
function valueAfterKey(line, keyLen) {
|
|
198
198
|
return require_primordials_string.StringPrototypeTrim(require_primordials_string.StringPrototypeSlice(line, keyLen));
|
|
199
199
|
}
|
|
200
|
-
const
|
|
201
|
-
const parseYarnLock =
|
|
200
|
+
const smol = require_smol_manifest.getSmolManifest();
|
|
201
|
+
const parseYarnLock = smol ? (content) => smol.parseLockfile(content, "npm", "yarn") : jsParseYarnLock;
|
|
202
202
|
|
|
203
203
|
//#endregion
|
|
204
204
|
exports.addToYarnIndex = addToYarnIndex;
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* animation frames using sparkles (✧ ✦) and lightning (⚡). Follows the
|
|
4
4
|
* cli-spinners format: https://github.com/sindresorhus/cli-spinners.
|
|
5
5
|
*/
|
|
6
|
+
import type { ThemeName } from '../themes/themes';
|
|
7
|
+
import type { Theme } from '../themes/types';
|
|
6
8
|
export type SocketFramesOptions = {
|
|
7
9
|
readonly baseColor?: readonly [number, number, number] | undefined;
|
|
8
10
|
readonly interval?: number | undefined;
|
|
@@ -11,7 +13,7 @@ export type SocketFramesOptions = {
|
|
|
11
13
|
* etc.) or a Theme object. Note: Currently frames only contain brightness
|
|
12
14
|
* modifiers. Colors are applied by yocto-spinner based on spinner.color.
|
|
13
15
|
*/
|
|
14
|
-
readonly theme?:
|
|
16
|
+
readonly theme?: Theme | ThemeName | undefined;
|
|
15
17
|
};
|
|
16
18
|
/**
|
|
17
19
|
* Generate Socket pulse animation frames. Creates a pulsing throbber using
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* // dur="3s" repeatCount="indefinite" />
|
|
21
21
|
* ```
|
|
22
22
|
*/
|
|
23
|
-
import {
|
|
23
|
+
import type { ShimmerSpec } from './shimmer';
|
|
24
24
|
/**
|
|
25
25
|
* Keyframe track for a single character. `times[i]` is in [0, 1] and pairs with
|
|
26
26
|
* `values[i]` (an `rgb(R,G,B)` string). Use directly as SMIL `<animate>`
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
25
|
import { ANSI_RESET } from '../ansi/constants';
|
|
26
|
-
import {
|
|
26
|
+
import type { RGB, ShimmerSpec } from './shimmer';
|
|
27
27
|
/**
|
|
28
28
|
* ANSI "reset all attributes" sequence. Re-exported from `../ansi` for
|
|
29
29
|
* convenience so callers don't need a separate import for the canonical value.
|
package/dist/env/boolean.js
CHANGED
|
@@ -28,7 +28,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
28
28
|
* @returns `true` if value is '1', 'true', or 'yes' (case-insensitive), `false`
|
|
29
29
|
* otherwise.
|
|
30
30
|
*/
|
|
31
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
32
31
|
function envAsBoolean(value, defaultValueOrOptions = false) {
|
|
33
32
|
const { defaultValue = false, trim = true } = typeof defaultValueOrOptions === "boolean" ? { defaultValue: defaultValueOrOptions } : defaultValueOrOptions ?? {};
|
|
34
33
|
if (typeof value === "string") {
|
package/dist/env/ci.js
CHANGED
package/dist/env/debug.js
CHANGED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Probe githubstatus.com to detect platform degradation before making
|
|
3
|
+
* GitHub API calls. Useful in scripts, release tooling, and CI pre-flight
|
|
4
|
+
* checks where a cryptic "operation was canceled" error would otherwise mask
|
|
5
|
+
* an upstream GitHub outage. Component IDs are stable GitHub-assigned
|
|
6
|
+
* identifiers from githubstatus.com/api/v2/components.json. The probe adds at
|
|
7
|
+
* most 8 seconds to startup (configurable timeout) and fails open on network
|
|
8
|
+
* error so a down status page never blocks a healthy workflow.
|
|
9
|
+
*/
|
|
10
|
+
export type GitHubComponentStatus = 'degraded_performance' | 'major_outage' | 'operational' | 'partial_outage' | 'under_maintenance';
|
|
11
|
+
export type GitHubStatusResult = {
|
|
12
|
+
/**
|
|
13
|
+
* Worst-case status across all monitored components.
|
|
14
|
+
*/
|
|
15
|
+
status: GitHubComponentStatus | 'unknown';
|
|
16
|
+
/**
|
|
17
|
+
* Whether any monitored component is not fully operational.
|
|
18
|
+
*/
|
|
19
|
+
degraded: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Human-readable summary, e.g. "Actions: degraded_performance".
|
|
22
|
+
*/
|
|
23
|
+
summary: string;
|
|
24
|
+
/**
|
|
25
|
+
* Per-component breakdown for the monitored set.
|
|
26
|
+
*/
|
|
27
|
+
components: Array<{
|
|
28
|
+
id: string;
|
|
29
|
+
name: string;
|
|
30
|
+
status: GitHubComponentStatus;
|
|
31
|
+
}>;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Probe githubstatus.com and return the health of GitHub Actions, Git
|
|
35
|
+
* Operations, and API Requests. Fails open (returns `{ status: 'unknown' }`)
|
|
36
|
+
* when the probe itself fails — so a down status page never blocks a healthy
|
|
37
|
+
* workflow.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ;```typescript
|
|
41
|
+
* import { probeGitHubStatus } from '@socketsecurity/lib/env/github-status'
|
|
42
|
+
*
|
|
43
|
+
* const health = await probeGitHubStatus()
|
|
44
|
+
* if (health.degraded) {
|
|
45
|
+
* console.warn(`GitHub degraded: ${health.summary}`)
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @param timeoutMs - Maximum milliseconds to wait for the probe. Default 8000.
|
|
50
|
+
*/
|
|
51
|
+
export declare function probeGitHubStatus(timeoutMs?: number): Promise<GitHubStatusResult>;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_http_request_node = require('../http-request/node.js');
|
|
5
|
+
|
|
6
|
+
//#region src/env/github-status.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Probe githubstatus.com to detect platform degradation before making
|
|
9
|
+
* GitHub API calls. Useful in scripts, release tooling, and CI pre-flight
|
|
10
|
+
* checks where a cryptic "operation was canceled" error would otherwise mask
|
|
11
|
+
* an upstream GitHub outage. Component IDs are stable GitHub-assigned
|
|
12
|
+
* identifiers from githubstatus.com/api/v2/components.json. The probe adds at
|
|
13
|
+
* most 8 seconds to startup (configurable timeout) and fails open on network
|
|
14
|
+
* error so a down status page never blocks a healthy workflow.
|
|
15
|
+
*/
|
|
16
|
+
const MONITORED_COMPONENT_IDS = new Map([
|
|
17
|
+
["br0l2tvcx85d", "Actions"],
|
|
18
|
+
["8l4ygp009s5s", "Git Operations"],
|
|
19
|
+
["brv1bkgrwx7q", "API Requests"]
|
|
20
|
+
]);
|
|
21
|
+
const SEVERITY = new Map([
|
|
22
|
+
["major_outage", 4],
|
|
23
|
+
["partial_outage", 3],
|
|
24
|
+
["degraded_performance", 2],
|
|
25
|
+
["under_maintenance", 1],
|
|
26
|
+
["operational", 0]
|
|
27
|
+
]);
|
|
28
|
+
const STATUS_API_URL = "https://www.githubstatus.com/api/v2/components.json";
|
|
29
|
+
/**
|
|
30
|
+
* Probe githubstatus.com and return the health of GitHub Actions, Git
|
|
31
|
+
* Operations, and API Requests. Fails open (returns `{ status: 'unknown' }`)
|
|
32
|
+
* when the probe itself fails — so a down status page never blocks a healthy
|
|
33
|
+
* workflow.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ;```typescript
|
|
37
|
+
* import { probeGitHubStatus } from '@socketsecurity/lib/env/github-status'
|
|
38
|
+
*
|
|
39
|
+
* const health = await probeGitHubStatus()
|
|
40
|
+
* if (health.degraded) {
|
|
41
|
+
* console.warn(`GitHub degraded: ${health.summary}`)
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @param timeoutMs - Maximum milliseconds to wait for the probe. Default 8000.
|
|
46
|
+
*/
|
|
47
|
+
async function probeGitHubStatus(timeoutMs = 8e3) {
|
|
48
|
+
let body;
|
|
49
|
+
try {
|
|
50
|
+
body = await require_http_request_node.httpJson(STATUS_API_URL, { timeout: timeoutMs });
|
|
51
|
+
} catch {
|
|
52
|
+
return {
|
|
53
|
+
status: "unknown",
|
|
54
|
+
degraded: false,
|
|
55
|
+
summary: "githubstatus.com unreachable — cannot confirm GitHub health",
|
|
56
|
+
components: []
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const allComponents = body.components ?? [];
|
|
60
|
+
const monitored = [];
|
|
61
|
+
let worstSeverity = 0;
|
|
62
|
+
let worstStatus = "operational";
|
|
63
|
+
for (const c of allComponents) {
|
|
64
|
+
const name = MONITORED_COMPONENT_IDS.get(c.id);
|
|
65
|
+
if (!name) continue;
|
|
66
|
+
const status = c.status;
|
|
67
|
+
const sev = SEVERITY.get(status) ?? 0;
|
|
68
|
+
if (sev > worstSeverity) {
|
|
69
|
+
worstSeverity = sev;
|
|
70
|
+
worstStatus = status;
|
|
71
|
+
}
|
|
72
|
+
monitored.push({
|
|
73
|
+
id: c.id,
|
|
74
|
+
name,
|
|
75
|
+
status
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
const degradedComponents = monitored.filter((c) => c.status !== "operational");
|
|
79
|
+
const degraded = degradedComponents.length > 0;
|
|
80
|
+
const summary = degraded ? degradedComponents.map((c) => `${c.name}: ${c.status}`).join(", ") : "All monitored GitHub components operational";
|
|
81
|
+
return {
|
|
82
|
+
status: worstStatus,
|
|
83
|
+
degraded,
|
|
84
|
+
summary,
|
|
85
|
+
components: monitored
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
//#endregion
|
|
90
|
+
exports.probeGitHubStatus = probeGitHubStatus;
|
package/dist/env/github.js
CHANGED
|
@@ -22,7 +22,6 @@ const require_env_rewire = require('./rewire.js');
|
|
|
22
22
|
*
|
|
23
23
|
* @returns The GH CLI token, or `undefined` if not set
|
|
24
24
|
*/
|
|
25
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
26
25
|
function getGhToken() {
|
|
27
26
|
return require_env_rewire.getEnvValue("GH_TOKEN");
|
|
28
27
|
}
|
|
@@ -40,7 +39,6 @@ function getGhToken() {
|
|
|
40
39
|
*
|
|
41
40
|
* @returns The GitHub API URL, or `undefined` if not set
|
|
42
41
|
*/
|
|
43
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
44
42
|
function getGithubApiUrl() {
|
|
45
43
|
return require_env_rewire.getEnvValue("GITHUB_API_URL");
|
|
46
44
|
}
|
|
@@ -57,7 +55,6 @@ function getGithubApiUrl() {
|
|
|
57
55
|
*
|
|
58
56
|
* @returns The pull request base branch name, or `undefined` if not set
|
|
59
57
|
*/
|
|
60
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
61
58
|
function getGithubBaseRef() {
|
|
62
59
|
return require_env_rewire.getEnvValue("GITHUB_BASE_REF");
|
|
63
60
|
}
|
|
@@ -74,7 +71,6 @@ function getGithubBaseRef() {
|
|
|
74
71
|
*
|
|
75
72
|
* @returns The branch or tag name, or `undefined` if not set
|
|
76
73
|
*/
|
|
77
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
78
74
|
function getGithubRefName() {
|
|
79
75
|
return require_env_rewire.getEnvValue("GITHUB_REF_NAME");
|
|
80
76
|
}
|
|
@@ -91,7 +87,6 @@ function getGithubRefName() {
|
|
|
91
87
|
*
|
|
92
88
|
* @returns The ref type ('branch' or 'tag'), or `undefined` if not set
|
|
93
89
|
*/
|
|
94
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
95
90
|
function getGithubRefType() {
|
|
96
91
|
return require_env_rewire.getEnvValue("GITHUB_REF_TYPE");
|
|
97
92
|
}
|
|
@@ -109,7 +104,6 @@ function getGithubRefType() {
|
|
|
109
104
|
*
|
|
110
105
|
* @returns The repository name, or `undefined` if not set
|
|
111
106
|
*/
|
|
112
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
113
107
|
function getGithubRepository() {
|
|
114
108
|
return require_env_rewire.getEnvValue("GITHUB_REPOSITORY");
|
|
115
109
|
}
|
|
@@ -127,7 +121,6 @@ function getGithubRepository() {
|
|
|
127
121
|
*
|
|
128
122
|
* @returns The GitHub server URL, or `undefined` if not set
|
|
129
123
|
*/
|
|
130
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
131
124
|
function getGithubServerUrl() {
|
|
132
125
|
return require_env_rewire.getEnvValue("GITHUB_SERVER_URL");
|
|
133
126
|
}
|
|
@@ -145,7 +138,6 @@ function getGithubServerUrl() {
|
|
|
145
138
|
*
|
|
146
139
|
* @returns The GitHub token, or `undefined` if not set
|
|
147
140
|
*/
|
|
148
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
149
141
|
function getGithubToken() {
|
|
150
142
|
return require_env_rewire.getEnvValue("GITHUB_TOKEN");
|
|
151
143
|
}
|
package/dist/env/home.js
CHANGED
|
@@ -32,7 +32,6 @@ const require_env_rewire = require('./rewire.js');
|
|
|
32
32
|
*
|
|
33
33
|
* @returns The user's home directory path, or `undefined` if not resolvable
|
|
34
34
|
*/
|
|
35
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
36
35
|
function getHome() {
|
|
37
36
|
return require_env_rewire.getEnvValue("HOME") ?? require_env_rewire.getEnvValue("USERPROFILE");
|
|
38
37
|
}
|
package/dist/env/locale.js
CHANGED
|
@@ -21,7 +21,6 @@ const require_env_rewire = require('./rewire.js');
|
|
|
21
21
|
*
|
|
22
22
|
* @returns The system locale string, or `undefined` if not set
|
|
23
23
|
*/
|
|
24
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
25
24
|
function getLang() {
|
|
26
25
|
return require_env_rewire.getEnvValue("LANG");
|
|
27
26
|
}
|
|
@@ -38,7 +37,6 @@ function getLang() {
|
|
|
38
37
|
*
|
|
39
38
|
* @returns The locale override string, or `undefined` if not set
|
|
40
39
|
*/
|
|
41
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
42
40
|
function getLcAll() {
|
|
43
41
|
return require_env_rewire.getEnvValue("LC_ALL");
|
|
44
42
|
}
|
|
@@ -55,7 +53,6 @@ function getLcAll() {
|
|
|
55
53
|
*
|
|
56
54
|
* @returns The messages locale string, or `undefined` if not set
|
|
57
55
|
*/
|
|
58
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
59
56
|
function getLcMessages() {
|
|
60
57
|
return require_env_rewire.getEnvValue("LC_MESSAGES");
|
|
61
58
|
}
|
package/dist/env/node-env.js
CHANGED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Detect which Node version manager is active on this machine and emit a
|
|
3
|
+
* targeted upgrade hint. Used when a tool needs Node ≥ X and wants to tell
|
|
4
|
+
* the user the exact command to run instead of a generic "install newer Node"
|
|
5
|
+
* line. Detection is best-effort:
|
|
6
|
+
*
|
|
7
|
+
* 1. **process.execPath** — the running Node binary's path is the most reliable
|
|
8
|
+
* signal. `~/.nvm/versions/node/...`, `~/.volta/tools/...`, `~/.fnm/...`,
|
|
9
|
+
* `~/.asdf/installs/nodejs/...`, `~/n/...` each have well-known directory
|
|
10
|
+
* shapes.
|
|
11
|
+
* 2. **Environment variables** — `NVM_DIR`, `FNM_DIR`, `FNM_MULTISHELL_PATH`,
|
|
12
|
+
* `VOLTA_HOME`, `ASDF_DIR`, `N_PREFIX`. These are set by the shell
|
|
13
|
+
* integration each manager ships.
|
|
14
|
+
* 3. **Corepack** — Node's bundled package-manager shim. Detected via
|
|
15
|
+
* `COREPACK_*` env vars or by the Node binary being under
|
|
16
|
+
* `corepack/shims/`. If none match, the manager is reported as `'system'`
|
|
17
|
+
* (Homebrew, apt, the .pkg installer, etc.) — for those, the upgrade hint
|
|
18
|
+
* is generic. This module does NOT shell out — every probe is in-process
|
|
19
|
+
* (env reads + path string inspection). That keeps it cheap to call and
|
|
20
|
+
* safe for the native-messaging host context, where stdout is reserved for
|
|
21
|
+
* the Chrome protocol.
|
|
22
|
+
*/
|
|
23
|
+
export type NodeVersionManager = 'asdf' | 'corepack' | 'fnm' | 'n' | 'nvm' | 'system' | 'volta';
|
|
24
|
+
/**
|
|
25
|
+
* Detect the Node version manager currently providing `process.execPath`.
|
|
26
|
+
* Returns `'system'` when no manager is detected — the user is running a Node
|
|
27
|
+
* installed by the OS package manager, the official .pkg/.msi installer, or a
|
|
28
|
+
* manually placed binary.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ;```typescript
|
|
32
|
+
* detectActiveNodeManager() // 'nvm' | 'fnm' | 'volta' | 'asdf' | 'n' | 'corepack' | 'system'
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
export declare function detectActiveNodeManager(): NodeVersionManager;
|
|
36
|
+
/**
|
|
37
|
+
* Produce the exact shell command a user should run to install + activate
|
|
38
|
+
* `targetVersion` under the named manager. The command is single-line and
|
|
39
|
+
* intended to be embedded in an error message verbatim.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ;```typescript
|
|
43
|
+
* nodeManagerUpgradeHint('nvm', '22.6.0')
|
|
44
|
+
* // 'nvm install 22.6.0 && nvm use 22.6.0'
|
|
45
|
+
*
|
|
46
|
+
* nodeManagerUpgradeHint('system', '22.6.0')
|
|
47
|
+
* // 'Install Node 22.6.0+ from https://nodejs.org/'
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @param manager - The detected Node version manager.
|
|
51
|
+
* @param targetVersion - Semver-shaped version, e.g. `'22.6.0'` or `'22'`.
|
|
52
|
+
*/
|
|
53
|
+
export declare function nodeManagerUpgradeHint(manager: NodeVersionManager, targetVersion: string): string;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_runtime = require('../_virtual/_rolldown/runtime.js');
|
|
5
|
+
const require_env_rewire = require('./rewire.js');
|
|
6
|
+
let node_process = require("node:process");
|
|
7
|
+
node_process = require_runtime.__toESM(node_process);
|
|
8
|
+
|
|
9
|
+
//#region src/env/node-version-managers.ts
|
|
10
|
+
/**
|
|
11
|
+
* @file Detect which Node version manager is active on this machine and emit a
|
|
12
|
+
* targeted upgrade hint. Used when a tool needs Node ≥ X and wants to tell
|
|
13
|
+
* the user the exact command to run instead of a generic "install newer Node"
|
|
14
|
+
* line. Detection is best-effort:
|
|
15
|
+
*
|
|
16
|
+
* 1. **process.execPath** — the running Node binary's path is the most reliable
|
|
17
|
+
* signal. `~/.nvm/versions/node/...`, `~/.volta/tools/...`, `~/.fnm/...`,
|
|
18
|
+
* `~/.asdf/installs/nodejs/...`, `~/n/...` each have well-known directory
|
|
19
|
+
* shapes.
|
|
20
|
+
* 2. **Environment variables** — `NVM_DIR`, `FNM_DIR`, `FNM_MULTISHELL_PATH`,
|
|
21
|
+
* `VOLTA_HOME`, `ASDF_DIR`, `N_PREFIX`. These are set by the shell
|
|
22
|
+
* integration each manager ships.
|
|
23
|
+
* 3. **Corepack** — Node's bundled package-manager shim. Detected via
|
|
24
|
+
* `COREPACK_*` env vars or by the Node binary being under
|
|
25
|
+
* `corepack/shims/`. If none match, the manager is reported as `'system'`
|
|
26
|
+
* (Homebrew, apt, the .pkg installer, etc.) — for those, the upgrade hint
|
|
27
|
+
* is generic. This module does NOT shell out — every probe is in-process
|
|
28
|
+
* (env reads + path string inspection). That keeps it cheap to call and
|
|
29
|
+
* safe for the native-messaging host context, where stdout is reserved for
|
|
30
|
+
* the Chrome protocol.
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Detect the Node version manager currently providing `process.execPath`.
|
|
34
|
+
* Returns `'system'` when no manager is detected — the user is running a Node
|
|
35
|
+
* installed by the OS package manager, the official .pkg/.msi installer, or a
|
|
36
|
+
* manually placed binary.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ;```typescript
|
|
40
|
+
* detectActiveNodeManager() // 'nvm' | 'fnm' | 'volta' | 'asdf' | 'n' | 'corepack' | 'system'
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
function detectActiveNodeManager() {
|
|
44
|
+
const exec = node_process.default.execPath;
|
|
45
|
+
if (/[/\\]\.nvm[/\\]versions[/\\]node[/\\]/.test(exec)) return "nvm";
|
|
46
|
+
if (/[/\\]\.fnm[/\\]/.test(exec) || /[/\\]fnm_multishells[/\\]/.test(exec)) return "fnm";
|
|
47
|
+
if (/[/\\]\.volta[/\\]tools[/\\]/.test(exec)) return "volta";
|
|
48
|
+
if (/[/\\]\.asdf[/\\]installs[/\\]nodejs[/\\]/.test(exec)) return "asdf";
|
|
49
|
+
if (/[/\\]n[/\\]versions[/\\]node[/\\]/.test(exec)) return "n";
|
|
50
|
+
if (/[/\\]corepack[/\\]shims[/\\]/.test(exec)) return "corepack";
|
|
51
|
+
if (require_env_rewire.getEnvValue("NVM_DIR")) return "nvm";
|
|
52
|
+
if (require_env_rewire.getEnvValue("FNM_DIR") || require_env_rewire.getEnvValue("FNM_MULTISHELL_PATH")) return "fnm";
|
|
53
|
+
if (require_env_rewire.getEnvValue("VOLTA_HOME")) return "volta";
|
|
54
|
+
if (require_env_rewire.getEnvValue("ASDF_DIR")) return "asdf";
|
|
55
|
+
if (require_env_rewire.getEnvValue("N_PREFIX")) return "n";
|
|
56
|
+
if (require_env_rewire.getEnvValue("COREPACK_HOME")) return "corepack";
|
|
57
|
+
return "system";
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Produce the exact shell command a user should run to install + activate
|
|
61
|
+
* `targetVersion` under the named manager. The command is single-line and
|
|
62
|
+
* intended to be embedded in an error message verbatim.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ;```typescript
|
|
66
|
+
* nodeManagerUpgradeHint('nvm', '22.6.0')
|
|
67
|
+
* // 'nvm install 22.6.0 && nvm use 22.6.0'
|
|
68
|
+
*
|
|
69
|
+
* nodeManagerUpgradeHint('system', '22.6.0')
|
|
70
|
+
* // 'Install Node 22.6.0+ from https://nodejs.org/'
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @param manager - The detected Node version manager.
|
|
74
|
+
* @param targetVersion - Semver-shaped version, e.g. `'22.6.0'` or `'22'`.
|
|
75
|
+
*/
|
|
76
|
+
function nodeManagerUpgradeHint(manager, targetVersion) {
|
|
77
|
+
switch (manager) {
|
|
78
|
+
case "asdf": return `asdf install nodejs ${targetVersion} && asdf global nodejs ${targetVersion}`;
|
|
79
|
+
case "corepack": return `Corepack manages package managers, not Node. Install Node ${targetVersion}+ via nvm/fnm/volta or from https://nodejs.org/`;
|
|
80
|
+
case "fnm": return `fnm install ${targetVersion} && fnm use ${targetVersion}`;
|
|
81
|
+
case "n": return `n ${targetVersion}`;
|
|
82
|
+
case "nvm": return `nvm install ${targetVersion} && nvm use ${targetVersion}`;
|
|
83
|
+
case "volta": return `volta install node@${targetVersion}`;
|
|
84
|
+
default: return `Install Node ${targetVersion}+ from https://nodejs.org/`;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
//#endregion
|
|
89
|
+
exports.detectActiveNodeManager = detectActiveNodeManager;
|
|
90
|
+
exports.nodeManagerUpgradeHint = nodeManagerUpgradeHint;
|
package/dist/env/npm.js
CHANGED
|
@@ -22,7 +22,6 @@ const require_env_rewire = require('./rewire.js');
|
|
|
22
22
|
*
|
|
23
23
|
* @returns The configured NPM registry URL, or `undefined` if not set
|
|
24
24
|
*/
|
|
25
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
26
25
|
function getNpmConfigRegistry() {
|
|
27
26
|
return require_env_rewire.getEnvValue("npm_config_registry");
|
|
28
27
|
}
|
|
@@ -40,7 +39,6 @@ function getNpmConfigRegistry() {
|
|
|
40
39
|
*
|
|
41
40
|
* @returns The package manager user agent string, or `undefined` if not set
|
|
42
41
|
*/
|
|
43
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
44
42
|
function getNpmConfigUserAgent() {
|
|
45
43
|
return require_env_rewire.getEnvValue("npm_config_user_agent");
|
|
46
44
|
}
|
|
@@ -58,7 +56,6 @@ function getNpmConfigUserAgent() {
|
|
|
58
56
|
*
|
|
59
57
|
* @returns The current lifecycle event name, or `undefined` if not set
|
|
60
58
|
*/
|
|
61
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
62
59
|
function getNpmLifecycleEvent() {
|
|
63
60
|
return require_env_rewire.getEnvValue("npm_lifecycle_event");
|
|
64
61
|
}
|
|
@@ -75,7 +72,6 @@ function getNpmLifecycleEvent() {
|
|
|
75
72
|
*
|
|
76
73
|
* @returns The NPM registry URL override, or `undefined` if not set
|
|
77
74
|
*/
|
|
78
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
79
75
|
function getNpmRegistry() {
|
|
80
76
|
return require_env_rewire.getEnvValue("NPM_REGISTRY");
|
|
81
77
|
}
|
|
@@ -92,7 +88,6 @@ function getNpmRegistry() {
|
|
|
92
88
|
*
|
|
93
89
|
* @returns The NPM auth token, or `undefined` if not set
|
|
94
90
|
*/
|
|
95
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
96
91
|
function getNpmToken() {
|
|
97
92
|
return require_env_rewire.getEnvValue("NPM_TOKEN");
|
|
98
93
|
}
|
package/dist/env/number.js
CHANGED
|
@@ -31,7 +31,6 @@ const require_primordials_number = require('../primordials/number.js');
|
|
|
31
31
|
*
|
|
32
32
|
* @returns The parsed number, or the default value if parsing fails
|
|
33
33
|
*/
|
|
34
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
35
34
|
function envAsNumber(value, defaultValueOrOptions = 0) {
|
|
36
35
|
const { allowInfinity = false, defaultValue = 0, mode = "int" } = typeof defaultValueOrOptions === "number" ? { defaultValue: defaultValueOrOptions } : defaultValueOrOptions ?? {};
|
|
37
36
|
if (value === void 0 || value === null) return defaultValue;
|
|
@@ -37,11 +37,10 @@ node_process = require_runtime.__toESM(node_process);
|
|
|
37
37
|
*
|
|
38
38
|
* @returns The detected package manager or null if unable to determine
|
|
39
39
|
*/
|
|
40
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
41
40
|
function detectPackageManager() {
|
|
42
|
-
const userAgent =
|
|
41
|
+
const userAgent = getPackageManagerUserAgent();
|
|
43
42
|
if (userAgent) {
|
|
44
|
-
const match = userAgent.match(/^(npm|pnpm|yarn
|
|
43
|
+
const match = userAgent.match(/^(bun|npm|pnpm|yarn)\//);
|
|
45
44
|
if (match) return match[1];
|
|
46
45
|
}
|
|
47
46
|
/* c8 ignore start - argv0-based PM fallback only fires when
|
|
@@ -67,9 +66,8 @@ function detectPackageManager() {
|
|
|
67
66
|
*
|
|
68
67
|
* @returns Object with name and version, or null if not available
|
|
69
68
|
*/
|
|
70
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
71
69
|
function getPackageManagerInfo() {
|
|
72
|
-
const userAgent =
|
|
70
|
+
const userAgent = getPackageManagerUserAgent();
|
|
73
71
|
if (!userAgent) return;
|
|
74
72
|
const match = userAgent.match(/^([^/]+)\/([^\s]+)/);
|
|
75
73
|
if (match?.[1] && match[2]) return {
|
|
@@ -91,7 +89,6 @@ function getPackageManagerInfo() {
|
|
|
91
89
|
*
|
|
92
90
|
* @returns The user agent string or undefined
|
|
93
91
|
*/
|
|
94
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
95
92
|
function getPackageManagerUserAgent() {
|
|
96
93
|
return require_env_rewire.getEnvValue("npm_config_user_agent");
|
|
97
94
|
}
|
package/dist/env/path.js
CHANGED
package/dist/env/pre-commit.js
CHANGED
|
@@ -24,9 +24,8 @@ const require_env_rewire = require('./rewire.js');
|
|
|
24
24
|
*
|
|
25
25
|
* @returns `true` if running in a pre-commit hook, `false` otherwise
|
|
26
26
|
*/
|
|
27
|
-
/*@__NO_SIDE_EFFECTS__*/
|
|
28
27
|
function getPreCommit() {
|
|
29
|
-
return
|
|
28
|
+
return require_env_boolean.envAsBoolean(require_env_rewire.getEnvValue("PRE_COMMIT"));
|
|
30
29
|
}
|
|
31
30
|
|
|
32
31
|
//#endregion
|