pnpm 8.6.2 → 8.6.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/dist/node_modules/.modules.yaml +81 -24
- package/dist/node_modules/.pnpm/lock.yaml +235 -91
- package/dist/node_modules/@isaacs/cliui/LICENSE.txt +14 -0
- package/dist/node_modules/@isaacs/cliui/build/index.cjs +317 -0
- package/dist/node_modules/@isaacs/cliui/build/index.d.cts +43 -0
- package/dist/node_modules/@isaacs/cliui/build/lib/index.js +302 -0
- package/dist/node_modules/@isaacs/cliui/index.mjs +14 -0
- package/dist/node_modules/@isaacs/cliui/node_modules/string-width/index.js +54 -0
- package/dist/node_modules/@isaacs/cliui/node_modules/string-width/license +9 -0
- package/dist/node_modules/@isaacs/cliui/node_modules/string-width/package.json +59 -0
- package/dist/node_modules/@isaacs/cliui/package.json +86 -0
- package/dist/node_modules/@npmcli/fs/lib/cp/index.js +1 -1
- package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +2 -2
- package/dist/node_modules/@npmcli/fs/lib/index.js +11 -10
- package/dist/node_modules/@npmcli/fs/lib/move-file.js +78 -0
- package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +20 -0
- package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +4 -6
- package/dist/node_modules/@npmcli/fs/package.json +11 -9
- package/dist/node_modules/@pkgjs/parseargs/LICENSE +201 -0
- package/dist/node_modules/@pkgjs/parseargs/index.js +396 -0
- package/dist/node_modules/@pkgjs/parseargs/internal/errors.js +47 -0
- package/dist/node_modules/@pkgjs/parseargs/internal/primordials.js +393 -0
- package/dist/node_modules/@pkgjs/parseargs/internal/util.js +14 -0
- package/dist/node_modules/@pkgjs/parseargs/internal/validators.js +89 -0
- package/dist/node_modules/@pkgjs/parseargs/package.json +36 -0
- package/dist/node_modules/@pkgjs/parseargs/utils.js +198 -0
- package/dist/node_modules/ansi-regex/index.js +3 -5
- package/dist/node_modules/ansi-regex/license +1 -1
- package/dist/node_modules/ansi-regex/package.json +9 -6
- package/dist/node_modules/ansi-styles/index.js +223 -0
- package/dist/node_modules/ansi-styles/license +9 -0
- package/dist/node_modules/ansi-styles/package.json +54 -0
- package/dist/node_modules/cacache/lib/content/read.js +1 -76
- package/dist/node_modules/cacache/lib/content/rm.js +2 -4
- package/dist/node_modules/cacache/lib/content/write.js +40 -24
- package/dist/node_modules/cacache/lib/entry-index.js +25 -99
- package/dist/node_modules/cacache/lib/get.js +1 -56
- package/dist/node_modules/cacache/lib/index.js +0 -3
- package/dist/node_modules/cacache/lib/rm.js +5 -5
- package/dist/node_modules/cacache/lib/util/glob.js +7 -0
- package/dist/node_modules/cacache/lib/util/tmp.js +3 -10
- package/dist/node_modules/cacache/lib/verify.js +28 -28
- package/dist/node_modules/cacache/node_modules/glob/LICENSE +1 -1
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/package.json +4 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/bin.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/bin.js +270 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/bin.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/glob.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/glob.js +234 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/glob.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/has-magic.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/has-magic.js +27 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/has-magic.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/ignore.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/ignore.js +103 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/ignore.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/index.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/index.js +68 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/index.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/pattern.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/pattern.js +219 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/pattern.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/processor.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/processor.js +309 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/processor.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/walker.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/walker.js +358 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/cjs/src/walker.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/glob.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/glob.js +230 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/glob.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/has-magic.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/has-magic.js +23 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/has-magic.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/ignore.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/ignore.js +99 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/ignore.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/index.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/index.js +56 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/index.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/package.json +4 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/pattern.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/pattern.js +215 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/pattern.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/processor.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/processor.js +302 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/processor.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/walker.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/walker.js +352 -0
- package/dist/node_modules/cacache/node_modules/glob/dist/mjs/walker.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/glob/package.json +78 -35
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/assert-valid-pattern.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/assert-valid-pattern.js +14 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/assert-valid-pattern.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/ast.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/ast.js +589 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/ast.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/brace-expressions.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/brace-expressions.js +152 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/brace-expressions.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/escape.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/escape.js +22 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/escape.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/index.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/index.js +1011 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/index.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/package.json +3 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/unescape.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/unescape.js +24 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/cjs/unescape.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/assert-valid-pattern.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/assert-valid-pattern.js +10 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/assert-valid-pattern.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/ast.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/ast.js +585 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/ast.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/brace-expressions.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/brace-expressions.js +148 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/brace-expressions.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/escape.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/escape.js +18 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/escape.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/index.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/index.js +995 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/index.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/package.json +3 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/unescape.d.ts.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/unescape.js +20 -0
- package/dist/node_modules/cacache/node_modules/minimatch/dist/mjs/unescape.js.map +1 -0
- package/dist/node_modules/cacache/node_modules/minimatch/package.json +66 -15
- package/dist/node_modules/cacache/package.json +19 -21
- package/dist/node_modules/color-convert/LICENSE +21 -0
- package/dist/node_modules/color-convert/conversions.js +839 -0
- package/dist/node_modules/color-convert/index.js +81 -0
- package/dist/node_modules/color-convert/package.json +48 -0
- package/dist/node_modules/color-convert/route.js +97 -0
- package/dist/node_modules/color-name/LICENSE +8 -0
- package/dist/node_modules/color-name/index.js +152 -0
- package/dist/node_modules/color-name/package.json +28 -0
- package/dist/node_modules/cross-spawn/LICENSE +21 -0
- package/dist/node_modules/cross-spawn/index.js +39 -0
- package/dist/node_modules/cross-spawn/lib/enoent.js +59 -0
- package/dist/node_modules/cross-spawn/lib/parse.js +91 -0
- package/dist/node_modules/cross-spawn/lib/util/escape.js +45 -0
- package/dist/node_modules/cross-spawn/lib/util/readShebang.js +23 -0
- package/dist/node_modules/cross-spawn/lib/util/resolveCommand.js +52 -0
- package/dist/node_modules/cross-spawn/package.json +73 -0
- package/dist/node_modules/eastasianwidth/eastasianwidth.js +311 -0
- package/dist/node_modules/eastasianwidth/package.json +18 -0
- package/dist/node_modules/emoji-regex/RGI_Emoji.js +6 -0
- package/dist/node_modules/emoji-regex/es2015/RGI_Emoji.js +6 -0
- package/dist/node_modules/emoji-regex/es2015/index.js +1 -1
- package/dist/node_modules/emoji-regex/es2015/text.js +1 -1
- package/dist/node_modules/emoji-regex/index.js +1 -1
- package/dist/node_modules/emoji-regex/package.json +13 -11
- package/dist/node_modules/emoji-regex/text.js +1 -1
- package/dist/node_modules/exponential-backoff/LICENSE +202 -0
- package/dist/node_modules/exponential-backoff/dist/backoff.js +118 -0
- package/dist/node_modules/exponential-backoff/dist/backoff.js.map +1 -0
- package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js +25 -0
- package/dist/node_modules/exponential-backoff/dist/delay/always/always.delay.js.map +1 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js +45 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.base.js.map +1 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js +17 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.factory.js.map +1 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js +3 -0
- package/dist/node_modules/exponential-backoff/dist/delay/delay.interface.js.map +1 -0
- package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js +82 -0
- package/dist/node_modules/exponential-backoff/dist/delay/skip-first/skip-first.delay.js.map +1 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js +8 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/full/full.jitter.js.map +1 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js +15 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/jitter.factory.js.map +1 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js +7 -0
- package/dist/node_modules/exponential-backoff/dist/jitter/no/no.jitter.js.map +1 -0
- package/dist/node_modules/exponential-backoff/dist/options.js +31 -0
- package/dist/node_modules/exponential-backoff/dist/options.js.map +1 -0
- package/dist/node_modules/exponential-backoff/package.json +61 -0
- package/dist/node_modules/{promise-inflight → foreground-child}/LICENSE +5 -4
- package/dist/node_modules/foreground-child/dist/cjs/all-signals.d.ts.map +1 -0
- package/dist/node_modules/foreground-child/dist/cjs/all-signals.js +58 -0
- package/dist/node_modules/foreground-child/dist/cjs/all-signals.js.map +1 -0
- package/dist/node_modules/foreground-child/dist/cjs/index.d.ts.map +1 -0
- package/dist/node_modules/foreground-child/dist/cjs/index.js +154 -0
- package/dist/node_modules/foreground-child/dist/cjs/index.js.map +1 -0
- package/dist/node_modules/foreground-child/dist/cjs/package.json +3 -0
- package/dist/node_modules/foreground-child/dist/cjs/watchdog.d.ts.map +1 -0
- package/dist/node_modules/foreground-child/dist/cjs/watchdog.js +43 -0
- package/dist/node_modules/foreground-child/dist/cjs/watchdog.js.map +1 -0
- package/dist/node_modules/foreground-child/dist/mjs/all-signals.d.ts.map +1 -0
- package/dist/node_modules/foreground-child/dist/mjs/all-signals.js +52 -0
- package/dist/node_modules/foreground-child/dist/mjs/all-signals.js.map +1 -0
- package/dist/node_modules/foreground-child/dist/mjs/index.d.ts.map +1 -0
- package/dist/node_modules/foreground-child/dist/mjs/index.js +146 -0
- package/dist/node_modules/foreground-child/dist/mjs/index.js.map +1 -0
- package/dist/node_modules/foreground-child/dist/mjs/package.json +3 -0
- package/dist/node_modules/foreground-child/dist/mjs/watchdog.d.ts.map +1 -0
- package/dist/node_modules/foreground-child/dist/mjs/watchdog.js +39 -0
- package/dist/node_modules/foreground-child/dist/mjs/watchdog.js.map +1 -0
- package/dist/node_modules/foreground-child/package.json +83 -0
- package/dist/node_modules/fs-minipass/lib/index.js +443 -0
- package/dist/node_modules/fs-minipass/package.json +28 -13
- package/dist/node_modules/gauge/node_modules/ansi-regex/index.js +10 -0
- package/dist/node_modules/gauge/node_modules/ansi-regex/license +9 -0
- package/dist/node_modules/gauge/node_modules/ansi-regex/package.json +55 -0
- package/dist/node_modules/gauge/node_modules/signal-exit/LICENSE.txt +16 -0
- package/dist/node_modules/gauge/node_modules/signal-exit/package.json +38 -0
- package/dist/node_modules/gauge/node_modules/strip-ansi/index.js +4 -0
- package/dist/node_modules/gauge/node_modules/strip-ansi/license +9 -0
- package/dist/node_modules/gauge/node_modules/strip-ansi/package.json +54 -0
- package/dist/node_modules/jackspeak/dist/cjs/index.d.ts.map +1 -0
- package/dist/node_modules/jackspeak/dist/cjs/index.js +723 -0
- package/dist/node_modules/jackspeak/dist/cjs/index.js.map +1 -0
- package/dist/node_modules/jackspeak/dist/cjs/package.json +3 -0
- package/dist/node_modules/jackspeak/dist/cjs/parse-args-cjs.d.ts.map +1 -0
- package/dist/node_modules/jackspeak/dist/cjs/parse-args-cjs.js.map +1 -0
- package/dist/node_modules/jackspeak/dist/cjs/parse-args.js +42 -0
- package/dist/node_modules/jackspeak/dist/mjs/index.d.ts.map +1 -0
- package/dist/node_modules/jackspeak/dist/mjs/index.js +713 -0
- package/dist/node_modules/jackspeak/dist/mjs/index.js.map +1 -0
- package/dist/node_modules/jackspeak/dist/mjs/package.json +3 -0
- package/dist/node_modules/jackspeak/dist/mjs/parse-args-esm.d.ts.map +1 -0
- package/dist/node_modules/jackspeak/dist/mjs/parse-args-esm.js.map +1 -0
- package/dist/node_modules/jackspeak/dist/mjs/parse-args.js +19 -0
- package/dist/node_modules/jackspeak/package.json +98 -0
- package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +26 -1
- package/dist/node_modules/make-fetch-happen/lib/options.js +2 -0
- package/dist/node_modules/make-fetch-happen/lib/remote.js +1 -1
- package/dist/node_modules/make-fetch-happen/package.json +16 -17
- package/dist/node_modules/minipass/LICENSE +1 -1
- package/dist/node_modules/minipass/index.js +299 -246
- package/dist/node_modules/minipass/package.json +27 -7
- package/dist/node_modules/{tar → minipass-collect}/node_modules/minipass/LICENSE +1 -1
- package/dist/node_modules/minipass-collect/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/{tar → minipass-collect}/node_modules/minipass/package.json +7 -27
- package/dist/node_modules/minipass-fetch/lib/blob.js +1 -1
- package/dist/node_modules/minipass-fetch/lib/body.js +1 -1
- package/dist/node_modules/minipass-fetch/lib/index.js +15 -3
- package/dist/node_modules/minipass-fetch/lib/request.js +2 -1
- package/dist/node_modules/minipass-fetch/package.json +13 -11
- package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/minipass-sized/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minipass-sized/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minipass-sized/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/minizlib/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/minizlib/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/minizlib/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/node-gyp/.github/workflows/tests.yml +9 -6
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/eclipse.py +1 -1
- package/dist/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py +1 -1
- package/dist/node_modules/node-gyp/lib/find-visualstudio.js +13 -2
- package/dist/node_modules/node-gyp/lib/install.js +174 -92
- package/dist/node_modules/node-gyp/package.json +7 -6
- package/dist/node_modules/node-gyp/update-gyp.py +1 -1
- package/dist/node_modules/path-key/index.js +16 -0
- package/dist/node_modules/path-key/license +9 -0
- package/dist/node_modules/path-key/package.json +39 -0
- package/dist/node_modules/path-scurry/dist/cjs/index.d.ts.map +1 -0
- package/dist/node_modules/path-scurry/dist/cjs/index.js +1995 -0
- package/dist/node_modules/path-scurry/dist/cjs/index.js.map +1 -0
- package/dist/node_modules/path-scurry/dist/cjs/package.json +3 -0
- package/dist/node_modules/path-scurry/dist/mjs/index.d.ts.map +1 -0
- package/dist/node_modules/path-scurry/dist/mjs/index.js +1960 -0
- package/dist/node_modules/path-scurry/dist/mjs/index.js.map +1 -0
- package/dist/node_modules/path-scurry/dist/mjs/package.json +3 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/LICENSE +15 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.d.ts.map +1 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.js +1395 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.js.map +1 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.min.js +2 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/index.min.js.map +7 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/cjs/package.json +3 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.d.ts.map +1 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.js +1391 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.js.map +1 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.min.js +2 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/index.min.js.map +7 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/dist/mjs/package.json +3 -0
- package/dist/node_modules/path-scurry/node_modules/lru-cache/package.json +108 -0
- package/dist/node_modules/path-scurry/package.json +87 -0
- package/dist/node_modules/semver/classes/comparator.js +2 -1
- package/dist/node_modules/semver/classes/range.js +40 -27
- package/dist/node_modules/semver/classes/semver.js +5 -3
- package/dist/node_modules/semver/functions/coerce.js +1 -1
- package/dist/node_modules/semver/functions/diff.js +31 -20
- package/dist/node_modules/semver/internal/constants.js +5 -0
- package/dist/node_modules/semver/internal/re.js +30 -4
- package/dist/node_modules/semver/package.json +4 -4
- package/dist/node_modules/shebang-command/index.js +19 -0
- package/dist/node_modules/shebang-command/license +9 -0
- package/dist/node_modules/shebang-command/package.json +34 -0
- package/dist/node_modules/shebang-regex/index.js +2 -0
- package/dist/node_modules/shebang-regex/license +9 -0
- package/dist/node_modules/shebang-regex/package.json +35 -0
- package/dist/node_modules/signal-exit/LICENSE.txt +1 -1
- package/dist/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
- package/dist/node_modules/signal-exit/dist/cjs/browser.js +10 -0
- package/dist/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
- package/dist/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
- package/dist/node_modules/signal-exit/dist/cjs/index.js +272 -0
- package/dist/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
- package/dist/node_modules/signal-exit/dist/cjs/package.json +3 -0
- package/dist/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
- package/dist/node_modules/signal-exit/dist/cjs/signals.js +42 -0
- package/dist/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
- package/dist/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
- package/dist/node_modules/signal-exit/dist/mjs/browser.js +4 -0
- package/dist/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
- package/dist/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
- package/dist/node_modules/signal-exit/dist/mjs/index.js +268 -0
- package/dist/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
- package/dist/node_modules/signal-exit/dist/mjs/package.json +3 -0
- package/dist/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
- package/dist/node_modules/signal-exit/dist/mjs/signals.js +39 -0
- package/dist/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
- package/dist/node_modules/signal-exit/package.json +87 -19
- package/dist/node_modules/ssri/lib/index.js +157 -101
- package/dist/node_modules/ssri/package.json +12 -10
- package/dist/node_modules/string-width/node_modules/ansi-regex/index.js +10 -0
- package/dist/node_modules/string-width/node_modules/ansi-regex/license +9 -0
- package/dist/node_modules/string-width/node_modules/ansi-regex/package.json +55 -0
- package/dist/node_modules/string-width/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/dist/node_modules/string-width/node_modules/emoji-regex/es2015/index.js +6 -0
- package/dist/node_modules/string-width/node_modules/emoji-regex/es2015/text.js +6 -0
- package/dist/node_modules/string-width/node_modules/emoji-regex/index.js +6 -0
- package/dist/node_modules/string-width/node_modules/emoji-regex/package.json +50 -0
- package/dist/node_modules/string-width/node_modules/emoji-regex/text.js +6 -0
- package/dist/node_modules/string-width/node_modules/strip-ansi/index.js +4 -0
- package/dist/node_modules/string-width/node_modules/strip-ansi/license +9 -0
- package/dist/node_modules/string-width/node_modules/strip-ansi/package.json +54 -0
- package/dist/node_modules/string-width-cjs/index.js +47 -0
- package/dist/node_modules/string-width-cjs/license +9 -0
- package/dist/node_modules/string-width-cjs/node_modules/ansi-regex/index.js +10 -0
- package/dist/node_modules/string-width-cjs/node_modules/ansi-regex/license +9 -0
- package/dist/node_modules/string-width-cjs/node_modules/ansi-regex/package.json +55 -0
- package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/index.js +6 -0
- package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/es2015/text.js +6 -0
- package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/index.js +6 -0
- package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/package.json +50 -0
- package/dist/node_modules/string-width-cjs/node_modules/emoji-regex/text.js +6 -0
- package/dist/node_modules/string-width-cjs/node_modules/strip-ansi/index.js +4 -0
- package/dist/node_modules/string-width-cjs/node_modules/strip-ansi/license +9 -0
- package/dist/node_modules/string-width-cjs/node_modules/strip-ansi/package.json +54 -0
- package/dist/node_modules/string-width-cjs/package.json +56 -0
- package/dist/node_modules/strip-ansi/index.js +13 -3
- package/dist/node_modules/strip-ansi/license +1 -1
- package/dist/node_modules/strip-ansi/package.json +10 -7
- package/dist/node_modules/strip-ansi-cjs/index.js +4 -0
- package/dist/node_modules/strip-ansi-cjs/license +9 -0
- package/dist/node_modules/strip-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
- package/dist/node_modules/strip-ansi-cjs/node_modules/ansi-regex/license +9 -0
- package/dist/node_modules/strip-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
- package/dist/node_modules/strip-ansi-cjs/package.json +54 -0
- package/dist/node_modules/{infer-owner → tar/node_modules/fs-minipass}/LICENSE +1 -1
- package/dist/node_modules/tar/node_modules/fs-minipass/node_modules/minipass/LICENSE +15 -0
- package/dist/node_modules/tar/node_modules/fs-minipass/node_modules/minipass/index.js +649 -0
- package/dist/node_modules/tar/node_modules/fs-minipass/node_modules/minipass/package.json +56 -0
- package/dist/node_modules/tar/node_modules/fs-minipass/package.json +39 -0
- package/dist/node_modules/unique-filename/package.json +12 -9
- package/dist/node_modules/unique-slug/package.json +10 -7
- package/dist/node_modules/wrap-ansi/index.js +214 -0
- package/dist/node_modules/wrap-ansi/license +9 -0
- package/dist/node_modules/wrap-ansi/node_modules/string-width/index.js +54 -0
- package/dist/node_modules/wrap-ansi/node_modules/string-width/license +9 -0
- package/dist/node_modules/wrap-ansi/node_modules/string-width/package.json +59 -0
- package/dist/node_modules/wrap-ansi/package.json +69 -0
- package/dist/node_modules/wrap-ansi-cjs/index.js +216 -0
- package/dist/node_modules/wrap-ansi-cjs/license +9 -0
- package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/index.js +10 -0
- package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/license +9 -0
- package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-regex/package.json +55 -0
- package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/index.js +163 -0
- package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/license +9 -0
- package/dist/node_modules/wrap-ansi-cjs/node_modules/ansi-styles/package.json +56 -0
- package/dist/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/index.js +4 -0
- package/dist/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/license +9 -0
- package/dist/node_modules/wrap-ansi-cjs/node_modules/strip-ansi/package.json +54 -0
- package/dist/node_modules/wrap-ansi-cjs/package.json +62 -0
- package/dist/pnpm.cjs +30877 -17543
- package/package.json +3 -3
- package/dist/node_modules/@gar/promisify/index.js +0 -36
- package/dist/node_modules/@gar/promisify/package.json +0 -32
- package/dist/node_modules/@npmcli/fs/lib/common/owner-sync.js +0 -96
- package/dist/node_modules/@npmcli/fs/lib/common/owner.js +0 -96
- package/dist/node_modules/@npmcli/fs/lib/copy-file.js +0 -16
- package/dist/node_modules/@npmcli/fs/lib/fs.js +0 -14
- package/dist/node_modules/@npmcli/fs/lib/mkdir.js +0 -19
- package/dist/node_modules/@npmcli/fs/lib/mkdtemp.js +0 -23
- package/dist/node_modules/@npmcli/fs/lib/rm/index.js +0 -22
- package/dist/node_modules/@npmcli/fs/lib/rm/polyfill.js +0 -239
- package/dist/node_modules/@npmcli/fs/lib/with-owner-sync.js +0 -21
- package/dist/node_modules/@npmcli/fs/lib/with-owner.js +0 -21
- package/dist/node_modules/@npmcli/fs/lib/write-file.js +0 -14
- package/dist/node_modules/@npmcli/move-file/lib/index.js +0 -185
- package/dist/node_modules/@npmcli/move-file/package.json +0 -47
- package/dist/node_modules/cacache/lib/util/fix-owner.js +0 -145
- package/dist/node_modules/cacache/lib/util/move-file.js +0 -56
- package/dist/node_modules/cacache/node_modules/glob/common.js +0 -244
- package/dist/node_modules/cacache/node_modules/glob/glob.js +0 -790
- package/dist/node_modules/cacache/node_modules/glob/sync.js +0 -486
- package/dist/node_modules/cacache/node_modules/minimatch/lib/path.js +0 -4
- package/dist/node_modules/cacache/node_modules/minimatch/minimatch.js +0 -944
- package/dist/node_modules/infer-owner/index.js +0 -71
- package/dist/node_modules/infer-owner/package.json +0 -26
- package/dist/node_modules/promise-inflight/inflight.js +0 -36
- package/dist/node_modules/promise-inflight/package.json +0 -24
- package/dist/node_modules/tar/node_modules/minipass/index.js +0 -702
- /package/dist/node_modules/@npmcli/fs/lib/{errors.js → cp/errors.js} +0 -0
- /package/dist/node_modules/{signal-exit → gauge/node_modules/signal-exit}/index.js +0 -0
- /package/dist/node_modules/{signal-exit → gauge/node_modules/signal-exit}/signals.js +0 -0
- /package/dist/node_modules/{tar/node_modules/minipass → minipass}/index.mjs +0 -0
- /package/dist/node_modules/{fs-minipass → tar/node_modules/fs-minipass}/index.js +0 -0
|
@@ -0,0 +1,317 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const align = {
|
|
4
|
+
right: alignRight,
|
|
5
|
+
center: alignCenter
|
|
6
|
+
};
|
|
7
|
+
const top = 0;
|
|
8
|
+
const right = 1;
|
|
9
|
+
const bottom = 2;
|
|
10
|
+
const left = 3;
|
|
11
|
+
class UI {
|
|
12
|
+
constructor(opts) {
|
|
13
|
+
var _a;
|
|
14
|
+
this.width = opts.width;
|
|
15
|
+
/* c8 ignore start */
|
|
16
|
+
this.wrap = (_a = opts.wrap) !== null && _a !== void 0 ? _a : true;
|
|
17
|
+
/* c8 ignore stop */
|
|
18
|
+
this.rows = [];
|
|
19
|
+
}
|
|
20
|
+
span(...args) {
|
|
21
|
+
const cols = this.div(...args);
|
|
22
|
+
cols.span = true;
|
|
23
|
+
}
|
|
24
|
+
resetOutput() {
|
|
25
|
+
this.rows = [];
|
|
26
|
+
}
|
|
27
|
+
div(...args) {
|
|
28
|
+
if (args.length === 0) {
|
|
29
|
+
this.div('');
|
|
30
|
+
}
|
|
31
|
+
if (this.wrap && this.shouldApplyLayoutDSL(...args) && typeof args[0] === 'string') {
|
|
32
|
+
return this.applyLayoutDSL(args[0]);
|
|
33
|
+
}
|
|
34
|
+
const cols = args.map(arg => {
|
|
35
|
+
if (typeof arg === 'string') {
|
|
36
|
+
return this.colFromString(arg);
|
|
37
|
+
}
|
|
38
|
+
return arg;
|
|
39
|
+
});
|
|
40
|
+
this.rows.push(cols);
|
|
41
|
+
return cols;
|
|
42
|
+
}
|
|
43
|
+
shouldApplyLayoutDSL(...args) {
|
|
44
|
+
return args.length === 1 && typeof args[0] === 'string' &&
|
|
45
|
+
/[\t\n]/.test(args[0]);
|
|
46
|
+
}
|
|
47
|
+
applyLayoutDSL(str) {
|
|
48
|
+
const rows = str.split('\n').map(row => row.split('\t'));
|
|
49
|
+
let leftColumnWidth = 0;
|
|
50
|
+
// simple heuristic for layout, make sure the
|
|
51
|
+
// second column lines up along the left-hand.
|
|
52
|
+
// don't allow the first column to take up more
|
|
53
|
+
// than 50% of the screen.
|
|
54
|
+
rows.forEach(columns => {
|
|
55
|
+
if (columns.length > 1 && mixin.stringWidth(columns[0]) > leftColumnWidth) {
|
|
56
|
+
leftColumnWidth = Math.min(Math.floor(this.width * 0.5), mixin.stringWidth(columns[0]));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
// generate a table:
|
|
60
|
+
// replacing ' ' with padding calculations.
|
|
61
|
+
// using the algorithmically generated width.
|
|
62
|
+
rows.forEach(columns => {
|
|
63
|
+
this.div(...columns.map((r, i) => {
|
|
64
|
+
return {
|
|
65
|
+
text: r.trim(),
|
|
66
|
+
padding: this.measurePadding(r),
|
|
67
|
+
width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined
|
|
68
|
+
};
|
|
69
|
+
}));
|
|
70
|
+
});
|
|
71
|
+
return this.rows[this.rows.length - 1];
|
|
72
|
+
}
|
|
73
|
+
colFromString(text) {
|
|
74
|
+
return {
|
|
75
|
+
text,
|
|
76
|
+
padding: this.measurePadding(text)
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
measurePadding(str) {
|
|
80
|
+
// measure padding without ansi escape codes
|
|
81
|
+
const noAnsi = mixin.stripAnsi(str);
|
|
82
|
+
return [0, noAnsi.match(/\s*$/)[0].length, 0, noAnsi.match(/^\s*/)[0].length];
|
|
83
|
+
}
|
|
84
|
+
toString() {
|
|
85
|
+
const lines = [];
|
|
86
|
+
this.rows.forEach(row => {
|
|
87
|
+
this.rowToString(row, lines);
|
|
88
|
+
});
|
|
89
|
+
// don't display any lines with the
|
|
90
|
+
// hidden flag set.
|
|
91
|
+
return lines
|
|
92
|
+
.filter(line => !line.hidden)
|
|
93
|
+
.map(line => line.text)
|
|
94
|
+
.join('\n');
|
|
95
|
+
}
|
|
96
|
+
rowToString(row, lines) {
|
|
97
|
+
this.rasterize(row).forEach((rrow, r) => {
|
|
98
|
+
let str = '';
|
|
99
|
+
rrow.forEach((col, c) => {
|
|
100
|
+
const { width } = row[c]; // the width with padding.
|
|
101
|
+
const wrapWidth = this.negatePadding(row[c]); // the width without padding.
|
|
102
|
+
let ts = col; // temporary string used during alignment/padding.
|
|
103
|
+
if (wrapWidth > mixin.stringWidth(col)) {
|
|
104
|
+
ts += ' '.repeat(wrapWidth - mixin.stringWidth(col));
|
|
105
|
+
}
|
|
106
|
+
// align the string within its column.
|
|
107
|
+
if (row[c].align && row[c].align !== 'left' && this.wrap) {
|
|
108
|
+
const fn = align[row[c].align];
|
|
109
|
+
ts = fn(ts, wrapWidth);
|
|
110
|
+
if (mixin.stringWidth(ts) < wrapWidth) {
|
|
111
|
+
/* c8 ignore start */
|
|
112
|
+
const w = width || 0;
|
|
113
|
+
/* c8 ignore stop */
|
|
114
|
+
ts += ' '.repeat(w - mixin.stringWidth(ts) - 1);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// apply border and padding to string.
|
|
118
|
+
const padding = row[c].padding || [0, 0, 0, 0];
|
|
119
|
+
if (padding[left]) {
|
|
120
|
+
str += ' '.repeat(padding[left]);
|
|
121
|
+
}
|
|
122
|
+
str += addBorder(row[c], ts, '| ');
|
|
123
|
+
str += ts;
|
|
124
|
+
str += addBorder(row[c], ts, ' |');
|
|
125
|
+
if (padding[right]) {
|
|
126
|
+
str += ' '.repeat(padding[right]);
|
|
127
|
+
}
|
|
128
|
+
// if prior row is span, try to render the
|
|
129
|
+
// current row on the prior line.
|
|
130
|
+
if (r === 0 && lines.length > 0) {
|
|
131
|
+
str = this.renderInline(str, lines[lines.length - 1]);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
// remove trailing whitespace.
|
|
135
|
+
lines.push({
|
|
136
|
+
text: str.replace(/ +$/, ''),
|
|
137
|
+
span: row.span
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
return lines;
|
|
141
|
+
}
|
|
142
|
+
// if the full 'source' can render in
|
|
143
|
+
// the target line, do so.
|
|
144
|
+
renderInline(source, previousLine) {
|
|
145
|
+
const match = source.match(/^ */);
|
|
146
|
+
/* c8 ignore start */
|
|
147
|
+
const leadingWhitespace = match ? match[0].length : 0;
|
|
148
|
+
/* c8 ignore stop */
|
|
149
|
+
const target = previousLine.text;
|
|
150
|
+
const targetTextWidth = mixin.stringWidth(target.trimEnd());
|
|
151
|
+
if (!previousLine.span) {
|
|
152
|
+
return source;
|
|
153
|
+
}
|
|
154
|
+
// if we're not applying wrapping logic,
|
|
155
|
+
// just always append to the span.
|
|
156
|
+
if (!this.wrap) {
|
|
157
|
+
previousLine.hidden = true;
|
|
158
|
+
return target + source;
|
|
159
|
+
}
|
|
160
|
+
if (leadingWhitespace < targetTextWidth) {
|
|
161
|
+
return source;
|
|
162
|
+
}
|
|
163
|
+
previousLine.hidden = true;
|
|
164
|
+
return target.trimEnd() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimStart();
|
|
165
|
+
}
|
|
166
|
+
rasterize(row) {
|
|
167
|
+
const rrows = [];
|
|
168
|
+
const widths = this.columnWidths(row);
|
|
169
|
+
let wrapped;
|
|
170
|
+
// word wrap all columns, and create
|
|
171
|
+
// a data-structure that is easy to rasterize.
|
|
172
|
+
row.forEach((col, c) => {
|
|
173
|
+
// leave room for left and right padding.
|
|
174
|
+
col.width = widths[c];
|
|
175
|
+
if (this.wrap) {
|
|
176
|
+
wrapped = mixin.wrap(col.text, this.negatePadding(col), { hard: true }).split('\n');
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
wrapped = col.text.split('\n');
|
|
180
|
+
}
|
|
181
|
+
if (col.border) {
|
|
182
|
+
wrapped.unshift('.' + '-'.repeat(this.negatePadding(col) + 2) + '.');
|
|
183
|
+
wrapped.push("'" + '-'.repeat(this.negatePadding(col) + 2) + "'");
|
|
184
|
+
}
|
|
185
|
+
// add top and bottom padding.
|
|
186
|
+
if (col.padding) {
|
|
187
|
+
wrapped.unshift(...new Array(col.padding[top] || 0).fill(''));
|
|
188
|
+
wrapped.push(...new Array(col.padding[bottom] || 0).fill(''));
|
|
189
|
+
}
|
|
190
|
+
wrapped.forEach((str, r) => {
|
|
191
|
+
if (!rrows[r]) {
|
|
192
|
+
rrows.push([]);
|
|
193
|
+
}
|
|
194
|
+
const rrow = rrows[r];
|
|
195
|
+
for (let i = 0; i < c; i++) {
|
|
196
|
+
if (rrow[i] === undefined) {
|
|
197
|
+
rrow.push('');
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
rrow.push(str);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
return rrows;
|
|
204
|
+
}
|
|
205
|
+
negatePadding(col) {
|
|
206
|
+
/* c8 ignore start */
|
|
207
|
+
let wrapWidth = col.width || 0;
|
|
208
|
+
/* c8 ignore stop */
|
|
209
|
+
if (col.padding) {
|
|
210
|
+
wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);
|
|
211
|
+
}
|
|
212
|
+
if (col.border) {
|
|
213
|
+
wrapWidth -= 4;
|
|
214
|
+
}
|
|
215
|
+
return wrapWidth;
|
|
216
|
+
}
|
|
217
|
+
columnWidths(row) {
|
|
218
|
+
if (!this.wrap) {
|
|
219
|
+
return row.map(col => {
|
|
220
|
+
return col.width || mixin.stringWidth(col.text);
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
let unset = row.length;
|
|
224
|
+
let remainingWidth = this.width;
|
|
225
|
+
// column widths can be set in config.
|
|
226
|
+
const widths = row.map(col => {
|
|
227
|
+
if (col.width) {
|
|
228
|
+
unset--;
|
|
229
|
+
remainingWidth -= col.width;
|
|
230
|
+
return col.width;
|
|
231
|
+
}
|
|
232
|
+
return undefined;
|
|
233
|
+
});
|
|
234
|
+
// any unset widths should be calculated.
|
|
235
|
+
/* c8 ignore start */
|
|
236
|
+
const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;
|
|
237
|
+
/* c8 ignore stop */
|
|
238
|
+
return widths.map((w, i) => {
|
|
239
|
+
if (w === undefined) {
|
|
240
|
+
return Math.max(unsetWidth, _minWidth(row[i]));
|
|
241
|
+
}
|
|
242
|
+
return w;
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
function addBorder(col, ts, style) {
|
|
247
|
+
if (col.border) {
|
|
248
|
+
if (/[.']-+[.']/.test(ts)) {
|
|
249
|
+
return '';
|
|
250
|
+
}
|
|
251
|
+
if (ts.trim().length !== 0) {
|
|
252
|
+
return style;
|
|
253
|
+
}
|
|
254
|
+
return ' ';
|
|
255
|
+
}
|
|
256
|
+
return '';
|
|
257
|
+
}
|
|
258
|
+
// calculates the minimum width of
|
|
259
|
+
// a column, based on padding preferences.
|
|
260
|
+
function _minWidth(col) {
|
|
261
|
+
const padding = col.padding || [];
|
|
262
|
+
const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);
|
|
263
|
+
if (col.border) {
|
|
264
|
+
return minWidth + 4;
|
|
265
|
+
}
|
|
266
|
+
return minWidth;
|
|
267
|
+
}
|
|
268
|
+
function getWindowWidth() {
|
|
269
|
+
/* c8 ignore start */
|
|
270
|
+
if (typeof process === 'object' && process.stdout && process.stdout.columns) {
|
|
271
|
+
return process.stdout.columns;
|
|
272
|
+
}
|
|
273
|
+
return 80;
|
|
274
|
+
}
|
|
275
|
+
/* c8 ignore stop */
|
|
276
|
+
function alignRight(str, width) {
|
|
277
|
+
str = str.trim();
|
|
278
|
+
const strWidth = mixin.stringWidth(str);
|
|
279
|
+
if (strWidth < width) {
|
|
280
|
+
return ' '.repeat(width - strWidth) + str;
|
|
281
|
+
}
|
|
282
|
+
return str;
|
|
283
|
+
}
|
|
284
|
+
function alignCenter(str, width) {
|
|
285
|
+
str = str.trim();
|
|
286
|
+
const strWidth = mixin.stringWidth(str);
|
|
287
|
+
/* c8 ignore start */
|
|
288
|
+
if (strWidth >= width) {
|
|
289
|
+
return str;
|
|
290
|
+
}
|
|
291
|
+
/* c8 ignore stop */
|
|
292
|
+
return ' '.repeat((width - strWidth) >> 1) + str;
|
|
293
|
+
}
|
|
294
|
+
let mixin;
|
|
295
|
+
function cliui(opts, _mixin) {
|
|
296
|
+
mixin = _mixin;
|
|
297
|
+
return new UI({
|
|
298
|
+
/* c8 ignore start */
|
|
299
|
+
width: (opts === null || opts === void 0 ? void 0 : opts.width) || getWindowWidth(),
|
|
300
|
+
wrap: opts === null || opts === void 0 ? void 0 : opts.wrap
|
|
301
|
+
/* c8 ignore stop */
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// Bootstrap cliui with CommonJS dependencies:
|
|
306
|
+
const stringWidth = require('string-width-cjs');
|
|
307
|
+
const stripAnsi = require('strip-ansi-cjs');
|
|
308
|
+
const wrap = require('wrap-ansi-cjs');
|
|
309
|
+
function ui(opts) {
|
|
310
|
+
return cliui(opts, {
|
|
311
|
+
stringWidth,
|
|
312
|
+
stripAnsi,
|
|
313
|
+
wrap
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
module.exports = ui;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
interface UIOptions {
|
|
2
|
+
width: number;
|
|
3
|
+
wrap?: boolean;
|
|
4
|
+
rows?: string[];
|
|
5
|
+
}
|
|
6
|
+
interface Column {
|
|
7
|
+
text: string;
|
|
8
|
+
width?: number;
|
|
9
|
+
align?: "right" | "left" | "center";
|
|
10
|
+
padding: number[];
|
|
11
|
+
border?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface ColumnArray extends Array<Column> {
|
|
14
|
+
span: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface Line {
|
|
17
|
+
hidden?: boolean;
|
|
18
|
+
text: string;
|
|
19
|
+
span?: boolean;
|
|
20
|
+
}
|
|
21
|
+
declare class UI {
|
|
22
|
+
width: number;
|
|
23
|
+
wrap: boolean;
|
|
24
|
+
rows: ColumnArray[];
|
|
25
|
+
constructor(opts: UIOptions);
|
|
26
|
+
span(...args: ColumnArray): void;
|
|
27
|
+
resetOutput(): void;
|
|
28
|
+
div(...args: (Column | string)[]): ColumnArray;
|
|
29
|
+
private shouldApplyLayoutDSL;
|
|
30
|
+
private applyLayoutDSL;
|
|
31
|
+
private colFromString;
|
|
32
|
+
private measurePadding;
|
|
33
|
+
toString(): string;
|
|
34
|
+
rowToString(row: ColumnArray, lines: Line[]): Line[];
|
|
35
|
+
// if the full 'source' can render in
|
|
36
|
+
// the target line, do so.
|
|
37
|
+
private renderInline;
|
|
38
|
+
private rasterize;
|
|
39
|
+
private negatePadding;
|
|
40
|
+
private columnWidths;
|
|
41
|
+
}
|
|
42
|
+
declare function ui(opts: UIOptions): UI;
|
|
43
|
+
export { ui as default };
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
const align = {
|
|
3
|
+
right: alignRight,
|
|
4
|
+
center: alignCenter
|
|
5
|
+
};
|
|
6
|
+
const top = 0;
|
|
7
|
+
const right = 1;
|
|
8
|
+
const bottom = 2;
|
|
9
|
+
const left = 3;
|
|
10
|
+
export class UI {
|
|
11
|
+
constructor(opts) {
|
|
12
|
+
var _a;
|
|
13
|
+
this.width = opts.width;
|
|
14
|
+
/* c8 ignore start */
|
|
15
|
+
this.wrap = (_a = opts.wrap) !== null && _a !== void 0 ? _a : true;
|
|
16
|
+
/* c8 ignore stop */
|
|
17
|
+
this.rows = [];
|
|
18
|
+
}
|
|
19
|
+
span(...args) {
|
|
20
|
+
const cols = this.div(...args);
|
|
21
|
+
cols.span = true;
|
|
22
|
+
}
|
|
23
|
+
resetOutput() {
|
|
24
|
+
this.rows = [];
|
|
25
|
+
}
|
|
26
|
+
div(...args) {
|
|
27
|
+
if (args.length === 0) {
|
|
28
|
+
this.div('');
|
|
29
|
+
}
|
|
30
|
+
if (this.wrap && this.shouldApplyLayoutDSL(...args) && typeof args[0] === 'string') {
|
|
31
|
+
return this.applyLayoutDSL(args[0]);
|
|
32
|
+
}
|
|
33
|
+
const cols = args.map(arg => {
|
|
34
|
+
if (typeof arg === 'string') {
|
|
35
|
+
return this.colFromString(arg);
|
|
36
|
+
}
|
|
37
|
+
return arg;
|
|
38
|
+
});
|
|
39
|
+
this.rows.push(cols);
|
|
40
|
+
return cols;
|
|
41
|
+
}
|
|
42
|
+
shouldApplyLayoutDSL(...args) {
|
|
43
|
+
return args.length === 1 && typeof args[0] === 'string' &&
|
|
44
|
+
/[\t\n]/.test(args[0]);
|
|
45
|
+
}
|
|
46
|
+
applyLayoutDSL(str) {
|
|
47
|
+
const rows = str.split('\n').map(row => row.split('\t'));
|
|
48
|
+
let leftColumnWidth = 0;
|
|
49
|
+
// simple heuristic for layout, make sure the
|
|
50
|
+
// second column lines up along the left-hand.
|
|
51
|
+
// don't allow the first column to take up more
|
|
52
|
+
// than 50% of the screen.
|
|
53
|
+
rows.forEach(columns => {
|
|
54
|
+
if (columns.length > 1 && mixin.stringWidth(columns[0]) > leftColumnWidth) {
|
|
55
|
+
leftColumnWidth = Math.min(Math.floor(this.width * 0.5), mixin.stringWidth(columns[0]));
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
// generate a table:
|
|
59
|
+
// replacing ' ' with padding calculations.
|
|
60
|
+
// using the algorithmically generated width.
|
|
61
|
+
rows.forEach(columns => {
|
|
62
|
+
this.div(...columns.map((r, i) => {
|
|
63
|
+
return {
|
|
64
|
+
text: r.trim(),
|
|
65
|
+
padding: this.measurePadding(r),
|
|
66
|
+
width: (i === 0 && columns.length > 1) ? leftColumnWidth : undefined
|
|
67
|
+
};
|
|
68
|
+
}));
|
|
69
|
+
});
|
|
70
|
+
return this.rows[this.rows.length - 1];
|
|
71
|
+
}
|
|
72
|
+
colFromString(text) {
|
|
73
|
+
return {
|
|
74
|
+
text,
|
|
75
|
+
padding: this.measurePadding(text)
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
measurePadding(str) {
|
|
79
|
+
// measure padding without ansi escape codes
|
|
80
|
+
const noAnsi = mixin.stripAnsi(str);
|
|
81
|
+
return [0, noAnsi.match(/\s*$/)[0].length, 0, noAnsi.match(/^\s*/)[0].length];
|
|
82
|
+
}
|
|
83
|
+
toString() {
|
|
84
|
+
const lines = [];
|
|
85
|
+
this.rows.forEach(row => {
|
|
86
|
+
this.rowToString(row, lines);
|
|
87
|
+
});
|
|
88
|
+
// don't display any lines with the
|
|
89
|
+
// hidden flag set.
|
|
90
|
+
return lines
|
|
91
|
+
.filter(line => !line.hidden)
|
|
92
|
+
.map(line => line.text)
|
|
93
|
+
.join('\n');
|
|
94
|
+
}
|
|
95
|
+
rowToString(row, lines) {
|
|
96
|
+
this.rasterize(row).forEach((rrow, r) => {
|
|
97
|
+
let str = '';
|
|
98
|
+
rrow.forEach((col, c) => {
|
|
99
|
+
const { width } = row[c]; // the width with padding.
|
|
100
|
+
const wrapWidth = this.negatePadding(row[c]); // the width without padding.
|
|
101
|
+
let ts = col; // temporary string used during alignment/padding.
|
|
102
|
+
if (wrapWidth > mixin.stringWidth(col)) {
|
|
103
|
+
ts += ' '.repeat(wrapWidth - mixin.stringWidth(col));
|
|
104
|
+
}
|
|
105
|
+
// align the string within its column.
|
|
106
|
+
if (row[c].align && row[c].align !== 'left' && this.wrap) {
|
|
107
|
+
const fn = align[row[c].align];
|
|
108
|
+
ts = fn(ts, wrapWidth);
|
|
109
|
+
if (mixin.stringWidth(ts) < wrapWidth) {
|
|
110
|
+
/* c8 ignore start */
|
|
111
|
+
const w = width || 0;
|
|
112
|
+
/* c8 ignore stop */
|
|
113
|
+
ts += ' '.repeat(w - mixin.stringWidth(ts) - 1);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// apply border and padding to string.
|
|
117
|
+
const padding = row[c].padding || [0, 0, 0, 0];
|
|
118
|
+
if (padding[left]) {
|
|
119
|
+
str += ' '.repeat(padding[left]);
|
|
120
|
+
}
|
|
121
|
+
str += addBorder(row[c], ts, '| ');
|
|
122
|
+
str += ts;
|
|
123
|
+
str += addBorder(row[c], ts, ' |');
|
|
124
|
+
if (padding[right]) {
|
|
125
|
+
str += ' '.repeat(padding[right]);
|
|
126
|
+
}
|
|
127
|
+
// if prior row is span, try to render the
|
|
128
|
+
// current row on the prior line.
|
|
129
|
+
if (r === 0 && lines.length > 0) {
|
|
130
|
+
str = this.renderInline(str, lines[lines.length - 1]);
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
// remove trailing whitespace.
|
|
134
|
+
lines.push({
|
|
135
|
+
text: str.replace(/ +$/, ''),
|
|
136
|
+
span: row.span
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
return lines;
|
|
140
|
+
}
|
|
141
|
+
// if the full 'source' can render in
|
|
142
|
+
// the target line, do so.
|
|
143
|
+
renderInline(source, previousLine) {
|
|
144
|
+
const match = source.match(/^ */);
|
|
145
|
+
/* c8 ignore start */
|
|
146
|
+
const leadingWhitespace = match ? match[0].length : 0;
|
|
147
|
+
/* c8 ignore stop */
|
|
148
|
+
const target = previousLine.text;
|
|
149
|
+
const targetTextWidth = mixin.stringWidth(target.trimEnd());
|
|
150
|
+
if (!previousLine.span) {
|
|
151
|
+
return source;
|
|
152
|
+
}
|
|
153
|
+
// if we're not applying wrapping logic,
|
|
154
|
+
// just always append to the span.
|
|
155
|
+
if (!this.wrap) {
|
|
156
|
+
previousLine.hidden = true;
|
|
157
|
+
return target + source;
|
|
158
|
+
}
|
|
159
|
+
if (leadingWhitespace < targetTextWidth) {
|
|
160
|
+
return source;
|
|
161
|
+
}
|
|
162
|
+
previousLine.hidden = true;
|
|
163
|
+
return target.trimEnd() + ' '.repeat(leadingWhitespace - targetTextWidth) + source.trimStart();
|
|
164
|
+
}
|
|
165
|
+
rasterize(row) {
|
|
166
|
+
const rrows = [];
|
|
167
|
+
const widths = this.columnWidths(row);
|
|
168
|
+
let wrapped;
|
|
169
|
+
// word wrap all columns, and create
|
|
170
|
+
// a data-structure that is easy to rasterize.
|
|
171
|
+
row.forEach((col, c) => {
|
|
172
|
+
// leave room for left and right padding.
|
|
173
|
+
col.width = widths[c];
|
|
174
|
+
if (this.wrap) {
|
|
175
|
+
wrapped = mixin.wrap(col.text, this.negatePadding(col), { hard: true }).split('\n');
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
wrapped = col.text.split('\n');
|
|
179
|
+
}
|
|
180
|
+
if (col.border) {
|
|
181
|
+
wrapped.unshift('.' + '-'.repeat(this.negatePadding(col) + 2) + '.');
|
|
182
|
+
wrapped.push("'" + '-'.repeat(this.negatePadding(col) + 2) + "'");
|
|
183
|
+
}
|
|
184
|
+
// add top and bottom padding.
|
|
185
|
+
if (col.padding) {
|
|
186
|
+
wrapped.unshift(...new Array(col.padding[top] || 0).fill(''));
|
|
187
|
+
wrapped.push(...new Array(col.padding[bottom] || 0).fill(''));
|
|
188
|
+
}
|
|
189
|
+
wrapped.forEach((str, r) => {
|
|
190
|
+
if (!rrows[r]) {
|
|
191
|
+
rrows.push([]);
|
|
192
|
+
}
|
|
193
|
+
const rrow = rrows[r];
|
|
194
|
+
for (let i = 0; i < c; i++) {
|
|
195
|
+
if (rrow[i] === undefined) {
|
|
196
|
+
rrow.push('');
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
rrow.push(str);
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
return rrows;
|
|
203
|
+
}
|
|
204
|
+
negatePadding(col) {
|
|
205
|
+
/* c8 ignore start */
|
|
206
|
+
let wrapWidth = col.width || 0;
|
|
207
|
+
/* c8 ignore stop */
|
|
208
|
+
if (col.padding) {
|
|
209
|
+
wrapWidth -= (col.padding[left] || 0) + (col.padding[right] || 0);
|
|
210
|
+
}
|
|
211
|
+
if (col.border) {
|
|
212
|
+
wrapWidth -= 4;
|
|
213
|
+
}
|
|
214
|
+
return wrapWidth;
|
|
215
|
+
}
|
|
216
|
+
columnWidths(row) {
|
|
217
|
+
if (!this.wrap) {
|
|
218
|
+
return row.map(col => {
|
|
219
|
+
return col.width || mixin.stringWidth(col.text);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
let unset = row.length;
|
|
223
|
+
let remainingWidth = this.width;
|
|
224
|
+
// column widths can be set in config.
|
|
225
|
+
const widths = row.map(col => {
|
|
226
|
+
if (col.width) {
|
|
227
|
+
unset--;
|
|
228
|
+
remainingWidth -= col.width;
|
|
229
|
+
return col.width;
|
|
230
|
+
}
|
|
231
|
+
return undefined;
|
|
232
|
+
});
|
|
233
|
+
// any unset widths should be calculated.
|
|
234
|
+
/* c8 ignore start */
|
|
235
|
+
const unsetWidth = unset ? Math.floor(remainingWidth / unset) : 0;
|
|
236
|
+
/* c8 ignore stop */
|
|
237
|
+
return widths.map((w, i) => {
|
|
238
|
+
if (w === undefined) {
|
|
239
|
+
return Math.max(unsetWidth, _minWidth(row[i]));
|
|
240
|
+
}
|
|
241
|
+
return w;
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
function addBorder(col, ts, style) {
|
|
246
|
+
if (col.border) {
|
|
247
|
+
if (/[.']-+[.']/.test(ts)) {
|
|
248
|
+
return '';
|
|
249
|
+
}
|
|
250
|
+
if (ts.trim().length !== 0) {
|
|
251
|
+
return style;
|
|
252
|
+
}
|
|
253
|
+
return ' ';
|
|
254
|
+
}
|
|
255
|
+
return '';
|
|
256
|
+
}
|
|
257
|
+
// calculates the minimum width of
|
|
258
|
+
// a column, based on padding preferences.
|
|
259
|
+
function _minWidth(col) {
|
|
260
|
+
const padding = col.padding || [];
|
|
261
|
+
const minWidth = 1 + (padding[left] || 0) + (padding[right] || 0);
|
|
262
|
+
if (col.border) {
|
|
263
|
+
return minWidth + 4;
|
|
264
|
+
}
|
|
265
|
+
return minWidth;
|
|
266
|
+
}
|
|
267
|
+
function getWindowWidth() {
|
|
268
|
+
/* c8 ignore start */
|
|
269
|
+
if (typeof process === 'object' && process.stdout && process.stdout.columns) {
|
|
270
|
+
return process.stdout.columns;
|
|
271
|
+
}
|
|
272
|
+
return 80;
|
|
273
|
+
}
|
|
274
|
+
/* c8 ignore stop */
|
|
275
|
+
function alignRight(str, width) {
|
|
276
|
+
str = str.trim();
|
|
277
|
+
const strWidth = mixin.stringWidth(str);
|
|
278
|
+
if (strWidth < width) {
|
|
279
|
+
return ' '.repeat(width - strWidth) + str;
|
|
280
|
+
}
|
|
281
|
+
return str;
|
|
282
|
+
}
|
|
283
|
+
function alignCenter(str, width) {
|
|
284
|
+
str = str.trim();
|
|
285
|
+
const strWidth = mixin.stringWidth(str);
|
|
286
|
+
/* c8 ignore start */
|
|
287
|
+
if (strWidth >= width) {
|
|
288
|
+
return str;
|
|
289
|
+
}
|
|
290
|
+
/* c8 ignore stop */
|
|
291
|
+
return ' '.repeat((width - strWidth) >> 1) + str;
|
|
292
|
+
}
|
|
293
|
+
let mixin;
|
|
294
|
+
export function cliui(opts, _mixin) {
|
|
295
|
+
mixin = _mixin;
|
|
296
|
+
return new UI({
|
|
297
|
+
/* c8 ignore start */
|
|
298
|
+
width: (opts === null || opts === void 0 ? void 0 : opts.width) || getWindowWidth(),
|
|
299
|
+
wrap: opts === null || opts === void 0 ? void 0 : opts.wrap
|
|
300
|
+
/* c8 ignore stop */
|
|
301
|
+
});
|
|
302
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Bootstrap cliui with ESM dependencies:
|
|
2
|
+
import { cliui } from './build/lib/index.js'
|
|
3
|
+
|
|
4
|
+
import stringWidth from 'string-width'
|
|
5
|
+
import stripAnsi from 'strip-ansi'
|
|
6
|
+
import wrap from 'wrap-ansi'
|
|
7
|
+
|
|
8
|
+
export default function ui (opts) {
|
|
9
|
+
return cliui(opts, {
|
|
10
|
+
stringWidth,
|
|
11
|
+
stripAnsi,
|
|
12
|
+
wrap
|
|
13
|
+
})
|
|
14
|
+
}
|