Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 2x 2x 2x 2x 2x 2x 4x 4x 4x 4x 4x 2x 2x 2x 1x 2x | import Generator, { Answers } from 'yeoman-generator'; import { Filenames } from '../lib/enums/filenames'; import { Messages } from '../lib/enums/messages'; import { Names } from '../lib/enums/names'; import rootPkg from '../lib/helpers/package'; module.exports = class extends Generator { withPrettier = false; constructor(args: string | string[], config: any) { super(args, config); this.withPrettier = config.withPrettier; } answers!: Answers; async prompting(): Promise<void> { this.answers = await this.prompt({ type: 'confirm', name: Names.LINT_STAGED, message: Messages.LINT_STAGED, default: false, }); } writing() { if (this.answers[Names.LINT_STAGED]) { this.fs.append(this.destinationPath(Filenames.README), this.fs.read(this.templatePath(Filenames.README))); const lintStagedCommands = ['eslint . --fix', 'git add']; // add prettier command to lint-staged if (this.withPrettier) { lintStagedCommands.splice(1, 0, 'prettier --write'); } this.fs.extendJSON(this.destinationPath(Filenames.PACKAGE_JSON), { devDependencies: { husky: rootPkg.devDependencies.husky, 'lint-staged': rootPkg.devDependencies['lint-staged'], }, 'lint-staged': { 'src/**/*.{js,ts}': lintStagedCommands, }, husky: { hooks: { 'pre-commit': 'lint-staged', }, }, }); } } }; |