@socketsecurity/lib 6.0.3 → 6.0.4
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 +16 -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 +794 -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
package/dist/dlx/_internal.js
CHANGED
|
@@ -1,47 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
-
var internal_exports = {};
|
|
22
|
-
__export(internal_exports, {
|
|
23
|
-
BINARY_PATH_CACHE_MAX_SIZE: () => BINARY_PATH_CACHE_MAX_SIZE,
|
|
24
|
-
binaryPathCache: () => binaryPathCache,
|
|
25
|
-
binaryPathCacheSet: () => binaryPathCacheSet
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(internal_exports);
|
|
28
|
-
var import_map_set = require("../primordials/map-set");
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_primordials_map_set = require('../primordials/map-set.js');
|
|
5
|
+
|
|
6
|
+
//#region src/dlx/_internal.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Shared internals for the `dlx/*` module — the bounded LRU cache used by
|
|
9
|
+
* `resolveBinaryPath` on Windows. Webpack-safe lazy `node:fs` / `node:path` /
|
|
10
|
+
* `node:crypto` loaders live in the canonical
|
|
11
|
+
* `@socketsecurity/lib/node/{fs,path,crypto}` helpers — import `getNodeFs` /
|
|
12
|
+
* `getNodePath` / `getNodeCrypto` directly from there.
|
|
13
|
+
*/
|
|
29
14
|
const BINARY_PATH_CACHE_MAX_SIZE = 200;
|
|
30
|
-
const binaryPathCache = new
|
|
15
|
+
const binaryPathCache = new require_primordials_map_set.MapCtor();
|
|
31
16
|
function binaryPathCacheSet(key, value) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
binaryPathCache.set(key, value);
|
|
17
|
+
if (binaryPathCache.has(key)) binaryPathCache.delete(key);
|
|
18
|
+
else if (binaryPathCache.size >= 200) {
|
|
19
|
+
const oldest = binaryPathCache.keys().next().value;
|
|
20
|
+
if (oldest !== void 0) binaryPathCache.delete(oldest);
|
|
21
|
+
}
|
|
22
|
+
binaryPathCache.set(key, value);
|
|
41
23
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
});
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
exports.BINARY_PATH_CACHE_MAX_SIZE = BINARY_PATH_CACHE_MAX_SIZE;
|
|
27
|
+
exports.binaryPathCache = binaryPathCache;
|
|
28
|
+
exports.binaryPathCacheSet = binaryPathCacheSet;
|
package/dist/dlx/arborist.js
CHANGED
|
@@ -1,173 +1,175 @@
|
|
|
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
|
-
module.exports = __toCommonJS(arborist_exports);
|
|
41
|
-
var import_arborist = __toESM(require("../external/@npmcli/arborist"));
|
|
42
|
-
var import_socket = require("../paths/socket");
|
|
43
|
-
var import_array = require("../primordials/array");
|
|
44
|
-
var import_error = require("../primordials/error");
|
|
45
|
-
var import_json = require("../primordials/json");
|
|
46
|
-
var import_object = require("../primordials/object");
|
|
47
|
-
var import_fs = require("../node/fs");
|
|
48
|
-
var import_path = require("../node/path");
|
|
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_primordials_error = require('../primordials/error.js');
|
|
6
|
+
const require_primordials_array = require('../primordials/array.js');
|
|
7
|
+
const require_node_fs = require('../node/fs.js');
|
|
8
|
+
const require_node_path = require('../node/path.js');
|
|
9
|
+
const require_primordials_object = require('../primordials/object.js');
|
|
10
|
+
const require_primordials_json = require('../primordials/json.js');
|
|
11
|
+
const require_paths_socket = require('../paths/socket.js');
|
|
12
|
+
let src_external__npmcli_arborist = require("../external/@npmcli/arborist");
|
|
13
|
+
src_external__npmcli_arborist = require_runtime.__toESM(src_external__npmcli_arborist);
|
|
14
|
+
|
|
15
|
+
//#region src/dlx/arborist.ts
|
|
16
|
+
/**
|
|
17
|
+
* @file Safe Arborist wrapper for dlx installs and lockfile-only resolution.
|
|
18
|
+
* Every Arborist invocation in this module is configured with a fixed set of
|
|
19
|
+
* security-hardening options mirroring socket-cli v1.1.79 SafeArborist:
|
|
20
|
+
*
|
|
21
|
+
* - audit: false — no network call to the npm audit endpoint
|
|
22
|
+
* - fund: false — no collection/display of funding URLs
|
|
23
|
+
* - ignoreScripts: true — no preinstall/install/postinstall scripts
|
|
24
|
+
* - progress: false — no progress bar on stdout
|
|
25
|
+
* - saveBundle: false — never update bundledDependencies
|
|
26
|
+
* - silent: true — suppress Arborist's default log output `save` varies by
|
|
27
|
+
* operation: {@link safeIdealTree} uses `save: true` so Arborist writes
|
|
28
|
+
* `package-lock.json`; {@link safeReify} uses `save: false` so the caller's
|
|
29
|
+
* `package.json` is never rewritten. A `.npmrc` with the equivalent
|
|
30
|
+
* settings is also written into the install directory as a
|
|
31
|
+
* belt-and-suspenders defense for any downstream tool that reads it.
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* Fixed Arborist options that must not be overridden by callers. Mirrors
|
|
35
|
+
* socket-cli v1.1.79's SafeArborist overrides: audit: false, fund: false,
|
|
36
|
+
* ignoreScripts: true, save: false, saveBundle: false, silent: true, progress:
|
|
37
|
+
* false.
|
|
38
|
+
*/
|
|
49
39
|
function getBaseArboristOptions(installPath, options) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
40
|
+
return {
|
|
41
|
+
__proto__: null,
|
|
42
|
+
path: installPath,
|
|
43
|
+
cache: require_paths_socket.getSocketCacacheDir(),
|
|
44
|
+
audit: false,
|
|
45
|
+
fund: false,
|
|
46
|
+
ignoreScripts: true,
|
|
47
|
+
progress: false,
|
|
48
|
+
save: false,
|
|
49
|
+
saveBundle: false,
|
|
50
|
+
silent: options.quiet
|
|
51
|
+
};
|
|
62
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Read the single declared dependency from a package.json. We only support one
|
|
55
|
+
* top-level dep per snapshot, which keeps the result unambiguous (no "which of
|
|
56
|
+
* N deps did we pin?").
|
|
57
|
+
*/
|
|
63
58
|
function readSingleDependency(packageJsonPath) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
const deps = pkg.dependencies ?? {};
|
|
68
|
-
const names = (0, import_object.ObjectKeys)(deps);
|
|
69
|
-
if (names.length !== 1) {
|
|
70
|
-
throw new import_error.ErrorCtor(
|
|
71
|
-
`safeIdealTree expects exactly one top-level dependency in ${packageJsonPath}, found ${names.length}`
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
return names[0];
|
|
59
|
+
const names = require_primordials_object.ObjectKeys(require_primordials_json.JSONParse((/* @__PURE__ */ require_node_fs.getNodeFs()).readFileSync(packageJsonPath, "utf8")).dependencies ?? {});
|
|
60
|
+
if (names.length !== 1) throw new require_primordials_error.ErrorCtor(`safeIdealTree expects exactly one top-level dependency in ${packageJsonPath}, found ${names.length}`);
|
|
61
|
+
return names[0];
|
|
75
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Read the top-level package from an Arborist idealTree's inventory. Arborist's
|
|
65
|
+
* `Inventory` extends `Map`, so iteration yields `[key, node]` pairs — use
|
|
66
|
+
* `.values()` to get nodes directly.
|
|
67
|
+
*/
|
|
76
68
|
function readTopLevelFromIdealTree(tree, targetName) {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
return {
|
|
93
|
-
name: node.name,
|
|
94
|
-
version: node.version,
|
|
95
|
-
integrity: node.integrity
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
throw new import_error.ErrorCtor(
|
|
100
|
-
`Arborist idealTree inventory has no top-level node for ${targetName}`
|
|
101
|
-
);
|
|
69
|
+
const inventory = tree?.inventory;
|
|
70
|
+
if (!inventory || typeof inventory.values !== "function") throw new require_primordials_error.ErrorCtor("Arborist idealTree missing inventory");
|
|
71
|
+
for (const node of inventory.values()) {
|
|
72
|
+
if (node.isProjectRoot) continue;
|
|
73
|
+
if (node.name === targetName && node.depth === 1) {
|
|
74
|
+
if (!node.version || !node.integrity) throw new require_primordials_error.ErrorCtor(`Arborist idealTree node for ${targetName} missing version/integrity`);
|
|
75
|
+
return {
|
|
76
|
+
name: node.name,
|
|
77
|
+
version: node.version,
|
|
78
|
+
integrity: node.integrity
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
throw new require_primordials_error.ErrorCtor(`Arborist idealTree inventory has no top-level node for ${targetName}`);
|
|
102
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Run Arborist in `packageLockOnly` mode against a directory that already
|
|
86
|
+
* contains a `package.json` with a single dependency. Resolves the graph
|
|
87
|
+
* against the registry and writes `package-lock.json` into `path`, but does NOT
|
|
88
|
+
* install into `node_modules`.
|
|
89
|
+
*
|
|
90
|
+
* Used by snapshot/bootstrap flows to obtain a lockfile + top-level integrity
|
|
91
|
+
* without paying for a full install.
|
|
92
|
+
*
|
|
93
|
+
* Uses `save: true` (rather than our usual `save: false`) so Arborist actually
|
|
94
|
+
* writes the lockfile — without that flag, `reify()` in `packageLockOnly` mode
|
|
95
|
+
* with no `add` list skips the write.
|
|
96
|
+
*/
|
|
103
97
|
async function safeIdealTree(options) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
98
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
99
|
+
const path = /* @__PURE__ */ require_node_path.getNodePath();
|
|
100
|
+
const { before, path: installPath, quiet = true } = options;
|
|
101
|
+
const targetName = readSingleDependency(path.join(installPath, "package.json"));
|
|
102
|
+
const arb = new src_external__npmcli_arborist.default({
|
|
103
|
+
...getBaseArboristOptions(installPath, { quiet }),
|
|
104
|
+
...before !== void 0 ? { before } : {},
|
|
105
|
+
packageLockOnly: true,
|
|
106
|
+
save: true
|
|
107
|
+
});
|
|
108
|
+
/* c8 ignore next - External Arborist call */
|
|
109
|
+
const tree = await arb.buildIdealTree();
|
|
110
|
+
/* c8 ignore next - External Arborist call */
|
|
111
|
+
await arb.reify();
|
|
112
|
+
const top = readTopLevelFromIdealTree(tree, targetName);
|
|
113
|
+
const lockfile = await fs.promises.readFile(path.join(installPath, "package-lock.json"), "utf8");
|
|
114
|
+
return {
|
|
115
|
+
...top,
|
|
116
|
+
lockfile
|
|
117
|
+
};
|
|
124
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Install into `node_modules` using Arborist's reify operation. Honors the
|
|
121
|
+
* committed `package-lock.json` in `path` when `packageLock: true`.
|
|
122
|
+
*
|
|
123
|
+
* Does not fetch registry metadata for versions already pinned by the lockfile
|
|
124
|
+
* — arborist uses the lockfile's `integrity` strings to fetch tarballs by ssri.
|
|
125
|
+
* This is the strongest form of pinning pnpm/npm offer.
|
|
126
|
+
*/
|
|
125
127
|
async function safeReify(options) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
128
|
+
const { packageLock = true, path: installPath, quiet = true } = options;
|
|
129
|
+
/* c8 ignore next - External Arborist call */
|
|
130
|
+
await new src_external__npmcli_arborist.default({
|
|
131
|
+
...getBaseArboristOptions(installPath, { quiet }),
|
|
132
|
+
packageLock
|
|
133
|
+
}).reify();
|
|
132
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Write a hardened `.npmrc` into `path`. Used by both preview and pin flows as
|
|
137
|
+
* a second layer of protection alongside the Arborist options.
|
|
138
|
+
*
|
|
139
|
+
* Content written (always): ignore-scripts=true audit=false fund=false
|
|
140
|
+
* save=false save-bundle=false progress=false.
|
|
141
|
+
*
|
|
142
|
+
* When {@link WriteSafeNpmrcOptions.minReleaseDays} is set, also writes:
|
|
143
|
+
* min-release-age=<days>
|
|
144
|
+
*
|
|
145
|
+
* When {@link WriteSafeNpmrcOptions.minReleaseMins} is set, also writes the
|
|
146
|
+
* pnpm-style equivalent: minimum-release-age=<minutes>
|
|
147
|
+
*/
|
|
133
148
|
async function writeSafeNpmrc(installPath, options) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
];
|
|
153
|
-
if (minReleaseDays !== void 0) {
|
|
154
|
-
(0, import_array.ArrayPrototypePush)(lines, `min-release-age=${minReleaseDays}`);
|
|
155
|
-
}
|
|
156
|
-
if (minReleaseMins !== void 0) {
|
|
157
|
-
(0, import_array.ArrayPrototypePush)(lines, `minimum-release-age=${minReleaseMins}`);
|
|
158
|
-
}
|
|
159
|
-
await fs.promises.writeFile(
|
|
160
|
-
path.join(installPath, ".npmrc"),
|
|
161
|
-
lines.join("\n") + "\n",
|
|
162
|
-
"utf8"
|
|
163
|
-
);
|
|
149
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
150
|
+
const path = /* @__PURE__ */ require_node_path.getNodePath();
|
|
151
|
+
const { minReleaseDays, minReleaseMins } = {
|
|
152
|
+
__proto__: null,
|
|
153
|
+
...options
|
|
154
|
+
};
|
|
155
|
+
if (minReleaseDays !== void 0 && minReleaseMins !== void 0) throw new require_primordials_error.ErrorCtor("writeSafeNpmrc: minReleaseDays and minReleaseMins are mutually exclusive");
|
|
156
|
+
const lines = [
|
|
157
|
+
"ignore-scripts=true",
|
|
158
|
+
"audit=false",
|
|
159
|
+
"fund=false",
|
|
160
|
+
"save=false",
|
|
161
|
+
"save-bundle=false",
|
|
162
|
+
"progress=false"
|
|
163
|
+
];
|
|
164
|
+
if (minReleaseDays !== void 0) require_primordials_array.ArrayPrototypePush(lines, `min-release-age=${minReleaseDays}`);
|
|
165
|
+
if (minReleaseMins !== void 0) require_primordials_array.ArrayPrototypePush(lines, `minimum-release-age=${minReleaseMins}`);
|
|
166
|
+
await fs.promises.writeFile(path.join(installPath, ".npmrc"), lines.join("\n") + "\n", "utf8");
|
|
164
167
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
});
|
|
168
|
+
|
|
169
|
+
//#endregion
|
|
170
|
+
exports.getBaseArboristOptions = getBaseArboristOptions;
|
|
171
|
+
exports.readSingleDependency = readSingleDependency;
|
|
172
|
+
exports.readTopLevelFromIdealTree = readTopLevelFromIdealTree;
|
|
173
|
+
exports.safeIdealTree = safeIdealTree;
|
|
174
|
+
exports.safeReify = safeReify;
|
|
175
|
+
exports.writeSafeNpmrc = writeSafeNpmrc;
|