UNPKG

eslint-config-neon

Version:

The ultimate ESLint shareable config

105 lines (104 loc) 3.48 kB
//#region src/oxlint/react.jsplugins.ts const config = { jsPlugins: [{ name: "@neon/eslint-react", specifier: "eslint-plugin-react" }, { name: "@neon/eslint-stylistic", specifier: "@stylistic/eslint-plugin" }], overrides: [{ files: ["**/*.{js,jsx,ts,tsx,cjs,mjs,cts,mts}"], rules: { "@neon/eslint-react/boolean-prop-naming": 2, "@neon/eslint-react/default-props-match-prop-types": 2, "@neon/eslint-react/destructuring-assignment": 0, "@neon/eslint-react/forbid-foreign-prop-types": 0, "@neon/eslint-react/forbid-prop-types": 0, "@neon/eslint-react/function-component-definition": 0, "@neon/eslint-react/jsx-indent-props": [2, "tab"], "@neon/eslint-react/jsx-no-bind": [2, { allowArrowFunctions: true, allowBind: false, ignoreRefs: true }], "@neon/eslint-react/jsx-no-literals": 0, "@neon/eslint-react/jsx-uses-react": 2, "@neon/eslint-react/jsx-uses-vars": 2, "@neon/eslint-react/no-access-state-in-setstate": 2, "@neon/eslint-react/no-adjacent-inline-elements": 0, "@neon/eslint-react/no-arrow-function-lifecycle": 2, "@neon/eslint-react/no-deprecated": 2, "@neon/eslint-react/no-invalid-html-attribute": 2, "@neon/eslint-react/no-typos": 2, "@neon/eslint-react/no-unused-class-component-methods": 2, "@neon/eslint-react/no-unused-prop-types": 2, "@neon/eslint-react/no-unused-state": 2, "@neon/eslint-react/prefer-exact-props": 0, "@neon/eslint-react/prefer-read-only-props": 2, "@neon/eslint-react/prefer-stateless-function": [2, { ignorePureComponents: true }], "@neon/eslint-react/prop-types": 2, "@neon/eslint-react/require-default-props": 0, "@neon/eslint-react/require-optimization": 0, "@neon/eslint-react/require-render-return": 2, "@neon/eslint-react/sort-comp": 2, "@neon/eslint-react/sort-default-props": 2, "@neon/eslint-react/sort-prop-types": 2, "@neon/eslint-react/static-property-placement": 2, "@neon/eslint-stylistic/jsx-child-element-spacing": 0, "@neon/eslint-stylistic/jsx-closing-bracket-location": [2, "line-aligned"], "@neon/eslint-stylistic/jsx-closing-tag-location": 2, "@neon/eslint-stylistic/jsx-curly-brace-presence": [2, { children: "never", props: "never" }], "@neon/eslint-stylistic/jsx-curly-newline": 2, "@neon/eslint-stylistic/jsx-curly-spacing": [ 2, "never", { allowMultiline: true } ], "@neon/eslint-stylistic/jsx-equals-spacing": [2, "never"], "@neon/eslint-stylistic/jsx-first-prop-new-line": [2, "multiline-multiprop"], "@neon/eslint-stylistic/jsx-indent": [2, "tab"], "@neon/eslint-stylistic/jsx-max-props-per-line": [2, { maximum: 3, when: "multiline" }], "@neon/eslint-stylistic/jsx-newline": [2, { prevent: true }], "@neon/eslint-stylistic/jsx-one-expression-per-line": 0, "@neon/eslint-stylistic/jsx-pascal-case": [2, { ignore: [ "h{}", "h2", "h3", "h4", "h5", "h6", "p", "a", "ul", "ol", "li", "img", "div", "span", "dl", "dt", "dd" ] }], "@neon/eslint-stylistic/jsx-props-no-multi-spaces": 2, "@neon/eslint-stylistic/jsx-sort-props": 2, "@neon/eslint-stylistic/jsx-tag-spacing": [2, { afterOpening: "never", beforeSelfClosing: "always", closingSlash: "never" }], "@neon/eslint-stylistic/jsx-wrap-multilines": 0 } }], rules: {}, plugins: [] }; //#endregion export { config as default }; //# sourceMappingURL=react.jsplugins.mjs.map