SciPost Code Repository

Skip to content
Snippets Groups Projects
webpack.config.js 2.41 KiB
Newer Older
var webpack = require("webpack");
Jorran de Wit's avatar
Jorran de Wit committed
var BundleTracker = require('webpack-bundle-tracker');
var CleanWebpackPlugin = require('clean-webpack-plugin');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var glob = require("glob");
var path_bundles = __dirname + '/static_bundles/bundles';
Jorran de Wit's avatar
Jorran de Wit committed

module.exports = {
    context: __dirname,
    entry: {
        main: glob.sync("./scipost/static/scipost/assets/**/*.@(js|css)"),
        bootstrap: 'bootstrap-loader'
Jorran de Wit's avatar
Jorran de Wit committed
    },
    output: {
        path: path_bundles,
        publicPath: '/static/bundles/',
        filename: "js/[name]-[hash].js",
    },
    module: {
        loaders: [
            {
                test: /\.css$/,
                loader: ExtractTextPlugin.extract({
                    fallbackLoader: "style-loader",
                    loader: "css-loader"
                })
Jorran de Wit's avatar
Jorran de Wit committed
            },
            {
                test: /\.less$/,
                loader: ExtractTextPlugin.extract({
                    fallbackLoader: "style-loader",
                    loader: "css-loader!less-loader"
                })
            },
Jorran de Wit's avatar
Jorran de Wit committed
        ]
    },
    plugins: [
        new webpack.ProvidePlugin({
            $: "jquery",
            jQuery: "jquery",
            "window.jQuery": "jquery",
            Tether: "tether",
            "window.Tether": "tether",
            // Alert: "exports-loader?Alert!bootstrap/js/dist/alert",
            // Button: "exports-loader?Button!bootstrap/js/dist/button",
            // Carousel: "exports-loader?Carousel!bootstrap/js/dist/carousel",
            Collapse: "exports-loader?Collapse!bootstrap/js/dist/collapse",
            // Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown",
            // Modal: "exports-loader?Modal!bootstrap/js/dist/modal",
            // Popover: "exports-loader?Popover!bootstrap/js/dist/popover",
            // Scrollspy: "exports-loader?Scrollspy!bootstrap/js/dist/scrollspy",
            // Tab: "exports-loader?Tab!bootstrap/js/dist/tab",
            // Tooltip: "exports-loader?Tooltip!bootstrap/js/dist/tooltip",
            Util: "exports-loader?Util!bootstrap/js/dist/util",
        }),
        new BundleTracker({
            filename: './webpack-stats.json'
        }),
Jorran de Wit's avatar
Jorran de Wit committed
        new ExtractTextPlugin('css/[name]-[hash].css'),
        new CleanWebpackPlugin(['css', 'js'], {
            root: path_bundles,
            verbose: true,
            dry: false,
            exclude: []
        })
Jorran de Wit's avatar
Jorran de Wit committed
}