europa-build
Version:
Tool for generating and maintaining Europa plugins and presets
87 lines • 3.49 kB
JavaScript
;
/*
* Copyright (C) 2022 neocotic
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ContribPluginTemplateProvider = void 0;
const CommonPluginTemplateProvider_1 = require("./CommonPluginTemplateProvider");
/**
* A {@link TemplateProvider} for contribution plugin package templates.
*/
class ContribPluginTemplateProvider extends CommonPluginTemplateProvider_1.CommonPluginTemplateProvider {
/**
* Creates an instance of {@link ContribPluginTemplateProvider} using the `options` provided.
*
* @param options - The options to be used.
*/
constructor(options) {
super(options);
}
extendCommonCliOptions(commonCliOptions) {
return [
...commonCliOptions,
{
arg: '<email>',
description: 'email of the package author',
longName: 'author-email',
},
{
arg: '<name>',
description: 'name of the package author',
longName: 'author-name',
},
{
arg: '<url>',
description: 'URL of the package author homepage',
longName: 'author-url',
},
{
arg: '<url>',
description: 'URL of the package issue tracker',
longName: 'bugs-url',
},
{
arg: '<url>',
description: 'URL of the package homepage',
longName: 'homepage-url',
},
{
arg: '<url>',
description: 'URL of the package git repository',
longName: 'repository-url',
},
];
}
extendCommonContext(commonContext, options) {
return Object.assign(Object.assign({}, commonContext), { authorEmail: options.authorEmail, authorUrl: options.authorUrl, bugsUrl: options.bugsUrl, homepageUrl: options.homepageUrl, repositoryUrl: this.getRequiredContextOption(options, 'repositoryUrl') });
}
getAuthorName(options) {
return this.getRequiredContextOption(options, 'authorName');
}
async getDefaultVersion() {
return '1.0.0';
}
getName() {
return 'contrib';
}
}
exports.ContribPluginTemplateProvider = ContribPluginTemplateProvider;
//# sourceMappingURL=ContribPluginTemplateProvider.js.map