Our eslintrc extends from 'wikimedia/client' which includes a
'no-restricted-properties' ruleset from the 'not-es5.js' file [1].
However, we were also including our own 'no-restricted-properties'
rules.
ESLint handle this duplication by clobbering instead of merging
so eslint-config-wikimedia's no-restricted-properties where not taking
effect and we were losing out on some guards against using es6.
This commit corrects that and makes both no-restricted-properties
rulesets merge instead of clobber as already done in MobileFrontend [2]
[1] 07320f16ae/language/not-es5.js (L5)
[2] https://github.com/wikimedia/mediawiki-extensions-MobileFrontend/blob/master/.eslintshared.js
Bug: T239269
Change-Id: Ibc2c144be51719d71a4c1d5828486253a5d4bf5d
- Enable ESLint caching with `--cache` which presumably improves
performance.
- Forbid warnings by setting `--max-warnings` to zero. Code containing
warnings should not be committed. However, warnings are still an
exceptionally useful distinction to make from errors during
development. When hacking, we do not care if a comment exceeds the
maximum line length or if a trailing space is present but we do oh so
very much care if the linter detects a likely programming error such
as forgetting to initialize a constant. The former is a warning and
the latter is an error.
- Forbid unused lint directives by enabling
`--report-unused-disable-directives`. This setting prevents outdated
ESLint error waivers from littering the code.
There is a related pull request to move these settings to defaults in
eslint-config-wikimedia itself:
https://github.com/wikimedia/eslint-config-wikimedia/pull/82/files#diff-46af3d30ba7affc4adf37ef4c5382c39
Change-Id: If3c99ff7309eafb1ebefa4c4b451299b45db4e60
This exposes two broken tests:
* #setCount (Eastern Arabic numerals)
* clicking on the product of createBanner() should trigger a custom event
that were previously passing due to buggy assertions.
Change-Id: If18ad1ff9363fff65d3e347c01ce4bc0669b2a0e
stylelint is part of config, but not run by default
Also update to 0.4.1, it is the current default in many wmf extensions
Change-Id: I55f81489182628c088e362e081417514e252e6d6