Mercurial > kallithea
changeset 8254:4d36432bf705
eslint: install eslint with front-end so it can be run manually
eslint can be run manually on the main .js files with:
./node_modules/.bin/eslint kallithea/public/js/base.js kallithea/public/js/codemirror_loadmode.js kallithea/public/js/graph.js
- but it is quite noisy. Some problems do however stand out as relevant to fix.
Script sections in HTML files can also be checked after removing mako markup:
hg up -cr.
sed -i -e 's/\${[^{}]*\({[^{}]*}[^{}]*\)*}/""/g' -e 's/%\(if\|else\|endif\|for\|endfor\)\>.*//g' -e 's/##.*//g' $(hg loc 'kallithea/templates/**.html')
vim kallithea/templates/pullrequests/pullrequest.html +139 # blank out the multi line 'var url = ${}'
./node_modules/.bin/eslint $(hg loc 'kallithea/templates/**.html')
hg up -Cr.
- but that is even more noisy.
The noise is mainly due to eslint not knowing that everything runs together,
with kallithea/templates/base/root.html defining global variables,
kallithea/public/js/base.js using these and defining functions, which then is
used "everywhere". There might be solutions to that - this is a starting point.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sun, 16 Feb 2020 02:12:48 +0100 |
parents | f4e158ed49b1 |
children | 8c5f1d6d2b78 |
files | .eslintrc.js kallithea/front-end/package.json |
diffstat | 2 files changed, 22 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.eslintrc.js Sun Feb 16 02:12:48 2020 +0100 @@ -0,0 +1,21 @@ +module.exports = { + "env": { + "browser": true, + "es6": true, + "jquery": true + }, + "extends": "eslint:recommended", + "globals": { + "Atomics": "readonly", + "SharedArrayBuffer": "readonly" + }, + "parserOptions": { + "ecmaVersion": 2018, + "sourceType": "module" + }, + "plugins": [ + "html" + ], + "rules": { + } +};
--- a/kallithea/front-end/package.json Thu Jan 09 23:40:42 2020 +0100 +++ b/kallithea/front-end/package.json Sun Feb 16 02:12:48 2020 +0100 @@ -7,6 +7,7 @@ "codemirror": "5.49.0", "datatables.net": "1.10.20", "datatables.net-bs": "1.10.20", + "eslint": "6.8.0", "jquery": "3.4.1", "jquery.caret": "0.3.1", "jquery.flot": "0.8.3",