@anansi/generator-js
Version:
Generate Fast React Web Apps
32 lines • 6.23 kB
JavaScript
import { BetterGenerator, resolvePath } from '../utils.js';
export default class StorybookGenerator extends BetterGenerator {
constructor(args, options, features) {
super(args, options, features);
this.config.set('storybook', true);
}
async initializing() {
// SPA will already have webpack
if (this.options.projectType !== 'SPA') {
this.composeWith(await resolvePath('../webpack', import.meta.url), this.options);
}
}
configuring() {
this.packageJson.merge(this.fs.readJSONTpl(this.templatePath('package.json.tpl')));
this.fs.copyTpl(this.templatePath('.storybook/main.js'), this.destinationPath('.storybook/main.js'), this.config.getAll());
// only use reactive data client by default for applications
if (this.options.projectType === 'SPA') {
this.fs.copyTpl(this.templatePath('.storybook/preview.tsx'), this.destinationPath('.storybook/preview.tsx'), this.config.getAll());
}
}
async writingDependencies() {
await this.addDevDependencies(['storybook', '@storybook/addon-essentials', '@storybook/addon-links', '@storybook/react', '@anansi/storybook']);
}
writing() {
this.fs.copyTpl(this.templatePath('src/**'), this.destinationPath(this.config.get('rootPath')), this.config.getAll(), {
globOptions: {
dot: true
}
});
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCZXR0ZXJHZW5lcmF0b3IiLCJyZXNvbHZlUGF0aCIsIlN0b3J5Ym9va0dlbmVyYXRvciIsImNvbnN0cnVjdG9yIiwiYXJncyIsIm9wdGlvbnMiLCJmZWF0dXJlcyIsImNvbmZpZyIsInNldCIsImluaXRpYWxpemluZyIsInByb2plY3RUeXBlIiwiY29tcG9zZVdpdGgiLCJpbXBvcnQiLCJtZXRhIiwidXJsIiwiY29uZmlndXJpbmciLCJwYWNrYWdlSnNvbiIsIm1lcmdlIiwiZnMiLCJyZWFkSlNPTlRwbCIsInRlbXBsYXRlUGF0aCIsImNvcHlUcGwiLCJkZXN0aW5hdGlvblBhdGgiLCJnZXRBbGwiLCJ3cml0aW5nRGVwZW5kZW5jaWVzIiwiYWRkRGV2RGVwZW5kZW5jaWVzIiwid3JpdGluZyIsImdldCIsImdsb2JPcHRpb25zIiwiZG90Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3J5Ym9vay9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRmVhdHVyZXMsIEJhc2VPcHRpb25zIH0gZnJvbSAneWVvbWFuLWdlbmVyYXRvcic7XG5cbmltcG9ydCB7IEJldHRlckdlbmVyYXRvciwgcmVzb2x2ZVBhdGggfSBmcm9tICcuLi91dGlscy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN0b3J5Ym9va0dlbmVyYXRvciBleHRlbmRzIEJldHRlckdlbmVyYXRvcjxTdG9yeWJvb2tPcHRpb25zPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGFyZ3M6IHN0cmluZyB8IHN0cmluZ1tdLFxuICAgIG9wdGlvbnM6IFN0b3J5Ym9va09wdGlvbnMsXG4gICAgZmVhdHVyZXM6IEJhc2VGZWF0dXJlcyxcbiAgKSB7XG4gICAgc3VwZXIoYXJncywgb3B0aW9ucywgZmVhdHVyZXMpO1xuICAgIHRoaXMuY29uZmlnLnNldCgnc3Rvcnlib29rJywgdHJ1ZSk7XG4gIH1cblxuICBhc3luYyBpbml0aWFsaXppbmcoKSB7XG4gICAgLy8gU1BBIHdpbGwgYWxyZWFkeSBoYXZlIHdlYnBhY2tcbiAgICBpZiAodGhpcy5vcHRpb25zLnByb2plY3RUeXBlICE9PSAnU1BBJykge1xuICAgICAgdGhpcy5jb21wb3NlV2l0aChcbiAgICAgICAgYXdhaXQgcmVzb2x2ZVBhdGgoJy4uL3dlYnBhY2snLCBpbXBvcnQubWV0YS51cmwpLFxuICAgICAgICB0aGlzLm9wdGlvbnMsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGNvbmZpZ3VyaW5nKCkge1xuICAgIHRoaXMucGFja2FnZUpzb24ubWVyZ2UoXG4gICAgICB0aGlzLmZzLnJlYWRKU09OVHBsKHRoaXMudGVtcGxhdGVQYXRoKCdwYWNrYWdlLmpzb24udHBsJykpLFxuICAgICk7XG5cbiAgICB0aGlzLmZzLmNvcHlUcGwoXG4gICAgICB0aGlzLnRlbXBsYXRlUGF0aCgnLnN0b3J5Ym9vay9tYWluLmpzJyksXG4gICAgICB0aGlzLmRlc3RpbmF0aW9uUGF0aCgnLnN0b3J5Ym9vay9tYWluLmpzJyksXG4gICAgICB0aGlzLmNvbmZpZy5nZXRBbGwoKSxcbiAgICApO1xuICAgIC8vIG9ubHkgdXNlIHJlYWN0aXZlIGRhdGEgY2xpZW50IGJ5IGRlZmF1bHQgZm9yIGFwcGxpY2F0aW9uc1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvamVjdFR5cGUgPT09ICdTUEEnKSB7XG4gICAgICB0aGlzLmZzLmNvcHlUcGwoXG4gICAgICAgIHRoaXMudGVtcGxhdGVQYXRoKCcuc3Rvcnlib29rL3ByZXZpZXcudHN4JyksXG4gICAgICAgIHRoaXMuZGVzdGluYXRpb25QYXRoKCcuc3Rvcnlib29rL3ByZXZpZXcudHN4JyksXG4gICAgICAgIHRoaXMuY29uZmlnLmdldEFsbCgpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyB3cml0aW5nRGVwZW5kZW5jaWVzKCkge1xuICAgIGF3YWl0IHRoaXMuYWRkRGV2RGVwZW5kZW5jaWVzKFtcbiAgICAgICdzdG9yeWJvb2snLFxuICAgICAgJ0BzdG9yeWJvb2svYWRkb24tZXNzZW50aWFscycsXG4gICAgICAnQHN0b3J5Ym9vay9hZGRvbi1saW5rcycsXG4gICAgICAnQHN0b3J5Ym9vay9yZWFjdCcsXG4gICAgICAnQGFuYW5zaS9zdG9yeWJvb2snLFxuICAgIF0pO1xuICB9XG5cbiAgd3JpdGluZygpIHtcbiAgICB0aGlzLmZzLmNvcHlUcGwoXG4gICAgICB0aGlzLnRlbXBsYXRlUGF0aCgnc3JjLyoqJyksXG4gICAgICB0aGlzLmRlc3RpbmF0aW9uUGF0aCh0aGlzLmNvbmZpZy5nZXQoJ3Jvb3RQYXRoJykpLFxuICAgICAgdGhpcy5jb25maWcuZ2V0QWxsKCksXG4gICAgICB7IGdsb2JPcHRpb25zOiB7IGRvdDogdHJ1ZSB9IH0sXG4gICAgKTtcbiAgfVxufVxuXG50eXBlIFN0b3J5Ym9va09wdGlvbnMgPSBCYXNlT3B0aW9ucyAmIHsgcHJvamVjdFR5cGU6IHN0cmluZyB9O1xuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxlQUFlLEVBQUVDLFdBQVcsUUFBUSxhQUFhO0FBRTFELGVBQWUsTUFBTUMsa0JBQWtCLFNBQVNGLGVBQWUsQ0FBbUI7RUFDaEZHLFdBQVdBLENBQ1RDLElBQXVCLEVBQ3ZCQyxPQUF5QixFQUN6QkMsUUFBc0IsRUFDdEI7SUFDQSxLQUFLLENBQUNGLElBQUksRUFBRUMsT0FBTyxFQUFFQyxRQUFRLENBQUM7SUFDOUIsSUFBSSxDQUFDQyxNQUFNLENBQUNDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDO0VBQ3BDO0VBRUEsTUFBTUMsWUFBWUEsQ0FBQSxFQUFHO0lBQ25CO0lBQ0EsSUFBSSxJQUFJLENBQUNKLE9BQU8sQ0FBQ0ssV0FBVyxLQUFLLEtBQUssRUFBRTtNQUN0QyxJQUFJLENBQUNDLFdBQVcsQ0FDZCxNQUFNVixXQUFXLENBQUMsWUFBWSxFQUFFVyxNQUFNLENBQUNDLElBQUksQ0FBQ0MsR0FBRyxDQUFDLEVBQ2hELElBQUksQ0FBQ1QsT0FDUCxDQUFDO0lBQ0g7RUFDRjtFQUVBVSxXQUFXQSxDQUFBLEVBQUc7SUFDWixJQUFJLENBQUNDLFdBQVcsQ0FBQ0MsS0FBSyxDQUNwQixJQUFJLENBQUNDLEVBQUUsQ0FBQ0MsV0FBVyxDQUFDLElBQUksQ0FBQ0MsWUFBWSxDQUFDLGtCQUFrQixDQUFDLENBQzNELENBQUM7SUFFRCxJQUFJLENBQUNGLEVBQUUsQ0FBQ0csT0FBTyxDQUNiLElBQUksQ0FBQ0QsWUFBWSxDQUFDLG9CQUFvQixDQUFDLEVBQ3ZDLElBQUksQ0FBQ0UsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEVBQzFDLElBQUksQ0FBQ2YsTUFBTSxDQUFDZ0IsTUFBTSxDQUFDLENBQ3JCLENBQUM7SUFDRDtJQUNBLElBQUksSUFBSSxDQUFDbEIsT0FBTyxDQUFDSyxXQUFXLEtBQUssS0FBSyxFQUFFO01BQ3RDLElBQUksQ0FBQ1EsRUFBRSxDQUFDRyxPQUFPLENBQ2IsSUFBSSxDQUFDRCxZQUFZLENBQUMsd0JBQXdCLENBQUMsRUFDM0MsSUFBSSxDQUFDRSxlQUFlLENBQUMsd0JBQXdCLENBQUMsRUFDOUMsSUFBSSxDQUFDZixNQUFNLENBQUNnQixNQUFNLENBQUMsQ0FDckIsQ0FBQztJQUNIO0VBQ0Y7RUFFQSxNQUFNQyxtQkFBbUJBLENBQUEsRUFBRztJQUMxQixNQUFNLElBQUksQ0FBQ0Msa0JBQWtCLENBQUMsQ0FDNUIsV0FBVyxFQUNYLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixDQUNwQixDQUFDO0VBQ0o7RUFFQUMsT0FBT0EsQ0FBQSxFQUFHO0lBQ1IsSUFBSSxDQUFDUixFQUFFLENBQUNHLE9BQU8sQ0FDYixJQUFJLENBQUNELFlBQVksQ0FBQyxRQUFRLENBQUMsRUFDM0IsSUFBSSxDQUFDRSxlQUFlLENBQUMsSUFBSSxDQUFDZixNQUFNLENBQUNvQixHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsRUFDakQsSUFBSSxDQUFDcEIsTUFBTSxDQUFDZ0IsTUFBTSxDQUFDLENBQUMsRUFDcEI7TUFBRUssV0FBVyxFQUFFO1FBQUVDLEdBQUcsRUFBRTtNQUFLO0lBQUUsQ0FDL0IsQ0FBQztFQUNIO0FBQ0YiLCJpZ25vcmVMaXN0IjpbXX0=