eslint-config-silverwind 131.0.1 → 131.0.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.d.ts CHANGED
@@ -2,7 +2,5 @@ import { Linter } from "eslint";
2
2
 
3
3
  //#region index.d.ts
4
4
  declare const config: Array<Linter.Config>;
5
- declare const defineConfig: any;
6
- declare const globalIgnores: any;
7
5
  //#endregion
8
- export { config as default, defineConfig, globalIgnores };
6
+ export { config as default };
package/dist/index.js CHANGED
@@ -1072,4 +1072,4 @@ Unable to find an `+(r===!1?`accessible `:``)+`element with the role "`+t+`"`+c+
1072
1072
  `),c=s[o.loc.start.line-1]?.match(/^\s*/)?.[0]??``,l=s.slice(i.loc.start.line-1,i.loc.end.line).join(`
1073
1073
  `).trimStart();if(n.length===t.body.length&&n.length===1){let t=r.getTokenAfter(o);return[e.insertTextBefore(o,l),t?.value===`;`?e.removeRange([o.range[0],t.range[1]]):e.remove(o)]}let u=r.getIndexFromLoc({line:i.loc.start.line,column:0}),d=r.getIndexFromLoc({line:i.loc.end.line+1,column:0});return[e.insertTextBefore(o,l+`
1074
1074
  `+c),e.removeRange([u,d])]}}))}function p(t){if(!i(t))return;let a=M9(t)?W9(t.callee):null;!a&&!c(t)&&!l(t)||a&&!n.isFireEventUtil(a)&&!n.isUserEventUtil(a)&&!n.isRenderUtil(a)||e.report({node:t,messageId:`noSideEffectsWaitFor`,fix:e=>{let{parent:n}=t.parent,i=(0,Z6.isAwaitExpression)(n.parent)?n.parent:n;return e.replaceText(i,r.getText(t))}})}return{"CallExpression > ArrowFunctionExpression > BlockStatement":f,"CallExpression > ArrowFunctionExpression > CallExpression":p,"CallExpression > ArrowFunctionExpression > AssignmentExpression":p,"CallExpression > ArrowFunctionExpression > SequenceExpression":p,"CallExpression > FunctionExpression > BlockStatement":f}}});const XTt=/^(toMatchSnapshot|toMatchInlineSnapshot)$/;var ZTt=Q9({name:`no-wait-for-snapshot`,meta:{type:`problem`,docs:{description:"Ensures no snapshot is generated inside of a `waitFor` call",recommendedConfig:{dom:`error`,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{noWaitForSnapshot:"A snapshot can't be generated inside of a `{{ name }}` call"},schema:[]},defaultOptions:[],create(e,t,n){function r(e){let t=e;do{let e=B9(t);if(!e)return null;if($.ASTUtils.isIdentifier(e.callee)&&n.isAsyncUtil(e.callee))return e.callee;if(I9(e.callee)&&$.ASTUtils.isIdentifier(e.callee.property)&&n.isAsyncUtil(e.callee.property))return e.callee.property;e.parent&&(t=B9(e.parent))}while(t!==null);return null}return{[`Identifier[name=${String(XTt)}]`](t){let n=r(t);n!==null&&e.report({node:t,messageId:`noWaitForSnapshot`,data:{name:n.name}})}}}});const QTt=e=>!!e.parent?.parent&&e.parent.parent.type===$.TSESTree.AST_NODE_TYPES.ExpressionStatement||e.parent?.parent?.type===$.TSESTree.AST_NODE_TYPES.AwaitExpression&&!!e.parent.parent.parent&&e.parent.parent.parent.type===$.TSESTree.AST_NODE_TYPES.ExpressionStatement,$Tt=e=>!!(M9(e.parent)&&$.ASTUtils.isAwaitExpression(e.parent.parent)&&$.ASTUtils.isVariableDeclarator(e.parent.parent.parent)||M9(e.parent)&&$.ASTUtils.isVariableDeclarator(e.parent.parent)||I9(e.parent)&&M9(e.parent.parent)&&$.ASTUtils.isAwaitExpression(e.parent.parent.parent)&&$.ASTUtils.isVariableDeclarator(e.parent.parent.parent.parent)||I9(e.parent)&&M9(e.parent.parent)&&$.ASTUtils.isVariableDeclarator(e.parent.parent.parent));var eEt=Q9({name:`prefer-explicit-assert`,meta:{type:`suggestion`,docs:{description:`Suggest using explicit assertions rather than standalone queries`,recommendedConfig:{dom:!1,angular:!1,react:!1,vue:!1,svelte:!1,marko:!1}},messages:{preferExplicitAssert:"Wrap stand-alone `{{queryType}}` query with `expect` function for better explicit assertion",preferExplicitAssertAssertion:"`getBy*` queries must be asserted with `{{assertion}}`"},schema:[{type:`object`,additionalProperties:!1,properties:{assertion:{type:`string`,enum:[...pTt]},includeFindQueries:{type:`boolean`}}}]},defaultOptions:[{includeFindQueries:!0}],create(e,[t],n){let{assertion:r,includeFindQueries:i}=t,a=[],o=[];return{"CallExpression Identifier"(e){n.isGetQueryVariant(e)&&a.push(e),n.isFindQueryVariant(e)&&o.push(e)},"Program:exit"(){i&&o.forEach(t=>{let n=I9(t.parent)?t.parent:t;$Tt(t)||!QTt(n)||e.report({node:t,messageId:`preferExplicitAssert`,data:{queryType:`findBy*`}})}),a.forEach(t=>{let n=I9(t.parent)?t.parent:t;if(QTt(n)&&e.report({node:t,messageId:`preferExplicitAssert`,data:{queryType:`getBy*`}}),r){let t=fwt(n,`expect`);if(!t)return;let i=t.parent;if(!I9(i))return;let a=i.property;if(!$.ASTUtils.isIdentifier(a))return;let o=a.name,s=!1;o===`not`&&I9(i.parent)&&$.ASTUtils.isIdentifier(i.parent.property)&&(s=!0,o=i.parent.property.name),(!s&&pTt.some(e=>e===o)||s&&mTt.some(e=>e===o))&&o!==r&&e.report({node:a,messageId:`preferExplicitAssertAssertion`,data:{assertion:r}})}})}}}});function tEt(e){return e.includes(`All`)?`findAllBy`:`findBy`}function nEt(e,t){if(!e)return null;let n=e.variables.find(e=>e.name===t);return n?n.defs.map(({name:e})=>e).filter($.ASTUtils.isIdentifier).find(({name:e})=>e===t)??null:nEt(e.upper,t)}var rEt=Q9({name:`prefer-find-by`,meta:{type:`suggestion`,docs:{description:"Suggest using `find(All)By*` query instead of `waitFor` + `get(All)By*` to wait for elements",recommendedConfig:{dom:`error`,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{preferFindBy:"Prefer `{{queryVariant}}{{queryMethod}}` query over using `waitFor` + `{{prevQuery}}`"},fixable:`code`,schema:[]},defaultOptions:[],create(e,t,n){let r=A9(e);function i(t,n){let{queryMethod:r,queryVariant:i,prevQuery:a,fix:o}=n;e.report({node:t,messageId:`preferFindBy`,data:{queryVariant:i,queryMethod:r,prevQuery:a},fix:o})}function a(e){return!M9(e.body)||!I9(e.body.callee)?null:M9(e.body.callee.object)&&M9(e.body.callee.object.arguments[0])&&$.ASTUtils.isIdentifier(e.body.callee.object.arguments[0].callee)?e.body.callee.object.arguments[0].callee:$.ASTUtils.isIdentifier(e.body.callee.property)?M9(e.body.callee.object)&&M9(e.body.callee.object.arguments[0])&&I9(e.body.callee.object.arguments[0].callee)&&$.ASTUtils.isIdentifier(e.body.callee.object.arguments[0].callee.property)?e.body.callee.object.arguments[0].callee.property:I9(e.body.callee.object)&&M9(e.body.callee.object.object)&&M9(e.body.callee.object.object.arguments[0])&&I9(e.body.callee.object.object.arguments[0].callee)&&$.ASTUtils.isIdentifier(e.body.callee.object.object.arguments[0].callee.property)?e.body.callee.object.object.arguments[0].callee.property:I9(e.body.callee.object)&&M9(e.body.callee.object.object)&&M9(e.body.callee.object.object.arguments[0])&&$.ASTUtils.isIdentifier(e.body.callee.object.object.arguments[0].callee)?e.body.callee.object.object.arguments[0].callee:e.body.callee.property:null}function o(e){return M9(e.body)?$.ASTUtils.isIdentifier(e.body.callee)&&n.isSyncQuery(e.body.callee)?e.body.callee:a(e):null}function s(e){return!M9(e.body)||!I9(e.body.callee)?null:$.ASTUtils.isIdentifier(e.body.callee.object)?e.body.callee.object.name:M9(e.body.callee.object)&&$.ASTUtils.isIdentifier(e.body.callee.object.callee)&&M9(e.body.callee.object.arguments[0])&&I9(e.body.callee.object.arguments[0].callee)&&$.ASTUtils.isIdentifier(e.body.callee.object.arguments[0].callee.object)?e.body.callee.object.arguments[0].callee.object.name:I9(e.body.callee.object)&&M9(e.body.callee.object.object)&&M9(e.body.callee.object.object.arguments[0])&&I9(e.body.callee.object.object.arguments[0].callee)&&$.ASTUtils.isIdentifier(e.body.callee.object.object.arguments[0].callee.object)?e.body.callee.object.object.arguments[0].callee.object.name:null}function c(e){if(!M9(e.body))return!1;let t=$.ASTUtils.isIdentifier(e.body.callee)&&n.isSyncQuery(e.body.callee),r=I9(e.body.callee)&&M9(e.body.callee.object)&&M9(e.body.callee.object.arguments[0])&&$.ASTUtils.isIdentifier(e.body.callee.object.arguments[0].callee)&&n.isSyncQuery(e.body.callee.object.arguments[0].callee)&&n.isPresenceAssert(e.body.callee),i=I9(e.body.callee)&&I9(e.body.callee.object)&&M9(e.body.callee.object.object)&&M9(e.body.callee.object.object.arguments[0])&&$.ASTUtils.isIdentifier(e.body.callee.object.object.arguments[0].callee)&&n.isSyncQuery(e.body.callee.object.object.arguments[0].callee)&&n.isPresenceAssert(e.body.callee.object);return t||r||i}function l(e){if(!j9(e)||!M9(e.body)||!I9(e.body.callee)||!$.ASTUtils.isIdentifier(e.body.callee.property)||!$.ASTUtils.isIdentifier(e.body.callee.object)&&!M9(e.body.callee.object)&&!I9(e.body.callee.object))return!1;let t=n.isPresenceAssert(e.body.callee)&&M9(e.body.callee.object)&&M9(e.body.callee.object.arguments[0])&&I9(e.body.callee.object.arguments[0].callee)&&$.ASTUtils.isIdentifier(e.body.callee.object.arguments[0].callee.object),r=I9(e.body.callee.object)&&n.isPresenceAssert(e.body.callee.object)&&M9(e.body.callee.object.object)&&M9(e.body.callee.object.object.arguments[0])&&I9(e.body.callee.object.object.arguments[0].callee);return n.isSyncQuery(e.body.callee.property)||t||r}function u(e){return I9(e.callee)&&M9(e.callee.object)&&M9(e.callee.object.arguments[0])?e.callee.object.arguments[0].arguments:I9(e.callee)&&I9(e.callee.object)&&M9(e.callee.object.object)&&M9(e.callee.object.object.arguments[0])?e.callee.object.object.arguments[0].arguments:e.arguments}return{"AwaitExpression > CallExpression"(t){if(!$.ASTUtils.isIdentifier(t.callee)||!n.isAsyncUtil(t.callee,[`waitFor`]))return;let a=t.arguments[0];if(!j9(a))return;if(JCt(a.body)&&a.async){let{body:e}=a.body,o=(e.filter(YCt)?.flatMap(e=>e.declarations)).find(e=>{if(!$.ASTUtils.isAwaitExpression(e.init)||!M9(e.init.argument))return!1;let{callee:t}=e.init.argument,r=G9(t);return r?n.isFindQueryVariant(r):!1}),s=$.ASTUtils.isAwaitExpression(o?.init)?o.init.argument:null;if(!M9(s))return;let c=G9(s.callee);if(!c||!n.isAsyncQuery(c))return;let l=c.name,u=l.split(`By`)[1],d=tEt(l);if(!u)throw Error(`Query method could not be determined.`);i(t,{queryMethod:u,queryVariant:d,prevQuery:l,fix(e){let{parent:n}=t.parent,i=r.getText(a.body).slice(1,-1).trim(),{line:o,column:s}=n.loc.start,c=r.getLines()[o-1]?.slice(0,s),l=i.split(`
1075
- `).map(e=>e.trim()).join(`\n${c}`);return e.replaceText(n,l)}});return}let d=a.body;if(!M9(d))return;if(l(a)){let e=s(a);if(!e)return;let c=o(a);if(!c)return;let l=c.name,f=t.arguments[1],p=``;swt(f)&&(p=`, ${r.getText(f)}`);let m=tEt(l),h=u(d),g=l.split(`By`)[1];if(!g)return;i(t,{queryMethod:g,queryVariant:m,prevQuery:l,fix(i){let a=`${e}.${m}${g}(${h.map(e=>r.getText(e)).join(`, `)}${p})`;if(!I9(d.callee))return null;let{property:o,object:s}=d.callee;if($.ASTUtils.isVariableDeclarator(t.parent.parent))return(0,Z6.isIdentifier)(o)&&n.isCustomQuery(o)?null:i.replaceText(t,a);if(!M9(s))return null;let c=r.getText(d),l=`await ${a}`,u=c.replace(r.getText(s.arguments[0]),l),f=c.replace(c,u);return i.replaceText(t.parent,f)}});return}if(!c(a))return;let f=o(a);if(!f)return;let p=f.name,m=p.split(`By`)[1],h=tEt(p),g=u(d);if(!m)throw Error(`Query method could not be determined.`);i(t,{queryMethod:m,queryVariant:h,prevQuery:p,fix(i){if(n.isCustomQuery(d.callee))return null;let a=`${h}${m}`,o=[],s=`${a}(${g.map(e=>r.getText(e)).join(`, `)})`;o.push(i.replaceText(t,s));let c=nEt(GCt(e,f),p);if(!c)return o;if(c.parent&&L9(c.parent.parent)){let e=c.parent.parent;if(e.properties.some(e=>R9(e)&&$.ASTUtils.isIdentifier(e.key)&&e.key.name===a))return o;let t=r.getText(e).replace(/(\s*})$/,`, ${a}$1`);o.push(i.replaceText(e,t))}return o}})}}}});const iEt=e=>I9(e.parent)&&e.parent.object.type===$.AST_NODE_TYPES.Identifier,aEt=(e,t)=>t?M9(e.parent)&&$.ASTUtils.isAwaitExpression(e.parent.parent)&&M9(e.parent.parent.parent)&&$.ASTUtils.isIdentifier(e.parent.parent.parent.callee)&&e.parent.parent.parent.callee.name===`expect`:M9(e.parent)&&M9(e.parent.parent)&&$.ASTUtils.isIdentifier(e.parent.parent.callee)&&e.parent.parent.callee.name===`expect`,oEt=(e,t,n)=>{if(t)return e.report({node:t,messageId:`preferImplicitAssert`,data:{queryType:n}})};var sEt=Q9({name:`prefer-implicit-assert`,meta:{type:`suggestion`,docs:{description:`Suggest using implicit assertions for getBy* & findBy* queries`,recommendedConfig:{dom:!1,angular:!1,react:!1,vue:!1,svelte:!1,marko:!1}},messages:{preferImplicitAssert:"Don't wrap `{{queryType}}` query with `expect` & presence matchers like `toBeInTheDocument` or `not.toBeNull` as `{{queryType}}` queries fail implicitly when element is not found"},schema:[]},defaultOptions:[],create(e,t,n){let r=[],i=[];return{"CallExpression Identifier"(e){n.isFindQueryVariant(e)&&r.push(e),n.isGetQueryVariant(e)&&i.push(e)},"Program:exit"(){r.forEach(t=>{let r=iEt(t)?t.parent:t;if(r&&aEt(r,!0)&&I9(r.parent?.parent?.parent?.parent)&&r.parent?.parent?.parent?.parent.property.type===$.AST_NODE_TYPES.Identifier&&n.isPresenceAssert(r.parent.parent.parent.parent))return oEt(e,r,`findBy*`)}),i.forEach(t=>{let r=iEt(t)?t.parent:t;if(r&&aEt(r,!1)&&I9(r.parent?.parent?.parent)&&r.parent?.parent?.parent.property.type===$.AST_NODE_TYPES.Identifier&&n.isPresenceAssert(r.parent.parent.parent))return oEt(e,r,`getBy*`)})}}}}),cEt=Q9({name:`prefer-presence-queries`,meta:{docs:{description:"Ensure appropriate `get*`/`query*` queries are used with their respective matchers",recommendedConfig:{dom:`error`,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{wrongPresenceQuery:"Use `getBy*` queries rather than `queryBy*` for checking element is present",wrongAbsenceQuery:"Use `queryBy*` queries rather than `getBy*` for checking element is NOT present"},fixable:`code`,schema:[{type:`object`,additionalProperties:!1,properties:{presence:{type:`boolean`},absence:{type:`boolean`}}}],type:`suggestion`},defaultOptions:[{presence:!0,absence:!0}],create(e,[{absence:t=!0,presence:n=!0}],r){return{"CallExpression Identifier"(i){let a=fwt(i,`expect`),o=fwt(i,`within`);if(!I9(a?.parent)||!r.isSyncQuery(i))return;let s=r.isGetQueryVariant(i),c=a.parent,l=r.isPresenceAssert(c),u=r.isAbsenceAssert(c);if(!(!l&&!u)){if(n&&(o||l)&&!s){let t=i.name.replace(/^query/,`get`);e.report({node:i,messageId:`wrongPresenceQuery`,fix:e=>e.replaceText(i,t)})}else if(!o&&t&&u&&s){let t=i.name.replace(/^get/,`query`);e.report({node:i,messageId:`wrongAbsenceQuery`,fix:e=>e.replaceText(i,t)})}}}}}}),lEt=Q9({name:`prefer-query-by-disappearance`,meta:{type:`problem`,docs:{description:"Suggest using `queryBy*` queries when waiting for disappearance",recommendedConfig:{dom:`error`,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{preferQueryByDisappearance:`Prefer using queryBy* when waiting for disappearance`},schema:[]},defaultOptions:[],create(e,t,n){function r(e){let t=W9(e);return t?n.isAsyncUtil(t,[`waitForElementToBeRemoved`]):!1}function i(t){let r=I9(t)?W9(t.property):W9(t);return r&&(n.isGetQueryVariant(r)||n.isFindQueryVariant(r))?(e.report({node:r,messageId:`preferQueryByDisappearance`}),!0):!1}function a(e){return!M9(e)||!I9(e.callee)&&!W9(e.callee)?!1:i(e.callee)}function o(e){return!z9(e)||!M9(e.argument)?!1:i(e.argument.callee)}function s(e){return!N9(e)||!M9(e.expression)||!I9(e.expression.callee)&&!W9(e.expression.callee)?!1:i(e.expression.callee)}function c(e){return o(e)||s(e)}function l(e){return cwt(e)?e.body.body.some(e=>c(e)):!1}function u(e){return!j9(e)||!JCt(e.body)?!1:e.body.body.some(e=>c(e))}function d(e){return!j9(e)||!M9(e.body)||!I9(e.body.callee)&&!W9(e.body.callee)?!1:i(e.body.callee)}function f(e){return u(e)||d(e)}function p(e){if(!r(e))return;let t=e.arguments[0];t&&(a(t),f(t),l(t))}return{CallExpression:p}}}),uEt=Q9({name:`prefer-query-matchers`,meta:{docs:{description:"Ensure the configured `get*`/`query*` query is used with the corresponding matchers",recommendedConfig:{dom:!1,angular:!1,react:!1,vue:!1,svelte:!1,marko:!1}},messages:{wrongQueryForMatcher:"Use `{{ query }}By*` queries for {{ matcher }}"},schema:[{type:`object`,additionalProperties:!1,properties:{validEntries:{type:`array`,items:{type:`object`,properties:{query:{type:`string`,enum:[`get`,`query`]},matcher:{type:`string`}},additionalProperties:!1}}}}],type:`suggestion`},defaultOptions:[{validEntries:[]}],create(e,[{validEntries:t}],n){return{"CallExpression Identifier"(r){let i=fwt(r,`expect`);if(!i||!I9(i.parent)||!n.isSyncQuery(r))return;let a=n.isGetQueryVariant(r),o=i.parent;for(let i of t){let{query:t,matcher:s}=i;n.isMatchingAssert(o,s)&&t!==(a?`get`:`query`)&&e.report({node:r,messageId:`wrongQueryForMatcher`,data:{query:t,matcher:s}})}}}}});const dEt=[`container`,`baseElement`];function fEt(e){let t=e.arguments[1];return swt(t)&&t.properties.some(e=>R9(e)&&$.ASTUtils.isIdentifier(e.key)&&dEt.includes(e.key.name))}var pEt=Q9({name:`prefer-screen-queries`,meta:{type:`suggestion`,docs:{description:"Suggest using `screen` while querying",recommendedConfig:{dom:`error`,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{preferScreenQueries:"Avoid destructuring queries from `render` result, use `screen.{{ name }}` instead"},schema:[]},defaultOptions:[],create(e,t,n){let r=[];function i(t){let n=Y9(e,t);n&&r.push(q9(n))}function a(e){return n.isRenderUtil(e)||r.includes(e.name)}function o(t){e.report({node:t,messageId:`preferScreenQueries`,data:{name:t.name}})}function s(e){if(L9(e.id))for(let t of e.id.properties)R9(t)&&$.ASTUtils.isIdentifier(t.key)&&n.isBuiltInQuery(t.key)&&l.push(t.key.name)}function c(e){return[`screen`,...u].includes(e)}let l=[],u=[];return{VariableDeclarator(e){if(!M9(e.init)||!$.ASTUtils.isIdentifier(e.init.callee))return;let t=a(e.init.callee);t||s(e);let n=e.init.callee.name===`within`,r=t&&fEt(e.init);!n&&!r||(L9(e.id)?s(e):$.ASTUtils.isIdentifier(e.id)&&u.push(e.id.name))},CallExpression(t){let r=G9(t);if(!r||(n.isRenderUtil(r)&&i(r),!n.isBuiltInQuery(r)))return;if(!I9(r.parent)){if(l.some(e=>e===r.name))return;o(r);return}let s=r.parent;if(M9(s.object)&&$.ASTUtils.isIdentifier(s.object.callee)&&s.object.callee.name!==`within`&&a(s.object.callee)&&!fEt(s.object)){o(r);return}let u=Kwt(t,e);$.ASTUtils.isIdentifier(s.object)&&!c(s.object.name)&&!c(u?.original??``)&&o(r)}}}});const mEt={click:[`click`,`type`,`selectOptions`,`deselectOptions`],change:[`upload`,`type`,`clear`,`selectOptions`,`deselectOptions`],dblClick:[`dblClick`],input:[`type`,`upload`,`selectOptions`,`deselectOptions`,`paste`],keyDown:[`type`,`tab`],keyPress:[`type`],keyUp:[`type`,`tab`],mouseDown:[`click`,`dblClick`,`selectOptions`,`deselectOptions`],mouseEnter:[`hover`,`selectOptions`,`deselectOptions`],mouseLeave:[`unhover`],mouseMove:[`hover`,`unhover`,`selectOptions`,`deselectOptions`],mouseOut:[`unhover`],mouseOver:[`hover`,`selectOptions`,`deselectOptions`],mouseUp:[`click`,`dblClick`,`selectOptions`,`deselectOptions`],paste:[`paste`],pointerDown:[`click`,`dblClick`,`selectOptions`,`deselectOptions`],pointerEnter:[`hover`,`selectOptions`,`deselectOptions`],pointerLeave:[`unhover`],pointerMove:[`hover`,`unhover`,`selectOptions`,`deselectOptions`],pointerOut:[`unhover`],pointerOver:[`hover`,`selectOptions`,`deselectOptions`],pointerUp:[`click`,`dblClick`,`selectOptions`,`deselectOptions`]};function hEt(e){return(mEt[e]?.map(e=>`userEvent.${e}`)??[]).join(`, `).replace(/, ([a-zA-Z.]+)$/,`, or $1`)}const gEt=Object.keys(mEt);var _Et=Q9({name:`prefer-user-event`,meta:{type:`suggestion`,docs:{description:"Suggest using `userEvent` over `fireEvent` for simulating user interactions",recommendedConfig:{dom:!1,angular:!1,react:!1,vue:!1,svelte:!1,marko:!1}},messages:{preferUserEvent:`Prefer using {{userEventMethods}} over fireEvent.{{fireEventMethod}}`},schema:[{type:`object`,properties:{allowedMethods:{type:`array`}},additionalProperties:!1}]},defaultOptions:[{allowedMethods:[]}],create(e,[t],n){let{allowedMethods:r}=t,i={},a=e=>!gEt.includes(e)||r.includes(e),o=(e,t)=>{if(!$.ASTUtils.isIdentifier(e.callee)&&!I9(e.callee))return t.name;let r=e.arguments[1];return $.ASTUtils.isIdentifier(r)&&i[r.name]!==void 0?i[r.name]:!M9(r)||!n.isCreateEventUtil(r)?t.name:$.ASTUtils.isIdentifier(r.callee)?r.arguments[0].value:r.callee.property.name};return{"CallExpression Identifier"(t){if(!n.isFireEventMethod(t))return;let r=B9(t,!0);if(!r)return;let i=o(r,t);!i||a(i)||e.report({node:r.callee,messageId:`preferUserEvent`,data:{userEventMethods:hEt(i),fireEventMethod:i}})},VariableDeclarator(e){if(!M9(e.init)||!n.isCreateEventUtil(e.init)||!$.ASTUtils.isIdentifier(e.id))return;let t=``;I9(e.init.callee)&&$.ASTUtils.isIdentifier(e.init.callee.property)?t=e.init.callee.property.name:e.init.arguments.length>0&&(t=e.init.arguments[0].value),a(t)||(i[e.id.name]=t)}}}});const vEt=`setup`;var yEt=Q9({name:`prefer-user-event-setup`,meta:{type:`suggestion`,docs:{description:`Suggest using userEvent with setup() instead of direct methods`,recommendedConfig:{dom:!1,angular:!1,react:!1,vue:!1,svelte:!1,marko:!1}},messages:{preferUserEventSetup:`Prefer using userEvent with setup() instead of direct {{method}}() call. Use: const user = userEvent.setup(); await user.{{method}}(...)`},schema:[]},defaultOptions:[],create(e,t,n){let r=new Set,i=new Map,a=null;function o(e){return e.type===$.AST_NODE_TYPES.CallExpression&&e.callee.type===$.AST_NODE_TYPES.MemberExpression&&e.callee.object.type===$.AST_NODE_TYPES.Identifier&&e.callee.object.name===a&&e.callee.property.type===$.AST_NODE_TYPES.Identifier&&e.callee.property.name===vEt}return{ImportDeclaration(e){if(e.source.value===`@testing-library/user-event`){let t=e.specifiers.find(e=>e.type===$.AST_NODE_TYPES.ImportDefaultSpecifier);t&&(a=t.local.name);let n=e.specifiers.find(e=>e.type===$.AST_NODE_TYPES.ImportSpecifier&&e.imported.type===$.AST_NODE_TYPES.Identifier&&e.imported.name===`userEvent`);n&&n.type===$.AST_NODE_TYPES.ImportSpecifier&&(a=n.local.name)}},VariableDeclarator(e){if(!(!a||!e.init)&&(o(e.init)&&e.id.type===$.AST_NODE_TYPES.Identifier&&r.add(e.id.name),e.id.type===$.AST_NODE_TYPES.ObjectPattern&&e.init.type===$.AST_NODE_TYPES.CallExpression&&e.init.callee.type===$.AST_NODE_TYPES.Identifier)){let t=e.init.callee.name,n=i.get(t);if(n)for(let t of e.id.properties)t.type===$.AST_NODE_TYPES.Property&&t.key.type===$.AST_NODE_TYPES.Identifier&&n.has(t.key.name)&&t.value.type===$.AST_NODE_TYPES.Identifier&&r.add(t.value.name)}},FunctionDeclaration(e){if(!(!a||!e.id)&&e.body&&e.body.type===$.AST_NODE_TYPES.BlockStatement){for(let t of e.body.body)if(t.type===$.AST_NODE_TYPES.ReturnStatement){let n=t;if(n.argument&&n.argument.type===$.AST_NODE_TYPES.ObjectExpression){let t=new Set;for(let e of n.argument.properties)e.type===$.AST_NODE_TYPES.Property&&e.key.type===$.AST_NODE_TYPES.Identifier&&e.value&&o(e.value)&&t.add(e.key.name);t.size>0&&i.set(e.id.name,t)}}}},CallExpression(t){if(a&&t.callee.type===$.AST_NODE_TYPES.MemberExpression&&t.callee.property.type===$.AST_NODE_TYPES.Identifier&&n.isUserEventMethod(t.callee.property)){let n=t.callee.property.name;if(n===vEt)return;t.callee.object.type===$.AST_NODE_TYPES.Identifier&&r.has(t.callee.object.name)||e.report({node:t.callee,messageId:`preferUserEventSetup`,data:{method:n}})}}}}});const bEt=[`view`,`utils`];var xEt=Q9({name:`render-result-naming-convention`,meta:{type:`suggestion`,docs:{description:"Enforce a valid naming for return value from `render`",recommendedConfig:{dom:!1,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{renderResultNamingConvention:`\`{{ renderResultName }}\` is not a recommended name for \`render\` returned value. Instead, you should destructure it, or name it using one of: ${bEt.map(e=>`\`${e}\``).join(`, `).replace(/, ([^,]*)$/,`, or $1`)}`},schema:[]},defaultOptions:[],create(e,t,n){let r=[];function i(t){let n=Y9(e,t);n&&r.push(q9(n))}return{CallExpression(e){let t=G9(e);t&&n.isRenderUtil(t)&&i(t)},VariableDeclarator(t){if(!t.init)return;let i=G9(t.init);if(!i||!n.isRenderVariableDeclarator(t)&&!r.includes(i.name)||L9(t.id))return;let a=$.ASTUtils.isIdentifier(t.id)&&t.id.name;a&&(bEt.includes(a)||e.report({node:t,messageId:`renderResultNamingConvention`,data:{renderResultName:a}}))}}}});const SEt={"await-async-events":xTt,"await-async-queries":CTt,"await-async-utils":wTt,"consistent-data-testid":TTt,"no-await-sync-events":ATt,"no-await-sync-queries":jTt,"no-container":MTt,"no-debugging-utils":NTt,"no-dom-import":LTt,"no-global-regexp-flag-in-query":RTt,"no-manual-cleanup":BTt,"no-node-access":VTt,"no-promise-in-fire-event":HTt,"no-render-in-lifecycle":WTt,"no-test-id-queries":KTt,"no-unnecessary-act":qTt,"no-wait-for-multiple-assertions":JTt,"no-wait-for-side-effects":YTt,"no-wait-for-snapshot":ZTt,"prefer-explicit-assert":eEt,"prefer-find-by":rEt,"prefer-implicit-assert":sEt,"prefer-presence-queries":cEt,"prefer-query-by-disappearance":lEt,"prefer-query-matchers":uEt,"prefer-screen-queries":pEt,"prefer-user-event":_Et,"prefer-user-event-setup":yEt,"render-result-naming-convention":xEt},{name:CEt,version:wEt}=t(import.meta.url)(p(u(h(import.meta.url)),`../package.json`)),TEt=`testing-library`;function EEt(){return Object.entries(UCt).reduce((e,[t,n])=>{let r=`flat/${t}`;return{...e,[r]:{name:`${TEt}/${t}`,plugins:{get"testing-library"(){return OEt}},rules:n.rules}}},{})}function DEt(){return Object.entries(UCt).reduce((e,[t,n])=>({...e,[t]:{plugins:[TEt],rules:n.rules}}),{})}const OEt={meta:{name:CEt,version:wEt},rules:SEt,configs:{...EEt(),...DEt()}},kEt=[`js`,`jsx`,`mjs`,`cjs`],AEt=[`ts`,`tsx`,`mts`,`cts`],jEt=[`jsx`,`tsx`];function MEt(){return[`WithStatement`,`ForInStatement`]}const NEt={paths:[{name:`punycode`},{name:`assert`}]},PEt=[{ignores:[`**/!.storybook/`,`**/*.snap`,`**/.air/`,`**/.git/`,`**/.playwright-mcp/`,`**/.ruff_cache/`,`**/.swc/`,`**/.venv/`,`**/build/`,`**/dist/`,`**/node_modules/`,`**/persistent/`,`**/vendor/`]},{files:[`**/*.{${[...kEt,...AEt].join(`,`)}}`],languageOptions:{ecmaVersion:`latest`,sourceType:`module`,globals:{...LU.default.browser,...LU.default.node},parser:x,parserOptions:{ecmaFeatures:{jsx:!0,impliedStrict:!0},projectService:!0}},linterOptions:{reportUnusedDisableDirectives:2,reportUnusedInlineConfigs:2},plugins:{"@eslint-community/eslint-comments":me.default,"@stylistic":ml,"@typescript-eslint":PQe.default.plugin,"array-func":Pl,"de-morgan":ku,"import-x":c,regexp:lE,sonarjs:MU.default,unicorn:Hwe},settings:{"import-x/extensions":[...kEt,...AEt].map(e=>`.${e}`),"import-x/parsers":{"@typescript-eslint/parser":[...kEt,...AEt].map(e=>`.${e}`)},"import-x/resolver":{"eslint-import-resolver-typescript":!0}},rules:{"@eslint-community/eslint-comments/disable-enable-pair":[2,{allowWholeFile:!0}],"@eslint-community/eslint-comments/no-aggregating-enable":[2],"@eslint-community/eslint-comments/no-duplicate-disable":[2],"@eslint-community/eslint-comments/no-restricted-disable":[0],"@eslint-community/eslint-comments/no-unlimited-disable":[2],"@eslint-community/eslint-comments/no-unused-disable":[2],"@eslint-community/eslint-comments/no-unused-enable":[2],"@eslint-community/eslint-comments/no-use":[0],"@eslint-community/eslint-comments/require-description":[0],"@stylistic/array-bracket-newline":[0],"@stylistic/array-bracket-spacing":[2,`never`],"@stylistic/array-element-newline":[0],"@stylistic/arrow-parens":[0],"@stylistic/arrow-spacing":[2,{before:!0,after:!0}],"@stylistic/block-spacing":[0],"@stylistic/brace-style":[2,`1tbs`,{allowSingleLine:!0}],"@stylistic/comma-dangle":[2,`only-multiline`],"@stylistic/comma-spacing":[2,{before:!1,after:!0}],"@stylistic/comma-style":[2,`last`],"@stylistic/computed-property-spacing":[2,`never`],"@stylistic/curly-newline":[0],"@stylistic/dot-location":[2,`property`],"@stylistic/eol-last":[2],"@stylistic/exp-list-style":[0],"@stylistic/function-call-argument-newline":[0],"@stylistic/function-call-spacing":[2,`never`],"@stylistic/function-paren-newline":[0],"@stylistic/generator-star-spacing":[0],"@stylistic/implicit-arrow-linebreak":[0],"@stylistic/indent":[2,2,{ignoreComments:!0,SwitchCase:1}],"@stylistic/indent-binary-ops":[0],"@stylistic/key-spacing":[2],"@stylistic/keyword-spacing":[2],"@stylistic/line-comment-position":[0],"@stylistic/linebreak-style":[2,`unix`],"@stylistic/lines-around-comment":[0],"@stylistic/lines-between-class-members":[0],"@stylistic/max-len":[0],"@stylistic/max-statements-per-line":[0],"@stylistic/member-delimiter-style":[0],"@stylistic/multiline-comment-style":[0],"@stylistic/multiline-ternary":[0],"@stylistic/new-parens":[2],"@stylistic/newline-per-chained-call":[0],"@stylistic/no-confusing-arrow":[0],"@stylistic/no-extra-parens":[0],"@stylistic/no-extra-semi":[2],"@stylistic/no-floating-decimal":[0],"@stylistic/no-mixed-operators":[0],"@stylistic/no-mixed-spaces-and-tabs":[2],"@stylistic/no-multi-spaces":[2,{ignoreEOLComments:!0,exceptions:{Property:!0}}],"@stylistic/no-multiple-empty-lines":[2,{max:2,maxEOF:1,maxBOF:0}],"@stylistic/no-tabs":[0],"@stylistic/no-trailing-spaces":[2],"@stylistic/no-whitespace-before-property":[2],"@stylistic/nonblock-statement-body-position":[2],"@stylistic/object-curly-newline":[0],"@stylistic/object-curly-spacing":[2,`never`],"@stylistic/object-property-newline":[0],"@stylistic/one-var-declaration-per-line":[0],"@stylistic/operator-linebreak":[2,`after`],"@stylistic/padded-blocks":[2,`never`],"@stylistic/padding-line-between-statements":[0],"@stylistic/quote-props":[0],"@stylistic/quotes":[2,`double`,{avoidEscape:!0,allowTemplateLiterals:`always`}],"@stylistic/rest-spread-spacing":[2,`never`],"@stylistic/semi":[2,`always`],"@stylistic/semi-spacing":[2,{before:!1,after:!0}],"@stylistic/semi-style":[2,`last`],"@stylistic/space-before-blocks":[2,`always`],"@stylistic/space-before-function-paren":[0],"@stylistic/space-in-parens":[2,`never`],"@stylistic/space-infix-ops":[2],"@stylistic/space-unary-ops":[2],"@stylistic/spaced-comment":[0],"@stylistic/switch-colon-spacing":[2],"@stylistic/template-curly-spacing":[2,`never`],"@stylistic/template-tag-spacing":[2,`never`],"@stylistic/type-annotation-spacing":[0],"@stylistic/type-generic-spacing":[0],"@stylistic/type-named-tuple-spacing":[0],"@stylistic/wrap-iife":[2,`inside`],"@stylistic/wrap-regex":[0],"@stylistic/yield-star-spacing":[2,`after`],"@typescript-eslint/adjacent-overload-signatures":[0],"@typescript-eslint/array-type":[0],"@typescript-eslint/await-thenable":[2],"@typescript-eslint/ban-ts-comment":[2,{"ts-expect-error":!1,"ts-ignore":!0,"ts-nocheck":!1,"ts-check":!1}],"@typescript-eslint/ban-tslint-comment":[0],"@typescript-eslint/class-literal-property-style":[0],"@typescript-eslint/class-methods-use-this":[0],"@typescript-eslint/consistent-generic-constructors":[2,`constructor`],"@typescript-eslint/consistent-indexed-object-style":[0],"@typescript-eslint/consistent-return":[0],"@typescript-eslint/consistent-type-assertions":[2,{assertionStyle:`as`,objectLiteralTypeAssertions:`allow`}],"@typescript-eslint/consistent-type-definitions":[0],"@typescript-eslint/consistent-type-exports":[2,{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-imports":[2,{prefer:`type-imports`,fixStyle:`separate-type-imports`,disallowTypeAnnotations:!0}],"@typescript-eslint/default-param-last":[0],"@typescript-eslint/dot-notation":[0],"@typescript-eslint/explicit-function-return-type":[0],"@typescript-eslint/explicit-member-accessibility":[0],"@typescript-eslint/explicit-module-boundary-types":[0],"@typescript-eslint/init-declarations":[0],"@typescript-eslint/max-params":[0],"@typescript-eslint/member-ordering":[0],"@typescript-eslint/method-signature-style":[0],"@typescript-eslint/naming-convention":[0],"@typescript-eslint/no-array-constructor":[2],"@typescript-eslint/no-array-delete":[2],"@typescript-eslint/no-base-to-string":[2],"@typescript-eslint/no-confusing-non-null-assertion":[2],"@typescript-eslint/no-confusing-void-expression":[0],"@typescript-eslint/no-deprecated":[2],"@typescript-eslint/no-dupe-class-members":[0],"@typescript-eslint/no-duplicate-enum-values":[2],"@typescript-eslint/no-duplicate-type-constituents":[2,{ignoreUnions:!0}],"@typescript-eslint/no-dynamic-delete":[0],"@typescript-eslint/no-empty-function":[0],"@typescript-eslint/no-empty-interface":[0],"@typescript-eslint/no-empty-object-type":[2],"@typescript-eslint/no-explicit-any":[0],"@typescript-eslint/no-extra-non-null-assertion":[2],"@typescript-eslint/no-extraneous-class":[0],"@typescript-eslint/no-floating-promises":[0],"@typescript-eslint/no-for-in-array":[0],"@typescript-eslint/no-implied-eval":[2],"@typescript-eslint/no-import-type-side-effects":[0],"@typescript-eslint/no-inferrable-types":[0],"@typescript-eslint/no-invalid-this":[0],"@typescript-eslint/no-invalid-void-type":[0],"@typescript-eslint/no-loop-func":[0],"@typescript-eslint/no-loss-of-precision":[0],"@typescript-eslint/no-magic-numbers":[0],"@typescript-eslint/no-meaningless-void-operator":[0],"@typescript-eslint/no-misused-new":[2],"@typescript-eslint/no-misused-promises":[0],"@typescript-eslint/no-misused-spread":[0],"@typescript-eslint/no-mixed-enums":[0],"@typescript-eslint/no-namespace":[2],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":[0],"@typescript-eslint/no-non-null-asserted-optional-chain":[2],"@typescript-eslint/no-non-null-assertion":[0],"@typescript-eslint/no-redeclare":[2],"@typescript-eslint/no-redundant-type-constituents":[0],"@typescript-eslint/no-require-imports":[2],"@typescript-eslint/no-restricted-imports":[0],"@typescript-eslint/no-restricted-types":[0],"@typescript-eslint/no-shadow":[0],"@typescript-eslint/no-this-alias":[2],"@typescript-eslint/no-type-alias":[0],"@typescript-eslint/no-unnecessary-boolean-literal-compare":[0],"@typescript-eslint/no-unnecessary-condition":[0],"@typescript-eslint/no-unnecessary-parameter-property-assignment":[2],"@typescript-eslint/no-unnecessary-qualifier":[0],"@typescript-eslint/no-unnecessary-template-expression":[0],"@typescript-eslint/no-unnecessary-type-arguments":[0],"@typescript-eslint/no-unnecessary-type-assertion":[2],"@typescript-eslint/no-unnecessary-type-constraint":[2],"@typescript-eslint/no-unnecessary-type-conversion":[0],"@typescript-eslint/no-unnecessary-type-parameters":[0],"@typescript-eslint/no-unsafe-argument":[0],"@typescript-eslint/no-unsafe-assignment":[0],"@typescript-eslint/no-unsafe-call":[0],"@typescript-eslint/no-unsafe-declaration-merging":[2],"@typescript-eslint/no-unsafe-enum-comparison":[2],"@typescript-eslint/no-unsafe-function-type":[2],"@typescript-eslint/no-unsafe-member-access":[0],"@typescript-eslint/no-unsafe-return":[0],"@typescript-eslint/no-unsafe-type-assertion":[0],"@typescript-eslint/no-unsafe-unary-minus":[2],"@typescript-eslint/no-unused-expressions":[2],"@typescript-eslint/no-unused-private-class-members":[2],"@typescript-eslint/no-unused-vars":[2,{vars:`all`,args:`all`,caughtErrors:`all`,ignoreRestSiblings:!1,argsIgnorePattern:`^_`,varsIgnorePattern:`^_[^_]*$`,caughtErrorsIgnorePattern:`^_`,destructuredArrayIgnorePattern:`^_`}],"@typescript-eslint/no-use-before-define":[2,{functions:!1,classes:!0,variables:!0,allowNamedExports:!0,typedefs:!1,enums:!1,ignoreTypeReferences:!0}],"@typescript-eslint/no-useless-constructor":[0],"@typescript-eslint/no-useless-default-assignment":[2],"@typescript-eslint/no-useless-empty-export":[0],"@typescript-eslint/no-var-requires":[0],"@typescript-eslint/no-wrapper-object-types":[2],"@typescript-eslint/non-nullable-type-assertion-style":[0],"@typescript-eslint/only-throw-error":[2],"@typescript-eslint/parameter-properties":[0],"@typescript-eslint/prefer-as-const":[2],"@typescript-eslint/prefer-destructuring":[0],"@typescript-eslint/prefer-enum-initializers":[0],"@typescript-eslint/prefer-find":[2],"@typescript-eslint/prefer-for-of":[2],"@typescript-eslint/prefer-function-type":[2],"@typescript-eslint/prefer-includes":[2],"@typescript-eslint/prefer-literal-enum-member":[0],"@typescript-eslint/prefer-namespace-keyword":[2],"@typescript-eslint/prefer-nullish-coalescing":[0],"@typescript-eslint/prefer-optional-chain":[2,{requireNullish:!0}],"@typescript-eslint/prefer-promise-reject-errors":[2],"@typescript-eslint/prefer-readonly":[0],"@typescript-eslint/prefer-readonly-parameter-types":[0],"@typescript-eslint/prefer-reduce-type-parameter":[0],"@typescript-eslint/prefer-regexp-exec":[0],"@typescript-eslint/prefer-return-this-type":[0],"@typescript-eslint/prefer-string-starts-ends-with":[2,{allowSingleElementEquality:`always`}],"@typescript-eslint/prefer-ts-expect-error":[0],"@typescript-eslint/promise-function-async":[0],"@typescript-eslint/related-getter-setter-pairs":[2],"@typescript-eslint/require-array-sort-compare":[0],"@typescript-eslint/require-await":[2],"@typescript-eslint/restrict-plus-operands":[2],"@typescript-eslint/restrict-template-expressions":[2],"@typescript-eslint/return-await":[0],"@typescript-eslint/sort-type-constituents":[0],"@typescript-eslint/strict-boolean-expressions":[0],"@typescript-eslint/strict-void-return":[0],"@typescript-eslint/switch-exhaustiveness-check":[0],"@typescript-eslint/triple-slash-reference":[2],"@typescript-eslint/typedef":[0],"@typescript-eslint/unbound-method":[0],"@typescript-eslint/unified-signatures":[2],"@typescript-eslint/use-unknown-in-catch-callback-variable":[0],"accessor-pairs":[2],"array-callback-return":[2,{checkForEach:!0}],"array-func/avoid-reverse":[2],"array-func/from-map":[2],"array-func/no-unnecessary-this-arg":[2],"array-func/prefer-array-from":[2],"array-func/prefer-flat":[0],"array-func/prefer-flat-map":[0],"arrow-body-style":[0],"block-scoped-var":[2],camelcase:[0],"capitalized-comments":[0],"class-methods-use-this":[0],complexity:[0],"consistent-return":[0],"consistent-this":[0],"constructor-super":[2],curly:[0],"de-morgan/no-negated-conjunction":[2],"de-morgan/no-negated-disjunction":[2],"default-case":[0],"default-case-last":[2],"default-param-last":[0],"dot-notation":[0],eqeqeq:[2],"for-direction":[2],"func-name-matching":[2],"func-names":[0],"func-style":[0],"getter-return":[2],"grouped-accessor-pairs":[2],"guard-for-in":[0],"id-denylist":[0],"id-length":[0],"id-match":[0],"import-x/consistent-type-specifier-style":[0],"import-x/default":[0],"import-x/dynamic-import-chunkname":[0],"import-x/export":[2],"import-x/exports-last":[0],"import-x/extensions":[2,`ignorePackages`,{checkTypeImports:!0,js:`always`}],"import-x/first":[2],"import-x/group-exports":[0],"import-x/imports-first":[0],"import-x/max-dependencies":[0],"import-x/named":[0],"import-x/namespace":[0],"import-x/newline-after-import":[0],"import-x/no-absolute-path":[2],"import-x/no-amd":[2],"import-x/no-anonymous-default-export":[0],"import-x/no-commonjs":[2,{allowConditionalRequire:!1}],"import-x/no-cycle":[2,{ignoreExternal:!0,maxDepth:1}],"import-x/no-default-export":[0],"import-x/no-deprecated":[0],"import-x/no-duplicates":[2],"import-x/no-dynamic-require":[0],"import-x/no-empty-named-blocks":[2],"import-x/no-extraneous-dependencies":[2],"import-x/no-import-module-exports":[0],"import-x/no-internal-modules":[0],"import-x/no-mutable-exports":[0],"import-x/no-named-as-default":[0],"import-x/no-named-as-default-member":[0],"import-x/no-named-default":[0],"import-x/no-named-export":[0],"import-x/no-namespace":[0],"import-x/no-nodejs-modules":[0],"import-x/no-relative-packages":[0],"import-x/no-relative-parent-imports":[0],"import-x/no-rename-default":[0],"import-x/no-restricted-paths":[0],"import-x/no-self-import":[2],"import-x/no-unassigned-import":[0],"import-x/no-unresolved":[2,{commonjs:!0,ignore:[`\\?.+$`]}],"import-x/no-unused-modules":[0,{unusedExports:!0,ignoreUnusedTypeExports:!0}],"import-x/no-useless-path-segments":[2,{commonjs:!0}],"import-x/no-webpack-loader-syntax":[2],"import-x/order":[0],"import-x/prefer-default-export":[0],"import-x/prefer-namespace-import":[0],"import-x/unambiguous":[0],"init-declarations":[0],"line-comment-position":[0],"logical-assignment-operators":[0],"max-classes-per-file":[0],"max-depth":[0],"max-lines":[0],"max-lines-per-function":[0],"max-nested-callbacks":[0],"max-params":[0],"max-statements":[0],"multiline-comment-style":[0],"new-cap":[0],"no-alert":[0],"no-array-constructor":[0],"no-async-promise-executor":[0],"no-await-in-loop":[0],"no-bitwise":[0],"no-buffer-constructor":[0],"no-caller":[2],"no-case-declarations":[2],"no-class-assign":[2],"no-compare-neg-zero":[2],"no-cond-assign":[2,`except-parens`],"no-console":[1,{allow:[`debug`,`info`,`warn`,`error`]}],"no-const-assign":[2],"no-constant-binary-expression":[2],"no-constant-condition":[0],"no-constructor-return":[2],"no-continue":[0],"no-control-regex":[0],"no-debugger":[1],"no-delete-var":[2],"no-div-regex":[0],"no-dupe-args":[2],"no-dupe-class-members":[2],"no-dupe-else-if":[2],"no-dupe-keys":[2],"no-duplicate-case":[2],"no-duplicate-imports":[0],"no-else-return":[0],"no-empty":[2,{allowEmptyCatch:!0}],"no-empty-character-class":[2],"no-empty-function":[0],"no-empty-pattern":[2],"no-empty-static-block":[2],"no-eq-null":[0],"no-eval":[2],"no-ex-assign":[2],"no-extend-native":[2],"no-extra-bind":[2],"no-extra-boolean-cast":[2],"no-extra-label":[0],"no-fallthrough":[2],"no-func-assign":[2],"no-global-assign":[2],"no-implicit-coercion":[2],"no-implicit-globals":[0],"no-implied-eval":[0],"no-import-assign":[2],"no-inline-comments":[0],"no-inner-declarations":[2],"no-invalid-regexp":[2],"no-invalid-this":[0],"no-irregular-whitespace":[2],"no-iterator":[2],"no-label-var":[2],"no-labels":[0],"no-lone-blocks":[2],"no-lonely-if":[0],"no-loop-func":[0],"no-loss-of-precision":[2],"no-magic-numbers":[0],"no-misleading-character-class":[2],"no-multi-assign":[0],"no-multi-str":[2],"no-negated-condition":[0],"no-nested-ternary":[0],"no-new":[0],"no-new-func":[0],"no-new-native-nonconstructor":[2],"no-new-symbol":[0],"no-new-wrappers":[2],"no-nonoctal-decimal-escape":[2],"no-obj-calls":[2],"no-object-constructor":[2],"no-octal":[2],"no-octal-escape":[2],"no-param-reassign":[0],"no-plusplus":[0],"no-promise-executor-return":[0],"no-proto":[2],"no-prototype-builtins":[2],"no-redeclare":[2],"no-regex-spaces":[2],"no-restricted-exports":[0],"no-restricted-globals":[2,`self`],"no-restricted-imports":[2,NEt],"no-restricted-properties":[0],"no-restricted-syntax":[2,...MEt()],"no-return-assign":[0],"no-script-url":[2],"no-self-assign":[2,{props:!0}],"no-self-compare":[2],"no-sequences":[2],"no-setter-return":[2],"no-shadow":[0],"no-shadow-restricted-names":[2],"no-sparse-arrays":[2],"no-template-curly-in-string":[2],"no-ternary":[0],"no-this-before-super":[2],"no-throw-literal":[0],"no-undef":[2,{typeof:!0}],"no-undef-init":[2],"no-unassigned-vars":[2],"no-undefined":[0],"no-underscore-dangle":[0],"no-unexpected-multiline":[2],"no-unmodified-loop-condition":[2],"no-unneeded-ternary":[0],"no-unreachable":[2],"no-unreachable-loop":[2],"no-unsafe-finally":[2],"no-unsafe-negation":[2],"no-unsafe-optional-chaining":[2],"no-unused-expressions":[0],"no-unused-labels":[2],"no-unused-private-class-members":[0],"no-unused-vars":[0],"no-use-before-define":[0],"no-useless-assignment":[0],"no-useless-backreference":[2],"no-useless-call":[2],"no-useless-catch":[2],"no-useless-computed-key":[2],"no-useless-concat":[2],"no-useless-constructor":[2],"no-useless-escape":[2],"no-useless-rename":[2],"no-useless-return":[0],"no-var":[2],"no-void":[2],"no-warning-comments":[0],"no-with":[0],"object-shorthand":[2,`always`],"one-var":[0],"operator-assignment":[2,`always`],"prefer-arrow-callback":[2,{allowNamedFunctions:!0,allowUnboundThis:!0}],"prefer-const":[2,{destructuring:`all`,ignoreReadBeforeAssign:!0}],"prefer-destructuring":[0],"prefer-exponentiation-operator":[2],"prefer-named-capture-group":[0],"prefer-numeric-literals":[2],"prefer-object-has-own":[2],"prefer-object-spread":[2],"prefer-promise-reject-errors":[0],"prefer-regex-literals":[2,{disallowRedundantWrapping:!0}],"prefer-rest-params":[2],"prefer-spread":[2],"prefer-template":[2],"preserve-caught-error":[0],radix:[0],"regexp/confusing-quantifier":[2],"regexp/control-character-escape":[2],"regexp/grapheme-string-literal":[0],"regexp/hexadecimal-escape":[0],"regexp/letter-case":[0],"regexp/match-any":[0],"regexp/negation":[2],"regexp/no-contradiction-with-assertion":[2],"regexp/no-control-character":[0],"regexp/no-dupe-characters-character-class":[2],"regexp/no-dupe-disjunctions":[2],"regexp/no-empty-alternative":[2],"regexp/no-empty-capturing-group":[2],"regexp/no-empty-character-class":[0],"regexp/no-empty-group":[2],"regexp/no-empty-lookarounds-assertion":[2],"regexp/no-empty-string-literal":[2],"regexp/no-escape-backspace":[2],"regexp/no-extra-lookaround-assertions":[0],"regexp/no-invalid-regexp":[2],"regexp/no-invisible-character":[2],"regexp/no-lazy-ends":[2],"regexp/no-legacy-features":[2],"regexp/no-misleading-capturing-group":[2],"regexp/no-misleading-unicode-character":[2],"regexp/no-missing-g-flag":[2],"regexp/no-non-standard-flag":[2],"regexp/no-obscure-range":[2],"regexp/no-octal":[2],"regexp/no-optional-assertion":[2],"regexp/no-potentially-useless-backreference":[2],"regexp/no-standalone-backslash":[2],"regexp/no-super-linear-backtracking":[0],"regexp/no-super-linear-move":[0],"regexp/no-trivially-nested-assertion":[2],"regexp/no-trivially-nested-quantifier":[2],"regexp/no-unused-capturing-group":[0],"regexp/no-useless-assertions":[2],"regexp/no-useless-backreference":[2],"regexp/no-useless-character-class":[0],"regexp/no-useless-dollar-replacements":[2],"regexp/no-useless-escape":[2],"regexp/no-useless-flag":[2],"regexp/no-useless-lazy":[2],"regexp/no-useless-non-capturing-group":[2],"regexp/no-useless-quantifier":[2],"regexp/no-useless-range":[2],"regexp/no-useless-set-operand":[2],"regexp/no-useless-string-literal":[2],"regexp/no-useless-two-nums-quantifier":[2],"regexp/no-zero-quantifier":[2],"regexp/optimal-lookaround-quantifier":[2],"regexp/optimal-quantifier-concatenation":[0],"regexp/prefer-character-class":[0],"regexp/prefer-d":[0],"regexp/prefer-escape-replacement-dollar-char":[0],"regexp/prefer-lookaround":[0],"regexp/prefer-named-backreference":[0],"regexp/prefer-named-capture-group":[0],"regexp/prefer-named-replacement":[0],"regexp/prefer-plus-quantifier":[2],"regexp/prefer-predefined-assertion":[2],"regexp/prefer-quantifier":[0],"regexp/prefer-question-quantifier":[2],"regexp/prefer-range":[2],"regexp/prefer-regexp-exec":[2],"regexp/prefer-regexp-test":[0],"regexp/prefer-result-array-groups":[0],"regexp/prefer-set-operation":[2],"regexp/prefer-star-quantifier":[2],"regexp/prefer-unicode-codepoint-escapes":[2],"regexp/prefer-w":[0],"regexp/require-unicode-regexp":[0],"regexp/require-unicode-sets-regexp":[0],"regexp/simplify-set-operations":[2],"regexp/sort-alternatives":[0],"regexp/sort-character-class-elements":[0],"regexp/sort-flags":[0],"regexp/strict":[2],"regexp/unicode-escape":[0],"regexp/unicode-property":[0],"regexp/use-ignore-case":[0],"require-atomic-updates":[0],"require-await":[0],"require-unicode-regexp":[0],"require-yield":[2],"sonarjs/cognitive-complexity":[0],"sonarjs/elseif-without-else":[0],"sonarjs/max-switch-cases":[0],"sonarjs/no-all-duplicated-branches":[2],"sonarjs/no-collapsible-if":[0],"sonarjs/no-collection-size-mischeck":[2],"sonarjs/no-duplicate-string":[0],"sonarjs/no-duplicated-branches":[0],"sonarjs/no-element-overwrite":[2],"sonarjs/no-empty-collection":[2],"sonarjs/no-extra-arguments":[2],"sonarjs/no-gratuitous-expressions":[2],"sonarjs/no-identical-conditions":[0],"sonarjs/no-identical-expressions":[2],"sonarjs/no-identical-functions":[0],"sonarjs/no-ignored-return":[2],"sonarjs/no-inverted-boolean-check":[2],"sonarjs/no-nested-switch":[0],"sonarjs/no-nested-template-literals":[0],"sonarjs/no-redundant-boolean":[2],"sonarjs/no-redundant-jump":[0],"sonarjs/no-same-line-conditional":[2],"sonarjs/no-small-switch":[0],"sonarjs/no-unused-collection":[2],"sonarjs/no-use-of-empty-return-value":[2],"sonarjs/no-useless-catch":[0],"sonarjs/non-existent-operator":[2],"sonarjs/prefer-immediate-return":[0],"sonarjs/prefer-object-literal":[0],"sonarjs/prefer-single-boolean-return":[0],"sonarjs/prefer-while":[2],"sort-imports":[0],"sort-keys":[0],"sort-vars":[0],strict:[0],"symbol-description":[2],"unicode-bom":[2,`never`],"unicorn/better-regex":[0],"unicorn/catch-error-name":[0],"unicorn/consistent-assert":[0],"unicorn/consistent-date-clone":[2],"unicorn/consistent-destructuring":[2],"unicorn/consistent-empty-array-spread":[2],"unicorn/consistent-existence-index-check":[0],"unicorn/consistent-function-scoping":[2],"unicorn/consistent-template-literal-escape":[2],"unicorn/custom-error-definition":[0],"unicorn/empty-brace-spaces":[2],"unicorn/error-message":[0],"unicorn/escape-case":[0],"unicorn/expiring-todo-comments":[0],"unicorn/explicit-length-check":[0],"unicorn/filename-case":[0],"unicorn/import-index":[0],"unicorn/import-style":[0],"unicorn/isolated-functions":[2,{functions:[]}],"unicorn/new-for-builtins":[2],"unicorn/no-abusive-eslint-disable":[0],"unicorn/no-accessor-recursion":[2],"unicorn/no-anonymous-default-export":[0],"unicorn/no-array-callback-reference":[0],"unicorn/no-array-for-each":[2],"unicorn/no-array-method-this-argument":[2],"unicorn/no-array-push-push":[2],"unicorn/no-array-reduce":[0],"unicorn/no-array-reverse":[0],"unicorn/no-array-sort":[0],"unicorn/no-await-expression-member":[0],"unicorn/no-await-in-promise-methods":[2],"unicorn/no-console-spaces":[0],"unicorn/no-document-cookie":[2],"unicorn/no-empty-file":[0],"unicorn/no-for-loop":[0],"unicorn/no-hex-escape":[0],"unicorn/no-immediate-mutation":[0],"unicorn/no-instanceof-array":[0],"unicorn/no-instanceof-builtins":[2],"unicorn/no-invalid-fetch-options":[2],"unicorn/no-invalid-remove-event-listener":[2],"unicorn/no-keyword-prefix":[0],"unicorn/no-length-as-slice-end":[2],"unicorn/no-lonely-if":[2],"unicorn/no-magic-array-flat-depth":[0],"unicorn/no-named-default":[2],"unicorn/no-negated-condition":[0],"unicorn/no-negation-in-equality-check":[2],"unicorn/no-nested-ternary":[0],"unicorn/no-new-array":[0],"unicorn/no-new-buffer":[2],"unicorn/no-null":[0],"unicorn/no-object-as-default-parameter":[0],"unicorn/no-process-exit":[0],"unicorn/no-single-promise-in-promise-methods":[2],"unicorn/no-static-only-class":[2],"unicorn/no-thenable":[0],"unicorn/no-this-assignment":[2],"unicorn/no-typeof-undefined":[2],"unicorn/no-unnecessary-array-flat-depth":[2],"unicorn/no-unnecessary-array-splice-count":[2],"unicorn/no-unnecessary-await":[2],"unicorn/no-unnecessary-polyfills":[0],"unicorn/no-unnecessary-slice-end":[2],"unicorn/no-unreadable-array-destructuring":[0],"unicorn/no-unreadable-iife":[0],"unicorn/no-unused-properties":[2],"unicorn/no-useless-collection-argument":[2],"unicorn/no-useless-error-capture-stack-trace":[2],"unicorn/no-useless-fallback-in-spread":[2],"unicorn/no-useless-iterator-to-array":[2],"unicorn/no-useless-length-check":[2],"unicorn/no-useless-promise-resolve-reject":[2],"unicorn/no-useless-spread":[2],"unicorn/no-useless-switch-case":[2],"unicorn/no-useless-undefined":[0],"unicorn/no-zero-fractions":[2],"unicorn/number-literal-case":[0],"unicorn/numeric-separators-style":[0],"unicorn/prefer-add-event-listener":[2],"unicorn/prefer-array-find":[0],"unicorn/prefer-array-flat":[2],"unicorn/prefer-array-flat-map":[2],"unicorn/prefer-array-index-of":[2],"unicorn/prefer-array-some":[2],"unicorn/prefer-at":[0],"unicorn/prefer-bigint-literals":[2],"unicorn/prefer-blob-reading-methods":[2],"unicorn/prefer-class-fields":[2],"unicorn/prefer-classlist-toggle":[2],"unicorn/prefer-code-point":[0],"unicorn/prefer-date-now":[2],"unicorn/prefer-default-parameters":[0],"unicorn/prefer-dom-node-append":[2],"unicorn/prefer-dom-node-dataset":[0],"unicorn/prefer-dom-node-remove":[2],"unicorn/prefer-dom-node-text-content":[2],"unicorn/prefer-event-target":[2],"unicorn/prefer-export-from":[0],"unicorn/prefer-global-this":[0],"unicorn/prefer-import-meta-properties":[2],"unicorn/prefer-includes":[0],"unicorn/prefer-json-parse-buffer":[0],"unicorn/prefer-keyboard-event-key":[2],"unicorn/prefer-logical-operator-over-ternary":[2],"unicorn/prefer-math-min-max":[2],"unicorn/prefer-math-trunc":[2],"unicorn/prefer-modern-dom-apis":[0],"unicorn/prefer-modern-math-apis":[2],"unicorn/prefer-module":[0],"unicorn/prefer-native-coercion-functions":[2],"unicorn/prefer-negative-index":[2],"unicorn/prefer-node-protocol":[2],"unicorn/prefer-number-properties":[0],"unicorn/prefer-object-from-entries":[2],"unicorn/prefer-object-has-own":[0],"unicorn/prefer-optional-catch-binding":[2],"unicorn/prefer-prototype-methods":[2],"unicorn/prefer-query-selector":[0],"unicorn/prefer-reflect-apply":[0],"unicorn/prefer-regexp-test":[2],"unicorn/prefer-response-static-json":[2],"unicorn/prefer-set-has":[0],"unicorn/prefer-set-size":[2],"unicorn/prefer-simple-condition-first":[0],"unicorn/prefer-single-call":[0],"unicorn/prefer-spread":[0],"unicorn/prefer-string-raw":[0],"unicorn/prefer-string-replace-all":[0],"unicorn/prefer-string-slice":[0],"unicorn/prefer-string-starts-ends-with":[0],"unicorn/prefer-string-trim-start-end":[2],"unicorn/prefer-structured-clone":[2],"unicorn/prefer-switch":[0],"unicorn/prefer-ternary":[0],"unicorn/prefer-top-level-await":[0],"unicorn/prefer-type-error":[0],"unicorn/prevent-abbreviations":[0],"unicorn/relative-url-style":[2],"unicorn/require-array-join-separator":[2],"unicorn/require-module-attributes":[2],"unicorn/require-module-specifiers":[0],"unicorn/require-number-to-fixed-digits-argument":[2],"unicorn/require-post-message-target-origin":[0],"unicorn/string-content":[0],"unicorn/switch-case-braces":[0],"unicorn/switch-case-break-position":[2],"unicorn/template-indent":[2],"unicorn/text-encoding-identifier-case":[0],"unicorn/throw-new-error":[2],"use-isnan":[2],"valid-typeof":[2,{requireStringLiterals:!0}],"vars-on-top":[0],yoda:[2,`never`]}},{files:[`**/*.{${kEt.join(`,`)}}`],rules:{"@typescript-eslint/no-redeclare":[0],"no-restricted-syntax":[2,...MEt()]}},{files:[`**/*.{${AEt.join(`,`)}}`],rules:{"constructor-super":[0],"getter-return":[0],"import-x/export":[0],"import-x/no-extraneous-dependencies":[0],"import-x/no-unresolved":[0],"no-const-assign":[0],"no-dupe-args":[0],"no-dupe-class-members":[0],"no-dupe-keys":[0],"no-func-assign":[0],"no-import-assign":[0],"no-new-native-nonconstructor":[0],"no-new-symbol":[0],"no-obj-calls":[0],"no-redeclare":[0],"no-setter-return":[0],"no-this-before-super":[0],"no-undef":[0],"no-unreachable":[0],"no-unsafe-negation":[0],"sonarjs/no-extra-arguments":[0],"sonarjs/no-use-of-empty-return-value":[0],"valid-typeof":[0]}},{files:[`**/*.d.ts`],rules:{"@typescript-eslint/consistent-type-definitions":[0],"@typescript-eslint/consistent-type-imports":[0],"@typescript-eslint/no-unused-vars":[0],"no-var":[0]}},{files:[`**/*.worker.*`,`**/*.sharedworker.*`],languageOptions:{globals:LU.default.worker},rules:{"no-restricted-globals":[2,`window`]}},{plugins:{vitest:fje,"testing-library":OEt},files:[`**/*.test.*`,`vitest.setup.*`,`integration/**`],ignores:[`**/e2e/**`],languageOptions:{globals:LU.default.vitest},rules:{"unicorn/consistent-function-scoping":[0],"vitest/consistent-each-for":[0],"vitest/consistent-test-filename":[0],"vitest/consistent-test-it":[0],"vitest/consistent-vitest-vi":[0],"vitest/expect-expect":[0],"vitest/hoisted-apis-on-top":[0],"vitest/max-expects":[0],"vitest/max-nested-describe":[0],"vitest/no-alias-methods":[0],"vitest/no-commented-out-tests":[0],"vitest/no-conditional-expect":[0],"vitest/no-conditional-in-test":[0],"vitest/no-conditional-tests":[0],"vitest/no-disabled-tests":[0],"vitest/no-done-callback":[0],"vitest/no-duplicate-hooks":[0],"vitest/no-focused-tests":[2],"vitest/no-hooks":[0],"vitest/no-identical-title":[2],"vitest/no-import-node-test":[0],"vitest/no-importing-vitest-globals":[0],"vitest/no-interpolation-in-snapshots":[0],"vitest/no-large-snapshots":[0],"vitest/no-mocks-import":[0],"vitest/no-restricted-matchers":[0],"vitest/no-restricted-vi-methods":[0],"vitest/no-standalone-expect":[0],"vitest/no-test-prefixes":[0],"vitest/no-test-return-statement":[0],"vitest/no-unneeded-async-expect-function":[2],"vitest/padding-around-after-all-blocks":[0],"vitest/padding-around-after-each-blocks":[0],"vitest/padding-around-all":[0],"vitest/padding-around-before-all-blocks":[0],"vitest/padding-around-before-each-blocks":[0],"vitest/padding-around-describe-blocks":[0],"vitest/padding-around-expect-groups":[0],"vitest/padding-around-test-blocks":[0],"vitest/prefer-called-exactly-once-with":[0],"vitest/prefer-called-once":[0],"vitest/prefer-called-times":[0],"vitest/prefer-called-with":[0],"vitest/prefer-comparison-matcher":[0],"vitest/prefer-describe-function-title":[0],"vitest/prefer-each":[0],"vitest/prefer-equality-matcher":[0],"vitest/prefer-expect-assertions":[0],"vitest/prefer-expect-resolves":[0],"vitest/prefer-expect-type-of":[0],"vitest/prefer-hooks-in-order":[0],"vitest/prefer-hooks-on-top":[2],"vitest/prefer-import-in-mock":[0],"vitest/prefer-importing-vitest-globals":[0],"vitest/prefer-lowercase-title":[0],"vitest/prefer-mock-promise-shorthand":[0],"vitest/prefer-mock-return-shorthand":[0],"vitest/prefer-snapshot-hint":[0],"vitest/prefer-spy-on":[0],"vitest/prefer-strict-boolean-matchers":[0],"vitest/prefer-strict-equal":[0],"vitest/prefer-to-be":[0],"vitest/prefer-to-be-falsy":[0],"vitest/prefer-to-be-object":[0],"vitest/prefer-to-be-truthy":[0],"vitest/prefer-to-contain":[0],"vitest/prefer-to-have-been-called-times":[0],"vitest/prefer-to-have-length":[0],"vitest/prefer-todo":[0],"vitest/prefer-vi-mocked":[0],"vitest/require-awaited-expect-poll":[0],"vitest/require-hook":[0],"vitest/require-local-test-context-for-concurrent-snapshots":[0],"vitest/require-mock-type-parameters":[0],"vitest/require-test-timeout":[0],"vitest/require-to-throw-message":[0],"vitest/require-top-level-describe":[0],"vitest/valid-describe-callback":[2],"vitest/valid-expect":[2],"vitest/valid-expect-in-promise":[2],"vitest/valid-title":[2],"vitest/warn-todo":[0],"testing-library/await-async-events":[2,{eventModule:`userEvent`}],"testing-library/await-async-queries":[2],"testing-library/await-async-utils":[2],"testing-library/consistent-data-testid":[0],"testing-library/no-await-sync-events":[2,{eventModules:[`fire-event`]}],"testing-library/no-await-sync-queries":[2],"testing-library/no-container":[0],"testing-library/no-debugging-utils":[2],"testing-library/no-dom-import":[2,`react`],"testing-library/no-global-regexp-flag-in-query":[2],"testing-library/no-manual-cleanup":[2],"testing-library/no-node-access":[0],"testing-library/no-promise-in-fire-event":[2],"testing-library/no-render-in-lifecycle":[2],"testing-library/no-test-id-queries":[0],"testing-library/no-unnecessary-act":[2],"testing-library/no-wait-for-multiple-assertions":[2],"testing-library/no-wait-for-side-effects":[2],"testing-library/no-wait-for-snapshot":[2],"testing-library/prefer-explicit-assert":[0],"testing-library/prefer-find-by":[2],"testing-library/prefer-implicit-assert":[0],"testing-library/prefer-presence-queries":[2],"testing-library/prefer-query-by-disappearance":[2],"testing-library/prefer-query-matchers":[0],"testing-library/prefer-screen-queries":[2],"testing-library/prefer-user-event":[0],"testing-library/prefer-user-event-setup":[0],"testing-library/render-result-naming-convention":[2]}},{files:[`**/*.config.*`,`**/*.stories.*`,`**/.storybook/**`,`**/*.d.ts`,`vitest.setup.*`,`vitest.global.*`],rules:{"import-x/no-unused-modules":[0]}},{files:[`**/e2e/**.test.${[...kEt,...AEt].join(`,`)}`],plugins:{playwright:pje},rules:{"no-empty-pattern":[0],"playwright/consistent-spacing-between-blocks":[2],"playwright/expect-expect":[0],"playwright/max-expects":[0],"playwright/max-nested-describe":[2],"playwright/missing-playwright-await":[2],"playwright/no-commented-out-tests":[0],"playwright/no-conditional-expect":[2],"playwright/no-conditional-in-test":[0],"playwright/no-duplicate-hooks":[2],"playwright/no-duplicate-slow":[2],"playwright/no-element-handle":[2],"playwright/no-eval":[2],"playwright/no-focused-test":[2],"playwright/no-force-option":[2],"playwright/no-get-by-title":[0],"playwright/no-hooks":[0],"playwright/no-nested-step":[2],"playwright/no-networkidle":[0],"playwright/no-nth-methods":[0],"playwright/no-page-pause":[2],"playwright/no-raw-locators":[0],"playwright/no-restricted-locators":[0],"playwright/no-restricted-matchers":[0],"playwright/no-restricted-roles":[0],"playwright/no-skipped-test":[2],"playwright/no-slowed-test":[0],"playwright/no-standalone-expect":[2],"playwright/no-unsafe-references":[2],"playwright/no-unused-locators":[2],"playwright/no-useless-await":[2],"playwright/no-useless-not":[2],"playwright/no-wait-for-navigation":[2],"playwright/no-wait-for-selector":[2],"playwright/no-wait-for-timeout":[2],"playwright/prefer-comparison-matcher":[0],"playwright/prefer-equality-matcher":[0],"playwright/prefer-hooks-in-order":[2],"playwright/prefer-hooks-on-top":[2],"playwright/prefer-locator":[2],"playwright/prefer-lowercase-title":[0],"playwright/prefer-native-locators":[0],"playwright/prefer-strict-equal":[0],"playwright/prefer-to-be":[0],"playwright/prefer-to-contain":[0],"playwright/prefer-to-have-count":[2],"playwright/prefer-to-have-length":[2],"playwright/prefer-web-first-assertions":[2],"playwright/require-hook":[0],"playwright/require-soft-assertions":[0],"playwright/require-tags":[0],"playwright/require-to-pass-timeout":[0],"playwright/require-to-throw-message":[0],"playwright/require-top-level-describe":[0],"playwright/valid-describe-callback":[2],"playwright/valid-expect":[2],"playwright/valid-expect-in-promise":[2],"playwright/valid-test-tags":[2],"playwright/valid-title":[2]}},{plugins:{react:HWe,"react-jsx":kGe,"react-dom":dqe,"react-web-api":Xqe,"react-naming-convention":mJe,"react-refresh":SJe,"validate-jsx-nesting":NQe.default},files:[`**/*.{${jEt.join(`,`)}}`],rules:{"react-dom/no-dangerously-set-innerhtml":[0],"react-dom/no-dangerously-set-innerhtml-with-children":[2],"react-dom/no-find-dom-node":[2],"react-dom/no-flush-sync":[0],"react-dom/no-hydrate":[0],"react-dom/no-missing-button-type":[0],"react-dom/no-missing-iframe-sandbox":[0],"react-dom/no-render":[2],"react-dom/no-render-return-value":[2],"react-dom/no-script-url":[2],"react-dom/no-string-style-prop":[2],"react-dom/no-unknown-property":[2,{ignore:[`css`],requireDataLowercase:!0}],"react-dom/no-unsafe-iframe-sandbox":[2],"react-dom/no-unsafe-target-blank":[0],"react-dom/no-use-form-state":[0],"react-dom/no-void-elements-with-children":[2],"react-dom/prefer-namespace-import":[0],"react-jsx/no-children-prop":[0],"react-jsx/no-children-prop-with-children":[2],"react-jsx/no-comment-textnodes":[2],"react-jsx/no-key-after-spread":[2],"react-jsx/no-leaked-dollar":[2],"react-jsx/no-leaked-semicolon":[2],"react-jsx/no-namespace":[2],"react-jsx/no-useless-fragment":[0],"react-naming-convention/context-name":[0],"react-naming-convention/id-name":[0],"react-naming-convention/ref-name":[0],"react-web-api/no-leaked-event-listener":[0],"react-web-api/no-leaked-interval":[0],"react-web-api/no-leaked-resize-observer":[0],"react-web-api/no-leaked-timeout":[0],"react/component-hook-factories":[0],"react/error-boundaries":[2],"react/exhaustive-deps":[2,{additionalHooks:`^(useEffectOnce|useLayoutEffectOnce)$`}],"react/immutability":[0],"react/no-access-state-in-setstate":[2],"react/no-array-index-key":[0],"react/no-children-count":[0],"react/no-children-for-each":[0],"react/no-children-map":[0],"react/no-children-only":[0],"react/no-children-to-array":[0],"react/no-class-component":[0],"react/no-clone-element":[0],"react/no-component-will-mount":[2],"react/no-component-will-receive-props":[2],"react/no-component-will-update":[2],"react/no-context-provider":[0],"react/no-create-ref":[2],"react/no-direct-mutation-state":[2],"react/no-duplicate-key":[2],"react/no-forward-ref":[2],"react/no-implicit-children":[0],"react/no-implicit-key":[2],"react/no-implicit-ref":[0],"react/no-leaked-conditional-rendering":[0],"react/no-missing-component-display-name":[0],"react/no-missing-context-display-name":[0],"react/no-missing-key":[2],"react/no-misused-capture-owner-stack":[0],"react/no-nested-component-definitions":[2],"react/no-nested-lazy-component-declarations":[2],"react/no-redundant-should-component-update":[2],"react/no-set-state-in-component-did-mount":[0],"react/no-set-state-in-component-did-update":[0],"react/no-set-state-in-component-will-update":[0],"react/no-unnecessary-use-callback":[2],"react/no-unnecessary-use-memo":[2],"react/no-unnecessary-use-prefix":[0],"react/no-unsafe-component-will-mount":[0],"react/no-unsafe-component-will-receive-props":[0],"react/no-unsafe-component-will-update":[0],"react/no-unstable-context-value":[2],"react/no-unstable-default-props":[2],"react/no-unused-class-component-members":[0],"react/no-unused-props":[2],"react/no-unused-state":[2],"react/no-use-context":[0],"react/prefer-destructuring-assignment":[0],"react/prefer-namespace-import":[0],"react/purity":[2],"react/refs":[2],"react/rules-of-hooks":[2],"react/set-state-in-effect":[0],"react/set-state-in-render":[2],"react/unsupported-syntax":[2],"react/use-memo":[2],"react/use-state":[2,{enforceAssignment:!0,enforceSetterName:!0}],"@stylistic/exp-jsx-props-style":[0],"@stylistic/jsx-child-element-spacing":[0],"@stylistic/jsx-closing-bracket-location":[0],"@stylistic/jsx-closing-tag-location":[2],"@stylistic/jsx-curly-brace-presence":[0],"@stylistic/jsx-curly-newline":[2,`consistent`],"@stylistic/jsx-curly-spacing":[2,{when:`never`}],"@stylistic/jsx-equals-spacing":[2,`never`],"@stylistic/jsx-first-prop-new-line":[0],"@stylistic/jsx-function-call-newline":[0],"@stylistic/jsx-indent":[0],"@stylistic/jsx-indent-props":[2,2],"@stylistic/jsx-max-props-per-line":[0],"@stylistic/jsx-newline":[0],"@stylistic/jsx-one-expression-per-line":[0],"@stylistic/jsx-props-no-multi-spaces":[0],"@stylistic/jsx-pascal-case":[2,{allowAllCaps:!0}],"@stylistic/jsx-quotes":[0],"@stylistic/jsx-self-closing-comp":[2],"@stylistic/jsx-sort-props":[0],"@stylistic/jsx-tag-spacing":[2,{beforeSelfClosing:`never`,beforeClosing:`never`}],"@stylistic/jsx-wrap-multilines":[2],"react-refresh/only-export-components":[2,{allowConstantExport:!0}],"validate-jsx-nesting/no-invalid-jsx-nesting":[2]}},{files:[`**/*.test.*`],rules:{"react/error-boundaries":[0]}},{files:[`**/*.stories.*`],plugins:{storybook:LCt},rules:{"react/no-nested-component-definitions":[0],"sonarjs/no-identical-functions":[0],"storybook/await-interactions":[2],"storybook/context-in-play-function":[2],"storybook/csf-component":[0],"storybook/default-exports":[2],"storybook/hierarchy-separator":[2],"storybook/meta-inline-properties":[0],"storybook/meta-satisfies-type":[0],"storybook/no-redundant-story-name":[2],"storybook/no-renderer-packages":[0],"storybook/no-stories-of":[0],"storybook/no-title-property-in-meta":[0],"storybook/no-uninstalled-addons":[0],"storybook/prefer-pascal-case":[2],"storybook/story-exports":[2],"storybook/use-storybook-expect":[2],"storybook/use-storybook-testing-library":[2]}},{files:[`openapi.d.ts`],rules:{"@typescript-eslint/no-redundant-type-constituents":[0]}}],FEt=await import(`eslint/config`),IEt=FEt.defineConfig,LEt=FEt.globalIgnores;export{PEt as default,IEt as defineConfig,LEt as globalIgnores};
1075
+ `).map(e=>e.trim()).join(`\n${c}`);return e.replaceText(n,l)}});return}let d=a.body;if(!M9(d))return;if(l(a)){let e=s(a);if(!e)return;let c=o(a);if(!c)return;let l=c.name,f=t.arguments[1],p=``;swt(f)&&(p=`, ${r.getText(f)}`);let m=tEt(l),h=u(d),g=l.split(`By`)[1];if(!g)return;i(t,{queryMethod:g,queryVariant:m,prevQuery:l,fix(i){let a=`${e}.${m}${g}(${h.map(e=>r.getText(e)).join(`, `)}${p})`;if(!I9(d.callee))return null;let{property:o,object:s}=d.callee;if($.ASTUtils.isVariableDeclarator(t.parent.parent))return(0,Z6.isIdentifier)(o)&&n.isCustomQuery(o)?null:i.replaceText(t,a);if(!M9(s))return null;let c=r.getText(d),l=`await ${a}`,u=c.replace(r.getText(s.arguments[0]),l),f=c.replace(c,u);return i.replaceText(t.parent,f)}});return}if(!c(a))return;let f=o(a);if(!f)return;let p=f.name,m=p.split(`By`)[1],h=tEt(p),g=u(d);if(!m)throw Error(`Query method could not be determined.`);i(t,{queryMethod:m,queryVariant:h,prevQuery:p,fix(i){if(n.isCustomQuery(d.callee))return null;let a=`${h}${m}`,o=[],s=`${a}(${g.map(e=>r.getText(e)).join(`, `)})`;o.push(i.replaceText(t,s));let c=nEt(GCt(e,f),p);if(!c)return o;if(c.parent&&L9(c.parent.parent)){let e=c.parent.parent;if(e.properties.some(e=>R9(e)&&$.ASTUtils.isIdentifier(e.key)&&e.key.name===a))return o;let t=r.getText(e).replace(/(\s*})$/,`, ${a}$1`);o.push(i.replaceText(e,t))}return o}})}}}});const iEt=e=>I9(e.parent)&&e.parent.object.type===$.AST_NODE_TYPES.Identifier,aEt=(e,t)=>t?M9(e.parent)&&$.ASTUtils.isAwaitExpression(e.parent.parent)&&M9(e.parent.parent.parent)&&$.ASTUtils.isIdentifier(e.parent.parent.parent.callee)&&e.parent.parent.parent.callee.name===`expect`:M9(e.parent)&&M9(e.parent.parent)&&$.ASTUtils.isIdentifier(e.parent.parent.callee)&&e.parent.parent.callee.name===`expect`,oEt=(e,t,n)=>{if(t)return e.report({node:t,messageId:`preferImplicitAssert`,data:{queryType:n}})};var sEt=Q9({name:`prefer-implicit-assert`,meta:{type:`suggestion`,docs:{description:`Suggest using implicit assertions for getBy* & findBy* queries`,recommendedConfig:{dom:!1,angular:!1,react:!1,vue:!1,svelte:!1,marko:!1}},messages:{preferImplicitAssert:"Don't wrap `{{queryType}}` query with `expect` & presence matchers like `toBeInTheDocument` or `not.toBeNull` as `{{queryType}}` queries fail implicitly when element is not found"},schema:[]},defaultOptions:[],create(e,t,n){let r=[],i=[];return{"CallExpression Identifier"(e){n.isFindQueryVariant(e)&&r.push(e),n.isGetQueryVariant(e)&&i.push(e)},"Program:exit"(){r.forEach(t=>{let r=iEt(t)?t.parent:t;if(r&&aEt(r,!0)&&I9(r.parent?.parent?.parent?.parent)&&r.parent?.parent?.parent?.parent.property.type===$.AST_NODE_TYPES.Identifier&&n.isPresenceAssert(r.parent.parent.parent.parent))return oEt(e,r,`findBy*`)}),i.forEach(t=>{let r=iEt(t)?t.parent:t;if(r&&aEt(r,!1)&&I9(r.parent?.parent?.parent)&&r.parent?.parent?.parent.property.type===$.AST_NODE_TYPES.Identifier&&n.isPresenceAssert(r.parent.parent.parent))return oEt(e,r,`getBy*`)})}}}}),cEt=Q9({name:`prefer-presence-queries`,meta:{docs:{description:"Ensure appropriate `get*`/`query*` queries are used with their respective matchers",recommendedConfig:{dom:`error`,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{wrongPresenceQuery:"Use `getBy*` queries rather than `queryBy*` for checking element is present",wrongAbsenceQuery:"Use `queryBy*` queries rather than `getBy*` for checking element is NOT present"},fixable:`code`,schema:[{type:`object`,additionalProperties:!1,properties:{presence:{type:`boolean`},absence:{type:`boolean`}}}],type:`suggestion`},defaultOptions:[{presence:!0,absence:!0}],create(e,[{absence:t=!0,presence:n=!0}],r){return{"CallExpression Identifier"(i){let a=fwt(i,`expect`),o=fwt(i,`within`);if(!I9(a?.parent)||!r.isSyncQuery(i))return;let s=r.isGetQueryVariant(i),c=a.parent,l=r.isPresenceAssert(c),u=r.isAbsenceAssert(c);if(!(!l&&!u)){if(n&&(o||l)&&!s){let t=i.name.replace(/^query/,`get`);e.report({node:i,messageId:`wrongPresenceQuery`,fix:e=>e.replaceText(i,t)})}else if(!o&&t&&u&&s){let t=i.name.replace(/^get/,`query`);e.report({node:i,messageId:`wrongAbsenceQuery`,fix:e=>e.replaceText(i,t)})}}}}}}),lEt=Q9({name:`prefer-query-by-disappearance`,meta:{type:`problem`,docs:{description:"Suggest using `queryBy*` queries when waiting for disappearance",recommendedConfig:{dom:`error`,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{preferQueryByDisappearance:`Prefer using queryBy* when waiting for disappearance`},schema:[]},defaultOptions:[],create(e,t,n){function r(e){let t=W9(e);return t?n.isAsyncUtil(t,[`waitForElementToBeRemoved`]):!1}function i(t){let r=I9(t)?W9(t.property):W9(t);return r&&(n.isGetQueryVariant(r)||n.isFindQueryVariant(r))?(e.report({node:r,messageId:`preferQueryByDisappearance`}),!0):!1}function a(e){return!M9(e)||!I9(e.callee)&&!W9(e.callee)?!1:i(e.callee)}function o(e){return!z9(e)||!M9(e.argument)?!1:i(e.argument.callee)}function s(e){return!N9(e)||!M9(e.expression)||!I9(e.expression.callee)&&!W9(e.expression.callee)?!1:i(e.expression.callee)}function c(e){return o(e)||s(e)}function l(e){return cwt(e)?e.body.body.some(e=>c(e)):!1}function u(e){return!j9(e)||!JCt(e.body)?!1:e.body.body.some(e=>c(e))}function d(e){return!j9(e)||!M9(e.body)||!I9(e.body.callee)&&!W9(e.body.callee)?!1:i(e.body.callee)}function f(e){return u(e)||d(e)}function p(e){if(!r(e))return;let t=e.arguments[0];t&&(a(t),f(t),l(t))}return{CallExpression:p}}}),uEt=Q9({name:`prefer-query-matchers`,meta:{docs:{description:"Ensure the configured `get*`/`query*` query is used with the corresponding matchers",recommendedConfig:{dom:!1,angular:!1,react:!1,vue:!1,svelte:!1,marko:!1}},messages:{wrongQueryForMatcher:"Use `{{ query }}By*` queries for {{ matcher }}"},schema:[{type:`object`,additionalProperties:!1,properties:{validEntries:{type:`array`,items:{type:`object`,properties:{query:{type:`string`,enum:[`get`,`query`]},matcher:{type:`string`}},additionalProperties:!1}}}}],type:`suggestion`},defaultOptions:[{validEntries:[]}],create(e,[{validEntries:t}],n){return{"CallExpression Identifier"(r){let i=fwt(r,`expect`);if(!i||!I9(i.parent)||!n.isSyncQuery(r))return;let a=n.isGetQueryVariant(r),o=i.parent;for(let i of t){let{query:t,matcher:s}=i;n.isMatchingAssert(o,s)&&t!==(a?`get`:`query`)&&e.report({node:r,messageId:`wrongQueryForMatcher`,data:{query:t,matcher:s}})}}}}});const dEt=[`container`,`baseElement`];function fEt(e){let t=e.arguments[1];return swt(t)&&t.properties.some(e=>R9(e)&&$.ASTUtils.isIdentifier(e.key)&&dEt.includes(e.key.name))}var pEt=Q9({name:`prefer-screen-queries`,meta:{type:`suggestion`,docs:{description:"Suggest using `screen` while querying",recommendedConfig:{dom:`error`,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{preferScreenQueries:"Avoid destructuring queries from `render` result, use `screen.{{ name }}` instead"},schema:[]},defaultOptions:[],create(e,t,n){let r=[];function i(t){let n=Y9(e,t);n&&r.push(q9(n))}function a(e){return n.isRenderUtil(e)||r.includes(e.name)}function o(t){e.report({node:t,messageId:`preferScreenQueries`,data:{name:t.name}})}function s(e){if(L9(e.id))for(let t of e.id.properties)R9(t)&&$.ASTUtils.isIdentifier(t.key)&&n.isBuiltInQuery(t.key)&&l.push(t.key.name)}function c(e){return[`screen`,...u].includes(e)}let l=[],u=[];return{VariableDeclarator(e){if(!M9(e.init)||!$.ASTUtils.isIdentifier(e.init.callee))return;let t=a(e.init.callee);t||s(e);let n=e.init.callee.name===`within`,r=t&&fEt(e.init);!n&&!r||(L9(e.id)?s(e):$.ASTUtils.isIdentifier(e.id)&&u.push(e.id.name))},CallExpression(t){let r=G9(t);if(!r||(n.isRenderUtil(r)&&i(r),!n.isBuiltInQuery(r)))return;if(!I9(r.parent)){if(l.some(e=>e===r.name))return;o(r);return}let s=r.parent;if(M9(s.object)&&$.ASTUtils.isIdentifier(s.object.callee)&&s.object.callee.name!==`within`&&a(s.object.callee)&&!fEt(s.object)){o(r);return}let u=Kwt(t,e);$.ASTUtils.isIdentifier(s.object)&&!c(s.object.name)&&!c(u?.original??``)&&o(r)}}}});const mEt={click:[`click`,`type`,`selectOptions`,`deselectOptions`],change:[`upload`,`type`,`clear`,`selectOptions`,`deselectOptions`],dblClick:[`dblClick`],input:[`type`,`upload`,`selectOptions`,`deselectOptions`,`paste`],keyDown:[`type`,`tab`],keyPress:[`type`],keyUp:[`type`,`tab`],mouseDown:[`click`,`dblClick`,`selectOptions`,`deselectOptions`],mouseEnter:[`hover`,`selectOptions`,`deselectOptions`],mouseLeave:[`unhover`],mouseMove:[`hover`,`unhover`,`selectOptions`,`deselectOptions`],mouseOut:[`unhover`],mouseOver:[`hover`,`selectOptions`,`deselectOptions`],mouseUp:[`click`,`dblClick`,`selectOptions`,`deselectOptions`],paste:[`paste`],pointerDown:[`click`,`dblClick`,`selectOptions`,`deselectOptions`],pointerEnter:[`hover`,`selectOptions`,`deselectOptions`],pointerLeave:[`unhover`],pointerMove:[`hover`,`unhover`,`selectOptions`,`deselectOptions`],pointerOut:[`unhover`],pointerOver:[`hover`,`selectOptions`,`deselectOptions`],pointerUp:[`click`,`dblClick`,`selectOptions`,`deselectOptions`]};function hEt(e){return(mEt[e]?.map(e=>`userEvent.${e}`)??[]).join(`, `).replace(/, ([a-zA-Z.]+)$/,`, or $1`)}const gEt=Object.keys(mEt);var _Et=Q9({name:`prefer-user-event`,meta:{type:`suggestion`,docs:{description:"Suggest using `userEvent` over `fireEvent` for simulating user interactions",recommendedConfig:{dom:!1,angular:!1,react:!1,vue:!1,svelte:!1,marko:!1}},messages:{preferUserEvent:`Prefer using {{userEventMethods}} over fireEvent.{{fireEventMethod}}`},schema:[{type:`object`,properties:{allowedMethods:{type:`array`}},additionalProperties:!1}]},defaultOptions:[{allowedMethods:[]}],create(e,[t],n){let{allowedMethods:r}=t,i={},a=e=>!gEt.includes(e)||r.includes(e),o=(e,t)=>{if(!$.ASTUtils.isIdentifier(e.callee)&&!I9(e.callee))return t.name;let r=e.arguments[1];return $.ASTUtils.isIdentifier(r)&&i[r.name]!==void 0?i[r.name]:!M9(r)||!n.isCreateEventUtil(r)?t.name:$.ASTUtils.isIdentifier(r.callee)?r.arguments[0].value:r.callee.property.name};return{"CallExpression Identifier"(t){if(!n.isFireEventMethod(t))return;let r=B9(t,!0);if(!r)return;let i=o(r,t);!i||a(i)||e.report({node:r.callee,messageId:`preferUserEvent`,data:{userEventMethods:hEt(i),fireEventMethod:i}})},VariableDeclarator(e){if(!M9(e.init)||!n.isCreateEventUtil(e.init)||!$.ASTUtils.isIdentifier(e.id))return;let t=``;I9(e.init.callee)&&$.ASTUtils.isIdentifier(e.init.callee.property)?t=e.init.callee.property.name:e.init.arguments.length>0&&(t=e.init.arguments[0].value),a(t)||(i[e.id.name]=t)}}}});const vEt=`setup`;var yEt=Q9({name:`prefer-user-event-setup`,meta:{type:`suggestion`,docs:{description:`Suggest using userEvent with setup() instead of direct methods`,recommendedConfig:{dom:!1,angular:!1,react:!1,vue:!1,svelte:!1,marko:!1}},messages:{preferUserEventSetup:`Prefer using userEvent with setup() instead of direct {{method}}() call. Use: const user = userEvent.setup(); await user.{{method}}(...)`},schema:[]},defaultOptions:[],create(e,t,n){let r=new Set,i=new Map,a=null;function o(e){return e.type===$.AST_NODE_TYPES.CallExpression&&e.callee.type===$.AST_NODE_TYPES.MemberExpression&&e.callee.object.type===$.AST_NODE_TYPES.Identifier&&e.callee.object.name===a&&e.callee.property.type===$.AST_NODE_TYPES.Identifier&&e.callee.property.name===vEt}return{ImportDeclaration(e){if(e.source.value===`@testing-library/user-event`){let t=e.specifiers.find(e=>e.type===$.AST_NODE_TYPES.ImportDefaultSpecifier);t&&(a=t.local.name);let n=e.specifiers.find(e=>e.type===$.AST_NODE_TYPES.ImportSpecifier&&e.imported.type===$.AST_NODE_TYPES.Identifier&&e.imported.name===`userEvent`);n&&n.type===$.AST_NODE_TYPES.ImportSpecifier&&(a=n.local.name)}},VariableDeclarator(e){if(!(!a||!e.init)&&(o(e.init)&&e.id.type===$.AST_NODE_TYPES.Identifier&&r.add(e.id.name),e.id.type===$.AST_NODE_TYPES.ObjectPattern&&e.init.type===$.AST_NODE_TYPES.CallExpression&&e.init.callee.type===$.AST_NODE_TYPES.Identifier)){let t=e.init.callee.name,n=i.get(t);if(n)for(let t of e.id.properties)t.type===$.AST_NODE_TYPES.Property&&t.key.type===$.AST_NODE_TYPES.Identifier&&n.has(t.key.name)&&t.value.type===$.AST_NODE_TYPES.Identifier&&r.add(t.value.name)}},FunctionDeclaration(e){if(!(!a||!e.id)&&e.body&&e.body.type===$.AST_NODE_TYPES.BlockStatement){for(let t of e.body.body)if(t.type===$.AST_NODE_TYPES.ReturnStatement){let n=t;if(n.argument&&n.argument.type===$.AST_NODE_TYPES.ObjectExpression){let t=new Set;for(let e of n.argument.properties)e.type===$.AST_NODE_TYPES.Property&&e.key.type===$.AST_NODE_TYPES.Identifier&&e.value&&o(e.value)&&t.add(e.key.name);t.size>0&&i.set(e.id.name,t)}}}},CallExpression(t){if(a&&t.callee.type===$.AST_NODE_TYPES.MemberExpression&&t.callee.property.type===$.AST_NODE_TYPES.Identifier&&n.isUserEventMethod(t.callee.property)){let n=t.callee.property.name;if(n===vEt)return;t.callee.object.type===$.AST_NODE_TYPES.Identifier&&r.has(t.callee.object.name)||e.report({node:t.callee,messageId:`preferUserEventSetup`,data:{method:n}})}}}}});const bEt=[`view`,`utils`];var xEt=Q9({name:`render-result-naming-convention`,meta:{type:`suggestion`,docs:{description:"Enforce a valid naming for return value from `render`",recommendedConfig:{dom:!1,angular:`error`,react:`error`,vue:`error`,svelte:`error`,marko:`error`}},messages:{renderResultNamingConvention:`\`{{ renderResultName }}\` is not a recommended name for \`render\` returned value. Instead, you should destructure it, or name it using one of: ${bEt.map(e=>`\`${e}\``).join(`, `).replace(/, ([^,]*)$/,`, or $1`)}`},schema:[]},defaultOptions:[],create(e,t,n){let r=[];function i(t){let n=Y9(e,t);n&&r.push(q9(n))}return{CallExpression(e){let t=G9(e);t&&n.isRenderUtil(t)&&i(t)},VariableDeclarator(t){if(!t.init)return;let i=G9(t.init);if(!i||!n.isRenderVariableDeclarator(t)&&!r.includes(i.name)||L9(t.id))return;let a=$.ASTUtils.isIdentifier(t.id)&&t.id.name;a&&(bEt.includes(a)||e.report({node:t,messageId:`renderResultNamingConvention`,data:{renderResultName:a}}))}}}});const SEt={"await-async-events":xTt,"await-async-queries":CTt,"await-async-utils":wTt,"consistent-data-testid":TTt,"no-await-sync-events":ATt,"no-await-sync-queries":jTt,"no-container":MTt,"no-debugging-utils":NTt,"no-dom-import":LTt,"no-global-regexp-flag-in-query":RTt,"no-manual-cleanup":BTt,"no-node-access":VTt,"no-promise-in-fire-event":HTt,"no-render-in-lifecycle":WTt,"no-test-id-queries":KTt,"no-unnecessary-act":qTt,"no-wait-for-multiple-assertions":JTt,"no-wait-for-side-effects":YTt,"no-wait-for-snapshot":ZTt,"prefer-explicit-assert":eEt,"prefer-find-by":rEt,"prefer-implicit-assert":sEt,"prefer-presence-queries":cEt,"prefer-query-by-disappearance":lEt,"prefer-query-matchers":uEt,"prefer-screen-queries":pEt,"prefer-user-event":_Et,"prefer-user-event-setup":yEt,"render-result-naming-convention":xEt},{name:CEt,version:wEt}=t(import.meta.url)(p(u(h(import.meta.url)),`../package.json`)),TEt=`testing-library`;function EEt(){return Object.entries(UCt).reduce((e,[t,n])=>{let r=`flat/${t}`;return{...e,[r]:{name:`${TEt}/${t}`,plugins:{get"testing-library"(){return OEt}},rules:n.rules}}},{})}function DEt(){return Object.entries(UCt).reduce((e,[t,n])=>({...e,[t]:{plugins:[TEt],rules:n.rules}}),{})}const OEt={meta:{name:CEt,version:wEt},rules:SEt,configs:{...EEt(),...DEt()}},kEt=[`js`,`jsx`,`mjs`,`cjs`],AEt=[`ts`,`tsx`,`mts`,`cts`],jEt=[`jsx`,`tsx`];function MEt(){return[`WithStatement`,`ForInStatement`]}const NEt={paths:[{name:`punycode`},{name:`assert`}]},PEt=[{ignores:[`**/!.storybook/`,`**/*.snap`,`**/.air/`,`**/.git/`,`**/.playwright-mcp/`,`**/.ruff_cache/`,`**/.swc/`,`**/.venv/`,`**/build/`,`**/dist/`,`**/node_modules/`,`**/persistent/`,`**/vendor/`]},{files:[`**/*.{${[...kEt,...AEt].join(`,`)}}`],languageOptions:{ecmaVersion:`latest`,sourceType:`module`,globals:{...LU.default.browser,...LU.default.node},parser:x,parserOptions:{ecmaFeatures:{jsx:!0,impliedStrict:!0},projectService:!0}},linterOptions:{reportUnusedDisableDirectives:2,reportUnusedInlineConfigs:2},plugins:{"@eslint-community/eslint-comments":me.default,"@stylistic":ml,"@typescript-eslint":PQe.default.plugin,"array-func":Pl,"de-morgan":ku,"import-x":c,regexp:lE,sonarjs:MU.default,unicorn:Hwe},settings:{"import-x/extensions":[...kEt,...AEt].map(e=>`.${e}`),"import-x/parsers":{"@typescript-eslint/parser":[...kEt,...AEt].map(e=>`.${e}`)},"import-x/resolver":{"eslint-import-resolver-typescript":!0}},rules:{"@eslint-community/eslint-comments/disable-enable-pair":[2,{allowWholeFile:!0}],"@eslint-community/eslint-comments/no-aggregating-enable":[2],"@eslint-community/eslint-comments/no-duplicate-disable":[2],"@eslint-community/eslint-comments/no-restricted-disable":[0],"@eslint-community/eslint-comments/no-unlimited-disable":[2],"@eslint-community/eslint-comments/no-unused-disable":[2],"@eslint-community/eslint-comments/no-unused-enable":[2],"@eslint-community/eslint-comments/no-use":[0],"@eslint-community/eslint-comments/require-description":[0],"@stylistic/array-bracket-newline":[0],"@stylistic/array-bracket-spacing":[2,`never`],"@stylistic/array-element-newline":[0],"@stylistic/arrow-parens":[0],"@stylistic/arrow-spacing":[2,{before:!0,after:!0}],"@stylistic/block-spacing":[0],"@stylistic/brace-style":[2,`1tbs`,{allowSingleLine:!0}],"@stylistic/comma-dangle":[2,`only-multiline`],"@stylistic/comma-spacing":[2,{before:!1,after:!0}],"@stylistic/comma-style":[2,`last`],"@stylistic/computed-property-spacing":[2,`never`],"@stylistic/curly-newline":[0],"@stylistic/dot-location":[2,`property`],"@stylistic/eol-last":[2],"@stylistic/exp-list-style":[0],"@stylistic/function-call-argument-newline":[0],"@stylistic/function-call-spacing":[2,`never`],"@stylistic/function-paren-newline":[0],"@stylistic/generator-star-spacing":[0],"@stylistic/implicit-arrow-linebreak":[0],"@stylistic/indent":[2,2,{ignoreComments:!0,SwitchCase:1}],"@stylistic/indent-binary-ops":[0],"@stylistic/key-spacing":[2],"@stylistic/keyword-spacing":[2],"@stylistic/line-comment-position":[0],"@stylistic/linebreak-style":[2,`unix`],"@stylistic/lines-around-comment":[0],"@stylistic/lines-between-class-members":[0],"@stylistic/max-len":[0],"@stylistic/max-statements-per-line":[0],"@stylistic/member-delimiter-style":[0],"@stylistic/multiline-comment-style":[0],"@stylistic/multiline-ternary":[0],"@stylistic/new-parens":[2],"@stylistic/newline-per-chained-call":[0],"@stylistic/no-confusing-arrow":[0],"@stylistic/no-extra-parens":[0],"@stylistic/no-extra-semi":[2],"@stylistic/no-floating-decimal":[0],"@stylistic/no-mixed-operators":[0],"@stylistic/no-mixed-spaces-and-tabs":[2],"@stylistic/no-multi-spaces":[2,{ignoreEOLComments:!0,exceptions:{Property:!0}}],"@stylistic/no-multiple-empty-lines":[2,{max:2,maxEOF:1,maxBOF:0}],"@stylistic/no-tabs":[0],"@stylistic/no-trailing-spaces":[2],"@stylistic/no-whitespace-before-property":[2],"@stylistic/nonblock-statement-body-position":[2],"@stylistic/object-curly-newline":[0],"@stylistic/object-curly-spacing":[2,`never`],"@stylistic/object-property-newline":[0],"@stylistic/one-var-declaration-per-line":[0],"@stylistic/operator-linebreak":[2,`after`],"@stylistic/padded-blocks":[2,`never`],"@stylistic/padding-line-between-statements":[0],"@stylistic/quote-props":[0],"@stylistic/quotes":[2,`double`,{avoidEscape:!0,allowTemplateLiterals:`always`}],"@stylistic/rest-spread-spacing":[2,`never`],"@stylistic/semi":[2,`always`],"@stylistic/semi-spacing":[2,{before:!1,after:!0}],"@stylistic/semi-style":[2,`last`],"@stylistic/space-before-blocks":[2,`always`],"@stylistic/space-before-function-paren":[0],"@stylistic/space-in-parens":[2,`never`],"@stylistic/space-infix-ops":[2],"@stylistic/space-unary-ops":[2],"@stylistic/spaced-comment":[0],"@stylistic/switch-colon-spacing":[2],"@stylistic/template-curly-spacing":[2,`never`],"@stylistic/template-tag-spacing":[2,`never`],"@stylistic/type-annotation-spacing":[0],"@stylistic/type-generic-spacing":[0],"@stylistic/type-named-tuple-spacing":[0],"@stylistic/wrap-iife":[2,`inside`],"@stylistic/wrap-regex":[0],"@stylistic/yield-star-spacing":[2,`after`],"@typescript-eslint/adjacent-overload-signatures":[0],"@typescript-eslint/array-type":[0],"@typescript-eslint/await-thenable":[2],"@typescript-eslint/ban-ts-comment":[2,{"ts-expect-error":!1,"ts-ignore":!0,"ts-nocheck":!1,"ts-check":!1}],"@typescript-eslint/ban-tslint-comment":[0],"@typescript-eslint/class-literal-property-style":[0],"@typescript-eslint/class-methods-use-this":[0],"@typescript-eslint/consistent-generic-constructors":[2,`constructor`],"@typescript-eslint/consistent-indexed-object-style":[0],"@typescript-eslint/consistent-return":[0],"@typescript-eslint/consistent-type-assertions":[2,{assertionStyle:`as`,objectLiteralTypeAssertions:`allow`}],"@typescript-eslint/consistent-type-definitions":[0],"@typescript-eslint/consistent-type-exports":[2,{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-imports":[2,{prefer:`type-imports`,fixStyle:`separate-type-imports`,disallowTypeAnnotations:!0}],"@typescript-eslint/default-param-last":[0],"@typescript-eslint/dot-notation":[0],"@typescript-eslint/explicit-function-return-type":[0],"@typescript-eslint/explicit-member-accessibility":[0],"@typescript-eslint/explicit-module-boundary-types":[0],"@typescript-eslint/init-declarations":[0],"@typescript-eslint/max-params":[0],"@typescript-eslint/member-ordering":[0],"@typescript-eslint/method-signature-style":[0],"@typescript-eslint/naming-convention":[0],"@typescript-eslint/no-array-constructor":[2],"@typescript-eslint/no-array-delete":[2],"@typescript-eslint/no-base-to-string":[2],"@typescript-eslint/no-confusing-non-null-assertion":[2],"@typescript-eslint/no-confusing-void-expression":[0],"@typescript-eslint/no-deprecated":[2],"@typescript-eslint/no-dupe-class-members":[0],"@typescript-eslint/no-duplicate-enum-values":[2],"@typescript-eslint/no-duplicate-type-constituents":[2,{ignoreUnions:!0}],"@typescript-eslint/no-dynamic-delete":[0],"@typescript-eslint/no-empty-function":[0],"@typescript-eslint/no-empty-interface":[0],"@typescript-eslint/no-empty-object-type":[2],"@typescript-eslint/no-explicit-any":[0],"@typescript-eslint/no-extra-non-null-assertion":[2],"@typescript-eslint/no-extraneous-class":[0],"@typescript-eslint/no-floating-promises":[0],"@typescript-eslint/no-for-in-array":[0],"@typescript-eslint/no-implied-eval":[2],"@typescript-eslint/no-import-type-side-effects":[0],"@typescript-eslint/no-inferrable-types":[0],"@typescript-eslint/no-invalid-this":[0],"@typescript-eslint/no-invalid-void-type":[0],"@typescript-eslint/no-loop-func":[0],"@typescript-eslint/no-loss-of-precision":[0],"@typescript-eslint/no-magic-numbers":[0],"@typescript-eslint/no-meaningless-void-operator":[0],"@typescript-eslint/no-misused-new":[2],"@typescript-eslint/no-misused-promises":[0],"@typescript-eslint/no-misused-spread":[0],"@typescript-eslint/no-mixed-enums":[0],"@typescript-eslint/no-namespace":[2],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":[0],"@typescript-eslint/no-non-null-asserted-optional-chain":[2],"@typescript-eslint/no-non-null-assertion":[0],"@typescript-eslint/no-redeclare":[2],"@typescript-eslint/no-redundant-type-constituents":[0],"@typescript-eslint/no-require-imports":[2],"@typescript-eslint/no-restricted-imports":[0],"@typescript-eslint/no-restricted-types":[0],"@typescript-eslint/no-shadow":[0],"@typescript-eslint/no-this-alias":[2],"@typescript-eslint/no-type-alias":[0],"@typescript-eslint/no-unnecessary-boolean-literal-compare":[0],"@typescript-eslint/no-unnecessary-condition":[0],"@typescript-eslint/no-unnecessary-parameter-property-assignment":[2],"@typescript-eslint/no-unnecessary-qualifier":[0],"@typescript-eslint/no-unnecessary-template-expression":[0],"@typescript-eslint/no-unnecessary-type-arguments":[0],"@typescript-eslint/no-unnecessary-type-assertion":[2],"@typescript-eslint/no-unnecessary-type-constraint":[2],"@typescript-eslint/no-unnecessary-type-conversion":[0],"@typescript-eslint/no-unnecessary-type-parameters":[0],"@typescript-eslint/no-unsafe-argument":[0],"@typescript-eslint/no-unsafe-assignment":[0],"@typescript-eslint/no-unsafe-call":[0],"@typescript-eslint/no-unsafe-declaration-merging":[2],"@typescript-eslint/no-unsafe-enum-comparison":[2],"@typescript-eslint/no-unsafe-function-type":[2],"@typescript-eslint/no-unsafe-member-access":[0],"@typescript-eslint/no-unsafe-return":[0],"@typescript-eslint/no-unsafe-type-assertion":[0],"@typescript-eslint/no-unsafe-unary-minus":[2],"@typescript-eslint/no-unused-expressions":[2],"@typescript-eslint/no-unused-private-class-members":[2],"@typescript-eslint/no-unused-vars":[2,{vars:`all`,args:`all`,caughtErrors:`all`,ignoreRestSiblings:!1,argsIgnorePattern:`^_`,varsIgnorePattern:`^_[^_]*$`,caughtErrorsIgnorePattern:`^_`,destructuredArrayIgnorePattern:`^_`}],"@typescript-eslint/no-use-before-define":[2,{functions:!1,classes:!0,variables:!0,allowNamedExports:!0,typedefs:!1,enums:!1,ignoreTypeReferences:!0}],"@typescript-eslint/no-useless-constructor":[0],"@typescript-eslint/no-useless-default-assignment":[2],"@typescript-eslint/no-useless-empty-export":[0],"@typescript-eslint/no-var-requires":[0],"@typescript-eslint/no-wrapper-object-types":[2],"@typescript-eslint/non-nullable-type-assertion-style":[0],"@typescript-eslint/only-throw-error":[2],"@typescript-eslint/parameter-properties":[0],"@typescript-eslint/prefer-as-const":[2],"@typescript-eslint/prefer-destructuring":[0],"@typescript-eslint/prefer-enum-initializers":[0],"@typescript-eslint/prefer-find":[2],"@typescript-eslint/prefer-for-of":[2],"@typescript-eslint/prefer-function-type":[2],"@typescript-eslint/prefer-includes":[2],"@typescript-eslint/prefer-literal-enum-member":[0],"@typescript-eslint/prefer-namespace-keyword":[2],"@typescript-eslint/prefer-nullish-coalescing":[0],"@typescript-eslint/prefer-optional-chain":[2,{requireNullish:!0}],"@typescript-eslint/prefer-promise-reject-errors":[2],"@typescript-eslint/prefer-readonly":[0],"@typescript-eslint/prefer-readonly-parameter-types":[0],"@typescript-eslint/prefer-reduce-type-parameter":[0],"@typescript-eslint/prefer-regexp-exec":[0],"@typescript-eslint/prefer-return-this-type":[0],"@typescript-eslint/prefer-string-starts-ends-with":[2,{allowSingleElementEquality:`always`}],"@typescript-eslint/prefer-ts-expect-error":[0],"@typescript-eslint/promise-function-async":[0],"@typescript-eslint/related-getter-setter-pairs":[2],"@typescript-eslint/require-array-sort-compare":[0],"@typescript-eslint/require-await":[2],"@typescript-eslint/restrict-plus-operands":[2],"@typescript-eslint/restrict-template-expressions":[2],"@typescript-eslint/return-await":[0],"@typescript-eslint/sort-type-constituents":[0],"@typescript-eslint/strict-boolean-expressions":[0],"@typescript-eslint/strict-void-return":[0],"@typescript-eslint/switch-exhaustiveness-check":[0],"@typescript-eslint/triple-slash-reference":[2],"@typescript-eslint/typedef":[0],"@typescript-eslint/unbound-method":[0],"@typescript-eslint/unified-signatures":[2],"@typescript-eslint/use-unknown-in-catch-callback-variable":[0],"accessor-pairs":[2],"array-callback-return":[2,{checkForEach:!0}],"array-func/avoid-reverse":[2],"array-func/from-map":[2],"array-func/no-unnecessary-this-arg":[2],"array-func/prefer-array-from":[2],"array-func/prefer-flat":[0],"array-func/prefer-flat-map":[0],"arrow-body-style":[0],"block-scoped-var":[2],camelcase:[0],"capitalized-comments":[0],"class-methods-use-this":[0],complexity:[0],"consistent-return":[0],"consistent-this":[0],"constructor-super":[2],curly:[0],"de-morgan/no-negated-conjunction":[2],"de-morgan/no-negated-disjunction":[2],"default-case":[0],"default-case-last":[2],"default-param-last":[0],"dot-notation":[0],eqeqeq:[2],"for-direction":[2],"func-name-matching":[2],"func-names":[0],"func-style":[0],"getter-return":[2],"grouped-accessor-pairs":[2],"guard-for-in":[0],"id-denylist":[0],"id-length":[0],"id-match":[0],"import-x/consistent-type-specifier-style":[0],"import-x/default":[0],"import-x/dynamic-import-chunkname":[0],"import-x/export":[2],"import-x/exports-last":[0],"import-x/extensions":[2,`ignorePackages`,{checkTypeImports:!0,js:`always`}],"import-x/first":[2],"import-x/group-exports":[0],"import-x/imports-first":[0],"import-x/max-dependencies":[0],"import-x/named":[0],"import-x/namespace":[0],"import-x/newline-after-import":[0],"import-x/no-absolute-path":[2],"import-x/no-amd":[2],"import-x/no-anonymous-default-export":[0],"import-x/no-commonjs":[2,{allowConditionalRequire:!1}],"import-x/no-cycle":[2,{ignoreExternal:!0,maxDepth:1}],"import-x/no-default-export":[0],"import-x/no-deprecated":[0],"import-x/no-duplicates":[2],"import-x/no-dynamic-require":[0],"import-x/no-empty-named-blocks":[2],"import-x/no-extraneous-dependencies":[2],"import-x/no-import-module-exports":[0],"import-x/no-internal-modules":[0],"import-x/no-mutable-exports":[0],"import-x/no-named-as-default":[0],"import-x/no-named-as-default-member":[0],"import-x/no-named-default":[0],"import-x/no-named-export":[0],"import-x/no-namespace":[0],"import-x/no-nodejs-modules":[0],"import-x/no-relative-packages":[0],"import-x/no-relative-parent-imports":[0],"import-x/no-rename-default":[0],"import-x/no-restricted-paths":[0],"import-x/no-self-import":[2],"import-x/no-unassigned-import":[0],"import-x/no-unresolved":[2,{commonjs:!0,ignore:[`\\?.+$`]}],"import-x/no-unused-modules":[0,{unusedExports:!0,ignoreUnusedTypeExports:!0}],"import-x/no-useless-path-segments":[2,{commonjs:!0}],"import-x/no-webpack-loader-syntax":[2],"import-x/order":[0],"import-x/prefer-default-export":[0],"import-x/prefer-namespace-import":[0],"import-x/unambiguous":[0],"init-declarations":[0],"line-comment-position":[0],"logical-assignment-operators":[0],"max-classes-per-file":[0],"max-depth":[0],"max-lines":[0],"max-lines-per-function":[0],"max-nested-callbacks":[0],"max-params":[0],"max-statements":[0],"multiline-comment-style":[0],"new-cap":[0],"no-alert":[0],"no-array-constructor":[0],"no-async-promise-executor":[0],"no-await-in-loop":[0],"no-bitwise":[0],"no-buffer-constructor":[0],"no-caller":[2],"no-case-declarations":[2],"no-class-assign":[2],"no-compare-neg-zero":[2],"no-cond-assign":[2,`except-parens`],"no-console":[1,{allow:[`debug`,`info`,`warn`,`error`]}],"no-const-assign":[2],"no-constant-binary-expression":[2],"no-constant-condition":[0],"no-constructor-return":[2],"no-continue":[0],"no-control-regex":[0],"no-debugger":[1],"no-delete-var":[2],"no-div-regex":[0],"no-dupe-args":[2],"no-dupe-class-members":[2],"no-dupe-else-if":[2],"no-dupe-keys":[2],"no-duplicate-case":[2],"no-duplicate-imports":[0],"no-else-return":[0],"no-empty":[2,{allowEmptyCatch:!0}],"no-empty-character-class":[2],"no-empty-function":[0],"no-empty-pattern":[2],"no-empty-static-block":[2],"no-eq-null":[0],"no-eval":[2],"no-ex-assign":[2],"no-extend-native":[2],"no-extra-bind":[2],"no-extra-boolean-cast":[2],"no-extra-label":[0],"no-fallthrough":[2],"no-func-assign":[2],"no-global-assign":[2],"no-implicit-coercion":[2],"no-implicit-globals":[0],"no-implied-eval":[0],"no-import-assign":[2],"no-inline-comments":[0],"no-inner-declarations":[2],"no-invalid-regexp":[2],"no-invalid-this":[0],"no-irregular-whitespace":[2],"no-iterator":[2],"no-label-var":[2],"no-labels":[0],"no-lone-blocks":[2],"no-lonely-if":[0],"no-loop-func":[0],"no-loss-of-precision":[2],"no-magic-numbers":[0],"no-misleading-character-class":[2],"no-multi-assign":[0],"no-multi-str":[2],"no-negated-condition":[0],"no-nested-ternary":[0],"no-new":[0],"no-new-func":[0],"no-new-native-nonconstructor":[2],"no-new-symbol":[0],"no-new-wrappers":[2],"no-nonoctal-decimal-escape":[2],"no-obj-calls":[2],"no-object-constructor":[2],"no-octal":[2],"no-octal-escape":[2],"no-param-reassign":[0],"no-plusplus":[0],"no-promise-executor-return":[0],"no-proto":[2],"no-prototype-builtins":[2],"no-redeclare":[2],"no-regex-spaces":[2],"no-restricted-exports":[0],"no-restricted-globals":[2,`self`],"no-restricted-imports":[2,NEt],"no-restricted-properties":[0],"no-restricted-syntax":[2,...MEt()],"no-return-assign":[0],"no-script-url":[2],"no-self-assign":[2,{props:!0}],"no-self-compare":[2],"no-sequences":[2],"no-setter-return":[2],"no-shadow":[0],"no-shadow-restricted-names":[2],"no-sparse-arrays":[2],"no-template-curly-in-string":[2],"no-ternary":[0],"no-this-before-super":[2],"no-throw-literal":[0],"no-undef":[2,{typeof:!0}],"no-undef-init":[2],"no-unassigned-vars":[2],"no-undefined":[0],"no-underscore-dangle":[0],"no-unexpected-multiline":[2],"no-unmodified-loop-condition":[2],"no-unneeded-ternary":[0],"no-unreachable":[2],"no-unreachable-loop":[2],"no-unsafe-finally":[2],"no-unsafe-negation":[2],"no-unsafe-optional-chaining":[2],"no-unused-expressions":[0],"no-unused-labels":[2],"no-unused-private-class-members":[0],"no-unused-vars":[0],"no-use-before-define":[0],"no-useless-assignment":[0],"no-useless-backreference":[2],"no-useless-call":[2],"no-useless-catch":[2],"no-useless-computed-key":[2],"no-useless-concat":[2],"no-useless-constructor":[2],"no-useless-escape":[2],"no-useless-rename":[2],"no-useless-return":[0],"no-var":[2],"no-void":[2],"no-warning-comments":[0],"no-with":[0],"object-shorthand":[2,`always`],"one-var":[0],"operator-assignment":[2,`always`],"prefer-arrow-callback":[2,{allowNamedFunctions:!0,allowUnboundThis:!0}],"prefer-const":[2,{destructuring:`all`,ignoreReadBeforeAssign:!0}],"prefer-destructuring":[0],"prefer-exponentiation-operator":[2],"prefer-named-capture-group":[0],"prefer-numeric-literals":[2],"prefer-object-has-own":[2],"prefer-object-spread":[2],"prefer-promise-reject-errors":[0],"prefer-regex-literals":[2,{disallowRedundantWrapping:!0}],"prefer-rest-params":[2],"prefer-spread":[2],"prefer-template":[2],"preserve-caught-error":[0],radix:[0],"regexp/confusing-quantifier":[2],"regexp/control-character-escape":[2],"regexp/grapheme-string-literal":[0],"regexp/hexadecimal-escape":[0],"regexp/letter-case":[0],"regexp/match-any":[0],"regexp/negation":[2],"regexp/no-contradiction-with-assertion":[2],"regexp/no-control-character":[0],"regexp/no-dupe-characters-character-class":[2],"regexp/no-dupe-disjunctions":[2],"regexp/no-empty-alternative":[2],"regexp/no-empty-capturing-group":[2],"regexp/no-empty-character-class":[0],"regexp/no-empty-group":[2],"regexp/no-empty-lookarounds-assertion":[2],"regexp/no-empty-string-literal":[2],"regexp/no-escape-backspace":[2],"regexp/no-extra-lookaround-assertions":[0],"regexp/no-invalid-regexp":[2],"regexp/no-invisible-character":[2],"regexp/no-lazy-ends":[2],"regexp/no-legacy-features":[2],"regexp/no-misleading-capturing-group":[2],"regexp/no-misleading-unicode-character":[2],"regexp/no-missing-g-flag":[2],"regexp/no-non-standard-flag":[2],"regexp/no-obscure-range":[2],"regexp/no-octal":[2],"regexp/no-optional-assertion":[2],"regexp/no-potentially-useless-backreference":[2],"regexp/no-standalone-backslash":[2],"regexp/no-super-linear-backtracking":[0],"regexp/no-super-linear-move":[0],"regexp/no-trivially-nested-assertion":[2],"regexp/no-trivially-nested-quantifier":[2],"regexp/no-unused-capturing-group":[0],"regexp/no-useless-assertions":[2],"regexp/no-useless-backreference":[2],"regexp/no-useless-character-class":[0],"regexp/no-useless-dollar-replacements":[2],"regexp/no-useless-escape":[2],"regexp/no-useless-flag":[2],"regexp/no-useless-lazy":[2],"regexp/no-useless-non-capturing-group":[2],"regexp/no-useless-quantifier":[2],"regexp/no-useless-range":[2],"regexp/no-useless-set-operand":[2],"regexp/no-useless-string-literal":[2],"regexp/no-useless-two-nums-quantifier":[2],"regexp/no-zero-quantifier":[2],"regexp/optimal-lookaround-quantifier":[2],"regexp/optimal-quantifier-concatenation":[0],"regexp/prefer-character-class":[0],"regexp/prefer-d":[0],"regexp/prefer-escape-replacement-dollar-char":[0],"regexp/prefer-lookaround":[0],"regexp/prefer-named-backreference":[0],"regexp/prefer-named-capture-group":[0],"regexp/prefer-named-replacement":[0],"regexp/prefer-plus-quantifier":[2],"regexp/prefer-predefined-assertion":[2],"regexp/prefer-quantifier":[0],"regexp/prefer-question-quantifier":[2],"regexp/prefer-range":[2],"regexp/prefer-regexp-exec":[2],"regexp/prefer-regexp-test":[0],"regexp/prefer-result-array-groups":[0],"regexp/prefer-set-operation":[2],"regexp/prefer-star-quantifier":[2],"regexp/prefer-unicode-codepoint-escapes":[2],"regexp/prefer-w":[0],"regexp/require-unicode-regexp":[0],"regexp/require-unicode-sets-regexp":[0],"regexp/simplify-set-operations":[2],"regexp/sort-alternatives":[0],"regexp/sort-character-class-elements":[0],"regexp/sort-flags":[0],"regexp/strict":[2],"regexp/unicode-escape":[0],"regexp/unicode-property":[0],"regexp/use-ignore-case":[0],"require-atomic-updates":[0],"require-await":[0],"require-unicode-regexp":[0],"require-yield":[2],"sonarjs/cognitive-complexity":[0],"sonarjs/elseif-without-else":[0],"sonarjs/max-switch-cases":[0],"sonarjs/no-all-duplicated-branches":[2],"sonarjs/no-collapsible-if":[0],"sonarjs/no-collection-size-mischeck":[2],"sonarjs/no-duplicate-string":[0],"sonarjs/no-duplicated-branches":[0],"sonarjs/no-element-overwrite":[2],"sonarjs/no-empty-collection":[2],"sonarjs/no-extra-arguments":[2],"sonarjs/no-gratuitous-expressions":[2],"sonarjs/no-identical-conditions":[0],"sonarjs/no-identical-expressions":[2],"sonarjs/no-identical-functions":[0],"sonarjs/no-ignored-return":[2],"sonarjs/no-inverted-boolean-check":[2],"sonarjs/no-nested-switch":[0],"sonarjs/no-nested-template-literals":[0],"sonarjs/no-redundant-boolean":[2],"sonarjs/no-redundant-jump":[0],"sonarjs/no-same-line-conditional":[2],"sonarjs/no-small-switch":[0],"sonarjs/no-unused-collection":[2],"sonarjs/no-use-of-empty-return-value":[2],"sonarjs/no-useless-catch":[0],"sonarjs/non-existent-operator":[2],"sonarjs/prefer-immediate-return":[0],"sonarjs/prefer-object-literal":[0],"sonarjs/prefer-single-boolean-return":[0],"sonarjs/prefer-while":[2],"sort-imports":[0],"sort-keys":[0],"sort-vars":[0],strict:[0],"symbol-description":[2],"unicode-bom":[2,`never`],"unicorn/better-regex":[0],"unicorn/catch-error-name":[0],"unicorn/consistent-assert":[0],"unicorn/consistent-date-clone":[2],"unicorn/consistent-destructuring":[2],"unicorn/consistent-empty-array-spread":[2],"unicorn/consistent-existence-index-check":[0],"unicorn/consistent-function-scoping":[2],"unicorn/consistent-template-literal-escape":[2],"unicorn/custom-error-definition":[0],"unicorn/empty-brace-spaces":[2],"unicorn/error-message":[0],"unicorn/escape-case":[0],"unicorn/expiring-todo-comments":[0],"unicorn/explicit-length-check":[0],"unicorn/filename-case":[0],"unicorn/import-index":[0],"unicorn/import-style":[0],"unicorn/isolated-functions":[2,{functions:[]}],"unicorn/new-for-builtins":[2],"unicorn/no-abusive-eslint-disable":[0],"unicorn/no-accessor-recursion":[2],"unicorn/no-anonymous-default-export":[0],"unicorn/no-array-callback-reference":[0],"unicorn/no-array-for-each":[2],"unicorn/no-array-method-this-argument":[2],"unicorn/no-array-push-push":[2],"unicorn/no-array-reduce":[0],"unicorn/no-array-reverse":[0],"unicorn/no-array-sort":[0],"unicorn/no-await-expression-member":[0],"unicorn/no-await-in-promise-methods":[2],"unicorn/no-console-spaces":[0],"unicorn/no-document-cookie":[2],"unicorn/no-empty-file":[0],"unicorn/no-for-loop":[0],"unicorn/no-hex-escape":[0],"unicorn/no-immediate-mutation":[0],"unicorn/no-instanceof-array":[0],"unicorn/no-instanceof-builtins":[2],"unicorn/no-invalid-fetch-options":[2],"unicorn/no-invalid-remove-event-listener":[2],"unicorn/no-keyword-prefix":[0],"unicorn/no-length-as-slice-end":[2],"unicorn/no-lonely-if":[2],"unicorn/no-magic-array-flat-depth":[0],"unicorn/no-named-default":[2],"unicorn/no-negated-condition":[0],"unicorn/no-negation-in-equality-check":[2],"unicorn/no-nested-ternary":[0],"unicorn/no-new-array":[0],"unicorn/no-new-buffer":[2],"unicorn/no-null":[0],"unicorn/no-object-as-default-parameter":[0],"unicorn/no-process-exit":[0],"unicorn/no-single-promise-in-promise-methods":[2],"unicorn/no-static-only-class":[2],"unicorn/no-thenable":[0],"unicorn/no-this-assignment":[2],"unicorn/no-typeof-undefined":[2],"unicorn/no-unnecessary-array-flat-depth":[2],"unicorn/no-unnecessary-array-splice-count":[2],"unicorn/no-unnecessary-await":[2],"unicorn/no-unnecessary-polyfills":[0],"unicorn/no-unnecessary-slice-end":[2],"unicorn/no-unreadable-array-destructuring":[0],"unicorn/no-unreadable-iife":[0],"unicorn/no-unused-properties":[2],"unicorn/no-useless-collection-argument":[2],"unicorn/no-useless-error-capture-stack-trace":[2],"unicorn/no-useless-fallback-in-spread":[2],"unicorn/no-useless-iterator-to-array":[2],"unicorn/no-useless-length-check":[2],"unicorn/no-useless-promise-resolve-reject":[2],"unicorn/no-useless-spread":[2],"unicorn/no-useless-switch-case":[2],"unicorn/no-useless-undefined":[0],"unicorn/no-zero-fractions":[2],"unicorn/number-literal-case":[0],"unicorn/numeric-separators-style":[0],"unicorn/prefer-add-event-listener":[2],"unicorn/prefer-array-find":[0],"unicorn/prefer-array-flat":[2],"unicorn/prefer-array-flat-map":[2],"unicorn/prefer-array-index-of":[2],"unicorn/prefer-array-some":[2],"unicorn/prefer-at":[0],"unicorn/prefer-bigint-literals":[2],"unicorn/prefer-blob-reading-methods":[2],"unicorn/prefer-class-fields":[2],"unicorn/prefer-classlist-toggle":[2],"unicorn/prefer-code-point":[0],"unicorn/prefer-date-now":[2],"unicorn/prefer-default-parameters":[0],"unicorn/prefer-dom-node-append":[2],"unicorn/prefer-dom-node-dataset":[0],"unicorn/prefer-dom-node-remove":[2],"unicorn/prefer-dom-node-text-content":[2],"unicorn/prefer-event-target":[2],"unicorn/prefer-export-from":[0],"unicorn/prefer-global-this":[0],"unicorn/prefer-import-meta-properties":[2],"unicorn/prefer-includes":[0],"unicorn/prefer-json-parse-buffer":[0],"unicorn/prefer-keyboard-event-key":[2],"unicorn/prefer-logical-operator-over-ternary":[2],"unicorn/prefer-math-min-max":[2],"unicorn/prefer-math-trunc":[2],"unicorn/prefer-modern-dom-apis":[0],"unicorn/prefer-modern-math-apis":[2],"unicorn/prefer-module":[0],"unicorn/prefer-native-coercion-functions":[2],"unicorn/prefer-negative-index":[2],"unicorn/prefer-node-protocol":[2],"unicorn/prefer-number-properties":[0],"unicorn/prefer-object-from-entries":[2],"unicorn/prefer-object-has-own":[0],"unicorn/prefer-optional-catch-binding":[2],"unicorn/prefer-prototype-methods":[2],"unicorn/prefer-query-selector":[0],"unicorn/prefer-reflect-apply":[0],"unicorn/prefer-regexp-test":[2],"unicorn/prefer-response-static-json":[2],"unicorn/prefer-set-has":[0],"unicorn/prefer-set-size":[2],"unicorn/prefer-simple-condition-first":[0],"unicorn/prefer-single-call":[0],"unicorn/prefer-spread":[0],"unicorn/prefer-string-raw":[0],"unicorn/prefer-string-replace-all":[0],"unicorn/prefer-string-slice":[0],"unicorn/prefer-string-starts-ends-with":[0],"unicorn/prefer-string-trim-start-end":[2],"unicorn/prefer-structured-clone":[2],"unicorn/prefer-switch":[0],"unicorn/prefer-ternary":[0],"unicorn/prefer-top-level-await":[0],"unicorn/prefer-type-error":[0],"unicorn/prevent-abbreviations":[0],"unicorn/relative-url-style":[2],"unicorn/require-array-join-separator":[2],"unicorn/require-module-attributes":[2],"unicorn/require-module-specifiers":[0],"unicorn/require-number-to-fixed-digits-argument":[2],"unicorn/require-post-message-target-origin":[0],"unicorn/string-content":[0],"unicorn/switch-case-braces":[0],"unicorn/switch-case-break-position":[2],"unicorn/template-indent":[2],"unicorn/text-encoding-identifier-case":[0],"unicorn/throw-new-error":[2],"use-isnan":[2],"valid-typeof":[2,{requireStringLiterals:!0}],"vars-on-top":[0],yoda:[2,`never`]}},{files:[`**/*.{${kEt.join(`,`)}}`],rules:{"@typescript-eslint/no-redeclare":[0],"no-restricted-syntax":[2,...MEt()]}},{files:[`**/*.{${AEt.join(`,`)}}`],rules:{"constructor-super":[0],"getter-return":[0],"import-x/export":[0],"import-x/no-extraneous-dependencies":[0],"import-x/no-unresolved":[0],"no-const-assign":[0],"no-dupe-args":[0],"no-dupe-class-members":[0],"no-dupe-keys":[0],"no-func-assign":[0],"no-import-assign":[0],"no-new-native-nonconstructor":[0],"no-new-symbol":[0],"no-obj-calls":[0],"no-redeclare":[0],"no-setter-return":[0],"no-this-before-super":[0],"no-undef":[0],"no-unreachable":[0],"no-unsafe-negation":[0],"sonarjs/no-extra-arguments":[0],"sonarjs/no-use-of-empty-return-value":[0],"valid-typeof":[0]}},{files:[`**/*.d.ts`],rules:{"@typescript-eslint/consistent-type-definitions":[0],"@typescript-eslint/consistent-type-imports":[0],"@typescript-eslint/no-unused-vars":[0],"no-var":[0]}},{files:[`**/*.worker.*`,`**/*.sharedworker.*`],languageOptions:{globals:LU.default.worker},rules:{"no-restricted-globals":[2,`window`]}},{plugins:{vitest:fje,"testing-library":OEt},files:[`**/*.test.*`,`vitest.setup.*`,`integration/**`],ignores:[`**/e2e/**`],languageOptions:{globals:LU.default.vitest},rules:{"unicorn/consistent-function-scoping":[0],"vitest/consistent-each-for":[0],"vitest/consistent-test-filename":[0],"vitest/consistent-test-it":[0],"vitest/consistent-vitest-vi":[0],"vitest/expect-expect":[0],"vitest/hoisted-apis-on-top":[0],"vitest/max-expects":[0],"vitest/max-nested-describe":[0],"vitest/no-alias-methods":[0],"vitest/no-commented-out-tests":[0],"vitest/no-conditional-expect":[0],"vitest/no-conditional-in-test":[0],"vitest/no-conditional-tests":[0],"vitest/no-disabled-tests":[0],"vitest/no-done-callback":[0],"vitest/no-duplicate-hooks":[0],"vitest/no-focused-tests":[2],"vitest/no-hooks":[0],"vitest/no-identical-title":[2],"vitest/no-import-node-test":[0],"vitest/no-importing-vitest-globals":[0],"vitest/no-interpolation-in-snapshots":[0],"vitest/no-large-snapshots":[0],"vitest/no-mocks-import":[0],"vitest/no-restricted-matchers":[0],"vitest/no-restricted-vi-methods":[0],"vitest/no-standalone-expect":[0],"vitest/no-test-prefixes":[0],"vitest/no-test-return-statement":[0],"vitest/no-unneeded-async-expect-function":[2],"vitest/padding-around-after-all-blocks":[0],"vitest/padding-around-after-each-blocks":[0],"vitest/padding-around-all":[0],"vitest/padding-around-before-all-blocks":[0],"vitest/padding-around-before-each-blocks":[0],"vitest/padding-around-describe-blocks":[0],"vitest/padding-around-expect-groups":[0],"vitest/padding-around-test-blocks":[0],"vitest/prefer-called-exactly-once-with":[0],"vitest/prefer-called-once":[0],"vitest/prefer-called-times":[0],"vitest/prefer-called-with":[0],"vitest/prefer-comparison-matcher":[0],"vitest/prefer-describe-function-title":[0],"vitest/prefer-each":[0],"vitest/prefer-equality-matcher":[0],"vitest/prefer-expect-assertions":[0],"vitest/prefer-expect-resolves":[0],"vitest/prefer-expect-type-of":[0],"vitest/prefer-hooks-in-order":[0],"vitest/prefer-hooks-on-top":[2],"vitest/prefer-import-in-mock":[0],"vitest/prefer-importing-vitest-globals":[0],"vitest/prefer-lowercase-title":[0],"vitest/prefer-mock-promise-shorthand":[0],"vitest/prefer-mock-return-shorthand":[0],"vitest/prefer-snapshot-hint":[0],"vitest/prefer-spy-on":[0],"vitest/prefer-strict-boolean-matchers":[0],"vitest/prefer-strict-equal":[0],"vitest/prefer-to-be":[0],"vitest/prefer-to-be-falsy":[0],"vitest/prefer-to-be-object":[0],"vitest/prefer-to-be-truthy":[0],"vitest/prefer-to-contain":[0],"vitest/prefer-to-have-been-called-times":[0],"vitest/prefer-to-have-length":[0],"vitest/prefer-todo":[0],"vitest/prefer-vi-mocked":[0],"vitest/require-awaited-expect-poll":[0],"vitest/require-hook":[0],"vitest/require-local-test-context-for-concurrent-snapshots":[0],"vitest/require-mock-type-parameters":[0],"vitest/require-test-timeout":[0],"vitest/require-to-throw-message":[0],"vitest/require-top-level-describe":[0],"vitest/valid-describe-callback":[2],"vitest/valid-expect":[2],"vitest/valid-expect-in-promise":[2],"vitest/valid-title":[2],"vitest/warn-todo":[0],"testing-library/await-async-events":[2,{eventModule:`userEvent`}],"testing-library/await-async-queries":[2],"testing-library/await-async-utils":[2],"testing-library/consistent-data-testid":[0],"testing-library/no-await-sync-events":[2,{eventModules:[`fire-event`]}],"testing-library/no-await-sync-queries":[2],"testing-library/no-container":[0],"testing-library/no-debugging-utils":[2],"testing-library/no-dom-import":[2,`react`],"testing-library/no-global-regexp-flag-in-query":[2],"testing-library/no-manual-cleanup":[2],"testing-library/no-node-access":[0],"testing-library/no-promise-in-fire-event":[2],"testing-library/no-render-in-lifecycle":[2],"testing-library/no-test-id-queries":[0],"testing-library/no-unnecessary-act":[2],"testing-library/no-wait-for-multiple-assertions":[2],"testing-library/no-wait-for-side-effects":[2],"testing-library/no-wait-for-snapshot":[2],"testing-library/prefer-explicit-assert":[0],"testing-library/prefer-find-by":[2],"testing-library/prefer-implicit-assert":[0],"testing-library/prefer-presence-queries":[2],"testing-library/prefer-query-by-disappearance":[2],"testing-library/prefer-query-matchers":[0],"testing-library/prefer-screen-queries":[2],"testing-library/prefer-user-event":[0],"testing-library/prefer-user-event-setup":[0],"testing-library/render-result-naming-convention":[2]}},{files:[`**/*.config.*`,`**/*.stories.*`,`**/.storybook/**`,`**/*.d.ts`,`vitest.setup.*`,`vitest.global.*`],rules:{"import-x/no-unused-modules":[0]}},{files:[`**/e2e/**.test.${[...kEt,...AEt].join(`,`)}`],plugins:{playwright:pje},rules:{"no-empty-pattern":[0],"playwright/consistent-spacing-between-blocks":[2],"playwright/expect-expect":[0],"playwright/max-expects":[0],"playwright/max-nested-describe":[2],"playwright/missing-playwright-await":[2],"playwright/no-commented-out-tests":[0],"playwright/no-conditional-expect":[2],"playwright/no-conditional-in-test":[0],"playwright/no-duplicate-hooks":[2],"playwright/no-duplicate-slow":[2],"playwright/no-element-handle":[2],"playwright/no-eval":[2],"playwright/no-focused-test":[2],"playwright/no-force-option":[2],"playwright/no-get-by-title":[0],"playwright/no-hooks":[0],"playwright/no-nested-step":[2],"playwright/no-networkidle":[0],"playwright/no-nth-methods":[0],"playwright/no-page-pause":[2],"playwright/no-raw-locators":[0],"playwright/no-restricted-locators":[0],"playwright/no-restricted-matchers":[0],"playwright/no-restricted-roles":[0],"playwright/no-skipped-test":[2],"playwright/no-slowed-test":[0],"playwright/no-standalone-expect":[2],"playwright/no-unsafe-references":[2],"playwright/no-unused-locators":[2],"playwright/no-useless-await":[2],"playwright/no-useless-not":[2],"playwright/no-wait-for-navigation":[2],"playwright/no-wait-for-selector":[2],"playwright/no-wait-for-timeout":[2],"playwright/prefer-comparison-matcher":[0],"playwright/prefer-equality-matcher":[0],"playwright/prefer-hooks-in-order":[2],"playwright/prefer-hooks-on-top":[2],"playwright/prefer-locator":[2],"playwright/prefer-lowercase-title":[0],"playwright/prefer-native-locators":[0],"playwright/prefer-strict-equal":[0],"playwright/prefer-to-be":[0],"playwright/prefer-to-contain":[0],"playwright/prefer-to-have-count":[2],"playwright/prefer-to-have-length":[2],"playwright/prefer-web-first-assertions":[2],"playwright/require-hook":[0],"playwright/require-soft-assertions":[0],"playwright/require-tags":[0],"playwright/require-to-pass-timeout":[0],"playwright/require-to-throw-message":[0],"playwright/require-top-level-describe":[0],"playwright/valid-describe-callback":[2],"playwright/valid-expect":[2],"playwright/valid-expect-in-promise":[2],"playwright/valid-test-tags":[2],"playwright/valid-title":[2]}},{plugins:{react:HWe,"react-jsx":kGe,"react-dom":dqe,"react-web-api":Xqe,"react-naming-convention":mJe,"react-refresh":SJe,"validate-jsx-nesting":NQe.default},files:[`**/*.{${jEt.join(`,`)}}`],rules:{"react-dom/no-dangerously-set-innerhtml":[0],"react-dom/no-dangerously-set-innerhtml-with-children":[2],"react-dom/no-find-dom-node":[2],"react-dom/no-flush-sync":[0],"react-dom/no-hydrate":[0],"react-dom/no-missing-button-type":[0],"react-dom/no-missing-iframe-sandbox":[0],"react-dom/no-render":[2],"react-dom/no-render-return-value":[2],"react-dom/no-script-url":[2],"react-dom/no-string-style-prop":[2],"react-dom/no-unknown-property":[2,{ignore:[`css`],requireDataLowercase:!0}],"react-dom/no-unsafe-iframe-sandbox":[2],"react-dom/no-unsafe-target-blank":[0],"react-dom/no-use-form-state":[0],"react-dom/no-void-elements-with-children":[2],"react-dom/prefer-namespace-import":[0],"react-jsx/no-children-prop":[0],"react-jsx/no-children-prop-with-children":[2],"react-jsx/no-comment-textnodes":[2],"react-jsx/no-key-after-spread":[2],"react-jsx/no-leaked-dollar":[2],"react-jsx/no-leaked-semicolon":[2],"react-jsx/no-namespace":[2],"react-jsx/no-useless-fragment":[0],"react-naming-convention/context-name":[0],"react-naming-convention/id-name":[0],"react-naming-convention/ref-name":[0],"react-web-api/no-leaked-event-listener":[0],"react-web-api/no-leaked-interval":[0],"react-web-api/no-leaked-resize-observer":[0],"react-web-api/no-leaked-timeout":[0],"react/component-hook-factories":[0],"react/error-boundaries":[2],"react/exhaustive-deps":[2,{additionalHooks:`^(useEffectOnce|useLayoutEffectOnce)$`}],"react/immutability":[0],"react/no-access-state-in-setstate":[2],"react/no-array-index-key":[0],"react/no-children-count":[0],"react/no-children-for-each":[0],"react/no-children-map":[0],"react/no-children-only":[0],"react/no-children-to-array":[0],"react/no-class-component":[0],"react/no-clone-element":[0],"react/no-component-will-mount":[2],"react/no-component-will-receive-props":[2],"react/no-component-will-update":[2],"react/no-context-provider":[0],"react/no-create-ref":[2],"react/no-direct-mutation-state":[2],"react/no-duplicate-key":[2],"react/no-forward-ref":[2],"react/no-implicit-children":[0],"react/no-implicit-key":[2],"react/no-implicit-ref":[0],"react/no-leaked-conditional-rendering":[0],"react/no-missing-component-display-name":[0],"react/no-missing-context-display-name":[0],"react/no-missing-key":[2],"react/no-misused-capture-owner-stack":[0],"react/no-nested-component-definitions":[2],"react/no-nested-lazy-component-declarations":[2],"react/no-redundant-should-component-update":[2],"react/no-set-state-in-component-did-mount":[0],"react/no-set-state-in-component-did-update":[0],"react/no-set-state-in-component-will-update":[0],"react/no-unnecessary-use-callback":[2],"react/no-unnecessary-use-memo":[2],"react/no-unnecessary-use-prefix":[0],"react/no-unsafe-component-will-mount":[0],"react/no-unsafe-component-will-receive-props":[0],"react/no-unsafe-component-will-update":[0],"react/no-unstable-context-value":[2],"react/no-unstable-default-props":[2],"react/no-unused-class-component-members":[0],"react/no-unused-props":[2],"react/no-unused-state":[2],"react/no-use-context":[0],"react/prefer-destructuring-assignment":[0],"react/prefer-namespace-import":[0],"react/purity":[2],"react/refs":[2],"react/rules-of-hooks":[2],"react/set-state-in-effect":[0],"react/set-state-in-render":[2],"react/unsupported-syntax":[2],"react/use-memo":[2],"react/use-state":[2,{enforceAssignment:!0,enforceSetterName:!0}],"@stylistic/exp-jsx-props-style":[0],"@stylistic/jsx-child-element-spacing":[0],"@stylistic/jsx-closing-bracket-location":[0],"@stylistic/jsx-closing-tag-location":[2],"@stylistic/jsx-curly-brace-presence":[0],"@stylistic/jsx-curly-newline":[2,`consistent`],"@stylistic/jsx-curly-spacing":[2,{when:`never`}],"@stylistic/jsx-equals-spacing":[2,`never`],"@stylistic/jsx-first-prop-new-line":[0],"@stylistic/jsx-function-call-newline":[0],"@stylistic/jsx-indent":[0],"@stylistic/jsx-indent-props":[2,2],"@stylistic/jsx-max-props-per-line":[0],"@stylistic/jsx-newline":[0],"@stylistic/jsx-one-expression-per-line":[0],"@stylistic/jsx-props-no-multi-spaces":[0],"@stylistic/jsx-pascal-case":[2,{allowAllCaps:!0}],"@stylistic/jsx-quotes":[0],"@stylistic/jsx-self-closing-comp":[2],"@stylistic/jsx-sort-props":[0],"@stylistic/jsx-tag-spacing":[2,{beforeSelfClosing:`never`,beforeClosing:`never`}],"@stylistic/jsx-wrap-multilines":[2],"react-refresh/only-export-components":[2,{allowConstantExport:!0}],"validate-jsx-nesting/no-invalid-jsx-nesting":[2]}},{files:[`**/*.test.*`],rules:{"react/error-boundaries":[0]}},{files:[`**/*.stories.*`],plugins:{storybook:LCt},rules:{"react/no-nested-component-definitions":[0],"sonarjs/no-identical-functions":[0],"storybook/await-interactions":[2],"storybook/context-in-play-function":[2],"storybook/csf-component":[0],"storybook/default-exports":[2],"storybook/hierarchy-separator":[2],"storybook/meta-inline-properties":[0],"storybook/meta-satisfies-type":[0],"storybook/no-redundant-story-name":[2],"storybook/no-renderer-packages":[0],"storybook/no-stories-of":[0],"storybook/no-title-property-in-meta":[0],"storybook/no-uninstalled-addons":[0],"storybook/prefer-pascal-case":[2],"storybook/story-exports":[2],"storybook/use-storybook-expect":[2],"storybook/use-storybook-testing-library":[2]}},{files:[`openapi.d.ts`],rules:{"@typescript-eslint/no-redundant-type-constituents":[0]}}];export{PEt as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-config-silverwind",
3
- "version": "131.0.1",
3
+ "version": "131.0.2",
4
4
  "description": "Exhaustive ESLint configuration",
5
5
  "license": "BSD-2-Clause",
6
6
  "author": "silverwind <me@silverwind.io>",