<commit_before>module.exports = function(grunt) {
  grunt.initConfig({    
    pkg: grunt.file.readJSON('package.json'),

    clean: {
      bin: ['bin/tslint-cli.js'],
      core: ['build/rules/', 'build/formatters', 'lib/tslint.*'],
      test: ['build/test/'],
    },

    concat: {
      test: {
        src: ['lib/typescriptServices.js', 'build/tslint-tests.js'],
        dest: 'build/tslint-tests2.js'
      }
    },

    mochaTest: {
      test: {
        options: {
          reporter: 'spec'
        },
        src: ['build/tslint-tests2.js']
      }
    },

    tslint: {
      options: {
        configuration: grunt.file.readJSON("tslint.json")
      },
      src: [
        "src/*.ts",
        "src/formatters/**/*.ts",
        "src/language/**/*.ts",
        "src/rules/**/*.ts"
      ],
      test: [
        "test/**/*.ts",
        "!test/**/*.test.ts",
        "!test/typings/*.ts"
      ]
    },

    ts: {
      options:{
        sourceMap: false,
        target: 'es5'
      },

      upgrade: {
        options: {
          declaration: true,
          module: 'commonjs'
        },
        src: ['src/tslint.ts', 'src/tslint-cli.ts'],
        out: 'lib/tslint.js'
      },

      bin: {
        src: ['src/tslint-cli.ts'],
        out: 'bin/tslint-cli.js'
      },

      core: {
        options: {
          declaration: true,
          module: 'commonjs'
        },
        src: ['src/tslint.ts'],
        out: 'lib/tslint.js'
      },

      core_rules: {
        options: {
          base_path: 'src/rules',
          noImplicitAny: true,
          module: 'commonjs'
        },
        src: [
          'lib/tslint.d.ts',
          'src/rules/banRule.ts',
          'src/rules/classNameRule.ts',
          'src/rules/commentFormatRule.ts',
          'src/rules/curlyRule.ts',
          'src/rules/eoflineRule.ts',
          'src/rules/forinRule.ts',
          '!src/rules/indentRule.ts',
          'src/rules/interfaceNameRule.ts',
          'src/rules/jsdocFormatRule.ts',
          'src/rules/labelPositionRule.ts',
          'src/rules/labelUndefinedRule.ts',
          'src/rules/maxLineLengthRule.ts',
          'src/rules/memberOrderingRule.ts',
          'src/rules/noAnyRule.ts',
          'src/rules/noArgRule.ts',
          'src/rules/noBitwiseRule.ts',
          'src/rules/noConsecutiveBlankLinesRule.ts',
          'src/rules/noConsoleRule.ts',
          'src/rules/noConstructorVarsRule.ts',
          'src/rules/noConstructRule.ts',
          'src/rules/noDebuggerRule.ts',
          'src/rules/noDuplicateKeyRule.ts',
          'src/rules/noDuplicateVariableRule.ts',
          'src/rules/noEmptyRule.ts',
          'src/rules/noEvalRule.ts',
          'src/rules/noStringLiteralRule.ts',
          'src/rules/noSwitchCaseFallThroughRule.ts',
          'src/rules/noTrailingCommaRule.ts',
          'src/rules/noTrailingWhitespaceRule.ts',
          'src/rules/noUnreachableRule.ts',
          'src/rules/noUnusedExpressionRule.ts',
          'src/rules/noUnusedVariableRule.ts',
          'src/rules/noUseBeforeDeclareRule.ts',
          'src/rules/noVarRequiresRule.ts',
          'src/rules/oneLineRule.ts',
          'src/rules/quotemarkRule.ts',
          'src/rules/radixRule.ts',
//          'src/rules/semicolonRule.ts',
          'src/rules/tripleEqualsRule.ts',
          'src/rules/typedefRule.ts',
          'src/rules/typedefWhitespaceRule.ts',
          'src/rules/useStrictRule.ts',
          'src/rules/variableNameRule.ts',
          'src/rules/whitespaceRule.ts'
        ],
        outDir: 'build/rules/'
      },

      core_formatters: {
        options: {
          base_path: 'src/formatters',
          noImplicitAny: true,
          module: 'commonjs'
        },
        src: ['lib/tslint.d.ts', 'src/formatters/*.ts'],
        outDir: 'build/formatters/'
      },

      test: {
        src: [
          'test/**/*.ts',
          '!test/files/**/*.ts',
          '!test/rules/*.ts',
          'test/rules/banRuleTests.ts',
          'test/rules/classNameRuleTests.ts',
          'test/rules/commentFormatRuleTests.ts',
          'test/rules/curlyRuleTests.ts',
          'test/rules/eoflineRuleTests.ts',
          'test/rules/forinRuleTests.ts',
          '!test/rules/indentRuleTests.ts',
          'test/rules/interfaceNameRuleTests.ts',
          'test/rules/jsdocFormatRuleTests.ts',
          'test/rules/labelPositionRuleTests.ts',
          'test/rules/labelUndefinedRuleTests.ts',
          'test/rules/maxLineLengthRuleTests.ts',
          'test/rules/memberOrderingRuleTests.ts',
          'test/rules/noAnyRuleTests.ts',
          'test/rules/noArgRuleTests.ts',
          'test/rules/noBitwiseRuleTests.ts',
          'test/rules/noConsecutiveBlankLinesRuleTests.ts',
          'test/rules/noConsoleRuleTests.ts',
          'test/rules/noConstructorVarsRuleTests.ts',
          'test/rules/noConstructRuleTests.ts',
          'test/rules/noDebuggerRuleTests.ts',
          'test/rules/noDuplicateKeyRuleTests.ts',
          'test/rules/noDuplicateVariableRuleTests.ts',
          'test/rules/noEmptyRuleTests.ts',
          'test/rules/noEvalRuleTests.ts',
          'test/rules/noStringLiteralRuleTests.ts',
          'test/rules/noSwitchCaseFallThroughRuleTests.ts',
          'test/rules/noTrailingCommaRuleTests.ts',
          'test/rules/noUnreachableRuleTests.ts',
          'test/rules/noUnusedExpressionRuleTests.ts',
          'test/rules/noUnusedVariableRuleTests.ts',
          'test/rules/noUseBeforeDeclareRuleTests.ts',
          'test/rules/noVarRequiresRuleTests.ts',
          'test/rules/oneLineRuleTests.ts',
          'test/rules/quotemarkRuleTests.ts',
          'test/rules/radixRuleTests.ts',
//          'test/rules/semicolonRuleTests.ts',
          'test/rules/tripleEqualsRuleTests.ts',
          'test/rules/typedefRuleTests.ts',
          'test/rules/typedefWhitespaceRuleTests.ts',
          'test/rules/useStrictRuleTests.ts',
          'test/rules/variableNameRuleTests.ts',
          'test/rules/whitespaceRuleTests.ts'
        ],
        out: 'build/tslint-tests.js'
      }
    }
  });

  // load NPM tasks
  grunt.loadNpmTasks('grunt-contrib-clean');
  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.loadNpmTasks('grunt-mocha-test');<commit_msg>use a blacklist<commit_after>module.exports = function(grunt) {
  grunt.initConfig({    
    pkg: grunt.file.readJSON('package.json'),

    clean: {
      bin: ['bin/tslint-cli.js'],
      core: ['build/rules/', 'build/formatters', 'lib/tslint.*'],
      test: ['build/test/'],
    },

    concat: {
      test: {
        src: ['lib/typescriptServices.js', 'build/tslint-tests.js'],
        dest: 'build/tslint-tests2.js'
      }
    },

    mochaTest: {
      test: {
        options: {
          reporter: 'spec'
        },
        src: ['build/tslint-tests2.js']
      }
    },

    tslint: {
      options: {
        configuration: grunt.file.readJSON("tslint.json")
      },
      src: [
        "src/*.ts",
        "src/formatters/**/*.ts",
        "src/language/**/*.ts",
        "src/rules/**/*.ts"
      ],
      test: [
        "test/**/*.ts",
        "!test/**/*.test.ts",
        "!test/typings/*.ts"
      ]
    },

    ts: {
      options:{
        sourceMap: false,
        target: 'es5'
      },

      upgrade: {
        options: {
          declaration: true,
          module: 'commonjs'
        },
        src: ['src/tslint.ts', 'src/tslint-cli.ts'],
        out: 'lib/tslint.js'
      },

      bin: {
        src: ['src/tslint-cli.ts'],
        out: 'bin/tslint-cli.js'
      },

      core: {
        options: {
          declaration: true,
          module: 'commonjs'
        },
        src: ['src/tslint.ts'],
        out: 'lib/tslint.js'
      },

      core_rules: {
        options: {
          base_path: 'src/rules',
          noImplicitAny: true,
          module: 'commonjs'
        },
        src: [
          'lib/tslint.d.ts',
          'src/rules/*.ts',
          '!src/rules/indentRule.ts',
          '!src/rules/semicolonRule.ts'
        ],
        outDir: 'build/rules/'
      },

      core_formatters: {
        options: {
          base_path: 'src/formatters',
          noImplicitAny: true,
          module: 'commonjs'
        },
        src: ['lib/tslint.d.ts', 'src/formatters/*.ts'],
        outDir: 'build/formatters/'
      },

      test: {
        src: [
          'test/**/*.ts',
          '!test/files/**/*.ts',
          '!test/rules/indentRuleTests.ts',
          '!test/rules/semicolonRuleTests.ts',
        ],
        out: 'build/tslint-tests.js'
      }
    }
  });

  // load NPM tasks
  grunt.loadNpmTasks('grunt-contrib-clean');
  grunt.loadNpmTasks('grunt-contrib-concat');
  grunt.loadNpmTasks('grunt-mocha-test');
{'fraction_non_alphanumeric': 0.16010978956999086, 'fraction_numerical': 0.0006861848124428179, 'mean_word_length': 1.749135491983653, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '7003548', 'n_tokens_mistral': 2939, 'n_tokens_neox': 2908, 'n_words': 314}