Exit Full View

Games Cupboard / build / js / packages / GamesCupboard-gamescupboard-client / webpack.config.js

let config = {
  mode: 'production',
  resolve: {
    modules: [
      "node_modules"
    ]
  },
  plugins: [],
  module: {
    rules: []
  }
};

// entry
config.entry = {
    main: ["/media/home/gidea/software/gamesCupboard/gamesCupboard/build/js/packages/GamesCupboard-gamescupboard-client/kotlin/GamesCupboard-gamescupboard-client.js"]
};

config.output = {
    path: "/media/home/gidea/software/gamesCupboard/gamesCupboard/gamescupboard-client/build/distributions",
    filename: (chunkData) => {
        return chunkData.chunk.name === 'main'
            ? "gamescupboard-client.js"
            : "gamescupboard-client-[name].js";
    },
    library: "gamescupboard-client",
    libraryTarget: "umd",
    globalObject: "this"
};

// source maps
config.module.rules.push({
        test: /\.js$/,
        use: ["source-map-loader"],
        enforce: "pre"
});
config.devtool = 'source-map';
config.ignoreWarnings = [/Failed to parse source map/]

// Report progress to console
// noinspection JSUnnecessarySemicolon
;(function(config) {
    const webpack = require('webpack');
    const handler = (percentage, message, ...args) => {
        const p = percentage * 100;
        let msg = `${Math.trunc(p / 10)}${Math.trunc(p % 10)}% ${message} ${args.join(' ')}`;
        msg = msg.replace("/media/home/gidea/software/gamesCupboard/gamesCupboard/build/js", '');;
        console.log(msg);
    };

    config.plugins.push(new webpack.ProgressPlugin(handler))
})(config);

// noinspection JSUnnecessarySemicolon
;(function(config) {
    const tcErrorPlugin = require('kotlin-test-js-runner/tc-log-error-webpack');
    config.plugins.push(new tcErrorPlugin())
    config.stats = config.stats || {}
    Object.assign(config.stats, config.stats, {
        warnings: false,
        errors: false
    })
})(config);
// save evaluated config file
;(function(config) {
    const util = require('util');
    const fs = require('fs');
    const evaluatedConfig = util.inspect(config, {showHidden: false, depth: null, compact: false});
    fs.writeFile("/media/home/gidea/software/gamesCupboard/gamesCupboard/gamescupboard-client/build/reports/webpack/GamesCupboard-gamescupboard-client/webpack.config.evaluated.js", evaluatedConfig, function (err) {});
})(config);

module.exports = config