@pristine-ts/cli 2.0.6 → 2.0.16
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/lib/cjs/bin.js +0 -0
- package/dist/lib/cjs/bootstrap/app-module-cache.js +71 -0
- package/dist/lib/cjs/bootstrap/app-module-cache.js.map +1 -0
- package/dist/lib/cjs/bootstrap/app-module-discoverer.js +119 -0
- package/dist/lib/cjs/bootstrap/app-module-discoverer.js.map +1 -0
- package/dist/lib/cjs/bootstrap/app-module-discovery-candidate.js +21 -0
- package/dist/lib/cjs/bootstrap/app-module-discovery-candidate.js.map +1 -0
- package/dist/lib/cjs/bootstrap/app-module-discovery-reason.enum.js +15 -0
- package/dist/lib/cjs/bootstrap/app-module-discovery-reason.enum.js.map +1 -0
- package/dist/lib/cjs/bootstrap/app-module-prompt.js +78 -0
- package/dist/lib/cjs/bootstrap/app-module-prompt.js.map +1 -0
- package/dist/lib/cjs/bootstrap/build-runner.js +1 -1
- package/dist/lib/cjs/bootstrap/build-staleness-prompt.js +12 -13
- package/dist/lib/cjs/bootstrap/build-staleness-prompt.js.map +1 -1
- package/dist/lib/cjs/bootstrap/init-prompt.js +16 -47
- package/dist/lib/cjs/bootstrap/init-prompt.js.map +1 -1
- package/dist/lib/cjs/cli.configuration-keys.js +24 -0
- package/dist/lib/cjs/cli.configuration-keys.js.map +1 -0
- package/dist/lib/cjs/cli.js +23 -10
- package/dist/lib/cjs/cli.js.map +1 -1
- package/dist/lib/cjs/cli.module.js +41 -8
- package/dist/lib/cjs/cli.module.js.map +1 -1
- package/dist/lib/cjs/commands/build.command.js +15 -14
- package/dist/lib/cjs/commands/build.command.js.map +1 -1
- package/dist/lib/cjs/commands/commands.js +6 -0
- package/dist/lib/cjs/commands/commands.js.map +1 -1
- package/dist/lib/cjs/commands/config-init.command.js +133 -0
- package/dist/lib/cjs/commands/config-init.command.js.map +1 -0
- package/dist/lib/cjs/commands/config-print.command.js +16 -11
- package/dist/lib/cjs/commands/config-print.command.js.map +1 -1
- package/dist/lib/cjs/commands/help.command.js +17 -17
- package/dist/lib/cjs/commands/help.command.js.map +1 -1
- package/dist/lib/cjs/commands/info.command.js +26 -21
- package/dist/lib/cjs/commands/info.command.js.map +1 -1
- package/dist/lib/cjs/commands/init.command.js +22 -21
- package/dist/lib/cjs/commands/init.command.js.map +1 -1
- package/dist/lib/cjs/commands/list.command.js +6 -6
- package/dist/lib/cjs/commands/list.command.js.map +1 -1
- package/dist/lib/cjs/commands/logs-alias.command.js +49 -0
- package/dist/lib/cjs/commands/logs-alias.command.js.map +1 -0
- package/dist/lib/cjs/commands/logs.command-options.js +72 -0
- package/dist/lib/cjs/commands/logs.command-options.js.map +1 -0
- package/dist/lib/cjs/commands/logs.command.js +102 -0
- package/dist/lib/cjs/commands/logs.command.js.map +1 -0
- package/dist/lib/cjs/commands/requests-alias.command.js +49 -0
- package/dist/lib/cjs/commands/requests-alias.command.js.map +1 -0
- package/dist/lib/cjs/commands/requests.command-options.js +26 -0
- package/dist/lib/cjs/commands/requests.command-options.js.map +1 -0
- package/dist/lib/cjs/commands/requests.command.js +88 -0
- package/dist/lib/cjs/commands/requests.command.js.map +1 -0
- package/dist/lib/cjs/commands/start.command.js +12 -13
- package/dist/lib/cjs/commands/start.command.js.map +1 -1
- package/dist/lib/cjs/commands/trace-alias.command.js +49 -0
- package/dist/lib/cjs/commands/trace-alias.command.js.map +1 -0
- package/dist/lib/cjs/commands/trace.command-options.js +59 -0
- package/dist/lib/cjs/commands/trace.command-options.js.map +1 -0
- package/dist/lib/cjs/commands/trace.command.js +84 -0
- package/dist/lib/cjs/commands/trace.command.js.map +1 -0
- package/dist/lib/cjs/config/config-loader.js +34 -13
- package/dist/lib/cjs/config/config-loader.js.map +1 -1
- package/dist/lib/cjs/decorators/command-parameter.decorator.js +40 -0
- package/dist/lib/cjs/decorators/command-parameter.decorator.js.map +1 -0
- package/dist/lib/cjs/decorators/decorators.js +18 -0
- package/dist/lib/cjs/decorators/decorators.js.map +1 -0
- package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js +14 -0
- package/dist/lib/cjs/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
- package/dist/lib/cjs/enums/enums.js +19 -0
- package/dist/lib/cjs/enums/enums.js.map +1 -0
- package/dist/lib/cjs/enums/exit-code.enum.js +9 -0
- package/dist/lib/cjs/enums/exit-code.enum.js.map +1 -0
- package/dist/lib/cjs/enums/terminal-key-name.enum.js +21 -0
- package/dist/lib/cjs/enums/terminal-key-name.enum.js.map +1 -0
- package/dist/lib/cjs/errors/cli-error-code.enum.js +11 -1
- package/dist/lib/cjs/errors/cli-error-code.enum.js.map +1 -1
- package/dist/lib/cjs/errors/errors.js +1 -0
- package/dist/lib/cjs/errors/errors.js.map +1 -1
- package/dist/lib/cjs/errors/prompt-cancelled.error.js +25 -0
- package/dist/lib/cjs/errors/prompt-cancelled.error.js.map +1 -0
- package/dist/lib/cjs/event-handlers/cli.event-handler.js +28 -70
- package/dist/lib/cjs/event-handlers/cli.event-handler.js.map +1 -1
- package/dist/lib/cjs/event-handlers/event-handlers.js +1 -0
- package/dist/lib/cjs/event-handlers/event-handlers.js.map +1 -1
- package/dist/lib/cjs/event-handlers/repl-start.event-handler.js +280 -0
- package/dist/lib/cjs/event-handlers/repl-start.event-handler.js.map +1 -0
- package/dist/lib/cjs/event-payloads/event-payloads.js +1 -0
- package/dist/lib/cjs/event-payloads/event-payloads.js.map +1 -1
- package/dist/lib/cjs/event-payloads/start-repl.event-payload.js +19 -0
- package/dist/lib/cjs/event-payloads/start-repl.event-payload.js.map +1 -0
- package/dist/lib/cjs/interfaces/interfaces.js +1 -0
- package/dist/lib/cjs/interfaces/interfaces.js.map +1 -1
- package/dist/lib/cjs/interfaces/terminal-key.interface.js +3 -0
- package/dist/lib/cjs/interfaces/terminal-key.interface.js.map +1 -0
- package/dist/lib/cjs/managers/cli-output.manager.js +45 -0
- package/dist/lib/cjs/managers/cli-output.manager.js.map +1 -0
- package/dist/lib/cjs/managers/cli-progress-bar.manager.js +49 -0
- package/dist/lib/cjs/managers/cli-progress-bar.manager.js.map +1 -0
- package/dist/lib/cjs/managers/cli-prompt.manager.js +265 -0
- package/dist/lib/cjs/managers/cli-prompt.manager.js.map +1 -0
- package/dist/lib/cjs/managers/cli-spinner.manager.js +93 -0
- package/dist/lib/cjs/managers/cli-spinner.manager.js.map +1 -0
- package/dist/lib/cjs/managers/managers.js +5 -1
- package/dist/lib/cjs/managers/managers.js.map +1 -1
- package/dist/lib/cjs/managers/repl-session.js +251 -0
- package/dist/lib/cjs/managers/repl-session.js.map +1 -0
- package/dist/lib/cjs/managers/shell.manager.js +25 -20
- package/dist/lib/cjs/managers/shell.manager.js.map +1 -1
- package/dist/lib/cjs/managers/terminal-key-reader.manager.js +99 -0
- package/dist/lib/cjs/managers/terminal-key-reader.manager.js.map +1 -0
- package/dist/lib/cjs/mappers/command-event.mapper.js +48 -8
- package/dist/lib/cjs/mappers/command-event.mapper.js.map +1 -1
- package/dist/lib/cjs/mappers/mappers.js +1 -0
- package/dist/lib/cjs/mappers/mappers.js.map +1 -1
- package/dist/lib/cjs/mappers/repl-start-event.mapper.js +80 -0
- package/dist/lib/cjs/mappers/repl-start-event.mapper.js.map +1 -0
- package/dist/lib/cjs/options/command-parameter.options.js +3 -0
- package/dist/lib/cjs/options/command-parameter.options.js.map +1 -0
- package/dist/lib/cjs/options/options.js +1 -0
- package/dist/lib/cjs/options/options.js.map +1 -1
- package/dist/lib/cjs/services/command-argument-resolver.js +62 -0
- package/dist/lib/cjs/services/command-argument-resolver.js.map +1 -0
- package/dist/lib/cjs/services/command-options-resolver.js +114 -0
- package/dist/lib/cjs/services/command-options-resolver.js.map +1 -0
- package/dist/lib/cjs/services/command-parameter-prompter.js +311 -0
- package/dist/lib/cjs/services/command-parameter-prompter.js.map +1 -0
- package/dist/lib/cjs/services/services.js +20 -0
- package/dist/lib/cjs/services/services.js.map +1 -0
- package/dist/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/lib/cjs/types/start-repl-event-response.type.js +13 -0
- package/dist/lib/cjs/types/start-repl-event-response.type.js.map +1 -0
- package/dist/lib/cjs/types/types.js +1 -0
- package/dist/lib/cjs/types/types.js.map +1 -1
- package/dist/lib/cjs/utils/boolean-answer-parser.js +25 -0
- package/dist/lib/cjs/utils/boolean-answer-parser.js.map +1 -0
- package/dist/lib/cjs/utils/pristine-argv.js +87 -0
- package/dist/lib/cjs/utils/pristine-argv.js.map +1 -0
- package/dist/lib/cjs/utils/terminal-key-decoder.js +71 -0
- package/dist/lib/cjs/utils/terminal-key-decoder.js.map +1 -0
- package/dist/lib/esm/bootstrap/app-module-cache.js +65 -0
- package/dist/lib/esm/bootstrap/app-module-cache.js.map +1 -0
- package/dist/lib/esm/bootstrap/app-module-discoverer.js +113 -0
- package/dist/lib/esm/bootstrap/app-module-discoverer.js.map +1 -0
- package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js +17 -0
- package/dist/lib/esm/bootstrap/app-module-discovery-candidate.js.map +1 -0
- package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js +12 -0
- package/dist/lib/esm/bootstrap/app-module-discovery-reason.enum.js.map +1 -0
- package/dist/lib/esm/bootstrap/app-module-prompt.js +75 -0
- package/dist/lib/esm/bootstrap/app-module-prompt.js.map +1 -0
- package/dist/lib/esm/bootstrap/build-runner.js +1 -1
- package/dist/lib/esm/bootstrap/build-staleness-prompt.js +12 -13
- package/dist/lib/esm/bootstrap/build-staleness-prompt.js.map +1 -1
- package/dist/lib/esm/bootstrap/init-prompt.js +16 -47
- package/dist/lib/esm/bootstrap/init-prompt.js.map +1 -1
- package/dist/lib/esm/cli.configuration-keys.js +21 -0
- package/dist/lib/esm/cli.configuration-keys.js.map +1 -0
- package/dist/lib/esm/cli.js +23 -10
- package/dist/lib/esm/cli.js.map +1 -1
- package/dist/lib/esm/cli.module.js +41 -8
- package/dist/lib/esm/cli.module.js.map +1 -1
- package/dist/lib/esm/commands/build.command.js +16 -15
- package/dist/lib/esm/commands/build.command.js.map +1 -1
- package/dist/lib/esm/commands/commands.js +6 -0
- package/dist/lib/esm/commands/commands.js.map +1 -1
- package/dist/lib/esm/commands/config-init.command.js +127 -0
- package/dist/lib/esm/commands/config-init.command.js.map +1 -0
- package/dist/lib/esm/commands/config-print.command.js +16 -11
- package/dist/lib/esm/commands/config-print.command.js.map +1 -1
- package/dist/lib/esm/commands/help.command.js +17 -17
- package/dist/lib/esm/commands/help.command.js.map +1 -1
- package/dist/lib/esm/commands/info.command.js +27 -22
- package/dist/lib/esm/commands/info.command.js.map +1 -1
- package/dist/lib/esm/commands/init.command.js +23 -22
- package/dist/lib/esm/commands/init.command.js.map +1 -1
- package/dist/lib/esm/commands/list.command.js +6 -6
- package/dist/lib/esm/commands/list.command.js.map +1 -1
- package/dist/lib/esm/commands/logs-alias.command.js +46 -0
- package/dist/lib/esm/commands/logs-alias.command.js.map +1 -0
- package/dist/lib/esm/commands/logs.command-options.js +68 -0
- package/dist/lib/esm/commands/logs.command-options.js.map +1 -0
- package/dist/lib/esm/commands/logs.command.js +99 -0
- package/dist/lib/esm/commands/logs.command.js.map +1 -0
- package/dist/lib/esm/commands/requests-alias.command.js +46 -0
- package/dist/lib/esm/commands/requests-alias.command.js.map +1 -0
- package/dist/lib/esm/commands/requests.command-options.js +22 -0
- package/dist/lib/esm/commands/requests.command-options.js.map +1 -0
- package/dist/lib/esm/commands/requests.command.js +85 -0
- package/dist/lib/esm/commands/requests.command.js.map +1 -0
- package/dist/lib/esm/commands/start.command.js +13 -14
- package/dist/lib/esm/commands/start.command.js.map +1 -1
- package/dist/lib/esm/commands/trace-alias.command.js +46 -0
- package/dist/lib/esm/commands/trace-alias.command.js.map +1 -0
- package/dist/lib/esm/commands/trace.command-options.js +55 -0
- package/dist/lib/esm/commands/trace.command-options.js.map +1 -0
- package/dist/lib/esm/commands/trace.command.js +81 -0
- package/dist/lib/esm/commands/trace.command.js.map +1 -0
- package/dist/lib/esm/config/config-loader.js +34 -13
- package/dist/lib/esm/config/config-loader.js.map +1 -1
- package/dist/lib/esm/decorators/command-parameter.decorator.js +36 -0
- package/dist/lib/esm/decorators/command-parameter.decorator.js.map +1 -0
- package/dist/lib/esm/decorators/decorators.js +2 -0
- package/dist/lib/esm/decorators/decorators.js.map +1 -0
- package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js +11 -0
- package/dist/lib/esm/enums/cli-decorator-metadata-keyname.enum.js.map +1 -0
- package/dist/lib/esm/enums/enums.js +3 -0
- package/dist/lib/esm/enums/enums.js.map +1 -0
- package/dist/lib/esm/enums/exit-code.enum.js +6 -0
- package/dist/lib/esm/enums/exit-code.enum.js.map +1 -0
- package/dist/lib/esm/enums/terminal-key-name.enum.js +18 -0
- package/dist/lib/esm/enums/terminal-key-name.enum.js.map +1 -0
- package/dist/lib/esm/errors/cli-error-code.enum.js +11 -1
- package/dist/lib/esm/errors/cli-error-code.enum.js.map +1 -1
- package/dist/lib/esm/errors/errors.js +1 -0
- package/dist/lib/esm/errors/errors.js.map +1 -1
- package/dist/lib/esm/errors/prompt-cancelled.error.js +21 -0
- package/dist/lib/esm/errors/prompt-cancelled.error.js.map +1 -0
- package/dist/lib/esm/event-handlers/cli.event-handler.js +29 -71
- package/dist/lib/esm/event-handlers/cli.event-handler.js.map +1 -1
- package/dist/lib/esm/event-handlers/event-handlers.js +1 -0
- package/dist/lib/esm/event-handlers/event-handlers.js.map +1 -1
- package/dist/lib/esm/event-handlers/repl-start.event-handler.js +244 -0
- package/dist/lib/esm/event-handlers/repl-start.event-handler.js.map +1 -0
- package/dist/lib/esm/event-payloads/event-payloads.js +1 -0
- package/dist/lib/esm/event-payloads/event-payloads.js.map +1 -1
- package/dist/lib/esm/event-payloads/start-repl.event-payload.js +15 -0
- package/dist/lib/esm/event-payloads/start-repl.event-payload.js.map +1 -0
- package/dist/lib/esm/interfaces/interfaces.js +1 -0
- package/dist/lib/esm/interfaces/interfaces.js.map +1 -1
- package/dist/lib/esm/interfaces/terminal-key.interface.js +2 -0
- package/dist/lib/esm/interfaces/terminal-key.interface.js.map +1 -0
- package/dist/lib/esm/managers/cli-output.manager.js +42 -0
- package/dist/lib/esm/managers/cli-output.manager.js.map +1 -0
- package/dist/lib/esm/managers/cli-progress-bar.manager.js +46 -0
- package/dist/lib/esm/managers/cli-progress-bar.manager.js.map +1 -0
- package/dist/lib/esm/managers/cli-prompt.manager.js +229 -0
- package/dist/lib/esm/managers/cli-prompt.manager.js.map +1 -0
- package/dist/lib/esm/managers/cli-spinner.manager.js +90 -0
- package/dist/lib/esm/managers/cli-spinner.manager.js.map +1 -0
- package/dist/lib/esm/managers/managers.js +5 -1
- package/dist/lib/esm/managers/managers.js.map +1 -1
- package/dist/lib/esm/managers/repl-session.js +215 -0
- package/dist/lib/esm/managers/repl-session.js.map +1 -0
- package/dist/lib/esm/managers/shell.manager.js +26 -21
- package/dist/lib/esm/managers/shell.manager.js.map +1 -1
- package/dist/lib/esm/managers/terminal-key-reader.manager.js +96 -0
- package/dist/lib/esm/managers/terminal-key-reader.manager.js.map +1 -0
- package/dist/lib/esm/mappers/command-event.mapper.js +49 -9
- package/dist/lib/esm/mappers/command-event.mapper.js.map +1 -1
- package/dist/lib/esm/mappers/mappers.js +1 -0
- package/dist/lib/esm/mappers/mappers.js.map +1 -1
- package/dist/lib/esm/mappers/repl-start-event.mapper.js +77 -0
- package/dist/lib/esm/mappers/repl-start-event.mapper.js.map +1 -0
- package/dist/lib/esm/options/command-parameter.options.js +2 -0
- package/dist/lib/esm/options/command-parameter.options.js.map +1 -0
- package/dist/lib/esm/options/options.js +1 -0
- package/dist/lib/esm/options/options.js.map +1 -1
- package/dist/lib/esm/services/command-argument-resolver.js +59 -0
- package/dist/lib/esm/services/command-argument-resolver.js.map +1 -0
- package/dist/lib/esm/services/command-options-resolver.js +111 -0
- package/dist/lib/esm/services/command-options-resolver.js.map +1 -0
- package/dist/lib/esm/services/command-parameter-prompter.js +308 -0
- package/dist/lib/esm/services/command-parameter-prompter.js.map +1 -0
- package/dist/lib/esm/services/services.js +4 -0
- package/dist/lib/esm/services/services.js.map +1 -0
- package/dist/lib/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/lib/esm/types/start-repl-event-response.type.js +9 -0
- package/dist/lib/esm/types/start-repl-event-response.type.js.map +1 -0
- package/dist/lib/esm/types/types.js +1 -0
- package/dist/lib/esm/types/types.js.map +1 -1
- package/dist/lib/esm/utils/boolean-answer-parser.js +21 -0
- package/dist/lib/esm/utils/boolean-answer-parser.js.map +1 -0
- package/dist/lib/esm/utils/pristine-argv.js +50 -0
- package/dist/lib/esm/utils/pristine-argv.js.map +1 -0
- package/dist/lib/esm/utils/terminal-key-decoder.js +67 -0
- package/dist/lib/esm/utils/terminal-key-decoder.js.map +1 -0
- package/dist/types/bootstrap/app-module-cache.d.ts +15 -0
- package/dist/types/bootstrap/app-module-discoverer.d.ts +30 -0
- package/dist/types/bootstrap/app-module-discovery-candidate.d.ts +18 -0
- package/dist/types/bootstrap/app-module-discovery-reason.enum.d.ts +10 -0
- package/dist/types/bootstrap/app-module-prompt.d.ts +20 -0
- package/dist/types/bootstrap/build-runner.d.ts +1 -1
- package/dist/types/bootstrap/build-staleness-prompt.d.ts +3 -3
- package/dist/types/bootstrap/init-prompt.d.ts +5 -5
- package/dist/types/cli.configuration-keys.d.ts +32 -0
- package/dist/types/cli.d.ts +8 -4
- package/dist/types/cli.module.d.ts +4 -0
- package/dist/types/commands/build.command.d.ts +3 -3
- package/dist/types/commands/commands.d.ts +6 -0
- package/dist/types/commands/config-init.command.d.ts +18 -0
- package/dist/types/commands/config-print.command.d.ts +8 -3
- package/dist/types/commands/help.command.d.ts +3 -3
- package/dist/types/commands/info.command.d.ts +5 -3
- package/dist/types/commands/init.command.d.ts +3 -3
- package/dist/types/commands/list.command.d.ts +3 -3
- package/dist/types/commands/logs-alias.command.d.ts +14 -0
- package/dist/types/commands/logs.command-options.d.ts +38 -0
- package/dist/types/commands/logs.command.d.ts +31 -0
- package/dist/types/commands/requests-alias.command.d.ts +14 -0
- package/dist/types/commands/requests.command-options.d.ts +8 -0
- package/dist/types/commands/requests.command.d.ts +25 -0
- package/dist/types/commands/start.command.d.ts +3 -3
- package/dist/types/commands/trace-alias.command.d.ts +14 -0
- package/dist/types/commands/trace.command-options.d.ts +31 -0
- package/dist/types/commands/trace.command.d.ts +21 -0
- package/dist/types/config/config-loader.d.ts +15 -3
- package/dist/types/decorators/command-parameter.decorator.d.ts +30 -0
- package/dist/types/decorators/decorators.d.ts +1 -0
- package/dist/types/enums/cli-decorator-metadata-keyname.enum.d.ts +9 -0
- package/dist/types/enums/enums.d.ts +2 -0
- package/dist/types/enums/exit-code.enum.d.ts +4 -0
- package/dist/types/enums/terminal-key-name.enum.d.ts +16 -0
- package/dist/types/errors/cli-error-code.enum.d.ts +12 -2
- package/dist/types/errors/errors.d.ts +1 -0
- package/dist/types/errors/prompt-cancelled.error.d.ts +13 -0
- package/dist/types/event-handlers/cli.event-handler.d.ts +16 -15
- package/dist/types/event-handlers/event-handlers.d.ts +1 -0
- package/dist/types/event-handlers/repl-start.event-handler.d.ts +70 -0
- package/dist/types/event-payloads/event-payloads.d.ts +1 -0
- package/dist/types/event-payloads/start-repl.event-payload.d.ts +13 -0
- package/dist/types/interfaces/interfaces.d.ts +1 -0
- package/dist/types/interfaces/terminal-key.interface.d.ts +11 -0
- package/dist/types/managers/cli-output.manager.d.ts +21 -0
- package/dist/types/managers/cli-progress-bar.manager.d.ts +17 -0
- package/dist/types/managers/cli-prompt.manager.d.ts +79 -0
- package/dist/types/managers/cli-spinner.manager.d.ts +34 -0
- package/dist/types/managers/managers.d.ts +5 -1
- package/dist/types/managers/repl-session.d.ts +62 -0
- package/dist/types/managers/shell.manager.d.ts +3 -3
- package/dist/types/managers/terminal-key-reader.manager.d.ts +31 -0
- package/dist/types/mappers/command-event.mapper.d.ts +10 -1
- package/dist/types/mappers/mappers.d.ts +1 -0
- package/dist/types/mappers/repl-start-event.mapper.d.ts +28 -0
- package/dist/types/options/command-parameter.options.d.ts +29 -0
- package/dist/types/options/options.d.ts +1 -0
- package/dist/types/services/command-argument-resolver.d.ts +24 -0
- package/dist/types/services/command-options-resolver.d.ts +35 -0
- package/dist/types/services/command-parameter-prompter.d.ts +113 -0
- package/dist/types/services/services.d.ts +3 -0
- package/dist/types/types/start-repl-event-response.type.d.ts +10 -0
- package/dist/types/types/types.d.ts +1 -0
- package/dist/types/utils/boolean-answer-parser.d.ts +11 -0
- package/dist/types/utils/pristine-argv.d.ts +33 -0
- package/dist/types/utils/terminal-key-decoder.d.ts +28 -0
- package/package.json +16 -12
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.commandParameter = void 0;
|
|
4
|
+
const metadata_1 = require("@pristine-ts/metadata");
|
|
5
|
+
const cli_decorator_metadata_keyname_enum_1 = require("../enums/cli-decorator-metadata-keyname.enum");
|
|
6
|
+
/**
|
|
7
|
+
* Describes a command-line parameter on a command's options class. Stored as property
|
|
8
|
+
* metadata and read by the CLI while resolving a command's arguments — before the arguments
|
|
9
|
+
* are mapped onto the options instance and validated.
|
|
10
|
+
*
|
|
11
|
+
* Two behaviors flow from the options:
|
|
12
|
+
*
|
|
13
|
+
* - `flag` rebinds the property to a differently-named flag (the property name is the
|
|
14
|
+
* default), so the property and the flag no longer have to be spelled identically.
|
|
15
|
+
* - `question` makes the CLI ask for the value interactively when the flag is absent
|
|
16
|
+
* (subject to configuration and an interactive terminal). Omit it to never prompt.
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* import {IsString, IsOptional} from "@pristine-ts/class-validator";
|
|
20
|
+
* import {commandParameter} from "@pristine-ts/cli";
|
|
21
|
+
*
|
|
22
|
+
* export class MigrateCommandOptions {
|
|
23
|
+
* @commandParameter({flag: "db-url", question: "What is the database URL?"})
|
|
24
|
+
* @IsString()
|
|
25
|
+
* databaseUrl?: string; // bound to --db-url; asked for when missing
|
|
26
|
+
*
|
|
27
|
+
* @commandParameter({flag: "dir"}) // bound to --dir; never asked for
|
|
28
|
+
* @IsOptional()
|
|
29
|
+
* @IsString()
|
|
30
|
+
* migrationsDirectory?: string;
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
const commandParameter = (options = {}) => {
|
|
35
|
+
return (target, propertyKey) => {
|
|
36
|
+
metadata_1.PropertyMetadata.defineMetadata(target, propertyKey, cli_decorator_metadata_keyname_enum_1.CliDecoratorMetadataKeynameEnum.CommandParameter, options);
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.commandParameter = commandParameter;
|
|
40
|
+
//# sourceMappingURL=command-parameter.decorator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-parameter.decorator.js","sourceRoot":"","sources":["../../../../src/decorators/command-parameter.decorator.ts"],"names":[],"mappings":";;;AAAA,oDAAuD;AACvD,sGAA6F;AAG7F;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACI,MAAM,gBAAgB,GAAG,CAAC,UAAmC,EAAE,EAAE,EAAE;IACxE,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,EAAE;QAC1C,2BAAgB,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,qEAA+B,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAClH,CAAC,CAAC;AACJ,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./command-parameter.decorator"), exports);
|
|
18
|
+
//# sourceMappingURL=decorators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/decorators/decorators.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CliDecoratorMetadataKeynameEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Metadata keynames written by `@pristine-ts/cli`'s own property/class decorators and read
|
|
6
|
+
* back when resolving a command's options. Namespaced under `cli:` so they never collide
|
|
7
|
+
* with the keys other Pristine decorators (validation, data-mapping, mysql, …) store on the
|
|
8
|
+
* same class.
|
|
9
|
+
*/
|
|
10
|
+
var CliDecoratorMetadataKeynameEnum;
|
|
11
|
+
(function (CliDecoratorMetadataKeynameEnum) {
|
|
12
|
+
CliDecoratorMetadataKeynameEnum["CommandParameter"] = "cli:command-parameter";
|
|
13
|
+
})(CliDecoratorMetadataKeynameEnum || (exports.CliDecoratorMetadataKeynameEnum = CliDecoratorMetadataKeynameEnum = {}));
|
|
14
|
+
//# sourceMappingURL=cli-decorator-metadata-keyname.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-decorator-metadata-keyname.enum.js","sourceRoot":"","sources":["../../../../src/enums/cli-decorator-metadata-keyname.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,IAAY,+BAEX;AAFD,WAAY,+BAA+B;IACzC,6EAA0C,CAAA;AAC5C,CAAC,EAFW,+BAA+B,+CAA/B,+BAA+B,QAE1C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./cli-decorator-metadata-keyname.enum"), exports);
|
|
18
|
+
__exportStar(require("./terminal-key-name.enum"), exports);
|
|
19
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wEAAsD;AACtD,2DAAyC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExitCodeEnum = void 0;
|
|
4
|
+
var ExitCodeEnum;
|
|
5
|
+
(function (ExitCodeEnum) {
|
|
6
|
+
ExitCodeEnum[ExitCodeEnum["Success"] = 0] = "Success";
|
|
7
|
+
ExitCodeEnum[ExitCodeEnum["Error"] = 1] = "Error";
|
|
8
|
+
})(ExitCodeEnum || (exports.ExitCodeEnum = ExitCodeEnum = {}));
|
|
9
|
+
//# sourceMappingURL=exit-code.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit-code.enum.js","sourceRoot":"","sources":["../../../../src/enums/exit-code.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,qDAAW,CAAA;IACX,iDAAS,CAAA;AACX,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TerminalKeyName = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The kinds of keypress the CLI's interactive prompts understand. `TerminalKeyDecoder`
|
|
6
|
+
* maps the raw bytes Node delivers from a raw-mode stdin onto one of these; every printable
|
|
7
|
+
* keystroke collapses to `Character` (with the literal character carried separately on
|
|
8
|
+
* {@link TerminalKey}). `Other` covers control/escape sequences the prompts don't act on
|
|
9
|
+
* (function keys, unhandled arrows) so callers can ignore them instead of echoing garbage.
|
|
10
|
+
*/
|
|
11
|
+
var TerminalKeyName;
|
|
12
|
+
(function (TerminalKeyName) {
|
|
13
|
+
TerminalKeyName["Up"] = "up";
|
|
14
|
+
TerminalKeyName["Down"] = "down";
|
|
15
|
+
TerminalKeyName["Enter"] = "enter";
|
|
16
|
+
TerminalKeyName["Backspace"] = "backspace";
|
|
17
|
+
TerminalKeyName["CtrlC"] = "ctrl-c";
|
|
18
|
+
TerminalKeyName["Character"] = "character";
|
|
19
|
+
TerminalKeyName["Other"] = "other";
|
|
20
|
+
})(TerminalKeyName || (exports.TerminalKeyName = TerminalKeyName = {}));
|
|
21
|
+
//# sourceMappingURL=terminal-key-name.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-key-name.enum.js","sourceRoot":"","sources":["../../../../src/enums/terminal-key-name.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,4BAAS,CAAA;IACT,gCAAa,CAAA;IACb,kCAAe,CAAA;IACf,0CAAuB,CAAA;IACvB,mCAAgB,CAAA;IAChB,0CAAuB,CAAA;IACvB,kCAAe,CAAA;AACjB,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B"}
|
|
@@ -6,12 +6,22 @@ exports.CliErrorCode = void 0;
|
|
|
6
6
|
* (typed `PristineErrorCode | string`, so any enum value is accepted).
|
|
7
7
|
*
|
|
8
8
|
* Codes here describe CLI-specific failures — command resolution, argument mapping,
|
|
9
|
-
* and
|
|
9
|
+
* argument validation, and command-parameter binding.
|
|
10
10
|
*/
|
|
11
11
|
var CliErrorCode;
|
|
12
12
|
(function (CliErrorCode) {
|
|
13
13
|
CliErrorCode["CommandNotFound"] = "COMMAND_NOT_FOUND";
|
|
14
14
|
CliErrorCode["ArgumentMappingFailed"] = "ARGUMENT_MAPPING_FAILED";
|
|
15
15
|
CliErrorCode["ArgumentValidationFailed"] = "ARGUMENT_VALIDATION_FAILED";
|
|
16
|
+
/**
|
|
17
|
+
* Two `@commandParameter` properties on the same options class resolve to the same flag.
|
|
18
|
+
* A programming error in the command's options definition, not bad user input.
|
|
19
|
+
*/
|
|
20
|
+
CliErrorCode["CommandParameterFlagConflict"] = "COMMAND_PARAMETER_FLAG_CONFLICT";
|
|
21
|
+
/**
|
|
22
|
+
* The user cancelled an interactive prompt with `Ctrl+C`. Carried by
|
|
23
|
+
* `PromptCancelledError` — a clean, user-initiated cancellation, not a failure.
|
|
24
|
+
*/
|
|
25
|
+
CliErrorCode["PromptCancelled"] = "PROMPT_CANCELLED";
|
|
16
26
|
})(CliErrorCode || (exports.CliErrorCode = CliErrorCode = {}));
|
|
17
27
|
//# sourceMappingURL=cli-error-code.enum.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-error-code.enum.js","sourceRoot":"","sources":["../../../../src/errors/cli-error-code.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,
|
|
1
|
+
{"version":3,"file":"cli-error-code.enum.js","sourceRoot":"","sources":["../../../../src/errors/cli-error-code.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACtB,qDAA8C,CAAA;IAC9C,iEAAoD,CAAA;IACpD,uEAAuD,CAAA;IAEvD;;;OAGG;IACH,gFAAgE,CAAA;IAEhE;;;OAGG;IACH,oDAAoC,CAAA;AACtC,CAAC,EAhBW,YAAY,4BAAZ,YAAY,QAgBvB"}
|
|
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./cli-error-code.enum"), exports);
|
|
18
18
|
__exportStar(require("./command-not-found.error"), exports);
|
|
19
|
+
__exportStar(require("./prompt-cancelled.error"), exports);
|
|
19
20
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,4DAA0C"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/errors/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,4DAA0C;AAC1C,2DAAyC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PromptCancelledError = void 0;
|
|
4
|
+
const common_1 = require("@pristine-ts/common");
|
|
5
|
+
const cli_error_code_enum_1 = require("./cli-error-code.enum");
|
|
6
|
+
/**
|
|
7
|
+
* Thrown when the user cancels an interactive prompt with `Ctrl+C`. A clean, user-initiated
|
|
8
|
+
* cancellation — not a crash — so it carries `kind: UserError` (the `CliErrorReporter`
|
|
9
|
+
* renders the message verbatim instead of a stack dump) and exit code `130`, following the
|
|
10
|
+
* POSIX `128 + SIGINT(2)` convention so shell pipelines can detect the interrupt.
|
|
11
|
+
*
|
|
12
|
+
* Callers that treat cancellation as a normal branch (e.g. `BuildStalenessPrompt`) catch it
|
|
13
|
+
* via `instanceof`; everywhere else it propagates to the reporter for a tidy exit.
|
|
14
|
+
*/
|
|
15
|
+
class PromptCancelledError extends common_1.PristineError {
|
|
16
|
+
constructor() {
|
|
17
|
+
super("Prompt cancelled.", {
|
|
18
|
+
code: cli_error_code_enum_1.CliErrorCode.PromptCancelled,
|
|
19
|
+
exitCode: 130,
|
|
20
|
+
kind: common_1.PristineErrorKind.UserError,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.PromptCancelledError = PromptCancelledError;
|
|
25
|
+
//# sourceMappingURL=prompt-cancelled.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt-cancelled.error.js","sourceRoot":"","sources":["../../../../src/errors/prompt-cancelled.error.ts"],"names":[],"mappings":";;;AAAA,gDAAqE;AACrE,+DAAmD;AAEnD;;;;;;;;GAQG;AACH,MAAa,oBAAqB,SAAQ,sBAAa;IACrD;QACE,KAAK,CAAC,mBAAmB,EAAE;YACzB,IAAI,EAAE,kCAAY,CAAC,eAAe;YAClC,QAAQ,EAAE,GAAG;YACb,IAAI,EAAE,0BAAiB,CAAC,SAAS;SAClC,CAAC,CAAC;IACL,CAAC;CACF;AARD,oDAQC"}
|
|
@@ -24,20 +24,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
24
24
|
exports.CliEventHandler = void 0;
|
|
25
25
|
const tsyringe_1 = require("tsyringe");
|
|
26
26
|
const command_event_payload_1 = require("../event-payloads/command.event-payload");
|
|
27
|
+
const command_event_response_type_1 = require("../types/command-event-response.type");
|
|
27
28
|
const common_1 = require("@pristine-ts/common");
|
|
28
|
-
const cli_error_code_enum_1 = require("../errors/cli-error-code.enum");
|
|
29
29
|
const command_not_found_error_1 = require("../errors/command-not-found.error");
|
|
30
|
-
const class_validator_1 = require("@pristine-ts/class-validator");
|
|
31
|
-
const console_manager_1 = require("../managers/console.manager");
|
|
32
30
|
const cli_module_keyname_1 = require("../cli.module.keyname");
|
|
33
|
-
const
|
|
31
|
+
const command_argument_resolver_1 = require("../services/command-argument-resolver");
|
|
34
32
|
let CliEventHandler = class CliEventHandler {
|
|
35
|
-
constructor(logHandler,
|
|
33
|
+
constructor(logHandler, commandArgumentResolver, commands) {
|
|
36
34
|
this.logHandler = logHandler;
|
|
37
|
-
this.
|
|
38
|
-
this.consoleManager = consoleManager;
|
|
35
|
+
this.commandArgumentResolver = commandArgumentResolver;
|
|
39
36
|
this.commands = commands;
|
|
40
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Resolves and runs the command, then **returns** its exit code wrapped in a
|
|
40
|
+
* `CommandEventResponse` — it does not call `process.exit`.
|
|
41
|
+
*
|
|
42
|
+
* Process lifecycle is the bin's job: `kernel.handle` resolves with this exit code,
|
|
43
|
+
* `Cli.bootstrap` returns it, and `bin.ts` does the actual `process.exit`. Returning
|
|
44
|
+
* (rather than exiting) is also what lets the interactive REPL dispatch commands
|
|
45
|
+
* through this very handler — `kernel.handle(argv, {keyname: Cli})` per typed line —
|
|
46
|
+
* without the process dying after the first command.
|
|
47
|
+
*/
|
|
41
48
|
handle(event) {
|
|
42
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
50
|
var _a;
|
|
@@ -45,76 +52,23 @@ let CliEventHandler = class CliEventHandler {
|
|
|
45
52
|
if (command === undefined) {
|
|
46
53
|
// Throws a UsageError (exit 64, `EX_USAGE`). The bin's `.catch` will route it
|
|
47
54
|
// through `CliErrorReporter.report` which prints a clean one-line stderr and
|
|
48
|
-
// exits with the right code
|
|
55
|
+
// exits with the right code.
|
|
49
56
|
throw new command_not_found_error_1.CommandNotFoundError(event.payload.name);
|
|
50
57
|
}
|
|
51
58
|
const args = yield this.resolveArgs(command, (_a = event.payload.arguments) !== null && _a !== void 0 ? _a : {});
|
|
52
59
|
const exitCode = yield command.run(args);
|
|
53
60
|
this.logExitStatus(event.payload.name, exitCode);
|
|
54
|
-
|
|
61
|
+
return new command_event_response_type_1.CommandEventResponse(event, exitCode);
|
|
55
62
|
});
|
|
56
63
|
}
|
|
57
64
|
/**
|
|
58
|
-
* Maps
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* For commands that opt out of typed options (`optionsType === null`), passes the raw
|
|
62
|
-
* args through unchanged — the legacy escape hatch for commands that want to handle
|
|
63
|
-
* argv parsing themselves.
|
|
64
|
-
*
|
|
65
|
-
* Throws `UsageError` for mapping failures and `ValidationError` for class-validator
|
|
66
|
-
* failures. Both carry structured `details` so `CliErrorReporter` can render them as
|
|
67
|
-
* readable stderr lines without this method touching the console directly.
|
|
65
|
+
* Maps + validates a command's raw arguments. Delegates to the shared
|
|
66
|
+
* `CommandArgumentResolver`. Since the REPL dispatches through this same handler, the
|
|
67
|
+
* one-shot CLI and the REPL resolve arguments through identical logic.
|
|
68
68
|
*/
|
|
69
69
|
resolveArgs(command, rawArgs) {
|
|
70
70
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
|
|
72
|
-
return rawArgs;
|
|
73
|
-
}
|
|
74
|
-
let mapped;
|
|
75
|
-
try {
|
|
76
|
-
// class-transformer's plainToInstance is what produces a real instance of the
|
|
77
|
-
// options class (with the prototype, decorator metadata, and class-validator hooks
|
|
78
|
-
// intact). DataMapper.autoMap would return a plain object instead, which causes
|
|
79
|
-
// class-validator to silently report no errors because it can't find decorator
|
|
80
|
-
// metadata on a non-instance — exactly the bug this rewrite fixes.
|
|
81
|
-
mapped = (0, class_transformer_1.plainToInstance)(command.optionsType, rawArgs);
|
|
82
|
-
}
|
|
83
|
-
catch (cause) {
|
|
84
|
-
throw new common_1.UsageError(`Failed to map CLI arguments to '${command.optionsType.name}': ${cause.message}`, {
|
|
85
|
-
code: cli_error_code_enum_1.CliErrorCode.ArgumentMappingFailed,
|
|
86
|
-
cause: cause,
|
|
87
|
-
details: { targetType: command.optionsType.name },
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
const validationErrors = yield this.validator.validate(mapped);
|
|
91
|
-
if (validationErrors.length === 0) {
|
|
92
|
-
return mapped;
|
|
93
|
-
}
|
|
94
|
-
// Reshape the class-validator output into structured `details` the reporter can
|
|
95
|
-
// render line-by-line. Keeps the throw single-pass and the reporter format-agnostic.
|
|
96
|
-
const failures = {};
|
|
97
|
-
for (const error of validationErrors) {
|
|
98
|
-
const messages = [];
|
|
99
|
-
for (const constraintKey in error.constraints) {
|
|
100
|
-
// `@pristine-ts/class-validator` stores constraints as `{keyname, message}` objects
|
|
101
|
-
// rather than the plain strings vanilla class-validator uses. Extract the message
|
|
102
|
-
// when present, falling back to JSON for unknown shapes so we never print
|
|
103
|
-
// `[object Object]`.
|
|
104
|
-
const constraint = error.constraints[constraintKey];
|
|
105
|
-
const message = typeof constraint === "string"
|
|
106
|
-
? constraint
|
|
107
|
-
: (constraint && typeof constraint === "object" && typeof constraint.message === "string")
|
|
108
|
-
? constraint.message
|
|
109
|
-
: JSON.stringify(constraint);
|
|
110
|
-
messages.push(`[${constraintKey}] ${message}`);
|
|
111
|
-
}
|
|
112
|
-
failures[error.property] = messages;
|
|
113
|
-
}
|
|
114
|
-
throw new common_1.ValidationError("Argument validation failed", {
|
|
115
|
-
code: cli_error_code_enum_1.CliErrorCode.ArgumentValidationFailed,
|
|
116
|
-
details: failures,
|
|
117
|
-
});
|
|
71
|
+
return this.commandArgumentResolver.resolve(command, rawArgs);
|
|
118
72
|
});
|
|
119
73
|
}
|
|
120
74
|
supports(event) {
|
|
@@ -122,7 +76,12 @@ let CliEventHandler = class CliEventHandler {
|
|
|
122
76
|
}
|
|
123
77
|
logExitStatus(commandName, exitCode) {
|
|
124
78
|
const status = exitCode === common_1.ExitCode.Success ? "Success" : "Error";
|
|
125
|
-
|
|
79
|
+
if (exitCode === common_1.ExitCode.Success) {
|
|
80
|
+
this.logHandler.info(`Command '${commandName}' exited`, { highlights: { status, exitCode, commandName } });
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
this.logHandler.error(`Command '${commandName}' exited`, { highlights: { status, exitCode, commandName } });
|
|
84
|
+
}
|
|
126
85
|
}
|
|
127
86
|
};
|
|
128
87
|
exports.CliEventHandler = CliEventHandler;
|
|
@@ -131,8 +90,7 @@ exports.CliEventHandler = CliEventHandler = __decorate([
|
|
|
131
90
|
(0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
|
|
132
91
|
(0, tsyringe_1.injectable)(),
|
|
133
92
|
__param(0, (0, tsyringe_1.inject)("LogHandlerInterface")),
|
|
134
|
-
__param(
|
|
135
|
-
__metadata("design:paramtypes", [Object,
|
|
136
|
-
console_manager_1.ConsoleManager, Array])
|
|
93
|
+
__param(2, (0, tsyringe_1.injectAll)(common_1.ServiceDefinitionTagEnum.Command)),
|
|
94
|
+
__metadata("design:paramtypes", [Object, command_argument_resolver_1.CommandArgumentResolver, Array])
|
|
137
95
|
], CliEventHandler);
|
|
138
96
|
//# sourceMappingURL=cli.event-handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.event-handler.js","sourceRoot":"","sources":["../../../../src/event-handlers/cli.event-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuD;AAEvD,mFAA4E;
|
|
1
|
+
{"version":3,"file":"cli.event-handler.js","sourceRoot":"","sources":["../../../../src/event-handlers/cli.event-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuD;AAEvD,mFAA4E;AAE5E,sFAA0E;AAE1E,gDAA0F;AAC1F,+EAAuE;AAEvE,8DAAuD;AACvD,qFAA8E;AAKvE,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YACkD,UAA+B,EAC9D,uBAAgD,EACH,QAAiC;QAF/C,eAAU,GAAV,UAAU,CAAqB;QAC9D,4BAAuB,GAAvB,uBAAuB,CAAyB;QACH,aAAQ,GAAR,QAAQ,CAAyB;IACjG,CAAC;IAED;;;;;;;;;OASG;IACG,MAAM,CAAC,KAAmB;;;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,8EAA8E;gBAC9E,6EAA6E;gBAC7E,6BAA6B;gBAC7B,MAAM,IAAI,8CAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAA,KAAK,CAAC,OAAO,CAAC,SAAS,mCAAI,EAAE,CAAC,CAAC;YAC5E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACjD,OAAO,IAAI,kDAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;KAAA;IAED;;;;OAIG;IACG,WAAW,CAAC,OAA8B,EAAE,OAAY;;YAC5D,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;KAAA;IAED,QAAQ,CAAC,KAAiB;QACxB,OAAO,KAAK,CAAC,OAAO,YAAY,2CAAmB,CAAC;IACtD,CAAC;IAEO,aAAa,CAAC,WAAmB,EAAE,QAA2B;QACpE,MAAM,MAAM,GAAG,QAAQ,KAAK,iBAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;QACnE,IAAI,QAAQ,KAAK,iBAAQ,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,WAAW,UAAU,EAAE,EAAC,UAAU,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAC,CAAC,CAAC;QACzG,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,WAAW,UAAU,EAAE,EAAC,UAAU,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAC,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;CACF,CAAA;AArDY,0CAAe;0BAAf,eAAe;IAH3B,IAAA,YAAG,EAAC,iCAAwB,CAAC,YAAY,CAAC;IAC1C,IAAA,qBAAY,EAAC,qCAAgB,CAAC;IAC9B,IAAA,qBAAU,GAAE;IAGR,WAAA,IAAA,iBAAM,EAAC,qBAAqB,CAAC,CAAA;IAE7B,WAAA,IAAA,oBAAS,EAAC,iCAAwB,CAAC,OAAO,CAAC,CAAA;6CADF,mDAAuB;GAHxD,eAAe,CAqD3B"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./cli.event-handler"), exports);
|
|
18
|
+
__exportStar(require("./repl-start.event-handler"), exports);
|
|
18
19
|
//# sourceMappingURL=event-handlers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-handlers.js","sourceRoot":"","sources":["../../../../src/event-handlers/event-handlers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
|
|
1
|
+
{"version":3,"file":"event-handlers.js","sourceRoot":"","sources":["../../../../src/event-handlers/event-handlers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,6DAA2C"}
|