From 22cf2fa22e770db1454ea86135fa62f01e8b5c2c Mon Sep 17 00:00:00 2001 From: Tom Berghuis Date: Sun, 24 Feb 2019 20:06:04 +1100 Subject: [PATCH] Remove eval from production builds --- package.json | 1 + webpack.config.js | 11 +++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 37e423d..9e23d54 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "description": "A boilerplate to chrome extension with webpack", "scripts": { "build": "node utils/build.js", + "build-prod": "NODE_ENV=production node utils/build.js", "start": "node utils/webserver.js" }, "dependencies": { diff --git a/webpack.config.js b/webpack.config.js index 7ad8edb..31871e5 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -29,6 +29,9 @@ var options = { path: path.join(__dirname, "build"), filename: "[name].bundle.js" }, + optimization: { + minimize: false // <---- disables uglify. + }, module: { rules: [ { @@ -66,11 +69,15 @@ var options = { from: "src/manifest.json", transform: function (content, path) { // generates the manifest file using the package.json informations - return Buffer.from(JSON.stringify({ + var manifest = { description: process.env.npm_package_description, version: process.env.npm_package_version, ...JSON.parse(content.toString()) - })) + }; + if (env.NODE_ENV === 'production') { + delete manifest.content_security_policy; + } + return Buffer.from(JSON.stringify(manifest)); } }]), new HtmlWebpackPlugin({