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

    // Execution time of grunt tasks
    require('time-grunt')(grunt);

    // Load all tasks
    //require('load-grunt-tasks')(grunt);
    require('jit-grunt')(grunt, {
        useminPrepare: 'grunt-usemin'
    });

    // Project configuration.
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        config: grunt.file.readJSON('config.json'),
        watch: {
            files: '<%= config.scssPath %>/**/*.scss',
            tasks: ['sass:dev', 'autoprefixer:dev']
        },
        sass: {
            options: {
                includePaths: [
                    require('node-bourbon').includePaths,
                    '<%= config.bowerComponentsPath %>/foundation/scss'
                ]
            },
            dist: {
                option: {
                    outputStyle: 'compressed'
                },
                files: {
                    '<%= config.cssPath %>/screen.css': '<%= config.scssPath %>/screen.scss',
                    '<%= config.cssPath %>/screen-ie.css': '<%= config.scssPath %>/screen-ie.scss',
                    '<%= config.cssPath %>/print.css': '<%= config.scssPath %>/print.scss'
                }
            },
            dev: {
                options: {
                    sourceMap: true
                },
                files: {
                    '<%= config.cssPath %>/screen.css': '<%= config.scssPath %>/screen.scss',
                    '<%= config.cssPath %>/screen-ie.css': '<%= config.scssPath %>/screen-ie.scss',
                    '<%= config.cssPath %>/print.css': '<%= config.scssPath %>/print.scss'
                }
            }
        },
        autoprefixer: {
            dev: {
                options: {
                    map: true
                },
                src: '<%= config.cssPath %>/screen.css'
            },
            dist: {
                src: '<%= config.cssPath %>/screen.css'
            }
        },
        browserSync: {
            dev: {
                bsFiles: {
                    src: [
                        '<%= config.cssPath %>/screen.css',
                        '../*.html'
                    ]
                },
                options: {
                    watchTask: true,
                    server: {
                        baseDir: '<%= config.browsersync.baseDir %>'
                    }/*
                    host: '<%= config.browsersync.host %>',
                    proxy: '<%= config.browsersync.proxy %>',
                    hostnameSuffix: '<%= config.browsersync.hostnameSuffix %>'
                    */
                }
            }
        },
        useminPrepare: {
            html: '../index_dev.html',
            options: {
                root: '../',
                dest: '../'
            }
        },
        usemin: {
            html: '../index.html',
            options: {
                assetsDirs: ['../', 'css/dist']
            }
        },
        rev: {
            files: {
                src: [
                    '<%= config.cssPath %>/dist/**/*.css',
                    '<%= config.jsPath %>/dist/**/*.js'
                ]
            }
        },
        imagemin: {
            dynamic: {
                files: [{
                    expand: true,                  // Enable dynamic expansion
                    cwd: '<%= config.cssPath %>/i',                   // Src matches are relative to this path
                    src: ['**/*.{png,jpg,gif}'],   // Actual patterns to match
                    dest: '<%= config.cssPath %>/i'                  // Destination path prefix
                }]
            }
        },
        jshint: {
            all: ['Gruntfile.js', '<%= config.jsPath %>/*.js']
        },
        'sftp-deploy': {
            build: {
                //auth: {
                //    host: 'server.com',
                //    port: 22,
                //    authKey: 'key1'
                //},
                //src: '/path/to/source/folder',
                //dest: '/path/to/destination/folder',
                //exclusions: ['/path/to/source/folder/**/.DS_Store', '/path/to/source/folder/**/Thumbs.db', 'dist/tmp'],
                //server_sep: '/',
                //concurrency: 4,
                //progress: true
            }
        },
        // Empties folders to start fresh
        clean: {
            dist: {
                files: [{
                    dot: true,
                    src: [
                        '.tmp',
                        '<%= config.jsPath %>/dist',
                        '<%= config.cssPath %>/dist'
                    ]
                }]
            }
        },
        copy: {
            html: {
                src: '../index_dev.html',
                dest: '../index.html'
            },
            cssimages: {
                cwd: '<%= config.cssPath %>/i',
                src: '**',
                dest: '<%= config.cssPath %>/dist/i/',
                expand: true
            },
            cssfonts: {
                cwd: '<%= config.cssPath %>/f',
                src: '**',
                dest: '<%= config.cssPath %>/dist/f/',
                expand: true
            }
        },
        styleguide: {
            options: {
                framework: {
                    name: 'kss'
                }
            },
            all: {
                files: {
                    'docs/styleguide': '<%= config.scssPath %>/**/*.{scss,sass}'
                }
            }
        },
        webfont: {
            icons: {
                src: 'css/i/ico/*.svg',
                dest: 'css/f/ico',
                destCss: 'scss/base',
                options: {
                    stylesheet: 'scss',
                    relativeFontPath: 'f/ico',
                    htmlDemo: false
                }
            }
        }
    });

    // Default task(s).
    grunt.registerTask('default', ['browserSync', 'watch']);
    grunt.registerTask('build', [
        'clean:dist',
        'copy:html',
        'sass:dist',
        'autoprefixer:dist',
        'useminPrepare',
        'concat',
        'cssmin',
        'uglify',
        'rev',
        'usemin',
        'copy:cssimages',<commit_msg>Update of Gruntfile with removal of grunt packages<commit_after>module.exports = function(grunt) {

    // Execution time of grunt tasks
    require('time-grunt')(grunt);

    // Load all tasks
    //require('load-grunt-tasks')(grunt);
    require('jit-grunt')(grunt, {
        useminPrepare: 'grunt-usemin'
    });

    // Project configuration.
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        config: grunt.file.readJSON('config.json'),
        watch: {
            files: '<%= config.scssPath %>/**/*.scss',
            tasks: ['sass:dev', 'autoprefixer:dev']
        },
        sass: {
            options: {
                includePaths: [
                    '<%= config.bowerComponentsPath %>/foundation/scss'
                ]
            },
            dist: {
                option: {
                    outputStyle: 'compressed'
                },
                files: {
                    '<%= config.cssPath %>/screen.css': '<%= config.scssPath %>/screen.scss',
                    '<%= config.cssPath %>/screen-ie.css': '<%= config.scssPath %>/screen-ie.scss',
                    '<%= config.cssPath %>/print.css': '<%= config.scssPath %>/print.scss'
                }
            },
            dev: {
                options: {
                    sourceMap: true
                },
                files: {
                    '<%= config.cssPath %>/screen.css': '<%= config.scssPath %>/screen.scss',
                    '<%= config.cssPath %>/screen-ie.css': '<%= config.scssPath %>/screen-ie.scss',
                    '<%= config.cssPath %>/print.css': '<%= config.scssPath %>/print.scss'
                }
            }
        },
        autoprefixer: {
            dev: {
                options: {
                    map: true
                },
                src: '<%= config.cssPath %>/screen.css'
            },
            dist: {
                src: '<%= config.cssPath %>/screen.css'
            }
        },
        browserSync: {
            dev: {
                bsFiles: {
                    src: [
                        '<%= config.cssPath %>/screen.css',
                        '../*.html'
                    ]
                },
                options: {
                    watchTask: true,
                    server: {
                        baseDir: '<%= config.browsersync.baseDir %>'
                    }
                    /*
                    host: '<%= config.browsersync.host %>',
                    proxy: '<%= config.browsersync.proxy %>',
                    hostnameSuffix: '<%= config.browsersync.hostnameSuffix %>'
                    */
                }
            }
        },
        useminPrepare: {
            html: '../index_dev.html',
            options: {
                root: '../',
                dest: '../'
            }
        },
        usemin: {
            html: '../index.html',
            options: {
                assetsDirs: ['../', 'css/dist']
            }
        },
        rev: {
            files: {
                src: [
                    '<%= config.cssPath %>/dist/**/*.css',
                    '<%= config.jsPath %>/dist/**/*.js'
                ]
            }
        },
        imagemin: {
            dynamic: {
                files: [{
                    expand: true,                  // Enable dynamic expansion
                    cwd: '<%= config.cssPath %>/i',                   // Src matches are relative to this path
                    src: ['**/*.{png,jpg,gif}'],   // Actual patterns to match
                    dest: '<%= config.cssPath %>/i'                  // Destination path prefix
                }]
            }
        },
        jshint: {
            all: ['Gruntfile.js', '<%= config.jsPath %>/*.js']
        },
        // Empties folders to start fresh
        clean: {
            dist: {
                files: [{
                    dot: true,
                    src: [
                        '.tmp',
                        '<%= config.jsPath %>/dist',
                        '<%= config.cssPath %>/dist'
                    ]
                }]
            }
        },
        copy: {
            html: {
                src: '../index_dev.html',
                dest: '../index.html'
            },
            cssimages: {
                cwd: '<%= config.cssPath %>/i',
                src: '**',
                dest: '<%= config.cssPath %>/dist/i/',
                expand: true
            },
            cssfonts: {
                cwd: '<%= config.cssPath %>/f',
                src: '**',
                dest: '<%= config.cssPath %>/dist/f/',
                expand: true
            }
        },
        webfont: {
            icons: {
                src: 'css/i/ico/*.svg',
                dest: 'css/f/ico',
                destCss: 'scss/base',
                options: {
                    stylesheet: 'scss',
                    relativeFontPath: 'f/ico',
                    htmlDemo: false
                }
            }
        }
    });

    // Default task(s).
    grunt.registerTask('default', ['browserSync', 'watch']);
    grunt.registerTask('build', [
        'clean:dist',
        'copy:html',
        'sass:dist',
        'autoprefixer:dist',
        'useminPrepare',
        'concat',
        'cssmin',
        'uglify',
        'rev',
        'usemin',
        'copy:cssimages',
{'fraction_non_alphanumeric': 0.15311455745008998, 'fraction_numerical': 0.00034272984320109673, 'mean_word_length': 0.8859266440458878, 'pattern_counts': {'":': 0, '<': 68, '<?xml version=': 0, '>': 68, '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': '1957168', 'n_tokens_mistral': 3321, 'n_tokens_neox': 3064, 'n_words': 493}