#!/usr/bin/make -f

# Modules that webpack has to resolve by name.  Debian keeps them in
# /usr/share/nodejs, but webpack resolves from the source tree, so they are
# linked into node_modules below (see debian/README.source).
NODE_MODULES = \
	@babel/core @babel/preset-env @babel/preset-react \
	@babel/plugin-transform-runtime @babel/runtime \
	@benrbray/prosemirror-math @fluent/bundle @fluent/react @svgr/webpack \
	autoprefixer babel-loader classnames css-loader html-webpack-plugin \
	katex markdown-it mini-css-extract-plugin \
	postcss postcss-loader postcss-rtlcss \
	prosemirror-commands prosemirror-dropcursor prosemirror-gapcursor \
	prosemirror-history prosemirror-inputrules prosemirror-keymap \
	prosemirror-markdown prosemirror-model prosemirror-schema-basic \
	prosemirror-schema-list prosemirror-state prosemirror-tables \
	prosemirror-transform prosemirror-utils prosemirror-view \
	react react-dom sass sass-loader terser-webpack-plugin webpack webpack-cli

%:
	dh $@

override_dh_auto_configure:

override_dh_auto_build:
	mkdir -p node_modules
	for d in @babel @benrbray @fluent @svgr; do mkdir -p node_modules/$$d; done
	for m in $(NODE_MODULES); do \
	  if [ -e /usr/share/nodejs/$$m ]; then \
	    ln -sf /usr/share/nodejs/$$m node_modules/$$m; \
	  else \
	    echo "zotero-note-editor: build dependency module missing: $$m" >&2; exit 1; \
	  fi; \
	done
	# webpack.zotero-locale-plugin.js downloads the locale files over the
	# network unless locales/.signature already names the requested commit, so
	# they are shipped in debian/locales (see debian/README.source).
	cp -a debian/locales .
	# Upstream's build:zotero script is "webpack --node-env production", an
	# option that webpack-cli 7 in Debian does not have; NODE_ENV is the
	# equivalent.
	NODE_ENV=production webpack --config-name zotero

override_dh_auto_test:

override_dh_auto_install:

override_dh_clean:
	dh_clean
	rm -rf build node_modules locales
