Files
fx_cast/ext/build.js
2018-11-28 20:33:36 +00:00

53 lines
1.3 KiB
JavaScript

const fs = require("fs-extra");
const path = require("path");
const { spawn } = require("child_process");
const minimist = require("minimist");
const argv = minimist(process.argv.slice(2), {
boolean: [ "package", "watch" ]
, string: [ "mirroringAppId", "mode" ]
, default: {
package: false
, watch: false
, mirroringAppId: "19A6F4AE"
, mode: "development"
}
});
if (argv.package) {
argv.mode = "production";
argv.watch = false;
}
const extensionName = "fx_cast";
const extensionId = "fx_cast@matt.tf";
const extensionVersion = "0.0.1";
// Clean
fs.removeSync(path.join(__dirname, "../dist/ext/"));
const child = spawn(
`webpack --env.extensionName=${extensionName} `
+ `--env.extensionId=${extensionId} `
+ `--env.extensionVersion=${extensionVersion} `
+ `--env.mirroringAppId=${argv.mirroringAppId} `
+ `--mode=${argv.mode} `
+ `${argv.watch ? "--watch" : ""} && `
+ `web-ext build --overwrite-dest `
+ `--source-dir ../dist/ext/unpacked `
+ `--artifacts-dir ../dist/ext `
, { shell: true }
);
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);
child.on("exit", () => {
if (argv.package) {
fs.remove(path.join(__dirname, "../dist/ext/unpacked"));
}
});