<commit_before>var gulp = require('gulp');
var fs = require('fs');
// var requireDir = require('require-dir');

'use strict';

var config = {
    sourceDir: './src/',
    buildDir: './build/',
    gzip: true
};

config.styles = {
    src: config.sourceDir + 'scss/**/*.scss',
    dest: config.buildDir + 'css',
    sourcemaps: true
};

config.scripts = {
    src: config.sourceDir + 'js/**/*.js',
    dest: config.buildDir + 'js'
};

config.images = {
    src: config.sourceDir + 'images/**/*',
    dest: config.buildDir + 'images'
};

config.fonts = {
    src: [config.sourceDir + 'fonts/**/*'],
    dest: config.buildDir + 'fonts'
};

config.browserSync = {
    browserPort: 3000,
    UIPort: 3001,
    autoreload: true
};

config.browserify = {
    bundleName: 'main.js',
    sourcemaps: false
};

config.test = {
    karma: 'test/karma.conf.js',
    protractor: 'test/protractor.conf.js'
};


//var tasks = requireDir('./tasks', { args: config }); //Possible when they accept pull requests at requireDir

var tasks = fs.readdirSync('./tasks');
tasks.forEach(function(task) {
    if(task.slice(-3) === '.js') require('./tasks/' + task)(config);
});

gulp.task('default', ['dev']);<commit_msg>updated gulpfile structure with _.assign<commit_after>'use strict';

var gulp = require('gulp');
var fs = require('fs');
var assign = require('lodash.assign');
// var requireDir = require('require-dir');

var config = {
    sourceDir: './src/',
    buildDir: './build/',
    gzip: true
};

assign(config, {

    styles: {
        src: config.sourceDir + 'scss/**/*.scss',
        dest: config.buildDir + 'css',
        sourcemaps: true
    },

    scripts: {
        src: config.sourceDir + 'js/**/*.js',
        dest: config.buildDir + 'js'
    },

    images: {
        src: config.sourceDir + 'images/**/*',
        dest: config.buildDir + 'images'
    },

    fonts: {
        src: [config.sourceDir + 'fonts/**/*'],
        dest: config.buildDir + 'fonts'
    },

    browserSync: {
        browserPort: 3000,
        UIPort: 3001,
        autoreload: true
    },

    browserify: {
        bundleName: 'main.js',
        sourcemaps: false
    },

    test: {
        karma: 'test/karma.conf.js',
        protractor: 'test/protractor.conf.js'
    },

});


//var tasks = requireDir('./tasks', { args: config }); //Possible when they accept pull requests at requireDir

var tasks = fs.readdirSync('./tasks');
tasks.forEach(function(task) {
    if(task.slice(-3) === '.js') require('./tasks/' + task)(config);
});

gulp.task('default', ['dev']);
{'fraction_non_alphanumeric': 0.19307904050334251, 'fraction_numerical': 0.007078254030672434, 'mean_word_length': 2.697674418604651, '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': '3768689', 'n_tokens_mistral': 883, 'n_tokens_neox': 846, 'n_words': 185}