<commit_before>module.exports = function(grunt) {
  'use strict';

  // ==========================================================================
  // Project configuration
  // ==========================================================================
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    // clean build directory
    clean: ['app-dist'],

    // jasmine testsuites
    jasmine: {
      files: ['js/tests/SpecRunner.html']
    },

    // tasks to be executed and files
    // to be watched for changes
    watch: {
      files: ['js'],
      tasks: ['jshint:all', 'jasmine']
    },

    // SINGLE TASKS
    // ----------------------

    // require js
    requirejs: {
      compile: {
        options: {
          // base url for retrieving paths
          baseUrl: './',
          //output
          dir: './app-dist',
          // application directory
          appDir: './js/',
          //configuration file
          mainConfigFile: 'js/main.js',
          // optimize javascript files with uglifyjs
          optimize: 'uglify',
          // define our app model
          modules: [{
            name: 'main'
          }]
        }
      }
    },

    handlebars: {
      compile: {
        options: {
          namespace: 'JST',
          amd: true
        },
        files: {
          'js/app/templates/templates.js': 'js/**/*.tpl.html'
        }
      }
    },

    // js linting options
    jshint: {
      all: ['gruntfile.js', 'js/main.js', 'js/app/**/*.js', 'js/fwk/**/*.js', 'js/tests/**/*.js', '!js/app/templates.js'],
      jshintrc: '.jshintrc'
    },

    server: {
      port: 8888,
      base: './'
    }

  });

  // grunt.loadNpmTasks('grunt-contrib');
  grunt.loadNpmTasks('grunt-contrib-clean');
  grunt.loadNpmTasks('grunt-contrib-jshint');
  grunt.loadNpmTasks('grunt-contrib-requirejs');
  grunt.loadNpmTasks('grunt-contrib-jasmine');
  grunt.loadNpmTasks('grunt-contrib-handlebars');

  // default build task
  grunt.registerTask('default', 'build');

  // build task
  grunt.registerTask('build', ['clean', 'jshint:all', 'jasmine', 'requirejs']);

  // launch node server to view the projct
  grunt.registerTask('launch', 'server watch');

};<commit_msg>added handlebar task to build task<commit_after>module.exports = function(grunt) {
  'use strict';

  // ==========================================================================
  // Project configuration
  // ==========================================================================
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    // clean build directory
    clean: ['app-dist'],

    // jasmine testsuites
    jasmine: {
      files: ['js/tests/SpecRunner.html']
    },

    // tasks to be executed and files
    // to be watched for changes
    watch: {
      files: ['js'],
      tasks: ['jshint:all', 'jasmine']
    },

    // SINGLE TASKS
    // ----------------------

    // require js
    requirejs: {
      compile: {
        options: {
          // base url for retrieving paths
          baseUrl: './',
          //output
          dir: './app-dist',
          // application directory
          appDir: './js/',
          //configuration file
          mainConfigFile: 'js/main.js',
          // optimize javascript files with uglifyjs
          optimize: 'uglify',
          // define our app model
          modules: [{
            name: 'main'
          }]
        }
      }
    },

    handlebars: {
      compile: {
        options: {
          namespace: 'JST',
          amd: true
        },
        files: {
          'js/app/templates.js': 'js/**/*.tpl.html'
        }
      }
    },

    // js linting options
    jshint: {
      all: ['gruntfile.js', 'js/main.js', 'js/app/**/*.js', 'js/fwk/**/*.js', 'js/tests/**/*.js', '!js/app/templates.js'],
      jshintrc: '.jshintrc'
    },

    server: {
      port: 8888,
      base: './'
    }

  });

  // grunt.loadNpmTasks('grunt-contrib');
  grunt.loadNpmTasks('grunt-contrib-clean');
  grunt.loadNpmTasks('grunt-contrib-jshint');
  grunt.loadNpmTasks('grunt-contrib-requirejs');
  grunt.loadNpmTasks('grunt-contrib-jasmine');
  grunt.loadNpmTasks('grunt-contrib-handlebars');

  // default build task
  grunt.registerTask('default', 'build');

  // build task
  grunt.registerTask('build', ['clean', 'jshint:all', 'handlebars', 'jasmine', 'requirejs']);

  // launch node server to view the projct
  grunt.registerTask('launch', 'server watch');

};
{'fraction_non_alphanumeric': 0.23027051196065282, 'fraction_numerical': 0.001788508830762352, 'mean_word_length': 2.022972972972973, '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': '5847278', 'n_tokens_mistral': 1425, 'n_tokens_neox': 1346, 'n_words': 264}