@socketsecurity/lib 6.0.3 → 6.0.5
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 +22 -0
- package/dist/_virtual/_rolldown/runtime.js +45 -0
- package/dist/abort/signal.js +53 -59
- package/dist/ai/discover.js +110 -110
- package/dist/ai/profiles.js +94 -65
- package/dist/ai/spawn.js +172 -194
- package/dist/ai/types.js +1 -17
- package/dist/ai/worktree.js +160 -183
- package/dist/ansi/constants.js +16 -38
- package/dist/ansi/strip.js +44 -41
- package/dist/archives/_internal.js +64 -73
- package/dist/archives/detect.js +30 -43
- package/dist/archives/extract.js +43 -50
- package/dist/archives/tar.js +197 -228
- package/dist/archives/types.js +1 -17
- package/dist/archives/zip.js +85 -121
- package/dist/argv/flag-predicates.js +203 -101
- package/dist/argv/flag-types.js +96 -113
- package/dist/argv/parse-args-string.d.ts +16 -14
- package/dist/argv/parse-args-string.js +42 -39
- package/dist/argv/parse.js +145 -163
- package/dist/arrays/_internal.js +65 -48
- package/dist/arrays/chunk.js +51 -40
- package/dist/arrays/join.js +87 -35
- package/dist/arrays/predicates.js +46 -28
- package/dist/arrays/unique.js +45 -31
- package/dist/bin/_internal.js +34 -42
- package/dist/bin/check-primordials.js +175 -233
- package/dist/bin/check.js +51 -72
- package/dist/bin/exec.js +70 -74
- package/dist/bin/find.js +151 -134
- package/dist/bin/resolve.js +180 -246
- package/dist/bin/shadow.js +24 -33
- package/dist/bin/socket-lib.js +51 -73
- package/dist/bin/types.js +1 -17
- package/dist/bin/which.js +211 -146
- package/dist/cacache/_internal.js +25 -40
- package/dist/cacache/clear.js +79 -72
- package/dist/cacache/read.js +48 -46
- package/dist/cacache/tmp.js +29 -36
- package/dist/cacache/types.js +1 -17
- package/dist/cacache/write.js +43 -48
- package/dist/cache/ttl/store.js +232 -288
- package/dist/cache/ttl/types.js +1 -17
- package/dist/checks/primordials-defaults.js +83 -89
- package/dist/checks/primordials.js +225 -277
- package/dist/colors/convert.js +45 -37
- package/dist/colors/palette.js +88 -45
- package/dist/colors/socket-palette.js +74 -84
- package/dist/colors/types.js +1 -17
- package/dist/compression/_internal.js +57 -72
- package/dist/compression/brotli.js +94 -127
- package/dist/compression/gzip.js +95 -121
- package/dist/compression/types.js +1 -17
- package/dist/constants/agents.js +61 -113
- package/dist/constants/encoding.js +19 -42
- package/dist/constants/github.js +12 -30
- package/dist/constants/licenses.js +48 -63
- package/dist/constants/lifecycle-script-names.js +31 -45
- package/dist/constants/maintained-node-versions.js +22 -37
- package/dist/constants/node.js +226 -167
- package/dist/constants/package-default-node-range.js +16 -41
- package/dist/constants/package-default-socket-categories.js +12 -30
- package/dist/constants/packages.js +77 -126
- package/dist/constants/platform.js +27 -49
- package/dist/constants/sentinels.js +23 -48
- package/dist/constants/socket.js +42 -87
- package/dist/constants/testing.js +15 -34
- package/dist/constants/time.js +16 -36
- package/dist/constants/typescript.js +32 -52
- package/dist/cover/code.js +111 -142
- package/dist/cover/formatters.js +118 -101
- package/dist/cover/type.js +50 -76
- package/dist/cover/types.js +1 -17
- package/dist/crypto/hash.js +54 -46
- package/dist/debug/_internal.js +62 -71
- package/dist/debug/caller-info.js +53 -64
- package/dist/debug/namespace.js +80 -90
- package/dist/debug/output.js +172 -188
- package/dist/debug/types.js +1 -17
- package/dist/dlx/_internal.js +24 -43
- package/dist/dlx/arborist.js +162 -160
- package/dist/dlx/binary-cache.js +228 -200
- package/dist/dlx/binary-download.js +172 -211
- package/dist/dlx/binary-resolution.js +165 -157
- package/dist/dlx/binary-types.js +1 -17
- package/dist/dlx/binary.js +149 -189
- package/dist/dlx/cache.js +45 -30
- package/dist/dlx/detect.js +245 -159
- package/dist/dlx/dir.js +67 -51
- package/dist/dlx/firewall.js +62 -100
- package/dist/dlx/lockfile.js +122 -127
- package/dist/dlx/manifest.js +264 -274
- package/dist/dlx/package.js +241 -244
- package/dist/dlx/packages.js +99 -96
- package/dist/dlx/paths.js +73 -59
- package/dist/dlx/spec.js +52 -60
- package/dist/dlx/types.js +1 -17
- package/dist/eco/cargo/lockfile-format.js +19 -36
- package/dist/eco/cargo/manifest-format.js +17 -35
- package/dist/eco/cargo/parse-lockfile.js +210 -237
- package/dist/eco/manifest/analyze-lockfile.js +46 -63
- package/dist/eco/manifest/detect-format.js +66 -90
- package/dist/eco/manifest/find-packages.js +39 -64
- package/dist/eco/manifest/get-package-versions.js +27 -48
- package/dist/eco/manifest/get-package.js +21 -40
- package/dist/eco/manifest/manifest-error.js +14 -35
- package/dist/eco/manifest/parse-lockfile.js +40 -86
- package/dist/eco/manifest/parse-manifest.js +26 -43
- package/dist/eco/manifest/parse.js +26 -47
- package/dist/eco/manifest/types.js +1 -17
- package/dist/eco/npm/bun/exec.js +23 -32
- package/dist/eco/npm/manifest-format.js +21 -35
- package/dist/eco/npm/npm/exec.js +51 -61
- package/dist/eco/npm/npm/extract-package-name-from-path.js +28 -50
- package/dist/eco/npm/npm/flags.js +80 -52
- package/dist/eco/npm/npm/lockfile-format.js +21 -40
- package/dist/eco/npm/npm/parse-git-url.js +26 -40
- package/dist/eco/npm/npm/parse-lockfile.js +184 -210
- package/dist/eco/npm/parse-package-json.js +71 -102
- package/dist/eco/npm/pnpm/detect-pnpm-version.js +22 -43
- package/dist/eco/npm/pnpm/exec.js +51 -62
- package/dist/eco/npm/pnpm/flags.js +75 -68
- package/dist/eco/npm/pnpm/lockfile-format.js +19 -36
- package/dist/eco/npm/pnpm/parse-lockfile.js +235 -259
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v5.js +37 -47
- package/dist/eco/npm/pnpm/parse-pnpm-package-id-v6-v9.js +36 -49
- package/dist/eco/npm/script.js +82 -90
- package/dist/eco/npm/vlt/exec.js +24 -32
- package/dist/eco/npm/yarnpkg/yarn/exec.js +60 -59
- package/dist/eco/npm/yarnpkg/yarn/lockfile-format.js +20 -36
- package/dist/eco/npm/yarnpkg/yarn/parse-lockfile.js +194 -242
- package/dist/eco/npm/yarnpkg/yarn/parse-yarn-descriptor.js +37 -61
- package/dist/eco/purl.js +50 -60
- package/dist/eco/types.js +1 -17
- package/dist/effects/pulse-frames.js +64 -65
- package/dist/effects/shimmer-keyframes.js +71 -52
- package/dist/effects/shimmer-terminal.js +81 -50
- package/dist/effects/shimmer.js +290 -153
- package/dist/env/boolean.js +42 -43
- package/dist/env/case-insensitive.js +54 -39
- package/dist/env/ci.js +29 -31
- package/dist/env/debug.js +28 -31
- package/dist/env/github.js +144 -59
- package/dist/env/home.js +38 -31
- package/dist/env/locale.js +59 -39
- package/dist/env/node-auth-token.js +28 -31
- package/dist/env/node-env.js +28 -31
- package/dist/env/npm.js +94 -47
- package/dist/env/number.js +50 -51
- package/dist/env/package-manager.js +95 -83
- package/dist/env/path.js +28 -31
- package/dist/env/pre-commit.js +30 -32
- package/dist/env/proxy.js +121 -122
- package/dist/env/rewire.js +204 -96
- package/dist/env/shell.js +28 -31
- package/dist/env/socket-cli.js +233 -81
- package/dist/env/socket.js +521 -156
- package/dist/env/string.js +43 -44
- package/dist/env/temp-dir.js +59 -39
- package/dist/env/term.js +28 -31
- package/dist/env/test.js +65 -43
- package/dist/env/types.js +1 -17
- package/dist/env/windows.js +78 -43
- package/dist/env/xdg.js +62 -39
- package/dist/errors/message.js +40 -46
- package/dist/errors/predicates.js +61 -49
- package/dist/errors/stack.js +24 -36
- package/dist/events/exit/_internal.js +86 -103
- package/dist/events/exit/handler.js +48 -55
- package/dist/events/exit/intercept.js +49 -70
- package/dist/events/exit/lifecycle.js +92 -101
- package/dist/events/exit/signals.js +25 -31
- package/dist/events/exit/types.js +1 -17
- package/dist/events/warning/handler.js +43 -40
- package/dist/events/warning/suppress.js +111 -90
- package/dist/external/@npmcli/package-json/lib/read-package.js +132 -153
- package/dist/external/@npmcli/package-json/lib/sort.js +73 -105
- package/dist/external/@npmcli/package-json.js +12705 -15140
- package/dist/external/@npmcli/promise-spawn.js +451 -472
- package/dist/external/@sinclair/typebox/value.js +7443 -9002
- package/dist/external/@sinclair/typebox.js +7516 -7885
- package/dist/external/@socketregistry/is-unicode-supported.js +31 -39
- package/dist/external/@socketregistry/packageurl-js.js +6127 -7369
- package/dist/external/@socketregistry/yocto-spinner.js +394 -455
- package/dist/external/@yarnpkg/extensions.js +435 -1022
- package/dist/external/adm-zip.js +2313 -2673
- package/dist/external/debug.js +700 -687
- package/dist/external/external-pack.js +2658 -3171
- package/dist/external/fast-sort.js +124 -138
- package/dist/external/get-east-asian-width.js +70 -64
- package/dist/external/libnpmexec.js +28 -31
- package/dist/external/npm-pack.js +43617 -50137
- package/dist/external/p-map.js +198 -222
- package/dist/external/pico-pack.js +6735 -7304
- package/dist/external/pony-cause.js +143 -139
- package/dist/external/shell-quote.js +226 -0
- package/dist/external/spdx-pack.js +1283 -1403
- package/dist/external/streaming-iterables.js +835 -1052
- package/dist/external/tar-fs.js +2769 -3048
- package/dist/external/which.js +267 -251
- package/dist/external/yargs-parser.js +851 -1074
- package/dist/external-tools/bazel/asset-names.js +98 -90
- package/dist/external-tools/bazel/from-download.js +52 -46
- package/dist/external-tools/bazel/from-path.js +27 -38
- package/dist/external-tools/bazel/read-bazel-version-file.js +35 -57
- package/dist/external-tools/bazel/resolve-asset-url.js +24 -39
- package/dist/external-tools/bazel/resolve-bazel-version.js +34 -56
- package/dist/external-tools/bazel/resolve.js +44 -58
- package/dist/external-tools/bazel/types.js +1 -17
- package/dist/external-tools/cdxgen/asset-names.js +59 -66
- package/dist/external-tools/cdxgen/from-download.js +52 -80
- package/dist/external-tools/cdxgen/from-path.js +19 -37
- package/dist/external-tools/cdxgen/from-vfs.js +22 -43
- package/dist/external-tools/cdxgen/resolve.js +48 -63
- package/dist/external-tools/cdxgen/types.js +1 -17
- package/dist/external-tools/from-download.js +107 -67
- package/dist/external-tools/janus/asset-names.js +44 -51
- package/dist/external-tools/janus/from-download.js +45 -70
- package/dist/external-tools/janus/from-path.js +19 -37
- package/dist/external-tools/janus/from-vfs.js +22 -43
- package/dist/external-tools/janus/resolve.js +45 -63
- package/dist/external-tools/janus/types.js +1 -17
- package/dist/external-tools/jre/asset-names.js +109 -82
- package/dist/external-tools/jre/detect-platform-arch.js +25 -49
- package/dist/external-tools/jre/from-download.js +71 -67
- package/dist/external-tools/jre/from-java-home.js +27 -54
- package/dist/external-tools/jre/from-path.js +27 -49
- package/dist/external-tools/jre/from-vfs.js +39 -60
- package/dist/external-tools/jre/resolve.js +55 -68
- package/dist/external-tools/jre/types.js +1 -17
- package/dist/external-tools/manifest.js +130 -150
- package/dist/external-tools/opengrep/asset-names.js +60 -72
- package/dist/external-tools/opengrep/from-download.js +58 -80
- package/dist/external-tools/opengrep/from-path.js +19 -37
- package/dist/external-tools/opengrep/from-vfs.js +23 -43
- package/dist/external-tools/opengrep/resolve.js +43 -63
- package/dist/external-tools/opengrep/types.js +1 -17
- package/dist/external-tools/sbt/asset-names.js +21 -30
- package/dist/external-tools/sbt/from-download.js +50 -61
- package/dist/external-tools/sbt/from-path.js +23 -38
- package/dist/external-tools/sbt/from-vfs.js +30 -44
- package/dist/external-tools/sbt/resolve.js +45 -63
- package/dist/external-tools/sbt/types.js +1 -17
- package/dist/external-tools/synp/asset-names.js +11 -29
- package/dist/external-tools/synp/from-download.js +24 -41
- package/dist/external-tools/synp/from-path.js +19 -37
- package/dist/external-tools/synp/from-vfs.js +22 -43
- package/dist/external-tools/synp/resolve.js +43 -62
- package/dist/external-tools/synp/types.js +1 -17
- package/dist/external-tools/trivy/asset-names.js +51 -62
- package/dist/external-tools/trivy/from-download.js +42 -64
- package/dist/external-tools/trivy/from-path.js +19 -37
- package/dist/external-tools/trivy/from-vfs.js +22 -43
- package/dist/external-tools/trivy/resolve.js +43 -63
- package/dist/external-tools/trivy/types.js +1 -17
- package/dist/external-tools/trufflehog/asset-names.js +54 -66
- package/dist/external-tools/trufflehog/from-download.js +44 -62
- package/dist/external-tools/trufflehog/from-path.js +21 -37
- package/dist/external-tools/trufflehog/from-vfs.js +26 -43
- package/dist/external-tools/trufflehog/resolve.js +43 -63
- package/dist/external-tools/trufflehog/types.js +1 -17
- package/dist/external-tools/uv/asset-names.js +64 -74
- package/dist/external-tools/uv/from-download.js +44 -65
- package/dist/external-tools/uv/from-path.js +19 -37
- package/dist/external-tools/uv/from-vfs.js +22 -43
- package/dist/external-tools/uv/resolve.js +42 -63
- package/dist/external-tools/uv/types.js +1 -17
- package/dist/fs/_internal.js +40 -42
- package/dist/fs/access.js +57 -54
- package/dist/fs/encoding.js +80 -97
- package/dist/fs/find-up.js +126 -125
- package/dist/fs/inspect.js +168 -99
- package/dist/fs/path-cache.js +31 -32
- package/dist/fs/read-dir.js +102 -79
- package/dist/fs/read-file.js +177 -118
- package/dist/fs/read-json-cache.js +150 -134
- package/dist/fs/read-json.js +172 -187
- package/dist/fs/resolve-module.js +35 -58
- package/dist/fs/safe.js +278 -169
- package/dist/fs/types.js +1 -17
- package/dist/fs/unique.js +52 -48
- package/dist/fs/validate.js +56 -40
- package/dist/fs/write-json.js +109 -75
- package/dist/git/_internal.js +251 -216
- package/dist/git/changed.js +191 -74
- package/dist/git/repo.js +118 -104
- package/dist/git/staged.js +172 -62
- package/dist/git/types.js +1 -17
- package/dist/git/unstaged.js +175 -62
- package/dist/github/constants.js +25 -33
- package/dist/github/errors.js +46 -38
- package/dist/github/fetch.js +137 -82
- package/dist/github/ghsa.js +217 -151
- package/dist/github/refs-cache.js +54 -43
- package/dist/github/refs-graphql.js +97 -89
- package/dist/github/refs-rest.js +70 -101
- package/dist/github/refs.js +105 -64
- package/dist/github/token.js +96 -48
- package/dist/github/types.js +1 -17
- package/dist/globs/_internal.js +73 -82
- package/dist/globs/defaults.js +40 -59
- package/dist/globs/match.js +93 -77
- package/dist/globs/matcher.js +104 -92
- package/dist/globs/stream.js +43 -55
- package/dist/globs/types.js +1 -17
- package/dist/http-request/_internal.js +11 -38
- package/dist/http-request/browser-fetch.js +19 -29
- package/dist/http-request/browser.js +188 -206
- package/dist/http-request/checksums.js +101 -65
- package/dist/http-request/download-types.js +1 -17
- package/dist/http-request/download.js +195 -196
- package/dist/http-request/errors.js +39 -47
- package/dist/http-request/headers.js +95 -80
- package/dist/http-request/http-request.js +10 -35
- package/dist/http-request/node.js +71 -97
- package/dist/http-request/request-attempt.js +232 -285
- package/dist/http-request/request-types.js +1 -17
- package/dist/http-request/request.js +106 -108
- package/dist/http-request/response-reader.js +47 -51
- package/dist/http-request/response-types.js +22 -38
- package/dist/http-request/user-agent.js +73 -55
- package/dist/integrity.js +105 -106
- package/dist/ipc/_internal.js +34 -48
- package/dist/ipc/directory.js +55 -63
- package/dist/ipc/paths.js +52 -45
- package/dist/ipc/types.js +1 -17
- package/dist/ipc/write.js +81 -74
- package/dist/ipc-cli/get.js +29 -56
- package/dist/ipc-cli/types.js +1 -17
- package/dist/json/edit.js +182 -242
- package/dist/json/format.js +202 -103
- package/dist/json/parse.js +206 -109
- package/dist/json/types.js +1 -17
- package/dist/links/create.js +93 -60
- package/dist/links/types.js +1 -17
- package/dist/logger/_internal.js +109 -73
- package/dist/logger/browser.js +45 -56
- package/dist/logger/colors.js +31 -49
- package/dist/logger/console.js +89 -112
- package/dist/logger/default.js +19 -33
- package/dist/logger/logger.js +5 -29
- package/dist/logger/node.js +793 -854
- package/dist/logger/symbols-builder.js +54 -56
- package/dist/logger/symbols.js +135 -118
- package/dist/logger/types.js +1 -17
- package/dist/memo/_internal.js +39 -49
- package/dist/memo/async.js +133 -117
- package/dist/memo/clear.js +25 -34
- package/dist/memo/decorator.js +43 -37
- package/dist/memo/memoize.js +97 -88
- package/dist/memo/once.js +42 -41
- package/dist/memo/types.js +1 -17
- package/dist/memo/weak.js +45 -41
- package/dist/node/async-hooks.js +9 -30
- package/dist/node/child-process.js +9 -30
- package/dist/node/crypto.js +9 -30
- package/dist/node/events.js +9 -30
- package/dist/node/fs-promises.js +9 -30
- package/dist/node/fs.js +9 -30
- package/dist/node/http.js +9 -30
- package/dist/node/https.js +9 -30
- package/dist/node/module.js +20 -34
- package/dist/node/os.js +9 -30
- package/dist/node/path.js +9 -30
- package/dist/node/timers-promises.js +9 -30
- package/dist/node/url.js +9 -30
- package/dist/node/util.js +9 -30
- package/dist/objects/getters.js +185 -126
- package/dist/objects/inspect.js +85 -52
- package/dist/objects/mutate.js +96 -76
- package/dist/objects/predicates.js +112 -59
- package/dist/objects/sort.js +120 -76
- package/dist/objects/types.js +1 -17
- package/dist/packages/edit-class.js +198 -265
- package/dist/packages/edit.js +79 -86
- package/dist/packages/exports.js +146 -157
- package/dist/packages/isolation.js +159 -209
- package/dist/packages/licenses.js +207 -189
- package/dist/packages/manifest.js +134 -172
- package/dist/packages/normalize.js +91 -102
- package/dist/packages/operations.d.ts +2 -0
- package/dist/packages/operations.js +283 -254
- package/dist/packages/provenance.js +195 -245
- package/dist/packages/specs.js +94 -84
- package/dist/packages/types.js +1 -17
- package/dist/packages/validation.js +49 -50
- package/dist/paths/_internal.js +82 -86
- package/dist/paths/conversion.js +112 -65
- package/dist/paths/dirnames.js +17 -42
- package/dist/paths/exts.js +23 -54
- package/dist/paths/filenames.js +21 -50
- package/dist/paths/globs.js +15 -38
- package/dist/paths/normalize.js +215 -236
- package/dist/paths/packages.js +34 -49
- package/dist/paths/predicates.js +184 -106
- package/dist/paths/resolve.js +146 -128
- package/dist/paths/rewire.js +108 -72
- package/dist/paths/socket.js +252 -132
- package/dist/paths/walk.js +55 -60
- package/dist/perf/_internal.js +10 -28
- package/dist/perf/enabled.js +21 -30
- package/dist/perf/metrics.js +81 -67
- package/dist/perf/report.js +79 -80
- package/dist/perf/timer.js +180 -126
- package/dist/perf/types.js +1 -17
- package/dist/pkg-ext/data.js +29 -82
- package/dist/pkg-ext/types.js +1 -17
- package/dist/primordials/array.js +120 -198
- package/dist/primordials/buffer.js +28 -51
- package/dist/primordials/date.js +26 -51
- package/dist/primordials/error.js +33 -59
- package/dist/primordials/function.js +21 -41
- package/dist/primordials/globals.js +25 -48
- package/dist/primordials/json.js +14 -30
- package/dist/primordials/map-set.js +88 -152
- package/dist/primordials/math.js +59 -116
- package/dist/primordials/number.js +41 -76
- package/dist/primordials/object.js +56 -116
- package/dist/primordials/promise.js +28 -52
- package/dist/primordials/reflect.js +24 -52
- package/dist/primordials/regexp.js +25 -47
- package/dist/primordials/string.js +114 -167
- package/dist/primordials/symbol.js +40 -72
- package/dist/primordials/uncurry.js +38 -55
- package/dist/primordials/url.js +27 -66
- package/dist/process/_internal.js +7 -32
- package/dist/process/abort.js +29 -35
- package/dist/process/lock-instance.js +26 -30
- package/dist/process/lock-manager.js +279 -307
- package/dist/process/lock-types.js +1 -17
- package/dist/process/spawn/_internal.js +43 -55
- package/dist/process/spawn/child.js +172 -211
- package/dist/process/spawn/errors.js +116 -113
- package/dist/process/spawn/stdio.js +51 -35
- package/dist/process/spawn/types.js +1 -17
- package/dist/process/transient.js +49 -66
- package/dist/promises/_internal.js +31 -34
- package/dist/promises/iterate.js +238 -102
- package/dist/promises/options.js +123 -101
- package/dist/promises/queue.js +115 -136
- package/dist/promises/resolvers.js +77 -46
- package/dist/promises/retry.js +156 -101
- package/dist/promises/types.js +1 -17
- package/dist/regexps/escape.js +32 -30
- package/dist/regexps/hex.js +16 -33
- package/dist/regexps/spec.js +53 -81
- package/dist/releases/github-archives.js +127 -118
- package/dist/releases/github-asset-url.js +162 -146
- package/dist/releases/github-assets.js +37 -49
- package/dist/releases/github-auth.js +32 -48
- package/dist/releases/github-downloads.js +118 -138
- package/dist/releases/github-listing.js +175 -145
- package/dist/releases/github-retry-config.js +41 -47
- package/dist/releases/github-types.js +1 -17
- package/dist/releases/socket-btm.js +273 -192
- package/dist/schema/parse.js +35 -36
- package/dist/schema/types.js +1 -17
- package/dist/schema/validate.js +118 -99
- package/dist/sea/detect.js +57 -52
- package/dist/secrets/_internal.js +86 -67
- package/dist/secrets/find.js +96 -77
- package/dist/secrets/keychain.js +315 -309
- package/dist/secrets/linux.js +133 -135
- package/dist/secrets/macos.js +151 -147
- package/dist/secrets/rc.js +182 -181
- package/dist/secrets/socket-api-token.js +28 -43
- package/dist/secrets/types.js +1 -17
- package/dist/secrets/windows.js +184 -242
- package/dist/shadow/skip.js +51 -70
- package/dist/shadow/types.js +1 -17
- package/dist/shell/parse.d.ts +26 -0
- package/dist/shell/parse.js +35 -0
- package/dist/shell/quote.d.ts +19 -0
- package/dist/shell/quote.js +30 -0
- package/dist/smol/detect.js +67 -43
- package/dist/smol/http.js +33 -37
- package/dist/smol/https.js +31 -37
- package/dist/smol/manifest.js +33 -37
- package/dist/smol/path.js +33 -37
- package/dist/smol/primordial.js +35 -37
- package/dist/smol/purl.js +34 -37
- package/dist/smol/versions.js +31 -37
- package/dist/smol/vfs.js +46 -38
- package/dist/sorts/_internal.js +14 -40
- package/dist/sorts/natural.js +57 -64
- package/dist/sorts/semver.js +33 -43
- package/dist/sorts/strings.js +24 -30
- package/dist/sorts/types.js +1 -17
- package/dist/spinner/default.js +72 -63
- package/dist/spinner/format.js +86 -71
- package/dist/spinner/spinner.js +749 -797
- package/dist/spinner/types.js +1 -17
- package/dist/spinner/with.js +193 -137
- package/dist/ssri/convert.js +64 -47
- package/dist/ssri/parse.js +38 -37
- package/dist/ssri/validate.js +51 -34
- package/dist/stdio/_internal.js +50 -46
- package/dist/stdio/clear.js +208 -86
- package/dist/stdio/divider.js +170 -97
- package/dist/stdio/footer.js +116 -110
- package/dist/stdio/header.js +117 -90
- package/dist/stdio/progress.js +189 -218
- package/dist/stdio/prompts.js +244 -168
- package/dist/stdio/stderr.js +173 -78
- package/dist/stdio/stdout.js +177 -94
- package/dist/streams/parallel.js +58 -50
- package/dist/streams/transform.js +36 -45
- package/dist/strings/format.js +145 -63
- package/dist/strings/predicates.js +56 -34
- package/dist/strings/search.js +52 -42
- package/dist/strings/transform.js +113 -72
- package/dist/strings/types.js +1 -17
- package/dist/strings/width.js +89 -82
- package/dist/tables/bordered.js +81 -81
- package/dist/tables/padding.js +36 -46
- package/dist/tables/simple.js +62 -70
- package/dist/tables/types.js +1 -17
- package/dist/temporal/instant.js +72 -81
- package/dist/temporal/now.js +40 -31
- package/dist/temporal/slots.js +42 -36
- package/dist/temporal/system.js +36 -36
- package/dist/temporal/temporal.js +11 -41
- package/dist/themes/context.js +131 -69
- package/dist/themes/resolve.js +207 -132
- package/dist/themes/themes.js +225 -194
- package/dist/themes/types.js +1 -17
- package/dist/url/parse.js +48 -51
- package/dist/url/predicates.js +24 -31
- package/dist/url/search-params.js +133 -101
- package/dist/url/types.js +1 -17
- package/dist/versions/_internal.js +31 -33
- package/dist/versions/compare.js +80 -58
- package/dist/versions/modify.js +41 -39
- package/dist/versions/parse.js +88 -64
- package/dist/versions/range.js +58 -41
- package/dist/versions/types.js +1 -17
- package/dist/words/article.js +22 -30
- package/dist/words/capitalize.js +25 -34
- package/dist/words/pluralize.js +23 -31
- package/dist/words/types.js +1 -17
- package/package.json +17 -5
|
@@ -1,34 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var import_rewire = require("./rewire");
|
|
27
|
-
// @__NO_SIDE_EFFECTS__
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_env_rewire = require('./rewire.js');
|
|
5
|
+
|
|
6
|
+
//#region src/env/node-auth-token.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file NODE_AUTH_TOKEN environment variable getter. Exports
|
|
9
|
+
* `getNodeAuthToken()`, returning the value of `NODE_AUTH_TOKEN` used to
|
|
10
|
+
* authenticate against Node.js package registries.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Returns the value of the NODE_AUTH_TOKEN environment variable.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ;```typescript
|
|
17
|
+
* import { getNodeAuthToken } from '@socketsecurity/lib/env/node-auth-token'
|
|
18
|
+
*
|
|
19
|
+
* const token = getNodeAuthToken()
|
|
20
|
+
* // e.g. 'npm_abc123...' or undefined
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @returns The Node.js registry auth token, or `undefined` if not set
|
|
24
|
+
*/
|
|
25
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
28
26
|
function getNodeAuthToken() {
|
|
29
|
-
|
|
27
|
+
return require_env_rewire.getEnvValue("NODE_AUTH_TOKEN");
|
|
30
28
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
exports.getNodeAuthToken = getNodeAuthToken;
|
package/dist/env/node-env.js
CHANGED
|
@@ -1,34 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var import_rewire = require("./rewire");
|
|
27
|
-
// @__NO_SIDE_EFFECTS__
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_env_rewire = require('./rewire.js');
|
|
5
|
+
|
|
6
|
+
//#region src/env/node-env.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file NODE_ENV environment variable getter. Exports `getNodeEnv()`, returning
|
|
9
|
+
* the raw `NODE_ENV` value (typically 'production', 'development', or 'test')
|
|
10
|
+
* or `undefined` when unset.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Returns the value of the NODE_ENV environment variable.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ;```typescript
|
|
17
|
+
* import { getNodeEnv } from '@socketsecurity/lib/env/node-env'
|
|
18
|
+
*
|
|
19
|
+
* const env = getNodeEnv()
|
|
20
|
+
* // e.g. 'production', 'development', 'test', or undefined
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @returns The Node.js environment mode, or `undefined` if not set
|
|
24
|
+
*/
|
|
25
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
28
26
|
function getNodeEnv() {
|
|
29
|
-
|
|
27
|
+
return require_env_rewire.getEnvValue("NODE_ENV");
|
|
30
28
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
exports.getNodeEnv = getNodeEnv;
|
package/dist/env/npm.js
CHANGED
|
@@ -1,58 +1,105 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
getNpmRegistry: () => getNpmRegistry,
|
|
27
|
-
getNpmToken: () => getNpmToken
|
|
28
|
-
});
|
|
29
|
-
module.exports = __toCommonJS(npm_exports);
|
|
30
|
-
var import_rewire = require("./rewire");
|
|
31
|
-
// @__NO_SIDE_EFFECTS__
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_env_rewire = require('./rewire.js');
|
|
5
|
+
|
|
6
|
+
//#region src/env/npm.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file NPM environment variable getters. Provides access to NPM and package
|
|
9
|
+
* manager environment variables.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Npm_config_registry environment variable. NPM registry URL configured by
|
|
13
|
+
* package managers.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ;```typescript
|
|
17
|
+
* import { getNpmConfigRegistry } from '@socketsecurity/lib/env/npm'
|
|
18
|
+
*
|
|
19
|
+
* const registry = getNpmConfigRegistry()
|
|
20
|
+
* // e.g. 'https://registry.npmjs.org/' or undefined
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @returns The configured NPM registry URL, or `undefined` if not set
|
|
24
|
+
*/
|
|
25
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
32
26
|
function getNpmConfigRegistry() {
|
|
33
|
-
|
|
27
|
+
return require_env_rewire.getEnvValue("npm_config_registry");
|
|
34
28
|
}
|
|
35
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Npm_config_user_agent environment variable. User agent string set by
|
|
31
|
+
* npm/pnpm/yarn package managers.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ;```typescript
|
|
35
|
+
* import { getNpmConfigUserAgent } from '@socketsecurity/lib/env/npm'
|
|
36
|
+
*
|
|
37
|
+
* const ua = getNpmConfigUserAgent()
|
|
38
|
+
* // e.g. 'pnpm/9.0.0 npm/? node/v20.0.0 darwin arm64'
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @returns The package manager user agent string, or `undefined` if not set
|
|
42
|
+
*/
|
|
43
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
36
44
|
function getNpmConfigUserAgent() {
|
|
37
|
-
|
|
45
|
+
return require_env_rewire.getEnvValue("npm_config_user_agent");
|
|
38
46
|
}
|
|
39
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Npm_lifecycle_event environment variable. The name of the npm lifecycle event
|
|
49
|
+
* that's currently running.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ;```typescript
|
|
53
|
+
* import { getNpmLifecycleEvent } from '@socketsecurity/lib/env/npm'
|
|
54
|
+
*
|
|
55
|
+
* const event = getNpmLifecycleEvent()
|
|
56
|
+
* // e.g. 'install', 'postinstall', or 'test'
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @returns The current lifecycle event name, or `undefined` if not set
|
|
60
|
+
*/
|
|
61
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
40
62
|
function getNpmLifecycleEvent() {
|
|
41
|
-
|
|
63
|
+
return require_env_rewire.getEnvValue("npm_lifecycle_event");
|
|
42
64
|
}
|
|
43
|
-
|
|
65
|
+
/**
|
|
66
|
+
* NPM_REGISTRY environment variable. NPM registry URL override.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ;```typescript
|
|
70
|
+
* import { getNpmRegistry } from '@socketsecurity/lib/env/npm'
|
|
71
|
+
*
|
|
72
|
+
* const registry = getNpmRegistry()
|
|
73
|
+
* // e.g. 'https://registry.npmjs.org/' or undefined
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @returns The NPM registry URL override, or `undefined` if not set
|
|
77
|
+
*/
|
|
78
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
44
79
|
function getNpmRegistry() {
|
|
45
|
-
|
|
80
|
+
return require_env_rewire.getEnvValue("NPM_REGISTRY");
|
|
46
81
|
}
|
|
47
|
-
|
|
82
|
+
/**
|
|
83
|
+
* NPM_TOKEN environment variable. Authentication token for NPM registry access.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ;```typescript
|
|
87
|
+
* import { getNpmToken } from '@socketsecurity/lib/env/npm'
|
|
88
|
+
*
|
|
89
|
+
* const token = getNpmToken()
|
|
90
|
+
* // e.g. 'npm_abc123...' or undefined
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @returns The NPM auth token, or `undefined` if not set
|
|
94
|
+
*/
|
|
95
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
48
96
|
function getNpmToken() {
|
|
49
|
-
|
|
97
|
+
return require_env_rewire.getEnvValue("NPM_TOKEN");
|
|
50
98
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
});
|
|
99
|
+
|
|
100
|
+
//#endregion
|
|
101
|
+
exports.getNpmConfigRegistry = getNpmConfigRegistry;
|
|
102
|
+
exports.getNpmConfigUserAgent = getNpmConfigUserAgent;
|
|
103
|
+
exports.getNpmLifecycleEvent = getNpmLifecycleEvent;
|
|
104
|
+
exports.getNpmRegistry = getNpmRegistry;
|
|
105
|
+
exports.getNpmToken = getNpmToken;
|
package/dist/env/number.js
CHANGED
|
@@ -1,54 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_number = require('../primordials/number.js');
|
|
5
|
+
|
|
6
|
+
//#region src/env/number.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file `envAsNumber` — coerce an env-var-shaped value into a number. `mode:
|
|
9
|
+
* 'int'` uses `parseInt(_, 10)`; `mode: 'float'` uses `Number()`. Non-finite
|
|
10
|
+
* results round-trip through `defaultValue` unless `allowInfinity: true` is
|
|
11
|
+
* set.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Convert an environment variable value to a number.
|
|
15
|
+
*
|
|
16
|
+
* Back-compat overload: passing a bare number as the second argument is
|
|
17
|
+
* equivalent to `{ defaultValue: N }`.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ;```typescript
|
|
21
|
+
* import { envAsNumber } from '@socketsecurity/lib/env/number'
|
|
22
|
+
*
|
|
23
|
+
* envAsNumber('3000') // 3000 (int mode)
|
|
24
|
+
* envAsNumber('3.14', { mode: 'float' }) // 3.14
|
|
25
|
+
* envAsNumber('abc') // 0
|
|
26
|
+
* envAsNumber(undefined, 42) // 42 (legacy positional default)
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @param value - The value to convert.
|
|
30
|
+
* @param defaultValueOrOptions - Default (number) or options object.
|
|
31
|
+
*
|
|
32
|
+
* @returns The parsed number, or the default value if parsing fails
|
|
33
|
+
*/
|
|
34
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
28
35
|
function envAsNumber(value, defaultValueOrOptions = 0) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return allowInfinity ? num : defaultValue;
|
|
44
|
-
}
|
|
45
|
-
return num || 0;
|
|
46
|
-
}
|
|
47
|
-
const numOrNaN = mode === "float" ? (0, import_number.NumberCtor)(String(value)) : (0, import_number.NumberParseInt)(String(value), 10);
|
|
48
|
-
const numMayBeNegZero = (0, import_number.NumberIsFinite)(numOrNaN) ? numOrNaN : (0, import_number.NumberCtor)(defaultValue);
|
|
49
|
-
return numMayBeNegZero || 0;
|
|
36
|
+
const { allowInfinity = false, defaultValue = 0, mode = "int" } = typeof defaultValueOrOptions === "number" ? { defaultValue: defaultValueOrOptions } : defaultValueOrOptions ?? {};
|
|
37
|
+
if (value === void 0 || value === null) return defaultValue;
|
|
38
|
+
if (typeof value === "string") {
|
|
39
|
+
if (!value) return defaultValue;
|
|
40
|
+
/* c8 ignore start */
|
|
41
|
+
const num = mode === "float" ? require_primordials_number.NumberCtor(value) : require_primordials_number.NumberParseInt(value, 10);
|
|
42
|
+
if (require_primordials_number.NumberIsNaN(num)) return defaultValue;
|
|
43
|
+
if (!require_primordials_number.NumberIsFinite(num)) return allowInfinity ? num : defaultValue;
|
|
44
|
+
return num || 0;
|
|
45
|
+
}
|
|
46
|
+
/* c8 ignore start */
|
|
47
|
+
const numOrNaN = mode === "float" ? require_primordials_number.NumberCtor(String(value)) : require_primordials_number.NumberParseInt(String(value), 10);
|
|
48
|
+
return (require_primordials_number.NumberIsFinite(numOrNaN) ? numOrNaN : require_primordials_number.NumberCtor(defaultValue)) || 0;
|
|
49
|
+
/* c8 ignore stop */
|
|
50
50
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
});
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
exports.envAsNumber = envAsNumber;
|
|
@@ -1,90 +1,102 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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/package-manager.ts
|
|
10
|
+
/**
|
|
11
|
+
* @file Package manager environment detection. Provides utilities to detect
|
|
12
|
+
* which package manager (npm/pnpm/yarn/bun) is running.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Detect which package manager is currently running based on environment
|
|
16
|
+
* variables. Checks npm_config_user_agent which all package managers set.
|
|
17
|
+
*
|
|
18
|
+
* Detection priority:
|
|
19
|
+
*
|
|
20
|
+
* 1. Npm_config_user_agent (most reliable, set by all package managers)
|
|
21
|
+
* 2. Binary path analysis (fallback for non-standard environments)
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ;```typescript
|
|
25
|
+
* // During: npm install
|
|
26
|
+
* detectPackageManager() // 'npm'
|
|
27
|
+
*
|
|
28
|
+
* // During: pnpm install
|
|
29
|
+
* detectPackageManager() // 'pnpm'
|
|
30
|
+
*
|
|
31
|
+
* // During: yarn install
|
|
32
|
+
* detectPackageManager() // 'yarn'
|
|
33
|
+
*
|
|
34
|
+
* // Outside package manager context
|
|
35
|
+
* detectPackageManager() // undefined
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @returns The detected package manager or null if unable to determine
|
|
39
|
+
*/
|
|
40
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
41
41
|
function detectPackageManager() {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return "bun";
|
|
59
|
-
}
|
|
60
|
-
if (argv0.includes("/node_modules/") || argv0.includes("\\node_modules\\")) {
|
|
61
|
-
return "npm";
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
return void 0;
|
|
42
|
+
const userAgent = /* @__PURE__ */ getPackageManagerUserAgent();
|
|
43
|
+
if (userAgent) {
|
|
44
|
+
const match = userAgent.match(/^(npm|pnpm|yarn|bun)\//);
|
|
45
|
+
if (match) return match[1];
|
|
46
|
+
}
|
|
47
|
+
/* c8 ignore start - argv0-based PM fallback only fires when
|
|
48
|
+
npm_config_user_agent / lifecycle env detection both miss.
|
|
49
|
+
In test runs argv0 is always the test runner's node binary,
|
|
50
|
+
not a PM shim. */
|
|
51
|
+
const argv0 = node_process.default.argv[0];
|
|
52
|
+
if (argv0) {
|
|
53
|
+
if (argv0.includes("/pnpm/") || argv0.includes("\\pnpm\\")) return "pnpm";
|
|
54
|
+
if (argv0.includes("/yarn/") || argv0.includes("\\yarn\\") || argv0.includes("/.yarn/") || argv0.includes("\\.yarn\\")) return "yarn";
|
|
55
|
+
if (argv0.includes("/bun/") || argv0.includes("\\bun\\")) return "bun";
|
|
56
|
+
if (argv0.includes("/node_modules/") || argv0.includes("\\node_modules\\")) return "npm";
|
|
57
|
+
}
|
|
65
58
|
}
|
|
66
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Get the package manager name and version from user agent.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ;```typescript
|
|
64
|
+
* getPackageManagerInfo()
|
|
65
|
+
* // { name: 'pnpm', version: '8.15.1' }
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @returns Object with name and version, or null if not available
|
|
69
|
+
*/
|
|
70
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
67
71
|
function getPackageManagerInfo() {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
name: match[1],
|
|
76
|
-
version: match[2]
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
return void 0;
|
|
72
|
+
const userAgent = /* @__PURE__ */ getPackageManagerUserAgent();
|
|
73
|
+
if (!userAgent) return;
|
|
74
|
+
const match = userAgent.match(/^([^/]+)\/([^\s]+)/);
|
|
75
|
+
if (match?.[1] && match[2]) return {
|
|
76
|
+
name: match[1],
|
|
77
|
+
version: match[2]
|
|
78
|
+
};
|
|
80
79
|
}
|
|
81
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Get the package manager user agent from environment. Package managers set
|
|
82
|
+
* npm_config_user_agent with format: "npm/8.19.2 node/v18.12.0 darwin arm64"
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ;```typescript
|
|
86
|
+
* getPackageManagerUserAgent()
|
|
87
|
+
* // npm: "npm/10.2.4 node/v20.11.0 darwin arm64 workspaces/false"
|
|
88
|
+
* // pnpm: "pnpm/8.15.1 npm/? node/v20.11.0 darwin arm64"
|
|
89
|
+
* // yarn: "yarn/1.22.19 npm/? node/v20.11.0 darwin arm64"
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* @returns The user agent string or undefined
|
|
93
|
+
*/
|
|
94
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
82
95
|
function getPackageManagerUserAgent() {
|
|
83
|
-
|
|
96
|
+
return require_env_rewire.getEnvValue("npm_config_user_agent");
|
|
84
97
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
});
|
|
98
|
+
|
|
99
|
+
//#endregion
|
|
100
|
+
exports.detectPackageManager = detectPackageManager;
|
|
101
|
+
exports.getPackageManagerInfo = getPackageManagerInfo;
|
|
102
|
+
exports.getPackageManagerUserAgent = getPackageManagerUserAgent;
|
package/dist/env/path.js
CHANGED
|
@@ -1,34 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var import_rewire = require("./rewire");
|
|
27
|
-
// @__NO_SIDE_EFFECTS__
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_env_rewire = require('./rewire.js');
|
|
5
|
+
|
|
6
|
+
//#region src/env/path.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file PATH environment variable getter. Exports `getPath()`, returning the
|
|
9
|
+
* raw value of the `PATH` environment variable that lists executable search
|
|
10
|
+
* directories.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Returns the value of the PATH environment variable.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ;```typescript
|
|
17
|
+
* import { getPath } from '@socketsecurity/lib/env/path'
|
|
18
|
+
*
|
|
19
|
+
* const path = getPath()
|
|
20
|
+
* // e.g. '/usr/local/bin:/usr/bin:/bin' or undefined
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @returns The system executable search paths, or `undefined` if not set
|
|
24
|
+
*/
|
|
25
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
28
26
|
function getPath() {
|
|
29
|
-
|
|
27
|
+
return require_env_rewire.getEnvValue("PATH");
|
|
30
28
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
});
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
exports.getPath = getPath;
|