@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
|
@@ -17,10 +17,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
19
|
import { injectable } from "tsyringe";
|
|
20
|
-
import {
|
|
20
|
+
import { CliPrompt } from "../managers/cli-prompt.manager";
|
|
21
21
|
/**
|
|
22
|
-
* Interactive Q&A for `pristine init`.
|
|
23
|
-
*
|
|
22
|
+
* Interactive Q&A for `pristine init`. Prompts through {@link CliPrompt}, the CLI's native
|
|
23
|
+
* (no third-party dependency) terminal-prompt manager.
|
|
24
24
|
*
|
|
25
25
|
* Each method takes a "current value" so callers can pre-fill answers from CLI flags and
|
|
26
26
|
* only prompt for the gaps. Returning the same value the user passed in is intentional —
|
|
@@ -28,8 +28,8 @@ import { DynamicImporter } from "./dynamic-importer";
|
|
|
28
28
|
* prompt.
|
|
29
29
|
*/
|
|
30
30
|
let InitPrompt = class InitPrompt {
|
|
31
|
-
constructor(
|
|
32
|
-
this.
|
|
31
|
+
constructor(cliPrompt) {
|
|
32
|
+
this.cliPrompt = cliPrompt;
|
|
33
33
|
this.defaultSourcePath = "src/app.module.ts";
|
|
34
34
|
this.defaultOutputPath = "dist/app.module.js";
|
|
35
35
|
this.defaultTsconfig = "tsconfig.json";
|
|
@@ -42,83 +42,52 @@ let InitPrompt = class InitPrompt {
|
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
43
|
if (current !== undefined)
|
|
44
44
|
return current;
|
|
45
|
-
|
|
46
|
-
const input = inquirer.input;
|
|
47
|
-
return input({
|
|
48
|
-
message: "Where does your AppModule source file live?",
|
|
49
|
-
default: this.defaultSourcePath,
|
|
50
|
-
});
|
|
45
|
+
return this.cliPrompt.input("Where does your AppModule source file live?", this.defaultSourcePath);
|
|
51
46
|
});
|
|
52
47
|
}
|
|
53
48
|
askOutputPath(current) {
|
|
54
49
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
50
|
if (current !== undefined)
|
|
56
51
|
return current;
|
|
57
|
-
|
|
58
|
-
const input = inquirer.input;
|
|
59
|
-
return input({
|
|
60
|
-
message: "Where should the compiled AppModule output land?",
|
|
61
|
-
default: this.defaultOutputPath,
|
|
62
|
-
});
|
|
52
|
+
return this.cliPrompt.input("Where should the compiled AppModule output land?", this.defaultOutputPath);
|
|
63
53
|
});
|
|
64
54
|
}
|
|
65
55
|
askTsconfig(current) {
|
|
66
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
57
|
if (current !== undefined)
|
|
68
58
|
return current;
|
|
69
|
-
|
|
70
|
-
const input = inquirer.input;
|
|
71
|
-
return input({
|
|
72
|
-
message: "Which tsconfig should `pristine build` use?",
|
|
73
|
-
default: this.defaultTsconfig,
|
|
74
|
-
});
|
|
59
|
+
return this.cliPrompt.input("Which tsconfig should `pristine build` use?", this.defaultTsconfig);
|
|
75
60
|
});
|
|
76
61
|
}
|
|
77
62
|
askFormat(current) {
|
|
78
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
64
|
if (current !== undefined)
|
|
80
65
|
return current;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
{ name: "esm (modern, recommended)", value: "esm" },
|
|
87
|
-
{ name: "cjs (CommonJS)", value: "cjs" },
|
|
88
|
-
{ name: "both (publish ESM + CJS)", value: "both" },
|
|
89
|
-
],
|
|
90
|
-
default: this.defaultFormat,
|
|
91
|
-
});
|
|
66
|
+
return this.cliPrompt.select("Which build format do you want?", [
|
|
67
|
+
{ name: "esm (modern, recommended)", value: "esm" },
|
|
68
|
+
{ name: "cjs (CommonJS)", value: "cjs" },
|
|
69
|
+
{ name: "both (publish ESM + CJS)", value: "both" },
|
|
70
|
+
], this.defaultFormat);
|
|
92
71
|
});
|
|
93
72
|
}
|
|
94
73
|
askScaffoldSource(current, sourcePath) {
|
|
95
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
96
75
|
if (current !== undefined)
|
|
97
76
|
return current;
|
|
98
|
-
|
|
99
|
-
const confirm = inquirer.confirm;
|
|
100
|
-
return confirm({
|
|
101
|
-
message: `Scaffold a starter AppModule at ${sourcePath}?`,
|
|
102
|
-
default: true,
|
|
103
|
-
});
|
|
77
|
+
return this.cliPrompt.confirm(`Scaffold a starter AppModule at ${sourcePath}?`, true);
|
|
104
78
|
});
|
|
105
79
|
}
|
|
106
80
|
askWritePackageScripts(current) {
|
|
107
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
108
82
|
if (current !== undefined)
|
|
109
83
|
return current;
|
|
110
|
-
|
|
111
|
-
const confirm = inquirer.confirm;
|
|
112
|
-
return confirm({
|
|
113
|
-
message: "Add `build`, `start`, `verify` scripts to package.json (only ones that don't already exist)?",
|
|
114
|
-
default: true,
|
|
115
|
-
});
|
|
84
|
+
return this.cliPrompt.confirm("Add `build`, `start`, `verify` scripts to package.json (only ones that don't already exist)?", true);
|
|
116
85
|
});
|
|
117
86
|
}
|
|
118
87
|
};
|
|
119
88
|
InitPrompt = __decorate([
|
|
120
89
|
injectable(),
|
|
121
|
-
__metadata("design:paramtypes", [
|
|
90
|
+
__metadata("design:paramtypes", [CliPrompt])
|
|
122
91
|
], InitPrompt);
|
|
123
92
|
export { InitPrompt };
|
|
124
93
|
//# sourceMappingURL=init-prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-prompt.js","sourceRoot":"","sources":["../../../../src/bootstrap/init-prompt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"init-prompt.js","sourceRoot":"","sources":["../../../../src/bootstrap/init-prompt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAgBzD;;;;;;;;GAQG;AAEI,IAAM,UAAU,GAAhB,MAAM,UAAU;IAMrB,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QALhC,sBAAiB,GAAW,mBAAmB,CAAC;QAChD,sBAAiB,GAAW,oBAAoB,CAAC;QACjD,oBAAe,GAAW,eAAe,CAAC;QAC1C,kBAAa,GAA2B,KAAK,CAAC;IAG/D,CAAC;IAED,aAAa;QACX,OAAO,OAAO,CAAE,OAAO,CAAC,MAAc,CAAC,KAAK,CAAC,IAAI,OAAO,CAAE,OAAO,CAAC,KAAa,CAAC,KAAK,CAAC,CAAC;IACzF,CAAC;IAEK,aAAa,CAAC,OAA2B;;YAC7C,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,6CAA6C,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrG,CAAC;KAAA;IAEK,aAAa,CAAC,OAA2B;;YAC7C,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,kDAAkD,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1G,CAAC;KAAA;IAEK,WAAW,CAAC,OAA2B;;YAC3C,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,6CAA6C,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACnG,CAAC;KAAA;IAEK,SAAS,CAAC,OAA2C;;YACzD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAC1B,iCAAiC,EACjC;gBACE,EAAC,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,KAAK,EAAC;gBAClD,EAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAC;gBACvC,EAAC,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAC;aAClD,EACD,IAAI,CAAC,aAAa,CACnB,CAAC;QACJ,CAAC;KAAA;IAEK,iBAAiB,CAAC,OAA4B,EAAE,UAAkB;;YACtE,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAmC,UAAU,GAAG,EAAE,IAAI,CAAC,CAAC;QACxF,CAAC;KAAA;IAEK,sBAAsB,CAAC,OAA4B;;YACvD,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,OAAO,CAAC;YAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,8FAA8F,EAC9F,IAAI,CACL,CAAC;QACJ,CAAC;KAAA;CACF,CAAA;AArDY,UAAU;IADtB,UAAU,EAAE;qCAO6B,SAAS;GANtC,UAAU,CAqDtB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed configuration keys for `@pristine-ts/cli`. Use these constants with `@injectConfig`
|
|
3
|
+
* for autocomplete + rename safety, instead of typing the parameter name as a string.
|
|
4
|
+
*
|
|
5
|
+
* ```ts
|
|
6
|
+
* import {injectConfig} from "@pristine-ts/common";
|
|
7
|
+
* import {CliConfigurationKeys} from "@pristine-ts/cli";
|
|
8
|
+
*
|
|
9
|
+
* constructor(@injectConfig(CliConfigurationKeys.InteractiveParameters) enabled: boolean) {}
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export const CliConfigurationKeys = {
|
|
13
|
+
/**
|
|
14
|
+
* Whether the CLI may interactively ask for missing command parameters that declare a
|
|
15
|
+
* `question` (via `@commandParameter`). Defaults to `true`; set it to `false` to disable
|
|
16
|
+
* all such prompting (e.g. in CI). Prompting is also skipped automatically whenever the
|
|
17
|
+
* input is not an interactive terminal, regardless of this value.
|
|
18
|
+
*/
|
|
19
|
+
InteractiveParameters: "pristine.cli.interactiveParameters",
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=cli.configuration-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.configuration-keys.js","sourceRoot":"","sources":["../../../src/cli.configuration-keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC;;;;;OAKG;IACH,qBAAqB,EAAE,oCAAoC;CACnD,CAAC"}
|
package/dist/lib/esm/cli.js
CHANGED
|
@@ -21,6 +21,8 @@ import { SourceHasher } from "./bootstrap/source-hasher";
|
|
|
21
21
|
import { ConfigLoader } from "./config/config-loader";
|
|
22
22
|
import { CliModule } from "./cli.module";
|
|
23
23
|
import { CliErrorReporter } from "./reporters/cli-error.reporter";
|
|
24
|
+
import { CliPrompt } from "./managers/cli-prompt.manager";
|
|
25
|
+
import { TerminalKeyReader } from "./managers/terminal-key-reader.manager";
|
|
24
26
|
/**
|
|
25
27
|
* Boots the CLI: discovers the consumer's AppModule, starts the kernel, and dispatches
|
|
26
28
|
* `process.argv` to whichever command matches. Returns the process exit code rather than
|
|
@@ -61,11 +63,17 @@ export class Cli {
|
|
|
61
63
|
// and the alias commands can register signal handlers and resolve their delegates.
|
|
62
64
|
this.kernel.container.registerInstance(Kernel, this.kernel);
|
|
63
65
|
this.warnOnCommandCollisions();
|
|
64
|
-
|
|
65
|
-
// The
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
|
|
66
|
+
// Uniform dispatch: every argv shape flows through `kernel.handle(argv, {keyname:
|
|
67
|
+
// Cli})`. The mapping layer picks the right payload:
|
|
68
|
+
// - `[node, pristine, <command>, ...]` → `CommandEventMapper` → `CliEventHandler`
|
|
69
|
+
// runs the command and returns its exit code (no `process.exit`; exiting is
|
|
70
|
+
// `bin.ts`'s job).
|
|
71
|
+
// - `[node, pristine]` or `[node, pristine, repl, ...]` → `ReplStartEventMapper`
|
|
72
|
+
// → `ReplStartEventHandler` runs the interactive session and resolves with the
|
|
73
|
+
// exit code on `/exit` or EOF.
|
|
74
|
+
// No if-REPL branch needed here — the REPL is just another event handler.
|
|
75
|
+
const exitCode = yield this.kernel.handle(process.argv, { keyname: ExecutionContextKeynameEnum.Cli, context: null });
|
|
76
|
+
return typeof exitCode === "number" ? exitCode : 0;
|
|
69
77
|
}
|
|
70
78
|
catch (error) {
|
|
71
79
|
return yield this.reportFatalError(error);
|
|
@@ -133,11 +141,15 @@ export class Cli {
|
|
|
133
141
|
});
|
|
134
142
|
}
|
|
135
143
|
/**
|
|
136
|
-
* Builds a synthetic outer AppModule that imports
|
|
144
|
+
* Builds a synthetic outer AppModule that imports the user's AppModule plus `CliModule`
|
|
145
|
+
* — so the CLI's own commands are always registered when the bin is the entry point.
|
|
146
|
+
* `CliModule` itself imports `ObservabilityModule`, so the logs/traces store travels
|
|
147
|
+
* along without being named here.
|
|
148
|
+
*
|
|
137
149
|
* The wrap is unconditional — the kernel dedupes module imports by keyname, so adding
|
|
138
|
-
* CliModule on top of a graph that already contains it is a no-op rather than an
|
|
139
|
-
* or duplicate registration. Cheaper than walking the user's import tree to
|
|
140
|
-
* already-present case.
|
|
150
|
+
* `CliModule` on top of a graph that already contains it is a no-op rather than an
|
|
151
|
+
* error or duplicate registration. Cheaper than walking the user's import tree to
|
|
152
|
+
* detect the already-present case.
|
|
141
153
|
*/
|
|
142
154
|
wrapWithCliModule(appModule) {
|
|
143
155
|
var _a;
|
|
@@ -160,7 +172,8 @@ export class Cli {
|
|
|
160
172
|
const sourceHasher = new SourceHasher();
|
|
161
173
|
const buildManifestReader = new BuildManifestReader();
|
|
162
174
|
const buildManifestChecker = new BuildManifestChecker(sourceHasher);
|
|
163
|
-
const
|
|
175
|
+
const cliPrompt = new CliPrompt(new TerminalKeyReader());
|
|
176
|
+
const buildStalenessPrompt = new BuildStalenessPrompt(cliPrompt);
|
|
164
177
|
const buildRunner = new BuildRunner();
|
|
165
178
|
return new AppModuleLoader(configLoader, pluginLoader, dynamicImporter, buildManifestReader, buildManifestChecker, buildStalenessPrompt, buildRunner);
|
|
166
179
|
}
|
package/dist/lib/esm/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAC,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,EAAE,mBAAmB,EAAE,mCAAmC,EAAC,MAAM,mBAAmB,CAAC;AACpJ,OAAO,EAAqB,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AACjF,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAC,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,15 @@ import { CoreModule } from "@pristine-ts/core";
|
|
|
3
3
|
import { ValidationModule } from "@pristine-ts/validation";
|
|
4
4
|
import { LoggingModule, LoggingModuleKeyname, OutputModeEnum, SeverityEnum } from "@pristine-ts/logging";
|
|
5
5
|
import { DataMappingModule } from "@pristine-ts/data-mapping";
|
|
6
|
+
import { ObservabilityModule } from "@pristine-ts/observability";
|
|
7
|
+
import { BooleanResolver, EnvironmentVariableResolver } from "@pristine-ts/configuration";
|
|
8
|
+
import { CliConfigurationKeys } from "./cli.configuration-keys";
|
|
6
9
|
export * from "./bootstrap/bootstrap";
|
|
10
|
+
export * from "./cli.configuration-keys";
|
|
7
11
|
export * from "./commands/commands";
|
|
8
12
|
export * from "./config/config";
|
|
13
|
+
export * from "./decorators/decorators";
|
|
14
|
+
export * from "./enums/enums";
|
|
9
15
|
export * from "./errors/errors";
|
|
10
16
|
export * from "./event-handlers/event-handlers";
|
|
11
17
|
export * from "./event-payloads/event-payloads";
|
|
@@ -14,6 +20,7 @@ export * from "./managers/managers";
|
|
|
14
20
|
export * from "./mappers/mappers";
|
|
15
21
|
export * from "./options/options";
|
|
16
22
|
export * from "./reporters/cli-error.reporter";
|
|
23
|
+
export * from "./services/services";
|
|
17
24
|
export * from "./types/types";
|
|
18
25
|
// Re-export the `Cli` entrypoint so `bin.ts` (and any other downstream entry script) can
|
|
19
26
|
// invoke `new (require('@pristine-ts/cli').Cli)().bootstrap()` to load the same physical
|
|
@@ -22,19 +29,45 @@ export * from "./types/types";
|
|
|
22
29
|
export { Cli } from "./cli";
|
|
23
30
|
export const CliModule = {
|
|
24
31
|
keyname: CliModuleKeyname,
|
|
25
|
-
configurationDefinitions: [
|
|
32
|
+
configurationDefinitions: [
|
|
33
|
+
/**
|
|
34
|
+
* Whether the CLI may interactively ask for missing command parameters that declare a
|
|
35
|
+
* `question` via `@commandParameter`. Defaults to enabled; turn it off (here, in
|
|
36
|
+
* `pristine.config.ts`, or via the env var below) to keep the CLI non-interactive.
|
|
37
|
+
* Prompting is also skipped automatically whenever stdin is not an interactive terminal.
|
|
38
|
+
*/
|
|
39
|
+
{
|
|
40
|
+
parameterName: CliConfigurationKeys.InteractiveParameters,
|
|
41
|
+
isRequired: false,
|
|
42
|
+
defaultValue: true,
|
|
43
|
+
defaultResolvers: [
|
|
44
|
+
new BooleanResolver(new EnvironmentVariableResolver("PRISTINE_CLI_INTERACTIVE_PARAMETERS")),
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
],
|
|
26
48
|
importModules: [
|
|
27
49
|
CoreModule,
|
|
28
50
|
DataMappingModule,
|
|
29
51
|
LoggingModule,
|
|
52
|
+
// `ObservabilityModule` travels with the CLI: it backs the `logs`/`trace`/`requests`
|
|
53
|
+
// commands and the `pristine start` capture. Importing it here (rather than only
|
|
54
|
+
// wrapping it in `Cli.bootstrap`) guarantees its configuration keys are registered
|
|
55
|
+
// wherever `CliModule` is loaded — including when another module (e.g. `HttpModule`)
|
|
56
|
+
// pulls `CliModule` in transitively — so observability's `@injectConfig` always resolves.
|
|
57
|
+
ObservabilityModule,
|
|
30
58
|
ValidationModule,
|
|
31
59
|
],
|
|
32
60
|
/**
|
|
33
|
-
* When running through the CLI, logs
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
61
|
+
* When running through the CLI, logs are the user-facing channel — there is no separate
|
|
62
|
+
* "structured output" surface that competes with them. We layer a CLI-friendly set of
|
|
63
|
+
* defaults on top of LoggingModule's: the `Pretty` output mode (colored, icon-prefixed
|
|
64
|
+
* single-line rendering) and the `Info` severity threshold so command narration
|
|
65
|
+
* (`Compiling`, `Build complete`, `Server listening`) is visible by default — matching
|
|
66
|
+
* the pre-LogHandler-consolidation behavior of `ConsoleManager.writeInfo/Success`.
|
|
67
|
+
* Users who want a quieter CLI (or a different output mode) can override either key in
|
|
68
|
+
* `pristine.config.ts:config` — the file beats `configDefaults` in the resolution chain.
|
|
69
|
+
* Env vars are checked LAST in the resolver chain, after configDefaults, so they cannot
|
|
70
|
+
* override these CLI defaults; use the config file for that.
|
|
38
71
|
*
|
|
39
72
|
* No `isLoggingModulePresent` check needed — `LoggingModule` is a hard import above, so
|
|
40
73
|
* these keys are always registered when CliModule is in the graph. (And if a future
|
|
@@ -42,8 +75,8 @@ export const CliModule = {
|
|
|
42
75
|
* with an actionable "unknown key" error — the right failure mode for that case.)
|
|
43
76
|
*/
|
|
44
77
|
configDefaults: {
|
|
45
|
-
[LoggingModuleKeyname + ".consoleLoggerOutputMode"]: OutputModeEnum.
|
|
46
|
-
[LoggingModuleKeyname + ".logSeverityLevelConfiguration"]: SeverityEnum.
|
|
78
|
+
[LoggingModuleKeyname + ".consoleLoggerOutputMode"]: OutputModeEnum.Pretty,
|
|
79
|
+
[LoggingModuleKeyname + ".logSeverityLevelConfiguration"]: SeverityEnum.Info,
|
|
47
80
|
},
|
|
48
81
|
};
|
|
49
82
|
//# sourceMappingURL=cli.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.module.js","sourceRoot":"","sources":["../../../src/cli.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAC,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.module.js","sourceRoot":"","sources":["../../../src/cli.module.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAC,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACvG,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAE,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAC;AAE9D,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAE9B,yFAAyF;AACzF,yFAAyF;AACzF,mFAAmF;AACnF,oFAAoF;AACpF,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,SAAS,GAAoB;IACxC,OAAO,EAAE,gBAAgB;IACzB,wBAAwB,EAAE;QACxB;;;;;WAKG;QACH;YACE,aAAa,EAAE,oBAAoB,CAAC,qBAAqB;YACzD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE;gBAChB,IAAI,eAAe,CAAC,IAAI,2BAA2B,CAAC,qCAAqC,CAAC,CAAC;aAC5F;SACF;KACF;IACD,aAAa,EAAE;QACb,UAAU;QACV,iBAAiB;QACjB,aAAa;QACb,qFAAqF;QACrF,iFAAiF;QACjF,mFAAmF;QACnF,qFAAqF;QACrF,0FAA0F;QAC1F,mBAAmB;QACnB,gBAAgB;KACjB;IACD;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,EAAE;QACd,CAAC,oBAAoB,GAAG,0BAA0B,CAAC,EAAE,cAAc,CAAC,MAAM;QAC1E,CAAC,oBAAoB,GAAG,gCAAgC,CAAC,EAAE,YAAY,CAAC,IAAI;KAC7E;CACF,CAAA"}
|
|
@@ -7,6 +7,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
10
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
11
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
12
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -19,8 +22,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
22
|
import fs from "fs";
|
|
20
23
|
import path from "path";
|
|
21
24
|
import { moduleScoped, ServiceDefinitionTagEnum, tag, ExitCode } from "@pristine-ts/common";
|
|
22
|
-
import { injectable } from "tsyringe";
|
|
23
|
-
import { ConsoleManager } from "../managers/console.manager";
|
|
25
|
+
import { inject, injectable } from "tsyringe";
|
|
24
26
|
import { ShellManager } from "../managers/shell.manager";
|
|
25
27
|
import { CliModuleKeyname } from "../cli.module.keyname";
|
|
26
28
|
import { ConfigLoader } from "../config/config-loader";
|
|
@@ -45,8 +47,8 @@ import { BuildManifestWriter } from "../bootstrap/build-manifest-writer";
|
|
|
45
47
|
* - clean: false (set true to wipe outDir before building)
|
|
46
48
|
*/
|
|
47
49
|
let BuildCommand = class BuildCommand {
|
|
48
|
-
constructor(
|
|
49
|
-
this.
|
|
50
|
+
constructor(logHandler, shellManager, configLoader, buildManifestWriter) {
|
|
51
|
+
this.logHandler = logHandler;
|
|
50
52
|
this.shellManager = shellManager;
|
|
51
53
|
this.configLoader = configLoader;
|
|
52
54
|
this.buildManifestWriter = buildManifestWriter;
|
|
@@ -69,18 +71,18 @@ let BuildCommand = class BuildCommand {
|
|
|
69
71
|
if (clean && outDir !== undefined) {
|
|
70
72
|
const absOut = path.resolve(projectRoot, outDir);
|
|
71
73
|
if (fs.existsSync(absOut)) {
|
|
72
|
-
this.
|
|
74
|
+
this.logHandler.info(`Cleaning ${outDir}/`, { highlights: { outDir } });
|
|
73
75
|
fs.rmSync(absOut, { recursive: true, force: true });
|
|
74
76
|
}
|
|
75
77
|
}
|
|
76
78
|
const invocations = this.resolveTscInvocations(projectRoot, tsconfig, format);
|
|
77
79
|
if (invocations.length === 0) {
|
|
78
|
-
this.
|
|
80
|
+
this.logHandler.error("No tsconfig found.", { highlights: { searched: this.expectedTsconfigsForFormat(tsconfig, format) } });
|
|
79
81
|
return ExitCode.Error;
|
|
80
82
|
}
|
|
81
83
|
for (const tsconfigPath of invocations) {
|
|
82
84
|
const relTsconfig = path.relative(projectRoot, tsconfigPath);
|
|
83
|
-
this.
|
|
85
|
+
this.logHandler.info(`Compiling with ${relTsconfig}`, { highlights: { tsconfig: relTsconfig } });
|
|
84
86
|
try {
|
|
85
87
|
// The shell command runs in the current process's CWD, which is already projectRoot.
|
|
86
88
|
// Don't pass `directory` here — ShellManager's PathManager resolution would double
|
|
@@ -92,12 +94,12 @@ let BuildCommand = class BuildCommand {
|
|
|
92
94
|
});
|
|
93
95
|
}
|
|
94
96
|
catch (error) {
|
|
95
|
-
this.
|
|
97
|
+
this.logHandler.error(`tsc failed for ${relTsconfig}`, { highlights: { tsconfig: relTsconfig } });
|
|
96
98
|
return ExitCode.Error;
|
|
97
99
|
}
|
|
98
100
|
}
|
|
99
101
|
this.writeManifestIfConfigured(projectRoot, (_f = resolvedConfig.config.cli) === null || _f === void 0 ? void 0 : _f.appModule);
|
|
100
|
-
this.
|
|
102
|
+
this.logHandler.success("Build complete.", { highlights: { tsconfigs: invocations.length } });
|
|
101
103
|
return ExitCode.Success;
|
|
102
104
|
});
|
|
103
105
|
}
|
|
@@ -110,16 +112,15 @@ let BuildCommand = class BuildCommand {
|
|
|
110
112
|
const absoluteSource = path.resolve(projectRoot, appModule.sourcePath);
|
|
111
113
|
const absoluteOutput = path.resolve(projectRoot, appModule.outputPath);
|
|
112
114
|
if (fs.existsSync(absoluteSource) === false) {
|
|
113
|
-
this.
|
|
115
|
+
this.logHandler.warning("Build succeeded but appModule.sourcePath does not exist; skipping manifest.", { highlights: { sourcePath: appModule.sourcePath } });
|
|
114
116
|
return;
|
|
115
117
|
}
|
|
116
118
|
if (fs.existsSync(absoluteOutput) === false) {
|
|
117
|
-
this.
|
|
118
|
-
`Check your tsconfig outDir / file layout.`);
|
|
119
|
+
this.logHandler.warning("Build succeeded but appModule.outputPath was not produced; skipping manifest. Check your tsconfig outDir / file layout.", { highlights: { outputPath: appModule.outputPath } });
|
|
119
120
|
return;
|
|
120
121
|
}
|
|
121
122
|
const manifest = this.buildManifestWriter.write(projectRoot, appModule.sourcePath, appModule.outputPath);
|
|
122
|
-
this.
|
|
123
|
+
this.logHandler.info("Manifest written: .pristine/build-manifest.json", { highlights: { builtAt: manifest.builtAt } });
|
|
123
124
|
}
|
|
124
125
|
/**
|
|
125
126
|
* For `format: "both"`, we run two passes: the primary tsconfig (assumed ESM-ish), then
|
|
@@ -157,8 +158,8 @@ BuildCommand = __decorate([
|
|
|
157
158
|
tag(ServiceDefinitionTagEnum.Command),
|
|
158
159
|
moduleScoped(CliModuleKeyname),
|
|
159
160
|
injectable(),
|
|
160
|
-
|
|
161
|
-
|
|
161
|
+
__param(0, inject("LogHandlerInterface")),
|
|
162
|
+
__metadata("design:paramtypes", [Object, ShellManager,
|
|
162
163
|
ConfigLoader,
|
|
163
164
|
BuildManifestWriter])
|
|
164
165
|
], BuildCommand);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.command.js","sourceRoot":"","sources":["../../../../src/commands/build.command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.command.js","sourceRoot":"","sources":["../../../../src/commands/build.command.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,15 @@ export * from "./init.command";
|
|
|
10
10
|
export * from "./init.command-options";
|
|
11
11
|
export * from "./list-alias.command";
|
|
12
12
|
export * from "./list.command";
|
|
13
|
+
export * from "./logs-alias.command";
|
|
14
|
+
export * from "./logs.command";
|
|
15
|
+
export * from "./requests-alias.command";
|
|
16
|
+
export * from "./requests.command";
|
|
13
17
|
export * from "./start-alias.command";
|
|
14
18
|
export * from "./start.command";
|
|
15
19
|
export * from "./start.command-options";
|
|
20
|
+
export * from "./trace-alias.command";
|
|
21
|
+
export * from "./trace.command";
|
|
16
22
|
export * from "./verify-alias.command";
|
|
17
23
|
export * from "./verify.command";
|
|
18
24
|
//# sourceMappingURL=commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/commands/commands.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/commands/commands.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
11
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
12
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
13
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
14
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
15
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
16
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
import fs from "fs";
|
|
20
|
+
import path from "path";
|
|
21
|
+
import { moduleScoped, ServiceDefinitionTagEnum, tag } from "@pristine-ts/common";
|
|
22
|
+
import { injectable } from "tsyringe";
|
|
23
|
+
import { ConsoleManager } from "../managers/console.manager";
|
|
24
|
+
import { ExitCodeEnum } from "../enums/exit-code.enum";
|
|
25
|
+
import { CliModuleKeyname } from "../cli.module.keyname";
|
|
26
|
+
/**
|
|
27
|
+
* Generates a starter `pristine.config.ts` in the current directory. If the consumer's
|
|
28
|
+
* `package.json` already declares `pristine.appModule.path` or `pristine.appModule.cjsPath`,
|
|
29
|
+
* the value is migrated into the new config and the user is told to remove the old field.
|
|
30
|
+
*/
|
|
31
|
+
let ConfigInitCommand = class ConfigInitCommand {
|
|
32
|
+
constructor(consoleManager) {
|
|
33
|
+
this.consoleManager = consoleManager;
|
|
34
|
+
this.optionsType = null;
|
|
35
|
+
this.name = "p:config:init";
|
|
36
|
+
this.description = "Generate a starter pristine.config.ts. Migrates from package.json if present.";
|
|
37
|
+
}
|
|
38
|
+
run(args) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const projectRoot = process.cwd();
|
|
41
|
+
const targetPath = path.resolve(projectRoot, "pristine.config.ts");
|
|
42
|
+
if (fs.existsSync(targetPath)) {
|
|
43
|
+
this.consoleManager.writeError(`pristine.config.ts already exists at ${targetPath}. Aborting to avoid overwriting.`);
|
|
44
|
+
return ExitCodeEnum.Error;
|
|
45
|
+
}
|
|
46
|
+
const migratedAppModulePath = this.detectExistingAppModulePath(projectRoot);
|
|
47
|
+
const body = this.renderConfigTemplate(migratedAppModulePath);
|
|
48
|
+
fs.writeFileSync(targetPath, body, "utf8");
|
|
49
|
+
this.consoleManager.writeSuccess(`Created ${path.relative(projectRoot, targetPath)}`);
|
|
50
|
+
if (migratedAppModulePath !== undefined) {
|
|
51
|
+
this.consoleManager.writeInfo(`Migrated 'pristine.appModule' from package.json. ` +
|
|
52
|
+
`You can now remove the 'pristine' field from your package.json.`);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
this.consoleManager.writeInfo("No existing pristine config found in package.json. " +
|
|
56
|
+
"Edit pristine.config.ts to point at your AppModule.");
|
|
57
|
+
}
|
|
58
|
+
return ExitCodeEnum.Success;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
detectExistingAppModulePath(projectRoot) {
|
|
62
|
+
var _a;
|
|
63
|
+
const packageJson = path.resolve(projectRoot, "package.json");
|
|
64
|
+
if (fs.existsSync(packageJson) === false) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
let parsed;
|
|
68
|
+
try {
|
|
69
|
+
parsed = JSON.parse(fs.readFileSync(packageJson, "utf8"));
|
|
70
|
+
}
|
|
71
|
+
catch (_b) {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
const appModule = (_a = parsed === null || parsed === void 0 ? void 0 : parsed.pristine) === null || _a === void 0 ? void 0 : _a.appModule;
|
|
75
|
+
if ((appModule === null || appModule === void 0 ? void 0 : appModule.path) !== undefined) {
|
|
76
|
+
return appModule.path;
|
|
77
|
+
}
|
|
78
|
+
if ((appModule === null || appModule === void 0 ? void 0 : appModule.cjsPath) !== undefined) {
|
|
79
|
+
return appModule.cjsPath;
|
|
80
|
+
}
|
|
81
|
+
return undefined;
|
|
82
|
+
}
|
|
83
|
+
renderConfigTemplate(appModulePath) {
|
|
84
|
+
const pathLine = appModulePath !== undefined
|
|
85
|
+
? ` path: "${appModulePath}",`
|
|
86
|
+
: ` // path: "dist/app.module.js", // <-- point this at your AppModule`;
|
|
87
|
+
return `import {defineConfig} from "@pristine-ts/cli";
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Pristine CLI configuration. See https://github.com/magieno/pristine-ts for the full
|
|
91
|
+
* schema reference.
|
|
92
|
+
*/
|
|
93
|
+
export default defineConfig({
|
|
94
|
+
appModule: {
|
|
95
|
+
${pathLine}
|
|
96
|
+
},
|
|
97
|
+
|
|
98
|
+
// build: {
|
|
99
|
+
// outDir: "dist",
|
|
100
|
+
// tsconfig: "tsconfig.json",
|
|
101
|
+
// format: "esm",
|
|
102
|
+
// },
|
|
103
|
+
|
|
104
|
+
// start: {
|
|
105
|
+
// entry: "dist/main.js",
|
|
106
|
+
// nodeArgs: ["--enable-source-maps"],
|
|
107
|
+
// },
|
|
108
|
+
|
|
109
|
+
// plugins: [
|
|
110
|
+
// // "@my-org/pristine-cli-extras",
|
|
111
|
+
// ],
|
|
112
|
+
|
|
113
|
+
// kernelConfiguration: {
|
|
114
|
+
// // "pristine.logging.logSeverityLevelConfiguration": 1,
|
|
115
|
+
// },
|
|
116
|
+
});
|
|
117
|
+
`;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
ConfigInitCommand = __decorate([
|
|
121
|
+
tag(ServiceDefinitionTagEnum.Command),
|
|
122
|
+
moduleScoped(CliModuleKeyname),
|
|
123
|
+
injectable(),
|
|
124
|
+
__metadata("design:paramtypes", [ConsoleManager])
|
|
125
|
+
], ConfigInitCommand);
|
|
126
|
+
export { ConfigInitCommand };
|
|
127
|
+
//# sourceMappingURL=config-init.command.js.map
|