Simplify installing / running polylint

Install it locally (to avoid version clashes) and then run it with npx (which
finds the locally installed package even when it's not on the path).

Change-Id: I65e35042ae49b9fb0bbe6fd6fba723f8edda8584
This commit is contained in:
Ole Rehmsen
2019-05-16 15:27:14 +02:00
parent ca7b5abba0
commit 61c8e665b4
3 changed files with 15 additions and 7 deletions

View File

@@ -8,6 +8,7 @@
"eslint-config-google": "^0.13.0",
"eslint-plugin-html": "^5.0.5",
"fried-twinkie": "^0.2.2",
"polylint": "^2.10.4",
"typescript": "^2.x.x",
"web-component-tester": "^6.5.0"
},
@@ -15,7 +16,8 @@
"start": "polygerrit-ui/run-server.sh",
"test": "WCT_HEADLESS_MODE=1 WCT_ARGS='--verbose -l chrome' ./polygerrit-ui/app/run_test.sh",
"eslint": "./node_modules/eslint/bin/eslint.js --ignore-pattern 'bower_components/' --ignore-pattern 'gr-linked-text' --ignore-pattern 'scripts/vendor' --ext .html,.js polygerrit-ui/app || exit 0",
"test-template": "./polygerrit-ui/app/run_template_test.sh"
"test-template": "./polygerrit-ui/app/run_template_test.sh",
"polylint": "bazel test polygerrit-ui/app:polylint_test"
},
"repository": {
"type": "git",

View File

@@ -32,7 +32,6 @@ dependencies can be installed with:
```sh
npm install
sudo npm install -g polylint
```
It may complain about a missing `typescript@2.3.4` peer dependency, which is
@@ -175,6 +174,13 @@ To run polylint, execute the following command.
```sh
bazel test //polygerrit-ui/app:polylint_test
```
or
```sh
npm run polylint
```
## Template Type Safety
Polymer elements are not type checked against the element definition, making it
trivial to break the display when refactoring or moving code. We now run

View File

@@ -8,13 +8,13 @@ if [[ -z "$npm_bin" ]]; then
exit 1
fi
polylint_bin=$(which polylint)
if [[ -z "$polylint_bin" ]]; then
echo "You must install polylint and its dependencies from NPM."
echo "> npm install -g polylint"
npx_bin=$(which npx)
if [[ -z "$npx_bin" ]]; then
echo "NPX must be on the path."
echo "> npm i -g npx"
exit 1
fi
unzip -o polygerrit-ui/polygerrit_components.bower_components.zip -d polygerrit-ui/app
${polylint_bin} --root polygerrit-ui/app --input elements/gr-app.html --b 'bower_components'
npx polylint --root polygerrit-ui/app --input elements/gr-app.html --b 'bower_components' --verbose