ruffle/web/extension/webpack.config.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-08-20 04:29:53 +00:00
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const CopyPlugin = require('copy-webpack-plugin');
const WasmPackPlugin = require("@wasm-tool/wasm-pack-plugin");
2019-08-20 04:29:53 +00:00
const webpack = require('webpack');
const path = require('path');
module.exports = (env, argv) => {
let mode = "production";
2019-08-20 04:29:53 +00:00
if (argv && argv.mode) {
mode = argv.mode;
}
console.log(`Building ${mode}...`);
return {
externals: /^(ruffle_web)$/i,
entry: path.resolve(__dirname, "js/index.js"),
2019-08-20 04:29:53 +00:00
output: {
path: path.resolve(__dirname, "build/dist"),
filename: "ruffle.js",
2019-08-20 04:29:53 +00:00
},
mode: mode,
plugins: [
new webpack.IgnorePlugin({
resourceRegExp: /..\/pkg\/ruffle/
}),
new CleanWebpackPlugin({
protectWebpackAssets: false,
cleanAfterEveryBuildPatterns: ["*.module.wasm"],
}),
new WasmPackPlugin({
crateDirectory: path.resolve(__dirname, ".."),
extraArgs: "--target=no-modules",
forceMode: mode,
}),
new CopyPlugin([
{ from: "../pkg/ruffle_web.js", to: "ruffle_web.js" },
{ from: "../pkg/ruffle_web_bg.wasm", to: "ruffle_web_bg.wasm" },
])
]
2019-08-20 04:29:53 +00:00
}
};