diff --git a/.eslintrc.json b/.eslintrc.json index bffb357..14fdd50 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,3 +1,47 @@ { - "extends": "next/core-web-vitals" + "extends": "next/core-web-vitals", + "plugins": ["import"], + "rules": { + "sort-imports": [ + "error", + { + "ignoreDeclarationSort": true + } + ], + "import/order": [ + "error", + { + "newlines-between": "always", + "groups": [ + "builtin", + "external", + "internal", + "parent", + "sibling", + "index", + "object", + "type" + ], + "pathGroups": [ + { + "pattern": "components/**", + "group": "internal" + }, + { + "pattern": "data/**", + "group": "internal" + }, + { + "pattern": "assets/**", + "group": "internal", + "position": "after" + } + ], + "alphabetize": { + "order": "asc", + "caseInsensitive": true + } + } + ] + } } diff --git a/package.json b/package.json index 0c58287..ca1b612 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "autoprefixer": "^10.0.1", "eslint": "^8", "eslint-config-next": "14.0.4", + "eslint-plugin-import": "^2.29.1", "postcss": "^8", "postcss-nesting": "^12.0.2", "prettier": "^3.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 010ecd4..9f506bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,6 +58,9 @@ devDependencies: eslint-config-next: specifier: 14.0.4 version: 14.0.4(eslint@8.56.0)(typescript@5.3.3) + eslint-plugin-import: + specifier: ^2.29.1 + version: 2.29.1(@typescript-eslint/parser@6.18.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) postcss: specifier: ^8 version: 8.4.33 diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 386225a..06ebc88 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,6 +1,9 @@ -import type { Metadata } from 'next'; -import Providers from './providers'; import LocalFont from 'next/font/local'; + +import Providers from './providers'; + +import type { Metadata } from 'next'; + import '@/styles/globals.css'; const fontDana = LocalFont({