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

    grunt.initConfig({

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

        coffee: {
            build: {
                files: {
                    'dist/compaginator.js': ['lib/*.coffee']
                }
            },
            tests: {
                options: {
                    bare: true
                },
                files: {
                    'spec/integration.spec.js': ['tests/integration/*.coffee'],
                    'spec/unit.spec.js': ['tests/unit/*.coffee']
                }
            }
        },

        uglify: {
            dist: {
                files: {
                    'dist/compaginator.min.js': ['dist/compaginator.js']
                }
            }
        },

        copy: {
            examples: {
                files: [
                    {expand: true, flatten: true, src: ['dist/compaginator.min.js'], dest: 'examples/jquery/lib'}
                ]
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-coffee');
    grunt.loadNpmTasks('grunt-contrib-copy');

    grunt.registerTask('default', ['build_tests', 'build']);
    grunt.registerTask('build', ['coffee:build', 'uglify', 'copy']);
    grunt.registerTask('build_tests', ['coffee:tests']);
};<commit_msg>Updated Gruntfile to prepend version to dist files.<commit_after>module.exports = function(grunt) {
    "use strict";

    var compaginatorBanner = '/* Compaginator v' + grunt.file.readJSON('package.json').version + ' */';

    grunt.initConfig({

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

        coffee: {
            build: {
                files: {
                    'dist/compaginator.js': ['lib/*.coffee']
                }
            },
            tests: {
                options: {
                    bare: true
                },
                files: {
                    'spec/integration.spec.js': ['tests/integration/*.coffee'],
                    'spec/unit.spec.js': ['tests/unit/*.coffee']
                }
            }
        },

        uglify: {
            dist: {
                files: {
                    'dist/compaginator.min.js': ['dist/compaginator.js']
                }
            }
        },

        copy: {
            examples: {
                files: [
                    {expand: true, flatten: true, src: ['dist/compaginator.min.js'], dest: 'examples/jquery/lib'}
                ]
            }
        },

        concat: {
            dev: {
                options: { banner: compaginatorBanner + "\r\n" },
                src: 'dist/compaginator.js',
                dest: 'dist/compaginator.js'
            },
            prod: {
                options: { banner: compaginatorBanner },
                src: 'dist/compaginator.min.js',
                dest: 'dist/compaginator.min.js'
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-coffee');
    grunt.loadNpmTasks('grunt-contrib-copy');
    grunt.loadNpmTasks('grunt-contrib-concat');

    grunt.registerTask('default', ['build_tests', 'build']);
    grunt.registerTask('build', ['coffee:build', 'uglify', 'concat', 'copy']);
    grunt.registerTask('build_tests', ['coffee:tests']);
};
{'fraction_non_alphanumeric': 0.15002988643156007, 'fraction_numerical': 0.0, 'mean_word_length': 1.3405594405594405, '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': '3335674', 'n_tokens_mistral': 1022, 'n_tokens_neox': 946, 'n_words': 130}