summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormokha <mokha@cisco.com>2018-09-29 09:52:31 -0600
committermokha <mokha@cisco.com>2018-09-29 09:52:31 -0600
commita6235c463c6b6ac42bcf4ae6568be0687a59538d (patch)
tree725a793abdfffacd1bbe5d0f10b2aec74fad2bde
parentfb63e5f976598dd23c0007497c201bd3f194c2ba (diff)
clean the target dir before building
-rw-r--r--package-lock.json9
-rw-r--r--package.json1
-rw-r--r--webpack.config.js2
-rw-r--r--webpack.parts.js5
4 files changed, 17 insertions, 0 deletions
diff --git a/package-lock.json b/package-lock.json
index 5590e29..f1e24e5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1885,6 +1885,15 @@
"source-map": "0.5.x"
}
},
+ "clean-webpack-plugin": {
+ "version": "0.1.19",
+ "resolved": "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-0.1.19.tgz",
+ "integrity": "sha512-M1Li5yLHECcN2MahoreuODul5LkjohJGFxLPTjl3j1ttKrF5rgjZET1SJduuqxLAuT1gAPOdkhg03qcaaU1KeA==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^2.6.1"
+ }
+ },
"cli-cursor": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
diff --git a/package.json b/package.json
index 68ca4d1..95af9fb 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
"babel-loader": "^8.0.4",
"babel-plugin-syntax-dynamic-import": "^6.18.0",
"babel-preset-env": "^1.7.0",
+ "clean-webpack-plugin": "^0.1.19",
"css-loader": "^1.0.0",
"file-loader": "^2.0.0",
"glob": "^7.1.3",
diff --git a/webpack.config.js b/webpack.config.js
index f6b1a93..05bc7cd 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -6,6 +6,7 @@ const parts = require('./webpack.parts');
const PATHS = {
app: path.join(__dirname, "src"),
+ build: path.join(__dirname, "dist"),
};
const commonConfig = merge([
@@ -19,6 +20,7 @@ const commonConfig = merge([
parts.loadJavaScript({ include: PATHS.app }),
]);
const productionConfig = merge([
+ parts.clean(PATHS.build),
parts.generateSourceMaps({ type: 'source-map' }),
parts.extractCSS({
use: ["css-loader", parts.autoprefix()]
diff --git a/webpack.parts.js b/webpack.parts.js
index 347421d..8e19318 100644
--- a/webpack.parts.js
+++ b/webpack.parts.js
@@ -1,5 +1,6 @@
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const PurifyCSSPlugin = require('purifycss-webpack');
+const CleanWebpackPlugin = require('clean-webpack-plugin');
exports.extractCSS = ({ include, exclude, use = [] }) => {
const plugin = new MiniCssExtractPlugin({
@@ -93,3 +94,7 @@ exports.loadJavaScript = ({ include, exclude } = {}) => (
exports.generateSourceMaps = ({ type }) => ({
devtool: type,
});
+
+exports.clean = path => ({
+ plugins: [new CleanWebpackPlugin([path])],
+});