Write on the margins of the internet. Powered by the AT Protocol. margin.at
extension web atproto comments
at main 51 lines 1.4 kB view raw
1import js from "@eslint/js"; 2import globals from "globals"; 3import reactHooks from "eslint-plugin-react-hooks"; 4import reactRefresh from "eslint-plugin-react-refresh"; 5import tseslint from "typescript-eslint"; 6import prettierPlugin from "eslint-plugin-prettier"; 7import prettierConfig from "eslint-config-prettier"; 8import reactPlugin from "eslint-plugin-react"; 9 10export default tseslint.config( 11 { ignores: ["dist", ".astro", "node_modules"] }, 12 { 13 extends: [js.configs.recommended, ...tseslint.configs.recommended], 14 files: ["src/**/*.{ts,tsx}"], 15 languageOptions: { 16 ecmaVersion: 2020, 17 globals: globals.browser, 18 parserOptions: { 19 ecmaFeatures: { 20 jsx: true, 21 }, 22 }, 23 }, 24 plugins: { 25 "react-hooks": reactHooks, 26 "react-refresh": reactRefresh, 27 react: reactPlugin, 28 prettier: prettierPlugin, 29 }, 30 rules: { 31 ...reactHooks.configs.recommended.rules, 32 "react-refresh/only-export-components": [ 33 "warn", 34 { allowConstantExport: true }, 35 ], 36 "react/react-in-jsx-scope": "off", 37 "@typescript-eslint/explicit-module-boundary-types": "off", 38 "@typescript-eslint/no-unused-vars": [ 39 "warn", 40 { argsIgnorePattern: "^_" }, 41 ], 42 "prettier/prettier": "error", 43 }, 44 settings: { 45 react: { 46 version: "detect", 47 }, 48 }, 49 }, 50 prettierConfig, 51);