<commit_before>const Webpack           = require( 'webpack' )
const HtmlWebpackPlugin = require( 'html-webpack-plugin' )
const ExtractTextPlugin = require( 'extract-text-webpack-plugin' );
const autoprefixer      = require( 'autoprefixer' );

module.exports = {
    entry: [
        'font-awesome-loader',
        'bootstrap-loader/extractStyles',
        'tether',
        './src/components/main/app.js'
    ],
    output: {
        path: __dirname + '/dist',
        filename: 'static/sepal-[hash].js'
    },
    plugins: [
        new HtmlWebpackPlugin( {
            template: 'index.html',
            hash: true
        } ),
        new ExtractTextPlugin( 'static/app.css', { allChunks: true } ),
        new Webpack.ProvidePlugin( { "window.Tether": "tether" } ),
        new Webpack.ProvidePlugin( {
            $: "jquery",
            jQuery: "jquery",
            "window.jQuery": "jquery"
        } )
    ],
    resolve: { extensions: [ '', '.js' ] },
    devtool: 'source-map',
    module: {
        loaders: [
            { test: /\.css$/, loader: ExtractTextPlugin.extract( 'style', 'css!postcss' ) },
            { test: /\.scss$/, loader: ExtractTextPlugin.extract( 'style', 'css!postcss!sass' ) },

            {
                test: /\.woff2?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
                // Limiting the size of the woff fonts breaks font-awesome ONLY for the extract text plugin
                // loader: "url?limit=10000"
                loader: "url"
            },
            {
                test: /\.(ttf|eot|svg)(\?[\s\S]+)?$/,
                loader: 'file'
            },
            // inline base64 URLs for <=8k images, direct URLs for the rest
            { test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192&name=/static/[name]-[hash].[ext]' },
            { test: /bootstrap\/dist\/js\/umd\//, loader: 'imports?jQuery=jquery' },
            { test: /\.html$/, loader: "underscore-template-loader" }
        ]
    },
    node: {
        fs: "empty"
    },
    postcss: [ autoprefixer ],

    devServer: {
        contentBase: './dist',
        host: '0.0.0.0',
        proxy: {
            // '*': { target: 'http://localhost:9999' }
            '*': { target: 'https://172.28.128.3' } // Vagrant box

        }
    }
}<commit_msg>Excluded redundant [hash] in url-loader name template.<commit_after>const Webpack           = require( 'webpack' )
const HtmlWebpackPlugin = require( 'html-webpack-plugin' )
const ExtractTextPlugin = require( 'extract-text-webpack-plugin' );
const autoprefixer      = require( 'autoprefixer' );

module.exports = {
    entry: [
        'font-awesome-loader',
        'bootstrap-loader/extractStyles',
        'tether',
        './src/components/main/app.js'
    ],
    output: {
        path: __dirname + '/dist',
        filename: 'static/sepal-[hash].js'
    },
    plugins: [
        new HtmlWebpackPlugin( {
            template: 'index.html',
            hash: true
        } ),
        new ExtractTextPlugin( 'static/app.css', { allChunks: true } ),
        new Webpack.ProvidePlugin( { "window.Tether": "tether" } ),
        new Webpack.ProvidePlugin( {
            $: "jquery",
            jQuery: "jquery",
            "window.jQuery": "jquery"
        } )
    ],
    resolve: { extensions: [ '', '.js' ] },
    devtool: 'source-map',
    module: {
        loaders: [
            { test: /\.css$/, loader: ExtractTextPlugin.extract( 'style', 'css!postcss' ) },
            { test: /\.scss$/, loader: ExtractTextPlugin.extract( 'style', 'css!postcss!sass' ) },

            {
                test: /\.woff2?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
                // Limiting the size of the woff fonts breaks font-awesome ONLY for the extract text plugin
                // loader: "url?limit=10000"
                loader: "url"
            },
            {
                test: /\.(ttf|eot|svg)(\?[\s\S]+)?$/,
                loader: 'file'
            },
            // inline base64 URLs for <=8k images, direct URLs for the rest
            { test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192&name=/static/[name].[ext]' },
            { test: /bootstrap\/dist\/js\/umd\//, loader: 'imports?jQuery=jquery' },
            { test: /\.html$/, loader: "underscore-template-loader" }
        ]
    },
    node: {
        fs: "empty"
    },
    postcss: [ autoprefixer ],

    devServer: {
        contentBase: './dist',
        host: '0.0.0.0',
        proxy: {
            // '*': { target: 'http://localhost:9999' }
            '*': { target: 'https://172.28.128.3' } // Vagrant box

        }
    }
}
{'fraction_non_alphanumeric': 0.1764320069960647, 'fraction_numerical': 0.015741145605596852, 'mean_word_length': 1.6911764705882353, 'pattern_counts': {'":': 4, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 4, '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': '817763', 'n_tokens_mistral': 1516, 'n_tokens_neox': 1425, 'n_words': 276}