2020-05-11 19:37:57 +00:00
|
|
|
/* eslint-env node */
|
|
|
|
|
2020-05-12 22:24:41 +00:00
|
|
|
const path = require("path");
|
2021-03-04 20:59:10 +00:00
|
|
|
const CopyPlugin = require("copy-webpack-plugin");
|
2019-08-20 04:29:53 +00:00
|
|
|
|
|
|
|
module.exports = (env, argv) => {
|
2020-05-12 22:24:41 +00:00
|
|
|
let mode = "production";
|
|
|
|
if (argv && argv.mode) {
|
|
|
|
mode = argv.mode;
|
|
|
|
}
|
2019-08-20 04:29:53 +00:00
|
|
|
|
2020-05-12 22:24:41 +00:00
|
|
|
console.log(`Building ${mode}...`);
|
2019-08-20 04:29:53 +00:00
|
|
|
|
2020-05-12 22:24:41 +00:00
|
|
|
return {
|
2021-02-17 04:39:46 +00:00
|
|
|
mode,
|
2019-08-27 02:22:00 +00:00
|
|
|
entry: {
|
2021-04-15 19:17:01 +00:00
|
|
|
popup: path.resolve(__dirname, "src/popup.js"),
|
|
|
|
options: path.resolve(__dirname, "src/options.js"),
|
|
|
|
lv0: path.resolve(__dirname, "src/lv0.js"),
|
|
|
|
ruffle: path.resolve(__dirname, "src/index.js"),
|
2019-08-27 02:22:00 +00:00
|
|
|
},
|
2020-05-12 22:24:41 +00:00
|
|
|
output: {
|
2021-03-09 19:11:46 +00:00
|
|
|
path: path.resolve(__dirname, "build/dist/"),
|
2021-02-17 04:39:46 +00:00
|
|
|
publicPath: "",
|
2021-03-03 14:19:46 +00:00
|
|
|
clean: true,
|
2020-05-12 22:24:41 +00:00
|
|
|
},
|
2021-02-17 04:39:46 +00:00
|
|
|
module: {
|
|
|
|
rules: [
|
|
|
|
{
|
|
|
|
test: /\.wasm$/i,
|
|
|
|
use: ["file-loader"],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2020-05-26 18:11:48 +00:00
|
|
|
plugins: [
|
2021-03-04 20:59:10 +00:00
|
|
|
new CopyPlugin({
|
2021-03-09 19:11:46 +00:00
|
|
|
patterns: [
|
|
|
|
{
|
|
|
|
from: "manifest.json",
|
|
|
|
to: "..",
|
|
|
|
transform(content) {
|
|
|
|
const manifest = JSON.parse(content.toString());
|
|
|
|
const { version } = require("./package.json");
|
|
|
|
Object.assign(manifest, { version });
|
|
|
|
if (env.firefox) {
|
|
|
|
const id =
|
|
|
|
process.env.FIREFOX_EXTENSION_ID ||
|
|
|
|
"ruffle-player-extension@ruffle.rs";
|
|
|
|
Object.assign(manifest, {
|
|
|
|
browser_specific_settings: {
|
|
|
|
gecko: { id },
|
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
return JSON.stringify(manifest);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{ from: "LICENSE*" },
|
|
|
|
{ from: "README.md" },
|
|
|
|
],
|
2020-05-26 18:11:48 +00:00
|
|
|
}),
|
|
|
|
],
|
2020-05-12 22:24:41 +00:00
|
|
|
};
|
2019-08-20 04:29:53 +00:00
|
|
|
};
|