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: 'list', 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/ICdnaXRodWIuY29tJyk7XG4gICAgdGhpcy5jb25maWcuc2V0KCducG1OYW1lc3BhY2UnLCB0aGlzLm9wdGlvbnNbJ25wbS1uYW1lc3BhY2UnXSk7XG4gIH1cblxuICBhc3luYyBwcm9tcHRpbmcoKSB7XG4gICAgY29uc3QgcHJvcHMgPSBhd2FpdCB0aGlzLnByb21wdChbXG4gICAgICB7XG4gICAgICAgIHR5cGU6ICdsaXN0JyxcbiAgICAgICAgbmFtZTogJ3Byb2plY3RUeXBlJyxcbiAgICAgICAgbWVzc2FnZTogJ1dvdWxkIHR5cGUgb2YgcHJvamVjdCBhcmUgeW91IHN0YXJ0aW5nPycsXG4gICAgICAgIGRlZmF1bHQ6ICdTUEEnLFxuICAgICAgICBjaG9pY2VzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1dlYnNpdGUnLFxuICAgICAgICAgICAgdmFsdWU6ICdTUEEnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ05QTSBwYWNrYWdlJyxcbiAgICAgICAgICAgIHZhbHVlOiAnbGlicmFyeScsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc3RvcmU6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0eXBlOiAnaW5wdXQnLFxuICAgICAgICBuYW1lOiAnZ2l0aHViT3JnJyxcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAnV2hhdCBnaXRodWIgb3JnIG9yIHVzZXJuYW1lPyAodGhpcyBkb2VzIG5vdCBtb2RpZnkgZ2l0aHViIGluIGFueSB3YXkpJyxcbiAgICAgICAgZGVmYXVsdDogdGhpcy5jb25maWcuZ2V0KCdnaXRodWJPcmcnKSxcbiAgICAgICAgc3RvcmU6IHRydWUsXG4gICAgICB9LFxuICAgIF0pO1xuXG4gICAgdGhpcy5jb25maWcuc2V0KCdnaXRodWJPcmcnLCBwcm9wcy5naXRodWJPcmcpO1xuICAgIHJldHVybiBwcm9wcztcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUNFQSxrQkFBa0IsRUFDbEJDLGlCQUFpQixF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