@anansi/generator-js
Version:
Generate Fast React Web Apps
36 lines • 5.47 kB
JavaScript
import chalk from 'chalk';
import filter from 'gulp-filter';
import prettier from 'gulp-prettier';
import shelobsay from 'shelobsay';
import ConfigureGenerator from './ConfigureGenerator.js';
import installWithYarn from '../installWithYarn.js';
import { resolvePath } from '../utils.js';
export { ConfigureGenerator };
export default class AppGenerator extends ConfigureGenerator {
constructor(args, options, features) {
super(args, options, {
...features,
customInstallTask: installWithYarn
});
const jsFilter = filter(['**/*.js', '**/*.ts', '**/*.tsx', '**/*.json', '**/*.html', '**/*.scss', '**/*.css'], {
restore: true
});
this.queueTransformStream({}, jsFilter, prettier({
printWidth: 80,
semi: true,
singleQuote: true,
trailingComma: 'all'
}), jsFilter.restore);
}
async prompting() {
this.log(shelobsay(`Creating a new ${chalk.red('Anansi')} project!`));
const props = await super.prompting();
this.composeWith(await resolvePath('../base', import.meta.url), this.args, {
...this.options,
branded: true,
projectType: props.projectType
});
return props;
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjaGFsayIsImZpbHRlciIsInByZXR0aWVyIiwic2hlbG9ic2F5IiwiQ29uZmlndXJlR2VuZXJhdG9yIiwiaW5zdGFsbFdpdGhZYXJuIiwicmVzb2x2ZVBhdGgiLCJBcHBHZW5lcmF0b3IiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJvcHRpb25zIiwiZmVhdHVyZXMiLCJjdXN0b21JbnN0YWxsVGFzayIsImpzRmlsdGVyIiwicmVzdG9yZSIsInF1ZXVlVHJhbnNmb3JtU3RyZWFtIiwicHJpbnRXaWR0aCIsInNlbWkiLCJzaW5nbGVRdW90ZSIsInRyYWlsaW5nQ29tbWEiLCJwcm9tcHRpbmciLCJsb2ciLCJyZWQiLCJwcm9wcyIsImNvbXBvc2VXaXRoIiwiaW1wb3J0IiwibWV0YSIsInVybCIsImJyYW5kZWQiLCJwcm9qZWN0VHlwZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcHAvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCBmaWx0ZXIgZnJvbSAnZ3VscC1maWx0ZXInO1xuaW1wb3J0IHByZXR0aWVyIGZyb20gJ2d1bHAtcHJldHRpZXInO1xuaW1wb3J0IHNoZWxvYnNheSBmcm9tICdzaGVsb2JzYXknO1xuaW1wb3J0IHsgQmFzZUZlYXR1cmVzIH0gZnJvbSAneWVvbWFuLWdlbmVyYXRvcic7XG5cbmltcG9ydCBDb25maWd1cmVHZW5lcmF0b3IsIHtcbiAgdHlwZSBDb25maWd1cmVPcHRpb25zLFxufSBmcm9tICcuL0NvbmZpZ3VyZUdlbmVyYXRvci5qcyc7XG5pbXBvcnQgaW5zdGFsbFdpdGhZYXJuIGZyb20gJy4uL2luc3RhbGxXaXRoWWFybi5qcyc7XG5pbXBvcnQgeyByZXNvbHZlUGF0aCB9IGZyb20gJy4uL3V0aWxzLmpzJztcblxuZXhwb3J0IHsgQ29uZmlndXJlR2VuZXJhdG9yLCBDb25maWd1cmVPcHRpb25zIH07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwcEdlbmVyYXRvcjxcbiAgTyBleHRlbmRzIENvbmZpZ3VyZU9wdGlvbnMgPSBDb25maWd1cmVPcHRpb25zLFxuICBGIGV4dGVuZHMgQmFzZUZlYXR1cmVzID0gQmFzZUZlYXR1cmVzLFxuPiBleHRlbmRzIENvbmZpZ3VyZUdlbmVyYXRvcjxPLCBGPiB7XG4gIGNvbnN0cnVjdG9yKGFyZ3M6IHN0cmluZyB8IHN0cmluZ1tdLCBvcHRpb25zOiBPLCBmZWF0dXJlczogRikge1xuICAgIHN1cGVyKGFyZ3MsIG9wdGlvbnMsIHsgLi4uZmVhdHVyZXMsIGN1c3RvbUluc3RhbGxUYXNrOiBpbnN0YWxsV2l0aFlhcm4gfSk7XG4gICAgY29uc3QganNGaWx0ZXIgPSBmaWx0ZXIoXG4gICAgICBbXG4gICAgICAgICcqKi8qLmpzJyxcbiAgICAgICAgJyoqLyoudHMnLFxuICAgICAgICAnKiovKi50c3gnLFxuICAgICAgICAnKiovKi5qc29uJyxcbiAgICAgICAgJyoqLyouaHRtbCcsXG4gICAgICAgICcqKi8qLnNjc3MnLFxuICAgICAgICAnKiovKi5jc3MnLFxuICAgICAgXSxcbiAgICAgIHsgcmVzdG9yZTogdHJ1ZSB9LFxuICAgICk7XG5cbiAgICB0aGlzLnF1ZXVlVHJhbnNmb3JtU3RyZWFtKFxuICAgICAge30sXG4gICAgICBqc0ZpbHRlcixcbiAgICAgIHByZXR0aWVyKHtcbiAgICAgICAgcHJpbnRXaWR0aDogODAsXG4gICAgICAgIHNlbWk6IHRydWUsXG4gICAgICAgIHNpbmdsZVF1b3RlOiB0cnVlLFxuICAgICAgICB0cmFpbGluZ0NvbW1hOiAnYWxsJyxcbiAgICAgIH0pLFxuICAgICAganNGaWx0ZXIucmVzdG9yZSxcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgcHJvbXB0aW5nKCkge1xuICAgIHRoaXMubG9nKHNoZWxvYnNheShgQ3JlYXRpbmcgYSBuZXcgJHtjaGFsay5yZWQoJ0FuYW5zaScpfSBwcm9qZWN0IWApKTtcbiAgICBjb25zdCBwcm9wcyA9IGF3YWl0IHN1cGVyLnByb21wdGluZygpO1xuICAgIHRoaXMuY29tcG9zZVdpdGgoYXdhaXQgcmVzb2x2ZVBhdGgoJy4uL2Jhc2UnLCBpbXBvcnQubWV0YS51cmwpLCB0aGlzLmFyZ3MsIHtcbiAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgIGJyYW5kZWQ6IHRydWUsXG4gICAgICBwcm9qZWN0VHlwZTogcHJvcHMucHJvamVjdFR5cGUsXG4gICAgfSBhcyBhbnkpO1xuICAgIHJldHVybiBwcm9wcztcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUN6QixPQUFPQyxNQUFNLE1BQU0sYUFBYTtBQUNoQyxPQUFPQyxRQUFRLE1BQU0sZUFBZTtBQUNwQyxPQUFPQyxTQUFTLE1BQU0sV0FBVztBQUdqQyxPQUFPQyxrQkFBa0IsTUFFbEIseUJBQXlCO0FBQ2hDLE9BQU9DLGVBQWUsTUFBTSx1QkFBdUI7QUFDbkQsU0FBU0MsV0FBVyxRQUFRLGFBQWE7QUFFekMsU0FBU0Ysa0JBQWtCO0FBRTNCLGVBQWUsTUFBTUcsWUFBWSxTQUd2Qkgsa0JBQWtCLENBQU87RUFDakNJLFdBQVdBLENBQUNDLElBQXVCLEVBQUVDLE9BQVUsRUFBRUMsUUFBVyxFQUFFO0lBQzVELEtBQUssQ0FBQ0YsSUFBSSxFQUFFQyxPQUFPLEVBQUU7TUFBRSxHQUFHQyxRQUFRO01BQUVDLGlCQUFpQixFQUFFUDtJQUFnQixDQUFDLENBQUM7SUFDekUsTUFBTVEsUUFBUSxHQUFHWixNQUFNLENBQ3JCLENBQ0UsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsRUFDWCxXQUFXLEVBQ1gsVUFBVSxDQUNYLEVBQ0Q7TUFBRWEsT0FBTyxFQUFFO0lBQUssQ0FDbEIsQ0FBQztJQUVELElBQUksQ0FBQ0Msb0JBQW9CLENBQ3ZCLENBQUMsQ0FBQyxFQUNGRixRQUFRLEVBQ1JYLFFBQVEsQ0FBQztNQUNQYyxVQUFVLEVBQUUsRUFBRTtNQUNkQyxJQUFJLEVBQUUsSUFBSTtNQUNWQyxXQUFXLEVBQUUsSUFBSTtNQUNqQkMsYUFBYSxFQUFFO0lBQ2pCLENBQUMsQ0FBQyxFQUNGTixRQUFRLENBQUNDLE9BQ1gsQ0FBQztFQUNIO0VBRUEsTUFBTU0sU0FBU0EsQ0FBQSxFQUFHO0lBQ2hCLElBQUksQ0FBQ0MsR0FBRyxDQUFDbEIsU0FBUyxDQUFDLGtCQUFrQkgsS0FBSyxDQUFDc0IsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNyRSxNQUFNQyxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUNILFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLElBQUksQ0FBQ0ksV0FBVyxDQUFDLE1BQU1sQixXQUFXLENBQUMsU0FBUyxFQUFFbUIsTUFBTSxDQUFDQyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQ2xCLElBQUksRUFBRTtNQUN6RSxHQUFHLElBQUksQ0FBQ0MsT0FBTztNQUNma0IsT0FBTyxFQUFFLElBQUk7TUFDYkMsV0FBVyxFQUFFTixLQUFLLENBQUNNO0lBQ3JCLENBQVEsQ0FBQztJQUNULE9BQU9OLEtBQUs7RUFDZDtBQUNGIiwiaWdub3JlTGlzdCI6W119