module.exports = { plugins: ["matrix-org"], extends: ["./.eslintrc.js"], parserOptions: { project: ["./tsconfig.module_system.json"], }, overrides: [ { files: ["module_system/**/*.{ts,tsx}"], 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", // 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", // 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", }, ], patterns: [ { group: ["matrix-js-sdk/lib", "matrix-js-sdk/lib/", "matrix-js-sdk/lib/**"], message: "Please use matrix-js-sdk/src/* instead", }, ], }, ], }, }, ], };