@swissquote/eslint-plugin-swissquote
Version:
- Provide a style guide for your JavaScript - Warns on common mistakes in JavaScript - Works with EcmaScript 2015+
60 lines (50 loc) • 1.73 kB
JavaScript
const {
createTypeScriptImportResolver
} = require("../dist/eslint-import-resolver-typescript/index_lib.js");
const { warn } = require("./utils");
const typescriptParserPath = require.resolve(
"../packages/typescript-eslint_parser.js"
);
// EcmaScript 6 specific configuration
module.exports = {
files: ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"],
languageOptions: {
parser: require(typescriptParserPath)
},
/*parserOptions: {
ecmaVersion: 2018,
sourceType: "module",
ecmaFeatures: {
jsx: true
},
// TODO: Figure out what's needed to get this to work properly
// project: true
// typescript-eslint specific options
//warnOnUnsupportedTypeScriptVersion: true
},*/
settings: {
"import-x/parsers": {
[typescriptParserPath]: [".ts", ".tsx", ".mts", ".cts"]
},
"import-x/resolver-next": [
// use <root>/tsconfig.json
createTypeScriptImportResolver({
alwaysTryTypes: true // always try to resolve types under `<roo/>@types` directory even it doesn't contain any source code, like `@types/unist`
})
]
},
rules: {
// Disable all the rules from @typescript-eslint that are handled by Prettier
...require("../packages/eslint-config-prettier").rules,
// Disable all the rules from ESLint that are handled by @typescript-eslint
...require("../packages/typescript-eslint.js").configs.eslintRecommended
.rules,
"prettier/prettier": [warn(), { parser: "typescript" }],
// Has a TypeScript replacement
"no-array-constructor": "off",
"@typescript-eslint/no-array-constructor": warn()
},
plugins: {
"@typescript-eslint": require("../packages/typescript-eslint.js").plugin
}
};