From 3c4abe9fa1a7829089e9a6a59828c233854f61c4 Mon Sep 17 00:00:00 2001 From: Il Harper Date: Sun, 3 Mar 2024 23:49:02 +0800 Subject: [PATCH] chore: add eslint config --- .eslintrc.cjs | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .eslintrc.cjs diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..6b6e031 --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,63 @@ +const { resolve } = require('node:path') + +module.exports = { + root: true, + env: { + node: true, + es2020: true, + }, + extends: [ + 'eslint:recommended', + 'plugin:import/recommended', + 'plugin:import/typescript', + 'plugin:@typescript-eslint/strict', + 'plugin:@typescript-eslint/recommended-requiring-type-checking', + 'prettier', + 'plugin:prettier/recommended', + ], + plugins: ['@typescript-eslint', 'import', 'prettier'], + parser: '@typescript-eslint/parser', + parserOptions: { + project: [resolve(__dirname, 'tsconfig.json')], + }, + settings: { + 'import/resolver': { + typescript: { + alwaysTryTypes: true, + }, + node: true, + }, + }, + rules: { + 'require-await': 'off', + 'no-constant-condition': [ + 'error', + { + checkLoops: false, + }, + ], + 'no-unused-vars': 'off', + 'prefer-const': [ + 'error', + { + destructuring: 'all', + }, + ], + 'import/no-default-export': 'error', + 'import/consistent-type-specifier-style': 'error', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/require-await': 'off', + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + destructuredArrayIgnorePattern: '^_', + }, + ], + '@typescript-eslint/no-namespace': 'off', + '@typescript-eslint/consistent-type-exports': 'error', + '@typescript-eslint/consistent-type-imports': 'error', + '@typescript-eslint/no-dynamic-delete': 'off', + '@typescript-eslint/no-extraneous-class': 'off', + }, +}