Downport "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: Ib0a6a57d373ada0b22d2030053ac696845059bc6
This commit is contained in:
Ole Rehmsen
2019-05-16 15:27:14 +02:00
committed by Thomas Draebing
parent 3665d2b190
commit ae106df68e
3 changed files with 15 additions and 7 deletions

View File

@@ -8,6 +8,7 @@
"eslint-config-google": "^0.13.0", "eslint-config-google": "^0.13.0",
"eslint-plugin-html": "^5.0.5", "eslint-plugin-html": "^5.0.5",
"fried-twinkie": "^0.2.2", "fried-twinkie": "^0.2.2",
"polylint": "^2.10.4",
"typescript": "^2.x.x", "typescript": "^2.x.x",
"web-component-tester": "^6.5.0" "web-component-tester": "^6.5.0"
}, },
@@ -15,7 +16,8 @@
"start": "polygerrit-ui/run-server.sh", "start": "polygerrit-ui/run-server.sh",
"test": "WCT_HEADLESS_MODE=1 WCT_ARGS='--verbose -l chrome' ./polygerrit-ui/app/run_test.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", "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": { "repository": {
"type": "git", "type": "git",

View File

@@ -28,7 +28,6 @@ dependencies can be installed with:
```sh ```sh
npm install npm install
sudo npm install -g polylint
``` ```
It may complain about a missing `typescript@2.3.4` peer dependency, which is It may complain about a missing `typescript@2.3.4` peer dependency, which is
@@ -173,6 +172,13 @@ To run polylint, execute the following command.
```sh ```sh
bazel test //polygerrit-ui/app:polylint_test bazel test //polygerrit-ui/app:polylint_test
``` ```
or
```sh
npm run polylint
```
## Template Type Safety ## 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 additional tests to help ensure that template types are checked. 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 additional tests to help ensure that template types are checked.

View File

@@ -8,13 +8,13 @@ if [[ -z "$npm_bin" ]]; then
exit 1 exit 1
fi fi
polylint_bin=$(which polylint) npx_bin=$(which npx)
if [[ -z "$polylint_bin" ]]; then if [[ -z "$npx_bin" ]]; then
echo "You must install polylint and its dependencies from NPM." echo "NPX must be on the path."
echo "> npm install -g polylint" echo "> npm i -g npx"
exit 1 exit 1
fi fi
unzip -o polygerrit-ui/polygerrit_components.bower_components.zip -d polygerrit-ui/app 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