Makefile: add target node.env - download & install npm dependencies

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2020-03-25 16:38:52 +01:00
parent 2d12f221a7
commit d471ec86dd
5 changed files with 27 additions and 6 deletions

3
.gitignore vendored
View file

@ -15,7 +15,8 @@ setup.cfg
*/*.pyc */*.pyc
*~ *~
node_modules/ /node_modules
/package-lock.json
.tx/ .tx/

View file

@ -30,6 +30,7 @@ help:
@echo ' project - re-build generic files of the searx project' @echo ' project - re-build generic files of the searx project'
@echo ' themes - re-build build the source of the themes' @echo ' themes - re-build build the source of the themes'
@echo ' docker - build Docker image' @echo ' docker - build Docker image'
@echo ' node.env - download & install npm dependencies locally'
@echo '' @echo ''
@$(MAKE) -s -f utils/makefile.include make-help @$(MAKE) -s -f utils/makefile.include make-help
@echo '' @echo ''
@ -42,7 +43,7 @@ PHONY += uninstall
uninstall: pyenvuninstall uninstall: pyenvuninstall
PHONY += clean PHONY += clean
clean: pyclean clean: pyclean node.clean
$(call cmd,common_clean) $(call cmd,common_clean)
PHONY += run PHONY += run
@ -89,6 +90,22 @@ searx.brand:
$(Q)echo "DOCS_URL = '$(DOCS_URL)'" >> searx/brand.py $(Q)echo "DOCS_URL = '$(DOCS_URL)'" >> searx/brand.py
$(Q)echo "PUBLIC_INSTANCES = 'https://searx.space'" >> searx/brand.py $(Q)echo "PUBLIC_INSTANCES = 'https://searx.space'" >> searx/brand.py
# node / npm
# ----------
node.env:
$(Q)./manage.sh npm_packages
node.clean:
$(Q)echo "CLEAN locally installed npm dependencies"
$(Q)rm -rf \
./node_modules \
./package-lock.json \
./searx/static/themes/oscar/package-lock.json \
./searx/static/themes/oscar/node_modules \
./searx/static/themes/simple/package-lock.json \
./searx/static/themes/simple/node_modules
# build themes # build themes
# ------------ # ------------
@ -97,11 +114,11 @@ themes: themes.oscar themes.simple
themes.oscar: themes.oscar:
$(Q)echo '[!] Grunt build : oscar theme' $(Q)echo '[!] Grunt build : oscar theme'
$(Q)grunt --gruntfile "searx/static/themes/oscar/gruntfile.js" $(Q)PATH="$$(npm bin):$$PATH" grunt --gruntfile "searx/static/themes/oscar/gruntfile.js"
themes.simple: themes.simple:
$(Q)echo '[!] Grunt build : simple theme' $(Q)echo '[!] Grunt build : simple theme'
$(Q)grunt --gruntfile "searx/static/themes/simple/gruntfile.js" $(Q)PATH="$$(npm bin):$$PATH" grunt --gruntfile "searx/static/themes/simple/gruntfile.js"
# docker # docker
# ------ # ------

View file

@ -98,7 +98,7 @@ NodeJS, so first Node has to be installed.
.. code:: sh .. code:: sh
sudo -H apt-get install nodejs sudo -H apt-get install nodejs
sudo -H npm install -g grunt-cli make node.env
After installing grunt, the files can be built using the following command: After installing grunt, the files can be built using the following command:

View file

@ -1 +1,2 @@
node_modules/ /node_modules
/package-lock.json

2
searx/static/themes/simple/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
/node_modules
/package-lock.json