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

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

      shell: {
         publish: {
            command: 'npm publish'
         }
      },

      bump: {
         options: {
            files: ['package.json', 'bower.json'],
            updateConfigs: ['pkg', 'bower'],
            commit: true,
            commitMessage: 'Release v%VERSION%',
            commitFiles: ['package.json'],
            createTag: true,
            tagName: 'v%VERSION%',
            tagMessage: 'Version %VERSION%',
            push: true,
            pushTo: 'upstream',
            gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d'
         }
      },

      karma: {
         unit: {
            configFile: 'karma.conf.js',
            singleRun: true
         }
      },

      jshint: {
         all: ['Gruntfile.js', 'src/*.js', 'test/**/*.js']
      },

      concat: {
         options: {
            stripBanners: false
         },
         dist: {
            src: ['dist/angulartics-scroll.min.js', 'components/jquery-waypoints/waypoints.min.js'],
            dest: 'dist/angulartics-scroll.min.js'
         }
      },

      uglify: {
         options: {
            preserveComments: 'some',
            report: 'min'
         },
         predist: {
            files: {
               'dist/angulartics-scroll.min.js': ['src/angulartics-scroll.js']
            }
         },
         dist: {
            files: {
               'dist/angulartics.min.js': ['src/angulartics.js'],
			      'dist/angulartics-adobe.min.js': ['src/angulartics-adobe.js'],
               'dist/angulartics-chartbeat.min.js': ['src/angulartics-chartbeat.js'],
               'dist/angulartics-piwik.min.js': ['src/angulartics-piwik.js'],
               'dist/angulartics-ga.min.js': ['src/angulartics-ga.js'],
               'dist/angulartics-ga-cordova.min.js': ['src/angulartics-ga-cordova.js'],
               'dist/angulartics-kissmetrics.min.js': ['src/angulartics-kissmetrics.js'],
               'dist/angulartics-mixpanel.min.js': ['src/angulartics-mixpanel.js'],
               'dist/angulartics-segmentio.min.js': ['src/angulartics-segmentio.js'],
               'dist/angulartics-gtm.min.js': ['src/angulartics-gtm.js'],
               'dist/angulartics-woopra.min.js': ['src/angulartics-woopra.js'],
               'dist/angulartics-splunk.min.js': ['src/angulartics-splunk.js'],
               'dist/angulartics-flurry.min.js': ['src/angulartics-flurry.js'],
               'dist/angulartics-marketo.min.js': ['src/angulartics-marketo.js']
            }
         }
      },

      clean: ['dist']
   });

   require('load-grunt-tasks')(grunt);

   grunt.registerTask('test', ['jshint', 'karma']);
   grunt.registerTask('default', ['jshint', 'karma', 'uglify:predist', 'concat:dist', 'uglify:dist']);

   grunt.registerTask('release', 'Release a new version, push it and publish it', function(target) {<commit_msg>chore(build) all src files now uglified without explicit paths in gruntfile<commit_after>module.exports = function(grunt) {
   'use strict';

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

      shell: {
         publish: {
            command: 'npm publish'
         }
      },

      bump: {
         options: {
            files: ['package.json', 'bower.json'],
            updateConfigs: ['pkg', 'bower'],
            commit: true,
            commitMessage: 'Release v%VERSION%',
            commitFiles: ['package.json'],
            createTag: true,
            tagName: 'v%VERSION%',
            tagMessage: 'Version %VERSION%',
            push: true,
            pushTo: 'upstream',
            gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d'
         }
      },

      karma: {
         unit: {
            configFile: 'karma.conf.js',
            singleRun: true
         }
      },

      jshint: {
         all: ['Gruntfile.js', 'src/*.js', 'test/**/*.js']
      },

      concat: {
         options: {
            stripBanners: false
         },
         dist: {
            src: ['dist/angulartics-scroll.min.js', 'components/jquery-waypoints/waypoints.min.js'],
            dest: 'dist/angulartics-scroll.min.js'
         }
      },

      uglify: {
         options: {
            preserveComments: 'some',
            report: 'min'
         },
         predist: {
            files: {
               'dist/angulartics-scroll.min.js': ['src/angulartics-scroll.js']
            }
         },
         dist: {
            files: [{
               expand: true,
               cwd: 'src/',
               src: ['*.js', '!angulartics-scroll.js'],
               dest: 'dist/',
               ext: '.min.js'
            }]
         }
      },

      clean: ['dist']
   });

   require('load-grunt-tasks')(grunt);

   grunt.registerTask('test', ['jshint', 'karma']);
   grunt.registerTask('default', ['jshint', 'karma', 'uglify:predist', 'concat:dist', 'uglify:dist']);

   grunt.registerTask('release', 'Release a new version, push it and publish it', function(target) {
{'fraction_non_alphanumeric': 0.1637897967011891, 'fraction_numerical': 0.0003835826620636747, 'mean_word_length': 1.6826131687242798, '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': '6905140', 'n_tokens_mistral': 1694, 'n_tokens_neox': 1659, 'n_words': 251}