From cb7d6b78b3db12e5f5954492e1b6e9b4f3e06aaa Mon Sep 17 00:00:00 2001 From: pa Date: Thu, 19 Mar 2026 16:53:05 +0900 Subject: [PATCH] adjust lint config --- .oxlintrc.json | 1836 ++++++++--------- eslint.config.mjs | 11 +- package-lock.json | 30 - package.json | 5 +- .../__tests__/OtpDialogModal.test.js | 1 - src/localization/en.json | 1 + src/stores/__tests__/launch.test.js | 1 - src/stores/__tests__/modal.test.js | 1 - src/stores/__tests__/search.test.js | 1 - src/types/vue-shim.d.ts | 6 + tsconfig.checkjs.json | 16 + 11 files changed, 932 insertions(+), 977 deletions(-) create mode 100644 src/types/vue-shim.d.ts create mode 100644 tsconfig.checkjs.json diff --git a/.oxlintrc.json b/.oxlintrc.json index ee994185..617da697 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -1,938 +1,14 @@ { - "$schema": "./node_modules/oxlint/configuration_schema.json", - "plugins": [ - "vue", - "jsdoc" - ], - "categories": { - "correctness": "off" - }, - "env": { - "builtin": true - }, - "globals": { - "AbortController": "readonly", - "AbortSignal": "readonly", - "addEventListener": "readonly", - "alert": "readonly", - "AnalyserNode": "readonly", - "Animation": "readonly", - "AnimationEffectReadOnly": "readonly", - "AnimationEffectTiming": "readonly", - "AnimationEffectTimingReadOnly": "readonly", - "AnimationEvent": "readonly", - "AnimationPlaybackEvent": "readonly", - "AnimationTimeline": "readonly", - "applicationCache": "readonly", - "ApplicationCache": "readonly", - "ApplicationCacheErrorEvent": "readonly", - "atob": "readonly", - "Attr": "readonly", - "Audio": "readonly", - "AudioBuffer": "readonly", - "AudioBufferSourceNode": "readonly", - "AudioContext": "readonly", - "AudioDestinationNode": "readonly", - "AudioListener": "readonly", - "AudioNode": "readonly", - "AudioParam": "readonly", - "AudioProcessingEvent": "readonly", - "AudioScheduledSourceNode": "readonly", - "AudioWorkletGlobalScope": "readonly", - "AudioWorkletNode": "readonly", - "AudioWorkletProcessor": "readonly", - "BarProp": "readonly", - "BaseAudioContext": "readonly", - "BatteryManager": "readonly", - "BeforeUnloadEvent": "readonly", - "BiquadFilterNode": "readonly", - "Blob": "readonly", - "BlobEvent": "readonly", - "blur": "readonly", - "BroadcastChannel": "readonly", - "btoa": "readonly", - "BudgetService": "readonly", - "ByteLengthQueuingStrategy": "readonly", - "Cache": "readonly", - "caches": "readonly", - "CacheStorage": "readonly", - "cancelAnimationFrame": "readonly", - "cancelIdleCallback": "readonly", - "CanvasCaptureMediaStreamTrack": "readonly", - "CanvasGradient": "readonly", - "CanvasPattern": "readonly", - "CanvasRenderingContext2D": "readonly", - "ChannelMergerNode": "readonly", - "ChannelSplitterNode": "readonly", - "CharacterData": "readonly", - "clearInterval": "readonly", - "clearTimeout": "readonly", - "clientInformation": "readonly", - "ClipboardEvent": "readonly", - "ClipboardItem": "readonly", - "close": "readonly", - "closed": "readonly", - "CloseEvent": "readonly", - "Comment": "readonly", - "CompositionEvent": "readonly", - "CompressionStream": "readonly", - "confirm": "readonly", - "console": "readonly", - "ConstantSourceNode": "readonly", - "ConvolverNode": "readonly", - "CountQueuingStrategy": "readonly", - "createImageBitmap": "readonly", - "Credential": "readonly", - "CredentialsContainer": "readonly", - "crypto": "readonly", - "Crypto": "readonly", - "CryptoKey": "readonly", - "CSS": "readonly", - "CSSConditionRule": "readonly", - "CSSFontFaceRule": "readonly", - "CSSGroupingRule": "readonly", - "CSSImportRule": "readonly", - "CSSKeyframeRule": "readonly", - "CSSKeyframesRule": "readonly", - "CSSMatrixComponent": "readonly", - "CSSMediaRule": "readonly", - "CSSNamespaceRule": "readonly", - "CSSPageRule": "readonly", - "CSSPerspective": "readonly", - "CSSRotate": "readonly", - "CSSRule": "readonly", - "CSSRuleList": "readonly", - "CSSScale": "readonly", - "CSSSkew": "readonly", - "CSSSkewX": "readonly", - "CSSSkewY": "readonly", - "CSSStyleDeclaration": "readonly", - "CSSStyleRule": "readonly", - "CSSStyleSheet": "readonly", - "CSSSupportsRule": "readonly", - "CSSTransformValue": "readonly", - "CSSTranslate": "readonly", - "CustomElementRegistry": "readonly", - "customElements": "readonly", - "CustomEvent": "readonly", - "DataTransfer": "readonly", - "DataTransferItem": "readonly", - "DataTransferItemList": "readonly", - "DecompressionStream": "readonly", - "defaultstatus": "readonly", - "defaultStatus": "readonly", - "DelayNode": "readonly", - "DeviceMotionEvent": "readonly", - "DeviceOrientationEvent": "readonly", - "devicePixelRatio": "readonly", - "dispatchEvent": "readonly", - "document": "readonly", - "Document": "readonly", - "DocumentFragment": "readonly", - "DocumentType": "readonly", - "DOMError": "readonly", - "DOMException": "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", - "Element": "readonly", - "ErrorEvent": "readonly", - "event": "readonly", - "Event": "readonly", - "EventSource": "readonly", - "EventTarget": "readonly", - "external": "readonly", - "fetch": "readonly", - "File": "readonly", - "FileList": "readonly", - "FileReader": "readonly", - "find": "readonly", - "focus": "readonly", - "FocusEvent": "readonly", - "FontFace": "readonly", - "FontFaceSetLoadEvent": "readonly", - "FormData": "readonly", - "FormDataEvent": "readonly", - "frameElement": "readonly", - "frames": "readonly", - "GainNode": "readonly", - "Gamepad": "readonly", - "GamepadButton": "readonly", - "GamepadEvent": "readonly", - "getComputedStyle": "readonly", - "getSelection": "readonly", - "HashChangeEvent": "readonly", - "Headers": "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", - "HTMLContentElement": "readonly", - "HTMLDataElement": "readonly", - "HTMLDataListElement": "readonly", - "HTMLDetailsElement": "readonly", - "HTMLDialogElement": "readonly", - "HTMLDirectoryElement": "readonly", - "HTMLDivElement": "readonly", - "HTMLDListElement": "readonly", - "HTMLDocument": "readonly", - "HTMLElement": "readonly", - "HTMLEmbedElement": "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", - "HTMLSelectElement": "readonly", - "HTMLShadowElement": "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", - "IdleDeadline": "readonly", - "IIRFilterNode": "readonly", - "Image": "readonly", - "ImageBitmap": "readonly", - "ImageBitmapRenderingContext": "readonly", - "ImageCapture": "readonly", - "ImageData": "readonly", - "indexedDB": "readonly", - "innerHeight": "readonly", - "innerWidth": "readonly", - "InputEvent": "readonly", - "IntersectionObserver": "readonly", - "IntersectionObserverEntry": "readonly", - "isSecureContext": "readonly", - "KeyboardEvent": "readonly", - "KeyframeEffect": "readonly", - "KeyframeEffectReadOnly": "readonly", - "length": "readonly", - "localStorage": "readonly", - "location": "writable", - "Location": "readonly", - "locationbar": "readonly", - "matchMedia": "readonly", - "MediaDeviceInfo": "readonly", - "MediaDevices": "readonly", - "MediaElementAudioSourceNode": "readonly", - "MediaEncryptedEvent": "readonly", - "MediaError": "readonly", - "MediaKeyMessageEvent": "readonly", - "MediaKeySession": "readonly", - "MediaKeyStatusMap": "readonly", - "MediaKeySystemAccess": "readonly", - "MediaList": "readonly", - "MediaMetadata": "readonly", - "MediaQueryList": "readonly", - "MediaQueryListEvent": "readonly", - "MediaRecorder": "readonly", - "MediaSettingsRange": "readonly", - "MediaSource": "readonly", - "MediaStream": "readonly", - "MediaStreamAudioDestinationNode": "readonly", - "MediaStreamAudioSourceNode": "readonly", - "MediaStreamConstraints": "readonly", - "MediaStreamEvent": "readonly", - "MediaStreamTrack": "readonly", - "MediaStreamTrackEvent": "readonly", - "menubar": "readonly", - "MessageChannel": "readonly", - "MessageEvent": "readonly", - "MessagePort": "readonly", - "MIDIAccess": "readonly", - "MIDIConnectionEvent": "readonly", - "MIDIInput": "readonly", - "MIDIInputMap": "readonly", - "MIDIMessageEvent": "readonly", - "MIDIOutput": "readonly", - "MIDIOutputMap": "readonly", - "MIDIPort": "readonly", - "MimeType": "readonly", - "MimeTypeArray": "readonly", - "MouseEvent": "readonly", - "moveBy": "readonly", - "moveTo": "readonly", - "MutationEvent": "readonly", - "MutationObserver": "readonly", - "MutationRecord": "readonly", - "name": "readonly", - "NamedNodeMap": "readonly", - "NavigationPreloadManager": "readonly", - "navigator": "readonly", - "Navigator": "readonly", - "NavigatorUAData": "readonly", - "NetworkInformation": "readonly", - "Node": "readonly", - "NodeFilter": "readonly", - "NodeIterator": "readonly", - "NodeList": "readonly", - "Notification": "readonly", - "OfflineAudioCompletionEvent": "readonly", - "OfflineAudioContext": "readonly", - "offscreenBuffering": "readonly", - "OffscreenCanvas": "writable", - "OffscreenCanvasRenderingContext2D": "readonly", - "onabort": "writable", - "onafterprint": "writable", - "onanimationend": "writable", - "onanimationiteration": "writable", - "onanimationstart": "writable", - "onappinstalled": "writable", - "onauxclick": "writable", - "onbeforeinstallprompt": "writable", - "onbeforeprint": "writable", - "onbeforeunload": "writable", - "onblur": "writable", - "oncancel": "writable", - "oncanplay": "writable", - "oncanplaythrough": "writable", - "onchange": "writable", - "onclick": "writable", - "onclose": "writable", - "oncontextmenu": "writable", - "oncuechange": "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", - "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", - "onpageshow": "writable", - "onpause": "writable", - "onplay": "writable", - "onplaying": "writable", - "onpointercancel": "writable", - "onpointerdown": "writable", - "onpointerenter": "writable", - "onpointerleave": "writable", - "onpointermove": "writable", - "onpointerout": "writable", - "onpointerover": "writable", - "onpointerup": "writable", - "onpopstate": "writable", - "onprogress": "writable", - "onratechange": "writable", - "onrejectionhandled": "writable", - "onreset": "writable", - "onresize": "writable", - "onscroll": "writable", - "onsearch": "writable", - "onseeked": "writable", - "onseeking": "writable", - "onselect": "writable", - "onstalled": "writable", - "onstorage": "writable", - "onsubmit": "writable", - "onsuspend": "writable", - "ontimeupdate": "writable", - "ontoggle": "writable", - "ontransitionend": "writable", - "onunhandledrejection": "writable", - "onunload": "writable", - "onvolumechange": "writable", - "onwaiting": "writable", - "onwheel": "writable", - "open": "readonly", - "openDatabase": "readonly", - "opener": "readonly", - "Option": "readonly", - "origin": "readonly", - "OscillatorNode": "readonly", - "outerHeight": "readonly", - "outerWidth": "readonly", - "OverconstrainedError": "readonly", - "PageTransitionEvent": "readonly", - "pageXOffset": "readonly", - "pageYOffset": "readonly", - "PannerNode": "readonly", - "parent": "readonly", - "Path2D": "readonly", - "PaymentAddress": "readonly", - "PaymentRequest": "readonly", - "PaymentRequestUpdateEvent": "readonly", - "PaymentResponse": "readonly", - "performance": "readonly", - "Performance": "readonly", - "PerformanceEntry": "readonly", - "PerformanceLongTaskTiming": "readonly", - "PerformanceMark": "readonly", - "PerformanceMeasure": "readonly", - "PerformanceNavigation": "readonly", - "PerformanceNavigationTiming": "readonly", - "PerformanceObserver": "readonly", - "PerformanceObserverEntryList": "readonly", - "PerformancePaintTiming": "readonly", - "PerformanceResourceTiming": "readonly", - "PerformanceTiming": "readonly", - "PeriodicWave": "readonly", - "Permissions": "readonly", - "PermissionStatus": "readonly", - "personalbar": "readonly", - "PhotoCapabilities": "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", - "print": "readonly", - "ProcessingInstruction": "readonly", - "ProgressEvent": "readonly", - "PromiseRejectionEvent": "readonly", - "prompt": "readonly", - "PushManager": "readonly", - "PushSubscription": "readonly", - "PushSubscriptionOptions": "readonly", - "queueMicrotask": "readonly", - "RadioNodeList": "readonly", - "Range": "readonly", - "ReadableByteStreamController": "readonly", - "ReadableStream": "readonly", - "ReadableStreamBYOBReader": "readonly", - "ReadableStreamBYOBRequest": "readonly", - "ReadableStreamDefaultController": "readonly", - "ReadableStreamDefaultReader": "readonly", - "registerProcessor": "readonly", - "RemotePlayback": "readonly", - "removeEventListener": "readonly", - "reportError": "readonly", - "Request": "readonly", - "requestAnimationFrame": "readonly", - "requestIdleCallback": "readonly", - "resizeBy": "readonly", - "ResizeObserver": "readonly", - "ResizeObserverEntry": "readonly", - "resizeTo": "readonly", - "Response": "readonly", - "RTCCertificate": "readonly", - "RTCDataChannel": "readonly", - "RTCDataChannelEvent": "readonly", - "RTCDtlsTransport": "readonly", - "RTCIceCandidate": "readonly", - "RTCIceGatherer": "readonly", - "RTCIceTransport": "readonly", - "RTCPeerConnection": "readonly", - "RTCPeerConnectionIceEvent": "readonly", - "RTCRtpContributingSource": "readonly", - "RTCRtpReceiver": "readonly", - "RTCRtpSender": "readonly", - "RTCSctpTransport": "readonly", - "RTCSessionDescription": "readonly", - "RTCStatsReport": "readonly", - "RTCTrackEvent": "readonly", - "screen": "readonly", - "Screen": "readonly", - "screenLeft": "readonly", - "ScreenOrientation": "readonly", - "screenTop": "readonly", - "screenX": "readonly", - "screenY": "readonly", - "ScriptProcessorNode": "readonly", - "scroll": "readonly", - "scrollbars": "readonly", - "scrollBy": "readonly", - "scrollTo": "readonly", - "scrollX": "readonly", - "scrollY": "readonly", - "SecurityPolicyViolationEvent": "readonly", - "Selection": "readonly", - "self": "readonly", - "ServiceWorker": "readonly", - "ServiceWorkerContainer": "readonly", - "ServiceWorkerRegistration": "readonly", - "sessionStorage": "readonly", - "setInterval": "readonly", - "setTimeout": "readonly", - "ShadowRoot": "readonly", - "SharedWorker": "readonly", - "SourceBuffer": "readonly", - "SourceBufferList": "readonly", - "speechSynthesis": "readonly", - "SpeechSynthesisEvent": "readonly", - "SpeechSynthesisUtterance": "readonly", - "StaticRange": "readonly", - "status": "readonly", - "statusbar": "readonly", - "StereoPannerNode": "readonly", - "stop": "readonly", - "Storage": "readonly", - "StorageEvent": "readonly", - "StorageManager": "readonly", - "structuredClone": "readonly", - "styleMedia": "readonly", - "StyleSheet": "readonly", - "StyleSheetList": "readonly", - "SubmitEvent": "readonly", - "SubtleCrypto": "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", - "SVGDiscardElement": "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", - "TaskAttributionTiming": "readonly", - "Text": "readonly", - "TextDecoder": "readonly", - "TextDecoderStream": "readonly", - "TextEncoder": "readonly", - "TextEncoderStream": "readonly", - "TextEvent": "readonly", - "TextMetrics": "readonly", - "TextTrack": "readonly", - "TextTrackCue": "readonly", - "TextTrackCueList": "readonly", - "TextTrackList": "readonly", - "TimeRanges": "readonly", - "ToggleEvent": "readonly", - "toolbar": "readonly", - "top": "readonly", - "Touch": "readonly", - "TouchEvent": "readonly", - "TouchList": "readonly", - "TrackEvent": "readonly", - "TransformStream": "readonly", - "TransformStreamDefaultController": "readonly", - "TransitionEvent": "readonly", - "TreeWalker": "readonly", - "UIEvent": "readonly", - "URL": "readonly", - "URLSearchParams": "readonly", - "ValidityState": "readonly", - "visualViewport": "readonly", - "VisualViewport": "readonly", - "VTTCue": "readonly", - "WaveShaperNode": "readonly", - "WebAssembly": "readonly", - "WebGL2RenderingContext": "readonly", - "WebGLActiveInfo": "readonly", - "WebGLBuffer": "readonly", - "WebGLContextEvent": "readonly", - "WebGLFramebuffer": "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", - "WebSocket": "readonly", - "WheelEvent": "readonly", - "window": "readonly", - "Window": "readonly", - "Worker": "readonly", - "WritableStream": "readonly", - "WritableStreamDefaultController": "readonly", - "WritableStreamDefaultWriter": "readonly", - "XMLDocument": "readonly", - "XMLHttpRequest": "readonly", - "XMLHttpRequestEventTarget": "readonly", - "XMLHttpRequestUpload": "readonly", - "XMLSerializer": "readonly", - "XPathEvaluator": "readonly", - "XPathExpression": "readonly", - "XPathResult": "readonly", - "XRAnchor": "readonly", - "XRBoundedReferenceSpace": "readonly", - "XRCPUDepthInformation": "readonly", - "XRDepthInformation": "readonly", - "XRFrame": "readonly", - "XRInputSource": "readonly", - "XRInputSourceArray": "readonly", - "XRInputSourceEvent": "readonly", - "XRInputSourcesChangeEvent": "readonly", - "XRPose": "readonly", - "XRReferenceSpace": "readonly", - "XRReferenceSpaceEvent": "readonly", - "XRRenderState": "readonly", - "XRRigidTransform": "readonly", - "XRSession": "readonly", - "XRSessionEvent": "readonly", - "XRSpace": "readonly", - "XRSystem": "readonly", - "XRView": "readonly", - "XRViewerPose": "readonly", - "XRViewport": "readonly", - "XRWebGLBinding": "readonly", - "XRWebGLDepthInformation": "readonly", - "XRWebGLLayer": "readonly", - "XSLTProcessor": "readonly" - }, - "settings": { - "jsdoc": { - "structuredTags": { - "next": { - "required": [ - "type" - ] - }, - "rejects": { - "required": [ - "type" - ] - } - } - } - }, - "rules": { - "vue/no-arrow-functions-in-watch": "error", - "vue/no-deprecated-destroyed-lifecycle": "error", - "vue/no-export-in-script-setup": "error", - "vue/no-lifecycle-after-await": "error", - "vue/prefer-import-from-vue": "error", - "vue/valid-define-emits": "error", - "vue/valid-define-props": "error", - "no-unused-vars": "warn", - "no-control-regex": "warn", - "jsdoc/check-access": "warn", - "jsdoc/check-property-names": "warn", - "jsdoc/check-tag-names": "warn", - "jsdoc/empty-tags": "warn", - "jsdoc/implements-on-classes": "warn", - "jsdoc/no-defaults": "warn", - "jsdoc/require-param": "warn", - "jsdoc/require-param-name": "warn", - "jsdoc/require-param-type": "warn", - "jsdoc/require-property": "warn", - "jsdoc/require-property-description": "warn", - "jsdoc/require-property-name": "warn", - "jsdoc/require-property-type": "warn", - "jsdoc/require-returns": "warn", - "jsdoc/require-returns-type": "warn", - "jsdoc/require-yields": "warn" - }, - "overrides": [ - { - "files": [ - "**/*.{js,mjs,cjs,vue}" - ], - "rules": { - "constructor-super": "error", - "for-direction": "error", - "no-async-promise-executor": "error", - "no-class-assign": "error", - "no-compare-neg-zero": "error", - "no-cond-assign": "error", - "no-const-assign": "error", - "no-constant-binary-expression": "error", - "no-constant-condition": "error", - "no-debugger": "error", - "no-delete-var": "error", - "no-dupe-class-members": "error", - "no-dupe-else-if": "error", - "no-dupe-keys": "error", - "no-duplicate-case": "error", - "no-empty": "error", - "no-empty-character-class": "error", - "no-empty-pattern": "error", - "no-empty-static-block": "error", - "no-ex-assign": "error", - "no-extra-boolean-cast": "error", - "no-fallthrough": "error", - "no-func-assign": "error", - "no-global-assign": "error", - "no-import-assign": "error", - "no-invalid-regexp": "error", - "no-irregular-whitespace": "error", - "no-loss-of-precision": "error", - "no-misleading-character-class": "error", - "no-new-native-nonconstructor": "error", - "no-nonoctal-decimal-escape": "error", - "no-obj-calls": "error", - "no-prototype-builtins": "error", - "no-redeclare": "error", - "no-regex-spaces": "error", - "no-self-assign": "error", - "no-setter-return": "error", - "no-shadow-restricted-names": "error", - "no-sparse-arrays": "error", - "no-this-before-super": "error", - "no-unexpected-multiline": "error", - "no-unsafe-finally": "error", - "no-unsafe-negation": "error", - "no-unsafe-optional-chaining": "error", - "no-unused-labels": "error", - "no-unused-private-class-members": "error", - "no-useless-backreference": "error", - "no-useless-catch": "error", - "no-useless-escape": "error", - "no-with": "error", - "require-yield": "error", - "use-isnan": "error", - "valid-typeof": "error" - }, - "env": { - "browser": true - }, - "globals": { - "CefSharp": "readonly", - "VRCX": "readonly", - "VRCXStorage": "readonly", - "SQLite": "readonly", - "LogWatcher": "readonly", - "Discord": "readonly", - "AppApi": "readonly", - "AppApiVr": "readonly", - "WebApi": "readonly", - "AssetBundleManager": "readonly", - "WINDOWS": "readonly", - "LINUX": "readonly", - "VERSION": "readonly", - "NIGHTLY": "readonly", - "webApiService": "readonly", - "process": "readonly", - "AppDebug": "readonly" - } + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["vue"], + "categories": { + "correctness": "off" }, - { - "files": [ - "**/webpack.*.js", - "**/jest.config.js", - "src-electron/*.js", - "src/localization/*.js", - "src/shared/utils/localizationHelperCLI.js" - ], - "env": { - "node": true - } + "ignorePatterns": ["build/**", "node_modules/**"], + "env": { + "builtin": true }, - { - "files": [ - "**/__tests__/**/*.{js,mjs,cjs,vue}", - "**/*.spec.{js,mjs,cjs,vue}", - "**/*.test.{js,mjs,cjs,vue}" - ], - "globals": { - "vi": "readonly", - "vitest": "readonly" - }, - "env": { - "jest": true, - "node": true - } - }, - { - "files": [ - "*.vue", - "**/*.vue" - ], - "globals": { + "globals": { "AbortController": "readonly", "AbortSignal": "readonly", "addEventListener": "readonly", @@ -1201,7 +277,6 @@ "InputEvent": "readonly", "IntersectionObserver": "readonly", "IntersectionObserverEntry": "readonly", - "Intl": "readonly", "isSecureContext": "readonly", "KeyboardEvent": "readonly", "KeyframeEffect": "readonly", @@ -1696,7 +771,894 @@ "XRWebGLDepthInformation": "readonly", "XRWebGLLayer": "readonly", "XSLTProcessor": "readonly" - } - } - ] -} \ No newline at end of file + }, + + "rules": { + "vue/no-arrow-functions-in-watch": "error", + "vue/no-deprecated-destroyed-lifecycle": "error", + "vue/no-export-in-script-setup": "error", + "vue/no-lifecycle-after-await": "error", + "vue/prefer-import-from-vue": "error", + "vue/valid-define-emits": "error", + "vue/valid-define-props": "error", + "no-unused-vars": "warn", + "no-control-regex": "warn" + }, + "overrides": [ + { + "files": ["**/*.{js,mjs,cjs,vue}"], + "rules": { + "constructor-super": "error", + "for-direction": "error", + "no-async-promise-executor": "error", + "no-class-assign": "error", + "no-compare-neg-zero": "error", + "no-cond-assign": "error", + "no-const-assign": "error", + "no-constant-binary-expression": "error", + "no-constant-condition": "error", + "no-debugger": "error", + "no-delete-var": "error", + "no-dupe-class-members": "error", + "no-dupe-else-if": "error", + "no-dupe-keys": "error", + "no-duplicate-case": "error", + "no-empty": "error", + "no-empty-character-class": "error", + "no-empty-pattern": "error", + "no-empty-static-block": "error", + "no-ex-assign": "error", + "no-extra-boolean-cast": "error", + "no-fallthrough": "error", + "no-func-assign": "error", + "no-global-assign": "error", + "no-import-assign": "error", + "no-invalid-regexp": "error", + "no-irregular-whitespace": "error", + "no-loss-of-precision": "error", + "no-misleading-character-class": "error", + "no-new-native-nonconstructor": "error", + "no-nonoctal-decimal-escape": "error", + "no-obj-calls": "error", + "no-prototype-builtins": "error", + "no-redeclare": "error", + "no-regex-spaces": "error", + "no-self-assign": "error", + "no-setter-return": "error", + "no-shadow-restricted-names": "error", + "no-sparse-arrays": "error", + "no-this-before-super": "error", + "no-unexpected-multiline": "error", + "no-unsafe-finally": "error", + "no-unsafe-negation": "error", + "no-unsafe-optional-chaining": "error", + "no-unused-labels": "error", + "no-unused-private-class-members": "error", + "no-useless-backreference": "error", + "no-useless-catch": "error", + "no-useless-escape": "error", + "no-with": "error", + "require-yield": "error", + "use-isnan": "error", + "valid-typeof": "error" + }, + "env": { + "browser": true + }, + "globals": { + "CefSharp": "readonly", + "VRCX": "readonly", + "VRCXStorage": "readonly", + "SQLite": "readonly", + "LogWatcher": "readonly", + "Discord": "readonly", + "AppApi": "readonly", + "AppApiVr": "readonly", + "WebApi": "readonly", + "AssetBundleManager": "readonly", + "WINDOWS": "readonly", + "LINUX": "readonly", + "VERSION": "readonly", + "NIGHTLY": "readonly", + "webApiService": "readonly", + "process": "readonly", + "AppDebug": "readonly" + } + }, + { + "files": [ + "**/webpack.*.js", + "**/jest.config.js", + "src-electron/*.js", + "src/localization/*.js", + "src/shared/utils/localizationHelperCLI.js" + ], + "env": { + "node": true + } + }, + { + "files": [ + "**/__tests__/**/*.{js,mjs,cjs,vue}", + "**/*.spec.{js,mjs,cjs,vue}", + "**/*.test.{js,mjs,cjs,vue}" + ], + "globals": { + "vi": "readonly", + "vitest": "readonly" + }, + "env": { + "jest": true, + "node": true + } + }, + { + "files": ["*.vue", "**/*.vue"], + "globals": { + "AbortController": "readonly", + "AbortSignal": "readonly", + "addEventListener": "readonly", + "alert": "readonly", + "AnalyserNode": "readonly", + "Animation": "readonly", + "AnimationEffectReadOnly": "readonly", + "AnimationEffectTiming": "readonly", + "AnimationEffectTimingReadOnly": "readonly", + "AnimationEvent": "readonly", + "AnimationPlaybackEvent": "readonly", + "AnimationTimeline": "readonly", + "applicationCache": "readonly", + "ApplicationCache": "readonly", + "ApplicationCacheErrorEvent": "readonly", + "atob": "readonly", + "Attr": "readonly", + "Audio": "readonly", + "AudioBuffer": "readonly", + "AudioBufferSourceNode": "readonly", + "AudioContext": "readonly", + "AudioDestinationNode": "readonly", + "AudioListener": "readonly", + "AudioNode": "readonly", + "AudioParam": "readonly", + "AudioProcessingEvent": "readonly", + "AudioScheduledSourceNode": "readonly", + "AudioWorkletGlobalScope": "readonly", + "AudioWorkletNode": "readonly", + "AudioWorkletProcessor": "readonly", + "BarProp": "readonly", + "BaseAudioContext": "readonly", + "BatteryManager": "readonly", + "BeforeUnloadEvent": "readonly", + "BiquadFilterNode": "readonly", + "Blob": "readonly", + "BlobEvent": "readonly", + "blur": "readonly", + "BroadcastChannel": "readonly", + "btoa": "readonly", + "BudgetService": "readonly", + "ByteLengthQueuingStrategy": "readonly", + "Cache": "readonly", + "caches": "readonly", + "CacheStorage": "readonly", + "cancelAnimationFrame": "readonly", + "cancelIdleCallback": "readonly", + "CanvasCaptureMediaStreamTrack": "readonly", + "CanvasGradient": "readonly", + "CanvasPattern": "readonly", + "CanvasRenderingContext2D": "readonly", + "ChannelMergerNode": "readonly", + "ChannelSplitterNode": "readonly", + "CharacterData": "readonly", + "clearInterval": "readonly", + "clearTimeout": "readonly", + "clientInformation": "readonly", + "ClipboardEvent": "readonly", + "ClipboardItem": "readonly", + "close": "readonly", + "closed": "readonly", + "CloseEvent": "readonly", + "Comment": "readonly", + "CompositionEvent": "readonly", + "CompressionStream": "readonly", + "confirm": "readonly", + "console": "readonly", + "ConstantSourceNode": "readonly", + "ConvolverNode": "readonly", + "CountQueuingStrategy": "readonly", + "createImageBitmap": "readonly", + "Credential": "readonly", + "CredentialsContainer": "readonly", + "crypto": "readonly", + "Crypto": "readonly", + "CryptoKey": "readonly", + "CSS": "readonly", + "CSSConditionRule": "readonly", + "CSSFontFaceRule": "readonly", + "CSSGroupingRule": "readonly", + "CSSImportRule": "readonly", + "CSSKeyframeRule": "readonly", + "CSSKeyframesRule": "readonly", + "CSSMatrixComponent": "readonly", + "CSSMediaRule": "readonly", + "CSSNamespaceRule": "readonly", + "CSSPageRule": "readonly", + "CSSPerspective": "readonly", + "CSSRotate": "readonly", + "CSSRule": "readonly", + "CSSRuleList": "readonly", + "CSSScale": "readonly", + "CSSSkew": "readonly", + "CSSSkewX": "readonly", + "CSSSkewY": "readonly", + "CSSStyleDeclaration": "readonly", + "CSSStyleRule": "readonly", + "CSSStyleSheet": "readonly", + "CSSSupportsRule": "readonly", + "CSSTransformValue": "readonly", + "CSSTranslate": "readonly", + "CustomElementRegistry": "readonly", + "customElements": "readonly", + "CustomEvent": "readonly", + "DataTransfer": "readonly", + "DataTransferItem": "readonly", + "DataTransferItemList": "readonly", + "DecompressionStream": "readonly", + "defaultstatus": "readonly", + "defaultStatus": "readonly", + "DelayNode": "readonly", + "DeviceMotionEvent": "readonly", + "DeviceOrientationEvent": "readonly", + "devicePixelRatio": "readonly", + "dispatchEvent": "readonly", + "document": "readonly", + "Document": "readonly", + "DocumentFragment": "readonly", + "DocumentType": "readonly", + "DOMError": "readonly", + "DOMException": "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", + "Element": "readonly", + "ErrorEvent": "readonly", + "event": "readonly", + "Event": "readonly", + "EventSource": "readonly", + "EventTarget": "readonly", + "external": "readonly", + "fetch": "readonly", + "File": "readonly", + "FileList": "readonly", + "FileReader": "readonly", + "find": "readonly", + "focus": "readonly", + "FocusEvent": "readonly", + "FontFace": "readonly", + "FontFaceSetLoadEvent": "readonly", + "FormData": "readonly", + "FormDataEvent": "readonly", + "frameElement": "readonly", + "frames": "readonly", + "GainNode": "readonly", + "Gamepad": "readonly", + "GamepadButton": "readonly", + "GamepadEvent": "readonly", + "getComputedStyle": "readonly", + "getSelection": "readonly", + "HashChangeEvent": "readonly", + "Headers": "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", + "HTMLContentElement": "readonly", + "HTMLDataElement": "readonly", + "HTMLDataListElement": "readonly", + "HTMLDetailsElement": "readonly", + "HTMLDialogElement": "readonly", + "HTMLDirectoryElement": "readonly", + "HTMLDivElement": "readonly", + "HTMLDListElement": "readonly", + "HTMLDocument": "readonly", + "HTMLElement": "readonly", + "HTMLEmbedElement": "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", + "HTMLSelectElement": "readonly", + "HTMLShadowElement": "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", + "IdleDeadline": "readonly", + "IIRFilterNode": "readonly", + "Image": "readonly", + "ImageBitmap": "readonly", + "ImageBitmapRenderingContext": "readonly", + "ImageCapture": "readonly", + "ImageData": "readonly", + "indexedDB": "readonly", + "innerHeight": "readonly", + "innerWidth": "readonly", + "InputEvent": "readonly", + "IntersectionObserver": "readonly", + "IntersectionObserverEntry": "readonly", + "Intl": "readonly", + "isSecureContext": "readonly", + "KeyboardEvent": "readonly", + "KeyframeEffect": "readonly", + "KeyframeEffectReadOnly": "readonly", + "length": "readonly", + "localStorage": "readonly", + "location": "writable", + "Location": "readonly", + "locationbar": "readonly", + "matchMedia": "readonly", + "MediaDeviceInfo": "readonly", + "MediaDevices": "readonly", + "MediaElementAudioSourceNode": "readonly", + "MediaEncryptedEvent": "readonly", + "MediaError": "readonly", + "MediaKeyMessageEvent": "readonly", + "MediaKeySession": "readonly", + "MediaKeyStatusMap": "readonly", + "MediaKeySystemAccess": "readonly", + "MediaList": "readonly", + "MediaMetadata": "readonly", + "MediaQueryList": "readonly", + "MediaQueryListEvent": "readonly", + "MediaRecorder": "readonly", + "MediaSettingsRange": "readonly", + "MediaSource": "readonly", + "MediaStream": "readonly", + "MediaStreamAudioDestinationNode": "readonly", + "MediaStreamAudioSourceNode": "readonly", + "MediaStreamConstraints": "readonly", + "MediaStreamEvent": "readonly", + "MediaStreamTrack": "readonly", + "MediaStreamTrackEvent": "readonly", + "menubar": "readonly", + "MessageChannel": "readonly", + "MessageEvent": "readonly", + "MessagePort": "readonly", + "MIDIAccess": "readonly", + "MIDIConnectionEvent": "readonly", + "MIDIInput": "readonly", + "MIDIInputMap": "readonly", + "MIDIMessageEvent": "readonly", + "MIDIOutput": "readonly", + "MIDIOutputMap": "readonly", + "MIDIPort": "readonly", + "MimeType": "readonly", + "MimeTypeArray": "readonly", + "MouseEvent": "readonly", + "moveBy": "readonly", + "moveTo": "readonly", + "MutationEvent": "readonly", + "MutationObserver": "readonly", + "MutationRecord": "readonly", + "name": "readonly", + "NamedNodeMap": "readonly", + "NavigationPreloadManager": "readonly", + "navigator": "readonly", + "Navigator": "readonly", + "NavigatorUAData": "readonly", + "NetworkInformation": "readonly", + "Node": "readonly", + "NodeFilter": "readonly", + "NodeIterator": "readonly", + "NodeList": "readonly", + "Notification": "readonly", + "OfflineAudioCompletionEvent": "readonly", + "OfflineAudioContext": "readonly", + "offscreenBuffering": "readonly", + "OffscreenCanvas": "writable", + "OffscreenCanvasRenderingContext2D": "readonly", + "onabort": "writable", + "onafterprint": "writable", + "onanimationend": "writable", + "onanimationiteration": "writable", + "onanimationstart": "writable", + "onappinstalled": "writable", + "onauxclick": "writable", + "onbeforeinstallprompt": "writable", + "onbeforeprint": "writable", + "onbeforeunload": "writable", + "onblur": "writable", + "oncancel": "writable", + "oncanplay": "writable", + "oncanplaythrough": "writable", + "onchange": "writable", + "onclick": "writable", + "onclose": "writable", + "oncontextmenu": "writable", + "oncuechange": "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", + "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", + "onpageshow": "writable", + "onpause": "writable", + "onplay": "writable", + "onplaying": "writable", + "onpointercancel": "writable", + "onpointerdown": "writable", + "onpointerenter": "writable", + "onpointerleave": "writable", + "onpointermove": "writable", + "onpointerout": "writable", + "onpointerover": "writable", + "onpointerup": "writable", + "onpopstate": "writable", + "onprogress": "writable", + "onratechange": "writable", + "onrejectionhandled": "writable", + "onreset": "writable", + "onresize": "writable", + "onscroll": "writable", + "onsearch": "writable", + "onseeked": "writable", + "onseeking": "writable", + "onselect": "writable", + "onstalled": "writable", + "onstorage": "writable", + "onsubmit": "writable", + "onsuspend": "writable", + "ontimeupdate": "writable", + "ontoggle": "writable", + "ontransitionend": "writable", + "onunhandledrejection": "writable", + "onunload": "writable", + "onvolumechange": "writable", + "onwaiting": "writable", + "onwheel": "writable", + "open": "readonly", + "openDatabase": "readonly", + "opener": "readonly", + "Option": "readonly", + "origin": "readonly", + "OscillatorNode": "readonly", + "outerHeight": "readonly", + "outerWidth": "readonly", + "OverconstrainedError": "readonly", + "PageTransitionEvent": "readonly", + "pageXOffset": "readonly", + "pageYOffset": "readonly", + "PannerNode": "readonly", + "parent": "readonly", + "Path2D": "readonly", + "PaymentAddress": "readonly", + "PaymentRequest": "readonly", + "PaymentRequestUpdateEvent": "readonly", + "PaymentResponse": "readonly", + "performance": "readonly", + "Performance": "readonly", + "PerformanceEntry": "readonly", + "PerformanceLongTaskTiming": "readonly", + "PerformanceMark": "readonly", + "PerformanceMeasure": "readonly", + "PerformanceNavigation": "readonly", + "PerformanceNavigationTiming": "readonly", + "PerformanceObserver": "readonly", + "PerformanceObserverEntryList": "readonly", + "PerformancePaintTiming": "readonly", + "PerformanceResourceTiming": "readonly", + "PerformanceTiming": "readonly", + "PeriodicWave": "readonly", + "Permissions": "readonly", + "PermissionStatus": "readonly", + "personalbar": "readonly", + "PhotoCapabilities": "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", + "print": "readonly", + "ProcessingInstruction": "readonly", + "ProgressEvent": "readonly", + "PromiseRejectionEvent": "readonly", + "prompt": "readonly", + "PushManager": "readonly", + "PushSubscription": "readonly", + "PushSubscriptionOptions": "readonly", + "queueMicrotask": "readonly", + "RadioNodeList": "readonly", + "Range": "readonly", + "ReadableByteStreamController": "readonly", + "ReadableStream": "readonly", + "ReadableStreamBYOBReader": "readonly", + "ReadableStreamBYOBRequest": "readonly", + "ReadableStreamDefaultController": "readonly", + "ReadableStreamDefaultReader": "readonly", + "registerProcessor": "readonly", + "RemotePlayback": "readonly", + "removeEventListener": "readonly", + "reportError": "readonly", + "Request": "readonly", + "requestAnimationFrame": "readonly", + "requestIdleCallback": "readonly", + "resizeBy": "readonly", + "ResizeObserver": "readonly", + "ResizeObserverEntry": "readonly", + "resizeTo": "readonly", + "Response": "readonly", + "RTCCertificate": "readonly", + "RTCDataChannel": "readonly", + "RTCDataChannelEvent": "readonly", + "RTCDtlsTransport": "readonly", + "RTCIceCandidate": "readonly", + "RTCIceGatherer": "readonly", + "RTCIceTransport": "readonly", + "RTCPeerConnection": "readonly", + "RTCPeerConnectionIceEvent": "readonly", + "RTCRtpContributingSource": "readonly", + "RTCRtpReceiver": "readonly", + "RTCRtpSender": "readonly", + "RTCSctpTransport": "readonly", + "RTCSessionDescription": "readonly", + "RTCStatsReport": "readonly", + "RTCTrackEvent": "readonly", + "screen": "readonly", + "Screen": "readonly", + "screenLeft": "readonly", + "ScreenOrientation": "readonly", + "screenTop": "readonly", + "screenX": "readonly", + "screenY": "readonly", + "ScriptProcessorNode": "readonly", + "scroll": "readonly", + "scrollbars": "readonly", + "scrollBy": "readonly", + "scrollTo": "readonly", + "scrollX": "readonly", + "scrollY": "readonly", + "SecurityPolicyViolationEvent": "readonly", + "Selection": "readonly", + "self": "readonly", + "ServiceWorker": "readonly", + "ServiceWorkerContainer": "readonly", + "ServiceWorkerRegistration": "readonly", + "sessionStorage": "readonly", + "setInterval": "readonly", + "setTimeout": "readonly", + "ShadowRoot": "readonly", + "SharedWorker": "readonly", + "SourceBuffer": "readonly", + "SourceBufferList": "readonly", + "speechSynthesis": "readonly", + "SpeechSynthesisEvent": "readonly", + "SpeechSynthesisUtterance": "readonly", + "StaticRange": "readonly", + "status": "readonly", + "statusbar": "readonly", + "StereoPannerNode": "readonly", + "stop": "readonly", + "Storage": "readonly", + "StorageEvent": "readonly", + "StorageManager": "readonly", + "structuredClone": "readonly", + "styleMedia": "readonly", + "StyleSheet": "readonly", + "StyleSheetList": "readonly", + "SubmitEvent": "readonly", + "SubtleCrypto": "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", + "SVGDiscardElement": "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", + "TaskAttributionTiming": "readonly", + "Text": "readonly", + "TextDecoder": "readonly", + "TextDecoderStream": "readonly", + "TextEncoder": "readonly", + "TextEncoderStream": "readonly", + "TextEvent": "readonly", + "TextMetrics": "readonly", + "TextTrack": "readonly", + "TextTrackCue": "readonly", + "TextTrackCueList": "readonly", + "TextTrackList": "readonly", + "TimeRanges": "readonly", + "ToggleEvent": "readonly", + "toolbar": "readonly", + "top": "readonly", + "Touch": "readonly", + "TouchEvent": "readonly", + "TouchList": "readonly", + "TrackEvent": "readonly", + "TransformStream": "readonly", + "TransformStreamDefaultController": "readonly", + "TransitionEvent": "readonly", + "TreeWalker": "readonly", + "UIEvent": "readonly", + "URL": "readonly", + "URLSearchParams": "readonly", + "ValidityState": "readonly", + "visualViewport": "readonly", + "VisualViewport": "readonly", + "VTTCue": "readonly", + "WaveShaperNode": "readonly", + "WebAssembly": "readonly", + "WebGL2RenderingContext": "readonly", + "WebGLActiveInfo": "readonly", + "WebGLBuffer": "readonly", + "WebGLContextEvent": "readonly", + "WebGLFramebuffer": "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", + "WebSocket": "readonly", + "WheelEvent": "readonly", + "window": "readonly", + "Window": "readonly", + "Worker": "readonly", + "WritableStream": "readonly", + "WritableStreamDefaultController": "readonly", + "WritableStreamDefaultWriter": "readonly", + "XMLDocument": "readonly", + "XMLHttpRequest": "readonly", + "XMLHttpRequestEventTarget": "readonly", + "XMLHttpRequestUpload": "readonly", + "XMLSerializer": "readonly", + "XPathEvaluator": "readonly", + "XPathExpression": "readonly", + "XPathResult": "readonly", + "XRAnchor": "readonly", + "XRBoundedReferenceSpace": "readonly", + "XRCPUDepthInformation": "readonly", + "XRDepthInformation": "readonly", + "XRFrame": "readonly", + "XRInputSource": "readonly", + "XRInputSourceArray": "readonly", + "XRInputSourceEvent": "readonly", + "XRInputSourcesChangeEvent": "readonly", + "XRPose": "readonly", + "XRReferenceSpace": "readonly", + "XRReferenceSpaceEvent": "readonly", + "XRRenderState": "readonly", + "XRRigidTransform": "readonly", + "XRSession": "readonly", + "XRSessionEvent": "readonly", + "XRSpace": "readonly", + "XRSystem": "readonly", + "XRView": "readonly", + "XRViewerPose": "readonly", + "XRViewport": "readonly", + "XRWebGLBinding": "readonly", + "XRWebGLDepthInformation": "readonly", + "XRWebGLLayer": "readonly", + "XSLTProcessor": "readonly" + } + } + ] +} diff --git a/eslint.config.mjs b/eslint.config.mjs index 682b4560..dc332890 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,13 +1,13 @@ import { defineConfig } from 'eslint/config'; -import { jsdoc } from 'eslint-plugin-jsdoc'; -import oxlint from 'eslint-plugin-oxlint'; - import globals from 'globals'; import js from '@eslint/js'; import pluginVue from 'eslint-plugin-vue'; -import prettyImport from '@kamiya4047/eslint-plugin-pretty-import'; +import oxlint from 'eslint-plugin-oxlint'; export default defineConfig([ + { + ignores: ['build/**', 'node_modules/**'] + }, { files: ['**/*.{js,mjs,cjs,vue}'], plugins: { js }, @@ -57,7 +57,8 @@ export default defineConfig([ files: [ '**/__tests__/**/*.{js,mjs,cjs,vue}', '**/*.spec.{js,mjs,cjs,vue}', - '**/*.test.{js,mjs,cjs,vue}' + '**/*.test.{js,mjs,cjs,vue}', + 'vitest.setup.js' ], languageOptions: { globals: { diff --git a/package-lock.json b/package-lock.json index f0fbac5c..36f9e922 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,6 @@ "@fontsource-variable/noto-sans-sc": "^5.2.10", "@fontsource-variable/noto-sans-tc": "^5.2.10", "@internationalized/date": "^3.12.0", - "@kamiya4047/eslint-plugin-pretty-import": "^0.1.6", "@pinia/testing": "^1.0.3", "@sentry/vite-plugin": "^4.9.1", "@sentry/vue": "^10.44.0", @@ -2061,20 +2060,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@kamiya4047/eslint-plugin-pretty-import": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@kamiya4047/eslint-plugin-pretty-import/-/eslint-plugin-pretty-import-0.1.6.tgz", - "integrity": "sha512-KuJs7CX/mcx5pfZGB6kEFCTeq7GZ/VD0tXpNfOeSKKtWICmc1Y6XChAiCY2yBMHJFBADuFhvf+ozpffX3IYc8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "^8.44.0" - }, - "peerDependencies": { - "eslint": "^8.0.0 || ^9.0.0", - "typescript": "^5" - } - }, "node_modules/@malept/cross-spawn-promise": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz", @@ -11660,21 +11645,6 @@ "node": ">= 0.8.0" } }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/undici": { "version": "7.24.2", "resolved": "https://registry.npmjs.org/undici/-/undici-7.24.2.tgz", diff --git a/package.json b/package.json index 433522ff..2f3d89f1 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,10 @@ "dev": "cross-env PLATFORM=windows vite serve src", "dev-linux": "cross-env PLATFORM=linux vite serve src", "localization": "node ./src/shared/utils/localizationHelperCLI.js", + "lint": "npm run lint:oxlint && npm run lint:eslint", + "lint:eslint": "eslint .", + "lint:oxlint": "oxlint .", + "typecheck:js": "tsc -p tsconfig.checkjs.json --pretty false", "test": "vitest run", "test:coverage": "vitest run --coverage", "prod": "cross-env PLATFORM=windows vite build src", @@ -40,7 +44,6 @@ "@fontsource-variable/noto-sans-sc": "^5.2.10", "@fontsource-variable/noto-sans-tc": "^5.2.10", "@internationalized/date": "^3.12.0", - "@kamiya4047/eslint-plugin-pretty-import": "^0.1.6", "@pinia/testing": "^1.0.3", "@sentry/vite-plugin": "^4.9.1", "@sentry/vue": "^10.44.0", diff --git a/src/components/__tests__/OtpDialogModal.test.js b/src/components/__tests__/OtpDialogModal.test.js index 1502da75..cd6c9bb5 100644 --- a/src/components/__tests__/OtpDialogModal.test.js +++ b/src/components/__tests__/OtpDialogModal.test.js @@ -1,4 +1,3 @@ -/* eslint-disable pretty-import/sort-import-groups */ import { beforeEach, describe, expect, test, vi } from 'vitest'; import { createI18n } from 'vue-i18n'; diff --git a/src/localization/en.json b/src/localization/en.json index 9416b98b..00d37f7a 100644 --- a/src/localization/en.json +++ b/src/localization/en.json @@ -1434,6 +1434,7 @@ "sun": "Sun" }, "easter_egg": "Did you farm your green squares today?", + "easter_egg_reply": "You can't farm this.", "overlap": { "header": "Online Overlap", "peak_overlap": "Peak overlap:", diff --git a/src/stores/__tests__/launch.test.js b/src/stores/__tests__/launch.test.js index 048068bd..41314e47 100644 --- a/src/stores/__tests__/launch.test.js +++ b/src/stores/__tests__/launch.test.js @@ -1,4 +1,3 @@ -/* eslint-disable pretty-import/sort-import-groups */ import { beforeEach, describe, expect, test, vi } from 'vitest'; import { createPinia, setActivePinia } from 'pinia'; diff --git a/src/stores/__tests__/modal.test.js b/src/stores/__tests__/modal.test.js index 4c8cf09b..339394da 100644 --- a/src/stores/__tests__/modal.test.js +++ b/src/stores/__tests__/modal.test.js @@ -1,4 +1,3 @@ -/* eslint-disable pretty-import/sort-import-groups */ import { beforeEach, describe, expect, test, vi } from 'vitest'; import { createPinia, setActivePinia } from 'pinia'; diff --git a/src/stores/__tests__/search.test.js b/src/stores/__tests__/search.test.js index 2e39cee2..dca305d0 100644 --- a/src/stores/__tests__/search.test.js +++ b/src/stores/__tests__/search.test.js @@ -1,4 +1,3 @@ -/* eslint-disable pretty-import/sort-import-groups */ import { beforeEach, describe, expect, test, vi } from 'vitest'; import { createPinia, setActivePinia } from 'pinia'; diff --git a/src/types/vue-shim.d.ts b/src/types/vue-shim.d.ts new file mode 100644 index 00000000..00765f3c --- /dev/null +++ b/src/types/vue-shim.d.ts @@ -0,0 +1,6 @@ +declare module '*.vue' { + import type { DefineComponent } from 'vue'; + + const component: DefineComponent<{}, {}, any>; + export default component; +} diff --git a/tsconfig.checkjs.json b/tsconfig.checkjs.json new file mode 100644 index 00000000..ebed552d --- /dev/null +++ b/tsconfig.checkjs.json @@ -0,0 +1,16 @@ +{ + "extends": "./tsconfig.app.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.checkjs.tsbuildinfo" + }, + "include": ["src/**/*.js", "src/**/*.jsx", "src/types/**/*.d.ts"], + "exclude": [ + "node_modules", + "build", + "src/**/*.spec.js", + "src/**/*.test.js", + "src/**/__tests__/**", + "src/app.js", + "src/vr/vr.js" + ] +}