From d471ec86dd72cfae80bdaf72b1ed266b1a8cada7 Mon Sep 17 00:00:00 2001 From: Markus Heiser Date: Wed, 25 Mar 2020 16:38:52 +0100 Subject: [PATCH] Makefile: add target node.env - download & install npm dependencies Signed-off-by: Markus Heiser --- .gitignore | 3 ++- Makefile | 23 ++++++++++++++++++++--- docs/dev/quickstart.rst | 2 +- searx/static/themes/oscar/.gitignore | 3 ++- searx/static/themes/simple/.gitignore | 2 ++ 5 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 searx/static/themes/simple/.gitignore diff --git a/.gitignore b/.gitignore index 069dfd35b..9e08e2a47 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,8 @@ setup.cfg */*.pyc *~ -node_modules/ +/node_modules +/package-lock.json .tx/ diff --git a/Makefile b/Makefile index f81b4e1de..5796ae668 100644 --- a/Makefile +++ b/Makefile @@ -30,6 +30,7 @@ help: @echo ' project - re-build generic files of the searx project' @echo ' themes - re-build build the source of the themes' @echo ' docker - build Docker image' + @echo ' node.env - download & install npm dependencies locally' @echo '' @$(MAKE) -s -f utils/makefile.include make-help @echo '' @@ -42,7 +43,7 @@ PHONY += uninstall uninstall: pyenvuninstall PHONY += clean -clean: pyclean +clean: pyclean node.clean $(call cmd,common_clean) PHONY += run @@ -89,6 +90,22 @@ searx.brand: $(Q)echo "DOCS_URL = '$(DOCS_URL)'" >> 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 # ------------ @@ -97,11 +114,11 @@ themes: themes.oscar themes.simple themes.oscar: $(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: $(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 # ------ diff --git a/docs/dev/quickstart.rst b/docs/dev/quickstart.rst index cb079a753..a786eda63 100644 --- a/docs/dev/quickstart.rst +++ b/docs/dev/quickstart.rst @@ -98,7 +98,7 @@ NodeJS, so first Node has to be installed. .. code:: sh 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: diff --git a/searx/static/themes/oscar/.gitignore b/searx/static/themes/oscar/.gitignore index c2658d7d1..49e0fc6b4 100644 --- a/searx/static/themes/oscar/.gitignore +++ b/searx/static/themes/oscar/.gitignore @@ -1 +1,2 @@ -node_modules/ +/node_modules +/package-lock.json \ No newline at end of file diff --git a/searx/static/themes/simple/.gitignore b/searx/static/themes/simple/.gitignore new file mode 100644 index 000000000..49e0fc6b4 --- /dev/null +++ b/searx/static/themes/simple/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/package-lock.json \ No newline at end of file