<commit_before>const Generator = require('yeoman-generator');
const kebabCase = require('lodash.kebabcase');

module.exports = class extends Generator {
  prompting() {
    return this.prompt([
      {
        name: 'moduleName',
        message: 'What do you want to name your module?',
        default: this.appname.replace(/\s/g, '-'),
        store: true,
      },
      {
        name: 'description',
        message: 'Description?',
        default: 'as cute as bunny',
        type: 'input',
        store: true,
      },
      {
        name: 'name',
        message: 'Your name?',
        default: this.user.git.name(),
        type: 'input',
      },
      {
        name: 'email',
        message: 'Email address?',
        default: this.user.git.email(),
        type: 'input',
      },
      {
        name: 'githubUsername',
        message: 'GitHub username?',
        type: 'input',
        store: true,
      },
      {
        name: 'website',
        message: 'URL of your website?',
        type: 'input',
        store: true,
      },
    ]).then((props) => {
      const mv = (from, to) => {
        this.fs.move(this.destinationPath(from), this.destinationPath(to));
      };

      const tpl = {
        moduleName: kebabCase(props.moduleName).toLowerCase(),
        description: props.description,
        name: props.name,
        githubUsername: props.githubUsername,
        email: props.email,
        website: props.website,
      };

      this.fs.copyTpl(
        [`${this.templatePath()}/**`],
        this.destinationPath(),
        tpl);

      mv('_package.json', 'package.json');
      mv('all-contributorsrc', '.all-contributorsrc');
      mv('babelrc', '.babelrc');
      mv('editorconfig', '.editorconfig');
      mv('eslintignore', '.eslintignore');
      mv('eslintrc.json', '.eslintrc.json');
      mv('flowconfig', '.flowconfig');
      mv('gitattributes', '.gitattributes');
      mv('github/issue_template.md', '.github/issue_template.md');
      mv('github/pull_request_template.md', '.github/pull_request_template.md');
      mv('gitignore', '.gitignore');
      mv('npmrc', '.npmrc');
      mv('travis.yml', '.travis.yml');
    });<commit_msg>chore(todo): add notes about problems with auto-formatting<commit_after>const Generator = require('yeoman-generator');
const kebabCase = require('lodash.kebabcase');

module.exports = class extends Generator {
  prompting() {
    return this.prompt([
      {
        name: 'moduleName',
        message: 'What do you want to name your module?',
        default: this.appname.replace(/\s/g, '-'),
        store: true,
      },
      {
        name: 'description',
        message: 'Description?',
        default: 'as cute as bunny',
        type: 'input',
        store: true,
      },
      {
        name: 'name',
        message: 'Your name?',
        default: this.user.git.name(),
        type: 'input',
      },
      {
        name: 'email',
        message: 'Email address?',
        default: this.user.git.email(),
        type: 'input',
      },
      {
        name: 'githubUsername',
        message: 'GitHub username?',
        type: 'input',
        store: true,
      },
      {
        name: 'website',
        message: 'URL of your website?',
        type: 'input',
        store: true,
      },
    ]).then((props) => {
      const mv = (from, to) => {
        this.fs.move(this.destinationPath(from), this.destinationPath(to));
      };

      const tpl = {
        moduleName: kebabCase(props.moduleName).toLowerCase(),
        description: props.description,
        name: props.name,
        githubUsername: props.githubUsername,
        email: props.email,
        website: props.website,
      };

      // TODO: there's a real problem here whether it's with prettier or eslint
      // prettier-ignore
      this.fs.copyTpl(
        [`${this.templatePath()}/**`],
        this.destinationPath(),
        tpl);

      mv('_package.json', 'package.json');
      mv('all-contributorsrc', '.all-contributorsrc');
      mv('babelrc', '.babelrc');
      mv('editorconfig', '.editorconfig');
      mv('eslintignore', '.eslintignore');
      mv('eslintrc.json', '.eslintrc.json');
      mv('flowconfig', '.flowconfig');
      mv('gitattributes', '.gitattributes');
      mv('github/issue_template.md', '.github/issue_template.md');
      mv('github/pull_request_template.md', '.github/pull_request_template.md');
      mv('gitignore', '.gitignore');
      mv('npmrc', '.npmrc');
      mv('travis.yml', '.travis.yml');
    });
{'fraction_non_alphanumeric': 0.1667401852668725, 'fraction_numerical': 0.0, 'mean_word_length': 2.166899441340782, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '47456', 'n_tokens_mistral': 1424, 'n_tokens_neox': 1359, 'n_words': 279}