<commit_before>module.exports = function(grunt) {

    var banner = '/* <%= pkg.name %> <%= pkg.version %> <%= grunt.template.today("yyyy-mm-dd") %> */\n';

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

        jshint: {
            files: [
            'gruntfile.js',
            'src/**/*.js',
            'test/tests/*.js'],
            options: {
                jshintrc: true
            }
        },

        clean: ['tmp'],

        copy: {
            scripts: {
                files: [{
                    expand: true,
                    cwd:'src',
                    src: ['**/*.js'],
                    dest: 'tmp/javascript/'
                }]
            },
            styles: {
                files: [{
                    src: 'assets/membrane.css',
                    dest: 'dist/membrane.css'
                }]
            }
        },

        transpile: {
            main: {
                type: 'amd',
                moduleName: function(path) {
                    return grunt.config.process('MJS/') + path;
                },
                files: [{
                    expand: true,
                    cwd: 'tmp/javascript/',
                    src: ['**/*.js'],
                    dest: 'tmp/transpiled/'
                }]
            }
        },

        concat: {
            options: {
                banner: banner,
                sourceMap: true
            },
            dist: {
                src: ['tmp/transpiled/**/*.js'],
                dest: 'dist/membrane.js'
            }
        },

        uglify: {
            options: {
                banner: banner,
                sourceMap: true
            },
            dist: {
                files: {
                    'dist/membrane.min.js': ['<%= concat.dist.dest %>']
                }
            }
        },

        qunit: {
            files: ['test/**/*.html']
        },

        sloc: {
            source: {
                files: {
                    '.': [
                    'gruntfile.js',
                    'src/**/*.js',
                    'test/tests/*.js',
                    ]
                }
            }
        },

        watch: {
            lint: {
                files: ['<%= jshint.files %>'],
                tasks: ['jshint', 'qunit']
            },
            build: {
                files: ['src/**/*.js'],
                tasks: ['build']
            }
        },
        concurrent: {
            options: {
                logConcurrentOutput: true
            },
            watches: {
                tasks: ["watch:lint", "watch:build"]
            }
        },

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

    // Load the plugins
    grunt.loadNpmTasks('grunt-bump');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-contrib-qunit');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-copy');
    grunt.loadNpmTasks('grunt-concurrent');
    grunt.loadNpmTasks('grunt-es6-module-transpiler');
    grunt.loadNpmTasks('grunt-sloc');

    // tasks
    grunt.registerTask('build',
    ['clean', 'copy:scripts', 'copy:styles', 'transpile', 'concat', 'uglify']);
    grunt.registerTask('test', ['jshint', 'build', 'qunit', 'sloc']);
    grunt.registerTask('watchBuild', ['test', 'concurrent:watches']);
    grunt.registerTask('default', ['watchBuild']);
};<commit_msg>add tagging task?<commit_after>module.exports = function(grunt) {

    var banner = '/* <%= pkg.name %> <%= pkg.version %> <%= grunt.template.today("yyyy-mm-dd") %> */\n';

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

        jshint: {
            files: [
            'gruntfile.js',
            'src/**/*.js',
            'test/tests/*.js'],
            options: {
                jshintrc: true
            }
        },

        clean: ['tmp'],

        copy: {
            scripts: {
                files: [{
                    expand: true,
                    cwd:'src',
                    src: ['**/*.js'],
                    dest: 'tmp/javascript/'
                }]
            },
            styles: {
                files: [{
                    src: 'assets/membrane.css',
                    dest: 'dist/membrane.css'
                }]
            }
        },

        transpile: {
            main: {
                type: 'amd',
                moduleName: function(path) {
                    return grunt.config.process('MJS/') + path;
                },
                files: [{
                    expand: true,
                    cwd: 'tmp/javascript/',
                    src: ['**/*.js'],
                    dest: 'tmp/transpiled/'
                }]
            }
        },

        concat: {
            options: {
                banner: banner,
                sourceMap: true
            },
            dist: {
                src: ['tmp/transpiled/**/*.js'],
                dest: 'dist/membrane.js'
            }
        },

        uglify: {
            options: {
                banner: banner,
                sourceMap: true
            },
            dist: {
                files: {
                    'dist/membrane.min.js': ['<%= concat.dist.dest %>']
                }
            }
        },

        qunit: {
            files: ['test/**/*.html']
        },

        sloc: {
            source: {
                files: {
                    '.': [
                    'gruntfile.js',
                    'src/**/*.js',
                    'test/tests/*.js',
                    ]
                }
            }
        },

        watch: {
            lint: {
                files: ['<%= jshint.files %>'],
                tasks: ['jshint', 'qunit']
            },
            build: {
                files: ['src/**/*.js'],
                tasks: ['build']
            }
        },
        concurrent: {
            options: {
                logConcurrentOutput: true
            },
            watches: {
                tasks: ["watch:lint", "watch:build"]
            }
        },

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

    // Load the plugins
    grunt.loadNpmTasks('grunt-bump');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-contrib-qunit');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-copy');
    grunt.loadNpmTasks('grunt-concurrent');
    grunt.loadNpmTasks('grunt-es6-module-transpiler');
    grunt.loadNpmTasks('grunt-sloc');

    // tasks
    grunt.registerTask('build',
    ['clean', 'copy:scripts', 'copy:styles', 'transpile', 'concat', 'uglify']);
    grunt.registerTask('test', ['jshint', 'build', 'qunit', 'sloc']);
    grunt.registerTask('watchBuild', ['test', 'concurrent:watches']);
    grunt.registerTask('default', ['watchBuild']);

    grunt.registerTask('tag', ['bump-only', 'test', 'bump-commit']);
};
{'fraction_non_alphanumeric': 0.1578174700269146, 'fraction_numerical': 0.0004893564962074871, 'mean_word_length': 1.1228252401973513, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, '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': '5162616', 'n_tokens_mistral': 2443, 'n_tokens_neox': 2254, 'n_words': 342}