From d953d67f22d7882f972886f7c8b31f3a1fabc5c9 Mon Sep 17 00:00:00 2001 From: Wing-Kam Wong Date: Tue, 11 Apr 2023 14:29:25 +0800 Subject: [PATCH] feat: sync eslint config --- packages/nocodb-nest/.eslintrc.js | 61 +++++++++++++++++++++++++++++-- 1 file changed, 57 insertions(+), 4 deletions(-) diff --git a/packages/nocodb-nest/.eslintrc.js b/packages/nocodb-nest/.eslintrc.js index 259de13c73..bafdd78b12 100644 --- a/packages/nocodb-nest/.eslintrc.js +++ b/packages/nocodb-nest/.eslintrc.js @@ -5,21 +5,74 @@ module.exports = { tsconfigRootDir: __dirname, sourceType: 'module', }, - plugins: ['@typescript-eslint/eslint-plugin'], + plugins: ['import', 'eslint-comments', 'functional'], extends: [ + 'eslint:recommended', + 'plugin:eslint-comments/recommended', 'plugin:@typescript-eslint/recommended', + 'plugin:import/typescript', 'plugin:prettier/recommended', ], root: true, env: { node: true, jest: true, + es6: true, + }, + ignorePatterns: [ + 'node_modules', + 'build', + 'coverage', + 'dist', + 'nc', + '.eslintrc.js', + ], + globals: { + BigInt: true, + console: true, + WebAssembly: true, }, - ignorePatterns: ['.eslintrc.js'], rules: { - '@typescript-eslint/interface-name-prefix': 'off', - '@typescript-eslint/explicit-function-return-type': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', + 'eslint-comments/disable-enable-pair': [ + 'error', + { + allowWholeFile: true, + }, + ], + 'eslint-comments/no-unused-disable': 'error', + 'sort-imports': [ + 'error', + { + ignoreDeclarationSort: true, + ignoreCase: true, + }, + ], + 'import/order': [ + 'error', + { + groups: [ + 'builtin', + 'external', + 'internal', + 'parent', + 'sibling', + 'index', + 'object', + 'type', + ], + }, + ], + '@typescript-eslint/no-this-alias': 'off', + + // todo: enable + '@typescript-eslint/ban-ts-comment': 'off', '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-unused-vars': 'off', + '@typescript-eslint/no-var-requires': 'off', + 'no-useless-catch': 'off', + 'no-empty': 'off', + '@typescript-eslint/no-empty-function': 'off', + '@typescript-eslint/consistent-type-imports': 'warn', }, };