49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { FlatCompat } from "@eslint/eslintrc";
 | |
| import tseslint from "typescript-eslint";
 | |
| 
 | |
| const compat = new FlatCompat({
 | |
|   baseDirectory: import.meta.dirname,
 | |
| });
 | |
| 
 | |
| export default tseslint.config(
 | |
|   {
 | |
|     ignores: [".next"],
 | |
|   },
 | |
|   ...compat.extends("next/core-web-vitals"),
 | |
|   {
 | |
|     files: ["**/*.ts", "**/*.tsx"],
 | |
|     extends: [
 | |
|       ...tseslint.configs.recommended,
 | |
|       ...tseslint.configs.recommendedTypeChecked,
 | |
|       ...tseslint.configs.stylisticTypeChecked,
 | |
|     ],
 | |
|     rules: {
 | |
|       "@typescript-eslint/array-type": "off",
 | |
|       "@typescript-eslint/consistent-type-definitions": "off",
 | |
|       "@typescript-eslint/consistent-type-imports": [
 | |
|         "warn",
 | |
|         { prefer: "type-imports", fixStyle: "inline-type-imports" },
 | |
|       ],
 | |
|       "@typescript-eslint/no-unused-vars": [
 | |
|         "warn",
 | |
|         { argsIgnorePattern: "^_" },
 | |
|       ],
 | |
|       "@typescript-eslint/require-await": "off",
 | |
|       "@typescript-eslint/no-misused-promises": [
 | |
|         "error",
 | |
|         { checksVoidReturn: { attributes: false } },
 | |
|       ],
 | |
|     },
 | |
|   },
 | |
|   {
 | |
|     linterOptions: {
 | |
|       reportUnusedDisableDirectives: true,
 | |
|     },
 | |
|     languageOptions: {
 | |
|       parserOptions: {
 | |
|         projectService: true,
 | |
|       },
 | |
|     },
 | |
|   },
 | |
| );
 |