UNPKG

@qodalis/angular-cli

Version:

A lightweight and flexible command-line interface (CLI) tool designed to streamline workflows and automate tasks for developers.

68 lines 11.9 kB
import { Injectable } from '@angular/core'; import { CliIcon, CliForegroundColor, } from '@qodalis/cli-core'; import { DefaultLibraryAuthor } from '@qodalis/cli-core'; import { openLink } from '../../../utils'; import * as i0 from "@angular/core"; const githubUrl = 'https://github.com/qodalis-solutions/angular-web-cli'; export class CliFeedbackCommandProcessor { constructor() { this.command = 'feedback'; this.description = 'Allows users to report bugs or request features'; this.processors = []; this.author = DefaultLibraryAuthor; this.metadata = { sealed: true, icon: CliIcon.Bug, module: 'system', }; this.processors?.push({ command: 'report-bug', description: 'Reports a bug on GitHub', allowUnlistedCommands: true, async processCommand({ value }, context) { openLink(`${githubUrl}/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=${value}`); }, writeDescription({ writer }) { writer.writeln('Reports a bug on GitHub. Usage: feedback report-bug <description>'); }, }, { command: 'request-feature', description: 'Requests a new feature on GitHub', allowUnlistedCommands: true, async processCommand({ value }, context) { openLink(`${githubUrl}/issues/new?assignees=&labels=feature-request&projects=&template=feature_request.md&title=${value}`); }, writeDescription({ writer }) { writer.writeln('Requests a new feature on GitHub. Usage: feedback request-feature <description>'); }, }, { command: 'request-command', description: 'Requests a new command on GitHub', allowUnlistedCommands: true, async processCommand({ value }, context) { openLink(`${githubUrl}/issues/new?assignees=&labels=command-request&projects=&template=command-request.md&title=${value}`); }, writeDescription({ writer }) { writer.writeln('Requests a new command on GitHub. Usage: feedback request-command <description>'); }, }); } async processCommand(_, { writer }) { writer.writeln('Use one of the following subcommands:'); this.processors?.forEach((processor) => { writer.writeln(`- ${writer.wrapInColor(`feedback ${processor.command}`, CliForegroundColor.Cyan)}: ${processor.description}`); }); } writeDescription({ writer }) { writer.writeln('Allows users to report bugs or request features on GitHub.'); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliFeedbackCommandProcessor, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliFeedbackCommandProcessor, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliFeedbackCommandProcessor, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWZlZWRiYWNrLWNvbW1hbmQtcHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpL3NyYy9saWIvY2xpL3Byb2Nlc3NvcnMvc3lzdGVtL2NsaS1mZWVkYmFjay1jb21tYW5kLXByb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFNSCxPQUFPLEVBRVAsa0JBQWtCLEdBQ3JCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUUxQyxNQUFNLFNBQVMsR0FBRyxzREFBc0QsQ0FBQztBQUt6RSxNQUFNLE9BQU8sMkJBQTJCO0lBZ0JwQztRQWZBLFlBQU8sR0FBRyxVQUFVLENBQUM7UUFFckIsZ0JBQVcsR0FDUCxpREFBaUQsQ0FBQztRQUV0RCxlQUFVLEdBQTZDLEVBQUUsQ0FBQztRQUUxRCxXQUFNLEdBQW1DLG9CQUFvQixDQUFDO1FBRTlELGFBQVEsR0FBc0M7WUFDMUMsTUFBTSxFQUFFLElBQUk7WUFDWixJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUc7WUFDakIsTUFBTSxFQUFFLFFBQVE7U0FDbkIsQ0FBQztRQUdFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUNqQjtZQUNJLE9BQU8sRUFBRSxZQUFZO1lBQ3JCLFdBQVcsRUFBRSx5QkFBeUI7WUFDdEMscUJBQXFCLEVBQUUsSUFBSTtZQUMzQixLQUFLLENBQUMsY0FBYyxDQUNoQixFQUFFLEtBQUssRUFBcUIsRUFDNUIsT0FBNkI7Z0JBRTdCLFFBQVEsQ0FDSixHQUFHLFNBQVMsNEVBQTRFLEtBQUssRUFBRSxDQUNsRyxDQUFDO1lBQ04sQ0FBQztZQUNELGdCQUFnQixDQUFDLEVBQUUsTUFBTSxFQUF3QjtnQkFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FDVixtRUFBbUUsQ0FDdEUsQ0FBQztZQUNOLENBQUM7U0FDSixFQUNEO1lBQ0ksT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsa0NBQWtDO1lBQy9DLHFCQUFxQixFQUFFLElBQUk7WUFDM0IsS0FBSyxDQUFDLGNBQWMsQ0FDaEIsRUFBRSxLQUFLLEVBQXFCLEVBQzVCLE9BQTZCO2dCQUU3QixRQUFRLENBQ0osR0FBRyxTQUFTLDZGQUE2RixLQUFLLEVBQUUsQ0FDbkgsQ0FBQztZQUNOLENBQUM7WUFDRCxnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sRUFBd0I7Z0JBQzdDLE1BQU0sQ0FBQyxPQUFPLENBQ1YsaUZBQWlGLENBQ3BGLENBQUM7WUFDTixDQUFDO1NBQ0osRUFDRDtZQUNJLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLGtDQUFrQztZQUMvQyxxQkFBcUIsRUFBRSxJQUFJO1lBQzNCLEtBQUssQ0FBQyxjQUFjLENBQ2hCLEVBQUUsS0FBSyxFQUFxQixFQUM1QixPQUE2QjtnQkFFN0IsUUFBUSxDQUNKLEdBQUcsU0FBUyw2RkFBNkYsS0FBSyxFQUFFLENBQ25ILENBQUM7WUFDTixDQUFDO1lBQ0QsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQXdCO2dCQUM3QyxNQUFNLENBQUMsT0FBTyxDQUNWLGlGQUFpRixDQUNwRixDQUFDO1lBQ04sQ0FBQztTQUNKLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUNoQixDQUFvQixFQUNwQixFQUFFLE1BQU0sRUFBd0I7UUFFaEMsTUFBTSxDQUFDLE9BQU8sQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxDQUFDLE9BQU8sQ0FDVixLQUFLLE1BQU0sQ0FBQyxXQUFXLENBQUMsWUFBWSxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUNoSCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLEVBQXdCO1FBQzdDLE1BQU0sQ0FBQyxPQUFPLENBQ1YsNERBQTRELENBQy9ELENBQUM7SUFDTixDQUFDOytHQTNGUSwyQkFBMkI7bUhBQTNCLDJCQUEyQixjQUZ4QixNQUFNOzs0RkFFVCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICBJQ2xpQ29tbWFuZFByb2Nlc3NvcixcbiAgICBJQ2xpQ29tbWFuZEF1dGhvcixcbiAgICBDbGlQcm9jZXNzb3JNZXRhZGF0YSxcbiAgICBDbGlJY29uLFxuICAgIElDbGlDb21tYW5kQ2hpbGRQcm9jZXNzb3IsXG4gICAgQ2xpRm9yZWdyb3VuZENvbG9yLFxufSBmcm9tICdAcW9kYWxpcy9jbGktY29yZSc7XG5cbmltcG9ydCB7IERlZmF1bHRMaWJyYXJ5QXV0aG9yIH0gZnJvbSAnQHFvZGFsaXMvY2xpLWNvcmUnO1xuaW1wb3J0IHsgb3BlbkxpbmsgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5cbmNvbnN0IGdpdGh1YlVybCA9ICdodHRwczovL2dpdGh1Yi5jb20vcW9kYWxpcy1zb2x1dGlvbnMvYW5ndWxhci13ZWItY2xpJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpRmVlZGJhY2tDb21tYW5kUHJvY2Vzc29yIGltcGxlbWVudHMgSUNsaUNvbW1hbmRQcm9jZXNzb3Ige1xuICAgIGNvbW1hbmQgPSAnZmVlZGJhY2snO1xuXG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgICAnQWxsb3dzIHVzZXJzIHRvIHJlcG9ydCBidWdzIG9yIHJlcXVlc3QgZmVhdHVyZXMnO1xuXG4gICAgcHJvY2Vzc29ycz86IElDbGlDb21tYW5kQ2hpbGRQcm9jZXNzb3JbXSB8IHVuZGVmaW5lZCA9IFtdO1xuXG4gICAgYXV0aG9yPzogSUNsaUNvbW1hbmRBdXRob3IgfCB1bmRlZmluZWQgPSBEZWZhdWx0TGlicmFyeUF1dGhvcjtcblxuICAgIG1ldGFkYXRhPzogQ2xpUHJvY2Vzc29yTWV0YWRhdGEgfCB1bmRlZmluZWQgPSB7XG4gICAgICAgIHNlYWxlZDogdHJ1ZSxcbiAgICAgICAgaWNvbjogQ2xpSWNvbi5CdWcsXG4gICAgICAgIG1vZHVsZTogJ3N5c3RlbScsXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnByb2Nlc3NvcnM/LnB1c2goXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29tbWFuZDogJ3JlcG9ydC1idWcnLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUmVwb3J0cyBhIGJ1ZyBvbiBHaXRIdWInLFxuICAgICAgICAgICAgICAgIGFsbG93VW5saXN0ZWRDb21tYW5kczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhc3luYyBwcm9jZXNzQ29tbWFuZChcbiAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZSB9OiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgICAgICAgICAgIG9wZW5MaW5rKFxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7Z2l0aHViVXJsfS9pc3N1ZXMvbmV3P2Fzc2lnbmVlcz0mbGFiZWxzPWJ1ZyZwcm9qZWN0cz0mdGVtcGxhdGU9YnVnX3JlcG9ydC5tZCZ0aXRsZT0ke3ZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB3cml0ZURlc2NyaXB0aW9uKHsgd3JpdGVyIH06IElDbGlFeGVjdXRpb25Db250ZXh0KTogdm9pZCB7XG4gICAgICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZWxuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1JlcG9ydHMgYSBidWcgb24gR2l0SHViLiBVc2FnZTogZmVlZGJhY2sgcmVwb3J0LWJ1ZyA8ZGVzY3JpcHRpb24+JyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21tYW5kOiAncmVxdWVzdC1mZWF0dXJlJyxcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1JlcXVlc3RzIGEgbmV3IGZlYXR1cmUgb24gR2l0SHViJyxcbiAgICAgICAgICAgICAgICBhbGxvd1VubGlzdGVkQ29tbWFuZHM6IHRydWUsXG4gICAgICAgICAgICAgICAgYXN5bmMgcHJvY2Vzc0NvbW1hbmQoXG4gICAgICAgICAgICAgICAgICAgIHsgdmFsdWUgfTogQ2xpUHJvY2Vzc0NvbW1hbmQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IElDbGlFeGVjdXRpb25Db250ZXh0LFxuICAgICAgICAgICAgICAgICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICAgICAgICAgICAgICBvcGVuTGluayhcbiAgICAgICAgICAgICAgICAgICAgICAgIGAke2dpdGh1YlVybH0vaXNzdWVzL25ldz9hc3NpZ25lZXM9JmxhYmVscz1mZWF0dXJlLXJlcXVlc3QmcHJvamVjdHM9JnRlbXBsYXRlPWZlYXR1cmVfcmVxdWVzdC5tZCZ0aXRsZT0ke3ZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB3cml0ZURlc2NyaXB0aW9uKHsgd3JpdGVyIH06IElDbGlFeGVjdXRpb25Db250ZXh0KTogdm9pZCB7XG4gICAgICAgICAgICAgICAgICAgIHdyaXRlci53cml0ZWxuKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ1JlcXVlc3RzIGEgbmV3IGZlYXR1cmUgb24gR2l0SHViLiBVc2FnZTogZmVlZGJhY2sgcmVxdWVzdC1mZWF0dXJlIDxkZXNjcmlwdGlvbj4nLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbW1hbmQ6ICdyZXF1ZXN0LWNvbW1hbmQnLFxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnUmVxdWVzdHMgYSBuZXcgY29tbWFuZCBvbiBHaXRIdWInLFxuICAgICAgICAgICAgICAgIGFsbG93VW5saXN0ZWRDb21tYW5kczogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhc3luYyBwcm9jZXNzQ29tbWFuZChcbiAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZSB9OiBDbGlQcm9jZXNzQ29tbWFuZCxcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogSUNsaUV4ZWN1dGlvbkNvbnRleHQsXG4gICAgICAgICAgICAgICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgICAgICAgICAgICAgIG9wZW5MaW5rKFxuICAgICAgICAgICAgICAgICAgICAgICAgYCR7Z2l0aHViVXJsfS9pc3N1ZXMvbmV3P2Fzc2lnbmVlcz0mbGFiZWxzPWNvbW1hbmQtcmVxdWVzdCZwcm9qZWN0cz0mdGVtcGxhdGU9Y29tbWFuZC1yZXF1ZXN0Lm1kJnRpdGxlPSR7dmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHdyaXRlRGVzY3JpcHRpb24oeyB3cml0ZXIgfTogSUNsaUV4ZWN1dGlvbkNvbnRleHQpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICAgICAgd3JpdGVyLndyaXRlbG4oXG4gICAgICAgICAgICAgICAgICAgICAgICAnUmVxdWVzdHMgYSBuZXcgY29tbWFuZCBvbiBHaXRIdWIuIFVzYWdlOiBmZWVkYmFjayByZXF1ZXN0LWNvbW1hbmQgPGRlc2NyaXB0aW9uPicsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYXN5bmMgcHJvY2Vzc0NvbW1hbmQoXG4gICAgICAgIF86IENsaVByb2Nlc3NDb21tYW5kLFxuICAgICAgICB7IHdyaXRlciB9OiBJQ2xpRXhlY3V0aW9uQ29udGV4dCxcbiAgICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgd3JpdGVyLndyaXRlbG4oJ1VzZSBvbmUgb2YgdGhlIGZvbGxvd2luZyBzdWJjb21tYW5kczonKTtcbiAgICAgICAgdGhpcy5wcm9jZXNzb3JzPy5mb3JFYWNoKChwcm9jZXNzb3IpID0+IHtcbiAgICAgICAgICAgIHdyaXRlci53cml0ZWxuKFxuICAgICAgICAgICAgICAgIGAtICR7d3JpdGVyLndyYXBJbkNvbG9yKGBmZWVkYmFjayAke3Byb2Nlc3Nvci5jb21tYW5kfWAsIENsaUZvcmVncm91bmRDb2xvci5DeWFuKX06ICR7cHJvY2Vzc29yLmRlc2NyaXB0aW9ufWAsXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB3cml0ZURlc2NyaXB0aW9uKHsgd3JpdGVyIH06IElDbGlFeGVjdXRpb25Db250ZXh0KTogdm9pZCB7XG4gICAgICAgIHdyaXRlci53cml0ZWxuKFxuICAgICAgICAgICAgJ0FsbG93cyB1c2VycyB0byByZXBvcnQgYnVncyBvciByZXF1ZXN0IGZlYXR1cmVzIG9uIEdpdEh1Yi4nLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==