add 'npm' and 'npm-update' make targets and lockfile (#7246)
* add 'npm' and 'npm-update' make targets and lockfile - `make npm` installs and updates node_modules, triggered automatically on `make css` and `make js` as it completes reasonably fast and ensures consistent modules. - `make npm-update` updates all dependencies to their latest version, regenerates `node_modules` from scratch and updates `package-lock.json`. It uses npm modules `updates` written by yours truly to find the latest version of each dependency. * add suggested make dependencies * remove package-lock.json during npm-update * regenerate package-lock.json
This commit is contained in:
parent
33ad554800
commit
a71cabbd53
7 changed files with 4913 additions and 36 deletions
|
@ -52,7 +52,6 @@ pipeline:
|
|||
image: webhippie/nodejs:latest
|
||||
pull: true
|
||||
commands:
|
||||
- npm install
|
||||
- make css
|
||||
- make js
|
||||
when:
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -67,7 +67,6 @@ coverage.all
|
|||
/node_modules
|
||||
/modules/indexer/issues/indexers
|
||||
routers/repo/authorized_keys
|
||||
/package-lock.json
|
||||
/yarn.lock
|
||||
|
||||
# Snapcraft
|
||||
|
|
1
.npmrc
1
.npmrc
|
@ -1,2 +1 @@
|
|||
package-lock=false
|
||||
save-exact=true
|
||||
|
|
33
Makefile
33
Makefile
|
@ -366,29 +366,32 @@ release-compress:
|
|||
fi
|
||||
cd $(DIST)/release/; for file in `find . -type f -name "*"`; do echo "compressing $${file}" && gxz -k -9 $${file}; done;
|
||||
|
||||
.PHONY: js
|
||||
js:
|
||||
@if ([ ! -d "$(PWD)/node_modules" ]); then \
|
||||
echo "node_modules directory is absent, please run 'npm install' first"; \
|
||||
npm-check:
|
||||
@hash npm > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
||||
echo "Please install Node.js 8.x or greater with npm"; \
|
||||
exit 1; \
|
||||
fi;
|
||||
@hash npx > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
||||
echo "Please install npm version 5.2+"; \
|
||||
echo "Please install Node.js 8.x or greater with npm"; \
|
||||
exit 1; \
|
||||
fi;
|
||||
|
||||
.PHONY: npm
|
||||
npm: npm-check
|
||||
npm install --no-save
|
||||
|
||||
.PHONY: npm-update
|
||||
npm-update: npm-check
|
||||
npx updates -cu
|
||||
rm -rf node_modules package-lock.json
|
||||
npm install --package-lock
|
||||
|
||||
.PHONY: js
|
||||
js: npm
|
||||
npx eslint public/js
|
||||
|
||||
.PHONY: css
|
||||
css:
|
||||
@if ([ ! -d "$(PWD)/node_modules" ]); then \
|
||||
echo "node_modules directory is absent, please run 'npm install' first"; \
|
||||
exit 1; \
|
||||
fi;
|
||||
@hash npx > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
||||
echo "Please install npm version 5.2+"; \
|
||||
exit 1; \
|
||||
fi;
|
||||
|
||||
css: npm
|
||||
npx lesshint public/less/
|
||||
npx lessc --clean-css="--s0 -b" public/less/index.less public/css/index.css
|
||||
$(foreach file, $(filter-out public/less/themes/_base.less, $(wildcard public/less/themes/*)),npx lessc --clean-css="--s0 -b" public/less/themes/$(notdir $(file)) > public/css/theme-$(notdir $(call strip-suffix,$(file))).css;)
|
||||
|
|
|
@ -138,14 +138,7 @@ make vet lint misspell-check
|
|||
|
||||
### Updating CSS
|
||||
|
||||
To generate the CSS, you will need [Node.js](https://nodejs.org/) 8.0 or greater and the build dependencies:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
At present we use [less](http://lesscss.org/) and [postcss](https://postcss.org) to generate our CSS. Do
|
||||
**not** edit the files in `public/css` directly, as they are generated from `lessc` from the files in `public/less`.
|
||||
To generate the CSS, you will need [Node.js](https://nodejs.org/) 8.0 or greater with npm. At present we use [less](http://lesscss.org/) and [postcss](https://postcss.org) to generate our CSS. Do **not** edit the files in `public/css` directly, as they are generated from `lessc` from the files in `public/less`.
|
||||
|
||||
Edit files in `public/less`, run the linter, regenerate the CSS and commit all changed files:
|
||||
|
||||
|
@ -155,13 +148,7 @@ make css
|
|||
|
||||
### Updating JS
|
||||
|
||||
To run the JavaScript linter you will need [Node.js](https://nodejs.org/) 8.0 or greater and the build dependencies:
|
||||
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
Edit files in `public/js` and run the linter:
|
||||
To run the JavaScript linter you will need [Node.js](https://nodejs.org/) 8.0 or greater with npm. Edit files in `public/js` and run the linter:
|
||||
|
||||
```bash
|
||||
make js
|
||||
|
|
4889
package-lock.json
generated
Normal file
4889
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"autoprefixer": "9.5.1",
|
||||
"autoprefixer": "9.6.0",
|
||||
"eslint": "5.16.0",
|
||||
"less": "3.9.0",
|
||||
"less-plugin-clean-css": "1.5.1",
|
||||
"lesshint": "6.3.6",
|
||||
"postcss-cli": "6.1.2"
|
||||
"postcss-cli": "6.1.2",
|
||||
"updates": "8.1.0"
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
|
|
Reference in a new issue