@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
package/dist/dlx/binary.js
CHANGED
|
@@ -1,194 +1,154 @@
|
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
var import_normalize = require("../paths/normalize");
|
|
51
|
-
var import_child = require("../process/spawn/child");
|
|
52
|
-
var import_cache = require("./cache");
|
|
53
|
-
var import_integrity = require("../integrity");
|
|
54
|
-
var import_array = require("../primordials/array");
|
|
55
|
-
var import_error = require("../primordials/error");
|
|
56
|
-
var import_fs = require("../node/fs");
|
|
57
|
-
var import_path = require("../node/path");
|
|
58
|
-
var import_binary_cache = require("./binary-cache");
|
|
59
|
-
var import_binary_download = require("./binary-download");
|
|
60
|
-
var import_binary_cache2 = require("./binary-cache");
|
|
61
|
-
var import_binary_download2 = require("./binary-download");
|
|
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_integrity = require('../integrity.js');
|
|
7
|
+
const require_constants_platform = require('../constants/platform.js');
|
|
8
|
+
const require_paths_normalize = require('../paths/normalize.js');
|
|
9
|
+
const require_primordials_array = require('../primordials/array.js');
|
|
10
|
+
const require_node_fs = require('../node/fs.js');
|
|
11
|
+
const require_node_path = require('../node/path.js');
|
|
12
|
+
const require_fs_read_json = require('../fs/read-json.js');
|
|
13
|
+
const require_process_spawn_child = require('../process/spawn/child.js');
|
|
14
|
+
const require_fs_safe = require('../fs/safe.js');
|
|
15
|
+
const require_constants_time = require('../constants/time.js');
|
|
16
|
+
const require_dlx_binary_cache = require('./binary-cache.js');
|
|
17
|
+
const require_dlx_cache = require('./cache.js');
|
|
18
|
+
const require_dlx_binary_download = require('./binary-download.js');
|
|
19
|
+
let node_process = require("node:process");
|
|
20
|
+
node_process = require_runtime.__toESM(node_process);
|
|
21
|
+
|
|
22
|
+
//#region src/dlx/binary.ts
|
|
23
|
+
/**
|
|
24
|
+
* @file DLX binary execution utilities for Socket ecosystem. High-level entry
|
|
25
|
+
* points for downloading standalone URL-hosted binaries (not npm packages —
|
|
26
|
+
* see `./package` for those) and executing them with cross-platform shell
|
|
27
|
+
* handling.
|
|
28
|
+
*
|
|
29
|
+
* - `dlxBinary` — download (if needed) + execute
|
|
30
|
+
* - `executeBinary` — execute an already-cached binary Supporting surface lives
|
|
31
|
+
* in sibling leaves and is re-exported here so existing `dlx/binary`
|
|
32
|
+
* importers keep working unchanged:
|
|
33
|
+
* - lazy `node:fs` / `node:path` / `node:crypto` + LRU cache — `./_internal`
|
|
34
|
+
* - types — `./binary-types`
|
|
35
|
+
* - on-disk cache metadata — `./binary-cache`
|
|
36
|
+
* - download + integrity verification — `./binary-download`
|
|
37
|
+
*/
|
|
38
|
+
/**
|
|
39
|
+
* Download and execute a binary from a URL with caching.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ;```typescript
|
|
43
|
+
* const result = await dlxBinary(['--version'], {
|
|
44
|
+
* url: 'https://example.com/tool-linux-x64',
|
|
45
|
+
* name: 'tool',
|
|
46
|
+
* })
|
|
47
|
+
* await result.spawnPromise
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
62
50
|
async function dlxBinary(args, options, spawnExtra) {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
`Permission denied creating binary cache directory: ${cacheEntryDir}
|
|
121
|
-
Please check directory permissions or run with appropriate access.`,
|
|
122
|
-
{ cause: e }
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
if (code === "EROFS") {
|
|
126
|
-
throw new import_error.ErrorCtor(
|
|
127
|
-
`Cannot create binary cache directory on read-only filesystem: ${cacheEntryDir}
|
|
128
|
-
Ensure the filesystem is writable or set SOCKET_DLX_DIR to a writable location.`,
|
|
129
|
-
{ cause: e }
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
throw new import_error.ErrorCtor(
|
|
133
|
-
`Failed to create binary cache directory: ${cacheEntryDir}`,
|
|
134
|
-
{ cause: e }
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
computedIntegrity = await (0, import_binary_download.downloadBinaryFile)(
|
|
138
|
-
url,
|
|
139
|
-
binaryPath,
|
|
140
|
-
integrity,
|
|
141
|
-
sha256
|
|
142
|
-
);
|
|
143
|
-
const stats = await fs.promises.stat(binaryPath);
|
|
144
|
-
await (0, import_binary_cache.writeBinaryCacheMetadata)(
|
|
145
|
-
cacheEntryDir,
|
|
146
|
-
cacheKey,
|
|
147
|
-
url,
|
|
148
|
-
computedIntegrity || "",
|
|
149
|
-
stats.size
|
|
150
|
-
);
|
|
151
|
-
}
|
|
152
|
-
const needsShell = import_platform.WIN32 && /\.(?:bat|cmd|ps1)$/i.test(binaryPath);
|
|
153
|
-
const finalSpawnOptions = needsShell ? {
|
|
154
|
-
...spawnOptions,
|
|
155
|
-
env: {
|
|
156
|
-
...spawnOptions?.env,
|
|
157
|
-
PATH: `${cacheEntryDir}${path.delimiter}${import_node_process.default.env["PATH"] || ""}`
|
|
158
|
-
},
|
|
159
|
-
shell: true
|
|
160
|
-
} : spawnOptions;
|
|
161
|
-
const spawnPromise = (0, import_child.spawn)(binaryPath, args, finalSpawnOptions, spawnExtra);
|
|
162
|
-
return {
|
|
163
|
-
binaryPath,
|
|
164
|
-
downloaded,
|
|
165
|
-
spawnPromise
|
|
166
|
-
};
|
|
51
|
+
const { cacheTtl = require_constants_time.DLX_BINARY_CACHE_TTL, force: userForce = false, hash, integrity: rawIntegrity, name, sha256: rawSha256, spawnOptions, url, yes } = {
|
|
52
|
+
__proto__: null,
|
|
53
|
+
...options
|
|
54
|
+
};
|
|
55
|
+
let integrity = rawIntegrity;
|
|
56
|
+
let sha256 = rawSha256;
|
|
57
|
+
if (hash !== void 0) {
|
|
58
|
+
const normalized = require_integrity.normalizeHash(hash);
|
|
59
|
+
if (normalized.type === "integrity") integrity = normalized.value;
|
|
60
|
+
else sha256 = normalized.value;
|
|
61
|
+
}
|
|
62
|
+
const fs = /* @__PURE__ */ require_node_fs.getNodeFs();
|
|
63
|
+
const path = /* @__PURE__ */ require_node_path.getNodePath();
|
|
64
|
+
const force = yes === true ? true : userForce;
|
|
65
|
+
const cacheDir = require_dlx_binary_cache.getDlxCachePath();
|
|
66
|
+
const binaryName = name || `binary-${node_process.default.platform}-${require_constants_platform.getArch()}`;
|
|
67
|
+
const cacheKey = require_dlx_cache.generateCacheKey(`${url}:${binaryName}`);
|
|
68
|
+
const cacheEntryDir = path.join(cacheDir, cacheKey);
|
|
69
|
+
const binaryPath = /* @__PURE__ */ require_paths_normalize.normalizePath(path.join(cacheEntryDir, binaryName));
|
|
70
|
+
let downloaded = false;
|
|
71
|
+
let computedIntegrity = integrity;
|
|
72
|
+
if (!force && fs.existsSync(cacheEntryDir) && await require_dlx_binary_cache.isBinaryCacheValid(cacheEntryDir, cacheTtl)) try {
|
|
73
|
+
const metadata = await /* @__PURE__ */ require_fs_read_json.readJson(require_dlx_binary_cache.getBinaryCacheMetadataPath(cacheEntryDir), { throws: false });
|
|
74
|
+
if (metadata && typeof metadata === "object" && !require_primordials_array.ArrayIsArray(metadata) && typeof metadata["integrity"] === "string") {
|
|
75
|
+
computedIntegrity = metadata["integrity"];
|
|
76
|
+
if (!fs.existsSync(binaryPath)) downloaded = true;
|
|
77
|
+
} else downloaded = true;
|
|
78
|
+
} catch {
|
|
79
|
+
downloaded = true;
|
|
80
|
+
}
|
|
81
|
+
else downloaded = true;
|
|
82
|
+
if (downloaded) {
|
|
83
|
+
try {
|
|
84
|
+
await require_fs_safe.safeMkdir(cacheEntryDir);
|
|
85
|
+
} catch (e) {
|
|
86
|
+
const code = e.code;
|
|
87
|
+
if (code === "EACCES" || code === "EPERM") throw new require_primordials_error.ErrorCtor(`Permission denied creating binary cache directory: ${cacheEntryDir}\nPlease check directory permissions or run with appropriate access.`, { cause: e });
|
|
88
|
+
if (code === "EROFS") throw new require_primordials_error.ErrorCtor(`Cannot create binary cache directory on read-only filesystem: ${cacheEntryDir}\nEnsure the filesystem is writable or set SOCKET_DLX_DIR to a writable location.`, { cause: e });
|
|
89
|
+
throw new require_primordials_error.ErrorCtor(`Failed to create binary cache directory: ${cacheEntryDir}`, { cause: e });
|
|
90
|
+
}
|
|
91
|
+
computedIntegrity = await require_dlx_binary_download.downloadBinaryFile(url, binaryPath, integrity, sha256);
|
|
92
|
+
const stats = await fs.promises.stat(binaryPath);
|
|
93
|
+
await require_dlx_binary_cache.writeBinaryCacheMetadata(cacheEntryDir, cacheKey, url, computedIntegrity || "", stats.size);
|
|
94
|
+
}
|
|
95
|
+
const spawnPromise = require_process_spawn_child.spawn(binaryPath, args, require_constants_platform.WIN32 && /\.(?:bat|cmd|ps1)$/i.test(binaryPath) ? {
|
|
96
|
+
...spawnOptions,
|
|
97
|
+
env: {
|
|
98
|
+
...spawnOptions?.env,
|
|
99
|
+
PATH: `${cacheEntryDir}${path.delimiter}${node_process.default.env["PATH"] || ""}`
|
|
100
|
+
},
|
|
101
|
+
shell: true
|
|
102
|
+
} : spawnOptions, spawnExtra);
|
|
103
|
+
return {
|
|
104
|
+
binaryPath,
|
|
105
|
+
downloaded,
|
|
106
|
+
spawnPromise
|
|
107
|
+
};
|
|
167
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Execute a cached binary without re-downloading. Similar to executePackage
|
|
111
|
+
* from dlx/package. Binary must have been previously downloaded via
|
|
112
|
+
* downloadBinary or dlxBinary.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ;```typescript
|
|
116
|
+
* const { binaryPath } = await downloadBinary({
|
|
117
|
+
* url: 'https://example.com/tool-linux-x64',
|
|
118
|
+
* name: 'tool',
|
|
119
|
+
* })
|
|
120
|
+
* const result = executeBinary(binaryPath, ['--help'])
|
|
121
|
+
* ```
|
|
122
|
+
*
|
|
123
|
+
* @param binaryPath Path to the cached binary (from downloadBinary result)
|
|
124
|
+
* @param args Arguments to pass to the binary.
|
|
125
|
+
* @param spawnOptions Spawn options for execution.
|
|
126
|
+
* @param spawnExtra Extra spawn configuration.
|
|
127
|
+
*
|
|
128
|
+
* @returns The spawn promise for the running process
|
|
129
|
+
*/
|
|
168
130
|
function executeBinary(binaryPath, args, spawnOptions, spawnExtra) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return (0, import_child.spawn)(binaryPath, args, finalSpawnOptions, spawnExtra);
|
|
131
|
+
const needsShell = require_constants_platform.WIN32 && /\.(?:bat|cmd|ps1)$/i.test(binaryPath);
|
|
132
|
+
const path = /* @__PURE__ */ require_node_path.getNodePath();
|
|
133
|
+
const cacheEntryDir = path.dirname(binaryPath);
|
|
134
|
+
return require_process_spawn_child.spawn(binaryPath, args, needsShell ? {
|
|
135
|
+
...spawnOptions,
|
|
136
|
+
env: {
|
|
137
|
+
...spawnOptions?.env,
|
|
138
|
+
PATH: `${cacheEntryDir}${path.delimiter}${node_process.default.env["PATH"] || ""}`
|
|
139
|
+
},
|
|
140
|
+
shell: true
|
|
141
|
+
} : spawnOptions, spawnExtra);
|
|
181
142
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
});
|
|
143
|
+
|
|
144
|
+
//#endregion
|
|
145
|
+
exports.cleanDlxCache = require_dlx_binary_cache.cleanDlxCache;
|
|
146
|
+
exports.dlxBinary = dlxBinary;
|
|
147
|
+
exports.downloadBinary = require_dlx_binary_download.downloadBinary;
|
|
148
|
+
exports.downloadBinaryFile = require_dlx_binary_download.downloadBinaryFile;
|
|
149
|
+
exports.executeBinary = executeBinary;
|
|
150
|
+
exports.getBinaryCacheMetadataPath = require_dlx_binary_cache.getBinaryCacheMetadataPath;
|
|
151
|
+
exports.getDlxCachePath = require_dlx_binary_cache.getDlxCachePath;
|
|
152
|
+
exports.isBinaryCacheValid = require_dlx_binary_cache.isBinaryCacheValid;
|
|
153
|
+
exports.listDlxCache = require_dlx_binary_cache.listDlxCache;
|
|
154
|
+
exports.writeBinaryCacheMetadata = require_dlx_binary_cache.writeBinaryCacheMetadata;
|
package/dist/dlx/cache.js
CHANGED
|
@@ -1,33 +1,48 @@
|
|
|
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
|
-
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_crypto_hash = require('../crypto/hash.js');
|
|
5
|
+
|
|
6
|
+
//#region src/dlx/cache.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Cache key generation utilities for DLX package installations.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Generate a cache directory name using npm/npx approach. Uses first 16
|
|
12
|
+
* characters of SHA-512 hash (like npm/npx).
|
|
13
|
+
*
|
|
14
|
+
* Rationale for SHA-512 truncated (vs full SHA-256):
|
|
15
|
+
*
|
|
16
|
+
* - Matches npm/npx ecosystem behavior
|
|
17
|
+
* - Shorter paths for Windows MAX_PATH compatibility (260 chars)
|
|
18
|
+
* - 16 hex chars = 64 bits = acceptable collision risk for local cache
|
|
19
|
+
* - Collision probability ~1 in 18 quintillion with 1000 entries
|
|
20
|
+
*
|
|
21
|
+
* Input strategy (aligned with npx):
|
|
22
|
+
*
|
|
23
|
+
* - Npx uses package spec strings (e.g., '@scope/pkg@1.0.0', 'prettier@3.0.0')
|
|
24
|
+
* - Caller provides complete spec string with version for accurate cache keying
|
|
25
|
+
* - For package installs: Use PURL-style spec with version Examples:
|
|
26
|
+
* 'npm:prettier@3.0.0', 'pypi:requests@2.31.0', 'gem:rails@7.0.0' Note:
|
|
27
|
+
* Socket uses shorthand format without 'pkg:' prefix (handled by
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ;```typescript
|
|
31
|
+
* const key = generateCacheKey('prettier@3.0.0')
|
|
32
|
+
* // e.g. 'a1b2c3d4e5f67890'
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @socketregistry/packageurl-js)
|
|
36
|
+
* - For binary downloads: Use URL:name for uniqueness
|
|
37
|
+
*
|
|
38
|
+
* Reference: npm/cli v11.6.2 libnpmexec/lib/index.js#L233-L244
|
|
39
|
+
* https://github.com/npm/cli/blob/v11.6.2/workspaces/libnpmexec/lib/index.js#L233-L244
|
|
40
|
+
* Implementation: packages.map().sort().join('\n') → SHA-512 → slice(0,16) npx
|
|
41
|
+
* hashes the package spec (name@version), not just name.
|
|
42
|
+
*/
|
|
27
43
|
function generateCacheKey(spec) {
|
|
28
|
-
|
|
44
|
+
return (/* @__PURE__ */ require_crypto_hash.hash("sha512", spec, "hex")).substring(0, 16);
|
|
29
45
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
});
|
|
46
|
+
|
|
47
|
+
//#endregion
|
|
48
|
+
exports.generateCacheKey = generateCacheKey;
|