2017-01-23 22:22:54 +08:00
|
|
|
module.exports = {
|
2021-06-30 20:24:16 +08:00
|
|
|
plugins: ["matrix-org"],
|
|
|
|
extends: [
|
|
|
|
"plugin:matrix-org/babel",
|
|
|
|
"plugin:matrix-org/react",
|
|
|
|
],
|
2021-06-30 20:19:04 +08:00
|
|
|
env: {
|
|
|
|
browser: true,
|
|
|
|
node: true,
|
2020-07-21 18:30:28 +08:00
|
|
|
},
|
2021-06-30 20:19:04 +08:00
|
|
|
rules: {
|
2021-06-30 20:24:16 +08:00
|
|
|
// Things we do that break the ideal style
|
2020-07-21 18:30:28 +08:00
|
|
|
"quotes": "off",
|
|
|
|
},
|
2022-03-17 03:50:12 +08:00
|
|
|
settings: {
|
|
|
|
react: {
|
2022-10-13 16:22:34 +08:00
|
|
|
version: 'detect',
|
|
|
|
},
|
2022-03-17 03:50:12 +08:00
|
|
|
},
|
2021-06-30 20:19:04 +08:00
|
|
|
overrides: [{
|
2022-10-13 16:22:34 +08:00
|
|
|
files: [
|
|
|
|
"src/**/*.{ts,tsx}",
|
|
|
|
"test/**/*.{ts,tsx}",
|
|
|
|
"module_system/**/*.{ts,tsx}",
|
|
|
|
],
|
2021-06-30 20:24:16 +08:00
|
|
|
extends: [
|
|
|
|
"plugin:matrix-org/typescript",
|
|
|
|
"plugin:matrix-org/react",
|
|
|
|
],
|
2022-08-09 22:15:36 +08:00
|
|
|
// 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/
|
2021-06-30 20:19:04 +08:00
|
|
|
rules: {
|
2021-06-30 20:24:16 +08:00
|
|
|
// Things we do that break the ideal style
|
|
|
|
"prefer-promise-reject-errors": "off",
|
2020-07-21 18:30:28 +08:00
|
|
|
"quotes": "off",
|
2021-06-30 20:24:16 +08:00
|
|
|
|
|
|
|
// We disable this while we're transitioning
|
2020-07-21 18:30:28 +08:00
|
|
|
"@typescript-eslint/no-explicit-any": "off",
|
2022-05-30 22:43:56 +08:00
|
|
|
// We're okay with assertion errors when we ask for them
|
|
|
|
"@typescript-eslint/no-non-null-assertion": "off",
|
2022-03-02 03:26:22 +08: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 18:30:28 +08:00
|
|
|
},
|
2022-11-24 00:24:36 +08: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",
|
|
|
|
},
|
2020-07-21 18:30:28 +08:00
|
|
|
}],
|
2020-07-29 19:05:50 +08:00
|
|
|
};
|