{ "$schema": "./node_modules/oxlint/configuration_schema.json", "plugins": [ "nextjs", "typescript", "react", "import", "jsx-a11y" ], "categories": { "correctness": "off" }, "options": { "typeAware": true }, "env": { "builtin": true }, "ignorePatterns": [ ".next/**", "out/**", "build/**", "next-env.d.ts", "node_modules/**", ".now/**", "*.css", ".changeset/**", "dist/**", "esm/**", "public/**", "tests/**", "scripts/**", "*.config.js", "*.config.mjs", "*.config.ts", "!playwright.config.ts", ".DS_Store", "coverage/**", "playwright-report/**", "test-results/**", "api/generated/**", "orval.config.ts", "vitest.config.ts" ], "rules": { "no-array-constructor": "error", "no-unused-expressions": "warn", "no-unused-vars": "warn", "nextjs/google-font-display": "warn", "nextjs/google-font-preconnect": "warn", "nextjs/next-script-for-ga": "warn", "nextjs/no-async-client-component": "warn", "nextjs/no-before-interactive-script-outside-document": "warn", "nextjs/no-css-tags": "warn", "nextjs/no-head-element": "warn", "nextjs/no-html-link-for-pages": "error", "nextjs/no-img-element": "warn", "nextjs/no-page-custom-font": "warn", "nextjs/no-styled-jsx-in-document": "warn", "nextjs/no-sync-scripts": "error", "nextjs/no-title-in-document-head": "warn", "nextjs/no-typos": "warn", "nextjs/no-unwanted-polyfillio": "warn", "nextjs/inline-script-id": "error", "nextjs/no-assign-module-variable": "error", "nextjs/no-document-import-in-page": "error", "nextjs/no-duplicate-head": "error", "nextjs/no-head-import-in-document": "error", "nextjs/no-script-component-in-head": "error", "typescript/ban-ts-comment": "error", "typescript/no-duplicate-enum-values": "error", "typescript/no-empty-object-type": "error", "typescript/no-explicit-any": "error", "typescript/no-extra-non-null-assertion": "error", "typescript/no-misused-new": "error", "typescript/no-namespace": "error", "typescript/no-non-null-asserted-optional-chain": "error", "typescript/no-require-imports": "error", "typescript/no-this-alias": "error", "typescript/no-unnecessary-type-constraint": "error", "typescript/no-unsafe-declaration-merging": "error", "typescript/no-unsafe-function-type": "error", "typescript/no-wrapper-object-types": "error", "typescript/prefer-as-const": "error", "typescript/prefer-namespace-keyword": "error", "typescript/triple-slash-reference": "error" }, "overrides": [ { "files": [ "**/*.{js,jsx,mjs,ts,tsx,mts,cts}" ], "rules": { "react/display-name": "error", "react/jsx-key": "error", "react/jsx-no-comment-textnodes": "error", "react/jsx-no-duplicate-props": "error", "react/jsx-no-target-blank": "off", "react/jsx-no-undef": "error", "react/no-children-prop": "error", "react/no-danger-with-children": "error", "react/no-direct-mutation-state": "error", "react/no-find-dom-node": "error", "react/no-is-mounted": "error", "react/no-render-return-value": "error", "react/no-string-refs": "error", "react/no-unescaped-entities": "error", "react/no-unknown-property": "off", "react/no-unsafe": "off", "react/react-in-jsx-scope": "off", "import/no-anonymous-default-export": "warn", "jsx-a11y/alt-text": [ "warn", { "elements": [ "img" ], "img": [ "Image" ] } ], "jsx-a11y/aria-props": "warn", "jsx-a11y/aria-proptypes": "warn", "jsx-a11y/aria-unsupported-elements": "warn", "jsx-a11y/role-has-required-aria-props": "warn", "jsx-a11y/role-supports-aria-props": "warn", "react/rules-of-hooks": "error", "react/exhaustive-deps": "warn", "react/static-components": "error", "react/use-memo": "error", "react/preserve-manual-memoization": "error", "react/incompatible-library": "warn", "react/immutability": "error", "react/globals": "error", "react/refs": "error", "react/set-state-in-effect": "error", "react/error-boundaries": "error", "react/purity": "error", "react/set-state-in-render": "error", "react/unsupported-syntax": "warn" }, "globals": { "AbsoluteOrientationSensor": "readonly", "AbstractRange": "readonly", "Accelerometer": "readonly", "addEventListener": "readonly", "ai": "readonly", "AI": "readonly", "AICreateMonitor": "readonly", "AITextSession": "readonly", "alert": "readonly", "AnalyserNode": "readonly", "Animation": "readonly", "AnimationEffect": "readonly", "AnimationEvent": "readonly", "AnimationPlaybackEvent": "readonly", "AnimationTimeline": "readonly", "AsyncDisposableStack": "readonly", "Attr": "readonly", "Audio": "readonly", "AudioBuffer": "readonly", "AudioBufferSourceNode": "readonly", "AudioContext": "readonly", "AudioData": "readonly", "AudioDecoder": "readonly", "AudioDestinationNode": "readonly", "AudioEncoder": "readonly", "AudioListener": "readonly", "AudioNode": "readonly", "AudioParam": "readonly", "AudioParamMap": "readonly", "AudioProcessingEvent": "readonly", "AudioScheduledSourceNode": "readonly", "AudioSinkInfo": "readonly", "AudioWorklet": "readonly", "AudioWorkletGlobalScope": "readonly", "AudioWorkletNode": "readonly", "AudioWorkletProcessor": "readonly", "AuthenticatorAssertionResponse": "readonly", "AuthenticatorAttestationResponse": "readonly", "AuthenticatorResponse": "readonly", "BackgroundFetchManager": "readonly", "BackgroundFetchRecord": "readonly", "BackgroundFetchRegistration": "readonly", "BarcodeDetector": "readonly", "BarProp": "readonly", "BaseAudioContext": "readonly", "BatteryManager": "readonly", "BeforeUnloadEvent": "readonly", "BiquadFilterNode": "readonly", "BlobEvent": "readonly", "Bluetooth": "readonly", "BluetoothCharacteristicProperties": "readonly", "BluetoothDevice": "readonly", "BluetoothRemoteGATTCharacteristic": "readonly", "BluetoothRemoteGATTDescriptor": "readonly", "BluetoothRemoteGATTServer": "readonly", "BluetoothRemoteGATTService": "readonly", "BluetoothUUID": "readonly", "blur": "readonly", "BrowserCaptureMediaStreamTrack": "readonly", "Cache": "readonly", "caches": "readonly", "CacheStorage": "readonly", "cancelAnimationFrame": "readonly", "cancelIdleCallback": "readonly", "CanvasCaptureMediaStream": "readonly", "CanvasCaptureMediaStreamTrack": "readonly", "CanvasGradient": "readonly", "CanvasPattern": "readonly", "CanvasRenderingContext2D": "readonly", "CaptureController": "readonly", "CaretPosition": "readonly", "CDATASection": "readonly", "ChannelMergerNode": "readonly", "ChannelSplitterNode": "readonly", "ChapterInformation": "readonly", "CharacterBoundsUpdateEvent": "readonly", "CharacterData": "readonly", "clientInformation": "readonly", "Clipboard": "readonly", "ClipboardChangeEvent": "readonly", "ClipboardEvent": "readonly", "ClipboardItem": "readonly", "close": "readonly", "closed": "readonly", "CloseWatcher": "readonly", "CommandEvent": "readonly", "Comment": "readonly", "CompositionEvent": "readonly", "confirm": "readonly", "ConstantSourceNode": "readonly", "ContentVisibilityAutoStateChangeEvent": "readonly", "ConvolverNode": "readonly", "CookieChangeEvent": "readonly", "CookieDeprecationLabel": "readonly", "cookieStore": "readonly", "CookieStore": "readonly", "CookieStoreManager": "readonly", "createImageBitmap": "readonly", "CreateMonitor": "readonly", "Credential": "readonly", "credentialless": "readonly", "CredentialsContainer": "readonly", "CropTarget": "readonly", "crossOriginIsolated": "readonly", "CSPViolationReportBody": "readonly", "CSS": "readonly", "CSSAnimation": "readonly", "CSSConditionRule": "readonly", "CSSContainerRule": "readonly", "CSSCounterStyleRule": "readonly", "CSSFontFaceRule": "readonly", "CSSFontFeatureValuesRule": "readonly", "CSSFontPaletteValuesRule": "readonly", "CSSFunctionDeclarations": "readonly", "CSSFunctionDescriptors": "readonly", "CSSFunctionRule": "readonly", "CSSGroupingRule": "readonly", "CSSImageValue": "readonly", "CSSImportRule": "readonly", "CSSKeyframeRule": "readonly", "CSSKeyframesRule": "readonly", "CSSKeywordValue": "readonly", "CSSLayerBlockRule": "readonly", "CSSLayerStatementRule": "readonly", "CSSMarginRule": "readonly", "CSSMathClamp": "readonly", "CSSMathInvert": "readonly", "CSSMathMax": "readonly", "CSSMathMin": "readonly", "CSSMathNegate": "readonly", "CSSMathProduct": "readonly", "CSSMathSum": "readonly", "CSSMathValue": "readonly", "CSSMatrixComponent": "readonly", "CSSMediaRule": "readonly", "CSSNamespaceRule": "readonly", "CSSNestedDeclarations": "readonly", "CSSNumericArray": "readonly", "CSSNumericValue": "readonly", "CSSPageDescriptors": "readonly", "CSSPageRule": "readonly", "CSSPerspective": "readonly", "CSSPositionTryDescriptors": "readonly", "CSSPositionTryRule": "readonly", "CSSPositionValue": "readonly", "CSSPropertyRule": "readonly", "CSSRotate": "readonly", "CSSRule": "readonly", "CSSRuleList": "readonly", "CSSScale": "readonly", "CSSScopeRule": "readonly", "CSSSkew": "readonly", "CSSSkewX": "readonly", "CSSSkewY": "readonly", "CSSStartingStyleRule": "readonly", "CSSStyleDeclaration": "readonly", "CSSStyleRule": "readonly", "CSSStyleSheet": "readonly", "CSSStyleValue": "readonly", "CSSSupportsRule": "readonly", "CSSTransformComponent": "readonly", "CSSTransformValue": "readonly", "CSSTransition": "readonly", "CSSTranslate": "readonly", "CSSUnitValue": "readonly", "CSSUnparsedValue": "readonly", "CSSVariableReferenceValue": "readonly", "CSSViewTransitionRule": "readonly", "currentFrame": "readonly", "currentTime": "readonly", "CustomElementRegistry": "readonly", "customElements": "readonly", "CustomStateSet": "readonly", "DataTransfer": "readonly", "DataTransferItem": "readonly", "DataTransferItemList": "readonly", "DelayNode": "readonly", "DelegatedInkTrailPresenter": "readonly", "DeviceMotionEvent": "readonly", "DeviceMotionEventAcceleration": "readonly", "DeviceMotionEventRotationRate": "readonly", "DeviceOrientationEvent": "readonly", "devicePixelRatio": "readonly", "DevicePosture": "readonly", "dispatchEvent": "readonly", "DisposableStack": "readonly", "document": "readonly", "Document": "readonly", "DocumentFragment": "readonly", "documentPictureInPicture": "readonly", "DocumentPictureInPicture": "readonly", "DocumentPictureInPictureEvent": "readonly", "DocumentTimeline": "readonly", "DocumentType": "readonly", "DOMError": "readonly", "DOMImplementation": "readonly", "DOMMatrix": "readonly", "DOMMatrixReadOnly": "readonly", "DOMParser": "readonly", "DOMPoint": "readonly", "DOMPointReadOnly": "readonly", "DOMQuad": "readonly", "DOMRect": "readonly", "DOMRectList": "readonly", "DOMRectReadOnly": "readonly", "DOMStringList": "readonly", "DOMStringMap": "readonly", "DOMTokenList": "readonly", "DragEvent": "readonly", "DynamicsCompressorNode": "readonly", "EditContext": "readonly", "Element": "readonly", "ElementInternals": "readonly", "EncodedAudioChunk": "readonly", "EncodedVideoChunk": "readonly", "event": "readonly", "EventCounts": "readonly", "EventSource": "readonly", "external": "readonly", "External": "readonly", "EyeDropper": "readonly", "FeaturePolicy": "readonly", "FederatedCredential": "readonly", "fence": "readonly", "Fence": "readonly", "FencedFrameConfig": "readonly", "fetchLater": "readonly", "FetchLaterResult": "readonly", "FileList": "readonly", "FileReader": "readonly", "FileSystem": "readonly", "FileSystemDirectoryEntry": "readonly", "FileSystemDirectoryHandle": "readonly", "FileSystemDirectoryReader": "readonly", "FileSystemEntry": "readonly", "FileSystemFileEntry": "readonly", "FileSystemFileHandle": "readonly", "FileSystemHandle": "readonly", "FileSystemObserver": "readonly", "FileSystemWritableFileStream": "readonly", "find": "readonly", "focus": "readonly", "FocusEvent": "readonly", "FontData": "readonly", "FontFace": "readonly", "FontFaceSet": "readonly", "FontFaceSetLoadEvent": "readonly", "FormDataEvent": "readonly", "FragmentDirective": "readonly", "frameElement": "readonly", "frames": "readonly", "GainNode": "readonly", "Gamepad": "readonly", "GamepadAxisMoveEvent": "readonly", "GamepadButton": "readonly", "GamepadButtonEvent": "readonly", "GamepadEvent": "readonly", "GamepadHapticActuator": "readonly", "GamepadPose": "readonly", "Geolocation": "readonly", "GeolocationCoordinates": "readonly", "GeolocationPosition": "readonly", "GeolocationPositionError": "readonly", "getComputedStyle": "readonly", "getScreenDetails": "readonly", "getSelection": "readonly", "GPU": "readonly", "GPUAdapter": "readonly", "GPUAdapterInfo": "readonly", "GPUBindGroup": "readonly", "GPUBindGroupLayout": "readonly", "GPUBuffer": "readonly", "GPUBufferUsage": "readonly", "GPUCanvasContext": "readonly", "GPUColorWrite": "readonly", "GPUCommandBuffer": "readonly", "GPUCommandEncoder": "readonly", "GPUCompilationInfo": "readonly", "GPUCompilationMessage": "readonly", "GPUComputePassEncoder": "readonly", "GPUComputePipeline": "readonly", "GPUDevice": "readonly", "GPUDeviceLostInfo": "readonly", "GPUError": "readonly", "GPUExternalTexture": "readonly", "GPUInternalError": "readonly", "GPUMapMode": "readonly", "GPUOutOfMemoryError": "readonly", "GPUPipelineError": "readonly", "GPUPipelineLayout": "readonly", "GPUQuerySet": "readonly", "GPUQueue": "readonly", "GPURenderBundle": "readonly", "GPURenderBundleEncoder": "readonly", "GPURenderPassEncoder": "readonly", "GPURenderPipeline": "readonly", "GPUSampler": "readonly", "GPUShaderModule": "readonly", "GPUShaderStage": "readonly", "GPUSupportedFeatures": "readonly", "GPUSupportedLimits": "readonly", "GPUTexture": "readonly", "GPUTextureUsage": "readonly", "GPUTextureView": "readonly", "GPUUncapturedErrorEvent": "readonly", "GPUValidationError": "readonly", "GravitySensor": "readonly", "Gyroscope": "readonly", "HashChangeEvent": "readonly", "HID": "readonly", "HIDConnectionEvent": "readonly", "HIDDevice": "readonly", "HIDInputReportEvent": "readonly", "Highlight": "readonly", "HighlightRegistry": "readonly", "history": "readonly", "History": "readonly", "HTMLAllCollection": "readonly", "HTMLAnchorElement": "readonly", "HTMLAreaElement": "readonly", "HTMLAudioElement": "readonly", "HTMLBaseElement": "readonly", "HTMLBodyElement": "readonly", "HTMLBRElement": "readonly", "HTMLButtonElement": "readonly", "HTMLCanvasElement": "readonly", "HTMLCollection": "readonly", "HTMLDataElement": "readonly", "HTMLDataListElement": "readonly", "HTMLDetailsElement": "readonly", "HTMLDialogElement": "readonly", "HTMLDirectoryElement": "readonly", "HTMLDivElement": "readonly", "HTMLDListElement": "readonly", "HTMLDocument": "readonly", "HTMLElement": "readonly", "HTMLEmbedElement": "readonly", "HTMLFencedFrameElement": "readonly", "HTMLFieldSetElement": "readonly", "HTMLFontElement": "readonly", "HTMLFormControlsCollection": "readonly", "HTMLFormElement": "readonly", "HTMLFrameElement": "readonly", "HTMLFrameSetElement": "readonly", "HTMLHeadElement": "readonly", "HTMLHeadingElement": "readonly", "HTMLHRElement": "readonly", "HTMLHtmlElement": "readonly", "HTMLIFrameElement": "readonly", "HTMLImageElement": "readonly", "HTMLInputElement": "readonly", "HTMLLabelElement": "readonly", "HTMLLegendElement": "readonly", "HTMLLIElement": "readonly", "HTMLLinkElement": "readonly", "HTMLMapElement": "readonly", "HTMLMarqueeElement": "readonly", "HTMLMediaElement": "readonly", "HTMLMenuElement": "readonly", "HTMLMetaElement": "readonly", "HTMLMeterElement": "readonly", "HTMLModElement": "readonly", "HTMLObjectElement": "readonly", "HTMLOListElement": "readonly", "HTMLOptGroupElement": "readonly", "HTMLOptionElement": "readonly", "HTMLOptionsCollection": "readonly", "HTMLOutputElement": "readonly", "HTMLParagraphElement": "readonly", "HTMLParamElement": "readonly", "HTMLPictureElement": "readonly", "HTMLPreElement": "readonly", "HTMLProgressElement": "readonly", "HTMLQuoteElement": "readonly", "HTMLScriptElement": "readonly", "HTMLSelectedContentElement": "readonly", "HTMLSelectElement": "readonly", "HTMLSlotElement": "readonly", "HTMLSourceElement": "readonly", "HTMLSpanElement": "readonly", "HTMLStyleElement": "readonly", "HTMLTableCaptionElement": "readonly", "HTMLTableCellElement": "readonly", "HTMLTableColElement": "readonly", "HTMLTableElement": "readonly", "HTMLTableRowElement": "readonly", "HTMLTableSectionElement": "readonly", "HTMLTemplateElement": "readonly", "HTMLTextAreaElement": "readonly", "HTMLTimeElement": "readonly", "HTMLTitleElement": "readonly", "HTMLTrackElement": "readonly", "HTMLUListElement": "readonly", "HTMLUnknownElement": "readonly", "HTMLVideoElement": "readonly", "IDBCursor": "readonly", "IDBCursorWithValue": "readonly", "IDBDatabase": "readonly", "IDBFactory": "readonly", "IDBIndex": "readonly", "IDBKeyRange": "readonly", "IDBObjectStore": "readonly", "IDBOpenDBRequest": "readonly", "IDBRequest": "readonly", "IDBTransaction": "readonly", "IDBVersionChangeEvent": "readonly", "IdentityCredential": "readonly", "IdentityCredentialError": "readonly", "IdentityProvider": "readonly", "IdleDeadline": "readonly", "IdleDetector": "readonly", "IIRFilterNode": "readonly", "Image": "readonly", "ImageBitmap": "readonly", "ImageBitmapRenderingContext": "readonly", "ImageCapture": "readonly", "ImageData": "readonly", "ImageDecoder": "readonly", "ImageTrack": "readonly", "ImageTrackList": "readonly", "indexedDB": "readonly", "Ink": "readonly", "innerHeight": "readonly", "innerWidth": "readonly", "InputDeviceCapabilities": "readonly", "InputDeviceInfo": "readonly", "InputEvent": "readonly", "IntegrityViolationReportBody": "readonly", "IntersectionObserver": "readonly", "IntersectionObserverEntry": "readonly", "isSecureContext": "readonly", "Keyboard": "readonly", "KeyboardEvent": "readonly", "KeyboardLayoutMap": "readonly", "KeyframeEffect": "readonly", "LanguageDetector": "readonly", "LargestContentfulPaint": "readonly", "LaunchParams": "readonly", "launchQueue": "readonly", "LaunchQueue": "readonly", "LayoutShift": "readonly", "LayoutShiftAttribution": "readonly", "length": "readonly", "LinearAccelerationSensor": "readonly", "location": "writable", "Location": "readonly", "locationbar": "readonly", "Lock": "readonly", "LockManager": "readonly", "matchMedia": "readonly", "MathMLElement": "readonly", "MediaCapabilities": "readonly", "MediaCapabilitiesInfo": "readonly", "MediaDeviceInfo": "readonly", "MediaDevices": "readonly", "MediaElementAudioSourceNode": "readonly", "MediaEncryptedEvent": "readonly", "MediaError": "readonly", "MediaKeyError": "readonly", "MediaKeyMessageEvent": "readonly", "MediaKeys": "readonly", "MediaKeySession": "readonly", "MediaKeyStatusMap": "readonly", "MediaKeySystemAccess": "readonly", "MediaList": "readonly", "MediaMetadata": "readonly", "MediaQueryList": "readonly", "MediaQueryListEvent": "readonly", "MediaRecorder": "readonly", "MediaRecorderErrorEvent": "readonly", "MediaSession": "readonly", "MediaSource": "readonly", "MediaSourceHandle": "readonly", "MediaStream": "readonly", "MediaStreamAudioDestinationNode": "readonly", "MediaStreamAudioSourceNode": "readonly", "MediaStreamEvent": "readonly", "MediaStreamTrack": "readonly", "MediaStreamTrackAudioSourceNode": "readonly", "MediaStreamTrackAudioStats": "readonly", "MediaStreamTrackEvent": "readonly", "MediaStreamTrackGenerator": "readonly", "MediaStreamTrackProcessor": "readonly", "MediaStreamTrackVideoStats": "readonly", "menubar": "readonly", "MIDIAccess": "readonly", "MIDIConnectionEvent": "readonly", "MIDIInput": "readonly", "MIDIInputMap": "readonly", "MIDIMessageEvent": "readonly", "MIDIOutput": "readonly", "MIDIOutputMap": "readonly", "MIDIPort": "readonly", "MimeType": "readonly", "MimeTypeArray": "readonly", "model": "readonly", "ModelGenericSession": "readonly", "ModelManager": "readonly", "MouseEvent": "readonly", "moveBy": "readonly", "moveTo": "readonly", "MutationEvent": "readonly", "MutationObserver": "readonly", "MutationRecord": "readonly", "name": "readonly", "NamedNodeMap": "readonly", "NavigateEvent": "readonly", "navigation": "readonly", "Navigation": "readonly", "NavigationActivation": "readonly", "NavigationCurrentEntryChangeEvent": "readonly", "NavigationDestination": "readonly", "NavigationHistoryEntry": "readonly", "NavigationPreloadManager": "readonly", "NavigationTransition": "readonly", "NavigatorLogin": "readonly", "NavigatorManagedData": "readonly", "NavigatorUAData": "readonly", "NetworkInformation": "readonly", "Node": "readonly", "NodeFilter": "readonly", "NodeIterator": "readonly", "NodeList": "readonly", "Notification": "readonly", "NotifyPaintEvent": "readonly", "NotRestoredReasonDetails": "readonly", "NotRestoredReasons": "readonly", "Observable": "readonly", "OfflineAudioCompletionEvent": "readonly", "OfflineAudioContext": "readonly", "offscreenBuffering": "readonly", "OffscreenCanvas": "readonly", "OffscreenCanvasRenderingContext2D": "readonly", "onabort": "writable", "onafterprint": "writable", "onanimationcancel": "writable", "onanimationend": "writable", "onanimationiteration": "writable", "onanimationstart": "writable", "onappinstalled": "writable", "onauxclick": "writable", "onbeforeinput": "writable", "onbeforeinstallprompt": "writable", "onbeforematch": "writable", "onbeforeprint": "writable", "onbeforetoggle": "writable", "onbeforeunload": "writable", "onbeforexrselect": "writable", "onblur": "writable", "oncancel": "writable", "oncanplay": "writable", "oncanplaythrough": "writable", "onchange": "writable", "onclick": "writable", "onclose": "writable", "oncommand": "writable", "oncontentvisibilityautostatechange": "writable", "oncontextlost": "writable", "oncontextmenu": "writable", "oncontextrestored": "writable", "oncopy": "writable", "oncuechange": "writable", "oncut": "writable", "ondblclick": "writable", "ondevicemotion": "writable", "ondeviceorientation": "writable", "ondeviceorientationabsolute": "writable", "ondrag": "writable", "ondragend": "writable", "ondragenter": "writable", "ondragleave": "writable", "ondragover": "writable", "ondragstart": "writable", "ondrop": "writable", "ondurationchange": "writable", "onemptied": "writable", "onended": "writable", "onerror": "writable", "onfocus": "writable", "onformdata": "writable", "ongamepadconnected": "writable", "ongamepaddisconnected": "writable", "ongotpointercapture": "writable", "onhashchange": "writable", "oninput": "writable", "oninvalid": "writable", "onkeydown": "writable", "onkeypress": "writable", "onkeyup": "writable", "onlanguagechange": "writable", "onload": "writable", "onloadeddata": "writable", "onloadedmetadata": "writable", "onloadstart": "writable", "onlostpointercapture": "writable", "onmessage": "writable", "onmessageerror": "writable", "onmousedown": "writable", "onmouseenter": "writable", "onmouseleave": "writable", "onmousemove": "writable", "onmouseout": "writable", "onmouseover": "writable", "onmouseup": "writable", "onmousewheel": "writable", "onoffline": "writable", "ononline": "writable", "onpagehide": "writable", "onpagereveal": "writable", "onpageshow": "writable", "onpageswap": "writable", "onpaste": "writable", "onpause": "writable", "onplay": "writable", "onplaying": "writable", "onpointercancel": "writable", "onpointerdown": "writable", "onpointerenter": "writable", "onpointerleave": "writable", "onpointermove": "writable", "onpointerout": "writable", "onpointerover": "writable", "onpointerrawupdate": "writable", "onpointerup": "writable", "onpopstate": "writable", "onprogress": "writable", "onratechange": "writable", "onrejectionhandled": "writable", "onreset": "writable", "onresize": "writable", "onscroll": "writable", "onscrollend": "writable", "onscrollsnapchange": "writable", "onscrollsnapchanging": "writable", "onsearch": "writable", "onsecuritypolicyviolation": "writable", "onseeked": "writable", "onseeking": "writable", "onselect": "writable", "onselectionchange": "writable", "onselectstart": "writable", "onslotchange": "writable", "onstalled": "writable", "onstorage": "writable", "onsubmit": "writable", "onsuspend": "writable", "ontimeupdate": "writable", "ontoggle": "writable", "ontransitioncancel": "writable", "ontransitionend": "writable", "ontransitionrun": "writable", "ontransitionstart": "writable", "onunhandledrejection": "writable", "onunload": "writable", "onvolumechange": "writable", "onwaiting": "writable", "onwheel": "writable", "open": "readonly", "opener": "readonly", "Option": "readonly", "OrientationSensor": "readonly", "origin": "readonly", "originAgentCluster": "readonly", "OscillatorNode": "readonly", "OTPCredential": "readonly", "outerHeight": "readonly", "outerWidth": "readonly", "OverconstrainedError": "readonly", "PageRevealEvent": "readonly", "PageSwapEvent": "readonly", "PageTransitionEvent": "readonly", "pageXOffset": "readonly", "pageYOffset": "readonly", "PannerNode": "readonly", "parent": "readonly", "PasswordCredential": "readonly", "Path2D": "readonly", "PaymentAddress": "readonly", "PaymentManager": "readonly", "PaymentMethodChangeEvent": "readonly", "PaymentRequest": "readonly", "PaymentRequestUpdateEvent": "readonly", "PaymentResponse": "readonly", "PerformanceElementTiming": "readonly", "PerformanceEventTiming": "readonly", "PerformanceLongAnimationFrameTiming": "readonly", "PerformanceLongTaskTiming": "readonly", "PerformanceNavigation": "readonly", "PerformanceNavigationTiming": "readonly", "PerformancePaintTiming": "readonly", "PerformanceScriptTiming": "readonly", "PerformanceServerTiming": "readonly", "PerformanceTiming": "readonly", "PeriodicSyncManager": "readonly", "PeriodicWave": "readonly", "Permissions": "readonly", "PermissionStatus": "readonly", "PERSISTENT": "readonly", "personalbar": "readonly", "PictureInPictureEvent": "readonly", "PictureInPictureWindow": "readonly", "Plugin": "readonly", "PluginArray": "readonly", "PointerEvent": "readonly", "PopStateEvent": "readonly", "postMessage": "readonly", "Presentation": "readonly", "PresentationAvailability": "readonly", "PresentationConnection": "readonly", "PresentationConnectionAvailableEvent": "readonly", "PresentationConnectionCloseEvent": "readonly", "PresentationConnectionList": "readonly", "PresentationReceiver": "readonly", "PresentationRequest": "readonly", "PressureObserver": "readonly", "PressureRecord": "readonly", "print": "readonly", "ProcessingInstruction": "readonly", "Profiler": "readonly", "ProgressEvent": "readonly", "PromiseRejectionEvent": "readonly", "prompt": "readonly", "ProtectedAudience": "readonly", "PublicKeyCredential": "readonly", "PushManager": "readonly", "PushSubscription": "readonly", "PushSubscriptionOptions": "readonly", "queryLocalFonts": "readonly", "RadioNodeList": "readonly", "Range": "readonly", "registerProcessor": "readonly", "RelativeOrientationSensor": "readonly", "RemotePlayback": "readonly", "removeEventListener": "readonly", "ReportBody": "readonly", "reportError": "readonly", "ReportingObserver": "readonly", "requestAnimationFrame": "readonly", "requestIdleCallback": "readonly", "resizeBy": "readonly", "ResizeObserver": "readonly", "ResizeObserverEntry": "readonly", "ResizeObserverSize": "readonly", "resizeTo": "readonly", "RestrictionTarget": "readonly", "RTCCertificate": "readonly", "RTCDataChannel": "readonly", "RTCDataChannelEvent": "readonly", "RTCDtlsTransport": "readonly", "RTCDTMFSender": "readonly", "RTCDTMFToneChangeEvent": "readonly", "RTCEncodedAudioFrame": "readonly", "RTCEncodedVideoFrame": "readonly", "RTCError": "readonly", "RTCErrorEvent": "readonly", "RTCIceCandidate": "readonly", "RTCIceTransport": "readonly", "RTCPeerConnection": "readonly", "RTCPeerConnectionIceErrorEvent": "readonly", "RTCPeerConnectionIceEvent": "readonly", "RTCRtpReceiver": "readonly", "RTCRtpScriptTransform": "readonly", "RTCRtpSender": "readonly", "RTCRtpTransceiver": "readonly", "RTCSctpTransport": "readonly", "RTCSessionDescription": "readonly", "RTCStatsReport": "readonly", "RTCTrackEvent": "readonly", "sampleRate": "readonly", "scheduler": "readonly", "Scheduler": "readonly", "Scheduling": "readonly", "screen": "readonly", "Screen": "readonly", "ScreenDetailed": "readonly", "ScreenDetails": "readonly", "screenLeft": "readonly", "ScreenOrientation": "readonly", "screenTop": "readonly", "screenX": "readonly", "screenY": "readonly", "ScriptProcessorNode": "readonly", "scroll": "readonly", "scrollbars": "readonly", "scrollBy": "readonly", "ScrollTimeline": "readonly", "scrollTo": "readonly", "scrollX": "readonly", "scrollY": "readonly", "SecurityPolicyViolationEvent": "readonly", "Selection": "readonly", "self": "readonly", "Sensor": "readonly", "SensorErrorEvent": "readonly", "Serial": "readonly", "SerialPort": "readonly", "ServiceWorker": "readonly", "ServiceWorkerContainer": "readonly", "ServiceWorkerRegistration": "readonly", "ShadowRoot": "readonly", "sharedStorage": "readonly", "SharedStorage": "readonly", "SharedStorageAppendMethod": "readonly", "SharedStorageClearMethod": "readonly", "SharedStorageDeleteMethod": "readonly", "SharedStorageModifierMethod": "readonly", "SharedStorageSetMethod": "readonly", "SharedStorageWorklet": "readonly", "SharedWorker": "readonly", "showDirectoryPicker": "readonly", "showOpenFilePicker": "readonly", "showSaveFilePicker": "readonly", "SnapEvent": "readonly", "SourceBuffer": "readonly", "SourceBufferList": "readonly", "SpeechGrammar": "readonly", "SpeechGrammarList": "readonly", "SpeechRecognition": "readonly", "SpeechRecognitionErrorEvent": "readonly", "SpeechRecognitionEvent": "readonly", "speechSynthesis": "readonly", "SpeechSynthesis": "readonly", "SpeechSynthesisErrorEvent": "readonly", "SpeechSynthesisEvent": "readonly", "SpeechSynthesisUtterance": "readonly", "SpeechSynthesisVoice": "readonly", "StaticRange": "readonly", "status": "readonly", "statusbar": "readonly", "StereoPannerNode": "readonly", "stop": "readonly", "StorageBucket": "readonly", "StorageBucketManager": "readonly", "StorageEvent": "readonly", "StorageManager": "readonly", "styleMedia": "readonly", "StylePropertyMap": "readonly", "StylePropertyMapReadOnly": "readonly", "StyleSheet": "readonly", "StyleSheetList": "readonly", "SubmitEvent": "readonly", "Subscriber": "readonly", "Summarizer": "readonly", "SuppressedError": "readonly", "SVGAElement": "readonly", "SVGAngle": "readonly", "SVGAnimatedAngle": "readonly", "SVGAnimatedBoolean": "readonly", "SVGAnimatedEnumeration": "readonly", "SVGAnimatedInteger": "readonly", "SVGAnimatedLength": "readonly", "SVGAnimatedLengthList": "readonly", "SVGAnimatedNumber": "readonly", "SVGAnimatedNumberList": "readonly", "SVGAnimatedPreserveAspectRatio": "readonly", "SVGAnimatedRect": "readonly", "SVGAnimatedString": "readonly", "SVGAnimatedTransformList": "readonly", "SVGAnimateElement": "readonly", "SVGAnimateMotionElement": "readonly", "SVGAnimateTransformElement": "readonly", "SVGAnimationElement": "readonly", "SVGCircleElement": "readonly", "SVGClipPathElement": "readonly", "SVGComponentTransferFunctionElement": "readonly", "SVGDefsElement": "readonly", "SVGDescElement": "readonly", "SVGElement": "readonly", "SVGEllipseElement": "readonly", "SVGFEBlendElement": "readonly", "SVGFEColorMatrixElement": "readonly", "SVGFEComponentTransferElement": "readonly", "SVGFECompositeElement": "readonly", "SVGFEConvolveMatrixElement": "readonly", "SVGFEDiffuseLightingElement": "readonly", "SVGFEDisplacementMapElement": "readonly", "SVGFEDistantLightElement": "readonly", "SVGFEDropShadowElement": "readonly", "SVGFEFloodElement": "readonly", "SVGFEFuncAElement": "readonly", "SVGFEFuncBElement": "readonly", "SVGFEFuncGElement": "readonly", "SVGFEFuncRElement": "readonly", "SVGFEGaussianBlurElement": "readonly", "SVGFEImageElement": "readonly", "SVGFEMergeElement": "readonly", "SVGFEMergeNodeElement": "readonly", "SVGFEMorphologyElement": "readonly", "SVGFEOffsetElement": "readonly", "SVGFEPointLightElement": "readonly", "SVGFESpecularLightingElement": "readonly", "SVGFESpotLightElement": "readonly", "SVGFETileElement": "readonly", "SVGFETurbulenceElement": "readonly", "SVGFilterElement": "readonly", "SVGForeignObjectElement": "readonly", "SVGGElement": "readonly", "SVGGeometryElement": "readonly", "SVGGradientElement": "readonly", "SVGGraphicsElement": "readonly", "SVGImageElement": "readonly", "SVGLength": "readonly", "SVGLengthList": "readonly", "SVGLinearGradientElement": "readonly", "SVGLineElement": "readonly", "SVGMarkerElement": "readonly", "SVGMaskElement": "readonly", "SVGMatrix": "readonly", "SVGMetadataElement": "readonly", "SVGMPathElement": "readonly", "SVGNumber": "readonly", "SVGNumberList": "readonly", "SVGPathElement": "readonly", "SVGPatternElement": "readonly", "SVGPoint": "readonly", "SVGPointList": "readonly", "SVGPolygonElement": "readonly", "SVGPolylineElement": "readonly", "SVGPreserveAspectRatio": "readonly", "SVGRadialGradientElement": "readonly", "SVGRect": "readonly", "SVGRectElement": "readonly", "SVGScriptElement": "readonly", "SVGSetElement": "readonly", "SVGStopElement": "readonly", "SVGStringList": "readonly", "SVGStyleElement": "readonly", "SVGSVGElement": "readonly", "SVGSwitchElement": "readonly", "SVGSymbolElement": "readonly", "SVGTextContentElement": "readonly", "SVGTextElement": "readonly", "SVGTextPathElement": "readonly", "SVGTextPositioningElement": "readonly", "SVGTitleElement": "readonly", "SVGTransform": "readonly", "SVGTransformList": "readonly", "SVGTSpanElement": "readonly", "SVGUnitTypes": "readonly", "SVGUseElement": "readonly", "SVGViewElement": "readonly", "SyncManager": "readonly", "TaskAttributionTiming": "readonly", "TaskController": "readonly", "TaskPriorityChangeEvent": "readonly", "TaskSignal": "readonly", "TEMPORARY": "readonly", "Text": "readonly", "TextEvent": "readonly", "TextFormat": "readonly", "TextFormatUpdateEvent": "readonly", "TextMetrics": "readonly", "TextTrack": "readonly", "TextTrackCue": "readonly", "TextTrackCueList": "readonly", "TextTrackList": "readonly", "TextUpdateEvent": "readonly", "TimeEvent": "readonly", "TimeRanges": "readonly", "ToggleEvent": "readonly", "toolbar": "readonly", "top": "readonly", "Touch": "readonly", "TouchEvent": "readonly", "TouchList": "readonly", "TrackEvent": "readonly", "TransitionEvent": "readonly", "Translator": "readonly", "TreeWalker": "readonly", "TrustedHTML": "readonly", "TrustedScript": "readonly", "TrustedScriptURL": "readonly", "TrustedTypePolicy": "readonly", "TrustedTypePolicyFactory": "readonly", "trustedTypes": "readonly", "UIEvent": "readonly", "USB": "readonly", "USBAlternateInterface": "readonly", "USBConfiguration": "readonly", "USBConnectionEvent": "readonly", "USBDevice": "readonly", "USBEndpoint": "readonly", "USBInterface": "readonly", "USBInTransferResult": "readonly", "USBIsochronousInTransferPacket": "readonly", "USBIsochronousInTransferResult": "readonly", "USBIsochronousOutTransferPacket": "readonly", "USBIsochronousOutTransferResult": "readonly", "USBOutTransferResult": "readonly", "UserActivation": "readonly", "ValidityState": "readonly", "VideoColorSpace": "readonly", "VideoDecoder": "readonly", "VideoEncoder": "readonly", "VideoFrame": "readonly", "VideoPlaybackQuality": "readonly", "viewport": "readonly", "Viewport": "readonly", "ViewTimeline": "readonly", "ViewTransition": "readonly", "ViewTransitionTypeSet": "readonly", "VirtualKeyboard": "readonly", "VirtualKeyboardGeometryChangeEvent": "readonly", "VisibilityStateEntry": "readonly", "visualViewport": "readonly", "VisualViewport": "readonly", "VTTCue": "readonly", "VTTRegion": "readonly", "WakeLock": "readonly", "WakeLockSentinel": "readonly", "WaveShaperNode": "readonly", "WebGL2RenderingContext": "readonly", "WebGLActiveInfo": "readonly", "WebGLBuffer": "readonly", "WebGLContextEvent": "readonly", "WebGLFramebuffer": "readonly", "WebGLObject": "readonly", "WebGLProgram": "readonly", "WebGLQuery": "readonly", "WebGLRenderbuffer": "readonly", "WebGLRenderingContext": "readonly", "WebGLSampler": "readonly", "WebGLShader": "readonly", "WebGLShaderPrecisionFormat": "readonly", "WebGLSync": "readonly", "WebGLTexture": "readonly", "WebGLTransformFeedback": "readonly", "WebGLUniformLocation": "readonly", "WebGLVertexArrayObject": "readonly", "WebSocketError": "readonly", "WebSocketStream": "readonly", "WebTransport": "readonly", "WebTransportBidirectionalStream": "readonly", "WebTransportDatagramDuplexStream": "readonly", "WebTransportError": "readonly", "WebTransportReceiveStream": "readonly", "WebTransportSendStream": "readonly", "WGSLLanguageFeatures": "readonly", "WheelEvent": "readonly", "when": "readonly", "window": "readonly", "Window": "readonly", "WindowControlsOverlay": "readonly", "WindowControlsOverlayGeometryChangeEvent": "readonly", "Worker": "readonly", "Worklet": "readonly", "WorkletGlobalScope": "readonly", "XMLDocument": "readonly", "XMLHttpRequest": "readonly", "XMLHttpRequestEventTarget": "readonly", "XMLHttpRequestUpload": "readonly", "XMLSerializer": "readonly", "XPathEvaluator": "readonly", "XPathExpression": "readonly", "XPathResult": "readonly", "XRAnchor": "readonly", "XRAnchorSet": "readonly", "XRBoundedReferenceSpace": "readonly", "XRCamera": "readonly", "XRCPUDepthInformation": "readonly", "XRDepthInformation": "readonly", "XRDOMOverlayState": "readonly", "XRFrame": "readonly", "XRHand": "readonly", "XRHitTestResult": "readonly", "XRHitTestSource": "readonly", "XRInputSource": "readonly", "XRInputSourceArray": "readonly", "XRInputSourceEvent": "readonly", "XRInputSourcesChangeEvent": "readonly", "XRJointPose": "readonly", "XRJointSpace": "readonly", "XRLayer": "readonly", "XRLightEstimate": "readonly", "XRLightProbe": "readonly", "XRPose": "readonly", "XRRay": "readonly", "XRReferenceSpace": "readonly", "XRReferenceSpaceEvent": "readonly", "XRRenderState": "readonly", "XRRigidTransform": "readonly", "XRSession": "readonly", "XRSessionEvent": "readonly", "XRSpace": "readonly", "XRSystem": "readonly", "XRTransientInputHitTestResult": "readonly", "XRTransientInputHitTestSource": "readonly", "XRView": "readonly", "XRViewerPose": "readonly", "XRViewport": "readonly", "XRWebGLBinding": "readonly", "XRWebGLDepthInformation": "readonly", "XRWebGLLayer": "readonly", "XSLTProcessor": "readonly" }, "plugins": [ "react", "import", "jsx-a11y" ], "env": { "node": true } }, { "files": [ "**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts" ], "rules": { "constructor-super": "off", "getter-return": "off", "no-class-assign": "off", "no-const-assign": "off", "no-dupe-class-members": "off", "no-dupe-keys": "off", "no-func-assign": "off", "no-import-assign": "off", "no-new-native-nonconstructor": "off", "no-obj-calls": "off", "no-redeclare": "off", "no-setter-return": "off", "no-this-before-super": "off", "no-unreachable": "off", "no-unsafe-negation": "off", "no-var": "error", "no-with": "off", "prefer-const": "error", "prefer-rest-params": "error", "prefer-spread": "error" } }, { "files": [ "**/*.{ts,tsx}" ], "rules": { "no-implied-eval": "off", "no-unused-expressions": "error", "no-unused-vars": "error", "no-useless-constructor": "error", "no-throw-literal": "off", "prefer-promise-reject-errors": "off", "require-await": "off", "typescript/await-thenable": "error", "typescript/ban-ts-comment": [ "error", { "minimumDescriptionLength": 10 } ], "typescript/no-array-delete": "error", "typescript/no-base-to-string": "error", "typescript/no-confusing-void-expression": "error", "typescript/no-deprecated": "error", "typescript/no-duplicate-type-constituents": "error", "typescript/no-dynamic-delete": "error", "typescript/no-extraneous-class": "error", "typescript/no-floating-promises": "error", "typescript/no-for-in-array": "error", "typescript/no-implied-eval": "error", "typescript/no-invalid-void-type": "error", "typescript/no-meaningless-void-operator": "error", "typescript/no-misused-promises": "error", "typescript/no-misused-spread": "error", "typescript/no-mixed-enums": "error", "typescript/no-non-null-asserted-nullish-coalescing": "error", "typescript/no-non-null-assertion": "error", "typescript/no-redundant-type-constituents": "error", "typescript/no-unnecessary-boolean-literal-compare": "error", "typescript/no-unnecessary-template-expression": "error", "typescript/no-unnecessary-type-arguments": "error", "typescript/no-unnecessary-type-assertion": "error", "typescript/no-unnecessary-type-conversion": "error", "typescript/no-unnecessary-type-parameters": "error", "typescript/no-unsafe-argument": "error", "typescript/no-unsafe-assignment": "error", "typescript/no-unsafe-call": "error", "typescript/no-unsafe-enum-comparison": "error", "typescript/no-unsafe-member-access": "error", "typescript/no-unsafe-return": "error", "typescript/no-unsafe-unary-minus": "error", "typescript/no-useless-default-assignment": "error", "typescript/only-throw-error": "error", "typescript/prefer-literal-enum-member": "error", "typescript/prefer-promise-reject-errors": "error", "typescript/prefer-reduce-type-parameter": "error", "typescript/prefer-return-this-type": "error", "typescript/related-getter-setter-pairs": "error", "typescript/require-await": "error", "typescript/restrict-plus-operands": [ "error", { "allowAny": false, "allowBoolean": false, "allowNullish": false, "allowNumberAndString": false, "allowRegExp": false } ], "typescript/restrict-template-expressions": [ "error", { "allowAny": false, "allowBoolean": false, "allowNever": false, "allowNullish": false, "allowNumber": false, "allowRegExp": false } ], "typescript/return-await": [ "error", "error-handling-correctness-only" ], "typescript/unbound-method": "error", "typescript/unified-signatures": "error", "typescript/use-unknown-in-catch-callback-variable": "error", "typescript/prefer-optional-chain": "error", "typescript/no-unnecessary-condition": "off" } }, { "files": [ "**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts" ], "rules": { "constructor-super": "off", "getter-return": "off", "no-class-assign": "off", "no-const-assign": "off", "no-dupe-class-members": "off", "no-dupe-keys": "off", "no-func-assign": "off", "no-import-assign": "off", "no-new-native-nonconstructor": "off", "no-obj-calls": "off", "no-redeclare": "off", "no-setter-return": "off", "no-this-before-super": "off", "no-unreachable": "off", "no-unsafe-negation": "off", "no-var": "error", "no-with": "off", "prefer-const": "error", "prefer-rest-params": "error", "prefer-spread": "error" } }, { "files": [ "**/*.{ts,tsx}" ], "rules": { "no-empty-function": "error", "typescript/adjacent-overload-signatures": "error", "typescript/array-type": "error", "typescript/ban-tslint-comment": "error", "typescript/class-literal-property-style": "error", "typescript/consistent-generic-constructors": "error", "typescript/consistent-indexed-object-style": "error", "typescript/consistent-type-assertions": "error", "typescript/consistent-type-definitions": "error", "typescript/dot-notation": "error", "typescript/no-confusing-non-null-assertion": "error", "typescript/no-inferrable-types": "error", "typescript/non-nullable-type-assertion-style": "error", "typescript/prefer-find": "error", "typescript/prefer-for-of": "error", "typescript/prefer-function-type": "error", "typescript/prefer-includes": "error", "typescript/prefer-nullish-coalescing": "error", "typescript/prefer-regexp-exec": "error", "typescript/prefer-string-starts-ends-with": "error" } }, { "files": [ "**/*.{js,jsx,ts,tsx}" ], "rules": { "no-console": [ "error", { "allow": [ "warn", "error" ] } ], "eqeqeq": [ "error", "smart" ], "react/react-in-jsx-scope": "off", "react/no-unescaped-entities": "error", "react/self-closing-comp": "error", "jsx-a11y/media-has-caption": "off", "jsx-a11y/no-autofocus": "off", "jsx-a11y/click-events-have-key-events": "error", "jsx-a11y/interactive-supports-focus": "error", "no-unused-vars": [ "error", { "args": "after-used", "ignoreRestSiblings": true, "argsIgnorePattern": "^_", "varsIgnorePattern": "^_", "caughtErrorsIgnorePattern": "^_" } ], "unused-imports/no-unused-vars": "off", "unused-imports/no-unused-imports": "error", "no-empty-function": [ "error", { "allow": [ "arrowFunctions", "functions", "methods" ] } ], "react/exhaustive-deps": "error", "react/set-state-in-effect": "off", "react/incompatible-library": "off", "react/preserve-manual-memoization": "off", "typescript/consistent-type-imports": [ "error", { "prefer": "type-imports", "fixStyle": "inline-type-imports" } ], "typescript/no-floating-promises": "error", "typescript/no-misused-promises": [ "error", { "checksVoidReturn": { "attributes": false } } ], "typescript/restrict-template-expressions": [ "error", { "allowNumber": true, "allowBoolean": true, "allowNullish": true } ], "typescript/no-redundant-type-constituents": "off", "typescript/no-unnecessary-type-conversion": "off", "typescript/prefer-nullish-coalescing": [ "error", { "ignorePrimitives": { "string": true, "number": true, "boolean": true, "bigint": true } } ], "typescript/no-base-to-string": [ "error", { "ignoredTypeNames": [ "Error", "DOMException", "URL", "URLSearchParams", "RegExp" ] } ], "typescript/prefer-optional-chain": "error", "typescript/no-unnecessary-condition": "off" }, "jsPlugins": [ "eslint-plugin-unused-imports" ], "plugins": [ "react", "jsx-a11y" ] }, { "files": [ "app/**/*.{js,jsx,ts,tsx}", "components/**/*.{js,jsx,ts,tsx}", "features/**/*.{js,jsx,ts,tsx}" ], "rules": { "no-restricted-imports": [ "error", { "paths": [ { "name": "@/components/heroui/Input", "message": "Use `@/components/formElements/Input` (supports FormProvider and standalone value/onValueChange)." }, { "name": "@/components/heroui/Select", "message": "Use `@/components/formElements/Input` with generalType=\"select\"." }, { "name": "@/components/heroui/NumberInput", "message": "Use `@/components/formElements/Input` with generalType=\"numberInput\"." }, { "name": "@/components/heroui/InputOtp", "message": "Use `@/components/formElements/Input` with generalType=\"otp\"." }, { "name": "@/components/heroui/Autocomplete", "message": "Use `@/components/formElements/Input` with generalType=\"combobox\"." }, { "name": "@/components/heroui/SelectionControls", "message": "Use `@/components/formElements/Input` (checkbox/radio/switch) or `@/components/formElements/Checkbox`." } ] } ] } }, { "files": [ "components/consumer/input/**/*.{ts,tsx}", "components/formElements/**/*.{ts,tsx}" ], "rules": { "typescript/no-unsafe-assignment": "off", "typescript/no-unsafe-member-access": "off", "typescript/no-unsafe-argument": "off", "typescript/no-unsafe-call": "off", "typescript/no-unsafe-return": "off" } }, { "files": [ "**/*.{test,spec}.{ts,tsx}", "**/__tests__/**/*.{ts,tsx}", "e2e/**/*.{ts,tsx}" ], "rules": { "no-console": "off", "no-empty-function": "off", "typescript/no-unsafe-assignment": "off", "typescript/no-unsafe-call": "off", "typescript/no-unsafe-member-access": "off", "typescript/no-unsafe-return": "off", "typescript/no-unsafe-argument": "off", "typescript/no-explicit-any": "off", "typescript/no-non-null-assertion": "off", "typescript/unbound-method": "off", "typescript/no-base-to-string": "off", "typescript/require-await": "off", "typescript/no-floating-promises": "off", "typescript/prefer-optional-chain": "error", "typescript/no-unnecessary-condition": "off" } }, { "files": [ "components/formElements/**/*.{js,jsx,ts,tsx}", "components/consumer/input/**/*.{js,jsx,ts,tsx}", "components/heroui/**/*.{js,jsx,ts,tsx}", "**/*.{test,spec}.{js,jsx,ts,tsx}" ], "rules": { "no-restricted-imports": "off" } }, { "files": [ "**/*.{ts,tsx,js,jsx,mts,cts}" ], "rules": { "typescript/no-misused-promises": "off" } } ] }