UNPKG

@anansi/generator-js

Version:
79 lines 10.7 kB
import { DEFAULT_ASSET_PATH, DEFAULT_ROOT_PATH, DEFAULT_SERVER_PATH } from '../defaults.js'; import { BetterGenerator } from '../utils.js'; export default class ConfigureGenerator extends BetterGenerator { constructor(args, options, features) { super(args, options, features); this.argument('appName', { type: String, required: true }); this.option('root-path', { alias: 'r', description: 'Path for all the source files', type: String, default: DEFAULT_ROOT_PATH }); this.option('build-path', { alias: 'b', description: 'Build destination', type: String, default: DEFAULT_ASSET_PATH }); this.option('server-path', { alias: 's', description: 'Server build destination', type: String, default: DEFAULT_SERVER_PATH }); this.option('npm-namespace', { alias: 'n', description: 'NPM namespace like @anansi (be sure to include the @)', type: String }); } initializing() { if (this.options['root-path']) { this.config.set('rootPath', this.options['root-path']); } else if (!this.config.get('rootPath')) { this.config.set('rootPath', DEFAULT_ROOT_PATH); } if (this.options['build-path']) { this.config.set('assetPath', this.options['build-path']); } else if (!this.config.get('assetPath')) { this.config.set('assetPath', DEFAULT_ASSET_PATH); } if (this.options['server-path']) { this.config.set('serverPath', this.options['server-path']); } else if (!this.config.get('serverPath')) { this.config.set('serverPath', DEFAULT_ASSET_PATH); } this.config.set('appName', this.options.appName); this.config.set('githubDomain', this.options.githubDomain ?? 'github.com'); this.config.set('npmNamespace', this.options['npm-namespace']); } async prompting() { const props = await this.prompt([{ type: 'select', name: 'projectType', message: 'Would type of project are you starting?', default: 'SPA', choices: [{ name: 'Website', value: 'SPA' }, { name: 'NPM package', value: 'library' }], store: true }, { type: 'input', name: 'githubOrg', message: 'What github org or username? (this does not modify github in any way)', default: this.config.get('githubOrg'), store: true }]); this.config.set('githubOrg', props.githubOrg); return props; } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJERUZBVUxUX0FTU0VUX1BBVEgiLCJERUZBVUxUX1JPT1RfUEFUSCIsIkRFRkFVTFRfU0VSVkVSX1BBVEgiLCJCZXR0ZXJHZW5lcmF0b3IiLCJDb25maWd1cmVHZW5lcmF0b3IiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJvcHRpb25zIiwiZmVhdHVyZXMiLCJhcmd1bWVudCIsInR5cGUiLCJTdHJpbmciLCJyZXF1aXJlZCIsIm9wdGlvbiIsImFsaWFzIiwiZGVzY3JpcHRpb24iLCJkZWZhdWx0IiwiaW5pdGlhbGl6aW5nIiwiY29uZmlnIiwic2V0IiwiZ2V0IiwiYXBwTmFtZSIsImdpdGh1YkRvbWFpbiIsInByb21wdGluZyIsInByb3BzIiwicHJvbXB0IiwibmFtZSIsIm1lc3NhZ2UiLCJjaG9pY2VzIiwidmFsdWUiLCJzdG9yZSIsImdpdGh1Yk9yZyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcHAvQ29uZmlndXJlR2VuZXJhdG9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VPcHRpb25zLCBCYXNlRmVhdHVyZXMgfSBmcm9tICd5ZW9tYW4tZ2VuZXJhdG9yJztcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9BU1NFVF9QQVRILFxuICBERUZBVUxUX1JPT1RfUEFUSCxcbiAgREVGQVVMVF9TRVJWRVJfUEFUSCxcbn0gZnJvbSAnLi4vZGVmYXVsdHMuanMnO1xuaW1wb3J0IHsgQmV0dGVyR2VuZXJhdG9yIH0gZnJvbSAnLi4vdXRpbHMuanMnO1xuXG5leHBvcnQgdHlwZSBDb25maWd1cmVPcHRpb25zID0gQmFzZU9wdGlvbnMgJiB7XG4gIGFwcE5hbWU6IHN0cmluZztcbiAgZ2l0aHViRG9tYWluOiBzdHJpbmc7XG4gICdyb290LXBhdGgnOiBzdHJpbmc7XG4gICdidWlsZC1wYXRoJzogc3RyaW5nO1xuICAnc2VydmVyLXBhdGgnOiBzdHJpbmc7XG4gICducG0tbmFtZXNwYWNlJzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29uZmlndXJlR2VuZXJhdG9yPFxuICBPIGV4dGVuZHMgQ29uZmlndXJlT3B0aW9ucyA9IENvbmZpZ3VyZU9wdGlvbnMsXG4gIEYgZXh0ZW5kcyBCYXNlRmVhdHVyZXMgPSBCYXNlRmVhdHVyZXMsXG4+IGV4dGVuZHMgQmV0dGVyR2VuZXJhdG9yPE8sIEY+IHtcbiAgY29uc3RydWN0b3IoYXJnczogc3RyaW5nIHwgc3RyaW5nW10sIG9wdGlvbnM6IE8sIGZlYXR1cmVzOiBGKSB7XG4gICAgc3VwZXIoYXJncywgb3B0aW9ucywgZmVhdHVyZXMpO1xuXG4gICAgdGhpcy5hcmd1bWVudCgnYXBwTmFtZScsIHsgdHlwZTogU3RyaW5nLCByZXF1aXJlZDogdHJ1ZSB9KTtcbiAgICB0aGlzLm9wdGlvbigncm9vdC1wYXRoJywge1xuICAgICAgYWxpYXM6ICdyJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnUGF0aCBmb3IgYWxsIHRoZSBzb3VyY2UgZmlsZXMnLFxuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgZGVmYXVsdDogREVGQVVMVF9ST09UX1BBVEgsXG4gICAgfSk7XG4gICAgdGhpcy5vcHRpb24oJ2J1aWxkLXBhdGgnLCB7XG4gICAgICBhbGlhczogJ2InLFxuICAgICAgZGVzY3JpcHRpb246ICdCdWlsZCBkZXN0aW5hdGlvbicsXG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBkZWZhdWx0OiBERUZBVUxUX0FTU0VUX1BBVEgsXG4gICAgfSk7XG4gICAgdGhpcy5vcHRpb24oJ3NlcnZlci1wYXRoJywge1xuICAgICAgYWxpYXM6ICdzJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU2VydmVyIGJ1aWxkIGRlc3RpbmF0aW9uJyxcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGRlZmF1bHQ6IERFRkFVTFRfU0VSVkVSX1BBVEgsXG4gICAgfSk7XG4gICAgdGhpcy5vcHRpb24oJ25wbS1uYW1lc3BhY2UnLCB7XG4gICAgICBhbGlhczogJ24nLFxuICAgICAgZGVzY3JpcHRpb246ICdOUE0gbmFtZXNwYWNlIGxpa2UgQGFuYW5zaSAoYmUgc3VyZSB0byBpbmNsdWRlIHRoZSBAKScsXG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgfSk7XG4gIH1cblxuICBpbml0aWFsaXppbmcoKSB7XG4gICAgaWYgKHRoaXMub3B0aW9uc1sncm9vdC1wYXRoJ10pIHtcbiAgICAgIHRoaXMuY29uZmlnLnNldCgncm9vdFBhdGgnLCB0aGlzLm9wdGlvbnNbJ3Jvb3QtcGF0aCddKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmNvbmZpZy5nZXQoJ3Jvb3RQYXRoJykpIHtcbiAgICAgIHRoaXMuY29uZmlnLnNldCgncm9vdFBhdGgnLCBERUZBVUxUX1JPT1RfUEFUSCk7XG4gICAgfVxuICAgIGlmICh0aGlzLm9wdGlvbnNbJ2J1aWxkLXBhdGgnXSkge1xuICAgICAgdGhpcy5jb25maWcuc2V0KCdhc3NldFBhdGgnLCB0aGlzLm9wdGlvbnNbJ2J1aWxkLXBhdGgnXSk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5jb25maWcuZ2V0KCdhc3NldFBhdGgnKSkge1xuICAgICAgdGhpcy5jb25maWcuc2V0KCdhc3NldFBhdGgnLCBERUZBVUxUX0FTU0VUX1BBVEgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25zWydzZXJ2ZXItcGF0aCddKSB7XG4gICAgICB0aGlzLmNvbmZpZy5zZXQoJ3NlcnZlclBhdGgnLCB0aGlzLm9wdGlvbnNbJ3NlcnZlci1wYXRoJ10pO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuY29uZmlnLmdldCgnc2VydmVyUGF0aCcpKSB7XG4gICAgICB0aGlzLmNvbmZpZy5zZXQoJ3NlcnZlclBhdGgnLCBERUZBVUxUX0FTU0VUX1BBVEgpO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpZy5zZXQoJ2FwcE5hbWUnLCB0aGlzLm9wdGlvbnMuYXBwTmFtZSk7XG4gICAgdGhpcy5jb25maWcuc2V0KCdnaXRodWJEb21haW4nLCB0aGlzLm9wdGlvbnMuZ2l0aHViRG9tYWluID8/ICdnaXRodWIuY29tJyk7XG4gICAgdGhpcy5jb25maWcuc2V0KCducG1OYW1lc3BhY2UnLCB0aGlzLm9wdGlvbnNbJ25wbS1uYW1lc3BhY2UnXSk7XG4gIH1cblxuICBhc3luYyBwcm9tcHRpbmcoKSB7XG4gICAgY29uc3QgcHJvcHMgPSBhd2FpdCB0aGlzLnByb21wdChbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgICBuYW1lOiAncHJvamVjdFR5cGUnLFxuICAgICAgICBtZXNzYWdlOiAnV291bGQgdHlwZSBvZiBwcm9qZWN0IGFyZSB5b3Ugc3RhcnRpbmc/JyxcbiAgICAgICAgZGVmYXVsdDogJ1NQQScsXG4gICAgICAgIGNob2ljZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnV2Vic2l0ZScsXG4gICAgICAgICAgICB2YWx1ZTogJ1NQQScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTlBNIHBhY2thZ2UnLFxuICAgICAgICAgICAgdmFsdWU6ICdsaWJyYXJ5JyxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBzdG9yZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdpbnB1dCcsXG4gICAgICAgIG5hbWU6ICdnaXRodWJPcmcnLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICdXaGF0IGdpdGh1YiBvcmcgb3IgdXNlcm5hbWU/ICh0aGlzIGRvZXMgbm90IG1vZGlmeSBnaXRodWIgaW4gYW55IHdheSknLFxuICAgICAgICBkZWZhdWx0OiB0aGlzLmNvbmZpZy5nZXQoJ2dpdGh1Yk9yZycpLFxuICAgICAgICBzdG9yZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXSk7XG5cbiAgICB0aGlzLmNvbmZpZy5zZXQoJ2dpdGh1Yk9yZycsIHByb3BzLmdpdGh1Yk9yZyk7XG4gICAgcmV0dXJuIHByb3BzO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUVBLFNBQ0VBLGtCQUFrQixFQUNsQkMsaUJBQWlC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