From f43d03393babc939756c9f5581343913b02c7298 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Thu, 7 Nov 2019 14:02:13 +0100 Subject: 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 --- .gitignore | 1 + Makefile | 20 +++++++------------- webpack.config.js | 2 +- 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 -- cgit v1.2.3