Migrate to eslint-plugin-matrix-org

This migrates to the new plugin form of our custom ESLint configs. As part of
this, some packages are de-duplicated, configs streamlined, etc.
This commit is contained in:
J. Ryan Stinnett 2021-04-01 13:17:09 +01:00
parent 2d3163fef5
commit 71116bfa27
4 changed files with 208 additions and 634 deletions

View file

@ -1,7 +1,10 @@
module.exports = {
extends: ["matrix-org", "matrix-org/react-legacy"],
parser: "babel-eslint",
plugins: ["matrix-org"],
extends: [
"plugin:matrix-org/javascript",
"plugin:matrix-org/react",
],
parser: "@babel/eslint-parser",
env: {
browser: true,
node: true,
@ -15,12 +18,30 @@ module.exports = {
"prefer-promise-reject-errors": "off",
"no-async-promise-executor": "off",
"quotes": "off",
},
"no-extra-boolean-cast": "off",
// Bind or arrow functions in props causes performance issues (but we
// currently use them in some places).
// It's disabled here, but we should using it sparingly.
"react/jsx-no-bind": "off",
"react/jsx-key": ["error"],
},
overrides: [{
"files": ["src/**/*.{ts,tsx}", "test/**/*.{ts,tsx}"],
"extends": ["matrix-org/ts"],
"files": [
"src/**/*.{ts,tsx}",
"test/**/*.{ts,tsx}",
],
"extends": [
"plugin:matrix-org/typescript",
"plugin:matrix-org/react",
],
"rules": {
// Things we do that break the ideal style
"prefer-promise-reject-errors": "off",
"quotes": "off",
"indent": "off",
"no-extra-boolean-cast": "off",
// We're okay being explicit at the moment
"@typescript-eslint/no-empty-interface": "off",
// We disable this while we're transitioning
@ -28,8 +49,6 @@ module.exports = {
// We'd rather not do this but we do
"@typescript-eslint/ban-ts-comment": "off",
"quotes": "off",
"no-extra-boolean-cast": "off",
"no-restricted-properties": [
"error",
...buildRestrictedPropertiesOptions(