UNPKG

@winnerpc/eslint-config-next

Version:
2 lines (1 loc) 12.7 kB
import n from"typescript-eslint";import{globalIgnores as _r}from"eslint/config";import o from"globals";import Pr from"@eslint/js";import Kr from"eslint-plugin-react";var b={},v={},h={},j={},k={camelcase:"warn","no-underscore-dangle":"warn","id-denylist":["warn","z","e","error","event","response","reject","restProps","button","subTitle","duplicate","searchQuery","data","msg","current","previous"],"id-length":["warn",{properties:"never",exceptions:["_"]}],"no-shadow":["warn",{hoist:"all"}],"no-useless-rename":"error"},S={"init-declarations":"error","no-multi-assign":"error","no-useless-assignment":"off","prefer-destructuring":"off","prefer-const":["error",{ignoreReadBeforeAssign:!0}],"sort-vars":"off","vars-on-top":"off"},E={"block-scoped-var":"error","no-var":"off"},C={"no-magic-numbers":"off","no-multi-str":"error","no-template-curly-in-string":"error","no-throw-literal":"warn","no-undef-init":"off","no-undefined":"off","no-useless-concat":"error","prefer-template":"error"},q={},L={"dot-notation":"error","no-extend-native":"error","no-object-constructor":"error","no-useless-computed-key":"error","object-shorthand":["error","always",{avoidQuotes:!0,avoidExplicitReturnArrows:!0}],"prefer-object-spread":"error","sort-keys":"off"},A={"consistent-return":"error","func-name-matching":"warn","func-names":["warn","as-needed"],"func-style":["error","declaration"],"new-cap":["warn",{capIsNew:!1}],"no-extra-bind":"error","no-loop-func":"error","no-new-func":"error","no-empty-function":["error",{allow:["arrowFunctions"]}],"no-invalid-this":["error",{capIsConstructor:!1}],"no-return-assign":["error","always"],"no-use-before-define":"warn","no-useless-call":"error","no-useless-return":"error","no-param-reassign":["warn",{props:!0}],"no-void":"off","one-var":["error","never"]},F={"arrow-body-style":"error","array-callback-return":["error",{checkForEach:!0,allowVoid:!0}],"prefer-arrow-callback":["error",{allowNamedFunctions:!0}]},I={"no-await-in-loop":"error","prefer-promise-reject-errors":"warn","require-atomic-updates":"error","require-await":"off","no-promise-executor-return":["error",{allowVoid:!0}]},N={"logical-assignment-operators":["error","never"],"no-plusplus":"off","no-extra-boolean-cast":["error",{enforceForInnerExpressions:!0}],"no-implicit-coercion":["error",{disallowTemplateShorthand:!0}],"no-unsafe-optional-chaining":["error",{disallowArithmeticOperators:!0}],"operator-assignment":"error","prefer-exponentiation-operator":"warn","valid-typeof":["error",{requireStringLiterals:!0}]},T={eqeqeq:"error","no-eq-null":"error","no-negated-condition":"warn","no-self-compare":"error",yoda:["warn","never",{exceptRange:!0}]},R={"no-nested-ternary":"error","no-ternary":"off","no-unneeded-ternary":["error",{defaultAssignment:!1}]},O={curly:"error","no-cond-assign":["error","always"],"no-lonely-if":"error","no-else-return":["error",{allowElseIf:!1}]},B={"default-case":"error","default-case-last":"error","default-param-last":"error","no-fallthrough":["error",{allowEmptyCase:!0}]},_={"guard-for-in":"off","no-continue":"off","no-unmodified-loop-condition":"off","no-unreachable-loop":"off"},P={"no-duplicate-imports":["error",{includeExports:!0}],"sort-imports":["warn",{ignoreDeclarationSort:!0}]},K={"no-div-regex":"warn","prefer-named-capture-group":"warn","prefer-regex-literals":["error",{disallowRedundantWrapping:!0}]},V={"no-alert":"error","no-console":"error"},X={"no-inline-comments":"warn","no-warning-comments":"warn","capitalized-comments":["warn","always",{ignoreConsecutiveComments:!0}]},G={"no-bitwise":"error","no-caller":"error","no-eval":"error","no-implicit-globals":"error","no-implied-eval":"error","no-lone-blocks":"error","no-new":"off","no-new-wrappers":"error","no-script-url":"error","no-inner-declarations":["error","functions",{blockScopedFunctions:"disallow"}],"no-sequences":"error",strict:"error","symbol-description":"error","unicode-bom":"error"},J={plugins:{},settings:{},rules:{...b,...v,...h,...j,...k,...S,...E,...C,...q,...L,...A,...F,...I,...N,...T,...R,...O,...B,..._,...P,...K,...V,...X,...G}},s=J;import i from"eslint-plugin-react";var D={"react/jsx-indent":["error",4,{indentLogicalExpressions:!0}]},z={},M={},Q={},W={"react/default-props-match-prop-types":"error","react/no-unused-prop-types":"error","react/prefer-read-only-props":"off"},H={"react/hook-use-state":"error","react/jsx-handler-names":["warn",{checkLocalVariables:!0,checkInlineFunction:!0}]},U={"react/forward-ref-uses-ref":"error","react/function-component-definition":"error","react/no-multi-comp":"error","react/no-namespace":"error","react/no-unstable-nested-components":"error"},Y={"react/checked-requires-onchange-or-readonly":"error","react/boolean-prop-naming":["warn",{validateNested:!0}],"react/destructuring-assignment":["error","always",{destructureInSignature:"always"}],"react/jsx-boolean-value":["error","never",{assumeUndefinedIsFalse:!0}],"react/jsx-key":["error",{checkFragmentShorthand:!0,checkKeyMustBeforeSpread:!0,warnOnDuplicates:!0}],"react/jsx-props-no-spreading":"off","react/jsx-props-no-spread-multi":"error","react/no-danger":"warn","react/no-object-type-as-default-prop":"error","react/no-unknown-property":["error",{requireDataLowercase:!0}],"react/require-default-props":"off","react/style-prop-object":"error"},Z={"react/button-has-type":"error","react/iframe-missing-sandbox":"error","react/no-invalid-html-attribute":"error"},$={"react/jsx-no-constructed-context-values":"error","react/jsx-no-literals":"off","react/jsx-filename-extension":["error",{allow:"as-needed",extensions:[".tsx"]}],"react/jsx-no-bind":["error",{allowArrowFunctions:!0,allowFunctions:!0}],"react/jsx-no-leaked-render":["error",{validStrategies:["ternary"]}],"react/jsx-no-script-url":"error","react/no-adjacent-inline-elements":"error","react/no-array-index-key":"warn","react/void-dom-elements-no-children":"error"},rr={"react/jsx-no-useless-fragment":"error","react/jsx-fragments":["error","element"]},er={"react/no-this-in-sfc":"error"},tr={plugins:{react:i},settings:{react:{version:"detect"}},rules:{...i.configs.recommended.rules,...D,...z,...M,...Q,...W,...H,...U,...Y,...Z,...$,...rr,...er}},a=tr;import or from"@stylistic/eslint-plugin";var nr={"@stylistic/indent":"error","@stylistic/indent-binary-ops":["error",4],"@stylistic/no-mixed-spaces-and-tabs":"error","@stylistic/no-tabs":"error","@stylistic/jsx-indent-props":["error",{ignoreTernaryOperator:!0}]},sr={"@stylistic/jsx-quotes":"error","@stylistic/quotes":"error","@stylistic/quote-props":["error","consistent-as-needed",{keywords:!0}]},ir={"@stylistic/no-extra-semi":"error","@stylistic/semi-spacing":"error","@stylistic/semi-style":"error","@stylistic/semi":["error","never",{beforeStatementContinuationChars:"always"}]},ar={"@stylistic/eol-last":"error","@stylistic/padded-blocks":["error","never"],"@stylistic/jsx-newline":["error",{prevent:!0}],"@stylistic/no-multiple-empty-lines":["error",{max:1,maxEOF:1,maxBOF:0}],"@stylistic/padding-line-between-statements":["error",{blankLine:"always",prev:"*",next:"return"},{blankLine:"always",prev:["const","let","var"],next:"*"},{blankLine:"any",prev:["const","let","var"],next:["const","let","var"]},{blankLine:"always",prev:"directive",next:"*"},{blankLine:"any",prev:"directive",next:"directive"},{blankLine:"always",prev:["case","default"],next:"*"},{blankLine:"always",prev:"*",next:["enum","interface","type"]}]},cr={"@stylistic/type-annotation-spacing":"error","@stylistic/type-generic-spacing":"error","@stylistic/type-named-tuple-spacing":"error","@stylistic/member-delimiter-style":["error",{multiline:{delimiter:"none"},singleline:{delimiter:"comma"}}]},lr={},pr={"@stylistic/one-var-declaration-per-line":"error"},ur={},mr={"@stylistic/no-floating-decimal":"error","@stylistic/template-curly-spacing":"error","@stylistic/template-tag-spacing":"error"},dr={"@stylistic/array-bracket-newline":["error",{multiline:!0,minItems:3}],"@stylistic/array-bracket-spacing":["error","never",{arraysInArrays:!0}],"@stylistic/array-element-newline":["error",{multiline:!0,minItems:3}]},yr={"@stylistic/computed-property-spacing":"error","@stylistic/dot-location":["error","property"],"@stylistic/key-spacing":"error","@stylistic/newline-per-chained-call":"error","@stylistic/no-whitespace-before-property":"error","@stylistic/object-curly-spacing":["error","always"],"@stylistic/object-property-newline":"error","@stylistic/object-curly-newline":["error",{multiline:!0,minProperties:2,consistent:!0}]},fr={"@stylistic/func-call-spacing":"error","@stylistic/function-call-argument-newline":["error","consistent"],"@stylistic/function-paren-newline":["error","multiline-arguments"],"@stylistic/jsx-function-call-newline":"error","@stylistic/space-before-function-paren":["error","never"],"@stylistic/wrap-iife":["error","inside",{functionPrototypeMethods:!0}]},gr={"@stylistic/arrow-parens":["error","as-needed"],"@stylistic/arrow-spacing":"error","@stylistic/implicit-arrow-linebreak":"error","@stylistic/no-confusing-arrow":"warn"},wr={},xr={"@stylistic/no-mixed-operators":"warn","@stylistic/operator-linebreak":["error","before"]},br={},vr={"@stylistic/multiline-ternary":["error","always-multiline"]},hr={"@stylistic/nonblock-statement-body-position":"off"},jr={"@stylistic/switch-colon-spacing":"error"},kr={},Sr={},Er={"@stylistic/wrap-regex":"warn"},Cr={},qr={"@stylistic/line-comment-position":"warn","@stylistic/multiline-comment-style":["error","separate-lines"],"@stylistic/lines-around-comment":["error",{beforeLineComment:!0,allowBlockStart:!0}],"@stylistic/spaced-comment":["error","always",{block:{balanced:!0}}]},Lr={"@stylistic/jsx-child-element-spacing":"warn","@stylistic/jsx-closing-bracket-location":["error","line-aligned"],"@stylistic/jsx-closing-tag-location":"error","@stylistic/jsx-curly-brace-presence":["error",{props:"always",propElementValues:"always"}],"@stylistic/jsx-curly-newline":["error",{singleline:"forbid"}],"@stylistic/jsx-equals-spacing":"error","@stylistic/jsx-first-prop-new-line":["error","multiline"],"@stylistic/jsx-max-props-per-line":"error","@stylistic/jsx-one-expression-per-line":"error","@stylistic/jsx-curly-spacing":["error",{children:!0}],"@stylistic/jsx-pascal-case":"error","@stylistic/jsx-props-no-multi-spaces":"error","@stylistic/jsx-self-closing-comp":"error","@stylistic/jsx-sort-props":["warn",{callbacksLast:!0,shorthandLast:!0,noSortAlphabetically:!0,reservedFirst:!0}],"@stylistic/jsx-tag-spacing":["error",{beforeClosing:"never"}],"@stylistic/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"parens-new-line",logical:"parens-new-line",prop:"parens-new-line",propertyValue:"parens-new-line"}]},Ar={"@stylistic/brace-style":["error","allman"],"@stylistic/space-in-parens":"error","@stylistic/no-extra-parens":["warn","all",{nestedBinaryExpressions:!1,ignoreJSX:"multi-line",enforceForArrowConditionals:!1}]},Fr={"@stylistic/comma-dangle":["error","always-multiline"],"@stylistic/comma-spacing":"error","@stylistic/comma-style":"error"},Ir={"@stylistic/block-spacing":"error","@stylistic/keyword-spacing":"error","@stylistic/no-trailing-spaces":"error","@stylistic/rest-spread-spacing":"error","@stylistic/no-multi-spaces":["error",{exceptions:{Property:!1}}],"@stylistic/space-before-blocks":"error","@stylistic/space-infix-ops":"error","@stylistic/space-unary-ops":"error"},Nr={"@stylistic/linebreak-style":"error","@stylistic/new-parens":"error"},Tr={plugins:{"@stylistic":or},settings:{},rules:{...nr,...sr,...ir,...ar,...cr,...lr,...pr,...ur,...mr,...dr,...yr,...fr,...gr,...wr,...xr,...br,...vr,...hr,...jr,...kr,...Sr,...Er,...Cr,...qr,...Lr,...Ar,...Fr,...Ir,...Nr}},c=Tr;import l from"eslint-plugin-react-hooks";import Rr from"eslint-plugin-react-refresh";import p from"eslint-plugin-jsx-a11y";var Or={plugins:{"react-hooks":l,"react-refresh":Rr,"jsx-a11y":p},settings:{},rules:{...l.configs.recommended.rules,"react-refresh/only-export-components":["warn",{allowExportNames:["metadata"]}],...p.configs.recommended.rules}},u=Or;import m from"@next/eslint-plugin-next";var Br={plugins:{"@next/next":m},settings:{},rules:{...m.configs.recommended.rules,"@next/next/no-duplicate-head":"off"}},d=Br;var y=[Pr.configs.recommended,n.configs.recommended,_r(["coverage/",".next/","out/","build/","dist/","dist-ssr/","next-env.d.ts"]),{languageOptions:{parserOptions:Kr.configs.recommended.parserOptions,globals:{...o.browser,...o.node,...o.es2022}}}],f=[s,a,c,u],Vr=[...f,d];var g=["**/*.{js,mjs,cjs,ts,jsx,tsx}"],w=n.config(...y,...f.map(t=>({files:g,...t}))),x=n.config(...y,...Vr.map(t=>({files:g,...t})));export{x as default,w as reactConfig};