avo-cli 0.0.3 → 4.2.0.beta.2
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.
- checksums.yaml +4 -4
- data/README.md +612 -0
- data/avo-cli.gemspec +22 -23
- data/exe/avo +6 -0
- data/lib/avo/cli/runner.rb +86 -0
- data/lib/avo/cli/version.rb +7 -0
- data/lib/avo-cli.rb +5 -0
- data/payload/README.md +612 -0
- data/payload/bin/run.cmd +3 -0
- data/payload/bin/run.js +5 -0
- data/payload/dist/base-command.js +60 -0
- data/payload/dist/client.js +78 -0
- data/payload/dist/commands/create.js +26 -0
- data/payload/dist/commands/delete.js +22 -0
- data/payload/dist/commands/get.js +19 -0
- data/payload/dist/commands/list.js +47 -0
- data/payload/dist/commands/login.js +93 -0
- data/payload/dist/commands/logout.js +13 -0
- data/payload/dist/commands/schema.js +58 -0
- data/payload/dist/commands/update.js +27 -0
- data/payload/dist/config.js +59 -0
- data/payload/dist/data.js +33 -0
- data/payload/dist/errors.js +93 -0
- data/payload/dist/hooks/command-not-found.js +22 -0
- data/payload/dist/index.js +1 -0
- data/payload/dist/list.js +7 -0
- data/payload/dist/payload.js +35 -0
- data/payload/dist/record-command.js +51 -0
- data/payload/dist/schema.js +29 -0
- data/payload/dist/store.js +91 -0
- data/payload/dist/suggest.js +29 -0
- data/payload/dist/table.js +40 -0
- data/payload/dist/write-command.js +26 -0
- data/payload/node_modules/@inquirer/ansi/LICENSE +22 -0
- data/payload/node_modules/@inquirer/ansi/README.md +89 -0
- data/payload/node_modules/@inquirer/ansi/dist/commonjs/index.d.ts +14 -0
- data/payload/node_modules/@inquirer/ansi/dist/commonjs/index.js +28 -0
- data/payload/node_modules/@inquirer/ansi/dist/commonjs/package.json +3 -0
- data/payload/node_modules/@inquirer/ansi/dist/esm/index.d.ts +14 -0
- data/payload/node_modules/@inquirer/ansi/dist/esm/index.js +21 -0
- data/payload/node_modules/@inquirer/ansi/dist/esm/package.json +3 -0
- data/payload/node_modules/@inquirer/ansi/package.json +97 -0
- data/payload/node_modules/@inquirer/core/LICENSE +22 -0
- data/payload/node_modules/@inquirer/core/README.md +383 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/index.d.ts +13 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/index.js +46 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/Separator.d.ts +10 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/Separator.js +28 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/create-prompt.d.ts +4 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/create-prompt.js +156 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/errors.d.ts +20 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/errors.js +29 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/hook-engine.d.ts +23 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/hook-engine.js +118 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/key.d.ts +12 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/key.js +29 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/make-theme.d.ts +3 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/make-theme.js +33 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/pagination/use-pagination.d.ts +16 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/pagination/use-pagination.js +124 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/promise-polyfill.d.ts +7 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/promise-polyfill.js +18 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/screen-manager.d.ts +14 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/screen-manager.js +82 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/theme.d.ts +155 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/theme.js +27 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-effect.d.ts +2 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-effect.js +14 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-keypress.d.ts +3 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-keypress.js +23 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-memo.d.ts +1 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-memo.js +17 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-prefix.d.ts +5 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-prefix.js +38 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-ref.d.ts +6 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-ref.js +7 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-state.d.ts +4 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/use-state.js +23 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/utils.d.ts +13 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/lib/utils.js +32 -0
- data/payload/node_modules/@inquirer/core/dist/commonjs/package.json +3 -0
- data/payload/node_modules/@inquirer/core/dist/esm/index.d.ts +13 -0
- data/payload/node_modules/@inquirer/core/dist/esm/index.js +12 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/Separator.d.ts +10 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/Separator.js +21 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/create-prompt.d.ts +4 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/create-prompt.js +117 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/errors.d.ts +20 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/errors.js +21 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/hook-engine.d.ts +23 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/hook-engine.js +110 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/key.d.ts +12 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/key.js +19 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/make-theme.d.ts +3 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/make-theme.js +30 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.d.ts +16 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/pagination/use-pagination.js +121 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/promise-polyfill.d.ts +7 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/promise-polyfill.js +14 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/screen-manager.d.ts +14 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/screen-manager.js +79 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/theme.d.ts +155 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/theme.js +21 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-effect.d.ts +2 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-effect.js +11 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-keypress.d.ts +3 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-keypress.js +20 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-memo.d.ts +1 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-memo.js +14 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-prefix.d.ts +5 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-prefix.js +35 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-ref.d.ts +6 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-ref.js +4 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-state.d.ts +4 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/use-state.js +20 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/utils.d.ts +13 -0
- data/payload/node_modules/@inquirer/core/dist/esm/lib/utils.js +25 -0
- data/payload/node_modules/@inquirer/core/dist/esm/package.json +3 -0
- data/payload/node_modules/@inquirer/core/node_modules/mute-stream/LICENSE +15 -0
- data/payload/node_modules/@inquirer/core/node_modules/mute-stream/README.md +68 -0
- data/payload/node_modules/@inquirer/core/node_modules/mute-stream/lib/index.js +142 -0
- data/payload/node_modules/@inquirer/core/node_modules/mute-stream/package.json +54 -0
- data/payload/node_modules/@inquirer/core/package.json +119 -0
- data/payload/node_modules/@inquirer/figures/LICENSE +22 -0
- data/payload/node_modules/@inquirer/figures/dist/commonjs/index.d.ts +275 -0
- data/payload/node_modules/@inquirer/figures/dist/commonjs/index.js +321 -0
- data/payload/node_modules/@inquirer/figures/dist/commonjs/package.json +3 -0
- data/payload/node_modules/@inquirer/figures/dist/esm/index.d.ts +275 -0
- data/payload/node_modules/@inquirer/figures/dist/esm/index.js +314 -0
- data/payload/node_modules/@inquirer/figures/dist/esm/package.json +3 -0
- data/payload/node_modules/@inquirer/figures/package.json +98 -0
- data/payload/node_modules/@inquirer/input/LICENSE +22 -0
- data/payload/node_modules/@inquirer/input/README.md +101 -0
- data/payload/node_modules/@inquirer/input/dist/commonjs/index.d.ts +20 -0
- data/payload/node_modules/@inquirer/input/dist/commonjs/index.js +99 -0
- data/payload/node_modules/@inquirer/input/dist/commonjs/package.json +3 -0
- data/payload/node_modules/@inquirer/input/dist/esm/index.d.ts +20 -0
- data/payload/node_modules/@inquirer/input/dist/esm/index.js +97 -0
- data/payload/node_modules/@inquirer/input/dist/esm/package.json +3 -0
- data/payload/node_modules/@inquirer/input/package.json +110 -0
- data/payload/node_modules/@inquirer/password/LICENSE +22 -0
- data/payload/node_modules/@inquirer/password/README.md +93 -0
- data/payload/node_modules/@inquirer/password/dist/commonjs/index.d.ts +10 -0
- data/payload/node_modules/@inquirer/password/dist/commonjs/index.js +57 -0
- data/payload/node_modules/@inquirer/password/dist/commonjs/package.json +3 -0
- data/payload/node_modules/@inquirer/password/dist/esm/index.d.ts +10 -0
- data/payload/node_modules/@inquirer/password/dist/esm/index.js +55 -0
- data/payload/node_modules/@inquirer/password/dist/esm/package.json +3 -0
- data/payload/node_modules/@inquirer/password/package.json +111 -0
- data/payload/node_modules/@inquirer/type/LICENSE +22 -0
- data/payload/node_modules/@inquirer/type/dist/commonjs/index.d.ts +2 -0
- data/payload/node_modules/@inquirer/type/dist/commonjs/index.js +18 -0
- data/payload/node_modules/@inquirer/type/dist/commonjs/inquirer.d.ts +38 -0
- data/payload/node_modules/@inquirer/type/dist/commonjs/inquirer.js +2 -0
- data/payload/node_modules/@inquirer/type/dist/commonjs/package.json +3 -0
- data/payload/node_modules/@inquirer/type/dist/commonjs/utils.d.ts +29 -0
- data/payload/node_modules/@inquirer/type/dist/commonjs/utils.js +3 -0
- data/payload/node_modules/@inquirer/type/dist/esm/index.d.ts +2 -0
- data/payload/node_modules/@inquirer/type/dist/esm/index.js +2 -0
- data/payload/node_modules/@inquirer/type/dist/esm/inquirer.d.ts +38 -0
- data/payload/node_modules/@inquirer/type/dist/esm/inquirer.js +1 -0
- data/payload/node_modules/@inquirer/type/dist/esm/package.json +3 -0
- data/payload/node_modules/@inquirer/type/dist/esm/utils.d.ts +29 -0
- data/payload/node_modules/@inquirer/type/dist/esm/utils.js +2 -0
- data/payload/node_modules/@inquirer/type/package.json +106 -0
- data/payload/node_modules/@oclif/core/LICENSE +21 -0
- data/payload/node_modules/@oclif/core/README.md +150 -0
- data/payload/node_modules/@oclif/core/lib/args.d.ts +56 -0
- data/payload/node_modules/@oclif/core/lib/args.js +85 -0
- data/payload/node_modules/@oclif/core/lib/cache.d.ts +27 -0
- data/payload/node_modules/@oclif/core/lib/cache.js +40 -0
- data/payload/node_modules/@oclif/core/lib/command.d.ts +192 -0
- data/payload/node_modules/@oclif/core/lib/command.js +350 -0
- data/payload/node_modules/@oclif/core/lib/config/config.d.ts +135 -0
- data/payload/node_modules/@oclif/core/lib/config/config.js +749 -0
- data/payload/node_modules/@oclif/core/lib/config/index.d.ts +3 -0
- data/payload/node_modules/@oclif/core/lib/config/index.js +9 -0
- data/payload/node_modules/@oclif/core/lib/config/plugin-loader.d.ts +38 -0
- data/payload/node_modules/@oclif/core/lib/config/plugin-loader.js +188 -0
- data/payload/node_modules/@oclif/core/lib/config/plugin.d.ts +51 -0
- data/payload/node_modules/@oclif/core/lib/config/plugin.js +373 -0
- data/payload/node_modules/@oclif/core/lib/config/ts-path.d.ts +9 -0
- data/payload/node_modules/@oclif/core/lib/config/ts-path.js +293 -0
- data/payload/node_modules/@oclif/core/lib/config/util.d.ts +23 -0
- data/payload/node_modules/@oclif/core/lib/config/util.js +54 -0
- data/payload/node_modules/@oclif/core/lib/constraints.d.ts +217 -0
- data/payload/node_modules/@oclif/core/lib/constraints.js +638 -0
- data/payload/node_modules/@oclif/core/lib/errors/error.d.ts +8 -0
- data/payload/node_modules/@oclif/core/lib/errors/error.js +63 -0
- data/payload/node_modules/@oclif/core/lib/errors/errors/cli.d.ts +29 -0
- data/payload/node_modules/@oclif/core/lib/errors/errors/cli.js +77 -0
- data/payload/node_modules/@oclif/core/lib/errors/errors/exit.d.ts +7 -0
- data/payload/node_modules/@oclif/core/lib/errors/errors/exit.js +14 -0
- data/payload/node_modules/@oclif/core/lib/errors/errors/module-load.d.ts +6 -0
- data/payload/node_modules/@oclif/core/lib/errors/errors/module-load.js +12 -0
- data/payload/node_modules/@oclif/core/lib/errors/errors/pretty-print.d.ts +9 -0
- data/payload/node_modules/@oclif/core/lib/errors/errors/pretty-print.js +67 -0
- data/payload/node_modules/@oclif/core/lib/errors/exit.d.ts +1 -0
- data/payload/node_modules/@oclif/core/lib/errors/exit.js +7 -0
- data/payload/node_modules/@oclif/core/lib/errors/handle.d.ts +14 -0
- data/payload/node_modules/@oclif/core/lib/errors/handle.js +60 -0
- data/payload/node_modules/@oclif/core/lib/errors/index.d.ts +8 -0
- data/payload/node_modules/@oclif/core/lib/errors/index.js +17 -0
- data/payload/node_modules/@oclif/core/lib/errors/warn.d.ts +8 -0
- data/payload/node_modules/@oclif/core/lib/errors/warn.js +40 -0
- data/payload/node_modules/@oclif/core/lib/execute.d.ts +44 -0
- data/payload/node_modules/@oclif/core/lib/execute.js +61 -0
- data/payload/node_modules/@oclif/core/lib/flags.d.ts +181 -0
- data/payload/node_modules/@oclif/core/lib/flags.js +129 -0
- data/payload/node_modules/@oclif/core/lib/flush.d.ts +1 -0
- data/payload/node_modules/@oclif/core/lib/flush.js +26 -0
- data/payload/node_modules/@oclif/core/lib/help/command.d.ts +33 -0
- data/payload/node_modules/@oclif/core/lib/help/command.js +352 -0
- data/payload/node_modules/@oclif/core/lib/help/docopts.d.ts +69 -0
- data/payload/node_modules/@oclif/core/lib/help/docopts.js +198 -0
- data/payload/node_modules/@oclif/core/lib/help/formatter.d.ts +96 -0
- data/payload/node_modules/@oclif/core/lib/help/formatter.js +194 -0
- data/payload/node_modules/@oclif/core/lib/help/index.d.ts +46 -0
- data/payload/node_modules/@oclif/core/lib/help/index.js +345 -0
- data/payload/node_modules/@oclif/core/lib/help/root.d.ts +11 -0
- data/payload/node_modules/@oclif/core/lib/help/root.js +47 -0
- data/payload/node_modules/@oclif/core/lib/help/util.d.ts +7 -0
- data/payload/node_modules/@oclif/core/lib/help/util.js +99 -0
- data/payload/node_modules/@oclif/core/lib/index.d.ts +20 -0
- data/payload/node_modules/@oclif/core/lib/index.js +101 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/alphabet.d.ts +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/alphabet.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/args.d.ts +22 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/args.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/config.d.ts +139 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/config.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/errors.d.ts +27 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/errors.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/flags.d.ts +34 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/flags.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/help.d.ts +58 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/help.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/hooks.d.ts +185 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/hooks.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/index.d.ts +16 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/index.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/logger.d.ts +9 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/logger.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/manifest.d.ts +7 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/manifest.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/parser.d.ts +520 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/parser.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/pjson.d.ts +314 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/pjson.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/plugin.d.ts +104 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/plugin.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/s3-manifest.d.ts +14 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/s3-manifest.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/theme.d.ts +32 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/theme.js +44 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/topic.d.ts +5 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/topic.js +2 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/ts-config.d.ts +23 -0
- data/payload/node_modules/@oclif/core/lib/interfaces/ts-config.js +2 -0
- data/payload/node_modules/@oclif/core/lib/logger.d.ts +14 -0
- data/payload/node_modules/@oclif/core/lib/logger.js +89 -0
- data/payload/node_modules/@oclif/core/lib/main.d.ts +4 -0
- data/payload/node_modules/@oclif/core/lib/main.js +106 -0
- data/payload/node_modules/@oclif/core/lib/module-loader.d.ts +71 -0
- data/payload/node_modules/@oclif/core/lib/module-loader.js +206 -0
- data/payload/node_modules/@oclif/core/lib/parser/errors.d.ts +58 -0
- data/payload/node_modules/@oclif/core/lib/parser/errors.js +117 -0
- data/payload/node_modules/@oclif/core/lib/parser/help.d.ts +3 -0
- data/payload/node_modules/@oclif/core/lib/parser/help.js +29 -0
- data/payload/node_modules/@oclif/core/lib/parser/index.d.ts +5 -0
- data/payload/node_modules/@oclif/core/lib/parser/index.js +25 -0
- data/payload/node_modules/@oclif/core/lib/parser/parse.d.ts +37 -0
- data/payload/node_modules/@oclif/core/lib/parser/parse.js +545 -0
- data/payload/node_modules/@oclif/core/lib/parser/validate.d.ts +5 -0
- data/payload/node_modules/@oclif/core/lib/parser/validate.js +287 -0
- data/payload/node_modules/@oclif/core/lib/performance.d.ts +73 -0
- data/payload/node_modules/@oclif/core/lib/performance.js +227 -0
- data/payload/node_modules/@oclif/core/lib/screen.d.ts +2 -0
- data/payload/node_modules/@oclif/core/lib/screen.js +20 -0
- data/payload/node_modules/@oclif/core/lib/settings.d.ts +36 -0
- data/payload/node_modules/@oclif/core/lib/settings.js +7 -0
- data/payload/node_modules/@oclif/core/lib/symbols.d.ts +1 -0
- data/payload/node_modules/@oclif/core/lib/symbols.js +4 -0
- data/payload/node_modules/@oclif/core/lib/util/aggregate-flags.d.ts +2 -0
- data/payload/node_modules/@oclif/core/lib/util/aggregate-flags.js +12 -0
- data/payload/node_modules/@oclif/core/lib/util/cache-command.d.ts +3 -0
- data/payload/node_modules/@oclif/core/lib/util/cache-command.js +120 -0
- data/payload/node_modules/@oclif/core/lib/util/cache-default-value.d.ts +2 -0
- data/payload/node_modules/@oclif/core/lib/util/cache-default-value.js +28 -0
- data/payload/node_modules/@oclif/core/lib/util/determine-priority.d.ts +18 -0
- data/payload/node_modules/@oclif/core/lib/util/determine-priority.js +51 -0
- data/payload/node_modules/@oclif/core/lib/util/ensure-arg-object.d.ts +12 -0
- data/payload/node_modules/@oclif/core/lib/util/ensure-arg-object.js +13 -0
- data/payload/node_modules/@oclif/core/lib/util/find-root.d.ts +16 -0
- data/payload/node_modules/@oclif/core/lib/util/find-root.js +185 -0
- data/payload/node_modules/@oclif/core/lib/util/fs.d.ts +35 -0
- data/payload/node_modules/@oclif/core/lib/util/fs.js +93 -0
- data/payload/node_modules/@oclif/core/lib/util/ids.d.ts +3 -0
- data/payload/node_modules/@oclif/core/lib/util/ids.js +11 -0
- data/payload/node_modules/@oclif/core/lib/util/os.d.ts +19 -0
- data/payload/node_modules/@oclif/core/lib/util/os.js +58 -0
- data/payload/node_modules/@oclif/core/lib/util/read-pjson.d.ts +7 -0
- data/payload/node_modules/@oclif/core/lib/util/read-pjson.js +55 -0
- data/payload/node_modules/@oclif/core/lib/util/read-tsconfig.d.ts +2 -0
- data/payload/node_modules/@oclif/core/lib/util/read-tsconfig.js +77 -0
- data/payload/node_modules/@oclif/core/lib/util/util.d.ts +23 -0
- data/payload/node_modules/@oclif/core/lib/util/util.js +103 -0
- data/payload/node_modules/@oclif/core/lib/ux/action/base.d.ts +34 -0
- data/payload/node_modules/@oclif/core/lib/ux/action/base.js +183 -0
- data/payload/node_modules/@oclif/core/lib/ux/action/simple.d.ts +11 -0
- data/payload/node_modules/@oclif/core/lib/ux/action/simple.js +47 -0
- data/payload/node_modules/@oclif/core/lib/ux/action/spinner.d.ts +19 -0
- data/payload/node_modules/@oclif/core/lib/ux/action/spinner.js +88 -0
- data/payload/node_modules/@oclif/core/lib/ux/action/types.d.ts +5 -0
- data/payload/node_modules/@oclif/core/lib/ux/action/types.js +2 -0
- data/payload/node_modules/@oclif/core/lib/ux/colorize-json.d.ts +29 -0
- data/payload/node_modules/@oclif/core/lib/ux/colorize-json.js +100 -0
- data/payload/node_modules/@oclif/core/lib/ux/index.d.ts +70 -0
- data/payload/node_modules/@oclif/core/lib/ux/index.js +89 -0
- data/payload/node_modules/@oclif/core/lib/ux/list.d.ts +3 -0
- data/payload/node_modules/@oclif/core/lib/ux/list.js +28 -0
- data/payload/node_modules/@oclif/core/lib/ux/supports-color.d.ts +1 -0
- data/payload/node_modules/@oclif/core/lib/ux/supports-color.js +7 -0
- data/payload/node_modules/@oclif/core/lib/ux/theme.d.ts +9 -0
- data/payload/node_modules/@oclif/core/lib/ux/theme.js +45 -0
- data/payload/node_modules/@oclif/core/lib/ux/write.d.ts +2 -0
- data/payload/node_modules/@oclif/core/lib/ux/write.js +34 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/LICENSE.md +23 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/README.md +57 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/commonjs/index.d.ts +9 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/commonjs/index.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/commonjs/index.js +59 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/commonjs/index.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/commonjs/package.json +3 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/esm/index.d.ts +9 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/esm/index.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/esm/index.js +54 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/esm/index.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/dist/esm/package.json +3 -0
- data/payload/node_modules/@oclif/core/node_modules/balanced-match/package.json +68 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/LICENSE +23 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/README.md +105 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/commonjs/index.d.ts +8 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/commonjs/index.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/commonjs/index.js +289 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/commonjs/index.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/commonjs/package.json +3 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/esm/index.d.ts +8 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/esm/index.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/esm/index.js +285 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/esm/index.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/dist/esm/package.json +3 -0
- data/payload/node_modules/@oclif/core/node_modules/brace-expansion/package.json +64 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/LICENSE +202 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/README.md +389 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/bin/cli.js +218 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/ejs.js +1820 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/ejs.min.js +1 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/jakefile.js +206 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/lib/cjs/ejs.js +853 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/lib/cjs/package.json +1 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/lib/cjs/parseargs.js +122 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/lib/cjs/utils.js +242 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/lib/esm/ejs.js +936 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/lib/esm/package.json +3 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/lib/esm/parseargs.js +136 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/lib/esm/utils.js +259 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/package.json +49 -0
- data/payload/node_modules/@oclif/core/node_modules/ejs/usage.txt +24 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/LICENSE.md +55 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/README.md +528 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/ast.d.ts +22 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/ast.js +845 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/brace-expressions.js +150 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/escape.d.ts +15 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/escape.js +30 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/index.d.ts +174 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/index.js +1127 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/package.json +3 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/unescape.d.ts +22 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/ast.d.ts +22 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/ast.js +841 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/ast.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/brace-expressions.js +146 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/escape.d.ts +15 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/escape.js +26 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/escape.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/index.d.ts +174 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/index.js +1114 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/index.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/package.json +3 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/unescape.d.ts +22 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/unescape.js +34 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
- data/payload/node_modules/@oclif/core/node_modules/minimatch/package.json +73 -0
- data/payload/node_modules/@oclif/core/node_modules/wrap-ansi/index.js +216 -0
- data/payload/node_modules/@oclif/core/node_modules/wrap-ansi/license +9 -0
- data/payload/node_modules/@oclif/core/node_modules/wrap-ansi/package.json +62 -0
- data/payload/node_modules/@oclif/core/node_modules/wrap-ansi/readme.md +91 -0
- data/payload/node_modules/@oclif/core/package.json +135 -0
- data/payload/node_modules/@oclif/plugin-help/LICENSE +21 -0
- data/payload/node_modules/@oclif/plugin-help/README.md +35 -0
- data/payload/node_modules/@oclif/plugin-help/lib/commands/help.d.ts +12 -0
- data/payload/node_modules/@oclif/plugin-help/lib/commands/help.js +20 -0
- data/payload/node_modules/@oclif/plugin-help/lib/index.d.ts +4 -0
- data/payload/node_modules/@oclif/plugin-help/lib/index.js +4 -0
- data/payload/node_modules/@oclif/plugin-help/oclif.manifest.json +43 -0
- data/payload/node_modules/@oclif/plugin-help/package.json +68 -0
- data/payload/node_modules/ansi-escapes/index.d.ts +248 -0
- data/payload/node_modules/ansi-escapes/index.js +157 -0
- data/payload/node_modules/ansi-escapes/license +9 -0
- data/payload/node_modules/ansi-escapes/package.json +57 -0
- data/payload/node_modules/ansi-escapes/readme.md +245 -0
- data/payload/node_modules/ansi-regex/index.d.ts +37 -0
- data/payload/node_modules/ansi-regex/index.js +10 -0
- data/payload/node_modules/ansi-regex/license +9 -0
- data/payload/node_modules/ansi-regex/package.json +55 -0
- data/payload/node_modules/ansi-regex/readme.md +78 -0
- data/payload/node_modules/ansi-styles/index.d.ts +345 -0
- data/payload/node_modules/ansi-styles/index.js +163 -0
- data/payload/node_modules/ansi-styles/license +9 -0
- data/payload/node_modules/ansi-styles/package.json +56 -0
- data/payload/node_modules/ansi-styles/readme.md +152 -0
- data/payload/node_modules/ansis/LICENSE +15 -0
- data/payload/node_modules/ansis/README.md +3 -0
- data/payload/node_modules/ansis/index.d.ts +1 -0
- data/payload/node_modules/ansis/index.js +1 -0
- data/payload/node_modules/ansis/index.mjs +1 -0
- data/payload/node_modules/ansis/package.json +20 -0
- data/payload/node_modules/clean-stack/index.d.ts +56 -0
- data/payload/node_modules/clean-stack/index.js +45 -0
- data/payload/node_modules/clean-stack/license +9 -0
- data/payload/node_modules/clean-stack/package.json +42 -0
- data/payload/node_modules/clean-stack/readme.md +77 -0
- data/payload/node_modules/cli-spinners/index.d.ts +128 -0
- data/payload/node_modules/cli-spinners/index.js +15 -0
- data/payload/node_modules/cli-spinners/license +9 -0
- data/payload/node_modules/cli-spinners/package.json +50 -0
- data/payload/node_modules/cli-spinners/readme.md +54 -0
- data/payload/node_modules/cli-spinners/spinners.json +1622 -0
- data/payload/node_modules/cli-width/LICENSE +13 -0
- data/payload/node_modules/cli-width/README.md +71 -0
- data/payload/node_modules/cli-width/index.d.ts +13 -0
- data/payload/node_modules/cli-width/index.js +49 -0
- data/payload/node_modules/cli-width/package.json +40 -0
- data/payload/node_modules/color-convert/CHANGELOG.md +54 -0
- data/payload/node_modules/color-convert/LICENSE +21 -0
- data/payload/node_modules/color-convert/README.md +68 -0
- data/payload/node_modules/color-convert/conversions.js +839 -0
- data/payload/node_modules/color-convert/index.js +81 -0
- data/payload/node_modules/color-convert/package.json +48 -0
- data/payload/node_modules/color-convert/route.js +97 -0
- data/payload/node_modules/color-name/LICENSE +8 -0
- data/payload/node_modules/color-name/README.md +11 -0
- data/payload/node_modules/color-name/index.js +152 -0
- data/payload/node_modules/color-name/package.json +28 -0
- data/payload/node_modules/debug/LICENSE +20 -0
- data/payload/node_modules/debug/README.md +481 -0
- data/payload/node_modules/debug/package.json +64 -0
- data/payload/node_modules/debug/src/browser.js +272 -0
- data/payload/node_modules/debug/src/common.js +292 -0
- data/payload/node_modules/debug/src/index.js +10 -0
- data/payload/node_modules/debug/src/node.js +263 -0
- data/payload/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
- data/payload/node_modules/emoji-regex/README.md +73 -0
- data/payload/node_modules/emoji-regex/es2015/index.js +6 -0
- data/payload/node_modules/emoji-regex/es2015/text.js +6 -0
- data/payload/node_modules/emoji-regex/index.d.ts +23 -0
- data/payload/node_modules/emoji-regex/index.js +6 -0
- data/payload/node_modules/emoji-regex/package.json +50 -0
- data/payload/node_modules/emoji-regex/text.js +6 -0
- data/payload/node_modules/escape-string-regexp/index.d.ts +18 -0
- data/payload/node_modules/escape-string-regexp/index.js +13 -0
- data/payload/node_modules/escape-string-regexp/license +9 -0
- data/payload/node_modules/escape-string-regexp/package.json +38 -0
- data/payload/node_modules/escape-string-regexp/readme.md +34 -0
- data/payload/node_modules/fdir/LICENSE +7 -0
- data/payload/node_modules/fdir/README.md +91 -0
- data/payload/node_modules/fdir/dist/index.cjs +588 -0
- data/payload/node_modules/fdir/dist/index.d.cts +155 -0
- data/payload/node_modules/fdir/dist/index.d.mts +155 -0
- data/payload/node_modules/fdir/dist/index.mjs +570 -0
- data/payload/node_modules/fdir/package.json +103 -0
- data/payload/node_modules/get-package-type/CHANGELOG.md +10 -0
- data/payload/node_modules/get-package-type/LICENSE +21 -0
- data/payload/node_modules/get-package-type/README.md +32 -0
- data/payload/node_modules/get-package-type/async.cjs +52 -0
- data/payload/node_modules/get-package-type/cache.cjs +3 -0
- data/payload/node_modules/get-package-type/index.cjs +7 -0
- data/payload/node_modules/get-package-type/is-node-modules.cjs +15 -0
- data/payload/node_modules/get-package-type/package.json +35 -0
- data/payload/node_modules/get-package-type/sync.cjs +42 -0
- data/payload/node_modules/has-flag/index.d.ts +39 -0
- data/payload/node_modules/has-flag/index.js +8 -0
- data/payload/node_modules/has-flag/license +9 -0
- data/payload/node_modules/has-flag/package.json +46 -0
- data/payload/node_modules/has-flag/readme.md +89 -0
- data/payload/node_modules/indent-string/index.d.ts +42 -0
- data/payload/node_modules/indent-string/index.js +35 -0
- data/payload/node_modules/indent-string/license +9 -0
- data/payload/node_modules/indent-string/package.json +37 -0
- data/payload/node_modules/indent-string/readme.md +70 -0
- data/payload/node_modules/is-docker/cli.js +5 -0
- data/payload/node_modules/is-docker/index.d.ts +13 -0
- data/payload/node_modules/is-docker/index.js +29 -0
- data/payload/node_modules/is-docker/license +9 -0
- data/payload/node_modules/is-docker/package.json +44 -0
- data/payload/node_modules/is-docker/readme.md +27 -0
- data/payload/node_modules/is-fullwidth-code-point/index.d.ts +17 -0
- data/payload/node_modules/is-fullwidth-code-point/index.js +50 -0
- data/payload/node_modules/is-fullwidth-code-point/license +9 -0
- data/payload/node_modules/is-fullwidth-code-point/package.json +42 -0
- data/payload/node_modules/is-fullwidth-code-point/readme.md +39 -0
- data/payload/node_modules/is-inside-container/cli.js +5 -0
- data/payload/node_modules/is-inside-container/index.d.ts +13 -0
- data/payload/node_modules/is-inside-container/index.js +23 -0
- data/payload/node_modules/is-inside-container/license +9 -0
- data/payload/node_modules/is-inside-container/package.json +51 -0
- data/payload/node_modules/is-inside-container/readme.md +36 -0
- data/payload/node_modules/is-wsl/index.d.ts +15 -0
- data/payload/node_modules/is-wsl/index.js +36 -0
- data/payload/node_modules/is-wsl/license +9 -0
- data/payload/node_modules/is-wsl/package.json +58 -0
- data/payload/node_modules/is-wsl/readme.md +21 -0
- data/payload/node_modules/lilconfig/LICENSE +21 -0
- data/payload/node_modules/lilconfig/package.json +42 -0
- data/payload/node_modules/lilconfig/readme.md +98 -0
- data/payload/node_modules/lilconfig/src/index.d.ts +54 -0
- data/payload/node_modules/lilconfig/src/index.js +460 -0
- data/payload/node_modules/ms/index.js +162 -0
- data/payload/node_modules/ms/license.md +21 -0
- data/payload/node_modules/ms/package.json +38 -0
- data/payload/node_modules/ms/readme.md +59 -0
- data/payload/node_modules/picomatch/LICENSE +21 -0
- data/payload/node_modules/picomatch/README.md +743 -0
- data/payload/node_modules/picomatch/index.js +17 -0
- data/payload/node_modules/picomatch/lib/constants.js +184 -0
- data/payload/node_modules/picomatch/lib/parse.js +1425 -0
- data/payload/node_modules/picomatch/lib/picomatch.js +361 -0
- data/payload/node_modules/picomatch/lib/scan.js +403 -0
- data/payload/node_modules/picomatch/lib/utils.js +72 -0
- data/payload/node_modules/picomatch/package.json +83 -0
- data/payload/node_modules/picomatch/posix.js +3 -0
- data/payload/node_modules/powershell-utils/index.d.ts +122 -0
- data/payload/node_modules/powershell-utils/index.js +58 -0
- data/payload/node_modules/powershell-utils/license +9 -0
- data/payload/node_modules/powershell-utils/package.json +47 -0
- data/payload/node_modules/powershell-utils/readme.md +153 -0
- data/payload/node_modules/semver/LICENSE +15 -0
- data/payload/node_modules/semver/README.md +680 -0
- data/payload/node_modules/semver/bin/semver.js +195 -0
- data/payload/node_modules/semver/classes/comparator.js +143 -0
- data/payload/node_modules/semver/classes/index.js +7 -0
- data/payload/node_modules/semver/classes/range.js +577 -0
- data/payload/node_modules/semver/classes/semver.js +350 -0
- data/payload/node_modules/semver/functions/clean.js +8 -0
- data/payload/node_modules/semver/functions/cmp.js +54 -0
- data/payload/node_modules/semver/functions/coerce.js +62 -0
- data/payload/node_modules/semver/functions/compare-build.js +9 -0
- data/payload/node_modules/semver/functions/compare-loose.js +5 -0
- data/payload/node_modules/semver/functions/compare.js +7 -0
- data/payload/node_modules/semver/functions/diff.js +60 -0
- data/payload/node_modules/semver/functions/eq.js +5 -0
- data/payload/node_modules/semver/functions/gt.js +5 -0
- data/payload/node_modules/semver/functions/gte.js +5 -0
- data/payload/node_modules/semver/functions/inc.js +21 -0
- data/payload/node_modules/semver/functions/lt.js +5 -0
- data/payload/node_modules/semver/functions/lte.js +5 -0
- data/payload/node_modules/semver/functions/major.js +5 -0
- data/payload/node_modules/semver/functions/minor.js +5 -0
- data/payload/node_modules/semver/functions/neq.js +5 -0
- data/payload/node_modules/semver/functions/parse.js +18 -0
- data/payload/node_modules/semver/functions/patch.js +5 -0
- data/payload/node_modules/semver/functions/prerelease.js +8 -0
- data/payload/node_modules/semver/functions/rcompare.js +5 -0
- data/payload/node_modules/semver/functions/rsort.js +5 -0
- data/payload/node_modules/semver/functions/satisfies.js +12 -0
- data/payload/node_modules/semver/functions/sort.js +5 -0
- data/payload/node_modules/semver/functions/truncate.js +48 -0
- data/payload/node_modules/semver/functions/valid.js +8 -0
- data/payload/node_modules/semver/index.js +93 -0
- data/payload/node_modules/semver/internal/constants.js +37 -0
- data/payload/node_modules/semver/internal/debug.js +11 -0
- data/payload/node_modules/semver/internal/identifiers.js +29 -0
- data/payload/node_modules/semver/internal/lrucache.js +42 -0
- data/payload/node_modules/semver/internal/parse-options.js +17 -0
- data/payload/node_modules/semver/internal/re.js +223 -0
- data/payload/node_modules/semver/package.json +78 -0
- data/payload/node_modules/semver/preload.js +4 -0
- data/payload/node_modules/semver/range.bnf +17 -0
- data/payload/node_modules/semver/ranges/gtr.js +6 -0
- data/payload/node_modules/semver/ranges/intersects.js +9 -0
- data/payload/node_modules/semver/ranges/ltr.js +6 -0
- data/payload/node_modules/semver/ranges/max-satisfying.js +27 -0
- data/payload/node_modules/semver/ranges/min-satisfying.js +26 -0
- data/payload/node_modules/semver/ranges/min-version.js +63 -0
- data/payload/node_modules/semver/ranges/outside.js +82 -0
- data/payload/node_modules/semver/ranges/simplify.js +49 -0
- data/payload/node_modules/semver/ranges/subset.js +249 -0
- data/payload/node_modules/semver/ranges/to-comparators.js +10 -0
- data/payload/node_modules/semver/ranges/valid.js +13 -0
- data/payload/node_modules/signal-exit/LICENSE.txt +16 -0
- data/payload/node_modules/signal-exit/README.md +74 -0
- data/payload/node_modules/signal-exit/dist/cjs/browser.d.ts +12 -0
- data/payload/node_modules/signal-exit/dist/cjs/browser.d.ts.map +1 -0
- data/payload/node_modules/signal-exit/dist/cjs/browser.js +10 -0
- data/payload/node_modules/signal-exit/dist/cjs/browser.js.map +1 -0
- data/payload/node_modules/signal-exit/dist/cjs/index.d.ts +48 -0
- data/payload/node_modules/signal-exit/dist/cjs/index.d.ts.map +1 -0
- data/payload/node_modules/signal-exit/dist/cjs/index.js +279 -0
- data/payload/node_modules/signal-exit/dist/cjs/index.js.map +1 -0
- data/payload/node_modules/signal-exit/dist/cjs/package.json +3 -0
- data/payload/node_modules/signal-exit/dist/cjs/signals.d.ts +29 -0
- data/payload/node_modules/signal-exit/dist/cjs/signals.d.ts.map +1 -0
- data/payload/node_modules/signal-exit/dist/cjs/signals.js +42 -0
- data/payload/node_modules/signal-exit/dist/cjs/signals.js.map +1 -0
- data/payload/node_modules/signal-exit/dist/mjs/browser.d.ts +12 -0
- data/payload/node_modules/signal-exit/dist/mjs/browser.d.ts.map +1 -0
- data/payload/node_modules/signal-exit/dist/mjs/browser.js +4 -0
- data/payload/node_modules/signal-exit/dist/mjs/browser.js.map +1 -0
- data/payload/node_modules/signal-exit/dist/mjs/index.d.ts +48 -0
- data/payload/node_modules/signal-exit/dist/mjs/index.d.ts.map +1 -0
- data/payload/node_modules/signal-exit/dist/mjs/index.js +275 -0
- data/payload/node_modules/signal-exit/dist/mjs/index.js.map +1 -0
- data/payload/node_modules/signal-exit/dist/mjs/package.json +3 -0
- data/payload/node_modules/signal-exit/dist/mjs/signals.d.ts +29 -0
- data/payload/node_modules/signal-exit/dist/mjs/signals.d.ts.map +1 -0
- data/payload/node_modules/signal-exit/dist/mjs/signals.js +39 -0
- data/payload/node_modules/signal-exit/dist/mjs/signals.js.map +1 -0
- data/payload/node_modules/signal-exit/package.json +106 -0
- data/payload/node_modules/string-width/index.d.ts +29 -0
- data/payload/node_modules/string-width/index.js +47 -0
- data/payload/node_modules/string-width/license +9 -0
- data/payload/node_modules/string-width/package.json +56 -0
- data/payload/node_modules/string-width/readme.md +50 -0
- data/payload/node_modules/strip-ansi/index.d.ts +17 -0
- data/payload/node_modules/strip-ansi/index.js +4 -0
- data/payload/node_modules/strip-ansi/license +9 -0
- data/payload/node_modules/strip-ansi/package.json +54 -0
- data/payload/node_modules/strip-ansi/readme.md +46 -0
- data/payload/node_modules/supports-color/browser.js +24 -0
- data/payload/node_modules/supports-color/index.js +152 -0
- data/payload/node_modules/supports-color/license +9 -0
- data/payload/node_modules/supports-color/package.json +58 -0
- data/payload/node_modules/supports-color/readme.md +77 -0
- data/payload/node_modules/tinyglobby/LICENSE +21 -0
- data/payload/node_modules/tinyglobby/README.md +25 -0
- data/payload/node_modules/tinyglobby/dist/index.cjs +335 -0
- data/payload/node_modules/tinyglobby/dist/index.d.cts +148 -0
- data/payload/node_modules/tinyglobby/dist/index.d.mts +148 -0
- data/payload/node_modules/tinyglobby/dist/index.mjs +307 -0
- data/payload/node_modules/tinyglobby/package.json +70 -0
- data/payload/node_modules/type-fest/base.d.ts +39 -0
- data/payload/node_modules/type-fest/index.d.ts +2 -0
- data/payload/node_modules/type-fest/license +9 -0
- data/payload/node_modules/type-fest/package.json +58 -0
- data/payload/node_modules/type-fest/readme.md +760 -0
- data/payload/node_modules/type-fest/source/async-return-type.d.ts +23 -0
- data/payload/node_modules/type-fest/source/asyncify.d.ts +31 -0
- data/payload/node_modules/type-fest/source/basic.d.ts +51 -0
- data/payload/node_modules/type-fest/source/conditional-except.d.ts +43 -0
- data/payload/node_modules/type-fest/source/conditional-keys.d.ts +43 -0
- data/payload/node_modules/type-fest/source/conditional-pick.d.ts +42 -0
- data/payload/node_modules/type-fest/source/entries.d.ts +57 -0
- data/payload/node_modules/type-fest/source/entry.d.ts +60 -0
- data/payload/node_modules/type-fest/source/except.d.ts +22 -0
- data/payload/node_modules/type-fest/source/fixed-length-array.d.ts +38 -0
- data/payload/node_modules/type-fest/source/iterable-element.d.ts +46 -0
- data/payload/node_modules/type-fest/source/literal-union.d.ts +33 -0
- data/payload/node_modules/type-fest/source/merge-exclusive.d.ts +39 -0
- data/payload/node_modules/type-fest/source/merge.d.ts +25 -0
- data/payload/node_modules/type-fest/source/mutable.d.ts +38 -0
- data/payload/node_modules/type-fest/source/opaque.d.ts +65 -0
- data/payload/node_modules/type-fest/source/package-json.d.ts +611 -0
- data/payload/node_modules/type-fest/source/partial-deep.d.ts +72 -0
- data/payload/node_modules/type-fest/source/promisable.d.ts +23 -0
- data/payload/node_modules/type-fest/source/promise-value.d.ts +27 -0
- data/payload/node_modules/type-fest/source/readonly-deep.d.ts +59 -0
- data/payload/node_modules/type-fest/source/require-at-least-one.d.ts +33 -0
- data/payload/node_modules/type-fest/source/require-exactly-one.d.ts +35 -0
- data/payload/node_modules/type-fest/source/set-optional.d.ts +33 -0
- data/payload/node_modules/type-fest/source/set-required.d.ts +33 -0
- data/payload/node_modules/type-fest/source/set-return-type.d.ts +29 -0
- data/payload/node_modules/type-fest/source/simplify.d.ts +4 -0
- data/payload/node_modules/type-fest/source/stringified.d.ts +21 -0
- data/payload/node_modules/type-fest/source/tsconfig-json.d.ts +870 -0
- data/payload/node_modules/type-fest/source/typed-array.d.ts +15 -0
- data/payload/node_modules/type-fest/source/union-to-intersection.d.ts +58 -0
- data/payload/node_modules/type-fest/source/utilities.d.ts +5 -0
- data/payload/node_modules/type-fest/source/value-of.d.ts +40 -0
- data/payload/node_modules/type-fest/ts41/camel-case.d.ts +64 -0
- data/payload/node_modules/type-fest/ts41/delimiter-case.d.ts +85 -0
- data/payload/node_modules/type-fest/ts41/get.d.ts +131 -0
- data/payload/node_modules/type-fest/ts41/index.d.ts +10 -0
- data/payload/node_modules/type-fest/ts41/kebab-case.d.ts +36 -0
- data/payload/node_modules/type-fest/ts41/pascal-case.d.ts +36 -0
- data/payload/node_modules/type-fest/ts41/snake-case.d.ts +35 -0
- data/payload/node_modules/type-fest/ts41/utilities.d.ts +8 -0
- data/payload/node_modules/undici-types/LICENSE +21 -0
- data/payload/node_modules/undici-types/README.md +6 -0
- data/payload/node_modules/undici-types/agent.d.ts +31 -0
- data/payload/node_modules/undici-types/api.d.ts +43 -0
- data/payload/node_modules/undici-types/balanced-pool.d.ts +29 -0
- data/payload/node_modules/undici-types/cache.d.ts +36 -0
- data/payload/node_modules/undici-types/client.d.ts +108 -0
- data/payload/node_modules/undici-types/connector.d.ts +34 -0
- data/payload/node_modules/undici-types/content-type.d.ts +21 -0
- data/payload/node_modules/undici-types/cookies.d.ts +28 -0
- data/payload/node_modules/undici-types/diagnostics-channel.d.ts +66 -0
- data/payload/node_modules/undici-types/dispatcher.d.ts +256 -0
- data/payload/node_modules/undici-types/env-http-proxy-agent.d.ts +21 -0
- data/payload/node_modules/undici-types/errors.d.ts +149 -0
- data/payload/node_modules/undici-types/eventsource.d.ts +61 -0
- data/payload/node_modules/undici-types/fetch.d.ts +209 -0
- data/payload/node_modules/undici-types/file.d.ts +39 -0
- data/payload/node_modules/undici-types/filereader.d.ts +54 -0
- data/payload/node_modules/undici-types/formdata.d.ts +108 -0
- data/payload/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- data/payload/node_modules/undici-types/global-origin.d.ts +7 -0
- data/payload/node_modules/undici-types/handlers.d.ts +15 -0
- data/payload/node_modules/undici-types/header.d.ts +4 -0
- data/payload/node_modules/undici-types/index.d.ts +71 -0
- data/payload/node_modules/undici-types/interceptors.d.ts +17 -0
- data/payload/node_modules/undici-types/mock-agent.d.ts +50 -0
- data/payload/node_modules/undici-types/mock-client.d.ts +25 -0
- data/payload/node_modules/undici-types/mock-errors.d.ts +12 -0
- data/payload/node_modules/undici-types/mock-interceptor.d.ts +93 -0
- data/payload/node_modules/undici-types/mock-pool.d.ts +25 -0
- data/payload/node_modules/undici-types/package.json +55 -0
- data/payload/node_modules/undici-types/patch.d.ts +33 -0
- data/payload/node_modules/undici-types/pool-stats.d.ts +19 -0
- data/payload/node_modules/undici-types/pool.d.ts +39 -0
- data/payload/node_modules/undici-types/proxy-agent.d.ts +28 -0
- data/payload/node_modules/undici-types/readable.d.ts +65 -0
- data/payload/node_modules/undici-types/retry-agent.d.ts +8 -0
- data/payload/node_modules/undici-types/retry-handler.d.ts +116 -0
- data/payload/node_modules/undici-types/util.d.ts +18 -0
- data/payload/node_modules/undici-types/webidl.d.ts +228 -0
- data/payload/node_modules/undici-types/websocket.d.ts +150 -0
- data/payload/node_modules/widest-line/index.d.ts +21 -0
- data/payload/node_modules/widest-line/index.js +16 -0
- data/payload/node_modules/widest-line/license +9 -0
- data/payload/node_modules/widest-line/package.json +54 -0
- data/payload/node_modules/widest-line/readme.md +34 -0
- data/payload/node_modules/wordwrap/LICENSE +18 -0
- data/payload/node_modules/wordwrap/README.markdown +70 -0
- data/payload/node_modules/wordwrap/example/center.js +10 -0
- data/payload/node_modules/wordwrap/example/meat.js +3 -0
- data/payload/node_modules/wordwrap/index.js +76 -0
- data/payload/node_modules/wordwrap/package.json +34 -0
- data/payload/node_modules/wordwrap/test/break.js +32 -0
- data/payload/node_modules/wordwrap/test/idleness.txt +63 -0
- data/payload/node_modules/wordwrap/test/wrap.js +33 -0
- data/payload/node_modules/wrap-ansi/index.js +186 -0
- data/payload/node_modules/wrap-ansi/license +9 -0
- data/payload/node_modules/wrap-ansi/package.json +61 -0
- data/payload/node_modules/wrap-ansi/readme.md +97 -0
- data/payload/node_modules/wsl-utils/index.d.ts +180 -0
- data/payload/node_modules/wsl-utils/index.js +140 -0
- data/payload/node_modules/wsl-utils/license +9 -0
- data/payload/node_modules/wsl-utils/package.json +48 -0
- data/payload/node_modules/wsl-utils/readme.md +223 -0
- data/payload/node_modules/wsl-utils/utilities.js +19 -0
- data/payload/node_modules/yoctocolors-cjs/index.d.ts +94 -0
- data/payload/node_modules/yoctocolors-cjs/index.js +98 -0
- data/payload/node_modules/yoctocolors-cjs/license +9 -0
- data/payload/node_modules/yoctocolors-cjs/package.json +67 -0
- data/payload/node_modules/yoctocolors-cjs/readme.md +130 -0
- data/payload/oclif.manifest.json +793 -0
- data/payload/package.json +80 -0
- metadata +809 -35
- data/Gemfile +0 -19
- data/Gemfile.lock +0 -78
- data/LICENSE.md +0 -7
- data/bin/avo +0 -9
- data/bin/rspec +0 -4
- data/lib/avo_cli/cli.rb +0 -60
- data/lib/avo_cli/rules/base.rb +0 -31
- data/lib/avo_cli/rules/fields_as_class_methods.rb +0 -14
- data/lib/avo_cli/scanner.rb +0 -42
- data/lib/avo_cli/scanners/base.rb +0 -13
- data/lib/avo_cli/scanners/resource_scanner.rb +0 -27
- data/lib/avo_cli/version.rb +0 -3
- data/lib/avo_cli.rb +0 -23
- data/lib/support.rb +0 -52
- data/linter.png +0 -0
- data/readme.md +0 -40
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validate = validate;
|
|
4
|
+
const util_1 = require("../util/util");
|
|
5
|
+
const errors_1 = require("./errors");
|
|
6
|
+
async function validate(parse) {
|
|
7
|
+
let cachedResolvedFlags;
|
|
8
|
+
function validateArgs() {
|
|
9
|
+
// Validate variadic arg constraints (definition-time checks)
|
|
10
|
+
const argEntries = Object.entries(parse.input.args);
|
|
11
|
+
const variadicIndex = argEntries.findIndex(([, arg]) => arg.multiple);
|
|
12
|
+
if (variadicIndex !== -1) {
|
|
13
|
+
// Only one variadic arg is allowed
|
|
14
|
+
const secondVariadic = argEntries.findIndex(([, arg], i) => i > variadicIndex && arg.multiple);
|
|
15
|
+
if (secondVariadic !== -1) {
|
|
16
|
+
throw new errors_1.InvalidArgsSpecError({
|
|
17
|
+
args: parse.input.args,
|
|
18
|
+
parse,
|
|
19
|
+
reason: 'only one variadic arg (multiple: true) is allowed',
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
// All args before a variadic arg must be required (otherwise assignment is ambiguous)
|
|
23
|
+
for (let i = 0; i < variadicIndex; i++) {
|
|
24
|
+
if (!argEntries[i][1].required) {
|
|
25
|
+
throw new errors_1.InvalidArgsSpecError({
|
|
26
|
+
args: parse.input.args,
|
|
27
|
+
parse,
|
|
28
|
+
reason: `args before a variadic arg must be required, but "${argEntries[i][0]}" is optional`,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
// All args after a variadic arg must be required (otherwise assignment is ambiguous)
|
|
33
|
+
for (let i = variadicIndex + 1; i < argEntries.length; i++) {
|
|
34
|
+
if (!argEntries[i][1].required) {
|
|
35
|
+
throw new errors_1.InvalidArgsSpecError({
|
|
36
|
+
args: parse.input.args,
|
|
37
|
+
parse,
|
|
38
|
+
reason: `args after a variadic arg must be required, but "${argEntries[i][0]}" is optional`,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const variadicArgFound = variadicIndex !== -1;
|
|
44
|
+
if (parse.output.nonExistentFlags?.length > 0) {
|
|
45
|
+
throw new errors_1.NonExistentFlagsError({
|
|
46
|
+
flags: parse.output.nonExistentFlags,
|
|
47
|
+
parse,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
const maxArgs = Object.keys(parse.input.args).length;
|
|
51
|
+
const hasVariadicArg = Object.values(parse.input.args).some((arg) => arg.multiple);
|
|
52
|
+
if (parse.input.strict && !hasVariadicArg && parse.output.argv.length > maxArgs) {
|
|
53
|
+
const extras = parse.output.argv.slice(maxArgs);
|
|
54
|
+
throw new errors_1.UnexpectedArgsError({
|
|
55
|
+
args: extras,
|
|
56
|
+
parse,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
const missingRequiredArgs = [];
|
|
60
|
+
let hasOptional = false;
|
|
61
|
+
for (const [name, arg] of Object.entries(parse.input.args)) {
|
|
62
|
+
if (!arg.required) {
|
|
63
|
+
hasOptional = true;
|
|
64
|
+
}
|
|
65
|
+
else if (hasOptional && !variadicArgFound) {
|
|
66
|
+
// (required arg) check whether an optional has occurred before
|
|
67
|
+
// optionals should follow required, not before
|
|
68
|
+
// Skip this check when a variadic arg is present, since the variadic
|
|
69
|
+
// validation above already enforces that args after a variadic are required
|
|
70
|
+
throw new errors_1.InvalidArgsSpecError({
|
|
71
|
+
args: parse.input.args,
|
|
72
|
+
parse,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
// Only add if it's required and undefined. Allow falsy values like empty strings and 0.
|
|
76
|
+
if (arg.required && parse.output.args[name] === undefined) {
|
|
77
|
+
missingRequiredArgs.push(arg);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (missingRequiredArgs.length > 0) {
|
|
81
|
+
const flagsWithMultiple = Object.entries(parse.input.flags)
|
|
82
|
+
.filter(([_, flagDef]) => flagDef.type === 'option' && Boolean(flagDef.multiple))
|
|
83
|
+
.map(([name]) => name);
|
|
84
|
+
throw new errors_1.RequiredArgsError({
|
|
85
|
+
args: missingRequiredArgs,
|
|
86
|
+
flagsWithMultiple,
|
|
87
|
+
parse,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
async function validateFlags() {
|
|
92
|
+
const promises = Object.entries(parse.input.flags).flatMap(([name, flag]) => {
|
|
93
|
+
if (parse.output.flags[name] !== undefined) {
|
|
94
|
+
return [
|
|
95
|
+
...(flag.relationships ? validateRelationships(name, flag) : []),
|
|
96
|
+
...(flag.dependsOn ? [validateDependsOn(name, flag.dependsOn)] : []),
|
|
97
|
+
...(flag.exclusive ? [validateExclusive(name, flag.exclusive)] : []),
|
|
98
|
+
...(flag.combinable ? [validateCombinable(name, flag.combinable)] : []),
|
|
99
|
+
...(flag.exactlyOne ? [validateExactlyOne(name, flag.exactlyOne)] : []),
|
|
100
|
+
];
|
|
101
|
+
}
|
|
102
|
+
if (flag.required) {
|
|
103
|
+
return [{ name, reason: `Missing required flag ${name}`, status: 'failed', validationFn: 'required' }];
|
|
104
|
+
}
|
|
105
|
+
if (flag.exactlyOne && flag.exactlyOne.length > 0) {
|
|
106
|
+
return [validateExactlyOneAcrossFlags(flag)];
|
|
107
|
+
}
|
|
108
|
+
if (flag.atLeastOne && flag.atLeastOne.length > 0) {
|
|
109
|
+
return [validateAtLeastOneAcrossFlags(flag)];
|
|
110
|
+
}
|
|
111
|
+
return [];
|
|
112
|
+
});
|
|
113
|
+
const results = await Promise.all(promises);
|
|
114
|
+
const failed = results.filter((r) => r.status === 'failed');
|
|
115
|
+
if (failed.length > 0)
|
|
116
|
+
throw new errors_1.FailedFlagValidationError({
|
|
117
|
+
failed,
|
|
118
|
+
parse,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function validateConstraints() {
|
|
122
|
+
if (parse.input.constraints) {
|
|
123
|
+
const validations = parse.input.constraints.map((c) => c._evaluateAgainstFlags(parse.output.flags));
|
|
124
|
+
const failed = validations.filter((v) => v.status === 'failed');
|
|
125
|
+
if (failed.length > 0) {
|
|
126
|
+
throw new errors_1.ViolatedFlagConstraintError({
|
|
127
|
+
failed,
|
|
128
|
+
parse,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
async function resolveFlags(flags) {
|
|
134
|
+
if (cachedResolvedFlags)
|
|
135
|
+
return cachedResolvedFlags;
|
|
136
|
+
const promises = flags.map(async (flag) => {
|
|
137
|
+
if (typeof flag === 'string') {
|
|
138
|
+
return [flag, parse.output.flags[flag]];
|
|
139
|
+
}
|
|
140
|
+
const result = await flag.when(parse.output.flags);
|
|
141
|
+
return result ? [flag.name, parse.output.flags[flag.name]] : null;
|
|
142
|
+
});
|
|
143
|
+
const resolved = await Promise.all(promises);
|
|
144
|
+
cachedResolvedFlags = Object.fromEntries(resolved.filter((r) => r !== null));
|
|
145
|
+
return cachedResolvedFlags;
|
|
146
|
+
}
|
|
147
|
+
const getPresentFlags = (flags) => Object.keys(flags).filter((key) => key !== undefined);
|
|
148
|
+
function validateExactlyOneAcrossFlags(flag) {
|
|
149
|
+
const base = { name: flag.name, validationFn: 'validateExactlyOneAcrossFlags' };
|
|
150
|
+
const intersection = Object.entries(parse.input.flags)
|
|
151
|
+
.map((entry) => entry[0]) // array of flag names
|
|
152
|
+
.filter((flagName) => parse.output.flags[flagName] !== undefined) // with values
|
|
153
|
+
.filter((flagName) => flag.exactlyOne && flag.exactlyOne.includes(flagName)); // and in the exactlyOne list
|
|
154
|
+
if (intersection.length === 0) {
|
|
155
|
+
// the command's exactlyOne may or may not include itself, so we'll use Set to add + de-dupe
|
|
156
|
+
const deduped = (0, util_1.uniq)(flag.exactlyOne?.map((flag) => `--${flag}`) ?? []).join(', ');
|
|
157
|
+
const reason = `Exactly one of the following must be provided: ${deduped}`;
|
|
158
|
+
return { ...base, reason, status: 'failed' };
|
|
159
|
+
}
|
|
160
|
+
return { ...base, status: 'success' };
|
|
161
|
+
}
|
|
162
|
+
function validateAtLeastOneAcrossFlags(flag) {
|
|
163
|
+
const base = { name: flag.name, validationFn: 'validateAtLeastOneAcrossFlags' };
|
|
164
|
+
const intersection = Object.entries(parse.input.flags)
|
|
165
|
+
.map((entry) => entry[0]) // array of flag names
|
|
166
|
+
.filter((flagName) => parse.output.flags[flagName] !== undefined) // with values
|
|
167
|
+
.filter((flagName) => flag.atLeastOne && flag.atLeastOne.includes(flagName)); // and in the atLeastOne list
|
|
168
|
+
if (intersection.length === 0) {
|
|
169
|
+
// the command's atLeastOne may or may not include itself, so we'll use Set to add + de-dupe
|
|
170
|
+
const deduped = (0, util_1.uniq)(flag.atLeastOne?.map((flag) => `--${flag}`) ?? []).join(', ');
|
|
171
|
+
const reason = `At least one of the following must be provided: ${deduped}`;
|
|
172
|
+
return { ...base, reason, status: 'failed' };
|
|
173
|
+
}
|
|
174
|
+
return { ...base, status: 'success' };
|
|
175
|
+
}
|
|
176
|
+
async function validateExclusive(name, flags) {
|
|
177
|
+
const base = { name, validationFn: 'validateExclusive' };
|
|
178
|
+
const resolved = await resolveFlags(flags);
|
|
179
|
+
const keys = getPresentFlags(resolved);
|
|
180
|
+
for (const flag of keys) {
|
|
181
|
+
// do not enforce exclusivity for flags that were defaulted
|
|
182
|
+
if (parse.output.metadata.flags && parse.output.metadata.flags[flag]?.setFromDefault)
|
|
183
|
+
continue;
|
|
184
|
+
if (parse.output.metadata.flags && parse.output.metadata.flags[name]?.setFromDefault)
|
|
185
|
+
continue;
|
|
186
|
+
if (parse.output.flags[flag] !== undefined) {
|
|
187
|
+
const flagValue = parse.output.metadata.flags?.[flag]?.defaultHelp ?? parse.output.flags[flag];
|
|
188
|
+
return {
|
|
189
|
+
...base,
|
|
190
|
+
reason: `--${flag}=${flagValue} cannot also be provided when using --${name}`,
|
|
191
|
+
status: 'failed',
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return { ...base, status: 'success' };
|
|
196
|
+
}
|
|
197
|
+
async function validateCombinable(name, flags) {
|
|
198
|
+
const base = { name, validationFn: 'validateCombinable' };
|
|
199
|
+
const combinableFlags = new Set(flags.map((flag) => (typeof flag === 'string' ? flag : flag.name)));
|
|
200
|
+
const resolved = await resolveFlags(flags);
|
|
201
|
+
for (const flag of Object.keys(parse.output.flags)) {
|
|
202
|
+
// do not enforce exclusivity for flags that were defaulted
|
|
203
|
+
if (parse.output.metadata.flags && parse.output.metadata.flags[flag]?.setFromDefault)
|
|
204
|
+
continue;
|
|
205
|
+
if (parse.output.metadata.flags && parse.output.metadata.flags[name]?.setFromDefault)
|
|
206
|
+
continue;
|
|
207
|
+
if (flag !== name && parse.output.flags[flag] !== undefined && !combinableFlags.has(flag)) {
|
|
208
|
+
const formattedFlags = Object.keys(resolved)
|
|
209
|
+
.map((f) => `--${f}`)
|
|
210
|
+
.join(', ');
|
|
211
|
+
return {
|
|
212
|
+
...base,
|
|
213
|
+
reason: `Only the following can be provided when using --${name}: ${formattedFlags}`,
|
|
214
|
+
status: 'failed',
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
return { ...base, status: 'success' };
|
|
219
|
+
}
|
|
220
|
+
async function validateExactlyOne(name, flags) {
|
|
221
|
+
const base = { name, validationFn: 'validateExactlyOne' };
|
|
222
|
+
const resolved = await resolveFlags(flags);
|
|
223
|
+
const keys = getPresentFlags(resolved);
|
|
224
|
+
for (const flag of keys) {
|
|
225
|
+
if (flag !== name && parse.output.flags[flag] !== undefined) {
|
|
226
|
+
return { ...base, reason: `--${flag} cannot also be provided when using --${name}`, status: 'failed' };
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return { ...base, status: 'success' };
|
|
230
|
+
}
|
|
231
|
+
async function validateDependsOn(name, flags) {
|
|
232
|
+
const base = { name, validationFn: 'validateDependsOn' };
|
|
233
|
+
const resolved = await resolveFlags(flags);
|
|
234
|
+
const foundAll = Object.values(resolved).every((val) => val !== undefined);
|
|
235
|
+
if (!foundAll) {
|
|
236
|
+
const formattedFlags = Object.keys(resolved)
|
|
237
|
+
.map((f) => `--${f}`)
|
|
238
|
+
.join(', ');
|
|
239
|
+
return {
|
|
240
|
+
...base,
|
|
241
|
+
reason: `All of the following must be provided when using --${name}: ${formattedFlags}`,
|
|
242
|
+
status: 'failed',
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
return { ...base, status: 'success' };
|
|
246
|
+
}
|
|
247
|
+
async function validateSome(name, flags) {
|
|
248
|
+
const base = { name, validationFn: 'validateSome' };
|
|
249
|
+
const resolved = await resolveFlags(flags);
|
|
250
|
+
const foundAtLeastOne = Object.values(resolved).some(Boolean);
|
|
251
|
+
if (!foundAtLeastOne) {
|
|
252
|
+
const formattedFlags = Object.keys(resolved)
|
|
253
|
+
.map((f) => `--${f}`)
|
|
254
|
+
.join(', ');
|
|
255
|
+
return {
|
|
256
|
+
...base,
|
|
257
|
+
reason: `One of the following must be provided when using --${name}: ${formattedFlags}`,
|
|
258
|
+
status: 'failed',
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
return { ...base, status: 'success' };
|
|
262
|
+
}
|
|
263
|
+
function validateRelationships(name, flag) {
|
|
264
|
+
return (flag.relationships ?? []).map((relationship) => {
|
|
265
|
+
switch (relationship.type) {
|
|
266
|
+
case 'all': {
|
|
267
|
+
return validateDependsOn(name, relationship.flags);
|
|
268
|
+
}
|
|
269
|
+
case 'none': {
|
|
270
|
+
return validateExclusive(name, relationship.flags);
|
|
271
|
+
}
|
|
272
|
+
case 'only': {
|
|
273
|
+
return validateCombinable(name, relationship.flags);
|
|
274
|
+
}
|
|
275
|
+
case 'some': {
|
|
276
|
+
return validateSome(name, relationship.flags);
|
|
277
|
+
}
|
|
278
|
+
default: {
|
|
279
|
+
throw new Error(`Unknown relationship type: ${relationship.type}`);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
validateArgs();
|
|
285
|
+
await validateFlags();
|
|
286
|
+
validateConstraints();
|
|
287
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
type Details = Record<string, boolean | number | string | string[]>;
|
|
2
|
+
type PerfResult = {
|
|
3
|
+
details: Details;
|
|
4
|
+
duration: number;
|
|
5
|
+
method: string | undefined;
|
|
6
|
+
module: string;
|
|
7
|
+
name: string;
|
|
8
|
+
scope: string | undefined;
|
|
9
|
+
};
|
|
10
|
+
type PerfHighlights = {
|
|
11
|
+
hookRunTimes: Record<string, Record<string, number>>;
|
|
12
|
+
'oclif.commandLoadMs': number;
|
|
13
|
+
'oclif.commandRunMs': number;
|
|
14
|
+
'oclif.configLoadMs': number;
|
|
15
|
+
'oclif.corePluginsLoadMs': number;
|
|
16
|
+
'oclif.initHookMs': number;
|
|
17
|
+
'oclif.initMs': number;
|
|
18
|
+
'oclif.linkedPluginsLoadMs': number;
|
|
19
|
+
'oclif.postrunHookMs': number;
|
|
20
|
+
'oclif.prerunHookMs': number;
|
|
21
|
+
'oclif.runMs': number;
|
|
22
|
+
'oclif.userPluginsLoadMs': number;
|
|
23
|
+
pluginLoadTimes: Record<string, {
|
|
24
|
+
details: Details;
|
|
25
|
+
duration: number;
|
|
26
|
+
}>;
|
|
27
|
+
};
|
|
28
|
+
export declare const OCLIF_MARKER_OWNER = "@oclif/core";
|
|
29
|
+
declare class Marker {
|
|
30
|
+
owner: string;
|
|
31
|
+
name: string;
|
|
32
|
+
details: Details;
|
|
33
|
+
method: string;
|
|
34
|
+
module: string;
|
|
35
|
+
scope: string;
|
|
36
|
+
stopped: boolean;
|
|
37
|
+
private startMarker;
|
|
38
|
+
private stopMarker;
|
|
39
|
+
constructor(owner: string, name: string, details?: Details);
|
|
40
|
+
addDetails(details: Details): void;
|
|
41
|
+
measure(): void;
|
|
42
|
+
stop(): void;
|
|
43
|
+
}
|
|
44
|
+
export declare class Performance {
|
|
45
|
+
private static _oclifPerf;
|
|
46
|
+
private static _results;
|
|
47
|
+
private static markers;
|
|
48
|
+
/**
|
|
49
|
+
* Collect performance results into static Performance.results
|
|
50
|
+
*
|
|
51
|
+
* @returns Promise<void>
|
|
52
|
+
*/
|
|
53
|
+
static collect(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Add debug logs for plugin loading performance
|
|
56
|
+
*/
|
|
57
|
+
static debug(): void;
|
|
58
|
+
static getResult(owner: string, name: string): PerfResult | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Add a new performance marker
|
|
61
|
+
*
|
|
62
|
+
* @param owner An npm package like `@oclif/core` or `@salesforce/source-tracking`
|
|
63
|
+
* @param name Name of the marker. Use `module.method#scope` format
|
|
64
|
+
* @param details Arbitrary details to attach to the marker
|
|
65
|
+
* @returns Marker instance
|
|
66
|
+
*/
|
|
67
|
+
static mark(owner: string, name: string, details?: Details): Marker | undefined;
|
|
68
|
+
static get enabled(): boolean;
|
|
69
|
+
static get oclifPerf(): PerfHighlights | Record<string, never>;
|
|
70
|
+
/** returns a map of owner, PerfResult[]. Excludes oclif PerfResult, which you can get from oclifPerf */
|
|
71
|
+
static get results(): Map<string, PerfResult[]>;
|
|
72
|
+
}
|
|
73
|
+
export {};
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Performance = exports.OCLIF_MARKER_OWNER = void 0;
|
|
4
|
+
const node_perf_hooks_1 = require("node:perf_hooks");
|
|
5
|
+
const logger_1 = require("./logger");
|
|
6
|
+
const settings_1 = require("./settings");
|
|
7
|
+
exports.OCLIF_MARKER_OWNER = '@oclif/core';
|
|
8
|
+
class Marker {
|
|
9
|
+
owner;
|
|
10
|
+
name;
|
|
11
|
+
details;
|
|
12
|
+
method;
|
|
13
|
+
module;
|
|
14
|
+
scope;
|
|
15
|
+
stopped = false;
|
|
16
|
+
startMarker;
|
|
17
|
+
stopMarker;
|
|
18
|
+
constructor(owner, name, details = {}) {
|
|
19
|
+
this.owner = owner;
|
|
20
|
+
this.name = name;
|
|
21
|
+
this.details = details;
|
|
22
|
+
this.startMarker = `${this.name}-start`;
|
|
23
|
+
this.stopMarker = `${this.name}-stop`;
|
|
24
|
+
const [caller, scope] = name.split('#');
|
|
25
|
+
const [module, method] = caller.split('.');
|
|
26
|
+
this.module = module;
|
|
27
|
+
this.method = method;
|
|
28
|
+
this.scope = scope;
|
|
29
|
+
node_perf_hooks_1.performance.mark(this.startMarker);
|
|
30
|
+
}
|
|
31
|
+
addDetails(details) {
|
|
32
|
+
this.details = { ...this.details, ...details };
|
|
33
|
+
}
|
|
34
|
+
measure() {
|
|
35
|
+
node_perf_hooks_1.performance.measure(this.name, this.startMarker, this.stopMarker);
|
|
36
|
+
}
|
|
37
|
+
stop() {
|
|
38
|
+
this.stopped = true;
|
|
39
|
+
node_perf_hooks_1.performance.mark(this.stopMarker);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
class Performance {
|
|
43
|
+
static _oclifPerf;
|
|
44
|
+
/* Key: marker.owner */
|
|
45
|
+
static _results = new Map();
|
|
46
|
+
/* Key: marker.name */
|
|
47
|
+
static markers = new Map();
|
|
48
|
+
/**
|
|
49
|
+
* Collect performance results into static Performance.results
|
|
50
|
+
*
|
|
51
|
+
* @returns Promise<void>
|
|
52
|
+
*/
|
|
53
|
+
static async collect() {
|
|
54
|
+
if (!Performance.enabled)
|
|
55
|
+
return;
|
|
56
|
+
if (Performance._results.size > 0)
|
|
57
|
+
return;
|
|
58
|
+
const markers = [...Performance.markers.values()];
|
|
59
|
+
if (markers.length === 0)
|
|
60
|
+
return;
|
|
61
|
+
for (const marker of markers.filter((m) => !m.stopped)) {
|
|
62
|
+
marker.stop();
|
|
63
|
+
}
|
|
64
|
+
return new Promise((resolve) => {
|
|
65
|
+
// eslint-disable-next-line complexity
|
|
66
|
+
const perfObserver = new node_perf_hooks_1.PerformanceObserver((items) => {
|
|
67
|
+
for (const entry of items.getEntries()) {
|
|
68
|
+
const marker = Performance.markers.get(entry.name);
|
|
69
|
+
if (marker) {
|
|
70
|
+
const result = {
|
|
71
|
+
details: marker.details,
|
|
72
|
+
duration: entry.duration,
|
|
73
|
+
method: marker.method,
|
|
74
|
+
module: marker.module,
|
|
75
|
+
name: entry.name,
|
|
76
|
+
scope: marker.scope,
|
|
77
|
+
};
|
|
78
|
+
const existing = Performance._results.get(marker.owner) ?? [];
|
|
79
|
+
Performance._results.set(marker.owner, [...existing, result]);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const oclifResults = Performance._results.get(exports.OCLIF_MARKER_OWNER) ?? [];
|
|
83
|
+
const command = oclifResults.find((r) => r.name.startsWith('config.runCommand'));
|
|
84
|
+
const commandLoadTime = command
|
|
85
|
+
? (Performance.getResult(exports.OCLIF_MARKER_OWNER, `plugin.findCommand#${command.details.plugin}.${command.details.command}`)?.duration ?? 0)
|
|
86
|
+
: 0;
|
|
87
|
+
const pluginLoadTimes = Object.fromEntries(oclifResults
|
|
88
|
+
.filter(({ name }) => name.startsWith('plugin.load#'))
|
|
89
|
+
.sort((a, b) => b.duration - a.duration)
|
|
90
|
+
.map(({ details, duration, scope }) => [scope, { details, duration }]));
|
|
91
|
+
const hookRunTimes = oclifResults
|
|
92
|
+
.filter(({ name }) => name.startsWith('config.runHook#'))
|
|
93
|
+
.reduce((acc, perfResult) => {
|
|
94
|
+
const event = perfResult.details.event;
|
|
95
|
+
if (event) {
|
|
96
|
+
if (!acc[event])
|
|
97
|
+
acc[event] = {};
|
|
98
|
+
acc[event][perfResult.scope] = perfResult.duration;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
const event = perfResult.scope;
|
|
102
|
+
if (!acc[event])
|
|
103
|
+
acc[event] = {};
|
|
104
|
+
acc[event].total = perfResult.duration;
|
|
105
|
+
}
|
|
106
|
+
return acc;
|
|
107
|
+
}, {});
|
|
108
|
+
const pluginLoadTimeByType = Object.fromEntries(oclifResults
|
|
109
|
+
.filter(({ name }) => name.startsWith('config.loadPlugins#'))
|
|
110
|
+
.sort((a, b) => b.duration - a.duration)
|
|
111
|
+
.map(({ duration, scope }) => [scope, duration]));
|
|
112
|
+
Performance._oclifPerf = {
|
|
113
|
+
hookRunTimes,
|
|
114
|
+
'oclif.commandLoadMs': commandLoadTime,
|
|
115
|
+
'oclif.commandRunMs': oclifResults.find(({ name }) => name.startsWith('config.runCommand#'))?.duration ?? 0,
|
|
116
|
+
'oclif.configLoadMs': Performance.getResult(exports.OCLIF_MARKER_OWNER, 'config.load')?.duration ?? 0,
|
|
117
|
+
'oclif.corePluginsLoadMs': pluginLoadTimeByType.core ?? 0,
|
|
118
|
+
'oclif.initHookMs': hookRunTimes.init?.total ?? 0,
|
|
119
|
+
'oclif.initMs': Performance.getResult(exports.OCLIF_MARKER_OWNER, 'main.run#init')?.duration ?? 0,
|
|
120
|
+
'oclif.linkedPluginsLoadMs': pluginLoadTimeByType.link ?? 0,
|
|
121
|
+
'oclif.postrunHookMs': hookRunTimes.postrun?.total ?? 0,
|
|
122
|
+
'oclif.prerunHookMs': hookRunTimes.prerun?.total ?? 0,
|
|
123
|
+
'oclif.runMs': Performance.getResult(exports.OCLIF_MARKER_OWNER, 'main.run')?.duration ?? 0,
|
|
124
|
+
'oclif.userPluginsLoadMs': pluginLoadTimeByType.user ?? 0,
|
|
125
|
+
pluginLoadTimes,
|
|
126
|
+
};
|
|
127
|
+
resolve();
|
|
128
|
+
});
|
|
129
|
+
perfObserver.observe({ buffered: true, entryTypes: ['measure'] });
|
|
130
|
+
for (const marker of markers) {
|
|
131
|
+
try {
|
|
132
|
+
marker.measure();
|
|
133
|
+
}
|
|
134
|
+
catch {
|
|
135
|
+
// ignore
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
node_perf_hooks_1.performance.clearMarks();
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Add debug logs for plugin loading performance
|
|
143
|
+
*/
|
|
144
|
+
static debug() {
|
|
145
|
+
if (!Performance.enabled)
|
|
146
|
+
return;
|
|
147
|
+
const oclifDebug = (0, logger_1.makeDebug)('perf');
|
|
148
|
+
const processUpTime = (process.uptime() * 1000).toFixed(4);
|
|
149
|
+
oclifDebug('Process Uptime: %sms', processUpTime);
|
|
150
|
+
oclifDebug('Oclif Time: %sms', Performance.oclifPerf['oclif.runMs'].toFixed(4));
|
|
151
|
+
oclifDebug('Init Time: %sms', Performance.oclifPerf['oclif.initMs'].toFixed(4));
|
|
152
|
+
oclifDebug('Config Load Time: %sms', Performance.oclifPerf['oclif.configLoadMs'].toFixed(4));
|
|
153
|
+
oclifDebug(' • Root Plugin Load Time: %sms', Performance.getResult(exports.OCLIF_MARKER_OWNER, 'plugin.load#root')?.duration.toFixed(4) ?? 0);
|
|
154
|
+
oclifDebug(' • Plugins Load Time: %sms', Performance.getResult(exports.OCLIF_MARKER_OWNER, 'config.loadAllPlugins')?.duration.toFixed(4) ?? 0);
|
|
155
|
+
oclifDebug(' • Commands Load Time: %sms', Performance.getResult(exports.OCLIF_MARKER_OWNER, 'config.loadAllCommands')?.duration.toFixed(4) ?? 0);
|
|
156
|
+
oclifDebug('Core Plugin Load Time: %sms', Performance.oclifPerf['oclif.corePluginsLoadMs'].toFixed(4));
|
|
157
|
+
oclifDebug('User Plugin Load Time: %sms', Performance.oclifPerf['oclif.userPluginsLoadMs'].toFixed(4));
|
|
158
|
+
oclifDebug('Linked Plugin Load Time: %sms', Performance.oclifPerf['oclif.linkedPluginsLoadMs'].toFixed(4));
|
|
159
|
+
oclifDebug('Plugin Load Times:');
|
|
160
|
+
for (const [plugin, result] of Object.entries(Performance.oclifPerf.pluginLoadTimes)) {
|
|
161
|
+
if (result.details.hasManifest) {
|
|
162
|
+
oclifDebug(` ${plugin}: ${result.duration.toFixed(4)}ms`);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
oclifDebug(` ${plugin}: ${result.duration.toFixed(4)}ms (no manifest!)`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
oclifDebug('Hook Run Times:');
|
|
169
|
+
for (const [event, runTimes] of Object.entries(Performance.oclifPerf.hookRunTimes)) {
|
|
170
|
+
oclifDebug(` ${event}:`);
|
|
171
|
+
for (const [plugin, duration] of Object.entries(runTimes)) {
|
|
172
|
+
oclifDebug(` ${plugin}: ${duration.toFixed(4)}ms`);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
oclifDebug('Command Load Time: %sms', Performance.oclifPerf['oclif.commandLoadMs'].toFixed(4));
|
|
176
|
+
oclifDebug('Command Run Time: %sms', Performance.oclifPerf['oclif.commandRunMs'].toFixed(4));
|
|
177
|
+
if (Performance.oclifPerf['oclif.configLoadMs'] > Performance.oclifPerf['oclif.runMs']) {
|
|
178
|
+
oclifDebug('! Config load time is greater than total oclif time. This might mean that Config was instantiated before oclif was run.');
|
|
179
|
+
}
|
|
180
|
+
const nonCoreDebug = (0, logger_1.makeDebug)('non-oclif-perf');
|
|
181
|
+
const nonCorePerf = Performance.results;
|
|
182
|
+
if (nonCorePerf.size > 0) {
|
|
183
|
+
nonCoreDebug('Non-Core Performance Measurements:');
|
|
184
|
+
for (const [owner, results] of nonCorePerf) {
|
|
185
|
+
nonCoreDebug(` ${owner}:`);
|
|
186
|
+
for (const result of results) {
|
|
187
|
+
nonCoreDebug(` ${result.name}: ${result.duration.toFixed(4)}ms`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
static getResult(owner, name) {
|
|
193
|
+
return Performance._results.get(owner)?.find((r) => r.name === name);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Add a new performance marker
|
|
197
|
+
*
|
|
198
|
+
* @param owner An npm package like `@oclif/core` or `@salesforce/source-tracking`
|
|
199
|
+
* @param name Name of the marker. Use `module.method#scope` format
|
|
200
|
+
* @param details Arbitrary details to attach to the marker
|
|
201
|
+
* @returns Marker instance
|
|
202
|
+
*/
|
|
203
|
+
static mark(owner, name, details = {}) {
|
|
204
|
+
if (!Performance.enabled)
|
|
205
|
+
return;
|
|
206
|
+
const marker = new Marker(owner, name, details);
|
|
207
|
+
Performance.markers.set(marker.name, marker);
|
|
208
|
+
return marker;
|
|
209
|
+
}
|
|
210
|
+
static get enabled() {
|
|
211
|
+
return settings_1.settings.performanceEnabled ?? false;
|
|
212
|
+
}
|
|
213
|
+
static get oclifPerf() {
|
|
214
|
+
if (!Performance.enabled)
|
|
215
|
+
return {};
|
|
216
|
+
if (Performance._oclifPerf)
|
|
217
|
+
return Performance._oclifPerf;
|
|
218
|
+
throw new Error('Perf results not available. Did you forget to call await Performance.collect()?');
|
|
219
|
+
}
|
|
220
|
+
/** returns a map of owner, PerfResult[]. Excludes oclif PerfResult, which you can get from oclifPerf */
|
|
221
|
+
static get results() {
|
|
222
|
+
if (!Performance.enabled)
|
|
223
|
+
return new Map();
|
|
224
|
+
return new Map([...Performance._results.entries()].filter(([owner]) => owner !== exports.OCLIF_MARKER_OWNER));
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
exports.Performance = Performance;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errtermwidth = exports.stdtermwidth = void 0;
|
|
4
|
+
const settings_1 = require("./settings");
|
|
5
|
+
function termwidth(stream) {
|
|
6
|
+
if (!stream.isTTY) {
|
|
7
|
+
return 80;
|
|
8
|
+
}
|
|
9
|
+
const width = stream.getWindowSize()[0];
|
|
10
|
+
if (width < 1) {
|
|
11
|
+
return 80;
|
|
12
|
+
}
|
|
13
|
+
if (width < 40) {
|
|
14
|
+
return 40;
|
|
15
|
+
}
|
|
16
|
+
return width;
|
|
17
|
+
}
|
|
18
|
+
const columns = Number.parseInt(process.env.OCLIF_COLUMNS, 10) || settings_1.settings.columns;
|
|
19
|
+
exports.stdtermwidth = columns || termwidth(process.stdout);
|
|
20
|
+
exports.errtermwidth = columns || termwidth(process.stderr);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type Settings = {
|
|
2
|
+
/**
|
|
3
|
+
* Set the terminal width to a specified number of columns (characters)
|
|
4
|
+
*
|
|
5
|
+
* Environment Variable:
|
|
6
|
+
* OCLIF_COLUMNS=80
|
|
7
|
+
*/
|
|
8
|
+
columns?: number | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Show additional debug output without DEBUG. Mainly shows stackstraces.
|
|
11
|
+
*
|
|
12
|
+
* Useful to set in the ./bin/dev.js script.
|
|
13
|
+
* oclif.settings.debug = true;
|
|
14
|
+
*/
|
|
15
|
+
debug?: boolean | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Enable performance tracking. Resulting data is available in the `perf` property of the `Config` class.
|
|
18
|
+
* This will be overridden by the `enablePerf` property passed into Config constructor.
|
|
19
|
+
*/
|
|
20
|
+
performanceEnabled?: boolean | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Try to use ts-node to load typescript source files instead of javascript files.
|
|
23
|
+
* Defaults to true in development and test environments (e.g. using bin/dev.js or
|
|
24
|
+
* NODE_ENV=development or NODE_ENV=test).
|
|
25
|
+
*
|
|
26
|
+
* @deprecated use enableAutoTranspile instead.
|
|
27
|
+
*/
|
|
28
|
+
tsnodeEnabled?: boolean | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Enable automatic transpilation of TypeScript files to JavaScript.
|
|
31
|
+
*
|
|
32
|
+
* Defaults to true in development and test environments (e.g. using bin/dev.js or NODE_ENV=development or NODE_ENV=test).
|
|
33
|
+
*/
|
|
34
|
+
enableAutoTranspile?: boolean | undefined;
|
|
35
|
+
};
|
|
36
|
+
export declare const settings: Settings;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SINGLE_COMMAND_CLI_SYMBOL: string;
|