diff --git a/.eslintrc.back.typescript.js b/.eslintrc.back.typescript.js index 78ba988d96..ef8ba60be2 100644 --- a/.eslintrc.back.typescript.js +++ b/.eslintrc.back.typescript.js @@ -2,11 +2,11 @@ module.exports = { parser: '@typescript-eslint/parser', + parserOptions: { + project: './tsconfig.eslint.json', + }, plugins: ['@typescript-eslint'], - /** - * TODO: this should extend @strapi/eslint-config/typescript but doing so requires configuring parserOption.project, which requires tsconfig.json configuration - */ - // extends: ['plugin:@typescript-eslint/recommended'], + extends: ['@strapi/eslint-config/typescript'], globals: { strapi: false, }, @@ -14,5 +14,10 @@ module.exports = { rules: { ...require('./.eslintrc.back.js').rules, 'import/no-extraneous-dependencies': ['error', { devDependencies: ['**/*.test.ts'] }], + // TODO: The following rules from @strapi/eslint-config/typescript are disabled because they require praserOptions.project configuration + // '@typescript-eslint/dot-notation': 'off', + // '@typescript-eslint/no-implied-eval': 'off', + // '@typescript-eslint/no-throw-literal': 'off', + // '@typescript-eslint/return-await': 'off', }, }; diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json new file mode 100644 index 0000000000..a9eb489a89 --- /dev/null +++ b/tsconfig.eslint.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "declarationMap": true, + "incremental": true + } +}