fix: browser specific packing (zip/crx/xpi) on build

This commit is contained in:
abhijithvijayan 2019-10-31 07:25:05 +05:30
parent 6ac2a747c8
commit f4fd3fb0e4

View File

@ -14,6 +14,16 @@ const manifestInput = require('./src/manifest');
const targetBrowser = process.env.TARGET_BROWSER;
const manifest = wextManifest[targetBrowser](manifestInput);
const getExtensionFileType = () => {
if (targetBrowser === 'opera') {
return 'crx';
}
if (targetBrowser === 'firefox') {
return 'xpi';
}
return 'zip';
};
module.exports = {
mode: 'development',
@ -35,7 +45,7 @@ module.exports = {
new CleanWebpackPlugin({
cleanOnceBeforeBuildPatterns: [
path.join(process.cwd(), `extension/${targetBrowser}`),
path.join(process.cwd(), `extension/${targetBrowser}.zip`),
path.join(process.cwd(), `extension/${targetBrowser}.${getExtensionFileType()}`),
],
cleanStaleWebpackAssets: false,
verbose: true,
@ -117,7 +127,8 @@ module.exports = {
}),
new ZipPlugin({
path: path.resolve(__dirname, 'extension'),
filename: `${targetBrowser}.zip`,
extension: `${getExtensionFileType()}`,
filename: `${targetBrowser}`,
}),
],
},