<commit_before>// JSHint settings
/* jshint camelcase: false, es3: false */

'use strict';

module.exports = function(grunt) {

	// Get devDependencies
	require('load-grunt-tasks')(grunt, {scope: 'devDependencies'});

	// Displays the execution time of grunt tasks
	require('time-grunt')(grunt);

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

		// Need a copy to handle release tasks
		pkpCopy: grunt.file.readJSON('package.json'),

		// Configurable paths
		config: {
			dist: 'dist',
			reports: 'reports',
			docs: 'docs'
		},

		// List available tasks
		availabletasks: {
			tasks: {
				options: {
					filter: 'include',
					tasks: [
						'default',
						'dev',
						'server',
						'watch',
						'build',
						'checkBuild',
						'plato',
						'jsdoc',
						'sync',
						'releasePatch',
						'releaseMinor',
						'releaseMajor',
						'lint'
					],
					descriptions: {
						'watch':
							'`grunt watch` run dev tasks whenever watched files change and ' +
							'Reloads the browser with »LiveReload« plugin.',
						'jsdoc':
							'`grunt jsdoc` generates source documentation using jsdoc.',
						'plato':
							'`grunt plato` generates static code analysis charts with plato.'
					},
					groups: {
						'Dev': ['default', 'dev', 'sync', 'server', 'watch','plato', 'jsdoc', 'lint'],
						'Production': ['build', 'checkBuild', 'releasePatch', 'releaseMinor', 'releaseMajor'],
					},
					sort: [
						'default',
						'dev',
						'sync',
						'plato',
						'jsdoc',
						'server',
						'watch',
						'build',
						'checkBuild',
						'releasePatch',
						'releaseMinor',
						'releaseMajor'
					]
				}
			}
		},

		// jsHint
		jshint: {
			options: {
				reporter: require('jshint-stylish'),
				jshintrc: '.jshintrc',
				ignores: ['assets/js/*.min.js']
			},
			all: [
				'Gruntfile.js',
				'assets/js/*.js'
			]
		},

		// uglify
		uglify: {
			options: {
				banner: '/*! <%= pkg.title %> - v<%= pkg.version %>\n' +
						' * <EMAIL>\n' +
						' * Copyright ©<%= grunt.template.today("yyyy") %> Micromata GmbH\n' +
						' * <%= grunt.template.today("yyyy-mm-dd") %>\n' +
						' */',
				sourceMap: true,
				sourceMapIncludeSources: true,
				compress: {
					drop_console: true,
					drop_debugger: true
				}
			},
			minify: {
				files: [{
					expand: true,
					cwd: 'assets/js',
					src: ['**/*.js'],
					dest: '<%= config.dist %>/assets/js',
					ext: '.min.js',
					extDot: 'last'
				}]
			},
			concatenate: {
				files: {
					'<%= config.dist %>/assets/js/built.min.js': ['assets/js/**/*.js']
				}
			},<commit_msg>Prevent minifying of minified sources :persevere:<commit_after>// JSHint settings
/* jshint camelcase: false, es3: false */

'use strict';

module.exports = function(grunt) {

	// Get devDependencies
	require('load-grunt-tasks')(grunt, {scope: 'devDependencies'});

	// Displays the execution time of grunt tasks
	require('time-grunt')(grunt);

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

		// Need a copy to handle release tasks
		pkpCopy: grunt.file.readJSON('package.json'),

		// Configurable paths
		config: {
			dist: 'dist',
			reports: 'reports',
			docs: 'docs'
		},

		// List available tasks
		availabletasks: {
			tasks: {
				options: {
					filter: 'include',
					tasks: [
						'default',
						'dev',
						'server',
						'watch',
						'build',
						'checkBuild',
						'plato',
						'jsdoc',
						'sync',
						'releasePatch',
						'releaseMinor',
						'releaseMajor',
						'lint'
					],
					descriptions: {
						'watch':
							'`grunt watch` run dev tasks whenever watched files change and ' +
							'Reloads the browser with »LiveReload« plugin.',
						'jsdoc':
							'`grunt jsdoc` generates source documentation using jsdoc.',
						'plato':
							'`grunt plato` generates static code analysis charts with plato.'
					},
					groups: {
						'Dev': ['default', 'dev', 'sync', 'server', 'watch','plato', 'jsdoc', 'lint'],
						'Production': ['build', 'checkBuild', 'releasePatch', 'releaseMinor', 'releaseMajor'],
					},
					sort: [
						'default',
						'dev',
						'sync',
						'plato',
						'jsdoc',
						'server',
						'watch',
						'build',
						'checkBuild',
						'releasePatch',
						'releaseMinor',
						'releaseMajor'
					]
				}
			}
		},

		// jsHint
		jshint: {
			options: {
				reporter: require('jshint-stylish'),
				jshintrc: '.jshintrc',
				ignores: ['assets/js/*.min.js']
			},
			all: [
				'Gruntfile.js',
				'assets/js/*.js'
			]
		},

		// uglify
		uglify: {
			options: {
				banner: '/*! <%= pkg.title %> - v<%= pkg.version %>\n' +
						' * <EMAIL>\n' +
						' * Copyright ©<%= grunt.template.today("yyyy") %> Micromata GmbH\n' +
						' * <%= grunt.template.today("yyyy-mm-dd") %>\n' +
						' */',
				sourceMap: true,
				sourceMapIncludeSources: true,
				compress: {
					drop_console: true,
					drop_debugger: true
				}
			},
			minify: {
				files: [{
					expand: true,
					cwd: 'assets/js',
					src: ['**/*.js', '!**/*.min.js'],
					dest: '<%= config.dist %>/assets/js',
					ext: '.min.js',
					extDot: 'last'
				}]
			},
			concatenate: {
				files: {
					'<%= config.dist %>/assets/js/built.min.js': ['assets/js/**/*.js']
				}
			},
{'fraction_non_alphanumeric': 0.18553578190079514, 'fraction_numerical': 0.0003786444528587656, 'mean_word_length': 2.2411042944785278, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 17, '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': '594816', 'n_tokens_mistral': 2620, 'n_tokens_neox': 1836, 'n_words': 390}