@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,280 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
+
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;
|
|
22
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
+
};
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
42
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
43
|
+
};
|
|
44
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
45
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
46
|
+
};
|
|
47
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
48
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
49
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
50
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
51
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
52
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
53
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
var ReplStartEventHandler_1;
|
|
57
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
|
+
exports.ReplStartEventHandler = void 0;
|
|
59
|
+
const readline = __importStar(require("node:readline"));
|
|
60
|
+
const tsyringe_1 = require("tsyringe");
|
|
61
|
+
const core_1 = require("@pristine-ts/core");
|
|
62
|
+
const common_1 = require("@pristine-ts/common");
|
|
63
|
+
const observability_1 = require("@pristine-ts/observability");
|
|
64
|
+
const cli_output_manager_1 = require("../managers/cli-output.manager");
|
|
65
|
+
const cli_module_keyname_1 = require("../cli.module.keyname");
|
|
66
|
+
const start_repl_event_payload_1 = require("../event-payloads/start-repl.event-payload");
|
|
67
|
+
const start_repl_event_response_type_1 = require("../types/start-repl-event-response.type");
|
|
68
|
+
/**
|
|
69
|
+
* The interactive `pristine` console, modelled as a long-running event handler. Launched
|
|
70
|
+
* when the bin is invoked with no command (or `pristine repl`) — `ReplStartEventMapper`
|
|
71
|
+
* produces a `StartReplEventPayload` and this handler runs the readline loop for the rest
|
|
72
|
+
* of the process lifetime.
|
|
73
|
+
*
|
|
74
|
+
* **Why an event handler.** The REPL is the same shape as `pristine start` (or any
|
|
75
|
+
* long-running command): an EventHandler whose `handle()` doesn't return until the
|
|
76
|
+
* session ends. This gives the CLI bootstrap a uniform shape — `cli.ts` just calls
|
|
77
|
+
* `kernel.handle(argv, {keyname: Cli})` regardless of whether the user invoked a one-shot
|
|
78
|
+
* command or wants the interactive console. There is no driver/handler asymmetry left in
|
|
79
|
+
* the bootstrap; the mapping layer routes argv to the right payload.
|
|
80
|
+
*
|
|
81
|
+
* **Per-line dispatch.** Each typed line is re-entered through `kernel.handle(...,
|
|
82
|
+
* {keyname: Cli})` — using `Kernel` (the proper re-entry seam — it owns trace lifecycle,
|
|
83
|
+
* child container creation, the works). The `Kernel` is `registerInstance`-d into its
|
|
84
|
+
* own container by `Cli.bootstrap()`, so this handler injects it via DI like any other
|
|
85
|
+
* service.
|
|
86
|
+
*
|
|
87
|
+
* Plus the session verbs `/help`, `/clear`, `/exit` handled in-process (they're not
|
|
88
|
+
* commands — they don't re-enter the kernel). Tab-completion is driven by the live
|
|
89
|
+
* command registry and by recent trace ids for `/trace` / `/logs`.
|
|
90
|
+
*/
|
|
91
|
+
let ReplStartEventHandler = ReplStartEventHandler_1 = class ReplStartEventHandler {
|
|
92
|
+
constructor(kernel, container, cliOutput, traceStore) {
|
|
93
|
+
this.kernel = kernel;
|
|
94
|
+
this.container = container;
|
|
95
|
+
this.cliOutput = cliOutput;
|
|
96
|
+
this.traceStore = traceStore;
|
|
97
|
+
this.commands = [];
|
|
98
|
+
}
|
|
99
|
+
supports(event) {
|
|
100
|
+
return event.payload instanceof start_repl_event_payload_1.StartReplEventPayload;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Runs the read-eval-print loop until `/exit` or EOF (Ctrl-D). Resolves with the exit
|
|
104
|
+
* code wrapped in a `StartReplEventResponse`; the mapper surfaces that to `Cli.bootstrap`.
|
|
105
|
+
*/
|
|
106
|
+
handle(event) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
this.commands = this.resolveCommands();
|
|
109
|
+
this.printBanner();
|
|
110
|
+
const rl = readline.createInterface({
|
|
111
|
+
input: process.stdin,
|
|
112
|
+
output: process.stdout,
|
|
113
|
+
prompt: ReplStartEventHandler_1.PROMPT,
|
|
114
|
+
completer: (line) => this.complete(line),
|
|
115
|
+
});
|
|
116
|
+
const exitCode = yield new Promise((resolve) => {
|
|
117
|
+
rl.prompt();
|
|
118
|
+
rl.on("line", (line) => {
|
|
119
|
+
const trimmed = line.trim();
|
|
120
|
+
if (trimmed.length === 0) {
|
|
121
|
+
rl.prompt();
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
// Pause input while a command runs so its own SIGINT handling (e.g. `logs -f`)
|
|
125
|
+
// owns Ctrl-C, and so a second line can't interleave mid-dispatch.
|
|
126
|
+
rl.pause();
|
|
127
|
+
void this.handleLine(trimmed).then((shouldExit) => {
|
|
128
|
+
if (shouldExit) {
|
|
129
|
+
rl.close();
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
rl.resume();
|
|
133
|
+
rl.prompt();
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
// Ctrl-C at an idle prompt clears the line rather than killing the session.
|
|
137
|
+
rl.on("SIGINT", () => {
|
|
138
|
+
this.cliOutput.writeLine("(type /exit to quit)");
|
|
139
|
+
rl.prompt();
|
|
140
|
+
});
|
|
141
|
+
rl.on("close", () => {
|
|
142
|
+
void this.shutdown().then(() => resolve(common_1.ExitCode.Success));
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
return new start_repl_event_response_type_1.StartReplEventResponse(event, exitCode);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Handles one input line. Returns true when the session should end.
|
|
150
|
+
*/
|
|
151
|
+
handleLine(input) {
|
|
152
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
153
|
+
const withoutSlash = input.startsWith("/") ? input.slice(1) : input;
|
|
154
|
+
const tokens = withoutSlash.split(/\s+/).filter(token => token.length > 0);
|
|
155
|
+
const name = tokens[0];
|
|
156
|
+
const rest = tokens.slice(1);
|
|
157
|
+
if (name === "exit" || name === "quit") {
|
|
158
|
+
return true;
|
|
159
|
+
}
|
|
160
|
+
if (name === "clear") {
|
|
161
|
+
console.clear();
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
if (name === "help") {
|
|
165
|
+
this.printHelp();
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
// Re-enter the kernel with a synthetic argv under the `Cli` keyname — parsing and
|
|
170
|
+
// dispatch are identical to a one-shot invocation. The `"pristine"` token is the
|
|
171
|
+
// bin marker `PristineArgv` scans for; everything after it is treated as user
|
|
172
|
+
// args. `CliEventHandler` returns the exit code instead of calling `process.exit`,
|
|
173
|
+
// so the loop survives. An unknown command throws `CommandNotFoundError`, caught
|
|
174
|
+
// below.
|
|
175
|
+
yield this.kernel.handle(["node", "pristine", name, ...rest], { keyname: core_1.ExecutionContextKeynameEnum.Cli, context: null });
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
try {
|
|
179
|
+
// Stringification + writeLine are wrapped together — `error.message`/`String(error)`
|
|
180
|
+
// can throw on pathological inputs, and a throw here would kill the REPL session.
|
|
181
|
+
this.cliOutput.writeLine(`Error: ${error instanceof Error ? error.message : String(error)}`);
|
|
182
|
+
}
|
|
183
|
+
catch (_a) {
|
|
184
|
+
// Drop the error rather than crashing the session.
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return false;
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Readline completer. Completes `/`-prefixed command names and session verbs; for
|
|
192
|
+
* `/trace` and `/logs` it completes the trailing token with recent trace ids.
|
|
193
|
+
*/
|
|
194
|
+
complete(line) {
|
|
195
|
+
const traceIdMatch = /^\/(trace|logs)\s+(\S*)$/.exec(line);
|
|
196
|
+
if (traceIdMatch !== null) {
|
|
197
|
+
const partial = traceIdMatch[2];
|
|
198
|
+
const hits = this.traceStore.recentTraceIds(ReplStartEventHandler_1.TRACE_ID_COMPLETION_LIMIT)
|
|
199
|
+
.filter(id => id.startsWith(partial));
|
|
200
|
+
return [hits, partial];
|
|
201
|
+
}
|
|
202
|
+
const candidates = [
|
|
203
|
+
...this.commands.map(command => `/${command.name}`),
|
|
204
|
+
...ReplStartEventHandler_1.SESSION_VERBS,
|
|
205
|
+
];
|
|
206
|
+
const hits = candidates.filter(candidate => candidate.startsWith(line));
|
|
207
|
+
return [hits.length > 0 ? hits : candidates, line];
|
|
208
|
+
}
|
|
209
|
+
printBanner() {
|
|
210
|
+
this.cliOutput.writeLine("Pristine — interactive console");
|
|
211
|
+
this.cliOutput.writeLine("Type /help for commands, /exit to quit.");
|
|
212
|
+
this.cliOutput.writeLine("");
|
|
213
|
+
}
|
|
214
|
+
printHelp() {
|
|
215
|
+
var _a;
|
|
216
|
+
this.cliOutput.writeLine("Session:");
|
|
217
|
+
this.cliOutput.writeLine(" /help show this message");
|
|
218
|
+
this.cliOutput.writeLine(" /clear clear the screen");
|
|
219
|
+
this.cliOutput.writeLine(" /exit leave the console");
|
|
220
|
+
this.cliOutput.writeLine("");
|
|
221
|
+
this.cliOutput.writeLine("Commands (also runnable as `pristine <name>`):");
|
|
222
|
+
const sorted = [...this.commands].sort((a, b) => a.name.localeCompare(b.name));
|
|
223
|
+
const longest = sorted.reduce((max, command) => Math.max(max, command.name.length), 0);
|
|
224
|
+
for (const command of sorted) {
|
|
225
|
+
const padded = `/${command.name}`.padEnd(longest + 3, " ");
|
|
226
|
+
this.cliOutput.writeLine(` ${padded}${(_a = command.description) !== null && _a !== void 0 ? _a : ""}`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
shutdown() {
|
|
230
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
231
|
+
try {
|
|
232
|
+
yield this.kernel.stop();
|
|
233
|
+
}
|
|
234
|
+
catch (_a) {
|
|
235
|
+
// Best-effort — we're leaving the process anyway.
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Enumerates every registered command. Resolved from the per-event child container the
|
|
241
|
+
* kernel handed this handler when it dispatched the REPL-start event — same container
|
|
242
|
+
* `HelpCommand`/`ListCommand` themselves use, so commands that depend on
|
|
243
|
+
* `CurrentChildContainer` resolve cleanly.
|
|
244
|
+
*
|
|
245
|
+
* `resolveAll`, justified: framework REPL infrastructure at session start — enumerating
|
|
246
|
+
* every `Command`-tagged service is a container-introspection operation with no
|
|
247
|
+
* constructor seam.
|
|
248
|
+
*/
|
|
249
|
+
resolveCommands() {
|
|
250
|
+
try {
|
|
251
|
+
return this.container.resolveAll(common_1.ServiceDefinitionTagEnum.Command);
|
|
252
|
+
}
|
|
253
|
+
catch (error) {
|
|
254
|
+
try {
|
|
255
|
+
// Stringification + stderr.write are wrapped together — `error.message`/`String(error)`
|
|
256
|
+
// can throw on pathological inputs, and a throw here would bubble out and kill REPL
|
|
257
|
+
// startup.
|
|
258
|
+
process.stderr.write(`[repl] could not load commands: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
259
|
+
}
|
|
260
|
+
catch (_a) {
|
|
261
|
+
// Drop the report rather than crashing startup; the empty completer is still usable.
|
|
262
|
+
}
|
|
263
|
+
return [];
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
exports.ReplStartEventHandler = ReplStartEventHandler;
|
|
268
|
+
ReplStartEventHandler.PROMPT = "pristine ❯ ";
|
|
269
|
+
ReplStartEventHandler.SESSION_VERBS = ["/help", "/clear", "/exit"];
|
|
270
|
+
ReplStartEventHandler.TRACE_ID_COMPLETION_LIMIT = 25;
|
|
271
|
+
exports.ReplStartEventHandler = ReplStartEventHandler = ReplStartEventHandler_1 = __decorate([
|
|
272
|
+
(0, common_1.tag)(common_1.ServiceDefinitionTagEnum.EventHandler),
|
|
273
|
+
(0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname),
|
|
274
|
+
(0, tsyringe_1.injectable)(),
|
|
275
|
+
__param(0, (0, tsyringe_1.inject)(core_1.Kernel)),
|
|
276
|
+
__param(1, (0, tsyringe_1.inject)(common_1.ServiceDefinitionTagEnum.CurrentChildContainer)),
|
|
277
|
+
__metadata("design:paramtypes", [core_1.Kernel, Object, cli_output_manager_1.CliOutput,
|
|
278
|
+
observability_1.TraceStore])
|
|
279
|
+
], ReplStartEventHandler);
|
|
280
|
+
//# sourceMappingURL=repl-start.event-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repl-start.event-handler.js","sourceRoot":"","sources":["../../../../src/event-handlers/repl-start.event-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -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("./command.event-payload"), exports);
|
|
18
|
+
__exportStar(require("./start-repl.event-payload"), exports);
|
|
18
19
|
//# sourceMappingURL=event-payloads.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-payloads.js","sourceRoot":"","sources":["../../../../src/event-payloads/event-payloads.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC"}
|
|
1
|
+
{"version":3,"file":"event-payloads.js","sourceRoot":"","sources":["../../../../src/event-payloads/event-payloads.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,6DAA2C"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StartReplEventPayload = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Payload that signals "launch the interactive REPL." Produced by `ReplStartEventMapper`
|
|
6
|
+
* for argv shapes with no command (`pristine`) or with the explicit `repl` command
|
|
7
|
+
* (`pristine repl`). Consumed by `ReplStartEventHandler` which runs the readline loop
|
|
8
|
+
* for the rest of the process lifetime.
|
|
9
|
+
*
|
|
10
|
+
* The payload carries the `scriptPath` (argv[1]) for parity with `CommandEventPayload`
|
|
11
|
+
* and for diagnostics; the REPL itself reads its input from stdin, not from the payload.
|
|
12
|
+
*/
|
|
13
|
+
class StartReplEventPayload {
|
|
14
|
+
constructor(scriptPath) {
|
|
15
|
+
this.scriptPath = scriptPath;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.StartReplEventPayload = StartReplEventPayload;
|
|
19
|
+
//# sourceMappingURL=start-repl.event-payload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start-repl.event-payload.js","sourceRoot":"","sources":["../../../../src/event-payloads/start-repl.event-payload.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,MAAa,qBAAqB;IAChC,YAAmB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IACrC,CAAC;CACF;AAHD,sDAGC"}
|
|
@@ -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("./command.interface"), exports);
|
|
18
|
+
__exportStar(require("./terminal-key.interface"), exports);
|
|
18
19
|
//# sourceMappingURL=interfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC"}
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/interfaces/interfaces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,2DAAyC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-key.interface.js","sourceRoot":"","sources":["../../../../src/interfaces/terminal-key.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.CliOutput = void 0;
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const common_1 = require("@pristine-ts/common");
|
|
12
|
+
const cli_module_keyname_1 = require("../cli.module.keyname");
|
|
13
|
+
/**
|
|
14
|
+
* Pipe-friendly stdout primitives for the CLI. Use this when you need to emit text that
|
|
15
|
+
* a user might redirect or pipe — help banners, command tables, JSON dumps — and the
|
|
16
|
+
* `LogHandler` pipeline would be wrong because it can be severity-gated, routed to
|
|
17
|
+
* stderr per-severity, or fanned out to file/Sentry transports. For event narration
|
|
18
|
+
* ("Compiling X", "Server started"), use `LogHandler` instead.
|
|
19
|
+
*/
|
|
20
|
+
let CliOutput = class CliOutput {
|
|
21
|
+
/**
|
|
22
|
+
* Writes a message to stdout without a newline.
|
|
23
|
+
*/
|
|
24
|
+
write(message) {
|
|
25
|
+
process.stdout.write(message);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Writes a message to stdout with a newline.
|
|
29
|
+
*/
|
|
30
|
+
writeLine(message) {
|
|
31
|
+
process.stdout.write(message + "\n");
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Renders an array of objects as a table using Node's `console.table`.
|
|
35
|
+
*/
|
|
36
|
+
writeTable(rows) {
|
|
37
|
+
console.table(rows);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.CliOutput = CliOutput;
|
|
41
|
+
exports.CliOutput = CliOutput = __decorate([
|
|
42
|
+
(0, tsyringe_1.injectable)(),
|
|
43
|
+
(0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname)
|
|
44
|
+
], CliOutput);
|
|
45
|
+
//# sourceMappingURL=cli-output.manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-output.manager.js","sourceRoot":"","sources":["../../../../src/managers/cli-output.manager.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAoC;AACpC,gDAAiD;AACjD,8DAAuD;AAEvD;;;;;;GAMG;AAGI,IAAM,SAAS,GAAf,MAAM,SAAS;IAEpB;;OAEG;IACH,KAAK,CAAC,OAAe;QACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAW;QACpB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACF,CAAA;AAtBY,8BAAS;oBAAT,SAAS;IAFrB,IAAA,qBAAU,GAAE;IACZ,IAAA,qBAAY,EAAC,qCAAgB,CAAC;GAClB,SAAS,CAsBrB"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var CliProgressBar_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.CliProgressBar = void 0;
|
|
11
|
+
const tsyringe_1 = require("tsyringe");
|
|
12
|
+
const common_1 = require("@pristine-ts/common");
|
|
13
|
+
const cli_module_keyname_1 = require("../cli.module.keyname");
|
|
14
|
+
const node_readline_1 = require("node:readline");
|
|
15
|
+
/**
|
|
16
|
+
* Inline progress bar rendered on the current TTY line. Each call clears and redraws
|
|
17
|
+
* the line, so callers must not interleave other output (LogHandler narration, raw
|
|
18
|
+
* CliOutput writes, etc.) between updates or the previous bar will be left behind on
|
|
19
|
+
* the line above.
|
|
20
|
+
*/
|
|
21
|
+
let CliProgressBar = CliProgressBar_1 = class CliProgressBar {
|
|
22
|
+
/**
|
|
23
|
+
* Renders the progress bar at the current line. When `current >= total` the cursor
|
|
24
|
+
* is advanced to the next line so subsequent output doesn't overwrite the finished bar.
|
|
25
|
+
*/
|
|
26
|
+
update(current, total, message = "", width = 30) {
|
|
27
|
+
const percentage = Math.min(Math.max(current / total, 0), 1);
|
|
28
|
+
const filledWidth = Math.round(width * percentage);
|
|
29
|
+
const emptyWidth = width - filledWidth;
|
|
30
|
+
const filledBar = CliProgressBar_1.FILLED.repeat(filledWidth);
|
|
31
|
+
const emptyBar = CliProgressBar_1.EMPTY.repeat(emptyWidth);
|
|
32
|
+
(0, node_readline_1.clearLine)(process.stdout, 0);
|
|
33
|
+
(0, node_readline_1.cursorTo)(process.stdout, 0);
|
|
34
|
+
process.stdout.write(`${CliProgressBar_1.CYAN}[${filledBar}${emptyBar}]${CliProgressBar_1.RESET} ${Math.round(percentage * 100)}% ${message}`);
|
|
35
|
+
if (current >= total) {
|
|
36
|
+
process.stdout.write("\n");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.CliProgressBar = CliProgressBar;
|
|
41
|
+
CliProgressBar.FILLED = "█";
|
|
42
|
+
CliProgressBar.EMPTY = "░";
|
|
43
|
+
CliProgressBar.CYAN = "\x1b[36m";
|
|
44
|
+
CliProgressBar.RESET = "\x1b[0m";
|
|
45
|
+
exports.CliProgressBar = CliProgressBar = CliProgressBar_1 = __decorate([
|
|
46
|
+
(0, tsyringe_1.injectable)(),
|
|
47
|
+
(0, common_1.moduleScoped)(cli_module_keyname_1.CliModuleKeyname)
|
|
48
|
+
], CliProgressBar);
|
|
49
|
+
//# sourceMappingURL=cli-progress-bar.manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-progress-bar.manager.js","sourceRoot":"","sources":["../../../../src/managers/cli-progress-bar.manager.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,uCAAoC;AACpC,gDAAiD;AACjD,8DAAuD;AACvD,iDAAkD;AAElD;;;;;GAKG;AAGI,IAAM,cAAc,sBAApB,MAAM,cAAc;IAOzB;;;OAGG;IACH,MAAM,CAAC,OAAe,EAAE,KAAa,EAAE,UAAkB,EAAE,EAAE,QAAgB,EAAE;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,KAAK,GAAG,WAAW,CAAC;QAEvC,MAAM,SAAS,GAAG,gBAAc,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,gBAAc,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEzD,IAAA,yBAAS,EAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAA,wBAAQ,EAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,gBAAc,CAAC,IAAI,IAAI,SAAS,GAAG,QAAQ,IAAI,gBAAc,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QAE3I,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;;AA1BU,wCAAc;AAED,qBAAM,GAAG,GAAG,AAAN,CAAO;AACb,oBAAK,GAAG,GAAG,AAAN,CAAO;AACZ,mBAAI,GAAG,UAAU,AAAb,CAAc;AAClB,oBAAK,GAAG,SAAS,AAAZ,CAAa;yBAL/B,cAAc;IAF1B,IAAA,qBAAU,GAAE;IACZ,IAAA,qBAAY,EAAC,qCAAgB,CAAC;GAClB,cAAc,CA2B1B"}
|