aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/webpack.config.js
blob: 4f03b7c87c0c2e4cee841074366bc9a408d20c24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
'use strict';

const path = require('path');
const merge = require('webpack-merge');
const webpack = require('webpack');
const ServerConfig = require('./webpack.server');
const webpackCommonConfig = require('./webpack.common');
const { BaseHrefWebpackPlugin} = require('@angular/cli/plugins/webpack');
const CopyWebpackPlugin = require('copy-webpack-plugin');

// Print server configuration
//process.stdout.write('webpack.server: ' + JSON.stringify(ServerConfig) + '\n');
//process.stdout.write('webpack.common: ' + JSON.stringify(webpackCommonConfig) + '\n');
const params = {
    // entryPoints: [
    //     '/scripts/inline',
    //     '/scripts/polyfills',
    //     '/scripts/vendor',
    //     '/scripts/main',
    //     '/scripts/sw-register',
    //     '/scripts/scripts',
    //     '/scripts/styles'
    // ]
};

module.exports = function(env) {

    const webpackDevConfig = {
        devtool: "source-map",
        devServer: ServerConfig(env),
        module: {
            rules: [
                { test: /\.(eot|svg)$/, loader: "file-loader?name=scripts/fonts/[name].[hash:20].[ext]" },
                { test: /\.(jpg|png|gif|otf|ttf|woff|woff2|cur|ani)$/, loader: "url-loader?name=scripts/images/[name].[hash:20].[ext]&limit=10000" }
            ]
        },
        output: {
            path: path.join(process.cwd(), "dist"),
            filename: "[name].bundle.js",
            chunkFilename: "[id].chunk.js"
            //publicPath: "/"
        },
        plugins: [
            // Replace /sdc1 inside index.html with '' (because /sdc1 is used only in production).
            new CopyWebpackPlugin([
                { 
                    from: './src/index.html', transform: function(content, path) {
                        content = (content+'').replace(/\/sdc1/g,'');
                        return content;
                    } 
                }  
            ]),
            new webpack.DefinePlugin({
                __DEBUG__: JSON.stringify(true),
                __ENV__: JSON.stringify('dev'),
                __HMR__: JSON.stringify('HMR')
            }),
            new webpack.HotModuleReplacementPlugin()
        ]

    };

    return merge(webpackDevConfig, webpackCommonConfig(params));
}