{"version":3,"sources":["../../src/jsx.ts"],"names":[],"mappings":"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","file":"jsx.mjs","sourcesContent":["import type { TSESLint } from \"@typescript-eslint/utils\";\nimport eslintPluginReact from \"eslint-plugin-react\";\nimport eslintPluginReactRefresh from \"eslint-plugin-react-refresh\";\n\nconst rules: TSESLint.FlatConfig.Rules = {\n\t// React\n\t\"react/jsx-boolean-value\": [2, \"never\"],\n\t\"react/jsx-filename-extension\": 0,\n\t\"react/jsx-fragments\": [2, \"syntax\"],\n\t\"react/jsx-handler-names\": [\n\t\t2,\n\t\t{\n\t\t\tcheckInlineFunction: false,\n\t\t\tcheckLocalVariables: false,\n\t\t\teventHandlerPrefix: \"handle\",\n\t\t\teventHandlerPropPrefix: \"on\",\n\t\t},\n\t],\n\t\"react/jsx-indent-props\": [2, \"tab\"],\n\t\"react/jsx-key\": [\n\t\t2,\n\t\t{\n\t\t\tcheckFragmentShorthand: true,\n\t\t\tcheckKeyMustBeforeSpread: true,\n\t\t},\n\t],\n\t\"react/jsx-max-depth\": 0,\n\t\"react/jsx-no-bind\": [\n\t\t2,\n\t\t{\n\t\t\tallowArrowFunctions: true,\n\t\t\tallowBind: false,\n\t\t\tignoreRefs: true,\n\t\t},\n\t],\n\t\"react/jsx-no-comment-textnodes\": 2,\n\t\"react/jsx-no-constructed-context-values\": 2,\n\t\"react/jsx-no-duplicate-props\": 2,\n\t\"react/jsx-no-literals\": 0,\n\t\"react/jsx-no-script-url\": 2,\n\t\"react/jsx-no-target-blank\": 2,\n\t\"react/jsx-no-undef\": 2,\n\t\"react/jsx-no-useless-fragment\": [\n\t\t2,\n\t\t{\n\t\t\tallowExpressions: true,\n\t\t},\n\t],\n\t\"react/jsx-props-no-spreading\": 0,\n\t\"react/jsx-uses-react\": 2,\n\t\"react/jsx-uses-vars\": 2,\n\n\t// React Refresh\n\t\"react-refresh/only-export-components\": 1,\n\n\t// Unicorn\n\t\"unicorn/consistent-function-scoping\": 0, // We disable this because in React it's a common thing to have functions in functions\n\n\t// Stylistic\n\t\"@stylistic/jsx/jsx-child-element-spacing\": 0,\n\t\"@stylistic/jsx/jsx-closing-bracket-location\": [2, \"line-aligned\"],\n\t\"@stylistic/jsx/jsx-closing-tag-location\": 2,\n\t\"@stylistic/jsx/jsx-curly-brace-presence\": [\n\t\t2,\n\t\t{\n\t\t\tchildren: \"never\",\n\t\t\tprops: \"never\",\n\t\t},\n\t],\n\t\"@stylistic/jsx/jsx-curly-newline\": 2,\n\t\"@stylistic/jsx/jsx-curly-spacing\": [\n\t\t2,\n\t\t\"never\",\n\t\t{\n\t\t\tallowMultiline: true,\n\t\t},\n\t],\n\t\"@stylistic/jsx/jsx-equals-spacing\": [2, \"never\"],\n\t\"@stylistic/jsx/jsx-first-prop-new-line\": [2, \"multiline-multiprop\"],\n\t\"@stylistic/jsx/jsx-max-props-per-line\": [\n\t\t2,\n\t\t{\n\t\t\tmaximum: 3,\n\t\t\twhen: \"multiline\",\n\t\t},\n\t],\n\t\"@stylistic/jsx/jsx-newline\": [\n\t\t2,\n\t\t{\n\t\t\tprevent: true,\n\t\t},\n\t],\n\t\"@stylistic/jsx/jsx-one-expression-per-line\": 0,\n\t\"@stylistic/jsx/jsx-pascal-case\": [\n\t\t2,\n\t\t{\n\t\t\tignore: [\"h{}\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"p\", \"a\", \"ul\", \"ol\", \"li\", \"img\", \"div\", \"span\", \"dl\", \"dt\", \"dd\"],\n\t\t},\n\t],\n\t\"@stylistic/jsx/jsx-props-no-multi-spaces\": 2,\n\t\"@stylistic/jsx/jsx-sort-props\": 2,\n\t\"@stylistic/jsx/jsx-tag-spacing\": [\n\t\t2,\n\t\t{\n\t\t\tafterOpening: \"never\",\n\t\t\tbeforeSelfClosing: \"always\",\n\t\t\tclosingSlash: \"never\",\n\t\t},\n\t],\n\t\"@stylistic/jsx/jsx-wrap-multilines\": 0,\n\t\"@stylistic/jsx/jsx-indent\": [2, \"tab\"],\n};\n\nconst settings: TSESLint.FlatConfig.Settings = {\n\t\"import-x/extensions\": [\".js\", \".jsx\"],\n\t\"import-x/resolver\": {\n\t\tnode: {\n\t\t\textensions: [\".js\", \".jsx\"],\n\t\t},\n\t},\n};\n\nconst config: TSESLint.FlatConfig.ConfigArray = [\n\t{\n\t\tlanguageOptions: {\n\t\t\tparserOptions: {\n\t\t\t\tecmaFeatures: {\n\t\t\t\t\tjsx: true,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tplugins: {\n\t\t\t\"react-refresh\": eslintPluginReactRefresh,\n\t\t\t// @ts-expect-error eslint-plugin-react is poorly typed\n\t\t\treact: eslintPluginReact,\n\t\t},\n\t\trules,\n\t\tsettings,\n\t},\n];\n\nexport default config;\n"]}