admin/.oxlintrc.json
alisaza 09debac84f feat(lint): integrate Oxlint for enhanced linting capabilities
Added a new configuration file `.oxlintrc.json` to incorporate Oxlint into the project, allowing for improved linting of TypeScript and React code. Updated the linting scripts in `package.json` to run Oxlint alongside ESLint, ensuring a comprehensive linting process. This change enhances code quality and consistency across the codebase.
2026-09-10 12:54:10 +03:30

1634 lines
59 KiB
JSON

{
"$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"
}
}
]
}