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

    var dstFileBanner = '/**\n * @application <%= pkg.name %>\n * @version <%= pkg.version %>\n * @updated <%= grunt.template.today("yyyy-mm-dd") %>\n * @author <%= pkg.author %>\n * @license <%= pkg.license %>\n */\n';

    // Project configuration.
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        'create-website-structure': {
            options: { },
            build: {
				repo_root: '../../../..',
				input: 'resources/structure.json.in',
                output: 'resources/structure.json'
            }
		},
		'copy-website-content': {
			options: { },
			build: {
				repo_root: '../../../..',
				input: 'resources/structure.json',
				target_dir: '../public/website'
			}
		},
        jshint: {
            options: {
                reporter: require('jshint-stylish'),
				node: true
            },
            build: ['Gruntfile.js', 'resources/assets/js/**/*.js']
        },
        less: {
			options: { },
            build: {
                files: {
                    'public/assets/skin/default/css/theme.css': 'resources/assets/skin/default/less/theme.less'
                }
            }
        },
        cssmin: {
            options: {
                banner: dstFileBanner
            },
            build: {
                files: {
                    'public/assets/skin/default/css/theme.min.css': 'public/assets/skin/default/css/theme.css'
                }
            }
        },
		concat: {
			options: {
				banner: dstFileBanner
			},
			vendor: {
				src: [
					'node_modules/bootstrap/dist/css/bootstrap.min.css',
					'node_modules/bootstrap/dist/css/bootstrap-theme.min.css',
					'node_modules/highlight.js/styles/github.css',
					'node_modules/angular-ui-notification/dist/angular-ui-notification.min.css',
					'node_modules/ng-tags-input/build/ng-tags-input.min.css',
					'node_modules/ng-tags-input/build/ng-tags-input.bootstrap.min.css'
				],
				dest: 'public/assets/skin/vendor.css',
			},
			pacejs: {
				src: ['node_modules/pace-progress/pace.min.js'],
				dest: 'public/vendor/pace.min.js'
			},
			pacecss: {
				src: ['node_modules/pace-progress/themes/blue/pace-theme-minimal.css'],
				dest: 'public/vendor/pace.min.css'
			}
		},
        preprocess: {
            options: {
                context: {
                    CONFIGURATION: grunt.file.read('application-config.json'),
					WEBSTRUCTURE: grunt.file.read('resources/structure.json')
                },
				type: 'js'
            },
            config: {
                src: 'resources/assets/js/config/index.js.in',
                dest: 'resources/assets/js/config/index.js'
            }
        },
        watch: {
			options: { },
            less: {
                files: ['resources/assets/skin/**/*'],
                tasks: ['less','cssmin']
            },
			preprocess: {
				files: [
					'resources/assets/js/config/constants.config.js.in',
					'application-config.json',
					'resources/structure.json'
				],
				tasks: ['preprocess', 'browserify:build']
			}
        },
		browserify: {
			options: { },
			build: {
				src: 'resources/assets/js/application.js',
				dest: 'public/assets/js/application.js',
				options: {
					banner: dstFileBanner,
					require: [],
					external: [],
					watch: true,
					keepAlive: true
				}
			}
		},
        'http-server': {

            dev: {

                // the server root directory
                root: 'public',

                // the server port
                port: 9000,<commit_msg>rest-frontend: add watcher for browserify<commit_after>module.exports = function(grunt) {

    var dstFileBanner = '/**\n * @application <%= pkg.name %>\n * @version <%= pkg.version %>\n * @updated <%= grunt.template.today("yyyy-mm-dd") %>\n * @author <%= pkg.author %>\n * @license <%= pkg.license %>\n */\n';

    // Project configuration.
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        'create-website-structure': {
            options: { },
            build: {
				repo_root: '../../../..',
				input: 'resources/structure.json.in',
                output: 'resources/structure.json'
            }
		},
		'copy-website-content': {
			options: { },
			build: {
				repo_root: '../../../..',
				input: 'resources/structure.json',
				target_dir: '../public/website'
			}
		},
        jshint: {
            options: {
                reporter: require('jshint-stylish'),
				node: true
            },
            build: ['Gruntfile.js', 'resources/assets/js/**/*.js']
        },
        less: {
			options: { },
            build: {
                files: {
                    'public/assets/skin/default/css/theme.css': 'resources/assets/skin/default/less/theme.less'
                }
            }
        },
        cssmin: {
            options: {
                banner: dstFileBanner
            },
            build: {
                files: {
                    'public/assets/skin/default/css/theme.min.css': 'public/assets/skin/default/css/theme.css'
                }
            }
        },
		concat: {
			options: {
				banner: dstFileBanner
			},
			vendor: {
				src: [
					'node_modules/bootstrap/dist/css/bootstrap.min.css',
					'node_modules/bootstrap/dist/css/bootstrap-theme.min.css',
					'node_modules/highlight.js/styles/github.css',
					'node_modules/angular-ui-notification/dist/angular-ui-notification.min.css',
					'node_modules/ng-tags-input/build/ng-tags-input.min.css',
					'node_modules/ng-tags-input/build/ng-tags-input.bootstrap.min.css'
				],
				dest: 'public/assets/skin/vendor.css',
			},
			pacejs: {
				src: ['node_modules/pace-progress/pace.min.js'],
				dest: 'public/vendor/pace.min.js'
			},
			pacecss: {
				src: ['node_modules/pace-progress/themes/blue/pace-theme-minimal.css'],
				dest: 'public/vendor/pace.min.css'
			}
		},
        preprocess: {
            options: {
                context: {
                    CONFIGURATION: grunt.file.read('application-config.json'),
					WEBSTRUCTURE: grunt.file.read('resources/structure.json')
                },
				type: 'js'
            },
            config: {
                src: 'resources/assets/js/config/index.js.in',
                dest: 'resources/assets/js/config/index.js'
            }
        },
        watch: {
			options: { },
            less: {
                files: ['resources/assets/skin/**/*'],
                tasks: ['less','cssmin']
            },
			preprocess: {
				files: [
					'resources/assets/js/config/constants.config.js.in',
					'application-config.json',
					'resources/structure.json'
				],
				tasks: ['preprocess', 'browserify:build']
			},
			js: {
				files: ['public/assets/js/application.js'],
				tasks: [] // do nothing, the watcher only triggers browserify implicitely
			}
        },
		browserify: {
			options: { },
			build: {
				src: 'resources/assets/js/application.js',
				dest: 'public/assets/js/application.js',
				options: {
					banner: dstFileBanner,
					watch: true
				}
			}
		},
        'http-server': {

            dev: {

                // the server root directory
                root: 'public',

                // the server port
                port: 9000,
{'fraction_non_alphanumeric': 0.16298952013237727, 'fraction_numerical': 0.0011031439602868175, 'mean_word_length': 1.6422586520947178, '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': '7470190', 'n_tokens_mistral': 2641, 'n_tokens_neox': 2213, 'n_words': 305}