2017-01-23 17:33:09 +00:00
|
|
|
const path = require('path');
|
|
|
|
|
|
|
|
// get the path of the js-sdk so we can extend the config
|
|
|
|
// eslint supports loading extended configs by module,
|
|
|
|
// but only if they come from a module that starts with eslint-config-
|
|
|
|
// So we load the filename directly (and it could be in node_modules/
|
|
|
|
// or or ../node_modules/ etc)
|
2020-01-15 17:25:36 +00:00
|
|
|
//
|
|
|
|
// We add a `..` to the end because the js-sdk lives out of lib/, but the eslint
|
|
|
|
// config is at the project root.
|
|
|
|
const matrixJsSdkPath = path.join(path.dirname(require.resolve('matrix-js-sdk')), '..');
|
2017-01-23 17:33:09 +00:00
|
|
|
|
2017-01-20 14:08:14 +00:00
|
|
|
module.exports = {
|
2020-06-23 15:41:36 +00:00
|
|
|
extends: ["matrix-org", "matrix-org/react-legacy"],
|
2017-01-20 14:08:14 +00:00
|
|
|
parser: "babel-eslint",
|
2020-06-23 15:41:36 +00:00
|
|
|
|
2017-01-20 14:08:14 +00:00
|
|
|
env: {
|
2020-06-23 15:41:36 +00:00
|
|
|
browser: true,
|
|
|
|
node: true,
|
2017-01-20 14:08:14 +00:00
|
|
|
},
|
2020-06-23 15:41:36 +00:00
|
|
|
globals: {
|
|
|
|
LANGUAGES_FILE: "readonly",
|
2017-01-20 14:08:14 +00:00
|
|
|
},
|
|
|
|
rules: {
|
2020-06-23 15:41:36 +00:00
|
|
|
// Things we do that break the ideal style
|
|
|
|
"no-constant-condition": "off",
|
|
|
|
"prefer-promise-reject-errors": "off",
|
|
|
|
"no-async-promise-executor": "off",
|
|
|
|
"quotes": "off",
|
|
|
|
"indent": "off",
|
|
|
|
},
|
2017-01-20 14:08:14 +00:00
|
|
|
|
2020-06-23 15:41:36 +00:00
|
|
|
overrides: [{
|
|
|
|
files: ["src/**/*.{ts, tsx}"],
|
|
|
|
"extends": ["matrix-org/ts"],
|
|
|
|
"rules": {
|
|
|
|
// We disable this while we're transitioning
|
|
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
|
|
// We'd rather not do this but we do
|
|
|
|
"@typescript-eslint/ban-ts-comment": "off",
|
2019-10-07 15:52:50 +00:00
|
|
|
|
2020-06-23 15:41:36 +00:00
|
|
|
"quotes": "off",
|
|
|
|
}
|
|
|
|
}],
|
2017-01-20 14:08:14 +00:00
|
|
|
};
|