@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
JavaScript
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==