diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-07-27 19:02:58 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-07-27 19:02:58 +0900 |
| commit | b70fa3abf9c96871cc3e39090e9a00da4ad87b8b (patch) | |
| tree | 848da44374c48edec603fb014c59ad0fbb9307e6 /frontend/.eslintrc.cjs | |
| parent | e487036c5cc9f5b59e9efbaec132a2fd60896317 (diff) | |
| parent | 7cbf34204233df7c7e9e4b24998e25dbd8d2a423 (diff) | |
| download | phperkaigi-2025-albatross-b70fa3abf9c96871cc3e39090e9a00da4ad87b8b.tar.gz phperkaigi-2025-albatross-b70fa3abf9c96871cc3e39090e9a00da4ad87b8b.tar.zst phperkaigi-2025-albatross-b70fa3abf9c96871cc3e39090e9a00da4ad87b8b.zip | |
Merge branch 'remix'
Diffstat (limited to 'frontend/.eslintrc.cjs')
| -rw-r--r-- | frontend/.eslintrc.cjs | 81 |
1 files changed, 74 insertions, 7 deletions
diff --git a/frontend/.eslintrc.cjs b/frontend/.eslintrc.cjs index 23ffe5b..b87e395 100644 --- a/frontend/.eslintrc.cjs +++ b/frontend/.eslintrc.cjs @@ -1,11 +1,78 @@ +/** @type {import('eslint').Linter.Config} */ module.exports = { root: true, - env: { browser: true, es2020: true }, - extends: [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:react-hooks/recommended", + parserOptions: { + ecmaVersion: "latest", + sourceType: "module", + ecmaFeatures: { + jsx: true, + }, + }, + env: { + browser: true, + commonjs: true, + es6: true, + }, + ignorePatterns: ["!**/.server", "!**/.client"], + + // Base config + extends: ["eslint:recommended"], + + overrides: [ + // React + { + files: ["**/*.{js,jsx,ts,tsx}"], + plugins: ["react", "jsx-a11y"], + extends: [ + "plugin:react/recommended", + "plugin:react/jsx-runtime", + "plugin:react-hooks/recommended", + "plugin:jsx-a11y/recommended", + ], + settings: { + react: { + version: "detect", + }, + formComponents: ["Form"], + linkComponents: [ + { name: "Link", linkAttribute: "to" }, + { name: "NavLink", linkAttribute: "to" }, + ], + "import/resolver": { + typescript: {}, + }, + }, + }, + + // Typescript + { + files: ["**/*.{ts,tsx}"], + plugins: ["@typescript-eslint", "import"], + parser: "@typescript-eslint/parser", + settings: { + "import/internal-regex": "^~/", + "import/resolver": { + node: { + extensions: [".ts", ".tsx"], + }, + typescript: { + alwaysTryTypes: true, + }, + }, + }, + extends: [ + "plugin:@typescript-eslint/recommended", + "plugin:import/recommended", + "plugin:import/typescript", + ], + }, + + // Node + { + files: [".eslintrc.cjs"], + env: { + node: true, + }, + }, ], - ignorePatterns: ["dist", ".eslintrc.cjs"], - parser: "@typescript-eslint/parser", }; |
