{ "extends": ["next/core-web-vitals", "plugin:import/typescript"], "plugins": ["simple-import-sort", "@typescript-eslint"], "parser": "@typescript-eslint/parser", "rules": { "no-unused-vars": "off", "react/function-component-definition": "error", "simple-import-sort/imports": [ "error", { "groups": [ // Side effect imports. ["^\\u0000"], // Node.js builtins. ["^node:"], // NPM packages. ["^@?\\w"], // Internal packages. ["^@scandic-hotels/(?!.*\u0000$).*$"], // Local imports (lib, constants, etc.), excl. types. [ "^@/constants/?(?!.*\u0000$).*$", "^@/env/?(?!.*\u0000$).*$", "^@/lib/?(?!.*\u0000$).*$", "^@/server/?(?!.*\u0000$).*$", "^@/stores/?(?!.*\u0000$).*$" ], // Local imports (the rest), excl. types. ["^@/(?!(types|.*\u0000$)).*$"], // Parent imports. Put `..` last. // Other relative imports. Put same-folder imports and `.` last. [ "^\\.\\.(?!/?$)", "^\\.\\./?$", "^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$" ], // Style imports. ["^(?!\\u0000).+\\.s?css$"], // Node.js builtins and NPM packages type imports. ["^node:.*\\u0000$", "^@?\\w.*\\u0000$"], // Local type imports. [ "^@scandichotels/.*\\u0000$", "^@/types/.*", "^@/.*\\u0000$", "^[^.].*\\u0000$", "^\\..*\\u0000$" ] ] } ], "simple-import-sort/exports": "error", "import/first": "error", "import/newline-after-import": "error", "import/no-duplicates": [ "error", { "prefer-inline": true } ], "@typescript-eslint/consistent-type-imports": "error", "@typescript-eslint/no-unused-vars": [ "error", { "args": "all", "argsIgnorePattern": "^_", "caughtErrors": "all", "caughtErrorsIgnorePattern": "^_", "destructuredArrayIgnorePattern": "^_", "varsIgnorePattern": "^_", "ignoreRestSiblings": true } ] } }