diff --git a/.gitignore b/.gitignore index 069dfd35..9e08e2a4 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 f81b4e1d..5796ae66 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 cb079a75..a786eda6 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 c2658d7d..49e0fc6b 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 00000000..49e0fc6b --- /dev/null +++ b/searx/static/themes/simple/.gitignore @@ -0,0 +1,2 @@ +/node_modules +/package-lock.json \ No newline at end of file