32 lines
887 B
JavaScript
32 lines
887 B
JavaScript
|
|
import eslint from "@eslint/js";
|
||
|
|
import reactHooks from "eslint-plugin-react-hooks";
|
||
|
|
import globals from "globals";
|
||
|
|
import tseslint from "typescript-eslint";
|
||
|
|
|
||
|
|
export default tseslint.config(
|
||
|
|
{ ignores: ["web/dist/**", "data/**", "**/node_modules/**"] },
|
||
|
|
{
|
||
|
|
files: ["src/**/*.ts"],
|
||
|
|
extends: [eslint.configs.recommended, ...tseslint.configs.recommended],
|
||
|
|
languageOptions: {
|
||
|
|
ecmaVersion: 2022,
|
||
|
|
sourceType: "module",
|
||
|
|
globals: globals.node,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
{
|
||
|
|
files: ["web/src/**/*.{ts,tsx}"],
|
||
|
|
extends: [eslint.configs.recommended, ...tseslint.configs.recommended],
|
||
|
|
plugins: { "react-hooks": reactHooks },
|
||
|
|
languageOptions: {
|
||
|
|
ecmaVersion: 2022,
|
||
|
|
sourceType: "module",
|
||
|
|
globals: globals.browser,
|
||
|
|
parserOptions: { ecmaFeatures: { jsx: true } },
|
||
|
|
},
|
||
|
|
rules: {
|
||
|
|
...reactHooks.configs.recommended.rules,
|
||
|
|
},
|
||
|
|
},
|
||
|
|
);
|