<commit_before>module.exports = function(grunt) {
  var path = require('path');

  grunt.initConfig({

    pkg: grunt.file.readJSON('package.json'),

    handlebars: {
      all: {
        options: {
          namespace: function(filename) {
            return 'ds.' + path.dirname(filename).replace('/', '.');
          },
          processName: function(filename) {
            var pieces = filename.split('/');
            return pieces[pieces.length - 1].split('.')[0];
          }
        },
        files: {
          'cronenberg/static/templates.js' : [ 'templates/**/*.hbs']
        }
      }
    },
    concat: {
      bundle_css: {
        src: [
          'cronenberg/static/css/bootstrap.css',
          'cronenberg/static/css/bootstrap-callouts.css',
          'cronenberg/static/css/bootstrap-editable.css',
          'cronenberg/static/css/bootstrapValidator.min.css',
          'cronenberg/static/css/font-awesome.css',
          'cronenberg/static/css/nv.d3.css'
        ],
        dest: 'cronenberg/static/css/bundle.css'
      },
      bundle: {
        options: {
          separator: ';'
        },
        src: [
          'cronenberg/static/js/jquery-1.11.0.min.js',
          'cronenberg/static/js/moment.min.js',
          'cronenberg/static/js/markdown.min.js',
          'cronenberg/static/js/bean.min.js',
          'cronenberg/static/js/URI.min.js',
          'cronenberg/static/js/handlebars.min.js',
          'cronenberg/static/js/bootstrap.min.js',
          'cronenberg/static/js/bootbox.min.js',
          'cronenberg/static/js/d3.min.js',
          'cronenberg/static/js/nv.d3.min.js',
          'cronenberg/static/js/tagmanager.js',
          'cronenberg/static/js/bootstrap-editable.min.js',
          'cronenberg/static/js/bootstrap-growl.min.js',
          'cronenberg/static/js/bootstrapValidator.min.js',
          'cronenberg/static/js/limivorous.js'
        ],
        dest: 'cronenberg/static/bundle.js'
      },
      app: {
        options: {
          separator: ';'
        },
        src: [
          'js/core.js',
          'js/cronenberg.js',
          'js/app/manager.js',
          'js/app/helpers.js',
          'js/app/charts.js',
          'js/app/handlers/*.js',
          'js/models/**/*.js',
          'js/extensions/**/*.js',
          'cronenberg/static/templates.js',
          'templates/**/*.js'
        ],
        dest: 'cronenberg/static/app.js'
      }
    },
    watch: {
      files: [
        'js/**/*.js',
        'templates/**/*.hbs',
        'cronenberg/static/js/**/*.js'
      ],
      tasks: ['handlebars', 'concat']
    }
  });<commit_msg>Better set of sources for watch<commit_after>module.exports = function(grunt) {
  var path = require('path');

  grunt.initConfig({

    pkg: grunt.file.readJSON('package.json'),

    handlebars: {
      all: {
        options: {
          namespace: function(filename) {
            return 'ds.' + path.dirname(filename).replace('/', '.');
          },
          processName: function(filename) {
            var pieces = filename.split('/');
            return pieces[pieces.length - 1].split('.')[0];
          }
        },
        files: {
          'cronenberg/static/templates.js' : [ 'templates/**/*.hbs']
        }
      }
    },
    concat: {
      bundle_css: {
        src: [
          'cronenberg/static/css/bootstrap.css',
          'cronenberg/static/css/bootstrap-callouts.css',
          'cronenberg/static/css/bootstrap-editable.css',
          'cronenberg/static/css/bootstrapValidator.min.css',
          'cronenberg/static/css/font-awesome.css',
          'cronenberg/static/css/nv.d3.css'
        ],
        dest: 'cronenberg/static/css/bundle.css'
      },
      bundle: {
        options: {
          separator: ';'
        },
        src: [
          'cronenberg/static/js/jquery-1.11.0.min.js',
          'cronenberg/static/js/moment.min.js',
          'cronenberg/static/js/markdown.min.js',
          'cronenberg/static/js/bean.min.js',
          'cronenberg/static/js/URI.min.js',
          'cronenberg/static/js/handlebars.min.js',
          'cronenberg/static/js/bootstrap.min.js',
          'cronenberg/static/js/bootbox.min.js',
          'cronenberg/static/js/d3.min.js',
          'cronenberg/static/js/nv.d3.min.js',
          'cronenberg/static/js/tagmanager.js',
          'cronenberg/static/js/bootstrap-editable.min.js',
          'cronenberg/static/js/bootstrap-growl.min.js',
          'cronenberg/static/js/bootstrapValidator.min.js',
          'cronenberg/static/js/limivorous.js'
        ],
        dest: 'cronenberg/static/bundle.js'
      },
      app: {
        options: {
          separator: ';'
        },
        src: [
          'js/core.js',
          'js/cronenberg.js',
          'js/app/manager.js',
          'js/app/helpers.js',
          'js/app/charts.js',
          'js/app/handlers/*.js',
          'js/models/**/*.js',
          'js/extensions/**/*.js',
          'cronenberg/static/templates.js',
          'templates/**/*.js'
        ],
        dest: 'cronenberg/static/app.js'
      }
    },
    watch: {
      files: [
        'js/**/*.js',
        'templates/**/*.hbs',
        'templates/**/*.js',
        'cronenberg/static/js/**/*.js',
        'cronenberg/static/cronenberg.css'
      ],
      tasks: ['handlebars', 'concat']
    }
  });
{'fraction_non_alphanumeric': 0.17295774647887324, 'fraction_numerical': 0.0033802816901408453, 'mean_word_length': 1.652390438247012, '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': '3335672', 'n_tokens_mistral': 1841, 'n_tokens_neox': 1766, 'n_words': 173}