All files / changelog index.ts

100% Statements 11/11
100% Branches 1/1
100% Functions 2/2
100% Lines 11/11

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 387x   7x 7x 7x 7x   7x       16x                 16x 15x   15x                   15x        
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 {
  answers!: Answers;
 
  async prompting(): Promise<void> {
    this.answers = await this.prompt({
      type: 'confirm',
      name: Names.CHANGELOG,
      message: Messages.CHANGELOG,
      default: true,
    });
  }
 
  writing() {
    if (this.answers[Names.CHANGELOG]) {
      this.fs.append(this.destinationPath(Filenames.README), this.fs.read(this.templatePath(Filenames.README)));
 
      const pkgJson = {
        scripts: {
          'init-changelog': 'conventional-changelog -p angular -i CHANGELOG.md -s -r 0',
          version: 'conventional-changelog -p angular -i CHANGELOG.md -s && git add CHANGELOG.md',
        },
        devDependencies: {
          'conventional-changelog-cli': rootPkg.devDependencies['conventional-changelog-cli'],
        },
      };
 
      this.fs.extendJSON(this.destinationPath(Filenames.PACKAGE_JSON), pkgJson);
    }
  }
};