@eslint-sukka/react 6.18.1 → 6.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +7 -7
package/dist/index.cjs
CHANGED
|
@@ -11,4 +11,4 @@ ${p}${a}${a.length>0?`
|
|
|
11
11
|
${p}`:""}${n.getText(s)}
|
|
12
12
|
${c})`)})}else e.report({node:s,messageId:"missingParens",fix:e=>e.replaceText(s,`(
|
|
13
13
|
${n.getText(s)}
|
|
14
|
-
)`)})}}return{VariableDeclarator(e){let t="declaration";if(s(t)){if(!s("condition")&&e.init&&"ConditionalExpression"===e.init.type){r(e.init.consequent,t),r(e.init.alternate,t);return}r(e.init,t)}},AssignmentExpression(e){let t="assignment";if(s(t)){if(!s("condition")&&"ConditionalExpression"===e.right.type){r(e.right.consequent,t),r(e.right.alternate,t);return}r(e.right,t)}},ReturnStatement(e){let t="return";s(t)&&r(e.argument,t)},"ArrowFunctionExpression:exit":e=>{let t=e.body,i="arrow";s(i)&&"BlockStatement"!==t.type&&r(t,i)},ConditionalExpression(e){let t="condition";s(t)&&(r(e.consequent,t),r(e.alternate,t))},LogicalExpression(e){let t="logical";s(t)&&r(e.right,t)},JSXAttribute(e){let t="prop";s(t)&&e.value&&"JSXExpressionContainer"===e.value.type&&r(e.value.expression,t)},ObjectExpression(e){let t="propertyValue";s(t)&&e.properties.forEach(e=>{"Property"===e.type&&"JSXElement"===e.value.type&&r(e.value,t)})}}}})}};const sb=function(e,t,s){let i=Object.fromEntries(Object.entries(e.rules).filter(([e,t])=>t.meta.fixable&&!t.meta.deprecated&&e===t.meta.docs.url.split("/").pop()&&!0).map(([e])=>[`${t}/${e}`,2]));return{plugins:{[t]:e},rules:i}}(sy,"@stylistic/jsx"),sv=Object.assign(sy,{configs:{"disable-legacy":{rules:{"react/jsx-child-element-spacing":0,"react/jsx-closing-bracket-location":0,"react/jsx-closing-tag-location":0,"react/jsx-curly-brace-presence":0,"react/jsx-curly-newline":0,"react/jsx-curly-spacing":0,"react/jsx-equals-spacing":0,"react/jsx-first-prop-new-line":0,"react/jsx-function-call-newline":0,"react/jsx-indent":0,"react/jsx-indent-props":0,"react/jsx-max-props-per-line":0,"react/jsx-newline":0,"react/jsx-one-expression-per-line":0,"react/jsx-pascal-case":0,"react/jsx-props-no-multi-spaces":0,"react/jsx-self-closing-comp":0,"react/jsx-sort-props":0,"react/jsx-tag-spacing":0,"react/jsx-wrap-multilines":0}},all:sb,"all-flat":sb}}),sS=y.memo(k,"@eslint-react/eslint-plugin"),sC=y.memo(w.fixupPluginRules(_),"eslint-plugin-ssr-friendly");exports.next=function(){return[{...b.flatConfig.coreWebVitals,files:[y.constants.GLOB_TS,y.constants.GLOB_TSX,y.constants.GLOB_JSX],rules:{...b.flatConfig.coreWebVitals.rules,"@next/next/no-img-element":"warn"}}]},exports.react=function({reactCompiler:e="error",additionalHooks:t="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)",nextjs:s=!1,remix:i=!1,reactRefresh:r={},additionalHooksWithType:n={useLayoutEffect:["useIsomorphicLayoutEffect"],useEffect:["useAbortableEffect"]},additionalComponents:a=[{name:"Link",as:"a",attributes:[{name:"to",as:"href"},{name:"rel",as:"rel"}]}]}={}){let{allowConstantExport:o=!1}=r;return[{name:"@eslint-sukka/react base",files:[y.constants.GLOB_TS,y.constants.GLOB_TSX,y.constants.GLOB_JSX],plugins:{"jsx-a11y-minimal":y.memo(v.eslint_plugin_jsx_a11y_minimal,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":y.memo(S,"eslint-plugin-react-hooks"),"@stylistic/jsx":y.memo(sv,"@stylistic/eslint-plugin-jsx"),"react-prefer-function-component":y.memo(L,"eslint-plugin-react-prefer-function-component"),"react-compiler":y.memo(C,"eslint-plugin-react-compiler"),...sS.configs.recommended.plugins,"ssr-friendly":sC,"react-refresh":E},settings:{"react-x":{version:"detect",additionalHooks:n,additionalComponents:a}},languageOptions:{globals:y.globals.browser},rules:{...S.configs.recommended.rules,"react-compiler/react-compiler":e,"react-hooks/exhaustive-deps":["error",{additionalHooks:t}],"@stylistic/jsx/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...sS.configs.recommended.rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/prefer-destructuring-assignment":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/component-name":["error",{rule:"PascalCase"}],"@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"@eslint-react/naming-convention/use-state":"error","react-prefer-function-component/react-prefer-function-component":"error","@stylistic/jsx/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx/jsx-indent-props":["error",2],"@stylistic/jsx/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx/jsx-function-call-newline":["error","multiline"],"@stylistic/jsx/jsx-equals-spacing":["error","never"],"@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-child-element-spacing":"error","@stylistic/jsx/jsx-closing-bracket-location":["error","line-aligned"],"@stylistic/jsx/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"],ignoreClassesThatImplementAnInterface:"public-fields"}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn","react-refresh/only-export-components":["warn",{allowConstantExport:o,allowExportNames:[...s?["config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...i?["meta","links","headers","loader","action"]:[]]}]}},{files:["**/app/**/_*.?([cm])[jt]s?(x)",String.raw`**/app/**/\[*.?([cm])[jt]s?(x)`],rules:{"@eslint-react/naming-convention/filename":"off"}}]},exports.stylex=function({opt:e={}}={}){return[{plugins:{"@stylexjs":A},files:[y.constants.GLOB_TS,y.constants.GLOB_TSX,y.constants.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e],"@stylexjs/sort-keys":"off"}}]};
|
|
14
|
+
)`)})}}return{VariableDeclarator(e){let t="declaration";if(s(t)){if(!s("condition")&&e.init&&"ConditionalExpression"===e.init.type){r(e.init.consequent,t),r(e.init.alternate,t);return}r(e.init,t)}},AssignmentExpression(e){let t="assignment";if(s(t)){if(!s("condition")&&"ConditionalExpression"===e.right.type){r(e.right.consequent,t),r(e.right.alternate,t);return}r(e.right,t)}},ReturnStatement(e){let t="return";s(t)&&r(e.argument,t)},"ArrowFunctionExpression:exit":e=>{let t=e.body,i="arrow";s(i)&&"BlockStatement"!==t.type&&r(t,i)},ConditionalExpression(e){let t="condition";s(t)&&(r(e.consequent,t),r(e.alternate,t))},LogicalExpression(e){let t="logical";s(t)&&r(e.right,t)},JSXAttribute(e){let t="prop";s(t)&&e.value&&"JSXExpressionContainer"===e.value.type&&r(e.value.expression,t)},ObjectExpression(e){let t="propertyValue";s(t)&&e.properties.forEach(e=>{"Property"===e.type&&"JSXElement"===e.value.type&&r(e.value,t)})}}}})}};const sb=function(e,t,s){let i=Object.fromEntries(Object.entries(e.rules).filter(([e,t])=>t.meta.fixable&&!t.meta.deprecated&&e===t.meta.docs.url.split("/").pop()&&!0).map(([e])=>[`${t}/${e}`,2]));return{plugins:{[t]:e},rules:i}}(sy,"@stylistic/jsx"),sv=Object.assign(sy,{configs:{"disable-legacy":{rules:{"react/jsx-child-element-spacing":0,"react/jsx-closing-bracket-location":0,"react/jsx-closing-tag-location":0,"react/jsx-curly-brace-presence":0,"react/jsx-curly-newline":0,"react/jsx-curly-spacing":0,"react/jsx-equals-spacing":0,"react/jsx-first-prop-new-line":0,"react/jsx-function-call-newline":0,"react/jsx-indent":0,"react/jsx-indent-props":0,"react/jsx-max-props-per-line":0,"react/jsx-newline":0,"react/jsx-one-expression-per-line":0,"react/jsx-pascal-case":0,"react/jsx-props-no-multi-spaces":0,"react/jsx-self-closing-comp":0,"react/jsx-sort-props":0,"react/jsx-tag-spacing":0,"react/jsx-wrap-multilines":0}},all:sb,"all-flat":sb}}),sS=y.memo(k,"@eslint-react/eslint-plugin"),sC=y.memo(w.fixupPluginRules(_),"eslint-plugin-ssr-friendly");exports.next=function(){return[{...b.flatConfig.coreWebVitals,files:[y.constants.GLOB_TS,y.constants.GLOB_TSX,y.constants.GLOB_JSX],rules:{...b.flatConfig.coreWebVitals.rules,"@next/next/no-img-element":"warn"}}]},exports.react=function({reactCompiler:e="error",additionalHooks:t="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)",nextjs:s=!1,remix:i=!1,reactRefresh:r={},additionalHooksWithType:n={useLayoutEffect:["useIsomorphicLayoutEffect"],useEffect:["useAbortableEffect"]},additionalComponents:a=[{name:"Link",as:"a",attributes:[{name:"to",as:"href"},{name:"rel",as:"rel"}]}]}={}){let{allowConstantExport:o=!1}=r;return[{name:"@eslint-sukka/react base",files:[y.constants.GLOB_TS,y.constants.GLOB_TSX,y.constants.GLOB_JSX],plugins:{"jsx-a11y-minimal":y.memo(v.eslint_plugin_jsx_a11y_minimal,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":y.memo(S,"eslint-plugin-react-hooks"),"@stylistic/jsx":y.memo(sv,"@stylistic/eslint-plugin-jsx"),"react-prefer-function-component":y.memo(L,"eslint-plugin-react-prefer-function-component"),"react-compiler":y.memo(C,"eslint-plugin-react-compiler"),...sS.configs.recommended.plugins,"ssr-friendly":sC,"react-refresh":E},settings:{"react-x":{version:"detect",additionalHooks:n,additionalComponents:a}},languageOptions:{globals:y.globals.browser},rules:{...S.configs.recommended.rules,"react-compiler/react-compiler":e,"react-hooks/exhaustive-deps":["error",{additionalHooks:t}],"@stylistic/jsx/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...sS.configs.recommended.rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/prefer-destructuring-assignment":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/component-name":["error",{rule:"PascalCase"}],"@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"@eslint-react/naming-convention/use-state":"error","react-prefer-function-component/react-prefer-function-component":"error","@stylistic/jsx/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx/jsx-indent-props":["error",2],"@stylistic/jsx/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx/jsx-function-call-newline":["error","multiline"],"@stylistic/jsx/jsx-equals-spacing":["error","never"],"@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-child-element-spacing":"error","@stylistic/jsx/jsx-closing-bracket-location":["error","line-aligned"],"@stylistic/jsx/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/jsx-uses-react":"off","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"],ignoreClassesThatImplementAnInterface:"public-fields"}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn","react-refresh/only-export-components":["warn",{allowConstantExport:o,allowExportNames:[...s?["config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...i?["meta","links","headers","loader","action"]:[]]}]}},{files:["**/app/**/_*.?([cm])[jt]s?(x)",String.raw`**/app/**/\[*.?([cm])[jt]s?(x)`],rules:{"@eslint-react/naming-convention/filename":"off"}}]},exports.stylex=function({opt:e={}}={}){return[{plugins:{"@stylexjs":A},files:[y.constants.GLOB_TS,y.constants.GLOB_TSX,y.constants.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e],"@stylexjs/sort-keys":"off"}}]};
|
package/dist/index.mjs
CHANGED
|
@@ -11,4 +11,4 @@ ${p}${a}${a.length>0?`
|
|
|
11
11
|
${p}`:""}${n.getText(s)}
|
|
12
12
|
${c})`)})}else e.report({node:s,messageId:"missingParens",fix:e=>e.replaceText(s,`(
|
|
13
13
|
${n.getText(s)}
|
|
14
|
-
)`)})}}return{VariableDeclarator(e){let t="declaration";if(s(t)){if(!s("condition")&&e.init&&"ConditionalExpression"===e.init.type){r(e.init.consequent,t),r(e.init.alternate,t);return}r(e.init,t)}},AssignmentExpression(e){let t="assignment";if(s(t)){if(!s("condition")&&"ConditionalExpression"===e.right.type){r(e.right.consequent,t),r(e.right.alternate,t);return}r(e.right,t)}},ReturnStatement(e){let t="return";s(t)&&r(e.argument,t)},"ArrowFunctionExpression:exit":e=>{let t=e.body,i="arrow";s(i)&&"BlockStatement"!==t.type&&r(t,i)},ConditionalExpression(e){let t="condition";s(t)&&(r(e.consequent,t),r(e.alternate,t))},LogicalExpression(e){let t="logical";s(t)&&r(e.right,t)},JSXAttribute(e){let t="prop";s(t)&&e.value&&"JSXExpressionContainer"===e.value.type&&r(e.value.expression,t)},ObjectExpression(e){let t="propertyValue";s(t)&&e.properties.forEach(e=>{"Property"===e.type&&"JSXElement"===e.value.type&&r(e.value,t)})}}}})}};let sC=function(e,t,s){let i=Object.fromEntries(Object.entries(e.rules).filter(([e,t])=>t.meta.fixable&&!t.meta.deprecated&&e===t.meta.docs.url.split("/").pop()&&!0).map(([e])=>[`${t}/${e}`,2]));return{plugins:{[t]:e},rules:i}}(sS,"@stylistic/jsx"),sE=Object.assign(sS,{configs:{"disable-legacy":{rules:{"react/jsx-child-element-spacing":0,"react/jsx-closing-bracket-location":0,"react/jsx-closing-tag-location":0,"react/jsx-curly-brace-presence":0,"react/jsx-curly-newline":0,"react/jsx-curly-spacing":0,"react/jsx-equals-spacing":0,"react/jsx-first-prop-new-line":0,"react/jsx-function-call-newline":0,"react/jsx-indent":0,"react/jsx-indent-props":0,"react/jsx-max-props-per-line":0,"react/jsx-newline":0,"react/jsx-one-expression-per-line":0,"react/jsx-pascal-case":0,"react/jsx-props-no-multi-spaces":0,"react/jsx-self-closing-comp":0,"react/jsx-sort-props":0,"react/jsx-tag-spacing":0,"react/jsx-wrap-multilines":0}},all:sC,"all-flat":sC}}),sk=s(p,"@eslint-react/eslint-plugin"),s_=s(u(c),"eslint-plugin-ssr-friendly");function sw({reactCompiler:e="error",additionalHooks:r="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)",nextjs:p=!1,remix:c=!1,reactRefresh:u={},additionalHooksWithType:h={useLayoutEffect:["useIsomorphicLayoutEffect"],useEffect:["useAbortableEffect"]},additionalComponents:d=[{name:"Link",as:"a",attributes:[{name:"to",as:"href"},{name:"rel",as:"rel"}]}]}={}){let{allowConstantExport:f=!1}=u;return[{name:"@eslint-sukka/react base",files:[t.GLOB_TS,t.GLOB_TSX,t.GLOB_JSX],plugins:{"jsx-a11y-minimal":s(n,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":s(a,"eslint-plugin-react-hooks"),"@stylistic/jsx":s(sE,"@stylistic/eslint-plugin-jsx"),"react-prefer-function-component":s(j,"eslint-plugin-react-prefer-function-component"),"react-compiler":s(o,"eslint-plugin-react-compiler"),...sk.configs.recommended.plugins,"ssr-friendly":s_,"react-refresh":l},settings:{"react-x":{version:"detect",additionalHooks:h,additionalComponents:d}},languageOptions:{globals:i.browser},rules:{...a.configs.recommended.rules,"react-compiler/react-compiler":e,"react-hooks/exhaustive-deps":["error",{additionalHooks:r}],"@stylistic/jsx/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...sk.configs.recommended.rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/prefer-destructuring-assignment":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/component-name":["error",{rule:"PascalCase"}],"@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"@eslint-react/naming-convention/use-state":"error","react-prefer-function-component/react-prefer-function-component":"error","@stylistic/jsx/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx/jsx-indent-props":["error",2],"@stylistic/jsx/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx/jsx-function-call-newline":["error","multiline"],"@stylistic/jsx/jsx-equals-spacing":["error","never"],"@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-child-element-spacing":"error","@stylistic/jsx/jsx-closing-bracket-location":["error","line-aligned"],"@stylistic/jsx/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"],ignoreClassesThatImplementAnInterface:"public-fields"}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn","react-refresh/only-export-components":["warn",{allowConstantExport:f,allowExportNames:[...p?["config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...c?["meta","links","headers","loader","action"]:[]]}]}},{files:["**/app/**/_*.?([cm])[jt]s?(x)",String.raw`**/app/**/\[*.?([cm])[jt]s?(x)`],rules:{"@eslint-react/naming-convention/filename":"off"}}]}function sA({opt:e={}}={}){return[{plugins:{"@stylexjs":h},files:[t.GLOB_TS,t.GLOB_TSX,t.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e],"@stylexjs/sort-keys":"off"}}]}export{d as next,sw as react,sA as stylex};
|
|
14
|
+
)`)})}}return{VariableDeclarator(e){let t="declaration";if(s(t)){if(!s("condition")&&e.init&&"ConditionalExpression"===e.init.type){r(e.init.consequent,t),r(e.init.alternate,t);return}r(e.init,t)}},AssignmentExpression(e){let t="assignment";if(s(t)){if(!s("condition")&&"ConditionalExpression"===e.right.type){r(e.right.consequent,t),r(e.right.alternate,t);return}r(e.right,t)}},ReturnStatement(e){let t="return";s(t)&&r(e.argument,t)},"ArrowFunctionExpression:exit":e=>{let t=e.body,i="arrow";s(i)&&"BlockStatement"!==t.type&&r(t,i)},ConditionalExpression(e){let t="condition";s(t)&&(r(e.consequent,t),r(e.alternate,t))},LogicalExpression(e){let t="logical";s(t)&&r(e.right,t)},JSXAttribute(e){let t="prop";s(t)&&e.value&&"JSXExpressionContainer"===e.value.type&&r(e.value.expression,t)},ObjectExpression(e){let t="propertyValue";s(t)&&e.properties.forEach(e=>{"Property"===e.type&&"JSXElement"===e.value.type&&r(e.value,t)})}}}})}};let sC=function(e,t,s){let i=Object.fromEntries(Object.entries(e.rules).filter(([e,t])=>t.meta.fixable&&!t.meta.deprecated&&e===t.meta.docs.url.split("/").pop()&&!0).map(([e])=>[`${t}/${e}`,2]));return{plugins:{[t]:e},rules:i}}(sS,"@stylistic/jsx"),sE=Object.assign(sS,{configs:{"disable-legacy":{rules:{"react/jsx-child-element-spacing":0,"react/jsx-closing-bracket-location":0,"react/jsx-closing-tag-location":0,"react/jsx-curly-brace-presence":0,"react/jsx-curly-newline":0,"react/jsx-curly-spacing":0,"react/jsx-equals-spacing":0,"react/jsx-first-prop-new-line":0,"react/jsx-function-call-newline":0,"react/jsx-indent":0,"react/jsx-indent-props":0,"react/jsx-max-props-per-line":0,"react/jsx-newline":0,"react/jsx-one-expression-per-line":0,"react/jsx-pascal-case":0,"react/jsx-props-no-multi-spaces":0,"react/jsx-self-closing-comp":0,"react/jsx-sort-props":0,"react/jsx-tag-spacing":0,"react/jsx-wrap-multilines":0}},all:sC,"all-flat":sC}}),sk=s(p,"@eslint-react/eslint-plugin"),s_=s(u(c),"eslint-plugin-ssr-friendly");function sw({reactCompiler:e="error",additionalHooks:r="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)",nextjs:p=!1,remix:c=!1,reactRefresh:u={},additionalHooksWithType:h={useLayoutEffect:["useIsomorphicLayoutEffect"],useEffect:["useAbortableEffect"]},additionalComponents:d=[{name:"Link",as:"a",attributes:[{name:"to",as:"href"},{name:"rel",as:"rel"}]}]}={}){let{allowConstantExport:f=!1}=u;return[{name:"@eslint-sukka/react base",files:[t.GLOB_TS,t.GLOB_TSX,t.GLOB_JSX],plugins:{"jsx-a11y-minimal":s(n,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":s(a,"eslint-plugin-react-hooks"),"@stylistic/jsx":s(sE,"@stylistic/eslint-plugin-jsx"),"react-prefer-function-component":s(j,"eslint-plugin-react-prefer-function-component"),"react-compiler":s(o,"eslint-plugin-react-compiler"),...sk.configs.recommended.plugins,"ssr-friendly":s_,"react-refresh":l},settings:{"react-x":{version:"detect",additionalHooks:h,additionalComponents:d}},languageOptions:{globals:i.browser},rules:{...a.configs.recommended.rules,"react-compiler/react-compiler":e,"react-hooks/exhaustive-deps":["error",{additionalHooks:r}],"@stylistic/jsx/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...sk.configs.recommended.rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/prefer-destructuring-assignment":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/component-name":["error",{rule:"PascalCase"}],"@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"@eslint-react/naming-convention/use-state":"error","react-prefer-function-component/react-prefer-function-component":"error","@stylistic/jsx/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx/jsx-indent-props":["error",2],"@stylistic/jsx/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx/jsx-function-call-newline":["error","multiline"],"@stylistic/jsx/jsx-equals-spacing":["error","never"],"@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-child-element-spacing":"error","@stylistic/jsx/jsx-closing-bracket-location":["error","line-aligned"],"@stylistic/jsx/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/jsx-uses-react":"off","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"],ignoreClassesThatImplementAnInterface:"public-fields"}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn","react-refresh/only-export-components":["warn",{allowConstantExport:f,allowExportNames:[...p?["config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...c?["meta","links","headers","loader","action"]:[]]}]}},{files:["**/app/**/_*.?([cm])[jt]s?(x)",String.raw`**/app/**/\[*.?([cm])[jt]s?(x)`],rules:{"@eslint-react/naming-convention/filename":"off"}}]}function sA({opt:e={}}={}){return[{plugins:{"@stylexjs":h},files:[t.GLOB_TS,t.GLOB_TSX,t.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e],"@stylexjs/sort-keys":"off"}}]}export{d as next,sw as react,sA as stylex};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eslint-sukka/react",
|
|
3
|
-
"version": "6.18.
|
|
3
|
+
"version": "6.18.2",
|
|
4
4
|
"description": "Sukka's ESLint config",
|
|
5
5
|
"homepage": "https://github.com/SukkaW/eslint-config-sukka",
|
|
6
6
|
"repository": {
|
|
@@ -28,22 +28,22 @@
|
|
|
28
28
|
"author": "Sukka <https://skk.moe>",
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@eslint-react/eslint-plugin": "^1.
|
|
31
|
+
"@eslint-react/eslint-plugin": "^1.42.1",
|
|
32
32
|
"@eslint/compat": "^1.2.8",
|
|
33
|
-
"@next/eslint-plugin-next": "^15.3.0-canary.
|
|
33
|
+
"@next/eslint-plugin-next": "^15.3.0-canary.45",
|
|
34
34
|
"@stylexjs/eslint-plugin": "^0.11.1",
|
|
35
35
|
"@stylexjs/shared": "^0.11.1",
|
|
36
|
-
"eslint-plugin-react-compiler": "^19.0.0-beta-e993439-
|
|
36
|
+
"eslint-plugin-react-compiler": "^19.0.0-beta-e993439-20250405",
|
|
37
37
|
"eslint-plugin-react-hooks": "^5.2.0",
|
|
38
38
|
"eslint-plugin-react-refresh": "^0.4.19",
|
|
39
39
|
"eslint-plugin-ssr-friendly": "^1.3.0",
|
|
40
|
-
"@eslint-sukka/eslint-plugin-react-jsx-a11y": "6.18.
|
|
41
|
-
"@eslint-sukka/shared": "6.18.
|
|
40
|
+
"@eslint-sukka/eslint-plugin-react-jsx-a11y": "6.18.2",
|
|
41
|
+
"@eslint-sukka/shared": "6.18.2"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@stylistic/eslint-plugin-jsx": "^4.2.0",
|
|
45
45
|
"eslint-plugin-react-prefer-function-component": "^4.0.1",
|
|
46
|
-
"@eslint-sukka/rollup-config": "6.18.
|
|
46
|
+
"@eslint-sukka/rollup-config": "6.18.2"
|
|
47
47
|
},
|
|
48
48
|
"scripts": {
|
|
49
49
|
"build": "rollup -c rollup.config.ts --configPlugin swc3"
|