2017-01-23 17:22:54 +03:00
|
|
|
module.exports = {
|
2021-06-30 15:24:16 +03:00
|
|
|
plugins: ["matrix-org"],
|
2022-12-09 15:28:29 +03:00
|
|
|
extends: ["plugin:matrix-org/babel", "plugin:matrix-org/react"],
|
2023-03-01 17:44:03 +03:00
|
|
|
parserOptions: {
|
|
|
|
project: ["./tsconfig.json"],
|
|
|
|
},
|
2021-06-30 15:19:04 +03:00
|
|
|
env: {
|
|
|
|
browser: true,
|
|
|
|
node: true,
|
2020-07-21 13:30:28 +03:00
|
|
|
},
|
2021-06-30 15:19:04 +03:00
|
|
|
rules: {
|
2021-06-30 15:24:16 +03:00
|
|
|
// Things we do that break the ideal style
|
2022-12-09 15:28:29 +03:00
|
|
|
quotes: "off",
|
2020-07-21 13:30:28 +03:00
|
|
|
},
|
2022-03-16 22:50:12 +03:00
|
|
|
settings: {
|
|
|
|
react: {
|
2022-12-09 15:28:29 +03:00
|
|
|
version: "detect",
|
2022-10-13 11:22:34 +03:00
|
|
|
},
|
2022-03-16 22:50:12 +03:00
|
|
|
},
|
2022-12-09 15:28:29 +03:00
|
|
|
overrides: [
|
|
|
|
{
|
2023-09-08 12:33:57 +03:00
|
|
|
files: ["src/**/*.{ts,tsx}", "test/**/*.{ts,tsx}", "scripts/*.ts"],
|
2022-12-09 15:28:29 +03:00
|
|
|
extends: ["plugin:matrix-org/typescript", "plugin:matrix-org/react"],
|
|
|
|
// NOTE: These rules are frozen and new rules should not be added here.
|
|
|
|
// New changes belong in https://github.com/matrix-org/eslint-plugin-matrix-org/
|
|
|
|
rules: {
|
|
|
|
// Things we do that break the ideal style
|
|
|
|
"prefer-promise-reject-errors": "off",
|
|
|
|
"quotes": "off",
|
2021-06-30 15:24:16 +03:00
|
|
|
|
2022-12-09 15:28:29 +03:00
|
|
|
// We disable this while we're transitioning
|
|
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
|
|
// We're okay with assertion errors when we ask for them
|
|
|
|
"@typescript-eslint/no-non-null-assertion": "off",
|
2022-03-01 22:26:22 +03:00
|
|
|
|
2022-12-09 15:28:29 +03:00
|
|
|
// Ban matrix-js-sdk/src imports in favour of matrix-js-sdk/src/matrix imports to prevent unleashing hell.
|
|
|
|
"no-restricted-imports": [
|
|
|
|
"error",
|
|
|
|
{
|
|
|
|
paths: [
|
|
|
|
{
|
|
|
|
name: "matrix-js-sdk",
|
|
|
|
message: "Please use matrix-js-sdk/src/matrix instead",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "matrix-js-sdk/",
|
|
|
|
message: "Please use matrix-js-sdk/src/matrix instead",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "matrix-js-sdk/src",
|
|
|
|
message: "Please use matrix-js-sdk/src/matrix instead",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "matrix-js-sdk/src/",
|
|
|
|
message: "Please use matrix-js-sdk/src/matrix instead",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "matrix-js-sdk/src/index",
|
|
|
|
message: "Please use matrix-js-sdk/src/matrix instead",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "matrix-react-sdk",
|
|
|
|
message: "Please use matrix-react-sdk/src/index instead",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: "matrix-react-sdk/",
|
|
|
|
message: "Please use matrix-react-sdk/src/index instead",
|
|
|
|
},
|
|
|
|
],
|
|
|
|
patterns: [
|
|
|
|
{
|
|
|
|
group: ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"],
|
|
|
|
message: "Please use matrix-js-sdk/src/* instead",
|
|
|
|
},
|
|
|
|
{
|
|
|
|
group: ["matrix-react-sdk/lib", "matrix-react-sdk/lib/", "matrix-react-sdk/lib/**"],
|
|
|
|
message: "Please use matrix-react-sdk/src/* instead",
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2020-07-21 13:30:28 +03:00
|
|
|
},
|
2022-12-09 15:28:29 +03:00
|
|
|
{
|
|
|
|
files: ["test/**/*.{ts,tsx}"],
|
|
|
|
rules: {
|
|
|
|
// We don't need super strict typing in test utilities
|
|
|
|
"@typescript-eslint/explicit-function-return-type": "off",
|
|
|
|
"@typescript-eslint/explicit-member-accessibility": "off",
|
2023-04-25 11:36:17 +03:00
|
|
|
"@typescript-eslint/ban-ts-comment": "off",
|
2022-12-09 15:28:29 +03:00
|
|
|
},
|
2022-11-23 19:24:36 +03:00
|
|
|
},
|
2022-12-09 15:28:29 +03:00
|
|
|
],
|
2020-07-29 14:05:50 +03:00
|
|
|
};
|