@2digits/eslint-config 4.0.1 → 4.1.0

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.js CHANGED
@@ -1,3 +1,2 @@
1
- import ke from'eslint-plugin-antfu';import V from'eslint-plugin-de-morgan';import ve from'@eslint-community/eslint-plugin-eslint-comments';import Me from'@eslint-community/eslint-plugin-eslint-comments/configs';import {renamePluginsInRules,composer,renamePluginsInConfigs,FlatConfigComposer}from'eslint-flat-config-utils';import {fork,lexer,parse,toPlainObject}from'css-tree';import {ConfigCommentParser,TextSourceCodeBase,Directive,VisitNodeStep}from'@eslint/plugin-kit';import {fixupPluginRules}from'@eslint/compat';import {loadConfig}from'graphql-config';import Ke from'@eslint/js';import Ye from'@stylistic/eslint-plugin';import D from'globals';import Ze,{configs}from'eslint-plugin-jsonc';import er from'jsonc-eslint-parser';import B from'eslint-plugin-unicorn';import se from'eslint-plugin-n';import le from'eslint-plugin-sonarjs';import me from'eslint-plugin-regexp';import {findUp}from'find-up';import {isPackageExists}from'local-pkg';var m="**/*.?([cm])[jt]s?(x)",O="**/*.?([cm])ts",j="**/*.?([cm])tsx",E="**/*.stories.tsx",q="**/*.json",N="**/*.json5",A="**/*.jsonc",G="**/*.css",W=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts"];function U(){return [{files:[m],name:"2digits:antfu",plugins:{antfu:ke},rules:{"antfu/if-newline":"error","antfu/top-level-function":"error"}}]}function $(){return [{files:[m],name:"2digits:boolean",plugins:{boolean:V},rules:{...V.configs.recommended.rules}}]}var f={"@next/next":"next","@eslint-react/naming-convention":"react-naming-convention","@eslint-react/hooks-extra":"react-hooks-extra","@eslint-react/dom":"react-dom","@eslint-react/web-api":"react-web-api","@eslint-react":"react-extra","react-hooks":"react-hooks","react-compiler":"react-compiler","@stylistic/eslint-plugin":"stylistic","@typescript-eslint":"ts",node:"node","@eslint-community/eslint-comments":"comments",storybook:"storybook",turbo:"turbo",jsdoc:"jsdoc",unicorn:"unicorn",tailwindcss:"tailwindcss","@tanstack/query":"tanstack","@2digits":"@2digits","@graphql-eslint":"gql",sonarjs:"sonar",drizzle:"drizzle","de-morgan":"boolean"};var je=renamePluginsInRules(Me.recommended.rules,f);function J(){return [{files:[m],name:"2digits:comments",plugins:{comments:ve},rules:{...je,"comments/no-unused-disable":"error","comments/disable-enable-pair":["error",{allowWholeFile:true}]}}]}var K={AnPlusB:[],Atrule:["prelude","block"],AtrulePrelude:["children"],AttributeSelector:["name","value"],Block:["children"],Brackets:["children"],CDC:[],CDO:[],ClassSelector:[],Combinator:[],Comment:[],Condition:["children"],Declaration:["value"],DeclarationList:["children"],Dimension:[],Feature:["value"],FeatureFunction:["value"],FeatureRange:["left","middle","right"],Function:["children"],GeneralEnclosed:["children"],Hash:[],IdSelector:[],Identifier:[],Layer:[],LayerList:["children"],MediaQuery:["condition"],MediaQueryList:["children"],NestingSelector:[],Nth:["nth","selector"],Number:[],Operator:[],Parentheses:["children"],Percentage:[],PseudoClassSelector:["children"],PseudoElementSelector:["children"],Ratio:["left","right"],Raw:[],Rule:["prelude","block"],Scope:["root","limit"],Selector:["children"],SelectorList:["children"],String:[],StyleSheet:["children"],SupportsDeclaration:["declaration"],TypeSelector:[],UnicodeRange:[],Url:[],Value:["children"],WhiteSpace:[]},z=new ConfigCommentParser,De=/^\s*(?:eslint(?:-enable|-disable(?:(?:-next)?-line)?)?)(?:\s|$)/u,I=class extends VisitNodeStep{target=void 0;constructor({target:e,phase:r,args:o}){super({target:e,phase:r,args:o}),this.target=e;}},C=class extends TextSourceCodeBase{#e;#r=new WeakMap;#t;ast=void 0;comments;lexer;constructor({text:e,ast:r,comments:o,lexer:i}){super({text:e,ast:r}),this.ast=r,this.comments=o,this.lexer=i;}getRange(e){return [e.loc.start.offset,e.loc.end.offset]}getInlineConfigNodes(){return this.#t||(this.#t=this.comments.filter(e=>De.test(e.value))),this.#t}getDisableDirectives(){let e=[],r=[];return this.getInlineConfigNodes().forEach(o=>{let{label:i,value:s,justification:n}=z.parseDirective(o.value);if(i==="eslint-disable-line"&&o.loc.start.line!==o.loc.end.line){let a=`${i} comment should not span multiple lines.`;e.push({ruleId:null,message:a,loc:o.loc});return}switch(i){case "eslint-disable":case "eslint-enable":case "eslint-disable-next-line":case "eslint-disable-line":{let a=i.slice(7);r.push(new Directive({type:a,node:o,value:s,justification:n}));}}}),{problems:e,directives:r}}applyInlineConfig(){let e=[],r=[];return this.getInlineConfigNodes().forEach(o=>{let{label:i,value:s}=z.parseDirective(o.value);if(i==="eslint"){let n=z.parseJSONLikeConfig(s);n.ok?r.push({config:{rules:n.config},loc:o.loc}):e.push({ruleId:null,message:n.error.message,loc:o.loc});}}),{configs:r,problems:e}}getParent(e){return this.#r.get(e)}traverse(){if(this.#e)return this.#e.values();let e=this.#e=[],r=(o,i)=>{this.#r.set(o,i),e.push(new I({target:o,phase:1,args:[o,i]}));for(let s of K[o.type]||[]){let n=o[s];n&&(Array.isArray(n)?n.forEach(a=>{r(a,o);}):r(n,o));}e.push(new I({target:o,phase:2,args:[o,i]}));};return r(this.ast),e}},S=class{fileType="text";lineStart=1;columnStart=1;nodeTypeKey="type";visitorKeys=K;defaultLanguageOptions={tolerant:false};validateLanguageOptions(e){if("tolerant"in e&&typeof e.tolerant!="boolean")throw new TypeError("Expected a boolean value for 'tolerant' option.");if("customSyntax"in e&&(typeof e.customSyntax!="object"||e.customSyntax===null))throw new TypeError("Expected an object value for 'customSyntax' option.")}parse(e,{languageOptions:r={}}={}){let o=e.body,i=[],s=[],{tolerant:n}=r,{parse:a,lexer:l}=r.customSyntax?fork(r.customSyntax):{parse:parse,lexer:lexer};try{let u=toPlainObject(a(o,{filename:e.path,positions:!0,onComment(h,w){i.push({type:"Comment",value:h,loc:w});},onParseError(h){n||s.push(h);}}));return s.length?{ok:!1,errors:s}:{ok:!0,ast:u,comments:i,lexer:l}}catch(u){return {ok:false,errors:[u]}}}createSourceCode(e,r){return new C({text:e.body,ast:r.ast,comments:r.comments,lexer:r.lexer})}},Re={meta:{type:"problem",docs:{description:"Disallow empty blocks",recommended:true,url:"https://github.com/eslint/css/blob/main/docs/rules/no-empty-blocks.md"},messages:{emptyBlock:"Unexpected empty block found."}},create(t){return {Block(e){e.children.length===0&&t.report({loc:e.loc,messageId:"emptyBlock"});}}}},Be={meta:{type:"problem",docs:{description:"Disallow duplicate @import rules",recommended:true,url:"https://github.com/eslint/css/blob/main/docs/rules/no-duplicate-imports.md"},messages:{duplicateImport:"Unexpected duplicate @import rule for {{url}}."}},create(t){let e=new Set;return {"Atrule[name=import]"(r){let o=r.prelude.children[0].value;e.has(o)?t.report({loc:r.loc,messageId:"duplicateImport",data:{url:o}}):e.add(o);}}}};function P(t){return typeof t.syntax=="string"}var _e={meta:{type:"problem",docs:{description:"Disallow invalid properties",recommended:true,url:"https://github.com/eslint/css/blob/main/docs/rules/no-invalid-properties.md"},messages:{invalidPropertyValue:"Invalid value '{{value}}' for property '{{property}}'. Expected {{expected}}.",unknownProperty:"Unknown property '{{property}}' found."}},create(t){let e=t.sourceCode.lexer;return {"Rule > Block > Declaration"(r){if(r.property.startsWith("--"))return;let{error:o}=e.matchDeclaration(r);if(o){if(P(o)){t.report({loc:o.loc,messageId:"invalidPropertyValue",data:{property:r.property,value:o.css,expected:o.syntax}});return}if(o.message.endsWith("var() is not supported"))return;t.report({loc:{start:r.loc.start,end:{line:r.loc.start.line,column:r.loc.start.column+r.property.length}},messageId:"unknownProperty",data:{property:r.property}});}}}}};function Ee(t){let e=t.message,r=/`@(.*)`/u.exec(e)[1],o="unknownAtRule";return e.endsWith("prelude")&&(o=e.includes("should not")?"invalidExtraPrelude":"missingPrelude"),{messageId:o,data:{name:r}}}var qe={meta:{type:"problem",docs:{description:"Disallow invalid at-rules",recommended:true,url:"https://github.com/eslint/css/blob/main/docs/rules/no-invalid-at-rules.md"},messages:{unknownAtRule:"Unknown at-rule '@{{name}}' found.",invalidPrelude:"Invalid prelude '{{prelude}}' found for at-rule '@{{name}}'. Expected '{{expected}}'.",unknownDescriptor:"Unknown descriptor '{{descriptor}}' found for at-rule '@{{name}}'.",invalidDescriptor:"Invalid value '{{value}}' for descriptor '{{descriptor}}' found for at-rule '@{{name}}'. Expected {{expected}}.",invalidExtraPrelude:"At-rule '@{{name}}' should not contain a prelude.",missingPrelude:"At-rule '@{{name}}' should contain a prelude."}},create(t){let{sourceCode:e}=t,r=e.lexer;return {Atrule(o){let{error:i}=r.matchAtrulePrelude(o.name,o.prelude);if(i){if(P(i)){t.report({loc:i.loc,messageId:"invalidPrelude",data:{name:o.name,prelude:i.css,expected:i.syntax}});return}let s=o.loc;t.report({loc:{start:s.start,end:{line:s.start.line,column:s.start.column+o.name.length+1}},...Ee(i)});}},"AtRule > Block > Declaration"(o){let i=e.getParent(e.getParent(o)),{error:s}=r.matchAtruleDescriptor(i.name,o.property,o.value);if(s){if(P(s)){t.report({loc:s.loc,messageId:"invalidDescriptor",data:{name:i.name,descriptor:o.property,value:s.css,expected:s.syntax}});return}let n=o.loc;t.report({loc:{start:n.start,end:{line:n.start.line,column:n.start.column+o.property.length}},messageId:"unknownDescriptor",data:{name:i.name,descriptor:o.property}});}}}}},Ne={meta:{type:"problem",docs:{description:"Require use of layers",url:"https://github.com/eslint/css/blob/main/docs/rules/use-layers.md"},schema:[{type:"object",properties:{allowUnnamedLayers:{type:"boolean"},requireImportLayers:{type:"boolean"},layerNamePattern:{type:"string"}},additionalProperties:false}],defaultOptions:[{allowUnnamedLayers:false,requireImportLayers:true,layerNamePattern:""}],messages:{missingLayer:"Expected rule to be within a layer.",missingLayerName:"Expected layer to have a name.",missingImportLayer:"Expected import to be within a layer.",layerNameMismatch:"Expected layer name '{{ name }}' to match pattern '{{pattern}}'."}},create(t){let e=0,r=t.options[0],o=r.layerNamePattern?new RegExp(r.layerNamePattern,"u"):null;return {"Atrule[name=import]"(i){let s=i.prelude.children[1],n=s?.name==="layer"?s:null;if(r.requireImportLayers&&!n&&t.report({loc:i.loc,messageId:"missingImportLayer"}),n){let a=n.type==="Function";!r.allowUnnamedLayers&&!a&&t.report({loc:n.loc,messageId:"missingLayerName"});}},Layer(i){o&&(o.test(i.name)||t.report({loc:i.loc,messageId:"layerNameMismatch",data:{name:i.name,pattern:r.layerNamePattern}}));},"Atrule[name=layer]"(i){e++,!r.allowUnnamedLayers&&!i.prelude&&t.report({loc:i.loc,messageId:"missingLayerName"});},"Atrule[name=layer]:exit"(){e--;},Rule(i){e>0||t.report({loc:i.loc,messageId:"missingLayer"});}}}},Ae=10,Ge=5,H=new Map([["accent-color",0],["alignment-baseline",0],["all",10],["anchor-name",0],["anchor-scope",0],["position-anchor",0],["position-area",0],["position-try",0],["position-try-fallbacks",0],["position-try-order",0],["position-visibility",0],["animation-composition",5],["animation",10],["animation-delay",10],["animation-direction",10],["animation-duration",10],["animation-fill-mode",10],["animation-iteration-count",10],["animation-name",10],["animation-play-state",10],["animation-timing-function",10],["appearance",10],["aspect-ratio",10],["backdrop-filter",5],["background",10],["background-attachment",10],["background-blend-mode",10],["background-clip",10],["background-color",10],["background-image",10],["background-origin",10],["background-position",10],["background-position-x",10],["background-position-y",10],["background-repeat",10],["background-size",10],["baseline-shift",0],["baseline-source",0],["border-image",10],["border-image-outset",10],["border-image-repeat",10],["border-image-slice",10],["border-image-source",10],["border-image-width",10],["border-bottom-left-radius",10],["border-bottom-right-radius",10],["border-radius",10],["border-top-left-radius",10],["border-top-right-radius",10],["border",10],["border-bottom",10],["border-bottom-color",10],["border-bottom-style",10],["border-bottom-width",10],["border-color",10],["border-left",10],["border-left-color",10],["border-left-style",10],["border-left-width",10],["border-right",10],["border-right-color",10],["border-right-style",10],["border-right-width",10],["border-style",10],["border-top",10],["border-top-color",10],["border-top-style",10],["border-top-width",10],["border-width",10],["box-decoration-break",0],["box-shadow",10],["box-sizing",10],["caret-color",10],["clip",0],["clip-path",10],["color",10],["color-adjust",0],["color-scheme",10],["column-fill",10],["column-span",10],["contain",10],["contain-intrinsic-block-size",5],["contain-intrinsic-height",5],["contain-intrinsic-inline-size",5],["contain-intrinsic-size",5],["contain-intrinsic-width",5],["container",5],["container-name",5],["container-type",5],["content",10],["content-visibility",0],["counter-set",5],["counter-increment",10],["counter-reset",10],["custom-property",10],["display",10],["dominant-baseline",10],["field-sizing",0],["filter",10],["align-content",10],["align-items",10],["align-self",10],["flex",10],["flex-basis",10],["flex-direction",10],["flex-flow",10],["flex-grow",10],["flex-shrink",10],["flex-wrap",10],["justify-content",10],["justify-items",10],["order",10],["place-content",10],["place-items",10],["place-self",10],["clear",10],["float",10],["font-family",10],["font-feature-settings",10],["font-kerning",10],["font-language-override",0],["font-optical-sizing",10],["font-palette",5],["font",10],["font-size",10],["font-size-adjust",5],["font-stretch",10],["font-style",10],["font-synthesis",10],["font-synthesis-position",0],["font-synthesis-small-caps",5],["font-synthesis-style",5],["font-synthesis-weight",5],["font-variant",10],["font-variant-alternates",5],["font-variant-caps",10],["font-variant-east-asian",10],["font-variant-emoji",0],["font-variant-ligatures",10],["font-variant-numeric",10],["font-variant-position",0],["font-variation-settings",10],["font-weight",10],["forced-color-adjust",5],["glyph-orientation-vertical",0],["gap",10],["grid",10],["grid-area",10],["grid-auto-columns",10],["grid-auto-flow",10],["grid-auto-rows",10],["grid-column",10],["grid-column-end",10],["grid-column-start",10],["grid-row",10],["grid-row-end",10],["grid-row-start",10],["grid-template",10],["grid-template-areas",10],["grid-template-columns",10],["grid-template-rows",10],["justify-self",10],["row-gap",10],["hanging-punctuation",0],["hyphenate-character",5],["hyphenate-limit-chars",0],["hyphens",5],["image-orientation",10],["image-rendering",10],["ime-mode",0],["rotate",10],["scale",10],["translate",10],["initial-letter",0],["interpolate-size",0],["isolation",10],["direction",10],["unicode-bidi",10],["letter-spacing",10],["line-break",10],["line-clamp",0],["line-height",10],["list-style",10],["list-style-image",10],["list-style-position",10],["list-style-type",10],["block-size",10],["border-block",10],["border-block-color",10],["border-block-end",10],["border-block-end-color",10],["border-block-end-style",10],["border-block-end-width",10],["border-block-start",10],["border-block-start-color",10],["border-block-start-style",10],["border-block-start-width",10],["border-block-style",10],["border-block-width",10],["border-end-end-radius",10],["border-end-start-radius",10],["border-inline",10],["border-inline-color",10],["border-inline-end",10],["border-inline-end-color",10],["border-inline-end-style",10],["border-inline-end-width",10],["border-inline-start",10],["border-inline-start-color",10],["border-inline-start-style",10],["border-inline-start-width",10],["border-inline-style",10],["border-inline-width",10],["border-start-end-radius",10],["border-start-start-radius",10],["inline-size",10],["inset",10],["inset-block",10],["inset-block-end",10],["inset-block-start",10],["inset-inline",10],["inset-inline-end",10],["inset-inline-start",10],["margin-block",10],["margin-block-end",10],["margin-block-start",10],["margin-inline",10],["margin-inline-end",10],["margin-inline-start",10],["max-block-size",10],["max-inline-size",10],["min-block-size",10],["min-inline-size",10],["overflow-block",10],["overflow-inline",10],["padding-block",10],["padding-block-end",10],["padding-block-start",10],["padding-inline",10],["padding-inline-end",10],["padding-inline-start",10],["margin",10],["margin-bottom",10],["margin-left",10],["margin-right",10],["margin-top",10],["margin-trim",0],["mask-border",0],["mask-border-outset",0],["mask-border-repeat",0],["mask-border-slice",0],["mask-border-source",0],["mask-border-width",0],["mask-type",10],["mask",5],["mask-clip",5],["mask-composite",5],["mask-image",5],["mask-mode",5],["mask-origin",5],["mask-position",5],["mask-repeat",5],["mask-size",5],["math-depth",5],["math-shift",5],["math-style",5],["max-height",10],["max-width",10],["min-height",10],["min-width",10],["mix-blend-mode",10],["offset",5],["offset-anchor",5],["offset-distance",5],["offset-path",5],["offset-position",5],["offset-rotate",5],["column-count",10],["column-gap",10],["column-rule",10],["column-rule-color",10],["column-rule-style",10],["column-rule-width",10],["column-width",10],["columns",10],["object-fit",10],["object-position",10],["object-view-box",0],["opacity",10],["fill-opacity",10],["stroke-opacity",10],["outline",5],["outline-color",10],["outline-offset",10],["outline-style",10],["outline-width",10],["overflow-anchor",0],["overflow-clip-margin",0],["overflow",5],["overflow-x",5],["overflow-y",5],["overflow-wrap",10],["overlay",0],["overscroll-behavior",5],["overscroll-behavior-block",5],["overscroll-behavior-inline",5],["overscroll-behavior-x",5],["overscroll-behavior-y",5],["padding",10],["padding-bottom",10],["padding-left",10],["padding-right",10],["padding-top",10],["page-break-after",0],["page-break-before",0],["page-break-inside",0],["break-after",10],["break-before",10],["break-inside",10],["page",0],["paint-order",0],["bottom",10],["left",10],["right",10],["top",10],["pointer-events",10],["position",10],["print-color-adjust",0],["quotes",10],["reading-flow",0],["resize",0],["line-height-step",0],["ruby-align",5],["ruby-overhang",0],["ruby-position",5],["scroll-behavior",10],["animation-range",0],["animation-range-end",0],["animation-range-start",0],["animation-timeline",0],["scroll-timeline",0],["scroll-timeline-axis",0],["scroll-timeline-name",0],["timeline-scope",0],["view-timeline",0],["view-timeline-axis",0],["view-timeline-inset",0],["view-timeline-name",0],["scroll-margin",10],["scroll-margin-block",10],["scroll-margin-block-end",10],["scroll-margin-block-start",10],["scroll-margin-bottom",10],["scroll-margin-inline",10],["scroll-margin-inline-end",10],["scroll-margin-inline-start",10],["scroll-margin-left",10],["scroll-margin-right",10],["scroll-margin-top",10],["scroll-padding",10],["scroll-padding-block",10],["scroll-padding-block-end",10],["scroll-padding-block-start",10],["scroll-padding-bottom",10],["scroll-padding-inline",10],["scroll-padding-inline-end",10],["scroll-padding-inline-start",10],["scroll-padding-left",10],["scroll-padding-right",10],["scroll-padding-top",10],["scroll-snap-align",10],["scroll-snap-stop",10],["scroll-snap-type",10],["scrollbar-color",0],["scrollbar-gutter",5],["scrollbar-width",5],["shape-image-threshold",10],["shape-margin",10],["shape-outside",10],["speak",0],["speak-as",0],["clip-rule",10],["color-interpolation",10],["cx",10],["cy",10],["d",10],["fill",10],["fill-rule",10],["marker",10],["marker-end",10],["marker-mid",10],["marker-start",10],["r",10],["rx",10],["ry",10],["shape-rendering",10],["stop-color",10],["stop-opacity",10],["stroke",10],["stroke-color",10],["stroke-dasharray",10],["stroke-dashoffset",10],["stroke-linecap",10],["stroke-linejoin",10],["stroke-miterlimit",10],["stroke-width",10],["text-anchor",10],["text-rendering",10],["vector-effect",10],["x",10],["y",10],["color-interpolation-filters",10],["flood-color",10],["flood-opacity",10],["lighting-color",10],["tab-size",10],["border-collapse",10],["border-spacing",10],["caption-side",10],["empty-cells",10],["table-layout",10],["text-align",10],["text-align-last",5],["text-box",0],["text-box-edge",0],["text-box-trim",0],["text-combine-upright",10],["text-decoration",10],["text-decoration-color",10],["text-decoration-line",10],["text-decoration-skip",10],["text-decoration-skip-ink",10],["text-decoration-style",10],["text-decoration-thickness",10],["text-emphasis",10],["text-emphasis-color",10],["text-emphasis-position",10],["text-emphasis-style",10],["text-indent",10],["text-justify",0],["text-orientation",10],["text-overflow",10],["text-shadow",10],["text-size-adjust",0],["text-spacing-trim",0],["-webkit-text-fill-color",10],["-webkit-text-stroke",10],["-webkit-text-stroke-color",10],["-webkit-text-stroke-width",10],["text-transform",10],["text-underline-offset",10],["text-underline-position",10],["text-wrap",5],["text-wrap-mode",5],["text-wrap-style",0],["touch-action",10],["transform-box",5],["transform",10],["transform-origin",10],["backface-visibility",10],["perspective",10],["perspective-origin",10],["transform-style",10],["transition-behavior",5],["transition",10],["transition-delay",10],["transition-duration",10],["transition-property",10],["transition-timing-function",10],["user-select",0],["vertical-align",10],["view-transition-class",0],["view-transition-name",0],["visibility",10],["white-space",10],["white-space-collapse",5],["orphans",0],["widows",0],["height",10],["width",10],["will-change",10],["word-break",10],["word-spacing",10],["writing-mode",10],["z-index",10],["zoom",5]]),Q=new Map([["position-try",0],["keyframes",10],["layer",10],["charset",10],["container",5],["counter-style",5],["view-transition",0],["font-face",10],["font-palette-values",5],["font-feature-values",5],["import",10],["media",10],["namespace",10],["page",5],["property",5],["scope",0],["starting-style",0],["supports",10]]),X=new Map([["color-gamut",5],["device-posture",0],["device-aspect-ratio",0],["device-height",0],["device-width",0],["display-mode",0],["dynamic-range",10],["forced-colors",5],["any-hover",10],["any-pointer",10],["hover",10],["pointer",10],["inverted-colors",0],["aspect-ratio",10],["calc",10],["color",10],["color-index",10],["grid",10],["height",10],["monochrome",10],["nested-queries",10],["orientation",10],["width",10],["overflow-block",5],["overflow-inline",5],["prefers-color-scheme",10],["prefers-contrast",10],["prefers-reduced-data",0],["prefers-reduced-motion",10],["prefers-reduced-transparency",0],["resolution",5],["-webkit-device-pixel-ratio",10],["-webkit-max-device-pixel-ratio",10],["-webkit-min-device-pixel-ratio",10],["scripting",5],["-webkit-transform-3d",10],["update",5],["video-dynamic-range",0]]),We=new Map([["abs",0],["sign",0],["anchor",0],["anchor-size",0],["time",10],["attr",10],["blend-mode",10],["line-style",10],["calc",10],["calc-keyword",5],["calc-size",0],["shape",0],["color",10],["string",10],["counter",10],["counters",10],["easing-function",10],["exp",5],["hypot",5],["log",5],["pow",5],["sqrt",5],["filter-function",10],["url",10],["gradient",10],["image",10],["flex",10],["ratio",10],["clamp",10],["max",10],["min",10],["ray",5],["number",10],["overflow",5],["resolution",5],["mod",5],["rem",5],["round",5],["basic-shape",10],["angle",10],["angle-percentage",10],["position",10],["transform-function",10],["acos",5],["asin",5],["atan",5],["atan2",5],["cos",5],["sin",5],["tan",5],["dimension",10],["length",10],["length-percentage",10],["percentage",10],["integer",10]]),Ue=new Map([["position",new Map([["absolute",10],["fixed",10],["relative",10],["static",10],["sticky",10]])],["accent-color",new Map([["auto",0]])],["alignment-baseline",new Map([["alphabetic",0],["baseline",0],["central",0],["ideographic",0],["mathematical",0],["middle",0]])],["align-items",new Map([["anchor-center",0]])],["align-self",new Map([["anchor-center",0]])],["anchor-name",new Map([["none",0]])],["anchor-scope",new Map([["all",0],["none",0]])],["block-size",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10]])],["bottom",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["height",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10],["stretch",0],["auto",10]])],["inline-size",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10]])],["inset-block-end",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["inset-block-start",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["inset-block",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["inset-inline-end",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["inset-inline-start",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["inset-inline",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["inset",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["justify-items",new Map([["anchor-center",0]])],["justify-self",new Map([["anchor-center",0]])],["left",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["margin-block-end",new Map([["anchor-size",0]])],["margin-block-start",new Map([["anchor-size",0]])],["margin-block",new Map([["anchor-size",0]])],["margin-bottom",new Map([["anchor-size",0],["auto",10]])],["margin-inline-end",new Map([["anchor-size",0]])],["margin-inline-start",new Map([["anchor-size",0]])],["margin-inline",new Map([["anchor-size",0]])],["margin-left",new Map([["anchor-size",0],["auto",10]])],["margin-right",new Map([["anchor-size",0],["auto",10]])],["margin-top",new Map([["anchor-size",0],["auto",10]])],["margin",new Map([["anchor-size",0],["auto",10]])],["max-block-size",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10]])],["max-height",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10],["none",10],["stretch",0]])],["max-inline-size",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10]])],["max-width",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10],["none",10],["stretch",0]])],["min-block-size",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10]])],["min-height",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10],["auto",10],["stretch",0]])],["min-inline-size",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10]])],["min-width",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10],["auto",10],["stretch",0]])],["place-items",new Map([["anchor-center",0]])],["place-self",new Map([["anchor-center",0]])],["position-anchor",new Map([["auto",0]])],["position-area",new Map([["block-end",0],["block-start",0],["bottom",0],["center",0],["end",0],["inline-end",0],["inline-start",0],["left",0],["none",0],["right",0],["self-end",0],["self-start",0],["span-all",0],["span-block-end",0],["span-block-start",0],["span-bottom",0],["span-end",0],["span-inline-end",0],["span-inline-start",0],["span-start",0],["span-top",0],["span-x-end",0],["span-x-start",0],["span-y-end",0],["span-y-start",0],["start",0],["top",0],["x-end",0],["x-self-end",0],["x-self-start",0],["x-start",0],["y-end",0],["y-self-end",0],["y-self-start",0],["y-start",0]])],["position-try-fallbacks",new Map([["flip-block",0],["flip-inline",0],["flip-start",0],["none",0],["position-area",0]])],["position-try-order",new Map([["most-block-size",0],["most-height",0],["most-inline-size",0],["most-width",0],["normal",0]])],["position-visibility",new Map([["always",0],["anchors-visible",0],["no-overflow",0]])],["right",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["top",new Map([["anchor",0],["anchor-size",0],["auto",10]])],["width",new Map([["anchor-size",0],["fit-content",10],["max-content",10],["min-content",10],["stretch",0],["auto",10]])],["animation-direction",new Map([["alternate",10],["alternate-reverse",10],["normal",10],["reverse",10]])],["animation-duration",new Map([["auto",10]])],["animation-fill-mode",new Map([["backwards",10],["both",10],["forwards",10],["none",10]])],["animation-iteration-count",new Map([["infinite",10]])],["animation-name",new Map([["none",10]])],["animation-play-state",new Map([["paused",10],["running",10]])],["animation-timing-function",new Map([["jump",10]])],["appearance",new Map([["auto",10],["button",10],["checkbox",10],["listbox",10],["menulist",10],["menulist-button",10],["meter",10],["none",10],["progress-bar",10],["radio",10],["searchfield",10],["textarea",10],["textfield",10]])],["aspect-ratio",new Map([["auto",10]])],["background-attachment",new Map([["fixed",10],["local",10],["scroll",10]])],["background-clip",new Map([["border-box",10],["content-box",10],["padding-box",10],["border-area",0],["text",0]])],["background",new Map([["background-clip",10],["background-origin",10],["background-size",10]])],["background-image",new Map([["none",10],["element",0],["gradients",10],["image-set",5]])],["background-origin",new Map([["border-box",10],["content-box",10],["padding-box",10]])],["background-position",new Map([["bottom",10],["center",10],["left",10],["right",10],["top",10]])],["background-repeat",new Map([["2-value",10],["no-repeat",10],["repeat",10],["repeat-x",10],["repeat-y",10],["round",10],["space",10]])],["background-size",new Map([["auto",10],["contain",10],["cover",10]])],["baseline-shift",new Map([["baseline",0],["sub",0],["super",0]])],["baseline-source",new Map([["auto",0],["first",0],["last",0]])],["border-image-repeat",new Map([["repeat",10],["round",10],["space",10],["stretch",10]])],["border-image-width",new Map([["auto",10]])],["border-image",new Map([["fill",10],["gradient",10]])],["border-bottom-left-radius",new Map([["percentages",10]])],["border-bottom-right-radius",new Map([["percentages",10]])],["border-radius",new Map([["percentages",10]])],["border-top-left-radius",new Map([["percentages",10]])],["border-top-right-radius",new Map([["percentages",10]])],["border-style",new Map([["dashed",10],["dotted",10],["double",10],["groove",10],["hidden",10],["inset",10],["none",10],["outset",10],["ridge",10],["solid",10]])],["box-decoration-break",new Map([["clone",0],["slice",0]])],["box-shadow",new Map([["inset",10]])],["box-sizing",new Map([["border-box",10],["content-box",10]])],["clip",new Map([["auto",0]])],["clip-path",new Map([["path",10],["fill-box",5],["stroke-box",5],["view-box",5]])],["color-scheme",new Map([["dark",10],["light",10],["normal",10]])],["break-after",new Map([["avoid-column",0],["column",0],["always",10],["auto",10],["avoid",10],["avoid-page",10],["left",10],["page",10],["recto",10],["right",10],["verso",10]])],["break-before",new Map([["avoid-column",0],["column",0],["always",10],["auto",10],["avoid",10],["avoid-page",10],["left",10],["page",10],["recto",10],["right",10],["verso",10]])],["break-inside",new Map([["avoid-column",0],["auto",10],["avoid",10],["avoid-page",10]])],["column-fill",new Map([["auto",10],["balance",10]])],["column-span",new Map([["all",10],["none",10]])],["contain",new Map([["content",10],["none",10],["strict",10],["inline-size",5],["layout",10],["paint",10],["size",10],["style",10]])],["contain-intrinsic-block-size",new Map([["none",5]])],["contain-intrinsic-height",new Map([["none",5]])],["contain-intrinsic-inline-size",new Map([["none",5]])],["contain-intrinsic-size",new Map([["none",5]])],["contain-intrinsic-width",new Map([["none",5]])],["container-name",new Map([["none",5]])],["container-type",new Map([["inline-size",5],["normal",5],["size",5],["scroll-state",0]])],["content",new Map([["gradient",10],["none",10],["normal",10],["url",10],["image-set",5]])],["content-visibility",new Map([["auto",0],["hidden",0],["visible",0]])],["counter-reset",new Map([["reversed",0],["list-item",10],["none",10]])],["counter-set",new Map([["list-item",5],["none",5]])],["counter-increment",new Map([["list-item",10],["none",10]])],["image-rendering",new Map([["crisp-edges",0],["auto",10],["pixelated",10],["smooth",0]])],["text-overflow",new Map([["string",0],["clip",10],["ellipsis",10]])],["custom-property",new Map([["var",10],["env",10]])],["display",new Map([["block",10],["inline",10],["inline-block",10],["none",10],["contents",0],["flow-root",10],["list-item",10],["ruby",0],["ruby-base",0],["ruby-base-container",0],["ruby-text",0],["ruby-text-container",0],["inline-table",10],["table",10],["table-caption",10],["table-cell",10],["table-column",10],["table-column-group",10],["table-footer-group",10],["table-header-group",10],["table-row",10],["table-row-group",10],["flex",10],["inline-flex",10],["grid",10],["inline-grid",10],["math",5]])],["dominant-baseline",new Map([["alphabetic",10],["auto",10],["central",10],["hanging",10],["ideographic",10],["mathematical",10],["middle",10]])],["field-sizing",new Map([["content",0],["fixed",0]])],["flex-basis",new Map([["auto",10],["content",10],["fit-content",10],["max-content",10],["min-content",10]])],["flex-direction",new Map([["column",10],["column-reverse",10],["row",10],["row-reverse",10]])],["flex-wrap",new Map([["nowrap",10],["wrap",10],["wrap-reverse",10]])],["flex",new Map([["none",10]])],["clear",new Map([["both",10],["left",10],["right",10],["inline-end",10],["inline-start",10]])],["float",new Map([["left",10],["none",10],["right",10],["inline-end",10],["inline-start",10]])],["font-family",new Map([["math",0],["system-ui",10],["ui-monospace",0],["ui-rounded",0],["ui-sans-serif",0],["ui-serif",0]])],["font-feature-settings",new Map([["normal",10]])],["font-optical-sizing",new Map([["auto",10],["none",10]])],["font-palette",new Map([["dark",5],["light",5],["normal",5]])],["font",new Map([["caption",10],["icon",10],["menu",10],["message-box",10],["small-caption",10],["status-bar",10]])],["font-size",new Map([["xxx-large",10],["math",5]])],["font-size-adjust",new Map([["from-font",5],["none",5],["two-values",5]])],["font-stretch",new Map([["percentage",10]])],["font-style",new Map([["italic",10],["normal",10],["oblique-angle",10]])],["font-synthesis",new Map([["position",10],["small-caps",10],["style",10],["weight",10]])],["font-synthesis-position",new Map([["auto",0],["none",0]])],["font-synthesis-small-caps",new Map([["auto",5],["none",5]])],["font-synthesis-style",new Map([["auto",5],["none",5]])],["font-synthesis-weight",new Map([["auto",5],["none",5]])],["font-variant",new Map([["historical-forms",10],["none",10],["normal",10],["sub",10],["super",10]])],["font-variant-alternates",new Map([["annotation",5],["historical-forms",5],["normal",5],["ornaments",5],["styleset",5],["stylistic",5],["swash",5]])],["font-variant-caps",new Map([["all-petite-caps",10],["all-small-caps",10],["normal",10],["petite-caps",10],["small-caps",10],["titling-caps",10],["unicase",10]])],["font-variant-east-asian",new Map([["full-width",10],["jis04",10],["jis78",10],["jis83",10],["jis90",10],["normal",10],["proportional-width",10],["ruby",10],["simplified",10],["traditional",10]])],["font-variant-emoji",new Map([["emoji",0],["normal",0],["text",0],["unicode",0]])],["font-variant-ligatures",new Map([["common-ligatures",10],["contextual",10],["discretionary-ligatures",10],["historical-ligatures",10],["no-common-ligatures",10],["no-contextual",10],["no-discretionary-ligatures",10],["no-historical-ligatures",10],["none",10],["normal",10]])],["font-variant-numeric",new Map([["diagonal-fractions",10],["lining-nums",10],["normal",10],["oldstyle-nums",10],["ordinal",10],["proportional-nums",10],["slashed-zero",10],["stacked-fractions",10],["tabular-nums",10]])],["font-variant-position",new Map([["normal",0],["sub",0],["super",0]])],["font-weight",new Map([["bold",10],["bolder",10],["lighter",10],["normal",10],["number",10]])],["forced-color-adjust",new Map([["auto",5],["none",5],["preserve-parent-color",5]])],["grid-auto-flow",new Map([["column",10],["dense",10],["row",10]])],["grid-template-areas",new Map([["none",10]])],["grid-template-columns",new Map([["auto",10],["fit-content",10],["max-content",10],["min-content",10],["minmax",10],["none",10],["repeat",10],["animation",5],["masonry",0],["subgrid",5]])],["grid-template-rows",new Map([["auto",10],["fit-content",10],["max-content",10],["min-content",10],["minmax",10],["none",10],["repeat",10],["animation",5],["masonry",0],["subgrid",5]])],["grid-template",new Map([["none",10]])],["hanging-punctuation",new Map([["allow-end",0],["first",0],["last",0],["none",0]])],["hyphenate-character",new Map([["auto",5]])],["hyphenate-limit-chars",new Map([["auto",0]])],["hyphens",new Map([["auto",5]])],["image-orientation",new Map([["from-image",10],["none",10]])],["rotate",new Map([["none",10]])],["scale",new Map([["none",10]])],["translate",new Map([["none",10]])],["initial-letter",new Map([["normal",0]])],["interpolate-size",new Map([["allow-keywords",0],["numeric-only",0]])],["direction",new Map([["ltr",10],["rtl",10]])],["unicode-bidi",new Map([["bidi-override",10],["embed",10],["isolate",10],["isolate-override",10],["normal",10],["plaintext",10]])],["letter-spacing",new Map([["normal",10]])],["line-break",new Map([["anywhere",10],["auto",10],["loose",10],["normal",10],["strict",10]])],["line-clamp",new Map([["none",0]])],["line-height",new Map([["normal",10]])],["list-style-image",new Map([["none",10]])],["list-style-position",new Map([["inside",10],["outside",10]])],["list-style-type",new Map([["arabic-indic",10],["armenian",10],["bengali",10],["cambodian",10],["circle",10],["cjk-decimal",10],["cjk-earthly-branch",10],["cjk-heavenly-stem",10],["cjk-ideographic",10],["decimal",10],["decimal-leading-zero",10],["devanagari",10],["disc",10],["disclosure-closed",10],["disclosure-open",10],["ethiopic-numeric",10],["georgian",10],["gujarati",10],["gurmukhi",10],["hebrew",10],["hiragana",10],["hiragana-iroha",10],["japanese-formal",10],["japanese-informal",10],["kannada",10],["katakana",10],["katakana-iroha",10],["khmer",10],["korean-hangul-formal",10],["korean-hanja-formal",10],["korean-hanja-informal",10],["lao",10],["lower-alpha",10],["lower-armenian",10],["lower-greek",10],["lower-latin",10],["lower-roman",10],["malayalam",10],["mongolian",10],["myanmar",10],["none",10],["oriya",10],["persian",10],["simp-chinese-formal",10],["simp-chinese-informal",10],["square",10],["string",10],["symbols",10],["tamil",10],["telugu",10],["thai",10],["tibetan",10],["trad-chinese-formal",10],["trad-chinese-informal",10],["upper-alpha",10],["upper-armenian",10],["upper-latin",10],["upper-roman",10]])],["list-style",new Map([["symbols",10]])],["overflow-block",new Map([["overlay",10]])],["overflow-inline",new Map([["overlay",10]])],["margin-trim",new Map([["block",0],["block-end",0],["block-start",0],["inline",0],["inline-end",0],["inline-start",0],["none",0]])],["mask-type",new Map([["alpha",10],["luminance",10]])],["mask-clip",new Map([["border",5],["content",5],["padding",5],["text",5]])],["mask-composite",new Map([["add",5],["exclude",5],["intersect",5],["subtract",5]])],["mask-mode",new Map([["alpha",5],["luminance",5],["match-source",5]])],["mask-origin",new Map([["border",5],["content",5],["fill-box",5],["padding",5],["stroke-box",5],["view-box",5]])],["text-transform",new Map([["math-auto",5],["capitalize",10],["full-size-kana",10],["full-width",10],["lowercase",10],["none",10],["uppercase",10]])],["mix-blend-mode",new Map([["plus-darker",10],["plus-lighter",10]])],["offset-anchor",new Map([["auto",5],["bottom",5],["center",5],["left",5],["right",5],["top",5]])],["offset-path",new Map([["border-box",5],["content-box",5],["fill-box",5],["margin-box",5],["none",5],["padding-box",5],["path",5],["ray",5],["stroke-box",5],["url",5],["view-box",5]])],["offset-position",new Map([["auto",5],["bottom",5],["center",5],["left",5],["normal",5],["right",5],["top",5]])],["offset-rotate",new Map([["auto",5],["reverse",5]])],["column-count",new Map([["auto",10]])],["column-width",new Map([["auto",10]])],["object-fit",new Map([["contain",10],["cover",10],["fill",10],["none",10],["scale-down",10]])],["object-view-box",new Map([["none",0]])],["opacity",new Map([["percentages",10]])],["outline-style",new Map([["auto",10],["dashed",10],["dotted",10],["double",10],["groove",10],["inset",10],["none",10],["outset",10],["ridge",10],["solid",10]])],["overflow-anchor",new Map([["auto",0],["none",0]])],["overflow-clip-margin",new Map([["border-box",0],["content-box",0],["padding-box",0]])],["overflow-x",new Map([["auto",5],["clip",5],["hidden",5],["scroll",5],["visible",5]])],["overflow-y",new Map([["auto",5],["clip",5],["hidden",5],["scroll",5],["visible",5]])],["overflow",new Map([["auto",5],["clip",5],["hidden",5],["scroll",5],["visible",5]])],["overflow-wrap",new Map([["anywhere",10],["break-word",10],["normal",10]])],["overlay",new Map([["auto",0],["none",0]])],["overscroll-behavior-block",new Map([["auto",5],["contain",5],["none",5]])],["overscroll-behavior-inline",new Map([["auto",5],["contain",5],["none",5]])],["overscroll-behavior-x",new Map([["auto",5],["contain",5],["none",5]])],["overscroll-behavior-y",new Map([["auto",5],["contain",5],["none",5]])],["overscroll-behavior",new Map([["auto",5],["contain",5],["none",5]])],["page-break-after",new Map([["always",0],["auto",0],["avoid",0],["left",0],["right",0]])],["page-break-before",new Map([["always",0],["auto",0],["avoid",0],["left",0],["right",0]])],["page-break-inside",new Map([["auto",0],["avoid",0]])],["print-color-adjust",new Map([["economy",0],["exact",0]])],["quotes",new Map([["auto",10],["none",10]])],["resize",new Map([["block",0],["inline",0]])],["ruby-align",new Map([["center",5],["space-around",5],["space-between",5],["start",5]])],["ruby-overhang",new Map([["auto",0],["none",0]])],["ruby-position",new Map([["alternate",5],["inter-character",5],["over",5],["under",5]])],["scroll-behavior",new Map([["auto",10],["smooth",10]])],["animation-range-end",new Map([["normal",0]])],["animation-range-start",new Map([["normal",0]])],["animation-timeline",new Map([["scroll",0],["view",0]])],["scroll-timeline-axis",new Map([["block",0],["inline",0],["x",0],["y",0]])],["timeline-scope",new Map([["all",0],["none",0]])],["view-timeline-axis",new Map([["block",0],["inline",0],["x",0],["y",0]])],["view-timeline-inset",new Map([["auto",0]])],["scroll-padding-block-end",new Map([["auto",10]])],["scroll-padding-block-start",new Map([["auto",10]])],["scroll-padding-block",new Map([["auto",10]])],["scroll-padding-inline-end",new Map([["auto",10]])],["scroll-padding-inline-start",new Map([["auto",10]])],["scroll-padding-inline",new Map([["auto",10]])],["scroll-padding",new Map([["auto",10]])],["scroll-snap-align",new Map([["center",10],["end",10],["none",10],["start",10]])],["scroll-snap-stop",new Map([["always",10],["normal",10]])],["scroll-snap-type",new Map([["block",10],["both",10],["inline",10],["none",10],["x",10],["y",10]])],["scrollbar-color",new Map([["auto",0]])],["scrollbar-gutter",new Map([["auto",5],["stable",5]])],["scrollbar-width",new Map([["auto",5],["none",5],["thin",5]])],["shape-image-threshold",new Map([["percentages",10]])],["shape-outside",new Map([["circle",10],["gradient",10],["image",10],["inset",10],["none",10],["path",10],["polygon",10]])],["speak-as",new Map([["digits",0],["literal-punctuation",0],["no-punctuation",0],["normal",0],["spell-out",0]])],["clip-rule",new Map([["evenodd",10],["nonzero",10]])],["color-interpolation",new Map([["linearGradient",10],["sRGB",10]])],["fill-rule",new Map([["evenodd",10],["nonzero",10]])],["stroke-dasharray",new Map([["none",10]])],["stroke-linecap",new Map([["butt",10],["round",10],["square",10]])],["stroke-linejoin",new Map([["bevel",10],["miter",10],["round",10]])],["text-rendering",new Map([["auto",10],["geometricPrecision",10]])],["color-interpolation-filters",new Map([["auto",10],["linearRGB",10],["sRGB",10]])],["tab-size",new Map([["length",10]])],["border-collapse",new Map([["collapse",10],["separate",10]])],["caption-side",new Map([["bottom",10],["bottom-outside",10],["top",10],["top-outside",10]])],["text-align",new Map([["center",10],["end",10],["justify",10],["left",10],["match-parent",10],["right",10],["start",10]])],["text-align-last",new Map([["auto",5]])],["text-box-edge",new Map([["auto",0]])],["text-box-trim",new Map([["none",0],["trim-both",0],["trim-end",0],["trim-start",0]])],["text-box",new Map([["normal",0]])],["text-decoration-line",new Map([["grammar-error",10],["line-through",10],["none",10],["overline",10],["spelling-error",10],["underline",10],["blink",0]])],["text-decoration-skip-ink",new Map([["all",10],["auto",10],["none",10]])],["text-decoration-skip",new Map([["auto",10],["none",10]])],["text-decoration-style",new Map([["wavy",10]])],["text-decoration-thickness",new Map([["auto",10],["from-font",10],["percentage",10]])],["text-emphasis-position",new Map([["auto",10],["left",10],["over",10],["right",10],["under",10]])],["text-emphasis-style",new Map([["circle",10],["dot",10],["double-circle",10],["filled",10],["none",10],["sesame",10],["triangle",10]])],["text-indent",new Map([["each-line",0],["hanging",0]])],["text-justify",new Map([["auto",0],["inter-character",0],["inter-word",0],["none",0]])],["text-orientation",new Map([["mixed",10],["sideways",10],["upright",10]])],["text-size-adjust",new Map([["auto",0],["none",0],["percentages",0]])],["text-spacing-trim",new Map([["normal",0],["space-all",0],["space-first",0],["trim-start",0]])],["text-underline-offset",new Map([["auto",10],["percentage",10]])],["text-underline-position",new Map([["from-font",10],["left",10],["right",10],["under",10]])],["text-wrap",new Map([["wrap",5],["balance",5],["nowrap",5],["pretty",0],["stable",5]])],["text-wrap-mode",new Map([["nowrap",5],["wrap",5]])],["text-wrap-style",new Map([["auto",0],["balance",0],["pretty",0],["stable",0]])],["touch-action",new Map([["manipulation",10],["none",10],["pan-down",10],["pan-left",10],["pan-right",10],["pan-up",10],["pan-x",10],["pan-y",10],["pinch-zoom",10]])],["transform-box",new Map([["border-box",5],["content-box",5],["fill-box",5],["stroke-box",5],["view-box",5]])],["transform-origin",new Map([["bottom",10],["center",10],["left",10],["right",10],["top",10]])],["perspective-origin",new Map([["bottom",10],["center",10],["left",10],["right",10],["top",10]])],["perspective",new Map([["none",10]])],["transform",new Map([["3d",10]])],["transition",new Map([["transition-behavior",5]])],["transition-property",new Map([["all",10],["none",10]])],["transition-timing-function",new Map([["jump",10]])],["user-select",new Map([["all",0],["auto",0],["none",0],["text",0]])],["vertical-align",new Map([["baseline",10],["bottom",10],["middle",10],["sub",10],["super",10],["text-bottom",10],["text-top",10],["top",10]])],["view-transition-class",new Map([["none",0]])],["view-transition-name",new Map([["none",0]])],["visibility",new Map([["collapse",10],["hidden",10],["visible",10]])],["white-space",new Map([["break-spaces",10],["normal",10],["nowrap",10],["pre",10],["pre-line",10],["pre-wrap",10]])],["white-space-collapse",new Map([["break-spaces",5],["collapse",5],["preserve",5],["preserve-breaks",5],["preserve-spaces",5]])],["will-change",new Map([["auto",10],["contents",10],["scroll-position",10]])],["word-break",new Map([["break-all",10],["keep-all",10],["normal",10],["auto-phrase",0],["break-word",0]])],["word-spacing",new Map([["normal",10]])],["writing-mode",new Map([["horizontal-tb",10],["sideways-lr",10],["sideways-rl",10],["vertical-lr",10],["vertical-rl",10],["lr",0],["lr-tb",0],["rl",0],["rl-tb",0],["tb",0],["tb-rl",0]])],["z-index",new Map([["auto",10]])]]),Ve=new Set(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]),T=class{name;#e=new Set;#r=new Set;constructor(e){this.name=e;}addIdentifier(e){this.#e.add(e);}hasIdentifier(e){return this.#e.has(e)}hasIdentifiers(){return this.#e.size>0}addFunction(e){this.#r.add(e);}hasFunction(e){return this.#r.has(e)}hasFunctions(){return this.#r.size>0}},F=class{#e=new Map;addProperty(e){if(this.#e.has(e))return this.#e.get(e);let r=new T(e);return this.#e.set(e,r),r}hasProperty(e){return this.#e.has(e)}getProperty(e){return this.#e.get(e)}hasPropertyIdentifier(e,r){let o=this.#e.get(e);return o?o.hasIdentifier(r):false}hasPropertyIdentifiers(e){let r=this.#e.get(e);return r?r.hasIdentifiers():false}hasFunction(e,r){let o=this.#e.get(e);return o?o.hasFunction(r):false}hasFunctions(e){let r=this.#e.get(e);return r?r.hasFunctions():false}},L=class{#e=[];push(e){this.#e.push(e);}pop(){return this.#e.pop()}last(){return this.#e.at(-1)}hasProperty(e){return this.#e.some(r=>r.hasProperty(e))}hasPropertyIdentifier(e,r){return this.#e.some(o=>o.hasPropertyIdentifier(e,r))}hasPropertyIdentifiers(e){return this.#e.some(r=>r.hasPropertyIdentifiers(e))}hasPropertyFunction(e,r){return this.#e.some(o=>o.hasFunction(e,r))}hasPropertyFunctions(e){return this.#e.some(r=>r.hasFunctions(e))}},$e={meta:{type:"problem",docs:{description:"Enforce the use of baseline features",recommended:true},schema:[{type:"object",properties:{available:{enum:["widely","newly"]}},additionalProperties:false}],defaultOptions:[{available:"widely"}],messages:{notBaselineProperty:"Property '{{property}}' is not a {{availability}} available baseline feature.",notBaselinePropertyValue:"Value '{{value}}' of property '{{property}}' is not a {{availability}} available baseline feature.",notBaselineAtRule:"At-rule '@{{atRule}}' is not a {{availability}} available baseline feature.",notBaselineType:"Type '{{type}}' is not a {{availability}} available baseline feature.",notBaselineMediaCondition:"Media condition '{{condition}}' is not a {{availability}} available baseline feature."}},create(t){let e=t.options[0].available,r=e==="widely"?Ae:Ge,o=new L;function i(n,a){if(Ve.has(a.name))return;let l=Ue.get(n);if(!l)return;let u=l.get(a.name);u!==void 0&&u<r&&t.report({loc:a.loc,messageId:"notBaselinePropertyValue",data:{property:n,value:a.name,availability:e}});}function s(n){let a=We.get(n.name);a!==void 0&&a<r&&t.report({loc:n.loc,messageId:"notBaselineType",data:{type:n.name,availability:e}});}return {"Atrule[name=supports]"(){o.push(new F);},"Atrule[name=supports] > AtrulePrelude > Condition"(n){let a=o.last();for(let l=0;l<n.children.length;l++){let u=n.children[l];if(u.type==="Identifier"&&u.name==="not"){l++;continue}if(u.type==="SupportsDeclaration"){let{declaration:h}=u,w=h.property,_=a.addProperty(w);h.value.children.forEach(M=>{if(M.type==="Identifier"){_.addIdentifier(M.name);return}M.type==="Function"&&_.addFunction(M.name);});continue}}},"Rule > Block > Declaration"(n){let a=n.property;if(H.has(a)){if(!o.hasProperty(a)&&H.get(a)<r){t.report({loc:{start:n.loc.start,end:{line:n.loc.start.line,column:n.loc.start.column+n.property.length}},messageId:"notBaselineProperty",data:{property:a,availability:e}});return}if(n.value?.children)for(let l of n.value.children){if(l.type==="Identifier"){o.hasPropertyIdentifier(a,l.name)||i(a,l);continue}l.type==="Function"&&(o.hasPropertyFunction(a,l.name)||s(l));}}},"Atrule[name=supports]:exit"(){o.pop();},"Atrule[name=media] > AtrulePrelude > MediaQueryList > MediaQuery > Condition"(n){for(let a of n.children){if(!X.has(a.name)||a.type!=="Feature")continue;if(X.get(a.name)<r){let u=a.loc;t.report({loc:{start:{line:u.start.line,column:u.start.column+1},end:{line:u.start.line,column:u.start.column+a.name.length+1}},messageId:"notBaselineMediaCondition",data:{condition:a.name,availability:e}});}}},Atrule(n){if(!Q.has(n.name))return;if(Q.get(n.name)<r){let l=n.loc;t.report({loc:{start:l.start,end:{line:l.start.line,column:l.start.column+n.name.length+1}},messageId:"notBaselineAtRule",data:{atRule:n.name,availability:e}});}}}}},x={meta:{name:"@eslint/css",version:"0.4.0"},languages:{css:new S},rules:{"no-empty-blocks":Re,"no-duplicate-imports":Be,"no-invalid-at-rules":qe,"no-invalid-properties":_e,"use-layers":Ne,"require-baseline":$e},configs:{recommended:{plugins:{},rules:{"css/no-empty-blocks":"error","css/no-duplicate-imports":"error","css/no-invalid-at-rules":"error","css/no-invalid-properties":"error","css/require-baseline":"error"}}}};x.configs.recommended.plugins.css=x;var Y={atrules:{apply:{prelude:"<ident>+"},tailwind:{prelude:"base | components | utilities"},config:{prelude:"<string>"}}};function Z(){return [{name:"2digits:css",files:[G],language:"css/css",plugins:{css:x},languageOptions:{tolerant:true,customSyntax:Y},rules:{...x.configs.recommended.rules}}]}async function p(t){let e=await t;return e.default||e}async function ee(t={}){let{overrides:e={},drizzleObjectName:r=["drizzle","db"]}=t,o=await p(import('eslint-plugin-drizzle'));return [{files:[m],name:"2digits:drizzle",plugins:{drizzle:fixupPluginRules(o)},rules:{"drizzle/enforce-update-with-where":["error",{drizzleObjectName:r}],"drizzle/enforce-delete-with-where":["error",{drizzleObjectName:r}],...e}}]}async function re(t={}){let{overrides:e={},files:r=["**/*.graphql","**/*.gql"]}=t,[o,i]=await Promise.all([p(import('@graphql-eslint/eslint-plugin')),loadConfig({throwOnEmpty:false,throwOnMissing:false}).then(l=>l?.getDefault().schema)]),s=o.configs["flat/operations-recommended"].rules,n={};if(i)n=s;else for(let l of Object.keys(s)){let u=l.replace("@graphql-eslint/","");u in o.rules&&(o.rules[u].meta.docs?.requiresSchema||o.rules[u].meta.docs?.requiresSiblings)||(n[l]=s[l]);}let a=renamePluginsInRules(n,f);return [{name:"2digits:graphql",plugins:{gql:o},languageOptions:{parser:o.parser},files:r,rules:{...a,"gql/naming-convention":["error",{allowLeadingUnderscore:true}],...e}}]}async function te(t={}){let{gitIgnore:e,ignores:r=[]}=t;return composer({ignores:[W,r].flat(),name:"2digits:ignores"},p(import('eslint-config-flat-gitignore')).then(o=>o({strict:false,...e,name:"2digits:gitignore"})))}function oe(t={}){let{overrides:e={}}=t;return [{files:[m],name:"2digits:javascript",plugins:{stylistic:Ye},languageOptions:{ecmaVersion:2022,globals:{...D.browser,...D.es2021,...D.node,document:"readonly",navigator:"readonly",window:"readonly"},parserOptions:{ecmaFeatures:{jsx:true},ecmaVersion:2022,sourceType:"module"},sourceType:"module"},linterOptions:{reportUnusedDisableDirectives:true},rules:{...Ke.configs.recommended.rules,"accessor-pairs":["error",{enforceForClassMembers:true,setWithoutGet:true}],"array-callback-return":"error","block-scoped-var":"error","constructor-super":"error","default-case-last":"error","dot-notation":["error",{allowKeywords:true}],eqeqeq:["error","smart"],"new-cap":["error",{capIsNew:false,newIsCap:true,properties:true}],"no-alert":"error","no-array-constructor":"error","no-async-promise-executor":"error","no-caller":"error","no-case-declarations":"error","no-class-assign":"error","no-compare-neg-zero":"error","no-cond-assign":["error","always"],"no-const-assign":"error","no-control-regex":"error","no-debugger":"error","no-delete-var":"error","no-dupe-args":"error","no-dupe-class-members":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-empty":["error",{allowEmptyCatch:true}],"no-empty-character-class":"error","no-empty-pattern":"error","no-eval":"error","no-ex-assign":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-boolean-cast":"error","no-fallthrough":"error","no-func-assign":"error","no-global-assign":"error","no-implied-eval":"error","no-import-assign":"error","no-invalid-regexp":"error","no-irregular-whitespace":"error","no-iterator":"error","no-labels":["error",{allowLoop:false,allowSwitch:false}],"no-lone-blocks":"error","no-loss-of-precision":"error","no-misleading-character-class":"error","no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-native-nonconstructor":"error","no-new-wrappers":"error","no-obj-calls":"error","no-octal":"error","no-octal-escape":"error","no-proto":"error","no-prototype-builtins":"error","no-redeclare":["error",{builtinGlobals:false}],"no-regex-spaces":"error","no-restricted-globals":["error",{message:"Use `globalThis` instead.",name:"global"},{message:"Use `globalThis` instead.",name:"self"}],"no-restricted-properties":["error",{message:"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",property:"__proto__"},{message:"Use `Object.defineProperty` instead.",property:"__defineGetter__"},{message:"Use `Object.defineProperty` instead.",property:"__defineSetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupGetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupSetter__"}],"no-restricted-syntax":["error","DebuggerStatement","LabeledStatement","WithStatement","TSEnumDeclaration","TSExportAssignment"],"no-self-assign":["error",{props:true}],"no-self-compare":"error","no-sequences":"error","no-shadow-restricted-names":"error","no-sparse-arrays":"error","no-template-curly-in-string":"error","no-this-before-super":"error","no-throw-literal":"error","no-undef":"error","no-undef-init":"error","no-unexpected-multiline":"error","no-unmodified-loop-condition":"error","no-unneeded-ternary":["error",{defaultAssignment:false}],"no-unreachable":"error","no-unreachable-loop":"error","no-unsafe-finally":"error","no-unsafe-negation":"error","no-unused-expressions":["error",{allowShortCircuit:true,allowTaggedTemplates:true,allowTernary:true}],"no-unused-vars":["error",{args:"none",caughtErrors:"none",ignoreRestSiblings:true,vars:"all"}],"no-useless-backreference":"error","no-useless-call":"error","no-useless-catch":"error","no-useless-computed-key":"error","no-useless-constructor":"error","no-useless-rename":"error","no-var":"error","no-with":"error","object-shorthand":["error","always",{avoidQuotes:true,ignoreConstructors:false}],"one-var":["error",{initialized:"never"}],"prefer-arrow-callback":["error",{allowNamedFunctions:true,allowUnboundThis:true}],"prefer-const":["error",{destructuring:"all",ignoreReadBeforeAssign:true}],"prefer-exponentiation-operator":"error","prefer-promise-reject-errors":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:true}],"prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error","symbol-description":"error","unicode-bom":["error","never"],"use-isnan":["error",{enforceForIndexOf:true,enforceForSwitchCase:true}],"valid-typeof":["error",{requireStringLiterals:true}],"vars-on-top":"error",yoda:["error","never"],"stylistic/padding-line-between-statements":["error",{blankLine:"always",prev:["const","let"],next:"*"},{blankLine:"any",prev:["const","let"],next:["const","let"]},{blankLine:"always",prev:"*",next:"return"}],...e}}]}async function ne(){return [{files:[m],name:"2digits:jsdoc",plugins:{jsdoc:await p(import('eslint-plugin-jsdoc'))},rules:{"jsdoc/check-access":"error","jsdoc/check-param-names":"error","jsdoc/check-property-names":"error","jsdoc/check-types":"error","jsdoc/empty-tags":"error","jsdoc/implements-on-classes":"error","jsdoc/no-defaults":"error","jsdoc/no-multi-asterisks":"error","jsdoc/require-param-name":"error","jsdoc/require-property":"error","jsdoc/require-property-description":"error","jsdoc/require-property-name":"error","jsdoc/require-returns-check":"error","jsdoc/require-returns-description":"error","jsdoc/require-yields-check":"error"}}]}function ie(){return [...configs["flat/base"].map(t=>({...t,name:"2digits:jsonc/base"})),{name:"2digits:jsonc/json",files:[q],...v,rules:{...R(configs["flat/recommended-with-json"])}},{name:"2digits:jsonc/jsonc",files:[A],...v,rules:{...R(configs["flat/recommended-with-jsonc"])}},{name:"2digits:jsonc/json5",files:[N],...v,rules:{...R(configs["flat/recommended-with-json5"])}},{name:"2digits:jsonc/package.json",...v,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","workspaces","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig","prettier"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"2digits:jsonc/tsconfig.json",...v,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}},...configs["flat/prettier"].map(t=>({...t,name:"2digits:jsonc/prettier"}))]}var v={languageOptions:{parser:er},plugins:{jsonc:Ze}};function R(t){return Object.fromEntries(t.flatMap(({rules:e})=>Object.entries(e??{})))}async function ae(t={}){let{files:e=[O,j],overrides:r={},parserOptions:o}=t,[i,s]=await Promise.all([p(import('@next/eslint-plugin-next')),p(import('@typescript-eslint/parser'))]),n=renamePluginsInRules({...i.configs.recommended.rules,...i.configs["core-web-vitals"].rules},f);return [{name:"2digits:next/setup",plugins:{next:fixupPluginRules(i)}},{name:"2digits:next/rules",files:e,languageOptions:{parser:s,parserOptions:{ecmaFeatures:{jsx:true},projectService:true,...o},sourceType:"module"},rules:{...n,"next/no-html-link-for-pages":"off",...r}}]}function pe(){return [{files:[m],name:"2digits:node",settings:{node:{version:">= 22.0.0"}},plugins:{node:se},rules:{"node/handle-callback-err":["error","^(err|error)$"],"node/no-deprecated-api":"error","node/no-exports-assign":"error","node/no-new-require":"error","node/no-path-concat":"error","node/no-unsupported-features/node-builtins":["error",{allowExperimental:true}],"node/prefer-global/buffer":"error","node/prefer-global/process":"error","node/prefer-global/text-encoder":"error","node/prefer-global/url":"error","node/prefer-global/console":"error","node/prefer-global/url-search-params":"error","node/prefer-global/text-decoder":"error","node/process-exit-as-throw":"error"}}]}async function ce(){let[t,e]=await Promise.all([p(import('eslint-config-prettier')),p(import('@stylistic/eslint-plugin'))]);return [{name:"2digits:prettier",plugins:{stylistic:e},rules:{...t.rules,"tailwindcss/classnames-order":"off","stylistic/jsx-newline":["error",{prevent:false}]}}]}async function de(t={}){let{files:e=[O,j],overrides:r={},parserOptions:o,tsconfigRootDir:i,reactCompiler:s=true}=t,[n,a,l,u]=await Promise.all([p(import('@eslint-react/eslint-plugin')),p(import('eslint-plugin-react-hooks')),p(import('@typescript-eslint/parser')),s?p(import('eslint-plugin-react-compiler')):void 0]),h=n.configs.all.plugins,w=renamePluginsInRules({...a.configs["recommended-latest"].rules,...n.configs["recommended-type-checked"].rules},f);return [{name:"2digits:react/setup",plugins:{stylistic:Ye,"react-dom":h["@eslint-react/dom"],"react-web-api":h["@eslint-react/web-api"],"react-extra":h["@eslint-react"],"react-hooks":a,"react-hooks-extra":h["@eslint-react/hooks-extra"],"react-naming-convention":h["@eslint-react/naming-convention"],...s?{"react-compiler":u}:{}},settings:{react:{version:"detect"}}},{name:"2digits:react/rules",files:e,languageOptions:{parser:l,parserOptions:{ecmaFeatures:{jsx:true},tsconfigRootDir:i,projectService:true,...o},sourceType:"module"},rules:{...w,...s?{"react-compiler/react-compiler":"error"}:{},"react-hooks-extra/no-unnecessary-use-callback":"error","react-hooks-extra/prefer-use-state-lazy-initialization":"error","react-hooks-extra/no-redundant-custom-hook":"error","react-hooks-extra/no-unnecessary-use-memo":"error","react-extra/prefer-read-only-props":"off","react-extra/prefer-shorthand-boolean":"error","react-extra/prefer-shorthand-fragment":"error","react-extra/prefer-react-namespace-import":"error","react-naming-convention/use-state":"error","stylistic/jsx-curly-newline":"off","stylistic/jsx-newline":["error",{prevent:false}],"stylistic/jsx-self-closing-comp":"error",...r}}]}function ue(){return [{files:[m],name:"2digits:regexp",plugins:{regexp:me},rules:{...me.configs["flat/recommended"].rules}}]}function fe(){return [{files:[m],name:"2digits:sonar",plugins:{sonar:le},rules:{"sonar/code-eval":"error","sonar/cognitive-complexity":"error","sonar/comma-or-logical-or-case":"error","sonar/concise-regex":"error","sonar/confidential-information-logging":"error","sonar/constructor-for-side-effects":"error","sonar/content-length":"error","sonar/content-security-policy":"error","sonar/cookie-no-httponly":"error","sonar/cors":"error","sonar/csrf":"error","sonar/max-switch-cases":"error","sonar/no-all-duplicated-branches":"error","sonar/no-collapsible-if":"error","sonar/no-collection-size-mischeck":"error","sonar/no-duplicate-string":["error",{threshold:5}],"sonar/no-duplicated-branches":"error","sonar/no-element-overwrite":"error","sonar/no-empty-collection":"error","sonar/no-extra-arguments":"error","sonar/no-for-in-iterable":"error","sonar/no-gratuitous-expressions":"error","sonar/no-identical-conditions":"error","sonar/no-identical-expressions":"error","sonar/no-identical-functions":"error","sonar/no-ignored-return":"error","sonar/no-inverted-boolean-check":"error","sonar/no-nested-switch":"error","sonar/no-nested-template-literals":"error","sonar/no-one-iteration-loop":"error","sonar/no-redundant-boolean":"error","sonar/no-same-line-conditional":"error","sonar/no-small-switch":"error","sonar/no-unused-collection":"error","sonar/no-use-of-empty-return-value":"error","sonar/no-useless-catch":"error","sonar/non-existent-operator":"error","sonar/prefer-immediate-return":"error","sonar/prefer-object-literal":"error","sonar/prefer-single-boolean-return":"error","sonar/prefer-while":"error","sonar/elseif-without-else":"off","sonar/no-redundant-jump":"off"}}]}async function ge(t={}){let{files:e=[E],overrides:r={},parserOptions:o,storybookDirectory:i=".storybook"}=t,[s,n]=await Promise.all([p(import('eslint-plugin-storybook')),p(import('@typescript-eslint/parser'))]),a={parser:n,parserOptions:{ecmaFeatures:{jsx:true},projectService:true,...o},sourceType:"module"};return [{name:"2digits:storybook/setup",plugins:{storybook:fixupPluginRules(s)}},{name:"2digits:storybook/rules",files:e,languageOptions:a,rules:{"storybook/await-interactions":"error","storybook/context-in-play-function":"error","storybook/csf-component":"error","storybook/default-exports":"error","storybook/hierarchy-separator":"error","storybook/meta-inline-properties":"error","storybook/no-redundant-story-name":"error","storybook/no-stories-of":"error","storybook/no-title-property-in-meta":"error","storybook/no-uninstalled-addons":"error","storybook/prefer-pascal-case":"error","storybook/story-exports":"error","storybook/use-storybook-expect":"error","storybook/use-storybook-testing-library":"error",...r}},{name:"2digits:storybook/disables",files:e,rules:{"react-hooks/rules-of-hooks":"off","react/display-name":"off","sonar/no-duplicate-string":"off"}},{name:"2digits:storybook/config",files:[`${i}/main.@(js|cjs|mjs|ts)`],languageOptions:a,rules:{"storybook/no-uninstalled-addons":"error"}}]}async function he(t={}){let{overrides:e={}}=t,[r,{tailwindFunctions:o},i]=await Promise.all([p(import('eslint-plugin-tailwindcss')),p(import('@2digits/constants')),findUp(["tailwind.config.ts","tailwind.config.js"])]);return [{files:[m],name:"2digits:tailwind",plugins:{tailwindcss:r},settings:{tailwindcss:{callees:o,config:i}},rules:{...r.configs.recommended.rules,...e}}]}async function ye(t={}){let{overrides:e={}}=t,r=await p(import('@tanstack/eslint-plugin-query')),o=renamePluginsInRules(r.configs["flat/recommended"].at(0)?.rules??{},f);return [{files:[m],name:"2digits:tanstack",plugins:{tanstack:r},rules:{...o,...e}}]}async function be(t={}){let{overrides:e={}}=t,r=await p(import('eslint-plugin-turbo'));return [{files:[m],name:"2digits:turbo",plugins:{turbo:r},rules:{"turbo/no-undeclared-env-vars":"error",...e}}]}async function we(t={}){let{overrides:e={},parserOptions:r={}}=t,[{plugin:o,configs:i,parser:s},n]=await Promise.all([p(import('typescript-eslint')),p(import('@2digits/eslint-plugin'))]),a=renamePluginsInConfigs(i.strictTypeChecked,f),l=Object.fromEntries(a.flatMap(({rules:u})=>Object.entries(u??{})));return [{name:"2digits:typescript/setup",plugins:{ts:o,"@2digits":n}},{name:"2digits:typescript/rules",files:[m],languageOptions:{parser:s,parserOptions:{tsconfigRootDir:process.cwd(),projectService:true,warnOnUnsupportedTypeScriptVersion:false,...r},sourceType:"module"},rules:{...l,"ts/restrict-template-expressions":["error",{allowNumber:true}],"ts/ban-ts-comment":["error",{"ts-ignore":"allow-with-description"}],"ts/consistent-type-exports":["error"],"ts/consistent-type-imports":["error",{prefer:"type-imports",disallowTypeAnnotations:false,fixStyle:"inline-type-imports"}],"ts/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never"}],"ts/no-explicit-any":["error"],"ts/no-import-type-side-effects":["error"],"ts/no-misused-promises":"off","ts/no-confusing-void-expression":"off","ts/no-unused-vars":["error",{ignoreRestSiblings:true,argsIgnorePattern:"^_",varsIgnorePattern:"^_"}],"ts/unbound-method":"off",...n.configs.recommended.rules,...e}},{files:["**/*.d.ts"],name:"2digits:typescript/disables/dts",rules:{"unicorn/no-abusive-eslint-disable":"off","no-duplicate-imports":"off","no-restricted-syntax":"off","ts/no-unused-vars":"off"}},{files:["**/*.{test,spec}.ts?(x)"],name:"2digits:typescript/disables/test",rules:{"no-unused-expressions":"off"}},{files:["**/*.js","**/*.cjs","**/*.cts"],name:"2digits:typescript/disables/cjs",rules:{"ts/no-require-imports":"off","ts/no-var-requires":"off"}}]}function xe(){return [{files:[m],name:"2digits:unicorn",plugins:{unicorn:B},rules:{...B.configs.recommended.rules,"unicorn/filename-case":["off"],"unicorn/prefer-module":["off"],"unicorn/prevent-abbreviations":["off"],"unicorn/prefer-ternary":["error","only-single-line"],"unicorn/no-useless-undefined":["error",{checkArguments:false,checkArrowFunctionBody:false}],"unicorn/prefer-top-level-await":["off"]}}]}function b(t,e){return typeof t=="boolean"?t:t?.enable??e??false}function y(t){if(typeof t=="boolean"||t===void 0)return {};let{enable:e,...r}=t;return r}function cr(t={},...e){let r=new FlatConfigComposer(te(t.ignores),oe(t.js),$(),pe(),J(),ne(),xe(),fe(),ue(),U(),ie(),Z());b(t.turbo,isPackageExists("turbo"))&&(r=r.append(be(y(t.turbo))));let{overrides:o,...i}=y(t.ts);return b(t.ts,isPackageExists("typescript"))&&(r=r.append(we(y(t.ts)))),b(t.react,isPackageExists("react"))&&(r=r.append(de({...y(t.react),...i}))),b(t.next,isPackageExists("next"))&&(r=r.append(ae({...y(t.next),...i}))),b(t.storybook,isPackageExists("storybook"))&&(r=r.append(ge({...y(t.storybook),...i}))),b(t.tailwind,isPackageExists("tailwindcss"))&&(r=r.append(he(y(t.tailwind)))),b(t.tanstack,isPackageExists("react-query")||isPackageExists("@tanstack/react-query")||isPackageExists("@tanstack/react-query-devtools"))&&(r=r.append(ye(y(t.tanstack)))),b(t.drizzle,isPackageExists("drizzle-kit")||isPackageExists("drizzle-orm"))&&(r=r.append(ee(y(t.drizzle)))),b(t.graphql,isPackageExists("graphql"))&&(r=r.append(re(y(t.graphql)))),r=r.append(...e),isPackageExists("prettier")&&(r=r.append(ce())),r.renamePlugins(f).toConfigs()}
2
- export{U as antfu,$ as boolean,J as comments,Z as css,cr as default,ee as drizzle,re as graphql,te as ignores,oe as javascript,ne as jsdoc,ie as jsonc,ae as next,pe as node,ce as prettier,de as react,ue as regexp,fe as sonar,ge as storybook,he as tailwind,ye as tanstack,be as turbo,cr as twoDigits,we as typescript,xe as unicorn};//# sourceMappingURL=index.js.map
1
+ import ce from'eslint-plugin-antfu';import z from'eslint-plugin-de-morgan';import me from'@eslint-community/eslint-plugin-eslint-comments';import de from'@eslint-community/eslint-plugin-eslint-comments/configs';import {renamePluginsInRules,composer,renamePluginsInConfigs,FlatConfigComposer}from'eslint-flat-config-utils';import G from'@eslint/css';import {tailwindSyntax}from'@eslint/css/syntax';import {fixupPluginRules}from'@eslint/compat';import {loadConfig}from'graphql-config';import xe from'@eslint/js';import ke from'@stylistic/eslint-plugin';import T from'globals';import we,{configs}from'eslint-plugin-jsonc';import ve from'jsonc-eslint-parser';import C from'eslint-plugin-unicorn';import V from'eslint-plugin-n';import H from'eslint-plugin-sonarjs';import Se from'yaml-eslint-parser';import Z from'eslint-plugin-regexp';import {findUp}from'find-up';import Re from'eslint-plugin-yml';import {isPackageExists}from'local-pkg';var i="**/*.?([cm])[jt]s?(x)",w="**/*.?([cm])ts",v="**/*.?([cm])tsx",S="**/*.stories.tsx",I="**/*.json",F="**/*.json5",P="**/*.jsonc",D="**/*.css",_="**/*.ya?ml",L=["**/node_modules","**/dist","**/package-lock.json","**/yarn.lock","**/pnpm-lock.yaml","**/bun.lockb","**/output","**/coverage","**/temp","**/.temp","**/tmp","**/.tmp","**/.history","**/.vitepress/cache","**/.nuxt","**/.next","**/.vercel","**/.changeset","**/.idea","**/.cache","**/.output","**/.vite-inspect","**/.yarn","**/CHANGELOG*.md","**/*.min.*","**/LICENSE*","**/__snapshots__","**/auto-import?(s).d.ts","**/components.d.ts"];function R(){return [{files:[i],name:"2digits:antfu",plugins:{antfu:ce},rules:{"antfu/if-newline":"error","antfu/top-level-function":"error"}}]}function q(){return [{files:[i],name:"2digits:boolean",plugins:{boolean:z},rules:{...z.configs.recommended.rules}}]}var c={"@next/next":"next","@eslint-react/naming-convention":"react-naming-convention","@eslint-react/hooks-extra":"react-hooks-extra","@eslint-react/dom":"react-dom","@eslint-react/web-api":"react-web-api","@eslint-react":"react-extra","react-hooks":"react-hooks","react-compiler":"react-compiler","@stylistic/eslint-plugin":"stylistic","@typescript-eslint":"ts",node:"node","@eslint-community/eslint-comments":"comments",storybook:"storybook",turbo:"turbo",jsdoc:"jsdoc",unicorn:"unicorn",tailwindcss:"tailwindcss","@tanstack/query":"tanstack","@2digits":"@2digits","@graphql-eslint":"gql",sonarjs:"sonar",drizzle:"drizzle","de-morgan":"boolean"};var fe=renamePluginsInRules(de.recommended.rules,c);function B(){return [{files:[i],name:"2digits:comments",plugins:{comments:me},rules:{...fe,"comments/no-unused-disable":"error","comments/disable-enable-pair":["error",{allowWholeFile:true}]}}]}function W(){return [{name:"2digits:css",files:[D],language:"css/css",plugins:{css:G},languageOptions:{tolerant:true,customSyntax:tailwindSyntax},rules:{...G.configs.recommended.rules}}]}async function t(e){let o=await e;return o.default||o}async function N(e={}){let{overrides:o={},drizzleObjectName:a=["drizzle","db"]}=e,r=await t(import('eslint-plugin-drizzle'));return [{files:[i],name:"2digits:drizzle",plugins:{drizzle:fixupPluginRules(r)},rules:{"drizzle/enforce-update-with-where":["error",{drizzleObjectName:a}],"drizzle/enforce-delete-with-where":["error",{drizzleObjectName:a}],...o}}]}async function E(e={}){let{overrides:o={},files:a=["**/*.graphql","**/*.gql"]}=e,[r,l]=await Promise.all([t(import('@graphql-eslint/eslint-plugin')),loadConfig({throwOnEmpty:false,throwOnMissing:false}).then(y=>y?.getDefault().schema)]),p=r.configs["flat/operations-recommended"].rules,m={};if(l)m=p;else for(let y of Object.keys(p)){let b=y.replace("@graphql-eslint/","");b in r.rules&&(r.rules[b].meta.docs?.requiresSchema||r.rules[b].meta.docs?.requiresSiblings)||(m[y]=p[y]);}let g=renamePluginsInRules(m,c);return [{name:"2digits:graphql",plugins:{gql:r},languageOptions:{parser:r.parser},files:a,rules:{...g,"gql/naming-convention":["error",{allowLeadingUnderscore:true}],...o}}]}async function M(e={}){let{gitIgnore:o,ignores:a=[]}=e;return composer({ignores:[L,a].flat(),name:"2digits:ignores"},t(import('eslint-config-flat-gitignore')).then(r=>r({strict:false,...o,name:"2digits:gitignore"})))}function U(e={}){let{overrides:o={}}=e;return [{files:[i],name:"2digits:javascript",plugins:{stylistic:ke},languageOptions:{ecmaVersion:2022,globals:{...T.browser,...T.es2021,...T.node,document:"readonly",navigator:"readonly",window:"readonly"},parserOptions:{ecmaFeatures:{jsx:true},ecmaVersion:2022,sourceType:"module"},sourceType:"module"},linterOptions:{reportUnusedDisableDirectives:true},rules:{...xe.configs.recommended.rules,"accessor-pairs":["error",{enforceForClassMembers:true,setWithoutGet:true}],"array-callback-return":"error","block-scoped-var":"error","constructor-super":"error","default-case-last":"error","dot-notation":["error",{allowKeywords:true}],eqeqeq:["error","smart"],"new-cap":["error",{capIsNew:false,newIsCap:true,properties:true}],"no-alert":"error","no-array-constructor":"error","no-async-promise-executor":"error","no-caller":"error","no-case-declarations":"error","no-class-assign":"error","no-compare-neg-zero":"error","no-cond-assign":["error","always"],"no-const-assign":"error","no-control-regex":"error","no-debugger":"error","no-delete-var":"error","no-dupe-args":"error","no-dupe-class-members":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-empty":["error",{allowEmptyCatch:true}],"no-empty-character-class":"error","no-empty-pattern":"error","no-eval":"error","no-ex-assign":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-boolean-cast":"error","no-fallthrough":"error","no-func-assign":"error","no-global-assign":"error","no-implied-eval":"error","no-import-assign":"error","no-invalid-regexp":"error","no-irregular-whitespace":"error","no-iterator":"error","no-labels":["error",{allowLoop:false,allowSwitch:false}],"no-lone-blocks":"error","no-loss-of-precision":"error","no-misleading-character-class":"error","no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-native-nonconstructor":"error","no-new-wrappers":"error","no-obj-calls":"error","no-octal":"error","no-octal-escape":"error","no-proto":"error","no-prototype-builtins":"error","no-redeclare":["error",{builtinGlobals:false}],"no-regex-spaces":"error","no-restricted-globals":["error",{message:"Use `globalThis` instead.",name:"global"},{message:"Use `globalThis` instead.",name:"self"}],"no-restricted-properties":["error",{message:"Use `Object.getPrototypeOf` or `Object.setPrototypeOf` instead.",property:"__proto__"},{message:"Use `Object.defineProperty` instead.",property:"__defineGetter__"},{message:"Use `Object.defineProperty` instead.",property:"__defineSetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupGetter__"},{message:"Use `Object.getOwnPropertyDescriptor` instead.",property:"__lookupSetter__"}],"no-restricted-syntax":["error","DebuggerStatement","LabeledStatement","WithStatement","TSEnumDeclaration","TSExportAssignment"],"no-self-assign":["error",{props:true}],"no-self-compare":"error","no-sequences":"error","no-shadow-restricted-names":"error","no-sparse-arrays":"error","no-template-curly-in-string":"error","no-this-before-super":"error","no-throw-literal":"error","no-undef":"error","no-undef-init":"error","no-unexpected-multiline":"error","no-unmodified-loop-condition":"error","no-unneeded-ternary":["error",{defaultAssignment:false}],"no-unreachable":"error","no-unreachable-loop":"error","no-unsafe-finally":"error","no-unsafe-negation":"error","no-unused-expressions":["error",{allowShortCircuit:true,allowTaggedTemplates:true,allowTernary:true}],"no-unused-vars":["error",{args:"none",caughtErrors:"none",ignoreRestSiblings:true,vars:"all"}],"no-useless-backreference":"error","no-useless-call":"error","no-useless-catch":"error","no-useless-computed-key":"error","no-useless-constructor":"error","no-useless-rename":"error","no-var":"error","no-with":"error","object-shorthand":["error","always",{avoidQuotes:true,ignoreConstructors:false}],"one-var":["error",{initialized:"never"}],"prefer-arrow-callback":["error",{allowNamedFunctions:true,allowUnboundThis:true}],"prefer-const":["error",{destructuring:"all",ignoreReadBeforeAssign:true}],"prefer-exponentiation-operator":"error","prefer-promise-reject-errors":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:true}],"prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error","symbol-description":"error","unicode-bom":["error","never"],"use-isnan":["error",{enforceForIndexOf:true,enforceForSwitchCase:true}],"valid-typeof":["error",{requireStringLiterals:true}],"vars-on-top":"error",yoda:["error","never"],"stylistic/padding-line-between-statements":["error",{blankLine:"always",prev:["const","let"],next:"*"},{blankLine:"any",prev:["const","let"],next:["const","let"]},{blankLine:"always",prev:"*",next:"return"}],...o}}]}async function A(){return [{files:[i],name:"2digits:jsdoc",plugins:{jsdoc:await t(import('eslint-plugin-jsdoc'))},rules:{"jsdoc/check-access":"error","jsdoc/check-param-names":"error","jsdoc/check-property-names":"error","jsdoc/check-types":"error","jsdoc/empty-tags":"error","jsdoc/implements-on-classes":"error","jsdoc/no-defaults":"error","jsdoc/no-multi-asterisks":"error","jsdoc/require-param-name":"error","jsdoc/require-property":"error","jsdoc/require-property-description":"error","jsdoc/require-property-name":"error","jsdoc/require-returns-check":"error","jsdoc/require-returns-description":"error","jsdoc/require-yields-check":"error"}}]}function J(){return [...configs["flat/base"].map(e=>({...e,name:"2digits:jsonc/base"})),{name:"2digits:jsonc/json",files:[I],...x,rules:{...j(configs["flat/recommended-with-json"])}},{name:"2digits:jsonc/jsonc",files:[P],...x,rules:{...j(configs["flat/recommended-with-jsonc"])}},{name:"2digits:jsonc/json5",files:[F],...x,rules:{...j(configs["flat/recommended-with-json5"])}},{name:"2digits:jsonc/package.json",...x,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","workspaces","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig","prettier"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"2digits:jsonc/tsconfig.json",...x,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}},...configs["flat/prettier"].map(e=>({...e,name:"2digits:jsonc/prettier"}))]}var x={languageOptions:{parser:ve},plugins:{jsonc:we}};function j(e){return Object.fromEntries(e.flatMap(({rules:o})=>Object.entries(o??{})))}async function $(e={}){let{files:o=[w,v],overrides:a={},parserOptions:r}=e,[l,p]=await Promise.all([t(import('@next/eslint-plugin-next')),t(import('@typescript-eslint/parser'))]),m=renamePluginsInRules({...l.configs.recommended.rules,...l.configs["core-web-vitals"].rules},c);return [{name:"2digits:next/setup",plugins:{next:fixupPluginRules(l)}},{name:"2digits:next/rules",files:o,languageOptions:{parser:p,parserOptions:{ecmaFeatures:{jsx:true},projectService:true,...r},sourceType:"module"},rules:{...m,"next/no-html-link-for-pages":"off",...a}}]}function X(){return [{files:[i],name:"2digits:node",settings:{node:{version:">= 22.0.0"}},plugins:{node:V},rules:{"node/handle-callback-err":["error","^(err|error)$"],"node/no-deprecated-api":"error","node/no-exports-assign":"error","node/no-new-require":"error","node/no-path-concat":"error","node/no-unsupported-features/node-builtins":["error",{allowExperimental:true}],"node/prefer-global/buffer":"error","node/prefer-global/process":"error","node/prefer-global/text-encoder":"error","node/prefer-global/url":"error","node/prefer-global/console":"error","node/prefer-global/url-search-params":"error","node/prefer-global/text-decoder":"error","node/process-exit-as-throw":"error"}}]}async function Y(){let e=await t(import('eslint-plugin-pnpm'));return [{name:"2digits:pnpm/package-json",files:["**/package.json"],languageOptions:{parser:ve},plugins:{pnpm:e},rules:{"pnpm/json-enforce-catalog":"error","pnpm/json-prefer-workspace-settings":"error","pnpm/json-valid-catalog":"error"}},{name:"2digits:pnpm/pnpm-workspace-yaml",files:["pnpm-workspace.yaml"],languageOptions:{parser:Se},plugins:{pnpm:e},rules:{"pnpm/yaml-no-duplicate-catalog-item":"error","pnpm/yaml-no-unused-catalog-item":"error"}}]}async function K(){let[e,o]=await Promise.all([t(import('eslint-config-prettier')),t(import('@stylistic/eslint-plugin'))]);return [{name:"2digits:prettier",plugins:{stylistic:o},rules:{...e.rules,"tailwindcss/classnames-order":"off","stylistic/jsx-newline":["error",{prevent:false}]}}]}async function Q(e={}){let{files:o=[w,v],overrides:a={},parserOptions:r,tsconfigRootDir:l,reactCompiler:p=true}=e,[m,g,y,b]=await Promise.all([t(import('@eslint-react/eslint-plugin')),t(import('eslint-plugin-react-hooks')),t(import('@typescript-eslint/parser')),p?t(import('eslint-plugin-react-compiler')):void 0]),h=m.configs.all.plugins,le=renamePluginsInRules({...g.configs["recommended-latest"].rules,...m.configs["recommended-type-checked"].rules},c);return [{name:"2digits:react/setup",plugins:{stylistic:ke,"react-dom":h["@eslint-react/dom"],"react-web-api":h["@eslint-react/web-api"],"react-extra":h["@eslint-react"],"react-hooks":g,"react-hooks-extra":h["@eslint-react/hooks-extra"],"react-naming-convention":h["@eslint-react/naming-convention"],...p?{"react-compiler":b}:{}},settings:{react:{version:"detect"}}},{name:"2digits:react/rules",files:o,languageOptions:{parser:y,parserOptions:{ecmaFeatures:{jsx:true},tsconfigRootDir:l,projectService:true,...r},sourceType:"module"},rules:{...le,...p?{"react-compiler/react-compiler":"error"}:{},"react-hooks-extra/no-unnecessary-use-callback":"error","react-hooks-extra/prefer-use-state-lazy-initialization":"error","react-hooks-extra/no-redundant-custom-hook":"error","react-hooks-extra/no-unnecessary-use-memo":"error","react-extra/prefer-read-only-props":"off","react-extra/prefer-shorthand-boolean":"error","react-extra/prefer-shorthand-fragment":"error","react-extra/prefer-react-namespace-import":"error","react-naming-convention/use-state":"error","stylistic/jsx-curly-newline":"off","stylistic/jsx-newline":["error",{prevent:false}],"stylistic/jsx-self-closing-comp":"error",...a}}]}function ee(){return [{files:[i],name:"2digits:regexp",plugins:{regexp:Z},rules:{...Z.configs["flat/recommended"].rules}}]}function re(){return [{files:[i],name:"2digits:sonar",plugins:{sonar:H},rules:{"sonar/code-eval":"error","sonar/cognitive-complexity":"error","sonar/comma-or-logical-or-case":"error","sonar/concise-regex":"error","sonar/confidential-information-logging":"error","sonar/constructor-for-side-effects":"error","sonar/content-length":"error","sonar/content-security-policy":"error","sonar/cookie-no-httponly":"error","sonar/cors":"error","sonar/csrf":"error","sonar/max-switch-cases":"error","sonar/no-all-duplicated-branches":"error","sonar/no-collapsible-if":"error","sonar/no-collection-size-mischeck":"error","sonar/no-duplicate-string":["error",{threshold:5}],"sonar/no-duplicated-branches":"error","sonar/no-element-overwrite":"error","sonar/no-empty-collection":"error","sonar/no-extra-arguments":"error","sonar/no-for-in-iterable":"error","sonar/no-gratuitous-expressions":"error","sonar/no-identical-conditions":"error","sonar/no-identical-expressions":"error","sonar/no-identical-functions":"error","sonar/no-ignored-return":"error","sonar/no-inverted-boolean-check":"error","sonar/no-nested-switch":"error","sonar/no-nested-template-literals":"error","sonar/no-one-iteration-loop":"error","sonar/no-redundant-boolean":"error","sonar/no-same-line-conditional":"error","sonar/no-small-switch":"error","sonar/no-unused-collection":"error","sonar/no-use-of-empty-return-value":"error","sonar/no-useless-catch":"error","sonar/non-existent-operator":"error","sonar/prefer-immediate-return":"error","sonar/prefer-object-literal":"error","sonar/prefer-single-boolean-return":"error","sonar/prefer-while":"error","sonar/elseif-without-else":"off","sonar/no-redundant-jump":"off"}}]}async function oe(e={}){let{files:o=[S],overrides:a={},parserOptions:r,storybookDirectory:l=".storybook"}=e,[p,m]=await Promise.all([t(import('eslint-plugin-storybook')),t(import('@typescript-eslint/parser'))]),g={parser:m,parserOptions:{ecmaFeatures:{jsx:true},projectService:true,...r},sourceType:"module"};return [{name:"2digits:storybook/setup",plugins:{storybook:fixupPluginRules(p)}},{name:"2digits:storybook/rules",files:o,languageOptions:g,rules:{"storybook/await-interactions":"error","storybook/context-in-play-function":"error","storybook/csf-component":"error","storybook/default-exports":"error","storybook/hierarchy-separator":"error","storybook/meta-inline-properties":"error","storybook/no-redundant-story-name":"error","storybook/no-stories-of":"error","storybook/no-title-property-in-meta":"error","storybook/no-uninstalled-addons":"error","storybook/prefer-pascal-case":"error","storybook/story-exports":"error","storybook/use-storybook-expect":"error","storybook/use-storybook-testing-library":"error",...a}},{name:"2digits:storybook/disables",files:o,rules:{"react-hooks/rules-of-hooks":"off","react/display-name":"off","sonar/no-duplicate-string":"off"}},{name:"2digits:storybook/config",files:[`${l}/main.@(js|cjs|mjs|ts)`],languageOptions:g,rules:{"storybook/no-uninstalled-addons":"error"}}]}async function te(e={}){let{overrides:o={}}=e,[a,{tailwindFunctions:r},l]=await Promise.all([t(import('eslint-plugin-tailwindcss')),t(import('@2digits/constants')),findUp(["tailwind.config.ts","tailwind.config.js"])]);return [{files:[i],name:"2digits:tailwind",plugins:{tailwindcss:a},settings:{tailwindcss:{callees:r,config:l}},rules:{...a.configs.recommended.rules,...o}}]}async function ne(e={}){let{overrides:o={}}=e,a=await t(import('@tanstack/eslint-plugin-query')),r=renamePluginsInRules(a.configs["flat/recommended"].at(0)?.rules??{},c);return [{files:[i],name:"2digits:tanstack",plugins:{tanstack:a},rules:{...r,...o}}]}async function se(e={}){let{overrides:o={}}=e,a=await t(import('eslint-plugin-turbo'));return [{files:[i],name:"2digits:turbo",plugins:{turbo:a},rules:{"turbo/no-undeclared-env-vars":"error",...o}}]}async function ie(e={}){let{overrides:o={},parserOptions:a={}}=e,[{plugin:r,configs:l,parser:p},m]=await Promise.all([t(import('typescript-eslint')),t(import('@2digits/eslint-plugin'))]),g=renamePluginsInConfigs(l.strictTypeChecked,c),y=Object.fromEntries(g.flatMap(({rules:b})=>Object.entries(b??{})));return [{name:"2digits:typescript/setup",plugins:{ts:r,"@2digits":m}},{name:"2digits:typescript/rules",files:[i],languageOptions:{parser:p,parserOptions:{tsconfigRootDir:process.cwd(),projectService:true,warnOnUnsupportedTypeScriptVersion:false,...a},sourceType:"module"},rules:{...y,"ts/restrict-template-expressions":["error",{allowNumber:true}],"ts/ban-ts-comment":["error",{"ts-ignore":"allow-with-description"}],"ts/consistent-type-exports":["error"],"ts/consistent-type-imports":["error",{prefer:"type-imports",disallowTypeAnnotations:false,fixStyle:"inline-type-imports"}],"ts/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never"}],"ts/no-explicit-any":["error"],"ts/no-import-type-side-effects":["error"],"ts/no-misused-promises":"off","ts/no-confusing-void-expression":"off","ts/no-unused-vars":["error",{ignoreRestSiblings:true,argsIgnorePattern:"^_",varsIgnorePattern:"^_"}],"ts/unbound-method":"off",...m.configs.recommended.rules,...o}},{files:["**/*.d.ts"],name:"2digits:typescript/disables/dts",rules:{"unicorn/no-abusive-eslint-disable":"off","no-duplicate-imports":"off","no-restricted-syntax":"off","ts/no-unused-vars":"off"}},{files:["**/*.{test,spec}.ts?(x)"],name:"2digits:typescript/disables/test",rules:{"no-unused-expressions":"off"}},{files:["**/*.js","**/*.cjs","**/*.cts"],name:"2digits:typescript/disables/cjs",rules:{"ts/no-require-imports":"off","ts/no-var-requires":"off"}}]}function ae(){return [{files:[i],name:"2digits:unicorn",plugins:{unicorn:C},rules:{...C.configs.recommended.rules,"unicorn/filename-case":["off"],"unicorn/prefer-module":["off"],"unicorn/prevent-abbreviations":["off"],"unicorn/prefer-ternary":["error","only-single-line"],"unicorn/no-useless-undefined":["error",{checkArguments:false,checkArrowFunctionBody:false}],"unicorn/prefer-top-level-await":["off"]}}]}function pe(){return [{name:"2digits:yaml/setup",plugins:{yml:Re}},{name:"2digits:yaml/base",...k,rules:{"no-irregular-whitespace":"off","no-unused-vars":"off","spaced-comment":"off"}},{name:"2digits:yaml/recommended",...k,rules:{"yml/no-empty-document":"error","yml/no-empty-key":"error","yml/no-empty-mapping-value":"error","yml/no-empty-sequence-entry":"error","yml/no-irregular-whitespace":"error","yml/no-tab-indent":"error","yml/vue-custom-block/no-parsing-error":"error"}},{name:"2digits:yaml/standard",...k,rules:{"yml/block-mapping":"error","yml/block-sequence":"error","yml/plain-scalar":"error","yml/spaced-comment":"error"}},{name:"2digits:yaml/pnpm-workspace",...k,files:["pnpm-workspace.yaml"],rules:{"yml/sort-keys":["error",{order:["packages","overrides","patchedDependencies","hoistPattern","catalog","catalogs","allowedDeprecatedVersions","allowNonAppliedPatches","configDependencies","ignoredBuiltDependencies","ignoredOptionalDependencies","neverBuiltDependencies","onlyBuiltDependencies","onlyBuiltDependenciesFile","packageExtensions","peerDependencyRules","supportedArchitectures"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:".*"}]}},{name:"2digits:yaml/prettier",...k,rules:{"yml/block-mapping-colon-indicator-newline":"off","yml/block-mapping-question-indicator-newline":"off","yml/block-sequence-hyphen-indicator-newline":"off","yml/flow-mapping-curly-newline":"off","yml/flow-mapping-curly-spacing":"off","yml/flow-sequence-bracket-newline":"off","yml/flow-sequence-bracket-spacing":"off","yml/indent":"off","yml/key-spacing":"off","yml/no-multiple-empty-lines":"off","yml/no-trailing-zeros":"off","yml/quotes":"off"}}]}var k={files:[_],languageOptions:{parser:Se}};function u(e,o){return typeof e=="boolean"?e:e?.enable??o??false}function f(e){if(typeof e=="boolean"||e===void 0)return {};let{enable:o,...a}=e;return a}async function Ge(e={},...o){let a;e.pnpm===void 0&&(a=findUp("pnpm-workspace.yaml"));let r=new FlatConfigComposer(M(e.ignores),U(e.js),q(),X(),B(),A(),ae(),re(),ee(),R(),J(),W(),pe());u(e.turbo,isPackageExists("turbo"))&&(r=r.append(se(f(e.turbo))));let{overrides:l,...p}=f(e.ts);return u(e.ts,isPackageExists("typescript"))&&(r=r.append(ie(f(e.ts)))),u(e.react,isPackageExists("react"))&&(r=r.append(Q({...f(e.react),...p}))),u(e.next,isPackageExists("next"))&&(r=r.append($({...f(e.next),...p}))),u(e.storybook,isPackageExists("storybook"))&&(r=r.append(oe({...f(e.storybook),...p}))),u(e.tailwind,isPackageExists("tailwindcss"))&&(r=r.append(te(f(e.tailwind)))),u(e.tanstack,isPackageExists("react-query")||isPackageExists("@tanstack/react-query")||isPackageExists("@tanstack/react-query-devtools"))&&(r=r.append(ne(f(e.tanstack)))),u(e.drizzle,isPackageExists("drizzle-kit")||isPackageExists("drizzle-orm"))&&(r=r.append(N(f(e.drizzle)))),u(e.graphql,isPackageExists("graphql"))&&(r=r.append(E(f(e.graphql)))),u(e.pnpm,!!await a)&&(r=r.append(Y())),r=r.append(...o),isPackageExists("prettier")&&(r=r.append(K())),r.renamePlugins(c).toConfigs()}export{R as antfu,q as boolean,B as comments,W as css,Ge as default,N as drizzle,E as graphql,M as ignores,U as javascript,A as jsdoc,J as jsonc,$ as next,X as node,Y as pnpm,K as prettier,Q as react,ee as regexp,re as sonar,oe as storybook,te as tailwind,ne as tanstack,se as turbo,Ge as twoDigits,ie as typescript,ae as unicorn,pe as yaml};//# sourceMappingURL=index.js.map
3
2
  //# sourceMappingURL=index.js.map