SciPost Code Repository

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

module.exports = {
Jorran de Wit's avatar
Jorran de Wit committed
    context: __dirname,
Jorran de Wit's avatar
Jorran de Wit committed
    entry: {
Jorran de Wit's avatar
Jorran de Wit committed
            "bootstrap-loader",
Jorran de Wit's avatar
Jorran de Wit committed
            "./scipost/static/scipost/assets/js/dynamic_loading.js",
            "./scipost/static/scipost/assets/js/scripts.js",
Jorran de Wit's avatar
Jorran de Wit committed
        homepage: [
Jorran de Wit's avatar
Jorran de Wit committed
            "./scipost/static/scipost/assets/js/fader.js",
Jorran de Wit's avatar
Jorran de Wit committed
            "./scipost/static/scipost/assets/js/newsticker.js",
        ],
Jorran de Wit's avatar
Jorran de Wit committed
    },
    output: {
        path: path_bundles,
        publicPath: '/static/bundles/',
        filename: "js/[name]-[hash].js",
    },
    plugins: [
	new BundleTracker({
	    filename: './webpack-stats.json'
	}),
        new webpack.ProvidePlugin({
            $: 'jquery',
            jQuery: 'jquery',
	    'window.jQuery': 'jquery',
            Tether: 'tether',
            'window.Tether': 'tether',
            Popper: ['popper.js', 'default'],
	    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 CleanWebpackPlugin(),
Jorran de Wit's avatar
Jorran de Wit committed
        new webpack.optimize.OccurrenceOrderPlugin(),
        new webpack.optimize.AggressiveMergingPlugin()
    module: {
	rules: [
	    {
	    	test: require.resolve('jquery'),
	    	use: [{
	    	    loader: 'expose-loader',
	    	    options: 'jQuery'
	    	},{
	    	loader: 'expose-loader',
	    	options: '$'
	    	}]
	    },
            {
                test: /\.css$/,
	    	use: ['style-loader', 'css-loader', 'postcss-loader'],
            },
            {
                test: /\.scss$/,
	    	use: ['style-loader', 'css-loader', 'postcss-loader', 'sass-loader'],
            }
	]
    },
Jorran de Wit's avatar
Jorran de Wit committed
}