mirror of
				https://github.com/DerTyp7/f1r3wave-website.git
				synced 2025-10-30 21:47:09 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			71 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| module.exports = {
 | |
| 	parser: "@typescript-eslint/parser",
 | |
| 	parserOptions: {
 | |
| 		ecmaVersion: 2020,
 | |
| 		sourceType: "module",
 | |
| 		ecmaFeatures: {
 | |
| 			jsx: true,
 | |
| 		},
 | |
| 	},
 | |
| 	plugins: ["@typescript-eslint", "simple-import-sort", "import"],
 | |
| 	extends: ["eslint:recommended", "@typescript-eslint/recommended", "prettier"],
 | |
| 	rules: {
 | |
| 		// Prettier rules (these will be formatted by Prettier, but ESLint can warn)
 | |
| 		"prettier/prettier": "error",
 | |
| 
 | |
| 		// Import sorting and organization
 | |
| 		"simple-import-sort/imports": [
 | |
| 			"error",
 | |
| 			{
 | |
| 				groups: [
 | |
| 					// Node.js builtins
 | |
| 					["^node:"],
 | |
| 					// External packages (react, lodash, etc.)
 | |
| 					["^@?\\w"],
 | |
| 					// Internal aliases (if you use path aliases)
 | |
| 					["^@/"],
 | |
| 					// Parent imports
 | |
| 					["^\\.\\.(?!/?$)", "^\\.\\./?$"],
 | |
| 					// Other relative imports
 | |
| 					["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"],
 | |
| 					// Style imports
 | |
| 					["^.+\\.s?css$"],
 | |
| 				],
 | |
| 			},
 | |
| 		],
 | |
| 		"simple-import-sort/exports": "error",
 | |
| 		"import/first": "error",
 | |
| 		"import/newline-after-import": "error",
 | |
| 		"import/no-duplicates": "error",
 | |
| 
 | |
| 		// Disallow relative imports starting with dot
 | |
| 		"no-restricted-imports": [
 | |
| 			"error",
 | |
| 			{
 | |
| 				patterns: [
 | |
| 					{
 | |
| 						group: ["./*"],
 | |
| 						message: "Relative imports starting with dot are not allowed.",
 | |
| 					},
 | |
| 				],
 | |
| 			},
 | |
| 		],
 | |
| 
 | |
| 		// TypeScript specific rules
 | |
| 		"@typescript-eslint/no-unused-vars": "error",
 | |
| 		"@typescript-eslint/no-explicit-any": "warn",
 | |
| 		"@typescript-eslint/explicit-function-return-type": "off",
 | |
| 		"@typescript-eslint/explicit-module-boundary-types": "off",
 | |
| 	},
 | |
| 	settings: {
 | |
| 		"import/parsers": {
 | |
| 			"@typescript-eslint/parser": [".ts", ".tsx"],
 | |
| 		},
 | |
| 		"import/resolver": {
 | |
| 			typescript: {
 | |
| 				alwaysTryTypes: true,
 | |
| 			},
 | |
| 		},
 | |
| 	},
 | |
| };
 |