@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/eco/purl.js
CHANGED
|
@@ -1,63 +1,53 @@
|
|
|
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
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
-
var purl_exports = {};
|
|
22
|
-
__export(purl_exports, {
|
|
23
|
-
PURL_Type: () => PURL_Type
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(purl_exports);
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
|
|
5
|
+
//#region src/eco/purl.ts
|
|
6
|
+
/**
|
|
7
|
+
* @file PURL (Package URL) ecosystem identifiers shared across every package
|
|
8
|
+
* manager Socket understands.
|
|
9
|
+
*
|
|
10
|
+
* - `PURL_Type` — runtime const mapping uppercase keys to lowercase ecosystem
|
|
11
|
+
* slugs (e.g. `PURL_Type.NPM === 'npm'`)
|
|
12
|
+
* - `PURLString` — string-union of every PURL ecosystem slug
|
|
13
|
+
* - `EcosystemString` — semantic alias of `PURLString` for places where
|
|
14
|
+
* "ecosystem" reads more naturally than "PURL string" Based on
|
|
15
|
+
* SocketPURL_Type from socket-sdk-js.
|
|
16
|
+
*/
|
|
26
17
|
const PURL_Type = {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
18
|
+
ALPM: "alpm",
|
|
19
|
+
APK: "apk",
|
|
20
|
+
BITBUCKET: "bitbucket",
|
|
21
|
+
COCOAPODS: "cocoapods",
|
|
22
|
+
CARGO: "cargo",
|
|
23
|
+
CHROME: "chrome",
|
|
24
|
+
COMPOSER: "composer",
|
|
25
|
+
CONAN: "conan",
|
|
26
|
+
CONDA: "conda",
|
|
27
|
+
CRAN: "cran",
|
|
28
|
+
DEB: "deb",
|
|
29
|
+
DOCKER: "docker",
|
|
30
|
+
GEM: "gem",
|
|
31
|
+
GENERIC: "generic",
|
|
32
|
+
GITHUB: "github",
|
|
33
|
+
GOLANG: "golang",
|
|
34
|
+
HACKAGE: "hackage",
|
|
35
|
+
HEX: "hex",
|
|
36
|
+
HUGGINGFACE: "huggingface",
|
|
37
|
+
MAVEN: "maven",
|
|
38
|
+
MLFLOW: "mlflow",
|
|
39
|
+
NPM: "npm",
|
|
40
|
+
NUGET: "nuget",
|
|
41
|
+
OCI: "oci",
|
|
42
|
+
PUB: "pub",
|
|
43
|
+
PYPI: "pypi",
|
|
44
|
+
QPKG: "qpkg",
|
|
45
|
+
RPM: "rpm",
|
|
46
|
+
SWID: "swid",
|
|
47
|
+
SWIFT: "swift",
|
|
48
|
+
VCS: "vcs",
|
|
49
|
+
VSCODE: "vscode"
|
|
59
50
|
};
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
51
|
+
|
|
52
|
+
//#endregion
|
|
53
|
+
exports.PURL_Type = PURL_Type;
|
package/dist/eco/types.js
CHANGED
|
@@ -1,18 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* Socket Lib - Built with
|
|
3
|
-
"use strict";
|
|
4
|
-
var __defProp = Object.defineProperty;
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __copyProps = (to, from, except, desc) => {
|
|
9
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
10
|
-
for (let key of __getOwnPropNames(from))
|
|
11
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
12
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
-
}
|
|
14
|
-
return to;
|
|
15
|
-
};
|
|
16
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
17
|
-
var types_exports = {};
|
|
18
|
-
module.exports = __toCommonJS(types_exports);
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
@@ -1,68 +1,67 @@
|
|
|
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_ansi_constants = require('../ansi/constants.js');
|
|
5
|
+
|
|
6
|
+
//#region src/effects/pulse-frames.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file Socket pulse animation frames generator. Generates themeable pulsing
|
|
9
|
+
* animation frames using sparkles (✧ ✦) and lightning (⚡). Follows the
|
|
10
|
+
* cli-spinners format: https://github.com/sindresorhus/cli-spinners.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Generate Socket pulse animation frames. Creates a pulsing throbber using
|
|
14
|
+
* Unicode sparkles and lightning symbols. Frames use brightness modifiers
|
|
15
|
+
* (bold/dim) but no embedded colors. Yocto-spinner applies the current spinner
|
|
16
|
+
* color to each frame.
|
|
17
|
+
*
|
|
18
|
+
* Returns a spinner definition compatible with cli-spinners format.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ;```typescript
|
|
22
|
+
* const { frames, interval } = generateSocketSpinnerFrames()
|
|
23
|
+
* console.log(frames.length, interval) // 18 50
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @see https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json
|
|
27
|
+
*/
|
|
27
28
|
function generateSocketSpinnerFrames(options) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
};
|
|
29
|
+
const interval = {
|
|
30
|
+
__proto__: null,
|
|
31
|
+
...options
|
|
32
|
+
}.interval ?? 50;
|
|
33
|
+
const bold = require_ansi_constants.ANSI_BOLD;
|
|
34
|
+
const dim = require_ansi_constants.ANSI_DIM;
|
|
35
|
+
const reset = require_ansi_constants.ANSI_RESET;
|
|
36
|
+
const lightning = "⚡︎";
|
|
37
|
+
const starFilled = "✦︎ ";
|
|
38
|
+
const starOutline = "✧︎ ";
|
|
39
|
+
const starTiny = "⋆︎ ";
|
|
40
|
+
return {
|
|
41
|
+
__proto__: null,
|
|
42
|
+
frames: [
|
|
43
|
+
`${dim}${starOutline}${reset}`,
|
|
44
|
+
`${dim}${starOutline}${reset}`,
|
|
45
|
+
`${dim}${starTiny}${reset}`,
|
|
46
|
+
`${starFilled}${reset}`,
|
|
47
|
+
`${starFilled}${reset}`,
|
|
48
|
+
`${bold}${starFilled}${reset}`,
|
|
49
|
+
`${bold}${starFilled}${reset}`,
|
|
50
|
+
`${bold}${lightning}${reset}`,
|
|
51
|
+
`${bold}${lightning}${reset}`,
|
|
52
|
+
`${bold}${lightning}${reset}`,
|
|
53
|
+
`${bold}${lightning}${reset}`,
|
|
54
|
+
`${bold}${lightning}${reset}`,
|
|
55
|
+
`${bold}${starFilled}${reset}`,
|
|
56
|
+
`${bold}${starFilled}${reset}`,
|
|
57
|
+
`${starFilled}${reset}`,
|
|
58
|
+
`${starFilled}${reset}`,
|
|
59
|
+
`${dim}${starTiny}${reset}`,
|
|
60
|
+
`${dim}${starOutline}${reset}`
|
|
61
|
+
],
|
|
62
|
+
interval
|
|
63
|
+
};
|
|
64
64
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
});
|
|
65
|
+
|
|
66
|
+
//#endregion
|
|
67
|
+
exports.generateSocketSpinnerFrames = generateSocketSpinnerFrames;
|
|
@@ -1,55 +1,74 @@
|
|
|
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_effects_shimmer = require('./shimmer.js');
|
|
5
|
+
|
|
6
|
+
//#region src/effects/shimmer-keyframes.ts
|
|
7
|
+
/**
|
|
8
|
+
* @file SVG keyframe batcher for the shimmer engine. Pre-renders N frames of
|
|
9
|
+
* the engine and emits per-character keyTimes / values arrays suitable for
|
|
10
|
+
* SVG SMIL `<animate>` elements. The output is deduplicated (consecutive
|
|
11
|
+
* identical colors collapse to a single keyframe) and closed with a `t=1`
|
|
12
|
+
* anchor so the animation loops cleanly. Use with `calcMode="discrete"` to
|
|
13
|
+
* reproduce the engine's output exactly — no SMIL interpolation between
|
|
14
|
+
* frames, each frame holds until the next changes.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ;```ts
|
|
18
|
+
* import { configToSpec } from '@socketsecurity/lib/effects/shimmer'
|
|
19
|
+
* import { toShimmerKeyframes } from '@socketsecurity/lib/effects/shimmer-keyframes'
|
|
20
|
+
* const spec = configToSpec({ color: RAINBOW_GRADIENT, dir: 'ltr' }, 10)
|
|
21
|
+
* const tracks = toShimmerKeyframes(spec, 10, 60)
|
|
22
|
+
* // Emit one <animate> per char in your SVG:
|
|
23
|
+
* // <animate attributeName="fill" calcMode="discrete"
|
|
24
|
+
* // keyTimes={tracks[i].times.join(';')}
|
|
25
|
+
* // values={tracks[i].values.join(';')}
|
|
26
|
+
* // dur="3s" repeatCount="indefinite" />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Render N frames of a shimmer spec into per-character keyframe tracks.
|
|
31
|
+
*
|
|
32
|
+
* Output is one {@link Keyframes} object per char. Consecutive identical colors
|
|
33
|
+
* collapse — only the first occurrence emits a keyframe, the rest are implicit
|
|
34
|
+
* (SMIL holds the previous value). A final keyframe at `t=1` closes the loop
|
|
35
|
+
* with the same value as `t=0` so playback wraps cleanly.
|
|
36
|
+
*
|
|
37
|
+
* Use with `calcMode="discrete"` to reproduce the engine's per-frame output
|
|
38
|
+
* exactly (no SMIL interpolation between frames).
|
|
39
|
+
*
|
|
40
|
+
* @param spec Functional shimmer specification.
|
|
41
|
+
* @param textLength Number of chars to colorize.
|
|
42
|
+
* @param frames Total frame count to bake into the loop.
|
|
43
|
+
*
|
|
44
|
+
* @returns One Keyframes track per char index, in order
|
|
45
|
+
*/
|
|
27
46
|
function toShimmerKeyframes(spec, textLength, frames) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
const tracks = [];
|
|
48
|
+
for (let i = 0; i < textLength; i++) tracks.push({
|
|
49
|
+
times: [],
|
|
50
|
+
values: []
|
|
51
|
+
});
|
|
52
|
+
for (let f = 0; f < frames; f++) {
|
|
53
|
+
const t = f / frames;
|
|
54
|
+
const colors = require_effects_shimmer.frameColors(spec, textLength, f);
|
|
55
|
+
for (let i = 0; i < textLength; i++) {
|
|
56
|
+
const c = colors[i];
|
|
57
|
+
const v = `rgb(${c[0]},${c[1]},${c[2]})`;
|
|
58
|
+
const track = tracks[i];
|
|
59
|
+
if (track.values[track.values.length - 1] !== v) {
|
|
60
|
+
track.times.push(t);
|
|
61
|
+
track.values.push(v);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
for (let i = 0; i < textLength; i++) {
|
|
66
|
+
const track = tracks[i];
|
|
67
|
+
track.times.push(1);
|
|
68
|
+
track.values.push(track.values[0] ?? "rgb(0,0,0)");
|
|
69
|
+
}
|
|
70
|
+
return tracks;
|
|
51
71
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
72
|
+
|
|
73
|
+
//#endregion
|
|
74
|
+
exports.toShimmerKeyframes = toShimmerKeyframes;
|
|
@@ -1,57 +1,88 @@
|
|
|
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
|
-
|
|
2
|
+
/* Socket Lib - Built with rolldown */
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
+
const require_ansi_constants = require('../ansi/constants.js');
|
|
5
|
+
const require_effects_shimmer = require('./shimmer.js');
|
|
6
|
+
|
|
7
|
+
//#region src/effects/shimmer-terminal.ts
|
|
8
|
+
/**
|
|
9
|
+
* @file Terminal renderer for the shimmer engine. Turns the engine's `RGB[]`
|
|
10
|
+
* output into a single ANSI-escaped string ready to write to stdout/stderr.
|
|
11
|
+
* Uses 24-bit truecolor escape sequences (`\x1b[38;2;R;G;Bm`) which most
|
|
12
|
+
* modern terminals (iTerm2, Terminal.app, Windows Terminal, Alacritty,
|
|
13
|
+
* Ghostty, kitty, gnome-terminal) support natively. Terminals that lack
|
|
14
|
+
* truecolor (basic `xterm`, some serial consoles) will display the raw escape
|
|
15
|
+
* codes — call sites that need to support those terminals should fall back to
|
|
16
|
+
* {@link colorsToAnsi}'s "no colors" path or skip rendering entirely. The
|
|
17
|
+
* high-level {@link renderFrame} convenience runs the full pipeline (engine →
|
|
18
|
+
* ANSI) in one call. {@link colorsToAnsi} is the lower-level helper for when
|
|
19
|
+
* you already have an `RGB[]` from {@link frameColors}.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ;```ts
|
|
23
|
+
* import { configToSpec } from '@socketsecurity/lib/effects/shimmer'
|
|
24
|
+
* import { renderFrame } from '@socketsecurity/lib/effects/shimmer-terminal'
|
|
25
|
+
* const spec = configToSpec(
|
|
26
|
+
* { color: [140, 82, 255], dir: 'ltr' },
|
|
27
|
+
* 'Loading'.length,
|
|
28
|
+
* )
|
|
29
|
+
* process.stdout.write(renderFrame(spec, 'Loading', frame))
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Build the 24-bit truecolor foreground escape for an RGB tuple. Returns
|
|
34
|
+
* `\x1b[38;2;R;G;Bm`. Exported so callers building ANSI by hand can use the
|
|
35
|
+
* same helper.
|
|
36
|
+
*/
|
|
31
37
|
function ansiTruecolor([r, g, b]) {
|
|
32
|
-
|
|
38
|
+
return `\x1b[38;2;${r};${g};${b}m`;
|
|
33
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Wrap each char of `text` in a 24-bit truecolor ANSI escape using the matching
|
|
42
|
+
* color from `colors`. Each char is followed by an ANSI reset so adjacent
|
|
43
|
+
* uncolored output isn't tinted.
|
|
44
|
+
*
|
|
45
|
+
* Caller is responsible for grapheme segmentation if the text contains complex
|
|
46
|
+
* graphemes (combining marks, ZWJ sequences). This function uses spread
|
|
47
|
+
* iteration which handles BMP code points and surrogate pairs but treats each
|
|
48
|
+
* grapheme cluster as multiple "chars."
|
|
49
|
+
*
|
|
50
|
+
* If `colors.length` is shorter than the text's char count, surplus chars are
|
|
51
|
+
* emitted without color (uncolored tail).
|
|
52
|
+
*
|
|
53
|
+
* @param text Input string to color.
|
|
54
|
+
* @param colors Per-char colors; index `i` colors char `i`
|
|
55
|
+
*
|
|
56
|
+
* @returns ANSI-escaped string
|
|
57
|
+
*/
|
|
34
58
|
function colorsToAnsi(text, colors) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
59
|
+
const chars = [...text];
|
|
60
|
+
let out = "";
|
|
61
|
+
for (let i = 0; i < chars.length; i++) {
|
|
62
|
+
const c = colors[i];
|
|
63
|
+
if (c === void 0) {
|
|
64
|
+
out += chars[i];
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
out += `${ansiTruecolor(c)}${chars[i]}${require_ansi_constants.ANSI_RESET}`;
|
|
68
|
+
}
|
|
69
|
+
return out;
|
|
46
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Render a single shimmer frame as ANSI-escaped text. Convenience wrapper over
|
|
73
|
+
* {@link frameColors} + {@link colorsToAnsi} for callers that don't need the
|
|
74
|
+
* intermediate `RGB[]`.
|
|
75
|
+
*
|
|
76
|
+
* @param spec Functional shimmer specification (see {@link ShimmerSpec})
|
|
77
|
+
* @param text The string to colorize.
|
|
78
|
+
* @param frame Caller-controlled frame counter.
|
|
79
|
+
*/
|
|
47
80
|
function renderFrame(spec, text, frame) {
|
|
48
|
-
|
|
49
|
-
return colorsToAnsi(text, (0, import_shimmer.frameColors)(spec, chars.length, frame));
|
|
81
|
+
return colorsToAnsi(text, require_effects_shimmer.frameColors(spec, [...text].length, frame));
|
|
50
82
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
});
|
|
83
|
+
|
|
84
|
+
//#endregion
|
|
85
|
+
exports.ANSI_RESET = require_ansi_constants.ANSI_RESET;
|
|
86
|
+
exports.ansiTruecolor = ansiTruecolor;
|
|
87
|
+
exports.colorsToAnsi = colorsToAnsi;
|
|
88
|
+
exports.renderFrame = renderFrame;
|