aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorn-peugnet <n.peugnet@free.fr>2019-11-07 14:02:13 +0100
committern-peugnet <n.peugnet@free.fr>2019-11-07 15:39:49 +0100
commitf43d03393babc939756c9f5581343913b02c7298 (patch)
tree5eb238837114fc3a05c9dcf258cf1108f6bc8047
parenta1a97e168a5d3c802f12e7351b13dab0a4f68db2 (diff)
downloadwcms-f43d03393babc939756c9f5581343913b02c7298.tar.gz
wcms-f43d03393babc939756c9f5581343913b02c7298.zip
build: ENV prod enhancements
- fix: prod mode not working with target-specific ENV variable - use another sourcemap mode in dev mode - generate souremap files in prod mode
-rw-r--r--.gitignore1
-rw-r--r--Makefile20
-rw-r--r--webpack.config.js2
3 files changed, 9 insertions, 14 deletions
diff --git a/.gitignore b/.gitignore
index fcacc73..49ce50d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
.vscode/*
.env
*.bundle.js
+*.bundle.js.map
assets/render/*
assets/global/*
database/*
diff --git a/Makefile b/Makefile
index 367ef81..0753357 100644
--- a/Makefile
+++ b/Makefile
@@ -7,6 +7,7 @@ GIT_VERSION := $(shell git --no-pager describe --always --tags)
js_sources := $(wildcard src/*.js)
js_bundles := $(js_sources:src/%.js=assets/js/%.bundle.js)
+js_srcmaps := $(js_sources:src/%.js=assets/js/%.bundle.js.map)
zip_release := dist/w_cms_$(GIT_VERSION).zip
all: vendor build
@@ -19,9 +20,9 @@ watch: node_modules
release:
release-it
-dist: ENV := prod
-dist: distclean $(zip_release)
+dist: distclean $(zip_release) $(js_srcmaps)
+dist/%: ENV := prod
dist/w_cms_%.zip: all
@echo "Building Zip release..."
mkdir -p $(dir $@)
@@ -42,25 +43,17 @@ dist/w_cms_%.zip: all
-x "*test*" \
-x "*docs*"
-assets/js/%.bundle.js: src/%.js node_modules
+assets/js/%.bundle.js assets/js/%.bundle.map: src/%.js node_modules
@echo "Building JS Bundles..."
mkdir -p $(dir $@)
-ifeq ($(ENV),prod)
- webpack $< -o $@ --env prod -p
-else
- webpack $< -o $@ --env dev
-endif
+ webpack $< -o $@ $(if $(filter $(ENV),prod),--env prod -p,--env dev)
.env:
cp .default.env .env
vendor: composer.json composer.lock
@echo "Installing PHP dependencies..."
-ifeq ($(ENV),prod)
- composer install --no-dev --prefer-dist
-else
- composer install
-endif
+ composer install $(if $(filter $(ENV),prod),--no-dev --prefer-dist,)
node_modules: package.json package-lock.json
@echo "Installing JS dependencies..."
@@ -78,5 +71,6 @@ distclean: buildclean
buildclean:
@echo "Cleaning build artifacts..."
rm -rf $(js_bundles)
+ rm -rf $(js_srcmaps)
.PHONY: all build watch release dist clean distclean buildclean
diff --git a/webpack.config.js b/webpack.config.js
index b4a445a..1293e7e 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -5,7 +5,7 @@ module.exports = (env) => {
return {
// Environment dependent
mode: env == 'dev' ? 'development' : 'production',
- devtool: env == 'dev' ? 'inline-source-map' : 'none',
+ devtool: env == 'dev' ? 'cheap-eval-source-map' : 'hidden-source-map',
stats: env == 'dev' ? {} : { warnings: false },
// Constant