<commit_before>module.exports = function (grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    // Java用プロジェクト構成向け設定
    opt: {
      client: {
        "jsMain": "lib/js",
        "tsMain": "lib",
        "tsTypings": "typings",
        "tsTest": "spec"
      }
    },

    ts: {
      options: {
        compile: true,                 // perform compilation. [true (default) | false]
        comments: true,                // same as !removeComments. [true | false (default)]
        target: 'es5',                 // target javascript language. [es3 (default) | es5]
        module: 'commonjs',            // target javascript module style. [amd (default) | commonjs]
        noImplicitAny: true,
        sourceMap: true,               // generate a source map for every output js file. [true (default) | false]
        sourceRoot: '',                // where to locate TypeScript files. [(default) '' == source ts location]
        mapRoot: '',                   // where to locate .map.js files. [(default) '' == generated js location.]
        declaration: false             // generate a declaration .d.ts file for every output js file. [true | false (default)]
      },
      clientMain: {
        src: ['<%= opt.client.tsMain %>/language-review.ts']
      },
      clientTest: {
        src: ['<%= opt.client.tsTest %>/**/*.ts']
      }
    },
    tslint: {
      options: {
        configuration: grunt.file.readJSON("tslint.json")
      },
      files: {
        src: ['<%= opt.client.tsMain %>/**/*.ts']
      }
    },
    bower: {
      install: {
        options: {
          targetDir: 'bower-task',
          layout: 'byType', // exportsOverride の左辺に従って分類
          install: true,
          verbose: true, // ログの詳細を出すかどうか
          cleanTargetDir: true,
          cleanBowerDir: false
        }
      }
    },
    tsd: {
      client: {
        options: {
          // execute a command
          command: 'reinstall',

          //optional: always get from HEAD
          latest: false,

          // optional: specify config file
          config: './tsd.json'
        }
      }
    },
    clean: {
      clientScript: {
        src: [
          // client
          '<%= opt.client.tsMain %>/**/*.js',
          '<%= opt.client.tsMain %>/**/*.d.ts',
          '<%= opt.client.tsMain %>/**/*.js.map',
          // test
          '<%= opt.client.tsTest %>/**/*.js',
          '<%= opt.client.tsTest %>/**/*.d.ts',
          '<%= opt.client.tsTest %>/**/*.js.map'
        ]
      },
      bower: {
        src: [
          // bower installed
          "bower-task/",
          "bower_componenets"
        ]
      },
      tsd: {
        src: [
          // tsd installed
          "<%= opt.client.tsTypings %>"
        ]
      }
    },
    exec: {
      test: {
        command: 'apm test'
      }
    }
  });

  grunt.registerTask(
    'setup',
    "プロジェクトの初期セットアップを行う。",
    ['clean', 'bower', 'tsd']);

  grunt.registerTask(
    'default',
    "必要なコンパイルを行いAtomプラグインとして実行できるようにする。",
    ['clean:clientScript', 'ts:clientMain', 'tslint']);

  grunt.registerTask(
    'prepare-test',
    "テストの前準備をする。",
    ['default', 'ts:clientTest', 'exec:test']);

  grunt.registerTask(
    'test',
    "テストを実行する。",
    ['prepare-test', 'exec:test']);

  require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
};<commit_msg>grunt prepare-test から exec:test 抜くの忘れてた<commit_after>module.exports = function (grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    // Java用プロジェクト構成向け設定
    opt: {
      client: {
        "jsMain": "lib/js",
        "tsMain": "lib",
        "tsTypings": "typings",
        "tsTest": "spec"
      }
    },

    ts: {
      options: {
        compile: true,                 // perform compilation. [true (default) | false]
        comments: true,                // same as !removeComments. [true | false (default)]
        target: 'es5',                 // target javascript language. [es3 (default) | es5]
        module: 'commonjs',            // target javascript module style. [amd (default) | commonjs]
        noImplicitAny: true,
        sourceMap: true,               // generate a source map for every output js file. [true (default) | false]
        sourceRoot: '',                // where to locate TypeScript files. [(default) '' == source ts location]
        mapRoot: '',                   // where to locate .map.js files. [(default) '' == generated js location.]
        declaration: false             // generate a declaration .d.ts file for every output js file. [true | false (default)]
      },
      clientMain: {
        src: ['<%= opt.client.tsMain %>/language-review.ts']
      },
      clientTest: {
        src: ['<%= opt.client.tsTest %>/**/*.ts']
      }
    },
    tslint: {
      options: {
        configuration: grunt.file.readJSON("tslint.json")
      },
      files: {
        src: ['<%= opt.client.tsMain %>/**/*.ts']
      }
    },
    bower: {
      install: {
        options: {
          targetDir: 'bower-task',
          layout: 'byType', // exportsOverride の左辺に従って分類
          install: true,
          verbose: true, // ログの詳細を出すかどうか
          cleanTargetDir: true,
          cleanBowerDir: false
        }
      }
    },
    tsd: {
      client: {
        options: {
          // execute a command
          command: 'reinstall',

          //optional: always get from HEAD
          latest: false,

          // optional: specify config file
          config: './tsd.json'
        }
      }
    },
    clean: {
      clientScript: {
        src: [
          // client
          '<%= opt.client.tsMain %>/**/*.js',
          '<%= opt.client.tsMain %>/**/*.d.ts',
          '<%= opt.client.tsMain %>/**/*.js.map',
          // test
          '<%= opt.client.tsTest %>/**/*.js',
          '<%= opt.client.tsTest %>/**/*.d.ts',
          '<%= opt.client.tsTest %>/**/*.js.map'
        ]
      },
      bower: {
        src: [
          // bower installed
          "bower-task/",
          "bower_componenets"
        ]
      },
      tsd: {
        src: [
          // tsd installed
          "<%= opt.client.tsTypings %>"
        ]
      }
    },
    exec: {
      test: {
        command: 'apm test'
      }
    }
  });

  grunt.registerTask(
    'setup',
    "プロジェクトの初期セットアップを行う。",
    ['clean', 'bower', 'tsd']);

  grunt.registerTask(
    'default',
    "必要なコンパイルを行いAtomプラグインとして実行できるようにする。",
    ['clean:clientScript', 'ts:clientMain', 'tslint']);

  grunt.registerTask(
    'prepare-test',
    "テストの前準備をする。",
    ['default', 'ts:clientTest']);

  grunt.registerTask(
    'test',
    "テストを実行する。",
    ['prepare-test', 'exec:test']);

  require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
};
{'fraction_non_alphanumeric': 0.1669384729429207, 'fraction_numerical': 0.0008895478131949593, 'mean_word_length': 1.5916250480215137, 'pattern_counts': {'":': 8, '<': 23, '<?xml version=': 0, '>': 23, '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': '6736767', 'n_tokens_mistral': 2296, 'n_tokens_neox': 2206, 'n_words': 431}