{ "parser": "@babel/eslint-parser", "plugins": [ "react", "simple-import-sort" ], "parserOptions": { "ecmaVersion": 6, "sourceType": "module", "ecmaFeatures": { "jsx": true } }, "env": { "es6": true, "browser": true, "node": true }, "extends": [ "airbnb" ], "rules": { "import/named": 2, "jsx-a11y/anchor-is-valid": [ "error", { "components": [ "Link" ], "specialLink": [ "to", "hrefLeft", "hrefRight" ], "aspects": [ "noHref" ] }], "jsx-a11y/label-has-for": [ 2, { "components": [ "Label" ], "required": "id", "allowChildren": false }], "simple-import-sort/imports": [ "error", { "groups": [ // Node.js builtins. You could also generate this regex if you use a `.js` config. // For example: `^(${require("module").builtinModules.join("|")})(/|$)` [ "^(assert|buffer|child_process|cluster|console|constants|crypto|dgram|dns|domain|events|fs|http|https|module|net|os|path|punycode|querystring|readline|repl|stream|string_decoder|sys|timers|tls|tty|url|util|vm|zlib|freelist|v8|process|async_hooks|http2|perf_hooks)(/.*|$)" ], // Packages: // React package first ["^react$"], // Other external packages ["^@?\\w"], // Internal packages. ["^(@|@company|@ui|components|utils|config|vendored-lib|actions|consts|reducers|hooks|api|wrappers)(/.*|$)"], // Side effect imports. ["^\\u0000"], // Parent imports. Put `..` last. ["^\\.\\.(?!/?$)", "^\\.\\./?$"], // Other relative imports. Put same-folder imports and `.` last. ["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"], // Style imports. ["^.+\\.s?css$"] ] } ], "simple-import-sort/exports": "error", "import/first": "error", "import/newline-after-import": "error", "import/no-duplicates": "error" }, "settings": { "import/resolver": { "node": { "paths": ["src/js"] } } } }