eslint-config-sukka 6.0.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +3 -3
- package/dist/index.d.ts +18 -1
- package/dist/index.mjs +3 -3
- package/package.json +10 -10
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const e=e=>Promise.resolve(require(e));var r,t=require("@eslint-sukka/shared"),n=require("node:fs"),o=require("node:path"),s=require("node:process"),i=require("node:url"),a=require("fs"),l=require("@eslint-community/eslint-plugin-eslint-comments"),c=require("eslint-plugin-sukka"),u=require("eslint-plugin-promise"),p=require("@eslint/js"),m=require("@stylistic/eslint-plugin-js"),d=require("@stylistic/eslint-plugin-plus"),f=require("eslint-plugin-unused-imports"),y=require("eslint-plugin-import-x"),g=require("eslint-plugin-autofix"),S=require("eslint-plugin-jsonc"),
|
|
1
|
+
"use strict";const e=e=>Promise.resolve(require(e));var r,t=require("@eslint-sukka/shared"),n=require("node:fs"),o=require("node:path"),s=require("node:process"),i=require("node:url"),a=require("fs"),l=require("@eslint-community/eslint-plugin-eslint-comments"),c=require("eslint-plugin-sukka"),u=require("eslint-plugin-promise"),p=require("@eslint/js"),m=require("@stylistic/eslint-plugin-js"),d=require("@stylistic/eslint-plugin-plus"),f=require("eslint-plugin-unused-imports"),y=require("eslint-plugin-import-x"),g=require("eslint-plugin-autofix"),S=require("eslint-plugin-jsonc"),k=require("jsonc-eslint-parser"),b=require("eslint-plugin-sukka-ts"),E=require("typescript-eslint"),h=require("@stylistic/eslint-plugin-ts"),w=require("url"),v=require("local-pkg"),T=require("picocolors"),C="undefined"!=typeof document?document.currentScript:null,M=(r=Object.create(null),a&&Object.keys(a).forEach(function(e){if("default"!==e){var t=Object.getOwnPropertyDescriptor(a,e);Object.defineProperty(r,e,t.get?t:{enumerable:!0,get:function(){return a[e]}})}}),r.default=a,Object.freeze(r));const R={directory:"isDirectory",file:"isFile"},P=(e,r)=>r[R[e]](),L=e=>e instanceof URL?i.fileURLToPath(e):e;function x(e){return e instanceof URL?i.fileURLToPath(e):e}const G=Symbol("findUpStop");var j=function(e){if(e.__esModule)return e;var r=e.default;if("function"==typeof r){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}),t}(M);const I=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),D=/[<>:"|?*\n\r\t\f\x00-\x1F]/,A=/(?:^|\/)[*]{2}($|\/)/,V=e=>"string"==typeof e&&e.length<=248&&!D.test(e),F=e=>String(e).split(/\r\n?|\n/),O=e=>e.startsWith("#"),U=e=>I(e)&&e.patterns&&e.sections,B=(e,r={})=>{let t,n=r.path;if(U(e))return e;V(e)&&j.existsSync(e)&&(n=e,e=j.readFileSync(e));let o=F(e),s=new Map,i={sections:[],patterns:[]},a={name:"default",patterns:[]};for(let e of o){let r=e.trim();if(r.startsWith("#")){let[,e]=/^#+\s*(.*)\s*$/.exec(r);if(t){s.delete(t.name),t.comment+=r?`
|
|
2
2
|
${r}`:"",t.name=e?`${t.name.trim()}
|
|
3
|
-
${e.trim()}`:t.name.trim(),s.set(t.name.toLowerCase().trim(),t);continue}a={name:e.trim(),comment:r,patterns:[]},s.set(a.name.toLowerCase(),a),i.sections.push(a),t=a;continue}""!==r&&(a.patterns.push(r),i.patterns.push(r)),t=null}return(!0===r.dedupe||!0===r.unique)&&(i=H(i,{...r,format:!1})),i.path=n,i.input=Buffer.from(e),i.format=e=>q(i,{...r,...e}),i.dedupe=e=>H(i,{...r,...e}),i.globs=e=>
|
|
4
|
-
`).globs())"ignore"===e.type?r.push(...e.patterns):"unignore"===e.type&&r.push(...e.patterns.map(e=>`!${e}`))}if(a&&0===l.length)throw Error("No .gitignore file found");return{ignores:r}}const Q=(e={})=>{let{customGlobs:r=null,gitignore:n=[".gitignore"]}=e,o=[],s=[];return!1===r||null===r?s=t.constants.GLOB_EXCLUDE:"function"==typeof r?s=r(t.constants.GLOB_EXCLUDE):"string"==typeof r?s.push(...t.constants.GLOB_EXCLUDE,r):Array.isArray(r)&&s.push(...t.constants.GLOB_EXCLUDE,...r),o.push({ignores:s}),!1===n||null===n||(!0===n?o.push(K({files:[".gitignore"],strict:!1})):("string"==typeof n||Array.isArray(n))&&o.push(K({files:n,strict:!1}))),o},z=()=>[{name:"sukka/eslint-comments",plugins:{"@eslint-community/eslint-comments":l,sukka:t.memo(c,"eslint-plugin-sukka")},rules:{"sukka/ban-eslint-disable":["error","allow-with-description"],"@eslint-community/eslint-comments/disable-enable-pair":"error","@eslint-community/eslint-comments/no-aggregating-enable":"error","@eslint-community/eslint-comments/no-duplicate-disable":"error","@eslint-community/eslint-comments/no-unlimited-disable":"error","@eslint-community/eslint-comments/no-unused-disable":"error","@eslint-community/eslint-comments/no-unused-enable":"error"}}],J=({typescript:e})=>[{name:"sukka/promise",plugins:{promise:u},rules:{"promise/always-return":e?"off":["error",{ignoreLastCallback:!0}],"promise/no-return-wrap":"error","promise/param-names":"error","promise/catch-or-return":["error",{allowFinally:!0,terminationMethod:["catch","asCallback","finally"]}],"promise/no-native":"off","promise/no-nesting":"warn","promise/no-promise-in-callback":"warn","promise/no-callback-in-promise":"warn","promise/avoid-new":"off","promise/no-new-statics":"error","promise/no-return-in-finally":"warn","promise/valid-params":"warn"}}];var Y={browser:{AbortController:!1,AbortSignal:!1,AbsoluteOrientationSensor:!1,AbstractRange:!1,Accelerometer:!1,addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffect:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioData:!1,AudioDecoder:!1,AudioDestinationNode:!1,AudioEncoder:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioParamMap:!1,AudioProcessingEvent:!1,AudioScheduledSourceNode:!1,AudioSinkInfo:!1,AudioWorklet:!1,AudioWorkletGlobalScope:!1,AudioWorkletNode:!1,AudioWorkletProcessor:!1,AuthenticatorAssertionResponse:!1,AuthenticatorAttestationResponse:!1,AuthenticatorResponse:!1,BackgroundFetchManager:!1,BackgroundFetchRecord:!1,BackgroundFetchRegistration:!1,BarProp:!1,BaseAudioContext:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,BlobEvent:!1,Bluetooth:!1,BluetoothCharacteristicProperties:!1,BluetoothDevice:!1,BluetoothRemoteGATTCharacteristic:!1,BluetoothRemoteGATTDescriptor:!1,BluetoothRemoteGATTServer:!1,BluetoothRemoteGATTService:!1,BluetoothUUID:!1,blur:!1,BroadcastChannel:!1,BrowserCaptureMediaStreamTrack:!1,btoa:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasCaptureMediaStream:!1,CanvasCaptureMediaStreamTrack:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CaptureController:!1,CaretPosition:!1,CDATASection:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterBoundsUpdateEvent:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,Clipboard:!1,ClipboardEvent:!1,ClipboardItem:!1,close:!1,closed:!1,CloseEvent:!1,CloseWatcher:!1,Comment:!1,CompositionEvent:!1,CompressionStream:!1,confirm:!1,console:!1,ConstantSourceNode:!1,ContentVisibilityAutoStateChangeEvent:!1,ConvolverNode:!1,CookieChangeEvent:!1,CookieDeprecationLabel:!1,cookieStore:!1,CookieStore:!1,CookieStoreManager:!1,CountQueuingStrategy:!1,createImageBitmap:!1,Credential:!1,credentialless:!1,CredentialsContainer:!1,CropTarget:!1,crossOriginIsolated:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSAnimation:!1,CSSConditionRule:!1,CSSContainerRule:!1,CSSCounterStyleRule:!1,CSSFontFaceRule:!1,CSSFontFeatureValuesRule:!1,CSSFontPaletteValuesRule:!1,CSSGroupingRule:!1,CSSImageValue:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSKeywordValue:!1,CSSLayerBlockRule:!1,CSSLayerStatementRule:!1,CSSMathClamp:!1,CSSMathInvert:!1,CSSMathMax:!1,CSSMathMin:!1,CSSMathNegate:!1,CSSMathProduct:!1,CSSMathSum:!1,CSSMathValue:!1,CSSMatrixComponent:!1,CSSMediaRule:!1,CSSNamespaceRule:!1,CSSNumericArray:!1,CSSNumericValue:!1,CSSPageRule:!1,CSSPerspective:!1,CSSPositionTryDescriptors:!1,CSSPositionTryRule:!1,CSSPositionValue:!1,CSSPropertyRule:!1,CSSRotate:!1,CSSRule:!1,CSSRuleList:!1,CSSScale:!1,CSSScopeRule:!1,CSSSkew:!1,CSSSkewX:!1,CSSSkewY:!1,CSSStartingStyleRule:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSStyleValue:!1,CSSSupportsRule:!1,CSSTransformComponent:!1,CSSTransformValue:!1,CSSTransition:!1,CSSTranslate:!1,CSSUnitValue:!1,CSSUnparsedValue:!1,CSSVariableReferenceValue:!1,CSSViewTransitionRule:!1,currentFrame:!1,currentTime:!1,CustomElementRegistry:!1,customElements:!1,CustomEvent:!1,CustomStateSet:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,DecompressionStream:!1,DelayNode:!1,DelegatedInkTrailPresenter:!1,DeviceMotionEvent:!1,DeviceMotionEventAcceleration:!1,DeviceMotionEventRotationRate:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,documentPictureInPicture:!1,DocumentPictureInPicture:!1,DocumentPictureInPictureEvent:!1,DocumentTimeline:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMMatrix:!1,DOMMatrixReadOnly:!1,DOMParser:!1,DOMPoint:!1,DOMPointReadOnly:!1,DOMQuad:!1,DOMRect:!1,DOMRectList:!1,DOMRectReadOnly:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,EditContext:!1,Element:!1,ElementInternals:!1,EncodedAudioChunk:!1,EncodedVideoChunk:!1,ErrorEvent:!1,event:!1,Event:!1,EventCounts:!1,EventSource:!1,EventTarget:!1,external:!1,External:!1,EyeDropper:!1,FeaturePolicy:!1,FederatedCredential:!1,fence:!1,Fence:!1,FencedFrameConfig:!1,fetch:!1,fetchLater:!1,FetchLaterResult:!1,File:!1,FileList:!1,FileReader:!1,FileSystem:!1,FileSystemDirectoryEntry:!1,FileSystemDirectoryHandle:!1,FileSystemDirectoryReader:!1,FileSystemEntry:!1,FileSystemFileEntry:!1,FileSystemFileHandle:!1,FileSystemHandle:!1,FileSystemWritableFileStream:!1,find:!1,Float16Array:!1,focus:!1,FocusEvent:!1,FontData:!1,FontFace:!1,FontFaceSet:!1,FontFaceSetLoadEvent:!1,FormData:!1,FormDataEvent:!1,FragmentDirective:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadAxisMoveEvent:!1,GamepadButton:!1,GamepadButtonEvent:!1,GamepadEvent:!1,GamepadHapticActuator:!1,GamepadPose:!1,Geolocation:!1,GeolocationCoordinates:!1,GeolocationPosition:!1,GeolocationPositionError:!1,getComputedStyle:!1,getScreenDetails:!1,getSelection:!1,GPU:!1,GPUAdapter:!1,GPUAdapterInfo:!1,GPUBindGroup:!1,GPUBindGroupLayout:!1,GPUBuffer:!1,GPUBufferUsage:!1,GPUCanvasContext:!1,GPUColorWrite:!1,GPUCommandBuffer:!1,GPUCommandEncoder:!1,GPUCompilationInfo:!1,GPUCompilationMessage:!1,GPUComputePassEncoder:!1,GPUComputePipeline:!1,GPUDevice:!1,GPUDeviceLostInfo:!1,GPUError:!1,GPUExternalTexture:!1,GPUInternalError:!1,GPUMapMode:!1,GPUOutOfMemoryError:!1,GPUPipelineError:!1,GPUPipelineLayout:!1,GPUQuerySet:!1,GPUQueue:!1,GPURenderBundle:!1,GPURenderBundleEncoder:!1,GPURenderPassEncoder:!1,GPURenderPipeline:!1,GPUSampler:!1,GPUShaderModule:!1,GPUShaderStage:!1,GPUSupportedFeatures:!1,GPUSupportedLimits:!1,GPUTexture:!1,GPUTextureUsage:!1,GPUTextureView:!1,GPUUncapturedErrorEvent:!1,GPUValidationError:!1,GravitySensor:!1,Gyroscope:!1,HashChangeEvent:!1,Headers:!1,HID:!1,HIDConnectionEvent:!1,HIDDevice:!1,HIDInputReportEvent:!1,Highlight:!1,HighlightRegistry:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDataElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFencedFrameElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLLabelElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLSlotElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTimeElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,IdentityCredential:!1,IdentityCredentialError:!1,IdentityProvider:!1,IdleDeadline:!1,IdleDetector:!1,IIRFilterNode:!1,Image:!1,ImageBitmap:!1,ImageBitmapRenderingContext:!1,ImageCapture:!1,ImageData:!1,ImageDecoder:!1,ImageTrack:!1,ImageTrackList:!1,indexedDB:!1,Ink:!1,innerHeight:!1,innerWidth:!1,InputDeviceCapabilities:!1,InputDeviceInfo:!1,InputEvent:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,isSecureContext:!1,Iterator:!1,Keyboard:!1,KeyboardEvent:!1,KeyboardLayoutMap:!1,KeyframeEffect:!1,LargestContentfulPaint:!1,LaunchParams:!1,launchQueue:!1,LaunchQueue:!1,LayoutShift:!1,LayoutShiftAttribution:!1,length:!1,LinearAccelerationSensor:!1,localStorage:!1,location:!0,Location:!1,locationbar:!1,Lock:!1,LockManager:!1,matchMedia:!1,MathMLElement:!1,MediaCapabilities:!1,MediaCapabilitiesInfo:!1,MediaDeviceInfo:!1,MediaDevices:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyError:!1,MediaKeyMessageEvent:!1,MediaKeys:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaMetadata:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaRecorder:!1,MediaRecorderErrorEvent:!1,MediaSession:!1,MediaSource:!1,MediaSourceHandle:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,MediaStreamTrackAudioSourceNode:!1,MediaStreamTrackAudioStats:!1,MediaStreamTrackEvent:!1,MediaStreamTrackGenerator:!1,MediaStreamTrackProcessor:!1,MediaStreamTrackVideoStats:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,model:!1,ModelGenericSession:!1,ModelManager:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,NavigateEvent:!1,navigation:!1,Navigation:!1,NavigationActivation:!1,NavigationCurrentEntryChangeEvent:!1,NavigationDestination:!1,NavigationHistoryEntry:!1,NavigationPreloadManager:!1,NavigationTransition:!1,navigator:!1,Navigator:!1,NavigatorLogin:!1,NavigatorManagedData:!1,NavigatorUAData:!1,NetworkInformation:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,NotifyPaintEvent:!1,NotRestoredReasonDetails:!1,NotRestoredReasons:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,OffscreenCanvas:!1,OffscreenCanvasRenderingContext2D:!1,onabort:!0,onafterprint:!0,onanimationcancel:!0,onanimationend:!0,onanimationiteration:!0,onanimationstart:!0,onappinstalled:!0,onauxclick:!0,onbeforeinput:!0,onbeforeinstallprompt:!0,onbeforematch:!0,onbeforeprint:!0,onbeforetoggle:!0,onbeforeunload:!0,onbeforexrselect:!0,onblur:!0,oncancel:!0,oncanplay:!0,oncanplaythrough:!0,onchange:!0,onclick:!0,onclose:!0,oncontentvisibilityautostatechange:!0,oncontextlost:!0,oncontextmenu:!0,oncontextrestored:!0,oncopy:!0,oncuechange:!0,oncut:!0,ondblclick:!0,ondevicemotion:!0,ondeviceorientation:!0,ondeviceorientationabsolute:!0,ondrag:!0,ondragend:!0,ondragenter:!0,ondragleave:!0,ondragover:!0,ondragstart:!0,ondrop:!0,ondurationchange:!0,onemptied:!0,onended:!0,onerror:!0,onfocus:!0,onformdata:!0,ongamepadconnected:!0,ongamepaddisconnected:!0,ongotpointercapture:!0,onhashchange:!0,oninput:!0,oninvalid:!0,onkeydown:!0,onkeypress:!0,onkeyup:!0,onlanguagechange:!0,onload:!0,onloadeddata:!0,onloadedmetadata:!0,onloadstart:!0,onlostpointercapture:!0,onmessage:!0,onmessageerror:!0,onmousedown:!0,onmouseenter:!0,onmouseleave:!0,onmousemove:!0,onmouseout:!0,onmouseover:!0,onmouseup:!0,onmousewheel:!0,onoffline:!0,ononline:!0,onpagehide:!0,onpagereveal:!0,onpageshow:!0,onpageswap:!0,onpaste:!0,onpause:!0,onplay:!0,onplaying:!0,onpointercancel:!0,onpointerdown:!0,onpointerenter:!0,onpointerleave:!0,onpointermove:!0,onpointerout:!0,onpointerover:!0,onpointerrawupdate:!0,onpointerup:!0,onpopstate:!0,onprogress:!0,onratechange:!0,onrejectionhandled:!0,onreset:!0,onresize:!0,onscroll:!0,onscrollend:!0,onsearch:!0,onsecuritypolicyviolation:!0,onseeked:!0,onseeking:!0,onselect:!0,onselectionchange:!0,onselectstart:!0,onslotchange:!0,onstalled:!0,onstorage:!0,onsubmit:!0,onsuspend:!0,ontimeupdate:!0,ontoggle:!0,ontransitioncancel:!0,ontransitionend:!0,ontransitionrun:!0,ontransitionstart:!0,onunhandledrejection:!0,onunload:!0,onvolumechange:!0,onwaiting:!0,onwheel:!0,open:!1,opener:!1,Option:!1,OrientationSensor:!1,origin:!1,originAgentCluster:!1,OscillatorNode:!1,OTPCredential:!1,outerHeight:!1,outerWidth:!1,OverconstrainedError:!1,PageRevealEvent:!1,PageSwapEvent:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,PannerNode:!1,parent:!1,PasswordCredential:!1,Path2D:!1,PaymentAddress:!1,PaymentManager:!1,PaymentMethodChangeEvent:!1,PaymentRequest:!1,PaymentRequestUpdateEvent:!1,PaymentResponse:!1,performance:!1,Performance:!1,PerformanceElementTiming:!1,PerformanceEntry:!1,PerformanceEventTiming:!1,PerformanceLongAnimationFrameTiming:!1,PerformanceLongTaskTiming:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceNavigationTiming:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformancePaintTiming:!1,PerformanceResourceTiming:!1,PerformanceScriptTiming:!1,PerformanceServerTiming:!1,PerformanceTiming:!1,PeriodicSyncManager:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,PERSISTENT:!1,personalbar:!1,PictureInPictureEvent:!1,PictureInPictureWindow:!1,Plugin:!1,PluginArray:!1,PointerEvent:!1,PopStateEvent:!1,postMessage:!1,Presentation:!1,PresentationAvailability:!1,PresentationConnection:!1,PresentationConnectionAvailableEvent:!1,PresentationConnectionCloseEvent:!1,PresentationConnectionList:!1,PresentationReceiver:!1,PresentationRequest:!1,PressureObserver:!1,PressureRecord:!1,print:!1,ProcessingInstruction:!1,Profiler:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,ProtectedAudience:!1,PublicKeyCredential:!1,PushManager:!1,PushSubscription:!1,PushSubscriptionOptions:!1,queryLocalFonts:!1,queueMicrotask:!1,RadioNodeList:!1,Range:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,registerProcessor:!1,RelativeOrientationSensor:!1,RemotePlayback:!1,removeEventListener:!1,reportError:!1,ReportingObserver:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,ResizeObserver:!1,ResizeObserverEntry:!1,ResizeObserverSize:!1,resizeTo:!1,Response:!1,RTCCertificate:!1,RTCDataChannel:!1,RTCDataChannelEvent:!1,RTCDtlsTransport:!1,RTCDTMFSender:!1,RTCDTMFToneChangeEvent:!1,RTCEncodedAudioFrame:!1,RTCEncodedVideoFrame:!1,RTCError:!1,RTCErrorEvent:!1,RTCIceCandidate:!1,RTCIceTransport:!1,RTCPeerConnection:!1,RTCPeerConnectionIceErrorEvent:!1,RTCPeerConnectionIceEvent:!1,RTCRtpReceiver:!1,RTCRtpScriptTransform:!1,RTCRtpSender:!1,RTCRtpTransceiver:!1,RTCSctpTransport:!1,RTCSessionDescription:!1,RTCStatsReport:!1,RTCTrackEvent:!1,sampleRate:!1,scheduler:!1,Scheduler:!1,Scheduling:!1,screen:!1,Screen:!1,ScreenDetailed:!1,ScreenDetails:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,ScrollTimeline:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,Sensor:!1,SensorErrorEvent:!1,Serial:!1,SerialPort:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,sharedStorage:!1,SharedStorage:!1,SharedStorageWorklet:!1,SharedWorker:!1,showDirectoryPicker:!1,showOpenFilePicker:!1,showSaveFilePicker:!1,SourceBuffer:!1,SourceBufferList:!1,speechSynthesis:!1,SpeechSynthesis:!1,SpeechSynthesisErrorEvent:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,SpeechSynthesisVoice:!1,StaticRange:!1,status:!1,statusbar:!1,StereoPannerNode:!1,stop:!1,Storage:!1,StorageBucket:!1,StorageBucketManager:!1,StorageEvent:!1,StorageManager:!1,structuredClone:!1,styleMedia:!1,StylePropertyMap:!1,StylePropertyMapReadOnly:!1,StyleSheet:!1,StyleSheetList:!1,SubmitEvent:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAngle:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGComponentTransferFunctionElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGElement:!1,SVGEllipseElement:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGImageElement:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPathElement:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGViewElement:!1,SyncManager:!1,TaskAttributionTiming:!1,TaskController:!1,TaskPriorityChangeEvent:!1,TaskSignal:!1,TEMPORARY:!1,Text:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TextEvent:!1,TextFormat:!1,TextFormatUpdateEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TextUpdateEvent:!1,TimeEvent:!1,TimeRanges:!1,ToggleEvent:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransformStream:!1,TransformStreamDefaultController:!1,TransitionEvent:!1,TreeWalker:!1,TrustedHTML:!1,TrustedScript:!1,TrustedScriptURL:!1,TrustedTypePolicy:!1,TrustedTypePolicyFactory:!1,trustedTypes:!1,UIEvent:!1,URL:!1,URLPattern:!1,URLSearchParams:!1,USB:!1,USBAlternateInterface:!1,USBConfiguration:!1,USBConnectionEvent:!1,USBDevice:!1,USBEndpoint:!1,USBInterface:!1,USBInTransferResult:!1,USBIsochronousInTransferPacket:!1,USBIsochronousInTransferResult:!1,USBIsochronousOutTransferPacket:!1,USBIsochronousOutTransferResult:!1,USBOutTransferResult:!1,UserActivation:!1,ValidityState:!1,VideoColorSpace:!1,VideoDecoder:!1,VideoEncoder:!1,VideoFrame:!1,VideoPlaybackQuality:!1,ViewTimeline:!1,ViewTransition:!1,ViewTransitionTypeSet:!1,VirtualKeyboard:!1,VirtualKeyboardGeometryChangeEvent:!1,VisibilityStateEntry:!1,visualViewport:!1,VisualViewport:!1,VTTCue:!1,VTTRegion:!1,WakeLock:!1,WakeLockSentinel:!1,WaveShaperNode:!1,WebAssembly:!1,WebGL2RenderingContext:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLObject:!1,WebGLProgram:!1,WebGLQuery:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLSampler:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLSync:!1,WebGLTexture:!1,WebGLTransformFeedback:!1,WebGLUniformLocation:!1,WebGLVertexArrayObject:!1,WebSocket:!1,WebSocketError:!1,WebSocketStream:!1,WebTransport:!1,WebTransportBidirectionalStream:!1,WebTransportDatagramDuplexStream:!1,WebTransportError:!1,WebTransportReceiveStream:!1,WebTransportSendStream:!1,WGSLLanguageFeatures:!1,WheelEvent:!1,window:!1,Window:!1,WindowControlsOverlay:!1,WindowControlsOverlayGeometryChangeEvent:!1,Worker:!1,Worklet:!1,WorkletGlobalScope:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathExpression:!1,XPathResult:!1,XRAnchor:!1,XRAnchorSet:!1,XRBoundedReferenceSpace:!1,XRCamera:!1,XRCPUDepthInformation:!1,XRDepthInformation:!1,XRDOMOverlayState:!1,XRFrame:!1,XRHitTestResult:!1,XRHitTestSource:!1,XRInputSource:!1,XRInputSourceArray:!1,XRInputSourceEvent:!1,XRInputSourcesChangeEvent:!1,XRLayer:!1,XRLightEstimate:!1,XRLightProbe:!1,XRPose:!1,XRRay:!1,XRReferenceSpace:!1,XRReferenceSpaceEvent:!1,XRRenderState:!1,XRRigidTransform:!1,XRSession:!1,XRSessionEvent:!1,XRSpace:!1,XRSystem:!1,XRTransientInputHitTestResult:!1,XRTransientInputHitTestSource:!1,XRView:!1,XRViewerPose:!1,XRViewport:!1,XRWebGLBinding:!1,XRWebGLDepthInformation:!1,XRWebGLLayer:!1,XSLTProcessor:!1},es2024:{AggregateError:!1,Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,FinalizationRegistry:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Intl:!1,isFinite:!1,isNaN:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,WeakMap:!1,WeakRef:!1,WeakSet:!1},greasemonkey:{cloneInto:!1,createObjectIn:!1,exportFunction:!1,GM:!1,GM_addElement:!1,GM_addStyle:!1,GM_addValueChangeListener:!1,GM_deleteValue:!1,GM_download:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getTab:!1,GM_getTabs:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_notification:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_removeValueChangeListener:!1,GM_saveTab:!1,GM_setClipboard:!1,GM_setValue:!1,GM_unregisterMenuCommand:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1},node:{__dirname:!1,__filename:!1,AbortController:!1,AbortSignal:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Buffer:!1,ByteLengthQueuingStrategy:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,CompressionStream:!1,console:!1,CountQueuingStrategy:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CustomEvent:!1,DecompressionStream:!1,DOMException:!1,Event:!1,EventTarget:!1,exports:!0,fetch:!1,File:!1,FormData:!1,global:!1,Headers:!1,Iterator:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,module:!1,navigator:!1,Navigator:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformanceResourceTiming:!1,process:!1,queueMicrotask:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,Request:!1,require:!1,Response:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,structuredClone:!1,SubtleCrypto:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TransformStream:!1,TransformStreamDefaultController:!1,URL:!1,URLSearchParams:!1,WebAssembly:!1,WebSocket:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1},webextensions:{browser:!1,chrome:!1,opr:!1}};const Z=[".js",".jsx",".mjs",".cjs"],ee=(e={})=>{let{files:r,disableNoConsoleInCLI:n=!0,env:o={}}=e,{browser:s=!0,webextensions:i=!1,greasemonkey:a=!1,customGlobals:l={}}=o,u=[p.configs.recommended,{linterOptions:{reportUnusedDisableDirectives:!0}},{name:"@eslint-sukka/js base",...r?{files:r}:{},languageOptions:{ecmaVersion:"latest",sourceType:"module",parserOptions:{ecmaVersion:"latest",sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...Y.es2024,...s&&Y.browser,...i&&Y.webextensions,...a&&Y.greasemonkey,...l}},settings:{"import-x/parsers":{espree:Z},"import-x/extensions":Z},plugins:{"unused-imports":t.memo(f,"eslint-plugin-unused-imports"),"@stylistic/js":t.memo(m,"@stylistic/eslint-plugin-js"),"@stylistic/plus":t.memo(d,"@stylistic/eslint-plugin-plus"),sukka:t.memo(c,"eslint-plugin-sukka"),"import-x":t.memo(y,"eslint-plugin-import-x"),autofix:g},rules:{...y.configs.recommended.rules,"accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-notation":["error",{allowKeywords:!0}],"@stylistic/js/dot-location":["error","property"],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","no-alert":"warn","no-caller":"off","autofix/no-caller":"error","no-constructor-return":"error","no-else-return":["error",{allowElseIf:!1}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-native-reassign":"off","no-implicit-coercion":["off",{boolean:!1,number:!0,string:!0,allow:[]}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","@stylistic/js/no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-octal-escape":"error","no-proto":"off","autofix/no-proto":"error","no-restricted-properties":["error",...[["isFinite","Number.isFinite"],["isNaN","Number.isNaN"]].flatMap(([e,r])=>["global","globalThis","window","self"].map(t=>({object:t,property:e,message:`Please use ${r} instead`}))),{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."},{object:"Math",property:"pow",message:"Use the exponentiation operator (**) instead."}],"no-return-assign":["error","always"],"no-return-await":"off","sukka/no-return-await":"error","no-self-compare":"error","no-sequences":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"no-useless-call":"off","no-useless-catch":"off","autofix/no-useless-catch":"error","no-useless-concat":"off","autofix/no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":["error",{allowAsStatement:!0}],"no-with":"error","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-object-has-own":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:!0}],radix:"off","autofix/radix":"error","require-await":"error","require-yield":"error","require-unicode-regexp":"off","vars-on-top":"error","@stylistic/js/wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error","no-await-in-loop":"warn","no-console":"warn","no-constant-condition":"warn","no-empty-function":"error","no-empty":["error",{allowEmptyCatch:!0}],"no-constant-binary-expression":"error","@stylistic/js/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-loss-of-precision":"warn","no-promise-executor-return":"error","no-template-curly-in-string":"error","no-unreachable-loop":["error",{ignore:[]}],"no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-vars":"off","unused-imports/no-unused-imports":"off","no-unused-private-class-members":"error","no-useless-backreference":"error","no-negated-in-lhs":"off","require-atomic-updates":"off","use-isnan":["error",{enforceForIndexOf:!0}],"valid-typeof":"off","autofix/valid-typeof":["error",{requireStringLiterals:!0}],"no-new-native-nonconstructor":"off","autofix/no-new-native-nonconstructor":"error","@stylistic/js/arrow-spacing":["error",{before:!0,after:!0}],"@stylistic/js/generator-star-spacing":["error",{before:!0,after:!1}],"@stylistic/js/no-confusing-arrow":["error",{allowParens:!0}],"no-duplicate-imports":"off","no-restricted-exports":["error",{restrictedNamedExports:["then"]}],"no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreImport:!1,ignoreExport:!1}],"no-var":"warn","object-shorthand":["error","always",{ignoreConstructors:!1,avoidQuotes:!0,avoidExplicitReturnArrows:!0}],"prefer-arrow-callback":["error",{allowNamedFunctions:!1,allowUnboundThis:!0}],"prefer-const":["error",{ignoreReadBeforeAssign:!0}],"prefer-numeric-literals":"error","prefer-reflect":"off","prefer-rest-params":"error","prefer-template":"off","symbol-description":"error","@stylistic/js/template-curly-spacing":["error","never"],"@stylistic/js/yield-star-spacing":["error","before"],"@stylistic/js/array-bracket-newline":["off","consistent"],"@stylistic/js/array-bracket-spacing":["error","never"],"@stylistic/js/array-element-newline":["off",{multiline:!0,minItems:5}],"@stylistic/js/block-spacing":["error","always"],"@stylistic/js/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:["warn",{properties:"never",ignoreDestructuring:!1,ignoreImports:!0,ignoreGlobals:!0,allow:["^UNSAFE_","^experimental_","^__DEV__"]}],"@stylistic/js/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/comma-style":["error","last",{exceptions:{ArrayExpression:!1,ArrayPattern:!1,ArrowFunctionExpression:!1,CallExpression:!1,FunctionDeclaration:!1,FunctionExpression:!1,ImportDeclaration:!1,ObjectExpression:!1,ObjectPattern:!1,VariableDeclaration:!1,NewExpression:!1}}],"@stylistic/js/computed-property-spacing":["error","never"],"consistent-this":"off","@stylistic/js/eol-last":["error","always"],"@stylistic/js/func-call-spacing":["error","never"],"@stylistic/js/function-call-argument-newline":["off","consistent"],"@stylistic/js/function-paren-newline":["error","consistent"],"@stylistic/js/implicit-arrow-linebreak":["error","beside"],"@stylistic/js/indent":["error",2,{SwitchCase:1}],"@stylistic/plus/indent-binary-ops":["error",2],"@stylistic/js/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/linebreak-style":"error","@stylistic/js/lines-around-comment":"off","@stylistic/js/lines-around-directive":"off","@stylistic/js/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"@stylistic/js/multiline-ternary":"off","new-cap":["error",{newIsCap:!0,newIsCapExceptions:[],capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"]}],"@stylistic/js/newline-after-var":"off","@stylistic/js/newline-before-return":"off","@stylistic/js/newline-per-chained-call":["error",{ignoreChainWithDepth:6}],"@stylistic/js/new-parens":"error","no-bitwise":"off","no-lonely-if":"error","@stylistic/js/no-mixed-operators":["error",{groups:[["**","+"],["**","-"],["**","*"],["**","/"],["%","+"],["%","-"],["%","*"],["%","/"],["%","**"],["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],allowSamePrecedence:!0}],"@stylistic/js/no-mixed-spaces-and-tabs":"error","no-multi-assign":["error"],"@stylistic/js/no-multiple-empty-lines":["error",{max:1,maxBOF:0,maxEOF:0}],"no-negated-condition":"off","no-nested-ternary":"off","sukka/unicorn/no-nested-ternary":"warn","no-new-object":"off","no-object-constructor":"error","no-array-constructor":"error","@stylistic/js/no-spaced-func":"off","@stylistic/js/no-tabs":"error","no-ternary":"off","@stylistic/js/no-trailing-spaces":"error","no-unneeded-ternary":"error","@stylistic/js/no-whitespace-before-property":"error","@stylistic/js/nonblock-statement-body-position":"error","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","prefer-exponentiation-operator":"error","@stylistic/js/operator-linebreak":["error","before"],"@stylistic/js/padded-blocks":["error","never"],"@stylistic/js/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":["error","single"],"@stylistic/js/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/jsx-quotes":["error","prefer-double"],"@stylistic/js/rest-spread-spacing":["error","never"],"@stylistic/js/semi":["error","always"],"@stylistic/js/semi-spacing":["error",{before:!1,after:!0}],"@stylistic/js/semi-style":["error","last"],"@stylistic/js/space-before-blocks":"error","@stylistic/js/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-in-parens":["error","never"],"@stylistic/js/space-infix-ops":"error","@stylistic/js/space-unary-ops":["error",{words:!0,nonwords:!1,overrides:{}}],"@stylistic/js/spaced-comment":["error","always",{line:{exceptions:["-","+"],markers:["=","!","/"]},block:{exceptions:["-","+"],markers:["=","!",":","::"],balanced:!0}}],"@stylistic/js/switch-colon-spacing":["error",{after:!0,before:!1}],"@stylistic/js/template-tag-spacing":["error","never"],"unicode-bom":["error","never"],"@stylistic/js/wrap-regex":"off","no-label-var":"error","no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-globals":["error",{name:"isFinite",message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite"},{name:"isNaN",message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan"}],"no-undef-init":"error","sukka/array/no-unneeded-flat-map":"error","sukka/browser/prefer-location-assign":"warn","sukka/jsx/no-template-literal":"error","sukka/jsx/no-unneeded-nested":"error","sukka/string/no-locale-case":"warn","sukka/string/no-simple-template-literal":"error","sukka/type/no-instanceof-wrapper":"error","sukka/unicode/no-bidi":"warn","sukka/unicode/no-invisible":"warn","sukka/no-redundant-variable":"error","sukka/no-single-return":"error","sukka/prefer-early-return":["error",{maximumStatements:16}],"sukka/prefer-fetch":"error","sukka/prefer-timer-id":"warn","sukka/unicorn/require-array-join-separator":"warn","sukka/unicorn/no-thenable":"error","sukka/unicorn/no-invalid-remove-event-listener":"error","sukka/unicorn/consistent-function-scoping":"warn","sukka/unicorn/prefer-event-target":"warn","sukka/unicorn/prefer-keyboard-event-key":"warn","sukka/unicorn/prefer-text-content":"warn","sukka/unicorn/no-console-spaces":"warn","sukka/unicorn/no-empty-file":"warn","sukka/unicorn/no-useless-fallback-in-spread":"warn","sukka/unicorn/no-useless-length-check":"warn","sukka/unicorn/no-useless-promise-resolve-reject":"warn","sukka/unicorn/no-zero-fractions":"warn","sukka/unicorn/prefer-export-from":["warn",{ignoreUsedVariables:!0}],"sukka/unicorn/prefer-native-coercion-functions":"warn","sukka/unicorn/no-document-cookie":"error","sukka/unicorn/prefer-add-event-listener":"warn","sukka/unicorn/prefer-array-index-of":"warn","sukka/unicorn/prefer-blob-reading-methods":"warn","sukka/unicorn/prefer-date-now":"warn","sukka/unicorn/prefer-dom-node-dataset":"warn","sukka/unicorn/prefer-modern-math-apis":"warn","sukka/unicorn/number-literal-case":"error","sukka/unicorn/prefer-number-properties":["warn",{checkInfinity:!1}],"sukka/unicorn/prefer-reflect-apply":"warn","sukka/unicorn/prefer-set-size":"warn","sukka/unicorn/prefer-string-replace-all":"warn","sukka/unicorn/prefer-string-slice":"warn","sukka/unicorn/prefer-string-trim-start-end":"warn","sukka/unicorn/no-unreadable-iife":"warn","sukka/unicorn/throw-new-error":"warn","sukka/unicorn/better-regex":"error","sukka/unicorn/escape-case":"warn","sukka/unicorn/no-hex-escape":"warn","sukka/unicorn/prefer-prototype-methods":"warn","sukka/unicorn/error-message":"error","sukka/unicorn/no-instanceof-array":"error","sukka/unicorn/prefer-type-error":"error","sukka/unicorn/consistent-destructuring":"warn","sukka/unicorn/new-for-builtins":"warn","sukka/unicorn/no-array-push-push":"warn","sukka/unicorn/no-static-only-class":"warn","sukka/unicorn/no-unreadable-array-destructuring":"error","sukka/unicorn/no-useless-spread":"warn","sukka/unicorn/no-useless-switch-case":"warn","sukka/unicorn/no-useless-undefined":["error",{checkArguments:!1}],"sukka/unicorn/numeric-separators-style":["warn",{onlyIfContainsSeparator:!1,number:{minimumDigits:7,groupLength:3},binary:{minimumDigits:9,groupLength:4},octal:{minimumDigits:9,groupLength:4},hexadecimal:{minimumDigits:5,groupLength:2}}],"sukka/unicorn/prefer-array-find":"warn","sukka/unicorn/prefer-array-flat-map":"warn","sukka/unicorn/prefer-array-flat":"warn","sukka/unicorn/prefer-array-some":"warn","sukka/unicorn/prefer-code-point":"warn","sukka/unicorn/prefer-default-parameters":"warn","sukka/unicorn/prefer-logical-operator-over-ternary":"warn","sukka/unicorn/prefer-optional-catch-binding":"error","sukka/unicorn/prefer-regexp-test":"warn","sukka/unicorn/prefer-set-has":"error","sukka/unicorn/prefer-switch":"warn","sukka/unicorn/require-number-to-fixed-digits-argument":"warn","sukka/import-dedupe":"error","sukka/unicorn/prefer-string-raw":"warn","sukka/unicorn/no-single-promise-in-promise-methods":"error","sukka/unicorn/no-await-in-promise-methods":"error","sukka/unicorn/template-indent":["warn",{tags:["outdent","dedent","gql","sql","html","styled","css"],functions:["dedent","stripIndent","strip_indent","stripTags","striptags","strip_tags","stripHtml","stripHTML","strip_html"],selectors:[],comments:["HTML","html","CSS","css","indent"]}],"sukka/unicorn/no-negation-in-equality-check":"error","no-restricted-imports":["error",{paths:t.RESTRICTED_IMPORT_JS}],"no-prototype-builtins":"off","autofix/no-prototype-builtins":"error"}}];if(!1!==n){let e="boolean"!=typeof n?Array.isArray(n)?n:[n]:null;u.push({name:"@eslint-sukka/js cli specific",files:e??[`**/scripts/${t.constants.GLOB_SRC}`,`**/cli/${t.constants.GLOB_SRC}`,`**/cli.${t.constants.GLOB_SRC_EXT}`],rules:{"no-console":"off"}})}return u},er={plugins:{jsonc:t.memo(S,"eslint-plugin-jsonc")},languageOptions:{parser:b}},et={"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",2],"jsonc/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"jsonc/object-curly-newline":"off","jsonc/object-curly-spacing":["error","always"],"jsonc/object-property-newline":["error",{allowMultiplePropertiesPerLine:!0}],"jsonc/quote-props":"error","jsonc/quotes":"error"},en=()=>[...S.configs["flat/base"],{name:"@eslint-sukka/json json",files:[t.constants.GLOB_JSON],rules:{...S.configs["flat/recommended-with-json"].reduce((e,r)=>({...e,...r.rules}),{}),...et}},{name:"@eslint-sukka/json json5",...er,files:[t.constants.GLOB_JSON5],rules:{...S.configs["flat/recommended-with-json5"].reduce((e,r)=>({...e,...r.rules}),{}),...et}},{name:"@eslint-sukka/json jsonc",...er,files:[t.constants.GLOB_JSONC],rules:{...S.configs["flat/recommended-with-jsonc"].reduce((e,r)=>({...e,...r.rules}),{}),...et}},{name:"@eslint-sukka/json package.json",...er,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"@eslint-sukka/json tsconfig.json",...er,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}}],eo={"no-dupe-class-members":"off","@typescript-eslint/no-dupe-class-members":"error","no-redeclare":"off","@typescript-eslint/no-redeclare":"error","no-unused-vars":"off","@typescript-eslint/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"class-methods-use-this":"off","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[]}],"default-param-last":"off","@typescript-eslint/default-param-last":"error","dot-notation":"off","@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"no-implied-eval":"off","@typescript-eslint/no-implied-eval":"error","no-invalid-this":"off","@typescript-eslint/no-invalid-this":"off","no-loop-func":"off","@typescript-eslint/no-loop-func":"error","no-return-await":"off","@typescript-eslint/return-await":"error","sukka/no-return-await":"off","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"prefer-promise-reject-errors":"off","@typescript-eslint/prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"require-await":"off","@typescript-eslint/require-await":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@stylistic/js/no-extra-parens":"off","@stylistic/ts/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@stylistic/js/block-spacing":"off","@stylistic/ts/block-spacing":["error","always"],"@stylistic/js/brace-style":"off","@stylistic/ts/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:"off","@stylistic/js/comma-dangle":"off","@stylistic/ts/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":"off","@stylistic/ts/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/func-call-spacing":"off","@stylistic/ts/func-call-spacing":["error","never"],"@stylistic/js/indent":"off","@stylistic/ts/indent":["error",2,{SwitchCase:1}],"@stylistic/js/key-spacing":"off","@stylistic/ts/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":"off","@stylistic/ts/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/lines-around-comment":"off","@stylistic/ts/lines-around-comment":"off","@stylistic/js/lines-between-class-members":"off","@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@stylistic/js/object-curly-newline":"off","@stylistic/ts/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/ts/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/ts/object-property-newline":"off","@stylistic/js/padding-line-between-statements":"off","@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":"off","@stylistic/ts/quotes":["error","single"],"@stylistic/js/quote-props":"off","@stylistic/ts/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/semi":"off","@stylistic/ts/semi":["error","always"],"@stylistic/js/space-before-blocks":"off","@stylistic/ts/space-before-blocks":"error","@stylistic/js/space-before-function-paren":"off","@stylistic/ts/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-infix-ops":"off","@stylistic/ts/space-infix-ops":"error","no-use-before-define":"off","@typescript-eslint/no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-imports":"off"},es=[".js",".jsx",".mjs",".cjs"],ei=[".ts",".cts",".mts",".tsx",".d.ts"],ea=[...ei,...es],el=[".ts",".cts",".mts",".tsx",...es],ec=(e={})=>{let{tsconfigPath:r=!0,tsconfigRootDir:n=process.cwd(),componentExtentions:o=[]}=e,s=w.fileURLToPath(t.importMetaResolve("@typescript-eslint/parser","string"==typeof __dirname?w.pathToFileURL(__dirname).href:"undefined"==typeof document?require("url").pathToFileURL(__filename).href:C&&C.src||new URL("index.cjs",document.baseURI).href));return[{name:"@eslint-sukka/ts base",files:[t.constants.GLOB_TS,t.constants.GLOB_TSX,...o.map(e=>`**/*.${e}`)],plugins:{...E.configs.base.plugins,"@stylistic/ts":t.memo(h,"@stylistic/eslint-plugin-ts"),"sukka-ts":t.memo(k,"eslint-plugin-sukka-ts"),"@stylistic/plus":t.memo(d,"@stylistic/eslint-plugin-plus"),"import-x":t.memo(y,"eslint-plugin-import-x")},languageOptions:{parser:E.configs.base.languageOptions.parser,sourceType:"module",parserOptions:{sourceType:"module",ecmaVersion:"latest",...!0===r?{projectService:!0,allowDefaultProject:[]}:{project:r},tsconfigRootDir:n,ecmaFeatures:{jsx:!0},jsxPragma:void 0,warnOnUnsupportedTypeScriptVersion:!0}},settings:{"import-x/extensions":ea,"import-x/external-module-folders":["node_modules","node_modules/@types"],"import-x/resolver":{node:{extensions:el},"ts-bundled":{alwaysTryTypes:!0,...!0===r?{}:{project:r}}},"import-x/parsers":{espree:es,[s]:ei}},rules:{...E.configs.base.rules,...E.configs.recommendedTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...E.configs.stylisticTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...y.configs.typescript.rules,...eo,"@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description","ts-ignore":!0,"ts-nocheck":!0,"ts-check":!1,minimumDescriptionLength:10}],"@typescript-eslint/naming-convention":["warn",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE","snake_case"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"function",format:["camelCase","PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"typeLike",format:["PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"}],"@typescript-eslint/consistent-type-assertions":["error",{assertionStyle:"as",objectLiteralTypeAssertions:"allow"}],"@typescript-eslint/require-await":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:!1}],"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0,allowAny:!0,allowBoolean:!0,allowNever:!0}],"@typescript-eslint/unbound-method":"error","@typescript-eslint/consistent-type-imports":["warn",{prefer:"type-imports",disallowTypeAnnotations:!1,fixStyle:"separate-type-imports"}],"@typescript-eslint/no-import-type-side-effects":"warn","@typescript-eslint/consistent-type-exports":["warn",{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-definitions":"warn","@typescript-eslint/consistent-generic-constructors":["error","constructor"],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["Error","RegExp","URL","URLSearchParams"]}],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extraneous-class":["warn",{allowConstructorOnly:!0,allowEmpty:!0,allowWithDecorator:!0}],"@typescript-eslint/no-invalid-void-type":["off",{allowInGenericTypeArguments:!0,allowAsThisParameter:!0}],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":["warn",{allowConstantLoopConditions:!0}],"@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":["error",{allowBitwiseExpressions:!0}],"@typescript-eslint/prefer-nullish-coalescing":"off","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/unified-signatures":["error",{ignoreDifferentlyNamedParameters:!0}],"@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/consistent-indexed-object-style":"off","@typescript-eslint/prefer-enum-initializers":"warn","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-meaningless-void-operator":"warn","@typescript-eslint/no-unnecessary-qualifier":"warn","@typescript-eslint/array-type":["warn",{default:"array-simple"}],"@typescript-eslint/no-restricted-imports":["error",{paths:t.RESTRICTED_IMPORT_TS}],"@typescript-eslint/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never",allowWithName:"Props$"}],"@typescript-eslint/no-unsafe-function-type":"warn","@typescript-eslint/no-restricted-types":["error",{types:{FC:{message:"To declare a component, you don't have to use FC to annotate it. To type something that accepts/is a React Component, use ComponentType<T>.",fixWith:"ComponentType"},"React.FC":{message:"To declare a component, you don't have to use React.FC to annotate it. To type something that accepts/is a React Component, use React.ComponentType<T>.",fixWith:"React.ComponentType"},ReactElement:{message:"In most cases, you want ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"ReactNode"},"React.ReactElement":{message:"In most cases, you want React.ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"React.ReactNode"}}}],"@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-explicit-any":"warn","@typescript-eslint/no-loop-func":"warn","@typescript-eslint/no-redundant-type-constituents":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-unsafe-enum-comparison":"warn","@typescript-eslint/prefer-regexp-exec":"off","@stylistic/ts/member-delimiter-style":["error",{multiline:{delimiter:"comma",requireLast:!1},singleline:{delimiter:"comma",requireLast:!1}}],"@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0,exceptAfterOverload:!0}],"@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"},{blankLine:"any",prev:["interface","type"],next:["interface","type"]}],"@stylistic/ts/type-annotation-spacing":["error",{before:!1,after:!0,overrides:{arrow:{before:!0,after:!0}}}],"@typescript-eslint/no-namespace":"off","@typescript-eslint/prefer-string-starts-ends-with":"off","sukka-ts/string/prefer-string-starts-ends-with":"error","@typescript-eslint/switch-exhaustiveness-check":"error","sukka-ts/string/no-unneeded-to-string":"error","sukka-ts/type/no-force-cast-via-top-type":"error","sukka-ts/type/no-wrapper-type-reference":"error","sukka-ts/no-default-error":"off","sukka-ts/no-const-enum":"error","@stylistic/plus/type-generic-spacing":"error","@stylistic/plus/type-named-tuple-spacing":"error","@typescript-eslint/no-unused-vars":"off","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-imports":"error","import-x/named":"off","import-x/no-duplicates":"off","import-x/namespace":"off","import-x/default":"off","import-x/no-named-as-default-member":"off"}},{name:"@eslint-sukka/ts dts",files:["**/*.d.ts"],plugins:{"import-x":t.memo(y,"eslint-plugin-import-x")},rules:{"import-x/no-duplicates":"off","unused-imports/no-unused-vars":"off"}},{name:"@eslint-sukka/ts jest/mocha",files:["**/*.{test,spec}.ts?(x)"],rules:{"no-unused-expressions":"off"}},{name:"@eslint-sukka/ts commonjs",files:["**/*.js","**/*.cjs"],plugins:E.configs.base.plugins,rules:{"@typescript-eslint/no-require-imports":"off","@typescript-eslint/no-var-requires":"off"}}]},eu=(e={})=>[{name:"@eslint-sukka/legacy base",...e.files?{files:e.files}:{},plugins:{sukka:t.memo(c,"eslint-plugin-sukka")},rules:{"prefer-numeric-literals":"off","no-restricted-properties":["error",{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."}],"no-var":"off","prefer-object-spread":"off",strict:["error","safe"],"sukka/unicorn/prefer-default-parameters":"off","sukka/unicorn/prefer-logical-operator-over-ternary":"off","sukka/unicorn/prefer-optional-catch-binding":"off"},languageOptions:{globals:{...e.browser??!0?Y.browser:{},...e.node?Y.node:{}}}}];function ep(e,r=!1){return"boolean"==typeof e?e:e?.enable??r}function em(e){if("boolean"==typeof e||void 0===e)return;let{enable:r,...t}=e;return t}function ed(e){v.isPackageExists(e)&&console.error(T.yellow(`[eslint-config-sukka] "${e}" is deprecated and you should uninstall it`))}const ef=async(r,...t)=>{let n=[];ed("@eslint-sukka/js"),ed("@eslint-sukka/json"),ed("@eslint-sukka/ts"),ed("@eslint-sukka/legacy");let o=ep(r?.ts,v.isPackageExists("typescript"));n.push(Q(r?.ignores),z(),J({typescript:o})),ep(r?.js,!0)&&n.push(ee(em(r?.js))),ep(r?.json,!0)&&n.push(en()),o&&n.push(ec(em(r?.ts)));let s=v.isPackageExists("next");if(ep(r?.react,v.isPackageExists("react")||s)){if(o){let t=await e("@eslint-sukka/react");n.push(t.react(em(r?.react))),ep(r?.next,s)&&n.push(t.next())}else console.warn("[eslint-config-sukka] React module will not be enabled when TypeScript is not set up.")}return ep(r?.node,v.isPackageExists("@types/node")||v.isPackageExists("@types/bun"))&&n.push((await e("@eslint-sukka/node")).node(em(r?.node))),ep(r?.legacy)&&n.push(eu(em(r?.legacy))),n.push(t),n.flat()};Object.defineProperty(exports,"constants",{enumerable:!0,get:function(){return t.constants}}),exports.ignores=Q,exports.sukka=ef;
|
|
3
|
+
${e.trim()}`:t.name.trim(),s.set(t.name.toLowerCase().trim(),t);continue}a={name:e.trim(),comment:r,patterns:[]},s.set(a.name.toLowerCase(),a),i.sections.push(a),t=a;continue}""!==r&&(a.patterns.push(r),i.patterns.push(r)),t=null}return(!0===r.dedupe||!0===r.unique)&&(i=H(i,{...r,format:!1})),i.path=n,i.input=Buffer.from(e),i.format=e=>q(i,{...r,...e}),i.dedupe=e=>H(i,{...r,...e}),i.globs=e=>W(i,{path:n,...r,...e}),i},H=(e,r)=>{let t;let n=B(e,{...r,dedupe:!1}),o=new Map,s={sections:[],patterns:new Set};for(let e of n.sections){let{name:r="",comment:n,patterns:i}=e,a=r.trim().toLowerCase();for(let e of i)s.patterns.add(e);r&&o.has(a)?(t=o.get(a)).patterns=[...t.patterns,...i]:(t={name:r,comment:n,patterns:i},s.sections.push(t),o.set(a,t))}for(let e of s.sections)e.patterns=[...new Set(e.patterns)];return s.patterns=[...s.patterns],s},N=(e,r)=>{if(A.test(e))return e;let t=!1;return e.startsWith("/")?(e=e.slice(1),t=!0):e.slice(1,e.length-1).includes("/")&&(t=!0),e+=e.endsWith("/")?"**/":"/**",t?e:`**/${e}`},W=(e,r={})=>{let t=B(e,r),n=[],o=0,s=t.patterns.concat(r.ignore||[]).concat((r.unignore||[]).map(e=>e.startsWith("!")?e:"!"+e)),i=(e,t)=>{let s=n[n.length-1],i=e?"unignore":"ignore";s&&s.type===i?s.patterns.includes(t)||s.patterns.push(t):(n.push({type:i,path:r.path||null,patterns:[t],index:o}),o++)};for(let e of s){let r="";e.startsWith("!")&&(e=e.slice(1),r="!"),i(r,e.startsWith("/")?e.slice(1):e),i(r,N(e))}return n},_=(e={})=>{let r=[e.comment||""];return e.patterns?.length&&(r.push(e.patterns.join("\n")),r.push("")),r.join("\n")},q=(e,r={})=>{let t=B(e,r),n=r.formatSection||_,o=t.sections||t,s=[];for(let e of[].concat(o))s.push(n(e));return s.join("\n")};B.file=(e,r)=>B(j.readFileSync(e,"utf8"),r),B.parse=B,B.dedupe=H,B.format=q,B.globs=W,B.formatSection=_,B.patterns=e=>F(e).map(e=>e.trim()).filter(e=>""!==e&&!O(e));var X=B&&B.__esModule&&Object.prototype.hasOwnProperty.call(B,"default")?B.default:B;const $=".gitignore";function K(e={}){let r=[],{root:t=!1,files:i=t?$:function(e,r={}){return function(e,r={}){let t=o.resolve(x(r.cwd)??""),{root:i}=o.parse(t),a=o.resolve(t,x(r.stopAt)??i),l=r.limit??Number.POSITIVE_INFINITY,c=[e].flat(),u=e=>(function(e,{cwd:r=s.cwd(),type:t="file",allowSymlinks:i=!0}={}){!function(e){if(!Object.hasOwnProperty.call(R,e))throw Error(`Invalid type specified: ${e}`)}(t),r=L(r);let a=i?n.statSync:n.lstatSync;for(let n of e)try{let e=a(o.resolve(r,n),{throwIfNoEntry:!1});if(!e)continue;if(P(t,e))return n}catch{}})(c,e),p=[];for(;;){let e=u({...r,cwd:t});if(e===G||(e&&p.push(o.resolve(t,e)),t===a||p.length>=l))break;t=o.dirname(t)}return p}(e,{...r,limit:1})[0]}($)||[],strict:a=!0}=e,l=Array.isArray(i)?i:[i];for(let e of l){let t="";try{t=n.readFileSync(e,"utf8")}catch(e){if(a)throw e;continue}for(let e of X(`${t}
|
|
4
|
+
`).globs())"ignore"===e.type?r.push(...e.patterns):"unignore"===e.type&&r.push(...e.patterns.map(e=>`!${e}`))}if(a&&0===l.length)throw Error("No .gitignore file found");return{ignores:r}}const Q=(e={})=>{let{customGlobs:r=null,gitignore:n=[".gitignore"]}=e,o=[],s=[];return!1===r||null===r?s=t.constants.GLOB_EXCLUDE:"function"==typeof r?s=r(t.constants.GLOB_EXCLUDE):"string"==typeof r?s.push(...t.constants.GLOB_EXCLUDE,r):Array.isArray(r)&&s.push(...t.constants.GLOB_EXCLUDE,...r),o.push({ignores:s}),!1===n||null===n||(!0===n?o.push(K({files:[".gitignore"],strict:!1})):("string"==typeof n||Array.isArray(n))&&o.push(K({files:n,strict:!1}))),o},z=()=>[{name:"sukka/eslint-comments",plugins:{"@eslint-community/eslint-comments":l,sukka:t.memo(c,"eslint-plugin-sukka")},rules:{"sukka/ban-eslint-disable":["error","allow-with-description"],"@eslint-community/eslint-comments/disable-enable-pair":["error",{allowWholeFile:!0}],"@eslint-community/eslint-comments/no-aggregating-enable":"error","@eslint-community/eslint-comments/no-duplicate-disable":"error","@eslint-community/eslint-comments/no-unlimited-disable":"error","@eslint-community/eslint-comments/no-unused-disable":"error","@eslint-community/eslint-comments/no-unused-enable":"error"}}],J=({typescript:e})=>[{name:"sukka/promise",plugins:{promise:u},rules:{"promise/always-return":e?"off":["error",{ignoreLastCallback:!0}],"promise/no-return-wrap":"error","promise/param-names":"error","promise/catch-or-return":["error",{allowFinally:!0,terminationMethod:["catch","asCallback","finally"]}],"promise/no-native":"off","promise/no-nesting":"warn","promise/no-promise-in-callback":"warn","promise/no-callback-in-promise":"warn","promise/avoid-new":"off","promise/no-new-statics":"error","promise/no-return-in-finally":"warn","promise/valid-params":"warn"}}];var Y={browser:{AbortController:!1,AbortSignal:!1,AbsoluteOrientationSensor:!1,AbstractRange:!1,Accelerometer:!1,addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffect:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioData:!1,AudioDecoder:!1,AudioDestinationNode:!1,AudioEncoder:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioParamMap:!1,AudioProcessingEvent:!1,AudioScheduledSourceNode:!1,AudioSinkInfo:!1,AudioWorklet:!1,AudioWorkletGlobalScope:!1,AudioWorkletNode:!1,AudioWorkletProcessor:!1,AuthenticatorAssertionResponse:!1,AuthenticatorAttestationResponse:!1,AuthenticatorResponse:!1,BackgroundFetchManager:!1,BackgroundFetchRecord:!1,BackgroundFetchRegistration:!1,BarProp:!1,BaseAudioContext:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,BlobEvent:!1,Bluetooth:!1,BluetoothCharacteristicProperties:!1,BluetoothDevice:!1,BluetoothRemoteGATTCharacteristic:!1,BluetoothRemoteGATTDescriptor:!1,BluetoothRemoteGATTServer:!1,BluetoothRemoteGATTService:!1,BluetoothUUID:!1,blur:!1,BroadcastChannel:!1,BrowserCaptureMediaStreamTrack:!1,btoa:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasCaptureMediaStream:!1,CanvasCaptureMediaStreamTrack:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CaptureController:!1,CaretPosition:!1,CDATASection:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterBoundsUpdateEvent:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,Clipboard:!1,ClipboardEvent:!1,ClipboardItem:!1,close:!1,closed:!1,CloseEvent:!1,CloseWatcher:!1,Comment:!1,CompositionEvent:!1,CompressionStream:!1,confirm:!1,console:!1,ConstantSourceNode:!1,ContentVisibilityAutoStateChangeEvent:!1,ConvolverNode:!1,CookieChangeEvent:!1,CookieDeprecationLabel:!1,cookieStore:!1,CookieStore:!1,CookieStoreManager:!1,CountQueuingStrategy:!1,createImageBitmap:!1,Credential:!1,credentialless:!1,CredentialsContainer:!1,CropTarget:!1,crossOriginIsolated:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSAnimation:!1,CSSConditionRule:!1,CSSContainerRule:!1,CSSCounterStyleRule:!1,CSSFontFaceRule:!1,CSSFontFeatureValuesRule:!1,CSSFontPaletteValuesRule:!1,CSSGroupingRule:!1,CSSImageValue:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSKeywordValue:!1,CSSLayerBlockRule:!1,CSSLayerStatementRule:!1,CSSMathClamp:!1,CSSMathInvert:!1,CSSMathMax:!1,CSSMathMin:!1,CSSMathNegate:!1,CSSMathProduct:!1,CSSMathSum:!1,CSSMathValue:!1,CSSMatrixComponent:!1,CSSMediaRule:!1,CSSNamespaceRule:!1,CSSNumericArray:!1,CSSNumericValue:!1,CSSPageRule:!1,CSSPerspective:!1,CSSPositionTryDescriptors:!1,CSSPositionTryRule:!1,CSSPositionValue:!1,CSSPropertyRule:!1,CSSRotate:!1,CSSRule:!1,CSSRuleList:!1,CSSScale:!1,CSSScopeRule:!1,CSSSkew:!1,CSSSkewX:!1,CSSSkewY:!1,CSSStartingStyleRule:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSStyleValue:!1,CSSSupportsRule:!1,CSSTransformComponent:!1,CSSTransformValue:!1,CSSTransition:!1,CSSTranslate:!1,CSSUnitValue:!1,CSSUnparsedValue:!1,CSSVariableReferenceValue:!1,CSSViewTransitionRule:!1,currentFrame:!1,currentTime:!1,CustomElementRegistry:!1,customElements:!1,CustomEvent:!1,CustomStateSet:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,DecompressionStream:!1,DelayNode:!1,DelegatedInkTrailPresenter:!1,DeviceMotionEvent:!1,DeviceMotionEventAcceleration:!1,DeviceMotionEventRotationRate:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,documentPictureInPicture:!1,DocumentPictureInPicture:!1,DocumentPictureInPictureEvent:!1,DocumentTimeline:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMMatrix:!1,DOMMatrixReadOnly:!1,DOMParser:!1,DOMPoint:!1,DOMPointReadOnly:!1,DOMQuad:!1,DOMRect:!1,DOMRectList:!1,DOMRectReadOnly:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,EditContext:!1,Element:!1,ElementInternals:!1,EncodedAudioChunk:!1,EncodedVideoChunk:!1,ErrorEvent:!1,event:!1,Event:!1,EventCounts:!1,EventSource:!1,EventTarget:!1,external:!1,External:!1,EyeDropper:!1,FeaturePolicy:!1,FederatedCredential:!1,fence:!1,Fence:!1,FencedFrameConfig:!1,fetch:!1,fetchLater:!1,FetchLaterResult:!1,File:!1,FileList:!1,FileReader:!1,FileSystem:!1,FileSystemDirectoryEntry:!1,FileSystemDirectoryHandle:!1,FileSystemDirectoryReader:!1,FileSystemEntry:!1,FileSystemFileEntry:!1,FileSystemFileHandle:!1,FileSystemHandle:!1,FileSystemWritableFileStream:!1,find:!1,Float16Array:!1,focus:!1,FocusEvent:!1,FontData:!1,FontFace:!1,FontFaceSet:!1,FontFaceSetLoadEvent:!1,FormData:!1,FormDataEvent:!1,FragmentDirective:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadAxisMoveEvent:!1,GamepadButton:!1,GamepadButtonEvent:!1,GamepadEvent:!1,GamepadHapticActuator:!1,GamepadPose:!1,Geolocation:!1,GeolocationCoordinates:!1,GeolocationPosition:!1,GeolocationPositionError:!1,getComputedStyle:!1,getScreenDetails:!1,getSelection:!1,GPU:!1,GPUAdapter:!1,GPUAdapterInfo:!1,GPUBindGroup:!1,GPUBindGroupLayout:!1,GPUBuffer:!1,GPUBufferUsage:!1,GPUCanvasContext:!1,GPUColorWrite:!1,GPUCommandBuffer:!1,GPUCommandEncoder:!1,GPUCompilationInfo:!1,GPUCompilationMessage:!1,GPUComputePassEncoder:!1,GPUComputePipeline:!1,GPUDevice:!1,GPUDeviceLostInfo:!1,GPUError:!1,GPUExternalTexture:!1,GPUInternalError:!1,GPUMapMode:!1,GPUOutOfMemoryError:!1,GPUPipelineError:!1,GPUPipelineLayout:!1,GPUQuerySet:!1,GPUQueue:!1,GPURenderBundle:!1,GPURenderBundleEncoder:!1,GPURenderPassEncoder:!1,GPURenderPipeline:!1,GPUSampler:!1,GPUShaderModule:!1,GPUShaderStage:!1,GPUSupportedFeatures:!1,GPUSupportedLimits:!1,GPUTexture:!1,GPUTextureUsage:!1,GPUTextureView:!1,GPUUncapturedErrorEvent:!1,GPUValidationError:!1,GravitySensor:!1,Gyroscope:!1,HashChangeEvent:!1,Headers:!1,HID:!1,HIDConnectionEvent:!1,HIDDevice:!1,HIDInputReportEvent:!1,Highlight:!1,HighlightRegistry:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDataElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFencedFrameElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLLabelElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLSlotElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTimeElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,IdentityCredential:!1,IdentityCredentialError:!1,IdentityProvider:!1,IdleDeadline:!1,IdleDetector:!1,IIRFilterNode:!1,Image:!1,ImageBitmap:!1,ImageBitmapRenderingContext:!1,ImageCapture:!1,ImageData:!1,ImageDecoder:!1,ImageTrack:!1,ImageTrackList:!1,indexedDB:!1,Ink:!1,innerHeight:!1,innerWidth:!1,InputDeviceCapabilities:!1,InputDeviceInfo:!1,InputEvent:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,isSecureContext:!1,Iterator:!1,Keyboard:!1,KeyboardEvent:!1,KeyboardLayoutMap:!1,KeyframeEffect:!1,LargestContentfulPaint:!1,LaunchParams:!1,launchQueue:!1,LaunchQueue:!1,LayoutShift:!1,LayoutShiftAttribution:!1,length:!1,LinearAccelerationSensor:!1,localStorage:!1,location:!0,Location:!1,locationbar:!1,Lock:!1,LockManager:!1,matchMedia:!1,MathMLElement:!1,MediaCapabilities:!1,MediaCapabilitiesInfo:!1,MediaDeviceInfo:!1,MediaDevices:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyError:!1,MediaKeyMessageEvent:!1,MediaKeys:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaMetadata:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaRecorder:!1,MediaRecorderErrorEvent:!1,MediaSession:!1,MediaSource:!1,MediaSourceHandle:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,MediaStreamTrackAudioSourceNode:!1,MediaStreamTrackAudioStats:!1,MediaStreamTrackEvent:!1,MediaStreamTrackGenerator:!1,MediaStreamTrackProcessor:!1,MediaStreamTrackVideoStats:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,model:!1,ModelGenericSession:!1,ModelManager:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,NavigateEvent:!1,navigation:!1,Navigation:!1,NavigationActivation:!1,NavigationCurrentEntryChangeEvent:!1,NavigationDestination:!1,NavigationHistoryEntry:!1,NavigationPreloadManager:!1,NavigationTransition:!1,navigator:!1,Navigator:!1,NavigatorLogin:!1,NavigatorManagedData:!1,NavigatorUAData:!1,NetworkInformation:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,NotifyPaintEvent:!1,NotRestoredReasonDetails:!1,NotRestoredReasons:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,OffscreenCanvas:!1,OffscreenCanvasRenderingContext2D:!1,onabort:!0,onafterprint:!0,onanimationcancel:!0,onanimationend:!0,onanimationiteration:!0,onanimationstart:!0,onappinstalled:!0,onauxclick:!0,onbeforeinput:!0,onbeforeinstallprompt:!0,onbeforematch:!0,onbeforeprint:!0,onbeforetoggle:!0,onbeforeunload:!0,onbeforexrselect:!0,onblur:!0,oncancel:!0,oncanplay:!0,oncanplaythrough:!0,onchange:!0,onclick:!0,onclose:!0,oncontentvisibilityautostatechange:!0,oncontextlost:!0,oncontextmenu:!0,oncontextrestored:!0,oncopy:!0,oncuechange:!0,oncut:!0,ondblclick:!0,ondevicemotion:!0,ondeviceorientation:!0,ondeviceorientationabsolute:!0,ondrag:!0,ondragend:!0,ondragenter:!0,ondragleave:!0,ondragover:!0,ondragstart:!0,ondrop:!0,ondurationchange:!0,onemptied:!0,onended:!0,onerror:!0,onfocus:!0,onformdata:!0,ongamepadconnected:!0,ongamepaddisconnected:!0,ongotpointercapture:!0,onhashchange:!0,oninput:!0,oninvalid:!0,onkeydown:!0,onkeypress:!0,onkeyup:!0,onlanguagechange:!0,onload:!0,onloadeddata:!0,onloadedmetadata:!0,onloadstart:!0,onlostpointercapture:!0,onmessage:!0,onmessageerror:!0,onmousedown:!0,onmouseenter:!0,onmouseleave:!0,onmousemove:!0,onmouseout:!0,onmouseover:!0,onmouseup:!0,onmousewheel:!0,onoffline:!0,ononline:!0,onpagehide:!0,onpagereveal:!0,onpageshow:!0,onpageswap:!0,onpaste:!0,onpause:!0,onplay:!0,onplaying:!0,onpointercancel:!0,onpointerdown:!0,onpointerenter:!0,onpointerleave:!0,onpointermove:!0,onpointerout:!0,onpointerover:!0,onpointerrawupdate:!0,onpointerup:!0,onpopstate:!0,onprogress:!0,onratechange:!0,onrejectionhandled:!0,onreset:!0,onresize:!0,onscroll:!0,onscrollend:!0,onsearch:!0,onsecuritypolicyviolation:!0,onseeked:!0,onseeking:!0,onselect:!0,onselectionchange:!0,onselectstart:!0,onslotchange:!0,onstalled:!0,onstorage:!0,onsubmit:!0,onsuspend:!0,ontimeupdate:!0,ontoggle:!0,ontransitioncancel:!0,ontransitionend:!0,ontransitionrun:!0,ontransitionstart:!0,onunhandledrejection:!0,onunload:!0,onvolumechange:!0,onwaiting:!0,onwheel:!0,open:!1,opener:!1,Option:!1,OrientationSensor:!1,origin:!1,originAgentCluster:!1,OscillatorNode:!1,OTPCredential:!1,outerHeight:!1,outerWidth:!1,OverconstrainedError:!1,PageRevealEvent:!1,PageSwapEvent:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,PannerNode:!1,parent:!1,PasswordCredential:!1,Path2D:!1,PaymentAddress:!1,PaymentManager:!1,PaymentMethodChangeEvent:!1,PaymentRequest:!1,PaymentRequestUpdateEvent:!1,PaymentResponse:!1,performance:!1,Performance:!1,PerformanceElementTiming:!1,PerformanceEntry:!1,PerformanceEventTiming:!1,PerformanceLongAnimationFrameTiming:!1,PerformanceLongTaskTiming:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceNavigationTiming:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformancePaintTiming:!1,PerformanceResourceTiming:!1,PerformanceScriptTiming:!1,PerformanceServerTiming:!1,PerformanceTiming:!1,PeriodicSyncManager:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,PERSISTENT:!1,personalbar:!1,PictureInPictureEvent:!1,PictureInPictureWindow:!1,Plugin:!1,PluginArray:!1,PointerEvent:!1,PopStateEvent:!1,postMessage:!1,Presentation:!1,PresentationAvailability:!1,PresentationConnection:!1,PresentationConnectionAvailableEvent:!1,PresentationConnectionCloseEvent:!1,PresentationConnectionList:!1,PresentationReceiver:!1,PresentationRequest:!1,PressureObserver:!1,PressureRecord:!1,print:!1,ProcessingInstruction:!1,Profiler:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,ProtectedAudience:!1,PublicKeyCredential:!1,PushManager:!1,PushSubscription:!1,PushSubscriptionOptions:!1,queryLocalFonts:!1,queueMicrotask:!1,RadioNodeList:!1,Range:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,registerProcessor:!1,RelativeOrientationSensor:!1,RemotePlayback:!1,removeEventListener:!1,reportError:!1,ReportingObserver:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,ResizeObserver:!1,ResizeObserverEntry:!1,ResizeObserverSize:!1,resizeTo:!1,Response:!1,RTCCertificate:!1,RTCDataChannel:!1,RTCDataChannelEvent:!1,RTCDtlsTransport:!1,RTCDTMFSender:!1,RTCDTMFToneChangeEvent:!1,RTCEncodedAudioFrame:!1,RTCEncodedVideoFrame:!1,RTCError:!1,RTCErrorEvent:!1,RTCIceCandidate:!1,RTCIceTransport:!1,RTCPeerConnection:!1,RTCPeerConnectionIceErrorEvent:!1,RTCPeerConnectionIceEvent:!1,RTCRtpReceiver:!1,RTCRtpScriptTransform:!1,RTCRtpSender:!1,RTCRtpTransceiver:!1,RTCSctpTransport:!1,RTCSessionDescription:!1,RTCStatsReport:!1,RTCTrackEvent:!1,sampleRate:!1,scheduler:!1,Scheduler:!1,Scheduling:!1,screen:!1,Screen:!1,ScreenDetailed:!1,ScreenDetails:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,ScrollTimeline:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,Sensor:!1,SensorErrorEvent:!1,Serial:!1,SerialPort:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,sharedStorage:!1,SharedStorage:!1,SharedStorageWorklet:!1,SharedWorker:!1,showDirectoryPicker:!1,showOpenFilePicker:!1,showSaveFilePicker:!1,SourceBuffer:!1,SourceBufferList:!1,speechSynthesis:!1,SpeechSynthesis:!1,SpeechSynthesisErrorEvent:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,SpeechSynthesisVoice:!1,StaticRange:!1,status:!1,statusbar:!1,StereoPannerNode:!1,stop:!1,Storage:!1,StorageBucket:!1,StorageBucketManager:!1,StorageEvent:!1,StorageManager:!1,structuredClone:!1,styleMedia:!1,StylePropertyMap:!1,StylePropertyMapReadOnly:!1,StyleSheet:!1,StyleSheetList:!1,SubmitEvent:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAngle:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGComponentTransferFunctionElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGElement:!1,SVGEllipseElement:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGImageElement:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPathElement:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGViewElement:!1,SyncManager:!1,TaskAttributionTiming:!1,TaskController:!1,TaskPriorityChangeEvent:!1,TaskSignal:!1,TEMPORARY:!1,Text:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TextEvent:!1,TextFormat:!1,TextFormatUpdateEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TextUpdateEvent:!1,TimeEvent:!1,TimeRanges:!1,ToggleEvent:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransformStream:!1,TransformStreamDefaultController:!1,TransitionEvent:!1,TreeWalker:!1,TrustedHTML:!1,TrustedScript:!1,TrustedScriptURL:!1,TrustedTypePolicy:!1,TrustedTypePolicyFactory:!1,trustedTypes:!1,UIEvent:!1,URL:!1,URLPattern:!1,URLSearchParams:!1,USB:!1,USBAlternateInterface:!1,USBConfiguration:!1,USBConnectionEvent:!1,USBDevice:!1,USBEndpoint:!1,USBInterface:!1,USBInTransferResult:!1,USBIsochronousInTransferPacket:!1,USBIsochronousInTransferResult:!1,USBIsochronousOutTransferPacket:!1,USBIsochronousOutTransferResult:!1,USBOutTransferResult:!1,UserActivation:!1,ValidityState:!1,VideoColorSpace:!1,VideoDecoder:!1,VideoEncoder:!1,VideoFrame:!1,VideoPlaybackQuality:!1,ViewTimeline:!1,ViewTransition:!1,ViewTransitionTypeSet:!1,VirtualKeyboard:!1,VirtualKeyboardGeometryChangeEvent:!1,VisibilityStateEntry:!1,visualViewport:!1,VisualViewport:!1,VTTCue:!1,VTTRegion:!1,WakeLock:!1,WakeLockSentinel:!1,WaveShaperNode:!1,WebAssembly:!1,WebGL2RenderingContext:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLObject:!1,WebGLProgram:!1,WebGLQuery:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLSampler:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLSync:!1,WebGLTexture:!1,WebGLTransformFeedback:!1,WebGLUniformLocation:!1,WebGLVertexArrayObject:!1,WebSocket:!1,WebSocketError:!1,WebSocketStream:!1,WebTransport:!1,WebTransportBidirectionalStream:!1,WebTransportDatagramDuplexStream:!1,WebTransportError:!1,WebTransportReceiveStream:!1,WebTransportSendStream:!1,WGSLLanguageFeatures:!1,WheelEvent:!1,window:!1,Window:!1,WindowControlsOverlay:!1,WindowControlsOverlayGeometryChangeEvent:!1,Worker:!1,Worklet:!1,WorkletGlobalScope:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathExpression:!1,XPathResult:!1,XRAnchor:!1,XRAnchorSet:!1,XRBoundedReferenceSpace:!1,XRCamera:!1,XRCPUDepthInformation:!1,XRDepthInformation:!1,XRDOMOverlayState:!1,XRFrame:!1,XRHitTestResult:!1,XRHitTestSource:!1,XRInputSource:!1,XRInputSourceArray:!1,XRInputSourceEvent:!1,XRInputSourcesChangeEvent:!1,XRLayer:!1,XRLightEstimate:!1,XRLightProbe:!1,XRPose:!1,XRRay:!1,XRReferenceSpace:!1,XRReferenceSpaceEvent:!1,XRRenderState:!1,XRRigidTransform:!1,XRSession:!1,XRSessionEvent:!1,XRSpace:!1,XRSystem:!1,XRTransientInputHitTestResult:!1,XRTransientInputHitTestSource:!1,XRView:!1,XRViewerPose:!1,XRViewport:!1,XRWebGLBinding:!1,XRWebGLDepthInformation:!1,XRWebGLLayer:!1,XSLTProcessor:!1},es2024:{AggregateError:!1,Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,FinalizationRegistry:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Intl:!1,isFinite:!1,isNaN:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,WeakMap:!1,WeakRef:!1,WeakSet:!1},greasemonkey:{cloneInto:!1,createObjectIn:!1,exportFunction:!1,GM:!1,GM_addElement:!1,GM_addStyle:!1,GM_addValueChangeListener:!1,GM_deleteValue:!1,GM_download:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getTab:!1,GM_getTabs:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_notification:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_removeValueChangeListener:!1,GM_saveTab:!1,GM_setClipboard:!1,GM_setValue:!1,GM_unregisterMenuCommand:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1},node:{__dirname:!1,__filename:!1,AbortController:!1,AbortSignal:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Buffer:!1,ByteLengthQueuingStrategy:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,CompressionStream:!1,console:!1,CountQueuingStrategy:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CustomEvent:!1,DecompressionStream:!1,DOMException:!1,Event:!1,EventTarget:!1,exports:!0,fetch:!1,File:!1,FormData:!1,global:!1,Headers:!1,Iterator:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,module:!1,navigator:!1,Navigator:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformanceResourceTiming:!1,process:!1,queueMicrotask:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,Request:!1,require:!1,Response:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,structuredClone:!1,SubtleCrypto:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TransformStream:!1,TransformStreamDefaultController:!1,URL:!1,URLSearchParams:!1,WebAssembly:!1,WebSocket:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1},webextensions:{browser:!1,chrome:!1,opr:!1}};const Z=[".js",".jsx",".mjs",".cjs"],ee=(e={})=>{let{files:r,disableNoConsoleInCLI:n=!0,env:o={}}=e,{browser:s=!0,webextensions:i=!1,greasemonkey:a=!1,customGlobals:l={}}=o,u=[p.configs.recommended,{linterOptions:{reportUnusedDisableDirectives:!0}},{name:"@eslint-sukka/js base",...r?{files:r}:{},languageOptions:{ecmaVersion:"latest",sourceType:"module",parserOptions:{ecmaVersion:"latest",sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...Y.es2024,...s&&Y.browser,...i&&Y.webextensions,...a&&Y.greasemonkey,...l}},settings:{"import-x/parsers":{espree:Z},"import-x/extensions":Z},plugins:{"unused-imports":t.memo(f,"eslint-plugin-unused-imports"),"@stylistic/js":t.memo(m,"@stylistic/eslint-plugin-js"),"@stylistic/plus":t.memo(d,"@stylistic/eslint-plugin-plus"),sukka:t.memo(c,"eslint-plugin-sukka"),"import-x":t.memo(y,"eslint-plugin-import-x"),autofix:g},rules:{...y.configs.recommended.rules,"accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-notation":["error",{allowKeywords:!0}],"@stylistic/js/dot-location":["error","property"],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","no-alert":"warn","no-caller":"off","autofix/no-caller":"error","no-constructor-return":"error","no-else-return":["error",{allowElseIf:!1}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-native-reassign":"off","no-implicit-coercion":["off",{boolean:!1,number:!0,string:!0,allow:[]}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","@stylistic/js/no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-octal-escape":"error","no-proto":"off","autofix/no-proto":"error","no-restricted-properties":["error",...[["isFinite","Number.isFinite"],["isNaN","Number.isNaN"]].flatMap(([e,r])=>["global","globalThis","window","self"].map(t=>({object:t,property:e,message:`Please use ${r} instead`}))),{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."},{object:"Math",property:"pow",message:"Use the exponentiation operator (**) instead."}],"no-return-assign":["error","always"],"no-return-await":"off","sukka/no-return-await":"error","no-self-compare":"error","no-sequences":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"no-useless-call":"off","no-useless-catch":"off","autofix/no-useless-catch":"error","no-useless-concat":"off","autofix/no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":["error",{allowAsStatement:!0}],"no-with":"error","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-object-has-own":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:!0}],radix:"off","autofix/radix":"error","require-await":"error","require-yield":"error","require-unicode-regexp":"off","vars-on-top":"error","@stylistic/js/wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error","no-await-in-loop":"warn","no-console":"warn","no-constant-condition":"warn","no-empty-function":"error","no-empty":["error",{allowEmptyCatch:!0}],"no-constant-binary-expression":"error","@stylistic/js/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-loss-of-precision":"warn","no-promise-executor-return":"error","no-template-curly-in-string":"error","no-unreachable-loop":["error",{ignore:[]}],"no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-vars":"off","unused-imports/no-unused-imports":"off","no-unused-private-class-members":"error","no-useless-backreference":"error","no-negated-in-lhs":"off","require-atomic-updates":"off","use-isnan":["error",{enforceForIndexOf:!0}],"valid-typeof":"off","autofix/valid-typeof":["error",{requireStringLiterals:!0}],"no-new-native-nonconstructor":"off","autofix/no-new-native-nonconstructor":"error","@stylistic/js/arrow-spacing":["error",{before:!0,after:!0}],"@stylistic/js/generator-star-spacing":["error",{before:!0,after:!1}],"@stylistic/js/no-confusing-arrow":["error",{allowParens:!0}],"no-duplicate-imports":"off","no-restricted-exports":["error",{restrictedNamedExports:["then"]}],"no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreImport:!1,ignoreExport:!1}],"no-var":"warn","object-shorthand":["error","always",{ignoreConstructors:!1,avoidQuotes:!0,avoidExplicitReturnArrows:!0}],"prefer-arrow-callback":["error",{allowNamedFunctions:!1,allowUnboundThis:!0}],"prefer-const":["error",{ignoreReadBeforeAssign:!0}],"prefer-numeric-literals":"error","prefer-reflect":"off","prefer-rest-params":"error","prefer-template":"off","symbol-description":"error","@stylistic/js/template-curly-spacing":["error","never"],"@stylistic/js/yield-star-spacing":["error","before"],"@stylistic/js/array-bracket-newline":["off","consistent"],"@stylistic/js/array-bracket-spacing":["error","never"],"@stylistic/js/array-element-newline":["off",{multiline:!0,minItems:5}],"@stylistic/js/block-spacing":["error","always"],"@stylistic/js/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:["warn",{properties:"never",ignoreDestructuring:!1,ignoreImports:!0,ignoreGlobals:!0,allow:["^UNSAFE_","^experimental_","^__DEV__"]}],"@stylistic/js/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/comma-style":["error","last",{exceptions:{ArrayExpression:!1,ArrayPattern:!1,ArrowFunctionExpression:!1,CallExpression:!1,FunctionDeclaration:!1,FunctionExpression:!1,ImportDeclaration:!1,ObjectExpression:!1,ObjectPattern:!1,VariableDeclaration:!1,NewExpression:!1}}],"@stylistic/js/computed-property-spacing":["error","never"],"consistent-this":"off","@stylistic/js/eol-last":["error","always"],"@stylistic/js/func-call-spacing":["error","never"],"@stylistic/js/function-call-argument-newline":["off","consistent"],"@stylistic/js/function-paren-newline":["error","consistent"],"@stylistic/js/implicit-arrow-linebreak":["error","beside"],"@stylistic/js/indent":["error",2,{SwitchCase:1}],"@stylistic/plus/indent-binary-ops":["error",2],"@stylistic/js/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/linebreak-style":"error","@stylistic/js/lines-around-comment":"off","@stylistic/js/lines-around-directive":"off","@stylistic/js/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"@stylistic/js/multiline-ternary":"off","new-cap":["error",{newIsCap:!0,newIsCapExceptions:[],capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"]}],"@stylistic/js/newline-after-var":"off","@stylistic/js/newline-before-return":"off","@stylistic/js/newline-per-chained-call":["error",{ignoreChainWithDepth:6}],"@stylistic/js/new-parens":"error","no-bitwise":"off","no-lonely-if":"error","@stylistic/js/no-mixed-operators":["error",{groups:[["**","+"],["**","-"],["**","*"],["**","/"],["%","+"],["%","-"],["%","*"],["%","/"],["%","**"],["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],allowSamePrecedence:!0}],"@stylistic/js/no-mixed-spaces-and-tabs":"error","no-multi-assign":["error"],"@stylistic/js/no-multiple-empty-lines":["error",{max:1,maxBOF:0,maxEOF:0}],"no-negated-condition":"off","no-nested-ternary":"off","sukka/unicorn/no-nested-ternary":"warn","no-new-object":"off","no-object-constructor":"error","no-array-constructor":"error","@stylistic/js/no-spaced-func":"off","@stylistic/js/no-tabs":"error","no-ternary":"off","@stylistic/js/no-trailing-spaces":"error","no-unneeded-ternary":"error","@stylistic/js/no-whitespace-before-property":"error","@stylistic/js/nonblock-statement-body-position":"error","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","prefer-exponentiation-operator":"error","@stylistic/js/operator-linebreak":["error","before"],"@stylistic/js/padded-blocks":["error","never"],"@stylistic/js/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":["error","single"],"@stylistic/js/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/jsx-quotes":["error","prefer-double"],"@stylistic/js/rest-spread-spacing":["error","never"],"@stylistic/js/semi":["error","always"],"@stylistic/js/semi-spacing":["error",{before:!1,after:!0}],"@stylistic/js/semi-style":["error","last"],"@stylistic/js/space-before-blocks":"error","@stylistic/js/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-in-parens":["error","never"],"@stylistic/js/space-infix-ops":"error","@stylistic/js/space-unary-ops":["error",{words:!0,nonwords:!1,overrides:{}}],"@stylistic/js/spaced-comment":["error","always",{line:{exceptions:["-","+"],markers:["=","!","/"]},block:{exceptions:["-","+"],markers:["=","!",":","::"],balanced:!0}}],"@stylistic/js/switch-colon-spacing":["error",{after:!0,before:!1}],"@stylistic/js/template-tag-spacing":["error","never"],"unicode-bom":["error","never"],"@stylistic/js/wrap-regex":"off","no-label-var":"error","no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-globals":["error",{name:"isFinite",message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite"},{name:"isNaN",message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan"}],"no-undef-init":"error","sukka/array/no-unneeded-flat-map":"error","sukka/browser/prefer-location-assign":"warn","sukka/jsx/no-template-literal":"error","sukka/jsx/no-unneeded-nested":"error","sukka/string/no-locale-case":"warn","sukka/string/no-simple-template-literal":"error","sukka/type/no-instanceof-wrapper":"error","sukka/unicode/no-bidi":"warn","sukka/unicode/no-invisible":"warn","sukka/no-redundant-variable":"error","sukka/no-single-return":"error","sukka/prefer-early-return":["error",{maximumStatements:16}],"sukka/prefer-fetch":"error","sukka/prefer-timer-id":"warn","sukka/unicorn/require-array-join-separator":"warn","sukka/unicorn/no-thenable":"error","sukka/unicorn/no-invalid-remove-event-listener":"error","sukka/unicorn/consistent-function-scoping":"warn","sukka/unicorn/prefer-event-target":"warn","sukka/unicorn/prefer-keyboard-event-key":"warn","sukka/unicorn/prefer-text-content":"warn","sukka/unicorn/no-console-spaces":"warn","sukka/unicorn/no-empty-file":"warn","sukka/unicorn/no-useless-fallback-in-spread":"warn","sukka/unicorn/no-useless-length-check":"warn","sukka/unicorn/no-useless-promise-resolve-reject":"warn","sukka/unicorn/no-zero-fractions":"warn","sukka/unicorn/prefer-export-from":["warn",{ignoreUsedVariables:!0}],"sukka/unicorn/prefer-native-coercion-functions":"warn","sukka/unicorn/no-document-cookie":"error","sukka/unicorn/prefer-add-event-listener":"warn","sukka/unicorn/prefer-array-index-of":"warn","sukka/unicorn/prefer-blob-reading-methods":"warn","sukka/unicorn/prefer-date-now":"warn","sukka/unicorn/prefer-dom-node-dataset":"warn","sukka/unicorn/prefer-modern-math-apis":"warn","sukka/unicorn/number-literal-case":"error","sukka/unicorn/prefer-number-properties":["warn",{checkInfinity:!1}],"sukka/unicorn/prefer-reflect-apply":"warn","sukka/unicorn/prefer-set-size":"warn","sukka/unicorn/prefer-string-replace-all":"warn","sukka/unicorn/prefer-string-slice":"warn","sukka/unicorn/prefer-string-trim-start-end":"warn","sukka/unicorn/no-unreadable-iife":"warn","sukka/unicorn/throw-new-error":"warn","sukka/unicorn/better-regex":"error","sukka/unicorn/escape-case":"warn","sukka/unicorn/no-hex-escape":"warn","sukka/unicorn/prefer-prototype-methods":"warn","sukka/unicorn/error-message":"error","sukka/unicorn/no-instanceof-array":"error","sukka/unicorn/prefer-type-error":"error","sukka/unicorn/consistent-destructuring":"warn","sukka/unicorn/new-for-builtins":"warn","sukka/unicorn/no-array-push-push":"warn","sukka/unicorn/no-static-only-class":"warn","sukka/unicorn/no-unreadable-array-destructuring":"error","sukka/unicorn/no-useless-spread":"warn","sukka/unicorn/no-useless-switch-case":"warn","sukka/unicorn/no-useless-undefined":["error",{checkArguments:!1}],"sukka/unicorn/numeric-separators-style":["warn",{onlyIfContainsSeparator:!1,number:{minimumDigits:7,groupLength:3},binary:{minimumDigits:9,groupLength:4},octal:{minimumDigits:9,groupLength:4},hexadecimal:{minimumDigits:5,groupLength:2}}],"sukka/unicorn/prefer-array-find":"warn","sukka/unicorn/prefer-array-flat-map":"warn","sukka/unicorn/prefer-array-flat":"warn","sukka/unicorn/prefer-array-some":"warn","sukka/unicorn/prefer-code-point":"warn","sukka/unicorn/prefer-default-parameters":"warn","sukka/unicorn/prefer-logical-operator-over-ternary":"warn","sukka/unicorn/prefer-optional-catch-binding":"error","sukka/unicorn/prefer-regexp-test":"warn","sukka/unicorn/prefer-set-has":"error","sukka/unicorn/prefer-switch":"warn","sukka/unicorn/require-number-to-fixed-digits-argument":"warn","sukka/import-dedupe":"error","sukka/unicorn/prefer-string-raw":"warn","sukka/unicorn/no-single-promise-in-promise-methods":"error","sukka/unicorn/no-await-in-promise-methods":"error","sukka/unicorn/template-indent":["warn",{tags:["outdent","dedent","gql","sql","html","styled","css"],functions:["dedent","stripIndent","strip_indent","stripTags","striptags","strip_tags","stripHtml","stripHTML","strip_html"],selectors:[],comments:["HTML","html","CSS","css","indent"]}],"sukka/unicorn/no-negation-in-equality-check":"error","no-restricted-imports":["error",{paths:t.RESTRICTED_IMPORT_JS}],"no-prototype-builtins":"off","autofix/no-prototype-builtins":"error"}}];if(!1!==n){let e="boolean"!=typeof n?Array.isArray(n)?n:[n]:null;u.push({name:"@eslint-sukka/js cli specific",files:e??[`**/scripts/${t.constants.GLOB_SRC}`,`**/cli/${t.constants.GLOB_SRC}`,`**/cli.${t.constants.GLOB_SRC_EXT}`],rules:{"no-console":"off"}})}return u},er={plugins:{jsonc:t.memo(S,"eslint-plugin-jsonc")},languageOptions:{parser:k}},et={"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",2],"jsonc/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"jsonc/object-curly-newline":"off","jsonc/object-curly-spacing":["error","always"],"jsonc/object-property-newline":["error",{allowMultiplePropertiesPerLine:!0}],"jsonc/quote-props":"error","jsonc/quotes":"error"},en=()=>[...S.configs["flat/base"],{name:"@eslint-sukka/json json",files:[t.constants.GLOB_JSON],rules:{...S.configs["flat/recommended-with-json"].reduce((e,r)=>({...e,...r.rules}),{}),...et}},{name:"@eslint-sukka/json json5",...er,files:[t.constants.GLOB_JSON5],rules:{...S.configs["flat/recommended-with-json5"].reduce((e,r)=>({...e,...r.rules}),{}),...et}},{name:"@eslint-sukka/json jsonc",...er,files:[t.constants.GLOB_JSONC],rules:{...S.configs["flat/recommended-with-jsonc"].reduce((e,r)=>({...e,...r.rules}),{}),...et}},{name:"@eslint-sukka/json package.json",...er,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"@eslint-sukka/json tsconfig.json",...er,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}}],eo={"no-dupe-class-members":"off","@typescript-eslint/no-dupe-class-members":"error","no-redeclare":"off","@typescript-eslint/no-redeclare":"error","no-unused-vars":"off","@typescript-eslint/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"class-methods-use-this":"off","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[]}],"default-param-last":"off","@typescript-eslint/default-param-last":"error","dot-notation":"off","@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"no-implied-eval":"off","@typescript-eslint/no-implied-eval":"error","no-invalid-this":"off","@typescript-eslint/no-invalid-this":"off","no-loop-func":"off","@typescript-eslint/no-loop-func":"error","no-return-await":"off","@typescript-eslint/return-await":"error","sukka/no-return-await":"off","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"prefer-promise-reject-errors":"off","@typescript-eslint/prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"require-await":"off","@typescript-eslint/require-await":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@stylistic/js/no-extra-parens":"off","@stylistic/ts/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@stylistic/js/block-spacing":"off","@stylistic/ts/block-spacing":["error","always"],"@stylistic/js/brace-style":"off","@stylistic/ts/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:"off","@stylistic/js/comma-dangle":"off","@stylistic/ts/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":"off","@stylistic/ts/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/func-call-spacing":"off","@stylistic/ts/func-call-spacing":["error","never"],"@stylistic/js/indent":"off","@stylistic/ts/indent":["error",2,{SwitchCase:1}],"@stylistic/js/key-spacing":"off","@stylistic/ts/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":"off","@stylistic/ts/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/lines-around-comment":"off","@stylistic/ts/lines-around-comment":"off","@stylistic/js/lines-between-class-members":"off","@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@stylistic/js/object-curly-newline":"off","@stylistic/ts/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/ts/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/ts/object-property-newline":"off","@stylistic/js/padding-line-between-statements":"off","@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":"off","@stylistic/ts/quotes":["error","single"],"@stylistic/js/quote-props":"off","@stylistic/ts/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/semi":"off","@stylistic/ts/semi":["error","always"],"@stylistic/js/space-before-blocks":"off","@stylistic/ts/space-before-blocks":"error","@stylistic/js/space-before-function-paren":"off","@stylistic/ts/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-infix-ops":"off","@stylistic/ts/space-infix-ops":"error","no-use-before-define":"off","@typescript-eslint/no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-imports":"off"},es=[".js",".jsx",".mjs",".cjs"],ei=[".ts",".cts",".mts",".tsx",".d.ts"],ea=[...ei,...es],el=[".ts",".cts",".mts",".tsx",...es],ec=(e={})=>{let{tsconfigPath:r=!0,tsconfigRootDir:n=process.cwd(),componentExtentions:o=[]}=e,s=w.fileURLToPath(t.importMetaResolve("@typescript-eslint/parser","string"==typeof __dirname?w.pathToFileURL(__dirname).href:"undefined"==typeof document?require("url").pathToFileURL(__filename).href:C&&C.src||new URL("index.cjs",document.baseURI).href));return[{name:"@eslint-sukka/ts base",files:[t.constants.GLOB_TS,t.constants.GLOB_TSX,...o.map(e=>`**/*.${e}`)],plugins:{...E.configs.base.plugins,"@stylistic/ts":t.memo(h,"@stylistic/eslint-plugin-ts"),"sukka-ts":t.memo(b,"eslint-plugin-sukka-ts"),"@stylistic/plus":t.memo(d,"@stylistic/eslint-plugin-plus"),"import-x":t.memo(y,"eslint-plugin-import-x")},languageOptions:{parser:E.configs.base.languageOptions.parser,sourceType:"module",parserOptions:{sourceType:"module",ecmaVersion:"latest",...!0===r?{projectService:!0,allowDefaultProject:[]}:{project:r},tsconfigRootDir:n,ecmaFeatures:{jsx:!0},jsxPragma:void 0,warnOnUnsupportedTypeScriptVersion:!0}},settings:{"import-x/extensions":ea,"import-x/external-module-folders":["node_modules","node_modules/@types"],"import-x/resolver":{node:{extensions:el},"ts-bundled":{alwaysTryTypes:!0,...!0===r?{}:{project:r}}},"import-x/parsers":{espree:es,[s]:ei}},rules:{...E.configs.base.rules,...E.configs.recommendedTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...E.configs.stylisticTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...y.configs.typescript.rules,...eo,"@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description","ts-ignore":!0,"ts-nocheck":!0,"ts-check":!1,minimumDescriptionLength:10}],"@typescript-eslint/naming-convention":["warn",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE","snake_case"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"function",format:["camelCase","PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"typeLike",format:["PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"}],"@typescript-eslint/consistent-type-assertions":["error",{assertionStyle:"as",objectLiteralTypeAssertions:"allow"}],"@typescript-eslint/require-await":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:!1}],"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0,allowAny:!0,allowBoolean:!0,allowNever:!0}],"@typescript-eslint/unbound-method":"error","@typescript-eslint/consistent-type-imports":["warn",{prefer:"type-imports",disallowTypeAnnotations:!1,fixStyle:"separate-type-imports"}],"@typescript-eslint/no-import-type-side-effects":"warn","@typescript-eslint/consistent-type-exports":["warn",{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-definitions":"warn","@typescript-eslint/consistent-generic-constructors":["error","constructor"],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["Error","RegExp","URL","URLSearchParams"]}],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extraneous-class":["warn",{allowConstructorOnly:!0,allowEmpty:!0,allowWithDecorator:!0}],"@typescript-eslint/no-invalid-void-type":["off",{allowInGenericTypeArguments:!0,allowAsThisParameter:!0}],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":["warn",{allowConstantLoopConditions:!0}],"@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":["error",{allowBitwiseExpressions:!0}],"@typescript-eslint/prefer-nullish-coalescing":"off","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/unified-signatures":["error",{ignoreDifferentlyNamedParameters:!0}],"@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/consistent-indexed-object-style":"off","@typescript-eslint/prefer-enum-initializers":"warn","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-meaningless-void-operator":"warn","@typescript-eslint/no-unnecessary-qualifier":"warn","@typescript-eslint/array-type":["warn",{default:"array-simple"}],"@typescript-eslint/no-restricted-imports":["error",{paths:t.RESTRICTED_IMPORT_TS}],"@typescript-eslint/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never",allowWithName:"Props$"}],"@typescript-eslint/no-unsafe-function-type":"warn","@typescript-eslint/no-restricted-types":["error",{types:{FC:{message:"To declare a component, you don't have to use FC to annotate it. To type something that accepts/is a React Component, use ComponentType<T>.",fixWith:"ComponentType"},"React.FC":{message:"To declare a component, you don't have to use React.FC to annotate it. To type something that accepts/is a React Component, use React.ComponentType<T>.",fixWith:"React.ComponentType"},ReactElement:{message:"In most cases, you want ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"ReactNode"},"React.ReactElement":{message:"In most cases, you want React.ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"React.ReactNode"}}}],"@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-explicit-any":"warn","@typescript-eslint/no-loop-func":"warn","@typescript-eslint/no-redundant-type-constituents":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-unsafe-enum-comparison":"warn","@typescript-eslint/prefer-regexp-exec":"off","@stylistic/ts/member-delimiter-style":["error",{multiline:{delimiter:"comma",requireLast:!1},singleline:{delimiter:"comma",requireLast:!1}}],"@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0,exceptAfterOverload:!0}],"@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"},{blankLine:"any",prev:["interface","type"],next:["interface","type"]}],"@stylistic/ts/type-annotation-spacing":["error",{before:!1,after:!0,overrides:{arrow:{before:!0,after:!0}}}],"@typescript-eslint/no-namespace":"off","@typescript-eslint/prefer-string-starts-ends-with":"off","sukka-ts/string/prefer-string-starts-ends-with":"error","@typescript-eslint/switch-exhaustiveness-check":"error","sukka-ts/string/no-unneeded-to-string":"error","sukka-ts/type/no-force-cast-via-top-type":"error","sukka-ts/type/no-wrapper-type-reference":"error","sukka-ts/no-default-error":"off","sukka-ts/no-const-enum":"error","@stylistic/plus/type-generic-spacing":"error","@stylistic/plus/type-named-tuple-spacing":"error","@typescript-eslint/no-unused-vars":"off","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-imports":"error","import-x/named":"off","import-x/no-duplicates":"off","import-x/namespace":"off","import-x/default":"off","import-x/no-named-as-default-member":"off"}},{name:"@eslint-sukka/ts dts",files:["**/*.d.ts"],plugins:{"import-x":t.memo(y,"eslint-plugin-import-x")},rules:{"import-x/no-duplicates":"off","unused-imports/no-unused-vars":"off"}},{name:"@eslint-sukka/ts jest/mocha",files:["**/*.{test,spec}.ts?(x)"],rules:{"no-unused-expressions":"off"}},{name:"@eslint-sukka/ts commonjs",files:["**/*.js","**/*.cjs"],plugins:E.configs.base.plugins,rules:{"@typescript-eslint/no-require-imports":"off","@typescript-eslint/no-var-requires":"off"}}]},eu=(e={})=>[{name:"@eslint-sukka/legacy base",...e.files?{files:e.files}:{},plugins:{sukka:t.memo(c,"eslint-plugin-sukka")},rules:{"prefer-numeric-literals":"off","no-restricted-properties":["error",{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."}],"no-var":"off","prefer-object-spread":"off",strict:["error","safe"],"sukka/unicorn/prefer-default-parameters":"off","sukka/unicorn/prefer-logical-operator-over-ternary":"off","sukka/unicorn/prefer-optional-catch-binding":"off"},languageOptions:{globals:{...e.browser??!0?Y.browser:{},...e.node?Y.node:{}}}}];function ep(e,r=!1){return"boolean"==typeof e?e:e?.enable??r}function em(e){if("boolean"==typeof e||void 0===e)return;let{enable:r,...t}=e;return t}function ed(e){v.isPackageExists(e)&&console.error(T.yellow(`[eslint-config-sukka] "${e}" is deprecated and you should uninstall it`))}const ef=async(r,...t)=>{let n=[];ed("@eslint-sukka/js"),ed("@eslint-sukka/json"),ed("@eslint-sukka/ts"),ed("@eslint-sukka/legacy");let o=ep(r?.ts,v.isPackageExists("typescript"));n.push(Q(r?.ignores),z(),J({typescript:o})),ep(r?.js,!0)&&n.push(ee(em(r?.js))),ep(r?.json,!0)&&n.push(en()),o&&n.push(ec(em(r?.ts)));let s=v.isPackageExists("next");if(ep(r?.react,v.isPackageExists("react")||s)){if(o){let t=await e("@eslint-sukka/react");n.push(t.react(em(r?.react))),ep(r?.next,s)&&n.push(t.next()),ep(r?.stylex,v.isPackageExists("@stylexjs/stylex"))&&n.push(t.stylex(em(r?.stylex)))}else console.warn("[eslint-config-sukka] React module will not be enabled when TypeScript is not set up.")}return ep(r?.node,v.isPackageExists("@types/node")||v.isPackageExists("@types/bun"))&&n.push((await e("@eslint-sukka/node")).node(em(r?.node))),ep(r?.legacy)&&n.push(eu(em(r?.legacy))),n.push(t),n.flat()};Object.defineProperty(exports,"constants",{enumerable:!0,get:function(){return t.constants}}),exports.ignores=Q,exports.sukka=ef;
|
package/dist/index.d.ts
CHANGED
|
@@ -85,13 +85,29 @@ interface OptionsReact {
|
|
|
85
85
|
reactCompiler?: 'off' | 'warn' | 'error';
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
interface OptionsStyleX {
|
|
89
|
+
opt?: StyleXESLintOptions;
|
|
90
|
+
}
|
|
91
|
+
interface StyleXESLintOptions {
|
|
92
|
+
validImports: string[];
|
|
93
|
+
propLimits?: PropLimits;
|
|
94
|
+
allowOuterPseudoAndMedia: boolean;
|
|
95
|
+
banPropsForLegacy: boolean;
|
|
96
|
+
}
|
|
97
|
+
interface PropLimits {
|
|
98
|
+
[propertyName: string]: {
|
|
99
|
+
limit: null | 'string' | 'number' | string | number | Array<string | number>;
|
|
100
|
+
reason: string;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
|
|
88
104
|
interface OptionsNode {
|
|
89
105
|
strict?: boolean;
|
|
90
106
|
module?: boolean;
|
|
91
107
|
files?: FlatESLintConfigItem['files'];
|
|
92
108
|
}
|
|
93
109
|
|
|
94
|
-
type SharedOptions<T = object> = Omit<T, 'isInEditor'> & {
|
|
110
|
+
type SharedOptions<T = object> = Omit<T, 'isInEditor' | 'enable'> & {
|
|
95
111
|
enable?: boolean;
|
|
96
112
|
};
|
|
97
113
|
interface ESLintSukkaOptions {
|
|
@@ -101,6 +117,7 @@ interface ESLintSukkaOptions {
|
|
|
101
117
|
json?: boolean;
|
|
102
118
|
ts?: SharedOptions<OptionsTypeScript> | boolean;
|
|
103
119
|
react?: SharedOptions<OptionsReact> | boolean;
|
|
120
|
+
stylex?: SharedOptions<OptionsStyleX> | boolean;
|
|
104
121
|
next?: boolean;
|
|
105
122
|
node?: SharedOptions<OptionsNode> | boolean;
|
|
106
123
|
legacy?: SharedOptions<OptionsLegacy> | boolean;
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
let e=e=>import(e);import{constants as r,memo as t,RESTRICTED_IMPORT_JS as n,importMetaResolve as o,RESTRICTED_IMPORT_TS as s}from"@eslint-sukka/shared";export{constants}from"@eslint-sukka/shared";import i from"node:fs";import a from"node:path";import l from"node:process";import{fileURLToPath as c}from"node:url";import*as p from"fs";import u from"@eslint-community/eslint-plugin-eslint-comments";import m from"eslint-plugin-sukka";import d from"eslint-plugin-promise";import f from"@eslint/js";import y from"@stylistic/eslint-plugin-js";import g from"@stylistic/eslint-plugin-plus";import S from"eslint-plugin-unused-imports";import k from"eslint-plugin-import-x";import b from"eslint-plugin-autofix";import E from"eslint-plugin-jsonc";import h from"jsonc-eslint-parser";import w from"eslint-plugin-sukka-ts";import{configs as v}from"typescript-eslint";import T from"@stylistic/eslint-plugin-ts";import{fileURLToPath as C,pathToFileURL as M}from"url";import{isPackageExists as R}from"local-pkg";import P from"picocolors";let L={directory:"isDirectory",file:"isFile"},
|
|
1
|
+
let e=e=>import(e);import{constants as r,memo as t,RESTRICTED_IMPORT_JS as n,importMetaResolve as o,RESTRICTED_IMPORT_TS as s}from"@eslint-sukka/shared";export{constants}from"@eslint-sukka/shared";import i from"node:fs";import a from"node:path";import l from"node:process";import{fileURLToPath as c}from"node:url";import*as p from"fs";import u from"@eslint-community/eslint-plugin-eslint-comments";import m from"eslint-plugin-sukka";import d from"eslint-plugin-promise";import f from"@eslint/js";import y from"@stylistic/eslint-plugin-js";import g from"@stylistic/eslint-plugin-plus";import S from"eslint-plugin-unused-imports";import k from"eslint-plugin-import-x";import b from"eslint-plugin-autofix";import E from"eslint-plugin-jsonc";import h from"jsonc-eslint-parser";import w from"eslint-plugin-sukka-ts";import{configs as v}from"typescript-eslint";import T from"@stylistic/eslint-plugin-ts";import{fileURLToPath as C,pathToFileURL as M}from"url";import{isPackageExists as R}from"local-pkg";import P from"picocolors";let L={directory:"isDirectory",file:"isFile"},x=(e,r)=>r[L[e]](),G=e=>e instanceof URL?c(e):e;function j(e){return e instanceof URL?c(e):e}let I=Symbol("findUpStop");var D=function(e){if(e.__esModule)return e;var r=e.default;if("function"==typeof r){var t=function e(){return this instanceof e?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}),t}(p);let A=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),V=/[<>:"|?*\n\r\t\f\x00-\x1F]/,F=/(?:^|\/)[*]{2}($|\/)/,O=e=>"string"==typeof e&&e.length<=248&&!V.test(e),U=e=>String(e).split(/\r\n?|\n/),B=e=>e.startsWith("#"),H=e=>A(e)&&e.patterns&&e.sections,N=(e,r={})=>{let t,n=r.path;if(H(e))return e;O(e)&&D.existsSync(e)&&(n=e,e=D.readFileSync(e));let o=U(e),s=new Map,i={sections:[],patterns:[]},a={name:"default",patterns:[]};for(let e of o){let r=e.trim();if(r.startsWith("#")){let[,e]=/^#+\s*(.*)\s*$/.exec(r);if(t){s.delete(t.name),t.comment+=r?`
|
|
2
2
|
${r}`:"",t.name=e?`${t.name.trim()}
|
|
3
|
-
${e.trim()}`:t.name.trim(),s.set(t.name.toLowerCase().trim(),t);continue}a={name:e.trim(),comment:r,patterns:[]},s.set(a.name.toLowerCase(),a),i.sections.push(a),t=a;continue}""!==r&&(a.patterns.push(r),i.patterns.push(r)),t=null}return(!0===r.dedupe||!0===r.unique)&&(i=W(i,{...r,format:!1})),i.path=n,i.input=Buffer.from(e),i.format=e=>$(i,{...r,...e}),i.dedupe=e=>W(i,{...r,...e}),i.globs=e=>X(i,{path:n,...r,...e}),i},W=(e,r)=>{let t;let n=N(e,{...r,dedupe:!1}),o=new Map,s={sections:[],patterns:new Set};for(let e of n.sections){let{name:r="",comment:n,patterns:i}=e,a=r.trim().toLowerCase();for(let e of i)s.patterns.add(e);r&&o.has(a)?(t=o.get(a)).patterns=[...t.patterns,...i]:(t={name:r,comment:n,patterns:i},s.sections.push(t),o.set(a,t))}for(let e of s.sections)e.patterns=[...new Set(e.patterns)];return s.patterns=[...s.patterns],s},_=(e,r)=>{if(F.test(e))return e;let t=!1;return e.startsWith("/")?(e=e.slice(1),t=!0):e.slice(1,e.length-1).includes("/")&&(t=!0),e+=e.endsWith("/")?"**/":"/**",t?e:`**/${e}`},X=(e,r={})=>{let t=N(e,r),n=[],o=0,s=t.patterns.concat(r.ignore||[]).concat((r.unignore||[]).map(e=>e.startsWith("!")?e:"!"+e)),i=(e,t)=>{let s=n[n.length-1],i=e?"unignore":"ignore";s&&s.type===i?s.patterns.includes(t)||s.patterns.push(t):(n.push({type:i,path:r.path||null,patterns:[t],index:o}),o++)};for(let e of s){let r="";e.startsWith("!")&&(e=e.slice(1),r="!"),i(r,e.startsWith("/")?e.slice(1):e),i(r,_(e))}return n},q=(e={})=>{let r=[e.comment||""];return e.patterns?.length&&(r.push(e.patterns.join("\n")),r.push("")),r.join("\n")},$=(e,r={})=>{let t=N(e,r),n=r.formatSection||q,o=t.sections||t,s=[];for(let e of[].concat(o))s.push(n(e));return s.join("\n")};N.file=(e,r)=>N(D.readFileSync(e,"utf8"),r),N.parse=N,N.dedupe=W,N.format=$,N.globs=X,N.formatSection=q,N.patterns=e=>U(e).map(e=>e.trim()).filter(e=>""!==e&&!B(e));var K=N&&N.__esModule&&Object.prototype.hasOwnProperty.call(N,"default")?N.default:N;let Q=".gitignore";function z(e={}){let r=[],{root:t=!1,files:n=t?Q:function(e,r={}){return function(e,r={}){let t=a.resolve(j(r.cwd)??""),{root:n}=a.parse(t),o=a.resolve(t,j(r.stopAt)??n),s=r.limit??Number.POSITIVE_INFINITY,c=[e].flat(),p=e=>(function(e,{cwd:r=l.cwd(),type:t="file",allowSymlinks:n=!0}={}){!function(e){if(!Object.hasOwnProperty.call(L,e))throw Error(`Invalid type specified: ${e}`)}(t),r=
|
|
4
|
-
`).globs())"ignore"===e.type?r.push(...e.patterns):"unignore"===e.type&&r.push(...e.patterns.map(e=>`!${e}`))}if(o&&0===s.length)throw Error("No .gitignore file found");return{ignores:r}}let J=(e={})=>{let{customGlobs:t=null,gitignore:n=[".gitignore"]}=e,o=[],s=[];return!1===t||null===t?s=r.GLOB_EXCLUDE:"function"==typeof t?s=t(r.GLOB_EXCLUDE):"string"==typeof t?s.push(...r.GLOB_EXCLUDE,t):Array.isArray(t)&&s.push(...r.GLOB_EXCLUDE,...t),o.push({ignores:s}),!1===n||null===n||(!0===n?o.push(z({files:[".gitignore"],strict:!1})):("string"==typeof n||Array.isArray(n))&&o.push(z({files:n,strict:!1}))),o},Y=()=>[{name:"sukka/eslint-comments",plugins:{"@eslint-community/eslint-comments":u,sukka:t(m,"eslint-plugin-sukka")},rules:{"sukka/ban-eslint-disable":["error","allow-with-description"],"@eslint-community/eslint-comments/disable-enable-pair":"error","@eslint-community/eslint-comments/no-aggregating-enable":"error","@eslint-community/eslint-comments/no-duplicate-disable":"error","@eslint-community/eslint-comments/no-unlimited-disable":"error","@eslint-community/eslint-comments/no-unused-disable":"error","@eslint-community/eslint-comments/no-unused-enable":"error"}}],Z=({typescript:e})=>[{name:"sukka/promise",plugins:{promise:d},rules:{"promise/always-return":e?"off":["error",{ignoreLastCallback:!0}],"promise/no-return-wrap":"error","promise/param-names":"error","promise/catch-or-return":["error",{allowFinally:!0,terminationMethod:["catch","asCallback","finally"]}],"promise/no-native":"off","promise/no-nesting":"warn","promise/no-promise-in-callback":"warn","promise/no-callback-in-promise":"warn","promise/avoid-new":"off","promise/no-new-statics":"error","promise/no-return-in-finally":"warn","promise/valid-params":"warn"}}];var ee={browser:{AbortController:!1,AbortSignal:!1,AbsoluteOrientationSensor:!1,AbstractRange:!1,Accelerometer:!1,addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffect:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioData:!1,AudioDecoder:!1,AudioDestinationNode:!1,AudioEncoder:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioParamMap:!1,AudioProcessingEvent:!1,AudioScheduledSourceNode:!1,AudioSinkInfo:!1,AudioWorklet:!1,AudioWorkletGlobalScope:!1,AudioWorkletNode:!1,AudioWorkletProcessor:!1,AuthenticatorAssertionResponse:!1,AuthenticatorAttestationResponse:!1,AuthenticatorResponse:!1,BackgroundFetchManager:!1,BackgroundFetchRecord:!1,BackgroundFetchRegistration:!1,BarProp:!1,BaseAudioContext:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,BlobEvent:!1,Bluetooth:!1,BluetoothCharacteristicProperties:!1,BluetoothDevice:!1,BluetoothRemoteGATTCharacteristic:!1,BluetoothRemoteGATTDescriptor:!1,BluetoothRemoteGATTServer:!1,BluetoothRemoteGATTService:!1,BluetoothUUID:!1,blur:!1,BroadcastChannel:!1,BrowserCaptureMediaStreamTrack:!1,btoa:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasCaptureMediaStream:!1,CanvasCaptureMediaStreamTrack:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CaptureController:!1,CaretPosition:!1,CDATASection:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterBoundsUpdateEvent:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,Clipboard:!1,ClipboardEvent:!1,ClipboardItem:!1,close:!1,closed:!1,CloseEvent:!1,CloseWatcher:!1,Comment:!1,CompositionEvent:!1,CompressionStream:!1,confirm:!1,console:!1,ConstantSourceNode:!1,ContentVisibilityAutoStateChangeEvent:!1,ConvolverNode:!1,CookieChangeEvent:!1,CookieDeprecationLabel:!1,cookieStore:!1,CookieStore:!1,CookieStoreManager:!1,CountQueuingStrategy:!1,createImageBitmap:!1,Credential:!1,credentialless:!1,CredentialsContainer:!1,CropTarget:!1,crossOriginIsolated:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSAnimation:!1,CSSConditionRule:!1,CSSContainerRule:!1,CSSCounterStyleRule:!1,CSSFontFaceRule:!1,CSSFontFeatureValuesRule:!1,CSSFontPaletteValuesRule:!1,CSSGroupingRule:!1,CSSImageValue:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSKeywordValue:!1,CSSLayerBlockRule:!1,CSSLayerStatementRule:!1,CSSMathClamp:!1,CSSMathInvert:!1,CSSMathMax:!1,CSSMathMin:!1,CSSMathNegate:!1,CSSMathProduct:!1,CSSMathSum:!1,CSSMathValue:!1,CSSMatrixComponent:!1,CSSMediaRule:!1,CSSNamespaceRule:!1,CSSNumericArray:!1,CSSNumericValue:!1,CSSPageRule:!1,CSSPerspective:!1,CSSPositionTryDescriptors:!1,CSSPositionTryRule:!1,CSSPositionValue:!1,CSSPropertyRule:!1,CSSRotate:!1,CSSRule:!1,CSSRuleList:!1,CSSScale:!1,CSSScopeRule:!1,CSSSkew:!1,CSSSkewX:!1,CSSSkewY:!1,CSSStartingStyleRule:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSStyleValue:!1,CSSSupportsRule:!1,CSSTransformComponent:!1,CSSTransformValue:!1,CSSTransition:!1,CSSTranslate:!1,CSSUnitValue:!1,CSSUnparsedValue:!1,CSSVariableReferenceValue:!1,CSSViewTransitionRule:!1,currentFrame:!1,currentTime:!1,CustomElementRegistry:!1,customElements:!1,CustomEvent:!1,CustomStateSet:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,DecompressionStream:!1,DelayNode:!1,DelegatedInkTrailPresenter:!1,DeviceMotionEvent:!1,DeviceMotionEventAcceleration:!1,DeviceMotionEventRotationRate:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,documentPictureInPicture:!1,DocumentPictureInPicture:!1,DocumentPictureInPictureEvent:!1,DocumentTimeline:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMMatrix:!1,DOMMatrixReadOnly:!1,DOMParser:!1,DOMPoint:!1,DOMPointReadOnly:!1,DOMQuad:!1,DOMRect:!1,DOMRectList:!1,DOMRectReadOnly:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,EditContext:!1,Element:!1,ElementInternals:!1,EncodedAudioChunk:!1,EncodedVideoChunk:!1,ErrorEvent:!1,event:!1,Event:!1,EventCounts:!1,EventSource:!1,EventTarget:!1,external:!1,External:!1,EyeDropper:!1,FeaturePolicy:!1,FederatedCredential:!1,fence:!1,Fence:!1,FencedFrameConfig:!1,fetch:!1,fetchLater:!1,FetchLaterResult:!1,File:!1,FileList:!1,FileReader:!1,FileSystem:!1,FileSystemDirectoryEntry:!1,FileSystemDirectoryHandle:!1,FileSystemDirectoryReader:!1,FileSystemEntry:!1,FileSystemFileEntry:!1,FileSystemFileHandle:!1,FileSystemHandle:!1,FileSystemWritableFileStream:!1,find:!1,Float16Array:!1,focus:!1,FocusEvent:!1,FontData:!1,FontFace:!1,FontFaceSet:!1,FontFaceSetLoadEvent:!1,FormData:!1,FormDataEvent:!1,FragmentDirective:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadAxisMoveEvent:!1,GamepadButton:!1,GamepadButtonEvent:!1,GamepadEvent:!1,GamepadHapticActuator:!1,GamepadPose:!1,Geolocation:!1,GeolocationCoordinates:!1,GeolocationPosition:!1,GeolocationPositionError:!1,getComputedStyle:!1,getScreenDetails:!1,getSelection:!1,GPU:!1,GPUAdapter:!1,GPUAdapterInfo:!1,GPUBindGroup:!1,GPUBindGroupLayout:!1,GPUBuffer:!1,GPUBufferUsage:!1,GPUCanvasContext:!1,GPUColorWrite:!1,GPUCommandBuffer:!1,GPUCommandEncoder:!1,GPUCompilationInfo:!1,GPUCompilationMessage:!1,GPUComputePassEncoder:!1,GPUComputePipeline:!1,GPUDevice:!1,GPUDeviceLostInfo:!1,GPUError:!1,GPUExternalTexture:!1,GPUInternalError:!1,GPUMapMode:!1,GPUOutOfMemoryError:!1,GPUPipelineError:!1,GPUPipelineLayout:!1,GPUQuerySet:!1,GPUQueue:!1,GPURenderBundle:!1,GPURenderBundleEncoder:!1,GPURenderPassEncoder:!1,GPURenderPipeline:!1,GPUSampler:!1,GPUShaderModule:!1,GPUShaderStage:!1,GPUSupportedFeatures:!1,GPUSupportedLimits:!1,GPUTexture:!1,GPUTextureUsage:!1,GPUTextureView:!1,GPUUncapturedErrorEvent:!1,GPUValidationError:!1,GravitySensor:!1,Gyroscope:!1,HashChangeEvent:!1,Headers:!1,HID:!1,HIDConnectionEvent:!1,HIDDevice:!1,HIDInputReportEvent:!1,Highlight:!1,HighlightRegistry:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDataElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFencedFrameElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLLabelElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLSlotElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTimeElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,IdentityCredential:!1,IdentityCredentialError:!1,IdentityProvider:!1,IdleDeadline:!1,IdleDetector:!1,IIRFilterNode:!1,Image:!1,ImageBitmap:!1,ImageBitmapRenderingContext:!1,ImageCapture:!1,ImageData:!1,ImageDecoder:!1,ImageTrack:!1,ImageTrackList:!1,indexedDB:!1,Ink:!1,innerHeight:!1,innerWidth:!1,InputDeviceCapabilities:!1,InputDeviceInfo:!1,InputEvent:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,isSecureContext:!1,Iterator:!1,Keyboard:!1,KeyboardEvent:!1,KeyboardLayoutMap:!1,KeyframeEffect:!1,LargestContentfulPaint:!1,LaunchParams:!1,launchQueue:!1,LaunchQueue:!1,LayoutShift:!1,LayoutShiftAttribution:!1,length:!1,LinearAccelerationSensor:!1,localStorage:!1,location:!0,Location:!1,locationbar:!1,Lock:!1,LockManager:!1,matchMedia:!1,MathMLElement:!1,MediaCapabilities:!1,MediaCapabilitiesInfo:!1,MediaDeviceInfo:!1,MediaDevices:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyError:!1,MediaKeyMessageEvent:!1,MediaKeys:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaMetadata:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaRecorder:!1,MediaRecorderErrorEvent:!1,MediaSession:!1,MediaSource:!1,MediaSourceHandle:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,MediaStreamTrackAudioSourceNode:!1,MediaStreamTrackAudioStats:!1,MediaStreamTrackEvent:!1,MediaStreamTrackGenerator:!1,MediaStreamTrackProcessor:!1,MediaStreamTrackVideoStats:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,model:!1,ModelGenericSession:!1,ModelManager:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,NavigateEvent:!1,navigation:!1,Navigation:!1,NavigationActivation:!1,NavigationCurrentEntryChangeEvent:!1,NavigationDestination:!1,NavigationHistoryEntry:!1,NavigationPreloadManager:!1,NavigationTransition:!1,navigator:!1,Navigator:!1,NavigatorLogin:!1,NavigatorManagedData:!1,NavigatorUAData:!1,NetworkInformation:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,NotifyPaintEvent:!1,NotRestoredReasonDetails:!1,NotRestoredReasons:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,OffscreenCanvas:!1,OffscreenCanvasRenderingContext2D:!1,onabort:!0,onafterprint:!0,onanimationcancel:!0,onanimationend:!0,onanimationiteration:!0,onanimationstart:!0,onappinstalled:!0,onauxclick:!0,onbeforeinput:!0,onbeforeinstallprompt:!0,onbeforematch:!0,onbeforeprint:!0,onbeforetoggle:!0,onbeforeunload:!0,onbeforexrselect:!0,onblur:!0,oncancel:!0,oncanplay:!0,oncanplaythrough:!0,onchange:!0,onclick:!0,onclose:!0,oncontentvisibilityautostatechange:!0,oncontextlost:!0,oncontextmenu:!0,oncontextrestored:!0,oncopy:!0,oncuechange:!0,oncut:!0,ondblclick:!0,ondevicemotion:!0,ondeviceorientation:!0,ondeviceorientationabsolute:!0,ondrag:!0,ondragend:!0,ondragenter:!0,ondragleave:!0,ondragover:!0,ondragstart:!0,ondrop:!0,ondurationchange:!0,onemptied:!0,onended:!0,onerror:!0,onfocus:!0,onformdata:!0,ongamepadconnected:!0,ongamepaddisconnected:!0,ongotpointercapture:!0,onhashchange:!0,oninput:!0,oninvalid:!0,onkeydown:!0,onkeypress:!0,onkeyup:!0,onlanguagechange:!0,onload:!0,onloadeddata:!0,onloadedmetadata:!0,onloadstart:!0,onlostpointercapture:!0,onmessage:!0,onmessageerror:!0,onmousedown:!0,onmouseenter:!0,onmouseleave:!0,onmousemove:!0,onmouseout:!0,onmouseover:!0,onmouseup:!0,onmousewheel:!0,onoffline:!0,ononline:!0,onpagehide:!0,onpagereveal:!0,onpageshow:!0,onpageswap:!0,onpaste:!0,onpause:!0,onplay:!0,onplaying:!0,onpointercancel:!0,onpointerdown:!0,onpointerenter:!0,onpointerleave:!0,onpointermove:!0,onpointerout:!0,onpointerover:!0,onpointerrawupdate:!0,onpointerup:!0,onpopstate:!0,onprogress:!0,onratechange:!0,onrejectionhandled:!0,onreset:!0,onresize:!0,onscroll:!0,onscrollend:!0,onsearch:!0,onsecuritypolicyviolation:!0,onseeked:!0,onseeking:!0,onselect:!0,onselectionchange:!0,onselectstart:!0,onslotchange:!0,onstalled:!0,onstorage:!0,onsubmit:!0,onsuspend:!0,ontimeupdate:!0,ontoggle:!0,ontransitioncancel:!0,ontransitionend:!0,ontransitionrun:!0,ontransitionstart:!0,onunhandledrejection:!0,onunload:!0,onvolumechange:!0,onwaiting:!0,onwheel:!0,open:!1,opener:!1,Option:!1,OrientationSensor:!1,origin:!1,originAgentCluster:!1,OscillatorNode:!1,OTPCredential:!1,outerHeight:!1,outerWidth:!1,OverconstrainedError:!1,PageRevealEvent:!1,PageSwapEvent:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,PannerNode:!1,parent:!1,PasswordCredential:!1,Path2D:!1,PaymentAddress:!1,PaymentManager:!1,PaymentMethodChangeEvent:!1,PaymentRequest:!1,PaymentRequestUpdateEvent:!1,PaymentResponse:!1,performance:!1,Performance:!1,PerformanceElementTiming:!1,PerformanceEntry:!1,PerformanceEventTiming:!1,PerformanceLongAnimationFrameTiming:!1,PerformanceLongTaskTiming:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceNavigationTiming:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformancePaintTiming:!1,PerformanceResourceTiming:!1,PerformanceScriptTiming:!1,PerformanceServerTiming:!1,PerformanceTiming:!1,PeriodicSyncManager:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,PERSISTENT:!1,personalbar:!1,PictureInPictureEvent:!1,PictureInPictureWindow:!1,Plugin:!1,PluginArray:!1,PointerEvent:!1,PopStateEvent:!1,postMessage:!1,Presentation:!1,PresentationAvailability:!1,PresentationConnection:!1,PresentationConnectionAvailableEvent:!1,PresentationConnectionCloseEvent:!1,PresentationConnectionList:!1,PresentationReceiver:!1,PresentationRequest:!1,PressureObserver:!1,PressureRecord:!1,print:!1,ProcessingInstruction:!1,Profiler:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,ProtectedAudience:!1,PublicKeyCredential:!1,PushManager:!1,PushSubscription:!1,PushSubscriptionOptions:!1,queryLocalFonts:!1,queueMicrotask:!1,RadioNodeList:!1,Range:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,registerProcessor:!1,RelativeOrientationSensor:!1,RemotePlayback:!1,removeEventListener:!1,reportError:!1,ReportingObserver:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,ResizeObserver:!1,ResizeObserverEntry:!1,ResizeObserverSize:!1,resizeTo:!1,Response:!1,RTCCertificate:!1,RTCDataChannel:!1,RTCDataChannelEvent:!1,RTCDtlsTransport:!1,RTCDTMFSender:!1,RTCDTMFToneChangeEvent:!1,RTCEncodedAudioFrame:!1,RTCEncodedVideoFrame:!1,RTCError:!1,RTCErrorEvent:!1,RTCIceCandidate:!1,RTCIceTransport:!1,RTCPeerConnection:!1,RTCPeerConnectionIceErrorEvent:!1,RTCPeerConnectionIceEvent:!1,RTCRtpReceiver:!1,RTCRtpScriptTransform:!1,RTCRtpSender:!1,RTCRtpTransceiver:!1,RTCSctpTransport:!1,RTCSessionDescription:!1,RTCStatsReport:!1,RTCTrackEvent:!1,sampleRate:!1,scheduler:!1,Scheduler:!1,Scheduling:!1,screen:!1,Screen:!1,ScreenDetailed:!1,ScreenDetails:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,ScrollTimeline:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,Sensor:!1,SensorErrorEvent:!1,Serial:!1,SerialPort:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,sharedStorage:!1,SharedStorage:!1,SharedStorageWorklet:!1,SharedWorker:!1,showDirectoryPicker:!1,showOpenFilePicker:!1,showSaveFilePicker:!1,SourceBuffer:!1,SourceBufferList:!1,speechSynthesis:!1,SpeechSynthesis:!1,SpeechSynthesisErrorEvent:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,SpeechSynthesisVoice:!1,StaticRange:!1,status:!1,statusbar:!1,StereoPannerNode:!1,stop:!1,Storage:!1,StorageBucket:!1,StorageBucketManager:!1,StorageEvent:!1,StorageManager:!1,structuredClone:!1,styleMedia:!1,StylePropertyMap:!1,StylePropertyMapReadOnly:!1,StyleSheet:!1,StyleSheetList:!1,SubmitEvent:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAngle:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGComponentTransferFunctionElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGElement:!1,SVGEllipseElement:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGImageElement:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPathElement:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGViewElement:!1,SyncManager:!1,TaskAttributionTiming:!1,TaskController:!1,TaskPriorityChangeEvent:!1,TaskSignal:!1,TEMPORARY:!1,Text:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TextEvent:!1,TextFormat:!1,TextFormatUpdateEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TextUpdateEvent:!1,TimeEvent:!1,TimeRanges:!1,ToggleEvent:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransformStream:!1,TransformStreamDefaultController:!1,TransitionEvent:!1,TreeWalker:!1,TrustedHTML:!1,TrustedScript:!1,TrustedScriptURL:!1,TrustedTypePolicy:!1,TrustedTypePolicyFactory:!1,trustedTypes:!1,UIEvent:!1,URL:!1,URLPattern:!1,URLSearchParams:!1,USB:!1,USBAlternateInterface:!1,USBConfiguration:!1,USBConnectionEvent:!1,USBDevice:!1,USBEndpoint:!1,USBInterface:!1,USBInTransferResult:!1,USBIsochronousInTransferPacket:!1,USBIsochronousInTransferResult:!1,USBIsochronousOutTransferPacket:!1,USBIsochronousOutTransferResult:!1,USBOutTransferResult:!1,UserActivation:!1,ValidityState:!1,VideoColorSpace:!1,VideoDecoder:!1,VideoEncoder:!1,VideoFrame:!1,VideoPlaybackQuality:!1,ViewTimeline:!1,ViewTransition:!1,ViewTransitionTypeSet:!1,VirtualKeyboard:!1,VirtualKeyboardGeometryChangeEvent:!1,VisibilityStateEntry:!1,visualViewport:!1,VisualViewport:!1,VTTCue:!1,VTTRegion:!1,WakeLock:!1,WakeLockSentinel:!1,WaveShaperNode:!1,WebAssembly:!1,WebGL2RenderingContext:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLObject:!1,WebGLProgram:!1,WebGLQuery:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLSampler:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLSync:!1,WebGLTexture:!1,WebGLTransformFeedback:!1,WebGLUniformLocation:!1,WebGLVertexArrayObject:!1,WebSocket:!1,WebSocketError:!1,WebSocketStream:!1,WebTransport:!1,WebTransportBidirectionalStream:!1,WebTransportDatagramDuplexStream:!1,WebTransportError:!1,WebTransportReceiveStream:!1,WebTransportSendStream:!1,WGSLLanguageFeatures:!1,WheelEvent:!1,window:!1,Window:!1,WindowControlsOverlay:!1,WindowControlsOverlayGeometryChangeEvent:!1,Worker:!1,Worklet:!1,WorkletGlobalScope:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathExpression:!1,XPathResult:!1,XRAnchor:!1,XRAnchorSet:!1,XRBoundedReferenceSpace:!1,XRCamera:!1,XRCPUDepthInformation:!1,XRDepthInformation:!1,XRDOMOverlayState:!1,XRFrame:!1,XRHitTestResult:!1,XRHitTestSource:!1,XRInputSource:!1,XRInputSourceArray:!1,XRInputSourceEvent:!1,XRInputSourcesChangeEvent:!1,XRLayer:!1,XRLightEstimate:!1,XRLightProbe:!1,XRPose:!1,XRRay:!1,XRReferenceSpace:!1,XRReferenceSpaceEvent:!1,XRRenderState:!1,XRRigidTransform:!1,XRSession:!1,XRSessionEvent:!1,XRSpace:!1,XRSystem:!1,XRTransientInputHitTestResult:!1,XRTransientInputHitTestSource:!1,XRView:!1,XRViewerPose:!1,XRViewport:!1,XRWebGLBinding:!1,XRWebGLDepthInformation:!1,XRWebGLLayer:!1,XSLTProcessor:!1},es2024:{AggregateError:!1,Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,FinalizationRegistry:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Intl:!1,isFinite:!1,isNaN:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,WeakMap:!1,WeakRef:!1,WeakSet:!1},greasemonkey:{cloneInto:!1,createObjectIn:!1,exportFunction:!1,GM:!1,GM_addElement:!1,GM_addStyle:!1,GM_addValueChangeListener:!1,GM_deleteValue:!1,GM_download:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getTab:!1,GM_getTabs:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_notification:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_removeValueChangeListener:!1,GM_saveTab:!1,GM_setClipboard:!1,GM_setValue:!1,GM_unregisterMenuCommand:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1},node:{__dirname:!1,__filename:!1,AbortController:!1,AbortSignal:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Buffer:!1,ByteLengthQueuingStrategy:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,CompressionStream:!1,console:!1,CountQueuingStrategy:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CustomEvent:!1,DecompressionStream:!1,DOMException:!1,Event:!1,EventTarget:!1,exports:!0,fetch:!1,File:!1,FormData:!1,global:!1,Headers:!1,Iterator:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,module:!1,navigator:!1,Navigator:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformanceResourceTiming:!1,process:!1,queueMicrotask:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,Request:!1,require:!1,Response:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,structuredClone:!1,SubtleCrypto:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TransformStream:!1,TransformStreamDefaultController:!1,URL:!1,URLSearchParams:!1,WebAssembly:!1,WebSocket:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1},webextensions:{browser:!1,chrome:!1,opr:!1}};let er=[".js",".jsx",".mjs",".cjs"],et=(e={})=>{let{files:o,disableNoConsoleInCLI:s=!0,env:i={}}=e,{browser:a=!0,webextensions:l=!1,greasemonkey:c=!1,customGlobals:p={}}=i,u=[f.configs.recommended,{linterOptions:{reportUnusedDisableDirectives:!0}},{name:"@eslint-sukka/js base",...o?{files:o}:{},languageOptions:{ecmaVersion:"latest",sourceType:"module",parserOptions:{ecmaVersion:"latest",sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...ee.es2024,...a&&ee.browser,...l&&ee.webextensions,...c&&ee.greasemonkey,...p}},settings:{"import-x/parsers":{espree:er},"import-x/extensions":er},plugins:{"unused-imports":t(S,"eslint-plugin-unused-imports"),"@stylistic/js":t(y,"@stylistic/eslint-plugin-js"),"@stylistic/plus":t(g,"@stylistic/eslint-plugin-plus"),sukka:t(m,"eslint-plugin-sukka"),"import-x":t(k,"eslint-plugin-import-x"),autofix:b},rules:{...k.configs.recommended.rules,"accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-notation":["error",{allowKeywords:!0}],"@stylistic/js/dot-location":["error","property"],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","no-alert":"warn","no-caller":"off","autofix/no-caller":"error","no-constructor-return":"error","no-else-return":["error",{allowElseIf:!1}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-native-reassign":"off","no-implicit-coercion":["off",{boolean:!1,number:!0,string:!0,allow:[]}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","@stylistic/js/no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-octal-escape":"error","no-proto":"off","autofix/no-proto":"error","no-restricted-properties":["error",...[["isFinite","Number.isFinite"],["isNaN","Number.isNaN"]].flatMap(([e,r])=>["global","globalThis","window","self"].map(t=>({object:t,property:e,message:`Please use ${r} instead`}))),{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."},{object:"Math",property:"pow",message:"Use the exponentiation operator (**) instead."}],"no-return-assign":["error","always"],"no-return-await":"off","sukka/no-return-await":"error","no-self-compare":"error","no-sequences":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"no-useless-call":"off","no-useless-catch":"off","autofix/no-useless-catch":"error","no-useless-concat":"off","autofix/no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":["error",{allowAsStatement:!0}],"no-with":"error","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-object-has-own":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:!0}],radix:"off","autofix/radix":"error","require-await":"error","require-yield":"error","require-unicode-regexp":"off","vars-on-top":"error","@stylistic/js/wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error","no-await-in-loop":"warn","no-console":"warn","no-constant-condition":"warn","no-empty-function":"error","no-empty":["error",{allowEmptyCatch:!0}],"no-constant-binary-expression":"error","@stylistic/js/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-loss-of-precision":"warn","no-promise-executor-return":"error","no-template-curly-in-string":"error","no-unreachable-loop":["error",{ignore:[]}],"no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-vars":"off","unused-imports/no-unused-imports":"off","no-unused-private-class-members":"error","no-useless-backreference":"error","no-negated-in-lhs":"off","require-atomic-updates":"off","use-isnan":["error",{enforceForIndexOf:!0}],"valid-typeof":"off","autofix/valid-typeof":["error",{requireStringLiterals:!0}],"no-new-native-nonconstructor":"off","autofix/no-new-native-nonconstructor":"error","@stylistic/js/arrow-spacing":["error",{before:!0,after:!0}],"@stylistic/js/generator-star-spacing":["error",{before:!0,after:!1}],"@stylistic/js/no-confusing-arrow":["error",{allowParens:!0}],"no-duplicate-imports":"off","no-restricted-exports":["error",{restrictedNamedExports:["then"]}],"no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreImport:!1,ignoreExport:!1}],"no-var":"warn","object-shorthand":["error","always",{ignoreConstructors:!1,avoidQuotes:!0,avoidExplicitReturnArrows:!0}],"prefer-arrow-callback":["error",{allowNamedFunctions:!1,allowUnboundThis:!0}],"prefer-const":["error",{ignoreReadBeforeAssign:!0}],"prefer-numeric-literals":"error","prefer-reflect":"off","prefer-rest-params":"error","prefer-template":"off","symbol-description":"error","@stylistic/js/template-curly-spacing":["error","never"],"@stylistic/js/yield-star-spacing":["error","before"],"@stylistic/js/array-bracket-newline":["off","consistent"],"@stylistic/js/array-bracket-spacing":["error","never"],"@stylistic/js/array-element-newline":["off",{multiline:!0,minItems:5}],"@stylistic/js/block-spacing":["error","always"],"@stylistic/js/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:["warn",{properties:"never",ignoreDestructuring:!1,ignoreImports:!0,ignoreGlobals:!0,allow:["^UNSAFE_","^experimental_","^__DEV__"]}],"@stylistic/js/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/comma-style":["error","last",{exceptions:{ArrayExpression:!1,ArrayPattern:!1,ArrowFunctionExpression:!1,CallExpression:!1,FunctionDeclaration:!1,FunctionExpression:!1,ImportDeclaration:!1,ObjectExpression:!1,ObjectPattern:!1,VariableDeclaration:!1,NewExpression:!1}}],"@stylistic/js/computed-property-spacing":["error","never"],"consistent-this":"off","@stylistic/js/eol-last":["error","always"],"@stylistic/js/func-call-spacing":["error","never"],"@stylistic/js/function-call-argument-newline":["off","consistent"],"@stylistic/js/function-paren-newline":["error","consistent"],"@stylistic/js/implicit-arrow-linebreak":["error","beside"],"@stylistic/js/indent":["error",2,{SwitchCase:1}],"@stylistic/plus/indent-binary-ops":["error",2],"@stylistic/js/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/linebreak-style":"error","@stylistic/js/lines-around-comment":"off","@stylistic/js/lines-around-directive":"off","@stylistic/js/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"@stylistic/js/multiline-ternary":"off","new-cap":["error",{newIsCap:!0,newIsCapExceptions:[],capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"]}],"@stylistic/js/newline-after-var":"off","@stylistic/js/newline-before-return":"off","@stylistic/js/newline-per-chained-call":["error",{ignoreChainWithDepth:6}],"@stylistic/js/new-parens":"error","no-bitwise":"off","no-lonely-if":"error","@stylistic/js/no-mixed-operators":["error",{groups:[["**","+"],["**","-"],["**","*"],["**","/"],["%","+"],["%","-"],["%","*"],["%","/"],["%","**"],["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],allowSamePrecedence:!0}],"@stylistic/js/no-mixed-spaces-and-tabs":"error","no-multi-assign":["error"],"@stylistic/js/no-multiple-empty-lines":["error",{max:1,maxBOF:0,maxEOF:0}],"no-negated-condition":"off","no-nested-ternary":"off","sukka/unicorn/no-nested-ternary":"warn","no-new-object":"off","no-object-constructor":"error","no-array-constructor":"error","@stylistic/js/no-spaced-func":"off","@stylistic/js/no-tabs":"error","no-ternary":"off","@stylistic/js/no-trailing-spaces":"error","no-unneeded-ternary":"error","@stylistic/js/no-whitespace-before-property":"error","@stylistic/js/nonblock-statement-body-position":"error","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","prefer-exponentiation-operator":"error","@stylistic/js/operator-linebreak":["error","before"],"@stylistic/js/padded-blocks":["error","never"],"@stylistic/js/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":["error","single"],"@stylistic/js/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/jsx-quotes":["error","prefer-double"],"@stylistic/js/rest-spread-spacing":["error","never"],"@stylistic/js/semi":["error","always"],"@stylistic/js/semi-spacing":["error",{before:!1,after:!0}],"@stylistic/js/semi-style":["error","last"],"@stylistic/js/space-before-blocks":"error","@stylistic/js/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-in-parens":["error","never"],"@stylistic/js/space-infix-ops":"error","@stylistic/js/space-unary-ops":["error",{words:!0,nonwords:!1,overrides:{}}],"@stylistic/js/spaced-comment":["error","always",{line:{exceptions:["-","+"],markers:["=","!","/"]},block:{exceptions:["-","+"],markers:["=","!",":","::"],balanced:!0}}],"@stylistic/js/switch-colon-spacing":["error",{after:!0,before:!1}],"@stylistic/js/template-tag-spacing":["error","never"],"unicode-bom":["error","never"],"@stylistic/js/wrap-regex":"off","no-label-var":"error","no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-globals":["error",{name:"isFinite",message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite"},{name:"isNaN",message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan"}],"no-undef-init":"error","sukka/array/no-unneeded-flat-map":"error","sukka/browser/prefer-location-assign":"warn","sukka/jsx/no-template-literal":"error","sukka/jsx/no-unneeded-nested":"error","sukka/string/no-locale-case":"warn","sukka/string/no-simple-template-literal":"error","sukka/type/no-instanceof-wrapper":"error","sukka/unicode/no-bidi":"warn","sukka/unicode/no-invisible":"warn","sukka/no-redundant-variable":"error","sukka/no-single-return":"error","sukka/prefer-early-return":["error",{maximumStatements:16}],"sukka/prefer-fetch":"error","sukka/prefer-timer-id":"warn","sukka/unicorn/require-array-join-separator":"warn","sukka/unicorn/no-thenable":"error","sukka/unicorn/no-invalid-remove-event-listener":"error","sukka/unicorn/consistent-function-scoping":"warn","sukka/unicorn/prefer-event-target":"warn","sukka/unicorn/prefer-keyboard-event-key":"warn","sukka/unicorn/prefer-text-content":"warn","sukka/unicorn/no-console-spaces":"warn","sukka/unicorn/no-empty-file":"warn","sukka/unicorn/no-useless-fallback-in-spread":"warn","sukka/unicorn/no-useless-length-check":"warn","sukka/unicorn/no-useless-promise-resolve-reject":"warn","sukka/unicorn/no-zero-fractions":"warn","sukka/unicorn/prefer-export-from":["warn",{ignoreUsedVariables:!0}],"sukka/unicorn/prefer-native-coercion-functions":"warn","sukka/unicorn/no-document-cookie":"error","sukka/unicorn/prefer-add-event-listener":"warn","sukka/unicorn/prefer-array-index-of":"warn","sukka/unicorn/prefer-blob-reading-methods":"warn","sukka/unicorn/prefer-date-now":"warn","sukka/unicorn/prefer-dom-node-dataset":"warn","sukka/unicorn/prefer-modern-math-apis":"warn","sukka/unicorn/number-literal-case":"error","sukka/unicorn/prefer-number-properties":["warn",{checkInfinity:!1}],"sukka/unicorn/prefer-reflect-apply":"warn","sukka/unicorn/prefer-set-size":"warn","sukka/unicorn/prefer-string-replace-all":"warn","sukka/unicorn/prefer-string-slice":"warn","sukka/unicorn/prefer-string-trim-start-end":"warn","sukka/unicorn/no-unreadable-iife":"warn","sukka/unicorn/throw-new-error":"warn","sukka/unicorn/better-regex":"error","sukka/unicorn/escape-case":"warn","sukka/unicorn/no-hex-escape":"warn","sukka/unicorn/prefer-prototype-methods":"warn","sukka/unicorn/error-message":"error","sukka/unicorn/no-instanceof-array":"error","sukka/unicorn/prefer-type-error":"error","sukka/unicorn/consistent-destructuring":"warn","sukka/unicorn/new-for-builtins":"warn","sukka/unicorn/no-array-push-push":"warn","sukka/unicorn/no-static-only-class":"warn","sukka/unicorn/no-unreadable-array-destructuring":"error","sukka/unicorn/no-useless-spread":"warn","sukka/unicorn/no-useless-switch-case":"warn","sukka/unicorn/no-useless-undefined":["error",{checkArguments:!1}],"sukka/unicorn/numeric-separators-style":["warn",{onlyIfContainsSeparator:!1,number:{minimumDigits:7,groupLength:3},binary:{minimumDigits:9,groupLength:4},octal:{minimumDigits:9,groupLength:4},hexadecimal:{minimumDigits:5,groupLength:2}}],"sukka/unicorn/prefer-array-find":"warn","sukka/unicorn/prefer-array-flat-map":"warn","sukka/unicorn/prefer-array-flat":"warn","sukka/unicorn/prefer-array-some":"warn","sukka/unicorn/prefer-code-point":"warn","sukka/unicorn/prefer-default-parameters":"warn","sukka/unicorn/prefer-logical-operator-over-ternary":"warn","sukka/unicorn/prefer-optional-catch-binding":"error","sukka/unicorn/prefer-regexp-test":"warn","sukka/unicorn/prefer-set-has":"error","sukka/unicorn/prefer-switch":"warn","sukka/unicorn/require-number-to-fixed-digits-argument":"warn","sukka/import-dedupe":"error","sukka/unicorn/prefer-string-raw":"warn","sukka/unicorn/no-single-promise-in-promise-methods":"error","sukka/unicorn/no-await-in-promise-methods":"error","sukka/unicorn/template-indent":["warn",{tags:["outdent","dedent","gql","sql","html","styled","css"],functions:["dedent","stripIndent","strip_indent","stripTags","striptags","strip_tags","stripHtml","stripHTML","strip_html"],selectors:[],comments:["HTML","html","CSS","css","indent"]}],"sukka/unicorn/no-negation-in-equality-check":"error","no-restricted-imports":["error",{paths:n}],"no-prototype-builtins":"off","autofix/no-prototype-builtins":"error"}}];if(!1!==s){let e="boolean"!=typeof s?Array.isArray(s)?s:[s]:null;u.push({name:"@eslint-sukka/js cli specific",files:e??[`**/scripts/${r.GLOB_SRC}`,`**/cli/${r.GLOB_SRC}`,`**/cli.${r.GLOB_SRC_EXT}`],rules:{"no-console":"off"}})}return u},en={plugins:{jsonc:t(E,"eslint-plugin-jsonc")},languageOptions:{parser:h}},eo={"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",2],"jsonc/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"jsonc/object-curly-newline":"off","jsonc/object-curly-spacing":["error","always"],"jsonc/object-property-newline":["error",{allowMultiplePropertiesPerLine:!0}],"jsonc/quote-props":"error","jsonc/quotes":"error"},es=()=>[...E.configs["flat/base"],{name:"@eslint-sukka/json json",files:[r.GLOB_JSON],rules:{...E.configs["flat/recommended-with-json"].reduce((e,r)=>({...e,...r.rules}),{}),...eo}},{name:"@eslint-sukka/json json5",...en,files:[r.GLOB_JSON5],rules:{...E.configs["flat/recommended-with-json5"].reduce((e,r)=>({...e,...r.rules}),{}),...eo}},{name:"@eslint-sukka/json jsonc",...en,files:[r.GLOB_JSONC],rules:{...E.configs["flat/recommended-with-jsonc"].reduce((e,r)=>({...e,...r.rules}),{}),...eo}},{name:"@eslint-sukka/json package.json",...en,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"@eslint-sukka/json tsconfig.json",...en,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}}],ei={"no-dupe-class-members":"off","@typescript-eslint/no-dupe-class-members":"error","no-redeclare":"off","@typescript-eslint/no-redeclare":"error","no-unused-vars":"off","@typescript-eslint/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"class-methods-use-this":"off","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[]}],"default-param-last":"off","@typescript-eslint/default-param-last":"error","dot-notation":"off","@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"no-implied-eval":"off","@typescript-eslint/no-implied-eval":"error","no-invalid-this":"off","@typescript-eslint/no-invalid-this":"off","no-loop-func":"off","@typescript-eslint/no-loop-func":"error","no-return-await":"off","@typescript-eslint/return-await":"error","sukka/no-return-await":"off","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"prefer-promise-reject-errors":"off","@typescript-eslint/prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"require-await":"off","@typescript-eslint/require-await":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@stylistic/js/no-extra-parens":"off","@stylistic/ts/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@stylistic/js/block-spacing":"off","@stylistic/ts/block-spacing":["error","always"],"@stylistic/js/brace-style":"off","@stylistic/ts/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:"off","@stylistic/js/comma-dangle":"off","@stylistic/ts/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":"off","@stylistic/ts/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/func-call-spacing":"off","@stylistic/ts/func-call-spacing":["error","never"],"@stylistic/js/indent":"off","@stylistic/ts/indent":["error",2,{SwitchCase:1}],"@stylistic/js/key-spacing":"off","@stylistic/ts/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":"off","@stylistic/ts/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/lines-around-comment":"off","@stylistic/ts/lines-around-comment":"off","@stylistic/js/lines-between-class-members":"off","@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@stylistic/js/object-curly-newline":"off","@stylistic/ts/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/ts/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/ts/object-property-newline":"off","@stylistic/js/padding-line-between-statements":"off","@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":"off","@stylistic/ts/quotes":["error","single"],"@stylistic/js/quote-props":"off","@stylistic/ts/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/semi":"off","@stylistic/ts/semi":["error","always"],"@stylistic/js/space-before-blocks":"off","@stylistic/ts/space-before-blocks":"error","@stylistic/js/space-before-function-paren":"off","@stylistic/ts/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-infix-ops":"off","@stylistic/ts/space-infix-ops":"error","no-use-before-define":"off","@typescript-eslint/no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-imports":"off"},ea=[".js",".jsx",".mjs",".cjs"],el=[".ts",".cts",".mts",".tsx",".d.ts"],ec=[...el,...ea],ep=[".ts",".cts",".mts",".tsx",...ea],eu=(e={})=>{let{tsconfigPath:n=!0,tsconfigRootDir:i=process.cwd(),componentExtentions:a=[]}=e,l=C(o("@typescript-eslint/parser","string"==typeof __dirname?M(__dirname).href:import.meta.url));return[{name:"@eslint-sukka/ts base",files:[r.GLOB_TS,r.GLOB_TSX,...a.map(e=>`**/*.${e}`)],plugins:{...v.base.plugins,"@stylistic/ts":t(T,"@stylistic/eslint-plugin-ts"),"sukka-ts":t(w,"eslint-plugin-sukka-ts"),"@stylistic/plus":t(g,"@stylistic/eslint-plugin-plus"),"import-x":t(k,"eslint-plugin-import-x")},languageOptions:{parser:v.base.languageOptions.parser,sourceType:"module",parserOptions:{sourceType:"module",ecmaVersion:"latest",...!0===n?{projectService:!0,allowDefaultProject:[]}:{project:n},tsconfigRootDir:i,ecmaFeatures:{jsx:!0},jsxPragma:void 0,warnOnUnsupportedTypeScriptVersion:!0}},settings:{"import-x/extensions":ec,"import-x/external-module-folders":["node_modules","node_modules/@types"],"import-x/resolver":{node:{extensions:ep},"ts-bundled":{alwaysTryTypes:!0,...!0===n?{}:{project:n}}},"import-x/parsers":{espree:ea,[l]:el}},rules:{...v.base.rules,...v.recommendedTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...v.stylisticTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...k.configs.typescript.rules,...ei,"@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description","ts-ignore":!0,"ts-nocheck":!0,"ts-check":!1,minimumDescriptionLength:10}],"@typescript-eslint/naming-convention":["warn",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE","snake_case"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"function",format:["camelCase","PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"typeLike",format:["PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"}],"@typescript-eslint/consistent-type-assertions":["error",{assertionStyle:"as",objectLiteralTypeAssertions:"allow"}],"@typescript-eslint/require-await":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:!1}],"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0,allowAny:!0,allowBoolean:!0,allowNever:!0}],"@typescript-eslint/unbound-method":"error","@typescript-eslint/consistent-type-imports":["warn",{prefer:"type-imports",disallowTypeAnnotations:!1,fixStyle:"separate-type-imports"}],"@typescript-eslint/no-import-type-side-effects":"warn","@typescript-eslint/consistent-type-exports":["warn",{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-definitions":"warn","@typescript-eslint/consistent-generic-constructors":["error","constructor"],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["Error","RegExp","URL","URLSearchParams"]}],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extraneous-class":["warn",{allowConstructorOnly:!0,allowEmpty:!0,allowWithDecorator:!0}],"@typescript-eslint/no-invalid-void-type":["off",{allowInGenericTypeArguments:!0,allowAsThisParameter:!0}],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":["warn",{allowConstantLoopConditions:!0}],"@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":["error",{allowBitwiseExpressions:!0}],"@typescript-eslint/prefer-nullish-coalescing":"off","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/unified-signatures":["error",{ignoreDifferentlyNamedParameters:!0}],"@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/consistent-indexed-object-style":"off","@typescript-eslint/prefer-enum-initializers":"warn","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-meaningless-void-operator":"warn","@typescript-eslint/no-unnecessary-qualifier":"warn","@typescript-eslint/array-type":["warn",{default:"array-simple"}],"@typescript-eslint/no-restricted-imports":["error",{paths:s}],"@typescript-eslint/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never",allowWithName:"Props$"}],"@typescript-eslint/no-unsafe-function-type":"warn","@typescript-eslint/no-restricted-types":["error",{types:{FC:{message:"To declare a component, you don't have to use FC to annotate it. To type something that accepts/is a React Component, use ComponentType<T>.",fixWith:"ComponentType"},"React.FC":{message:"To declare a component, you don't have to use React.FC to annotate it. To type something that accepts/is a React Component, use React.ComponentType<T>.",fixWith:"React.ComponentType"},ReactElement:{message:"In most cases, you want ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"ReactNode"},"React.ReactElement":{message:"In most cases, you want React.ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"React.ReactNode"}}}],"@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-explicit-any":"warn","@typescript-eslint/no-loop-func":"warn","@typescript-eslint/no-redundant-type-constituents":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-unsafe-enum-comparison":"warn","@typescript-eslint/prefer-regexp-exec":"off","@stylistic/ts/member-delimiter-style":["error",{multiline:{delimiter:"comma",requireLast:!1},singleline:{delimiter:"comma",requireLast:!1}}],"@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0,exceptAfterOverload:!0}],"@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"},{blankLine:"any",prev:["interface","type"],next:["interface","type"]}],"@stylistic/ts/type-annotation-spacing":["error",{before:!1,after:!0,overrides:{arrow:{before:!0,after:!0}}}],"@typescript-eslint/no-namespace":"off","@typescript-eslint/prefer-string-starts-ends-with":"off","sukka-ts/string/prefer-string-starts-ends-with":"error","@typescript-eslint/switch-exhaustiveness-check":"error","sukka-ts/string/no-unneeded-to-string":"error","sukka-ts/type/no-force-cast-via-top-type":"error","sukka-ts/type/no-wrapper-type-reference":"error","sukka-ts/no-default-error":"off","sukka-ts/no-const-enum":"error","@stylistic/plus/type-generic-spacing":"error","@stylistic/plus/type-named-tuple-spacing":"error","@typescript-eslint/no-unused-vars":"off","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-imports":"error","import-x/named":"off","import-x/no-duplicates":"off","import-x/namespace":"off","import-x/default":"off","import-x/no-named-as-default-member":"off"}},{name:"@eslint-sukka/ts dts",files:["**/*.d.ts"],plugins:{"import-x":t(k,"eslint-plugin-import-x")},rules:{"import-x/no-duplicates":"off","unused-imports/no-unused-vars":"off"}},{name:"@eslint-sukka/ts jest/mocha",files:["**/*.{test,spec}.ts?(x)"],rules:{"no-unused-expressions":"off"}},{name:"@eslint-sukka/ts commonjs",files:["**/*.js","**/*.cjs"],plugins:v.base.plugins,rules:{"@typescript-eslint/no-require-imports":"off","@typescript-eslint/no-var-requires":"off"}}]},em=(e={})=>[{name:"@eslint-sukka/legacy base",...e.files?{files:e.files}:{},plugins:{sukka:t(m,"eslint-plugin-sukka")},rules:{"prefer-numeric-literals":"off","no-restricted-properties":["error",{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."}],"no-var":"off","prefer-object-spread":"off",strict:["error","safe"],"sukka/unicorn/prefer-default-parameters":"off","sukka/unicorn/prefer-logical-operator-over-ternary":"off","sukka/unicorn/prefer-optional-catch-binding":"off"},languageOptions:{globals:{...e.browser??!0?ee.browser:{},...e.node?ee.node:{}}}}];function ed(e,r=!1){return"boolean"==typeof e?e:e?.enable??r}function ef(e){if("boolean"==typeof e||void 0===e)return;let{enable:r,...t}=e;return t}function ey(e){R(e)&&console.error(P.yellow(`[eslint-config-sukka] "${e}" is deprecated and you should uninstall it`))}let eg=async(r,...t)=>{let n=[];ey("@eslint-sukka/js"),ey("@eslint-sukka/json"),ey("@eslint-sukka/ts"),ey("@eslint-sukka/legacy");let o=ed(r?.ts,R("typescript"));n.push(J(r?.ignores),Y(),Z({typescript:o})),ed(r?.js,!0)&&n.push(et(ef(r?.js))),ed(r?.json,!0)&&n.push(es()),o&&n.push(eu(ef(r?.ts)));let s=R("next");if(ed(r?.react,R("react")||s)){if(o){let t=await e("@eslint-sukka/react");n.push(t.react(ef(r?.react))),ed(r?.next,s)&&n.push(t.next())}else console.warn("[eslint-config-sukka] React module will not be enabled when TypeScript is not set up.")}return ed(r?.node,R("@types/node")||R("@types/bun"))&&n.push((await e("@eslint-sukka/node")).node(ef(r?.node))),ed(r?.legacy)&&n.push(em(ef(r?.legacy))),n.push(t),n.flat()};export{J as ignores,eg as sukka};
|
|
3
|
+
${e.trim()}`:t.name.trim(),s.set(t.name.toLowerCase().trim(),t);continue}a={name:e.trim(),comment:r,patterns:[]},s.set(a.name.toLowerCase(),a),i.sections.push(a),t=a;continue}""!==r&&(a.patterns.push(r),i.patterns.push(r)),t=null}return(!0===r.dedupe||!0===r.unique)&&(i=W(i,{...r,format:!1})),i.path=n,i.input=Buffer.from(e),i.format=e=>$(i,{...r,...e}),i.dedupe=e=>W(i,{...r,...e}),i.globs=e=>X(i,{path:n,...r,...e}),i},W=(e,r)=>{let t;let n=N(e,{...r,dedupe:!1}),o=new Map,s={sections:[],patterns:new Set};for(let e of n.sections){let{name:r="",comment:n,patterns:i}=e,a=r.trim().toLowerCase();for(let e of i)s.patterns.add(e);r&&o.has(a)?(t=o.get(a)).patterns=[...t.patterns,...i]:(t={name:r,comment:n,patterns:i},s.sections.push(t),o.set(a,t))}for(let e of s.sections)e.patterns=[...new Set(e.patterns)];return s.patterns=[...s.patterns],s},_=(e,r)=>{if(F.test(e))return e;let t=!1;return e.startsWith("/")?(e=e.slice(1),t=!0):e.slice(1,e.length-1).includes("/")&&(t=!0),e+=e.endsWith("/")?"**/":"/**",t?e:`**/${e}`},X=(e,r={})=>{let t=N(e,r),n=[],o=0,s=t.patterns.concat(r.ignore||[]).concat((r.unignore||[]).map(e=>e.startsWith("!")?e:"!"+e)),i=(e,t)=>{let s=n[n.length-1],i=e?"unignore":"ignore";s&&s.type===i?s.patterns.includes(t)||s.patterns.push(t):(n.push({type:i,path:r.path||null,patterns:[t],index:o}),o++)};for(let e of s){let r="";e.startsWith("!")&&(e=e.slice(1),r="!"),i(r,e.startsWith("/")?e.slice(1):e),i(r,_(e))}return n},q=(e={})=>{let r=[e.comment||""];return e.patterns?.length&&(r.push(e.patterns.join("\n")),r.push("")),r.join("\n")},$=(e,r={})=>{let t=N(e,r),n=r.formatSection||q,o=t.sections||t,s=[];for(let e of[].concat(o))s.push(n(e));return s.join("\n")};N.file=(e,r)=>N(D.readFileSync(e,"utf8"),r),N.parse=N,N.dedupe=W,N.format=$,N.globs=X,N.formatSection=q,N.patterns=e=>U(e).map(e=>e.trim()).filter(e=>""!==e&&!B(e));var K=N&&N.__esModule&&Object.prototype.hasOwnProperty.call(N,"default")?N.default:N;let Q=".gitignore";function z(e={}){let r=[],{root:t=!1,files:n=t?Q:function(e,r={}){return function(e,r={}){let t=a.resolve(j(r.cwd)??""),{root:n}=a.parse(t),o=a.resolve(t,j(r.stopAt)??n),s=r.limit??Number.POSITIVE_INFINITY,c=[e].flat(),p=e=>(function(e,{cwd:r=l.cwd(),type:t="file",allowSymlinks:n=!0}={}){!function(e){if(!Object.hasOwnProperty.call(L,e))throw Error(`Invalid type specified: ${e}`)}(t),r=G(r);let o=n?i.statSync:i.lstatSync;for(let n of e)try{let e=o(a.resolve(r,n),{throwIfNoEntry:!1});if(!e)continue;if(x(t,e))return n}catch{}})(c,e),u=[];for(;;){let e=p({...r,cwd:t});if(e===I||(e&&u.push(a.resolve(t,e)),t===o||u.length>=s))break;t=a.dirname(t)}return u}(e,{...r,limit:1})[0]}(Q)||[],strict:o=!0}=e,s=Array.isArray(n)?n:[n];for(let e of s){let t="";try{t=i.readFileSync(e,"utf8")}catch(e){if(o)throw e;continue}for(let e of K(`${t}
|
|
4
|
+
`).globs())"ignore"===e.type?r.push(...e.patterns):"unignore"===e.type&&r.push(...e.patterns.map(e=>`!${e}`))}if(o&&0===s.length)throw Error("No .gitignore file found");return{ignores:r}}let J=(e={})=>{let{customGlobs:t=null,gitignore:n=[".gitignore"]}=e,o=[],s=[];return!1===t||null===t?s=r.GLOB_EXCLUDE:"function"==typeof t?s=t(r.GLOB_EXCLUDE):"string"==typeof t?s.push(...r.GLOB_EXCLUDE,t):Array.isArray(t)&&s.push(...r.GLOB_EXCLUDE,...t),o.push({ignores:s}),!1===n||null===n||(!0===n?o.push(z({files:[".gitignore"],strict:!1})):("string"==typeof n||Array.isArray(n))&&o.push(z({files:n,strict:!1}))),o},Y=()=>[{name:"sukka/eslint-comments",plugins:{"@eslint-community/eslint-comments":u,sukka:t(m,"eslint-plugin-sukka")},rules:{"sukka/ban-eslint-disable":["error","allow-with-description"],"@eslint-community/eslint-comments/disable-enable-pair":["error",{allowWholeFile:!0}],"@eslint-community/eslint-comments/no-aggregating-enable":"error","@eslint-community/eslint-comments/no-duplicate-disable":"error","@eslint-community/eslint-comments/no-unlimited-disable":"error","@eslint-community/eslint-comments/no-unused-disable":"error","@eslint-community/eslint-comments/no-unused-enable":"error"}}],Z=({typescript:e})=>[{name:"sukka/promise",plugins:{promise:d},rules:{"promise/always-return":e?"off":["error",{ignoreLastCallback:!0}],"promise/no-return-wrap":"error","promise/param-names":"error","promise/catch-or-return":["error",{allowFinally:!0,terminationMethod:["catch","asCallback","finally"]}],"promise/no-native":"off","promise/no-nesting":"warn","promise/no-promise-in-callback":"warn","promise/no-callback-in-promise":"warn","promise/avoid-new":"off","promise/no-new-statics":"error","promise/no-return-in-finally":"warn","promise/valid-params":"warn"}}];var ee={browser:{AbortController:!1,AbortSignal:!1,AbsoluteOrientationSensor:!1,AbstractRange:!1,Accelerometer:!1,addEventListener:!1,alert:!1,AnalyserNode:!1,Animation:!1,AnimationEffect:!1,AnimationEvent:!1,AnimationPlaybackEvent:!1,AnimationTimeline:!1,atob:!1,Attr:!1,Audio:!1,AudioBuffer:!1,AudioBufferSourceNode:!1,AudioContext:!1,AudioData:!1,AudioDecoder:!1,AudioDestinationNode:!1,AudioEncoder:!1,AudioListener:!1,AudioNode:!1,AudioParam:!1,AudioParamMap:!1,AudioProcessingEvent:!1,AudioScheduledSourceNode:!1,AudioSinkInfo:!1,AudioWorklet:!1,AudioWorkletGlobalScope:!1,AudioWorkletNode:!1,AudioWorkletProcessor:!1,AuthenticatorAssertionResponse:!1,AuthenticatorAttestationResponse:!1,AuthenticatorResponse:!1,BackgroundFetchManager:!1,BackgroundFetchRecord:!1,BackgroundFetchRegistration:!1,BarProp:!1,BaseAudioContext:!1,BatteryManager:!1,BeforeUnloadEvent:!1,BiquadFilterNode:!1,Blob:!1,BlobEvent:!1,Bluetooth:!1,BluetoothCharacteristicProperties:!1,BluetoothDevice:!1,BluetoothRemoteGATTCharacteristic:!1,BluetoothRemoteGATTDescriptor:!1,BluetoothRemoteGATTServer:!1,BluetoothRemoteGATTService:!1,BluetoothUUID:!1,blur:!1,BroadcastChannel:!1,BrowserCaptureMediaStreamTrack:!1,btoa:!1,ByteLengthQueuingStrategy:!1,Cache:!1,caches:!1,CacheStorage:!1,cancelAnimationFrame:!1,cancelIdleCallback:!1,CanvasCaptureMediaStream:!1,CanvasCaptureMediaStreamTrack:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CaptureController:!1,CaretPosition:!1,CDATASection:!1,ChannelMergerNode:!1,ChannelSplitterNode:!1,CharacterBoundsUpdateEvent:!1,CharacterData:!1,clearInterval:!1,clearTimeout:!1,clientInformation:!1,Clipboard:!1,ClipboardEvent:!1,ClipboardItem:!1,close:!1,closed:!1,CloseEvent:!1,CloseWatcher:!1,Comment:!1,CompositionEvent:!1,CompressionStream:!1,confirm:!1,console:!1,ConstantSourceNode:!1,ContentVisibilityAutoStateChangeEvent:!1,ConvolverNode:!1,CookieChangeEvent:!1,CookieDeprecationLabel:!1,cookieStore:!1,CookieStore:!1,CookieStoreManager:!1,CountQueuingStrategy:!1,createImageBitmap:!1,Credential:!1,credentialless:!1,CredentialsContainer:!1,CropTarget:!1,crossOriginIsolated:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CSS:!1,CSSAnimation:!1,CSSConditionRule:!1,CSSContainerRule:!1,CSSCounterStyleRule:!1,CSSFontFaceRule:!1,CSSFontFeatureValuesRule:!1,CSSFontPaletteValuesRule:!1,CSSGroupingRule:!1,CSSImageValue:!1,CSSImportRule:!1,CSSKeyframeRule:!1,CSSKeyframesRule:!1,CSSKeywordValue:!1,CSSLayerBlockRule:!1,CSSLayerStatementRule:!1,CSSMathClamp:!1,CSSMathInvert:!1,CSSMathMax:!1,CSSMathMin:!1,CSSMathNegate:!1,CSSMathProduct:!1,CSSMathSum:!1,CSSMathValue:!1,CSSMatrixComponent:!1,CSSMediaRule:!1,CSSNamespaceRule:!1,CSSNumericArray:!1,CSSNumericValue:!1,CSSPageRule:!1,CSSPerspective:!1,CSSPositionTryDescriptors:!1,CSSPositionTryRule:!1,CSSPositionValue:!1,CSSPropertyRule:!1,CSSRotate:!1,CSSRule:!1,CSSRuleList:!1,CSSScale:!1,CSSScopeRule:!1,CSSSkew:!1,CSSSkewX:!1,CSSSkewY:!1,CSSStartingStyleRule:!1,CSSStyleDeclaration:!1,CSSStyleRule:!1,CSSStyleSheet:!1,CSSStyleValue:!1,CSSSupportsRule:!1,CSSTransformComponent:!1,CSSTransformValue:!1,CSSTransition:!1,CSSTranslate:!1,CSSUnitValue:!1,CSSUnparsedValue:!1,CSSVariableReferenceValue:!1,CSSViewTransitionRule:!1,currentFrame:!1,currentTime:!1,CustomElementRegistry:!1,customElements:!1,CustomEvent:!1,CustomStateSet:!1,DataTransfer:!1,DataTransferItem:!1,DataTransferItemList:!1,DecompressionStream:!1,DelayNode:!1,DelegatedInkTrailPresenter:!1,DeviceMotionEvent:!1,DeviceMotionEventAcceleration:!1,DeviceMotionEventRotationRate:!1,DeviceOrientationEvent:!1,devicePixelRatio:!1,dispatchEvent:!1,document:!1,Document:!1,DocumentFragment:!1,documentPictureInPicture:!1,DocumentPictureInPicture:!1,DocumentPictureInPictureEvent:!1,DocumentTimeline:!1,DocumentType:!1,DOMError:!1,DOMException:!1,DOMImplementation:!1,DOMMatrix:!1,DOMMatrixReadOnly:!1,DOMParser:!1,DOMPoint:!1,DOMPointReadOnly:!1,DOMQuad:!1,DOMRect:!1,DOMRectList:!1,DOMRectReadOnly:!1,DOMStringList:!1,DOMStringMap:!1,DOMTokenList:!1,DragEvent:!1,DynamicsCompressorNode:!1,EditContext:!1,Element:!1,ElementInternals:!1,EncodedAudioChunk:!1,EncodedVideoChunk:!1,ErrorEvent:!1,event:!1,Event:!1,EventCounts:!1,EventSource:!1,EventTarget:!1,external:!1,External:!1,EyeDropper:!1,FeaturePolicy:!1,FederatedCredential:!1,fence:!1,Fence:!1,FencedFrameConfig:!1,fetch:!1,fetchLater:!1,FetchLaterResult:!1,File:!1,FileList:!1,FileReader:!1,FileSystem:!1,FileSystemDirectoryEntry:!1,FileSystemDirectoryHandle:!1,FileSystemDirectoryReader:!1,FileSystemEntry:!1,FileSystemFileEntry:!1,FileSystemFileHandle:!1,FileSystemHandle:!1,FileSystemWritableFileStream:!1,find:!1,Float16Array:!1,focus:!1,FocusEvent:!1,FontData:!1,FontFace:!1,FontFaceSet:!1,FontFaceSetLoadEvent:!1,FormData:!1,FormDataEvent:!1,FragmentDirective:!1,frameElement:!1,frames:!1,GainNode:!1,Gamepad:!1,GamepadAxisMoveEvent:!1,GamepadButton:!1,GamepadButtonEvent:!1,GamepadEvent:!1,GamepadHapticActuator:!1,GamepadPose:!1,Geolocation:!1,GeolocationCoordinates:!1,GeolocationPosition:!1,GeolocationPositionError:!1,getComputedStyle:!1,getScreenDetails:!1,getSelection:!1,GPU:!1,GPUAdapter:!1,GPUAdapterInfo:!1,GPUBindGroup:!1,GPUBindGroupLayout:!1,GPUBuffer:!1,GPUBufferUsage:!1,GPUCanvasContext:!1,GPUColorWrite:!1,GPUCommandBuffer:!1,GPUCommandEncoder:!1,GPUCompilationInfo:!1,GPUCompilationMessage:!1,GPUComputePassEncoder:!1,GPUComputePipeline:!1,GPUDevice:!1,GPUDeviceLostInfo:!1,GPUError:!1,GPUExternalTexture:!1,GPUInternalError:!1,GPUMapMode:!1,GPUOutOfMemoryError:!1,GPUPipelineError:!1,GPUPipelineLayout:!1,GPUQuerySet:!1,GPUQueue:!1,GPURenderBundle:!1,GPURenderBundleEncoder:!1,GPURenderPassEncoder:!1,GPURenderPipeline:!1,GPUSampler:!1,GPUShaderModule:!1,GPUShaderStage:!1,GPUSupportedFeatures:!1,GPUSupportedLimits:!1,GPUTexture:!1,GPUTextureUsage:!1,GPUTextureView:!1,GPUUncapturedErrorEvent:!1,GPUValidationError:!1,GravitySensor:!1,Gyroscope:!1,HashChangeEvent:!1,Headers:!1,HID:!1,HIDConnectionEvent:!1,HIDDevice:!1,HIDInputReportEvent:!1,Highlight:!1,HighlightRegistry:!1,history:!1,History:!1,HTMLAllCollection:!1,HTMLAnchorElement:!1,HTMLAreaElement:!1,HTMLAudioElement:!1,HTMLBaseElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDataElement:!1,HTMLDataListElement:!1,HTMLDetailsElement:!1,HTMLDialogElement:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLDocument:!1,HTMLElement:!1,HTMLEmbedElement:!1,HTMLFencedFrameElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormControlsCollection:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLLabelElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMarqueeElement:!1,HTMLMediaElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLMeterElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLOptionsCollection:!1,HTMLOutputElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPictureElement:!1,HTMLPreElement:!1,HTMLProgressElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLSlotElement:!1,HTMLSourceElement:!1,HTMLSpanElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTimeElement:!1,HTMLTitleElement:!1,HTMLTrackElement:!1,HTMLUListElement:!1,HTMLUnknownElement:!1,HTMLVideoElement:!1,IDBCursor:!1,IDBCursorWithValue:!1,IDBDatabase:!1,IDBFactory:!1,IDBIndex:!1,IDBKeyRange:!1,IDBObjectStore:!1,IDBOpenDBRequest:!1,IDBRequest:!1,IDBTransaction:!1,IDBVersionChangeEvent:!1,IdentityCredential:!1,IdentityCredentialError:!1,IdentityProvider:!1,IdleDeadline:!1,IdleDetector:!1,IIRFilterNode:!1,Image:!1,ImageBitmap:!1,ImageBitmapRenderingContext:!1,ImageCapture:!1,ImageData:!1,ImageDecoder:!1,ImageTrack:!1,ImageTrackList:!1,indexedDB:!1,Ink:!1,innerHeight:!1,innerWidth:!1,InputDeviceCapabilities:!1,InputDeviceInfo:!1,InputEvent:!1,IntersectionObserver:!1,IntersectionObserverEntry:!1,isSecureContext:!1,Iterator:!1,Keyboard:!1,KeyboardEvent:!1,KeyboardLayoutMap:!1,KeyframeEffect:!1,LargestContentfulPaint:!1,LaunchParams:!1,launchQueue:!1,LaunchQueue:!1,LayoutShift:!1,LayoutShiftAttribution:!1,length:!1,LinearAccelerationSensor:!1,localStorage:!1,location:!0,Location:!1,locationbar:!1,Lock:!1,LockManager:!1,matchMedia:!1,MathMLElement:!1,MediaCapabilities:!1,MediaCapabilitiesInfo:!1,MediaDeviceInfo:!1,MediaDevices:!1,MediaElementAudioSourceNode:!1,MediaEncryptedEvent:!1,MediaError:!1,MediaKeyError:!1,MediaKeyMessageEvent:!1,MediaKeys:!1,MediaKeySession:!1,MediaKeyStatusMap:!1,MediaKeySystemAccess:!1,MediaList:!1,MediaMetadata:!1,MediaQueryList:!1,MediaQueryListEvent:!1,MediaRecorder:!1,MediaRecorderErrorEvent:!1,MediaSession:!1,MediaSource:!1,MediaSourceHandle:!1,MediaStream:!1,MediaStreamAudioDestinationNode:!1,MediaStreamAudioSourceNode:!1,MediaStreamEvent:!1,MediaStreamTrack:!1,MediaStreamTrackAudioSourceNode:!1,MediaStreamTrackAudioStats:!1,MediaStreamTrackEvent:!1,MediaStreamTrackGenerator:!1,MediaStreamTrackProcessor:!1,MediaStreamTrackVideoStats:!1,menubar:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MIDIAccess:!1,MIDIConnectionEvent:!1,MIDIInput:!1,MIDIInputMap:!1,MIDIMessageEvent:!1,MIDIOutput:!1,MIDIOutputMap:!1,MIDIPort:!1,MimeType:!1,MimeTypeArray:!1,model:!1,ModelGenericSession:!1,ModelManager:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationEvent:!1,MutationObserver:!1,MutationRecord:!1,name:!1,NamedNodeMap:!1,NavigateEvent:!1,navigation:!1,Navigation:!1,NavigationActivation:!1,NavigationCurrentEntryChangeEvent:!1,NavigationDestination:!1,NavigationHistoryEntry:!1,NavigationPreloadManager:!1,NavigationTransition:!1,navigator:!1,Navigator:!1,NavigatorLogin:!1,NavigatorManagedData:!1,NavigatorUAData:!1,NetworkInformation:!1,Node:!1,NodeFilter:!1,NodeIterator:!1,NodeList:!1,Notification:!1,NotifyPaintEvent:!1,NotRestoredReasonDetails:!1,NotRestoredReasons:!1,OfflineAudioCompletionEvent:!1,OfflineAudioContext:!1,offscreenBuffering:!1,OffscreenCanvas:!1,OffscreenCanvasRenderingContext2D:!1,onabort:!0,onafterprint:!0,onanimationcancel:!0,onanimationend:!0,onanimationiteration:!0,onanimationstart:!0,onappinstalled:!0,onauxclick:!0,onbeforeinput:!0,onbeforeinstallprompt:!0,onbeforematch:!0,onbeforeprint:!0,onbeforetoggle:!0,onbeforeunload:!0,onbeforexrselect:!0,onblur:!0,oncancel:!0,oncanplay:!0,oncanplaythrough:!0,onchange:!0,onclick:!0,onclose:!0,oncontentvisibilityautostatechange:!0,oncontextlost:!0,oncontextmenu:!0,oncontextrestored:!0,oncopy:!0,oncuechange:!0,oncut:!0,ondblclick:!0,ondevicemotion:!0,ondeviceorientation:!0,ondeviceorientationabsolute:!0,ondrag:!0,ondragend:!0,ondragenter:!0,ondragleave:!0,ondragover:!0,ondragstart:!0,ondrop:!0,ondurationchange:!0,onemptied:!0,onended:!0,onerror:!0,onfocus:!0,onformdata:!0,ongamepadconnected:!0,ongamepaddisconnected:!0,ongotpointercapture:!0,onhashchange:!0,oninput:!0,oninvalid:!0,onkeydown:!0,onkeypress:!0,onkeyup:!0,onlanguagechange:!0,onload:!0,onloadeddata:!0,onloadedmetadata:!0,onloadstart:!0,onlostpointercapture:!0,onmessage:!0,onmessageerror:!0,onmousedown:!0,onmouseenter:!0,onmouseleave:!0,onmousemove:!0,onmouseout:!0,onmouseover:!0,onmouseup:!0,onmousewheel:!0,onoffline:!0,ononline:!0,onpagehide:!0,onpagereveal:!0,onpageshow:!0,onpageswap:!0,onpaste:!0,onpause:!0,onplay:!0,onplaying:!0,onpointercancel:!0,onpointerdown:!0,onpointerenter:!0,onpointerleave:!0,onpointermove:!0,onpointerout:!0,onpointerover:!0,onpointerrawupdate:!0,onpointerup:!0,onpopstate:!0,onprogress:!0,onratechange:!0,onrejectionhandled:!0,onreset:!0,onresize:!0,onscroll:!0,onscrollend:!0,onsearch:!0,onsecuritypolicyviolation:!0,onseeked:!0,onseeking:!0,onselect:!0,onselectionchange:!0,onselectstart:!0,onslotchange:!0,onstalled:!0,onstorage:!0,onsubmit:!0,onsuspend:!0,ontimeupdate:!0,ontoggle:!0,ontransitioncancel:!0,ontransitionend:!0,ontransitionrun:!0,ontransitionstart:!0,onunhandledrejection:!0,onunload:!0,onvolumechange:!0,onwaiting:!0,onwheel:!0,open:!1,opener:!1,Option:!1,OrientationSensor:!1,origin:!1,originAgentCluster:!1,OscillatorNode:!1,OTPCredential:!1,outerHeight:!1,outerWidth:!1,OverconstrainedError:!1,PageRevealEvent:!1,PageSwapEvent:!1,PageTransitionEvent:!1,pageXOffset:!1,pageYOffset:!1,PannerNode:!1,parent:!1,PasswordCredential:!1,Path2D:!1,PaymentAddress:!1,PaymentManager:!1,PaymentMethodChangeEvent:!1,PaymentRequest:!1,PaymentRequestUpdateEvent:!1,PaymentResponse:!1,performance:!1,Performance:!1,PerformanceElementTiming:!1,PerformanceEntry:!1,PerformanceEventTiming:!1,PerformanceLongAnimationFrameTiming:!1,PerformanceLongTaskTiming:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceNavigation:!1,PerformanceNavigationTiming:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformancePaintTiming:!1,PerformanceResourceTiming:!1,PerformanceScriptTiming:!1,PerformanceServerTiming:!1,PerformanceTiming:!1,PeriodicSyncManager:!1,PeriodicWave:!1,Permissions:!1,PermissionStatus:!1,PERSISTENT:!1,personalbar:!1,PictureInPictureEvent:!1,PictureInPictureWindow:!1,Plugin:!1,PluginArray:!1,PointerEvent:!1,PopStateEvent:!1,postMessage:!1,Presentation:!1,PresentationAvailability:!1,PresentationConnection:!1,PresentationConnectionAvailableEvent:!1,PresentationConnectionCloseEvent:!1,PresentationConnectionList:!1,PresentationReceiver:!1,PresentationRequest:!1,PressureObserver:!1,PressureRecord:!1,print:!1,ProcessingInstruction:!1,Profiler:!1,ProgressEvent:!1,PromiseRejectionEvent:!1,prompt:!1,ProtectedAudience:!1,PublicKeyCredential:!1,PushManager:!1,PushSubscription:!1,PushSubscriptionOptions:!1,queryLocalFonts:!1,queueMicrotask:!1,RadioNodeList:!1,Range:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,registerProcessor:!1,RelativeOrientationSensor:!1,RemotePlayback:!1,removeEventListener:!1,reportError:!1,ReportingObserver:!1,Request:!1,requestAnimationFrame:!1,requestIdleCallback:!1,resizeBy:!1,ResizeObserver:!1,ResizeObserverEntry:!1,ResizeObserverSize:!1,resizeTo:!1,Response:!1,RTCCertificate:!1,RTCDataChannel:!1,RTCDataChannelEvent:!1,RTCDtlsTransport:!1,RTCDTMFSender:!1,RTCDTMFToneChangeEvent:!1,RTCEncodedAudioFrame:!1,RTCEncodedVideoFrame:!1,RTCError:!1,RTCErrorEvent:!1,RTCIceCandidate:!1,RTCIceTransport:!1,RTCPeerConnection:!1,RTCPeerConnectionIceErrorEvent:!1,RTCPeerConnectionIceEvent:!1,RTCRtpReceiver:!1,RTCRtpScriptTransform:!1,RTCRtpSender:!1,RTCRtpTransceiver:!1,RTCSctpTransport:!1,RTCSessionDescription:!1,RTCStatsReport:!1,RTCTrackEvent:!1,sampleRate:!1,scheduler:!1,Scheduler:!1,Scheduling:!1,screen:!1,Screen:!1,ScreenDetailed:!1,ScreenDetails:!1,screenLeft:!1,ScreenOrientation:!1,screenTop:!1,screenX:!1,screenY:!1,ScriptProcessorNode:!1,scroll:!1,scrollbars:!1,scrollBy:!1,ScrollTimeline:!1,scrollTo:!1,scrollX:!1,scrollY:!1,SecurityPolicyViolationEvent:!1,Selection:!1,self:!1,Sensor:!1,SensorErrorEvent:!1,Serial:!1,SerialPort:!1,ServiceWorker:!1,ServiceWorkerContainer:!1,ServiceWorkerRegistration:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,ShadowRoot:!1,sharedStorage:!1,SharedStorage:!1,SharedStorageWorklet:!1,SharedWorker:!1,showDirectoryPicker:!1,showOpenFilePicker:!1,showSaveFilePicker:!1,SourceBuffer:!1,SourceBufferList:!1,speechSynthesis:!1,SpeechSynthesis:!1,SpeechSynthesisErrorEvent:!1,SpeechSynthesisEvent:!1,SpeechSynthesisUtterance:!1,SpeechSynthesisVoice:!1,StaticRange:!1,status:!1,statusbar:!1,StereoPannerNode:!1,stop:!1,Storage:!1,StorageBucket:!1,StorageBucketManager:!1,StorageEvent:!1,StorageManager:!1,structuredClone:!1,styleMedia:!1,StylePropertyMap:!1,StylePropertyMapReadOnly:!1,StyleSheet:!1,StyleSheetList:!1,SubmitEvent:!1,SubtleCrypto:!1,SVGAElement:!1,SVGAngle:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimationElement:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGComponentTransferFunctionElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGElement:!1,SVGEllipseElement:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEDropShadowElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGeometryElement:!1,SVGGradientElement:!1,SVGGraphicsElement:!1,SVGImageElement:!1,SVGLength:!1,SVGLengthList:!1,SVGLinearGradientElement:!1,SVGLineElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMPathElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPathElement:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStyleElement:!1,SVGSVGElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTSpanElement:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGViewElement:!1,SyncManager:!1,TaskAttributionTiming:!1,TaskController:!1,TaskPriorityChangeEvent:!1,TaskSignal:!1,TEMPORARY:!1,Text:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TextEvent:!1,TextFormat:!1,TextFormatUpdateEvent:!1,TextMetrics:!1,TextTrack:!1,TextTrackCue:!1,TextTrackCueList:!1,TextTrackList:!1,TextUpdateEvent:!1,TimeEvent:!1,TimeRanges:!1,ToggleEvent:!1,toolbar:!1,top:!1,Touch:!1,TouchEvent:!1,TouchList:!1,TrackEvent:!1,TransformStream:!1,TransformStreamDefaultController:!1,TransitionEvent:!1,TreeWalker:!1,TrustedHTML:!1,TrustedScript:!1,TrustedScriptURL:!1,TrustedTypePolicy:!1,TrustedTypePolicyFactory:!1,trustedTypes:!1,UIEvent:!1,URL:!1,URLPattern:!1,URLSearchParams:!1,USB:!1,USBAlternateInterface:!1,USBConfiguration:!1,USBConnectionEvent:!1,USBDevice:!1,USBEndpoint:!1,USBInterface:!1,USBInTransferResult:!1,USBIsochronousInTransferPacket:!1,USBIsochronousInTransferResult:!1,USBIsochronousOutTransferPacket:!1,USBIsochronousOutTransferResult:!1,USBOutTransferResult:!1,UserActivation:!1,ValidityState:!1,VideoColorSpace:!1,VideoDecoder:!1,VideoEncoder:!1,VideoFrame:!1,VideoPlaybackQuality:!1,ViewTimeline:!1,ViewTransition:!1,ViewTransitionTypeSet:!1,VirtualKeyboard:!1,VirtualKeyboardGeometryChangeEvent:!1,VisibilityStateEntry:!1,visualViewport:!1,VisualViewport:!1,VTTCue:!1,VTTRegion:!1,WakeLock:!1,WakeLockSentinel:!1,WaveShaperNode:!1,WebAssembly:!1,WebGL2RenderingContext:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLObject:!1,WebGLProgram:!1,WebGLQuery:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLSampler:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLSync:!1,WebGLTexture:!1,WebGLTransformFeedback:!1,WebGLUniformLocation:!1,WebGLVertexArrayObject:!1,WebSocket:!1,WebSocketError:!1,WebSocketStream:!1,WebTransport:!1,WebTransportBidirectionalStream:!1,WebTransportDatagramDuplexStream:!1,WebTransportError:!1,WebTransportReceiveStream:!1,WebTransportSendStream:!1,WGSLLanguageFeatures:!1,WheelEvent:!1,window:!1,Window:!1,WindowControlsOverlay:!1,WindowControlsOverlayGeometryChangeEvent:!1,Worker:!1,Worklet:!1,WorkletGlobalScope:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1,XMLDocument:!1,XMLHttpRequest:!1,XMLHttpRequestEventTarget:!1,XMLHttpRequestUpload:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathExpression:!1,XPathResult:!1,XRAnchor:!1,XRAnchorSet:!1,XRBoundedReferenceSpace:!1,XRCamera:!1,XRCPUDepthInformation:!1,XRDepthInformation:!1,XRDOMOverlayState:!1,XRFrame:!1,XRHitTestResult:!1,XRHitTestSource:!1,XRInputSource:!1,XRInputSourceArray:!1,XRInputSourceEvent:!1,XRInputSourcesChangeEvent:!1,XRLayer:!1,XRLightEstimate:!1,XRLightProbe:!1,XRPose:!1,XRRay:!1,XRReferenceSpace:!1,XRReferenceSpaceEvent:!1,XRRenderState:!1,XRRigidTransform:!1,XRSession:!1,XRSessionEvent:!1,XRSpace:!1,XRSystem:!1,XRTransientInputHitTestResult:!1,XRTransientInputHitTestSource:!1,XRView:!1,XRViewerPose:!1,XRViewport:!1,XRWebGLBinding:!1,XRWebGLDepthInformation:!1,XRWebGLLayer:!1,XSLTProcessor:!1},es2024:{AggregateError:!1,Array:!1,ArrayBuffer:!1,Atomics:!1,BigInt:!1,BigInt64Array:!1,BigUint64Array:!1,Boolean:!1,DataView:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,escape:!1,eval:!1,EvalError:!1,FinalizationRegistry:!1,Float32Array:!1,Float64Array:!1,Function:!1,globalThis:!1,Infinity:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Intl:!1,isFinite:!1,isNaN:!1,JSON:!1,Map:!1,Math:!1,NaN:!1,Number:!1,Object:!1,parseFloat:!1,parseInt:!1,Promise:!1,Proxy:!1,RangeError:!1,ReferenceError:!1,Reflect:!1,RegExp:!1,Set:!1,SharedArrayBuffer:!1,String:!1,Symbol:!1,SyntaxError:!1,TypeError:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1,undefined:!1,unescape:!1,URIError:!1,WeakMap:!1,WeakRef:!1,WeakSet:!1},greasemonkey:{cloneInto:!1,createObjectIn:!1,exportFunction:!1,GM:!1,GM_addElement:!1,GM_addStyle:!1,GM_addValueChangeListener:!1,GM_deleteValue:!1,GM_download:!1,GM_getResourceText:!1,GM_getResourceURL:!1,GM_getTab:!1,GM_getTabs:!1,GM_getValue:!1,GM_info:!1,GM_listValues:!1,GM_log:!1,GM_notification:!1,GM_openInTab:!1,GM_registerMenuCommand:!1,GM_removeValueChangeListener:!1,GM_saveTab:!1,GM_setClipboard:!1,GM_setValue:!1,GM_unregisterMenuCommand:!1,GM_xmlhttpRequest:!1,unsafeWindow:!1},node:{__dirname:!1,__filename:!1,AbortController:!1,AbortSignal:!1,atob:!1,Blob:!1,BroadcastChannel:!1,btoa:!1,Buffer:!1,ByteLengthQueuingStrategy:!1,clearImmediate:!1,clearInterval:!1,clearTimeout:!1,CompressionStream:!1,console:!1,CountQueuingStrategy:!1,crypto:!1,Crypto:!1,CryptoKey:!1,CustomEvent:!1,DecompressionStream:!1,DOMException:!1,Event:!1,EventTarget:!1,exports:!0,fetch:!1,File:!1,FormData:!1,global:!1,Headers:!1,Iterator:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,module:!1,navigator:!1,Navigator:!1,performance:!1,Performance:!1,PerformanceEntry:!1,PerformanceMark:!1,PerformanceMeasure:!1,PerformanceObserver:!1,PerformanceObserverEntryList:!1,PerformanceResourceTiming:!1,process:!1,queueMicrotask:!1,ReadableByteStreamController:!1,ReadableStream:!1,ReadableStreamBYOBReader:!1,ReadableStreamBYOBRequest:!1,ReadableStreamDefaultController:!1,ReadableStreamDefaultReader:!1,Request:!1,require:!1,Response:!1,setImmediate:!1,setInterval:!1,setTimeout:!1,structuredClone:!1,SubtleCrypto:!1,TextDecoder:!1,TextDecoderStream:!1,TextEncoder:!1,TextEncoderStream:!1,TransformStream:!1,TransformStreamDefaultController:!1,URL:!1,URLSearchParams:!1,WebAssembly:!1,WebSocket:!1,WritableStream:!1,WritableStreamDefaultController:!1,WritableStreamDefaultWriter:!1},webextensions:{browser:!1,chrome:!1,opr:!1}};let er=[".js",".jsx",".mjs",".cjs"],et=(e={})=>{let{files:o,disableNoConsoleInCLI:s=!0,env:i={}}=e,{browser:a=!0,webextensions:l=!1,greasemonkey:c=!1,customGlobals:p={}}=i,u=[f.configs.recommended,{linterOptions:{reportUnusedDisableDirectives:!0}},{name:"@eslint-sukka/js base",...o?{files:o}:{},languageOptions:{ecmaVersion:"latest",sourceType:"module",parserOptions:{ecmaVersion:"latest",sourceType:"module",ecmaFeatures:{jsx:!0}},globals:{...ee.es2024,...a&&ee.browser,...l&&ee.webextensions,...c&&ee.greasemonkey,...p}},settings:{"import-x/parsers":{espree:er},"import-x/extensions":er},plugins:{"unused-imports":t(S,"eslint-plugin-unused-imports"),"@stylistic/js":t(y,"@stylistic/eslint-plugin-js"),"@stylistic/plus":t(g,"@stylistic/eslint-plugin-plus"),sukka:t(m,"eslint-plugin-sukka"),"import-x":t(k,"eslint-plugin-import-x"),autofix:b},rules:{...k.configs.recommended.rules,"accessor-pairs":"off","array-callback-return":["error",{allowImplicit:!0}],"block-scoped-var":"error","class-methods-use-this":["error",{exceptMethods:[]}],curly:["error","multi-line"],"default-case":["error",{commentPattern:"^no default$"}],"default-case-last":"error","default-param-last":"error","dot-notation":["error",{allowKeywords:!0}],"@stylistic/js/dot-location":["error","property"],eqeqeq:["error","always",{null:"ignore"}],"grouped-accessor-pairs":"error","guard-for-in":"error","no-alert":"warn","no-caller":"off","autofix/no-caller":"error","no-constructor-return":"error","no-else-return":["error",{allowElseIf:!1}],"no-empty-pattern":"error","no-empty-static-block":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-label":"error","no-native-reassign":"off","no-implicit-coercion":["off",{boolean:!1,number:!0,string:!0,allow:[]}],"no-implicit-globals":"off","no-implied-eval":"error","no-invalid-this":"off","no-labels":["error",{allowLoop:!1,allowSwitch:!1}],"no-lone-blocks":"error","no-loop-func":"error","@stylistic/js/no-multi-spaces":["error",{ignoreEOLComments:!1}],"no-multi-str":"error","no-new":"error","no-new-func":"error","no-new-wrappers":"error","no-octal-escape":"error","no-proto":"off","autofix/no-proto":"error","no-restricted-properties":["error",...[["isFinite","Number.isFinite"],["isNaN","Number.isNaN"]].flatMap(([e,r])=>["global","globalThis","window","self"].map(t=>({object:t,property:e,message:`Please use ${r} instead`}))),{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."},{object:"Math",property:"pow",message:"Use the exponentiation operator (**) instead."}],"no-return-assign":["error","always"],"no-return-await":"off","sukka/no-return-await":"error","no-self-compare":"error","no-sequences":"error","no-unmodified-loop-condition":"off","no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"no-useless-call":"off","no-useless-catch":"off","autofix/no-useless-catch":"error","no-useless-concat":"off","autofix/no-useless-concat":"error","no-useless-escape":"error","no-useless-return":"error","no-void":["error",{allowAsStatement:!0}],"no-with":"error","prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"prefer-object-has-own":"error","prefer-regex-literals":["error",{disallowRedundantWrapping:!0}],radix:"off","autofix/radix":"error","require-await":"error","require-yield":"error","require-unicode-regexp":"off","vars-on-top":"error","@stylistic/js/wrap-iife":["error","outside",{functionPrototypeMethods:!1}],yoda:"error","no-await-in-loop":"warn","no-console":"warn","no-constant-condition":"warn","no-empty-function":"error","no-empty":["error",{allowEmptyCatch:!0}],"no-constant-binary-expression":"error","@stylistic/js/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-loss-of-precision":"warn","no-promise-executor-return":"error","no-template-curly-in-string":"error","no-unreachable-loop":["error",{ignore:[]}],"no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-vars":"off","unused-imports/no-unused-imports":"off","no-unused-private-class-members":"error","no-useless-backreference":"error","no-negated-in-lhs":"off","require-atomic-updates":"off","use-isnan":["error",{enforceForIndexOf:!0}],"valid-typeof":"off","autofix/valid-typeof":["error",{requireStringLiterals:!0}],"no-new-native-nonconstructor":"off","autofix/no-new-native-nonconstructor":"error","@stylistic/js/arrow-spacing":["error",{before:!0,after:!0}],"@stylistic/js/generator-star-spacing":["error",{before:!0,after:!1}],"@stylistic/js/no-confusing-arrow":["error",{allowParens:!0}],"no-duplicate-imports":"off","no-restricted-exports":["error",{restrictedNamedExports:["then"]}],"no-useless-constructor":"error","no-useless-rename":["error",{ignoreDestructuring:!1,ignoreImport:!1,ignoreExport:!1}],"no-var":"warn","object-shorthand":["error","always",{ignoreConstructors:!1,avoidQuotes:!0,avoidExplicitReturnArrows:!0}],"prefer-arrow-callback":["error",{allowNamedFunctions:!1,allowUnboundThis:!0}],"prefer-const":["error",{ignoreReadBeforeAssign:!0}],"prefer-numeric-literals":"error","prefer-reflect":"off","prefer-rest-params":"error","prefer-template":"off","symbol-description":"error","@stylistic/js/template-curly-spacing":["error","never"],"@stylistic/js/yield-star-spacing":["error","before"],"@stylistic/js/array-bracket-newline":["off","consistent"],"@stylistic/js/array-bracket-spacing":["error","never"],"@stylistic/js/array-element-newline":["off",{multiline:!0,minItems:5}],"@stylistic/js/block-spacing":["error","always"],"@stylistic/js/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:["warn",{properties:"never",ignoreDestructuring:!1,ignoreImports:!0,ignoreGlobals:!0,allow:["^UNSAFE_","^experimental_","^__DEV__"]}],"@stylistic/js/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/comma-style":["error","last",{exceptions:{ArrayExpression:!1,ArrayPattern:!1,ArrowFunctionExpression:!1,CallExpression:!1,FunctionDeclaration:!1,FunctionExpression:!1,ImportDeclaration:!1,ObjectExpression:!1,ObjectPattern:!1,VariableDeclaration:!1,NewExpression:!1}}],"@stylistic/js/computed-property-spacing":["error","never"],"consistent-this":"off","@stylistic/js/eol-last":["error","always"],"@stylistic/js/func-call-spacing":["error","never"],"@stylistic/js/function-call-argument-newline":["off","consistent"],"@stylistic/js/function-paren-newline":["error","consistent"],"@stylistic/js/implicit-arrow-linebreak":["error","beside"],"@stylistic/js/indent":["error",2,{SwitchCase:1}],"@stylistic/plus/indent-binary-ops":["error",2],"@stylistic/js/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/linebreak-style":"error","@stylistic/js/lines-around-comment":"off","@stylistic/js/lines-around-directive":"off","@stylistic/js/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"@stylistic/js/multiline-ternary":"off","new-cap":["error",{newIsCap:!0,newIsCapExceptions:[],capIsNew:!1,capIsNewExceptions:["Immutable.Map","Immutable.Set","Immutable.List"]}],"@stylistic/js/newline-after-var":"off","@stylistic/js/newline-before-return":"off","@stylistic/js/newline-per-chained-call":["error",{ignoreChainWithDepth:6}],"@stylistic/js/new-parens":"error","no-bitwise":"off","no-lonely-if":"error","@stylistic/js/no-mixed-operators":["error",{groups:[["**","+"],["**","-"],["**","*"],["**","/"],["%","+"],["%","-"],["%","*"],["%","/"],["%","**"],["==","!=","===","!==",">",">=","<","<="],["&&","||"],["in","instanceof"]],allowSamePrecedence:!0}],"@stylistic/js/no-mixed-spaces-and-tabs":"error","no-multi-assign":["error"],"@stylistic/js/no-multiple-empty-lines":["error",{max:1,maxBOF:0,maxEOF:0}],"no-negated-condition":"off","no-nested-ternary":"off","sukka/unicorn/no-nested-ternary":"warn","no-new-object":"off","no-object-constructor":"error","no-array-constructor":"error","@stylistic/js/no-spaced-func":"off","@stylistic/js/no-tabs":"error","no-ternary":"off","@stylistic/js/no-trailing-spaces":"error","no-unneeded-ternary":"error","@stylistic/js/no-whitespace-before-property":"error","@stylistic/js/nonblock-statement-body-position":"error","@stylistic/js/object-curly-newline":"off","@stylistic/js/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/js/one-var-declaration-per-line":"off","prefer-exponentiation-operator":"error","@stylistic/js/operator-linebreak":["error","before"],"@stylistic/js/padded-blocks":["error","never"],"@stylistic/js/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":["error","single"],"@stylistic/js/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/jsx-quotes":["error","prefer-double"],"@stylistic/js/rest-spread-spacing":["error","never"],"@stylistic/js/semi":["error","always"],"@stylistic/js/semi-spacing":["error",{before:!1,after:!0}],"@stylistic/js/semi-style":["error","last"],"@stylistic/js/space-before-blocks":"error","@stylistic/js/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-in-parens":["error","never"],"@stylistic/js/space-infix-ops":"error","@stylistic/js/space-unary-ops":["error",{words:!0,nonwords:!1,overrides:{}}],"@stylistic/js/spaced-comment":["error","always",{line:{exceptions:["-","+"],markers:["=","!","/"]},block:{exceptions:["-","+"],markers:["=","!",":","::"],balanced:!0}}],"@stylistic/js/switch-colon-spacing":["error",{after:!0,before:!1}],"@stylistic/js/template-tag-spacing":["error","never"],"unicode-bom":["error","never"],"@stylistic/js/wrap-regex":"off","no-label-var":"error","no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-globals":["error",{name:"isFinite",message:"Use Number.isFinite instead https://github.com/airbnb/javascript#standard-library--isfinite"},{name:"isNaN",message:"Use Number.isNaN instead https://github.com/airbnb/javascript#standard-library--isnan"}],"no-undef-init":"error","sukka/array/no-unneeded-flat-map":"error","sukka/browser/prefer-location-assign":"warn","sukka/jsx/no-template-literal":"error","sukka/jsx/no-unneeded-nested":"error","sukka/string/no-locale-case":"warn","sukka/string/no-simple-template-literal":"error","sukka/type/no-instanceof-wrapper":"error","sukka/unicode/no-bidi":"warn","sukka/unicode/no-invisible":"warn","sukka/no-redundant-variable":"error","sukka/no-single-return":"error","sukka/prefer-early-return":["error",{maximumStatements:16}],"sukka/prefer-fetch":"error","sukka/prefer-timer-id":"warn","sukka/unicorn/require-array-join-separator":"warn","sukka/unicorn/no-thenable":"error","sukka/unicorn/no-invalid-remove-event-listener":"error","sukka/unicorn/consistent-function-scoping":"warn","sukka/unicorn/prefer-event-target":"warn","sukka/unicorn/prefer-keyboard-event-key":"warn","sukka/unicorn/prefer-text-content":"warn","sukka/unicorn/no-console-spaces":"warn","sukka/unicorn/no-empty-file":"warn","sukka/unicorn/no-useless-fallback-in-spread":"warn","sukka/unicorn/no-useless-length-check":"warn","sukka/unicorn/no-useless-promise-resolve-reject":"warn","sukka/unicorn/no-zero-fractions":"warn","sukka/unicorn/prefer-export-from":["warn",{ignoreUsedVariables:!0}],"sukka/unicorn/prefer-native-coercion-functions":"warn","sukka/unicorn/no-document-cookie":"error","sukka/unicorn/prefer-add-event-listener":"warn","sukka/unicorn/prefer-array-index-of":"warn","sukka/unicorn/prefer-blob-reading-methods":"warn","sukka/unicorn/prefer-date-now":"warn","sukka/unicorn/prefer-dom-node-dataset":"warn","sukka/unicorn/prefer-modern-math-apis":"warn","sukka/unicorn/number-literal-case":"error","sukka/unicorn/prefer-number-properties":["warn",{checkInfinity:!1}],"sukka/unicorn/prefer-reflect-apply":"warn","sukka/unicorn/prefer-set-size":"warn","sukka/unicorn/prefer-string-replace-all":"warn","sukka/unicorn/prefer-string-slice":"warn","sukka/unicorn/prefer-string-trim-start-end":"warn","sukka/unicorn/no-unreadable-iife":"warn","sukka/unicorn/throw-new-error":"warn","sukka/unicorn/better-regex":"error","sukka/unicorn/escape-case":"warn","sukka/unicorn/no-hex-escape":"warn","sukka/unicorn/prefer-prototype-methods":"warn","sukka/unicorn/error-message":"error","sukka/unicorn/no-instanceof-array":"error","sukka/unicorn/prefer-type-error":"error","sukka/unicorn/consistent-destructuring":"warn","sukka/unicorn/new-for-builtins":"warn","sukka/unicorn/no-array-push-push":"warn","sukka/unicorn/no-static-only-class":"warn","sukka/unicorn/no-unreadable-array-destructuring":"error","sukka/unicorn/no-useless-spread":"warn","sukka/unicorn/no-useless-switch-case":"warn","sukka/unicorn/no-useless-undefined":["error",{checkArguments:!1}],"sukka/unicorn/numeric-separators-style":["warn",{onlyIfContainsSeparator:!1,number:{minimumDigits:7,groupLength:3},binary:{minimumDigits:9,groupLength:4},octal:{minimumDigits:9,groupLength:4},hexadecimal:{minimumDigits:5,groupLength:2}}],"sukka/unicorn/prefer-array-find":"warn","sukka/unicorn/prefer-array-flat-map":"warn","sukka/unicorn/prefer-array-flat":"warn","sukka/unicorn/prefer-array-some":"warn","sukka/unicorn/prefer-code-point":"warn","sukka/unicorn/prefer-default-parameters":"warn","sukka/unicorn/prefer-logical-operator-over-ternary":"warn","sukka/unicorn/prefer-optional-catch-binding":"error","sukka/unicorn/prefer-regexp-test":"warn","sukka/unicorn/prefer-set-has":"error","sukka/unicorn/prefer-switch":"warn","sukka/unicorn/require-number-to-fixed-digits-argument":"warn","sukka/import-dedupe":"error","sukka/unicorn/prefer-string-raw":"warn","sukka/unicorn/no-single-promise-in-promise-methods":"error","sukka/unicorn/no-await-in-promise-methods":"error","sukka/unicorn/template-indent":["warn",{tags:["outdent","dedent","gql","sql","html","styled","css"],functions:["dedent","stripIndent","strip_indent","stripTags","striptags","strip_tags","stripHtml","stripHTML","strip_html"],selectors:[],comments:["HTML","html","CSS","css","indent"]}],"sukka/unicorn/no-negation-in-equality-check":"error","no-restricted-imports":["error",{paths:n}],"no-prototype-builtins":"off","autofix/no-prototype-builtins":"error"}}];if(!1!==s){let e="boolean"!=typeof s?Array.isArray(s)?s:[s]:null;u.push({name:"@eslint-sukka/js cli specific",files:e??[`**/scripts/${r.GLOB_SRC}`,`**/cli/${r.GLOB_SRC}`,`**/cli.${r.GLOB_SRC_EXT}`],rules:{"no-console":"off"}})}return u},en={plugins:{jsonc:t(E,"eslint-plugin-jsonc")},languageOptions:{parser:h}},eo={"jsonc/array-bracket-spacing":["error","never"],"jsonc/comma-dangle":["error","never"],"jsonc/comma-style":["error","last"],"jsonc/indent":["error",2],"jsonc/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"jsonc/object-curly-newline":"off","jsonc/object-curly-spacing":["error","always"],"jsonc/object-property-newline":["error",{allowMultiplePropertiesPerLine:!0}],"jsonc/quote-props":"error","jsonc/quotes":"error"},es=()=>[...E.configs["flat/base"],{name:"@eslint-sukka/json json",files:[r.GLOB_JSON],rules:{...E.configs["flat/recommended-with-json"].reduce((e,r)=>({...e,...r.rules}),{}),...eo}},{name:"@eslint-sukka/json json5",...en,files:[r.GLOB_JSON5],rules:{...E.configs["flat/recommended-with-json5"].reduce((e,r)=>({...e,...r.rules}),{}),...eo}},{name:"@eslint-sukka/json jsonc",...en,files:[r.GLOB_JSONC],rules:{...E.configs["flat/recommended-with-jsonc"].reduce((e,r)=>({...e,...r.rules}),{}),...eo}},{name:"@eslint-sukka/json package.json",...en,files:["**/package.json"],rules:{"jsonc/sort-array-values":["error",{order:{type:"asc"},pathPattern:"^files$"}],"jsonc/sort-keys":["error",{order:["$schema","publisher","name","displayName","version","private","description","funding","homepage","repository","bugs","categories","type","main","module","types","typesVersions","bin","files","exports","icon","unpkg","jsdelivr","sideEffects","activationEvents","contributes","scripts","keywords","author","license","dependencies","devDependencies","peerDependencies","peerDependenciesMeta","optionalDependencies","packageManager","engines","pnpm","overrides","resolutions","husky","simple-git-hooks","lint-staged","eslintConfig"],pathPattern:"^$"},{order:{type:"asc"},pathPattern:"^(?:dev|peer|optional|bundled)?[Dd]ependencies(Meta)?$"},{order:["types","import","module","require","default"],pathPattern:"^exports.*$"}]}},{name:"@eslint-sukka/json tsconfig.json",...en,files:["**/tsconfig.json","**/tsconfig.*.json","**/tsconfig-*.json","**/jsconfig.json","**/jsconfig.*.json","**/jsconfig-*.json"],rules:{"jsonc/sort-keys":["error",{order:["$schema","extends","compilerOptions","references","files","include","exclude"],pathPattern:"^$"},{order:["incremental","composite","tsBuildInfoFile","disableSourceOfProjectReferenceRedirect","disableSolutionSearching","disableReferencedProjectLoad","target","lib","jsx","experimentalDecorators","emitDecoratorMetadata","jsxFactory","jsxFragmentFactory","jsxImportSource","reactNamespace","noLib","useDefineForClassFields","moduleDetection","module","rootDir","moduleResolution","baseUrl","paths","rootDirs","typeRoots","types","allowUmdGlobalAccess","moduleSuffixes","allowImportingTsExtensions","resolvePackageJsonExports","resolvePackageJsonImports","customConditions","resolveJsonModule","allowArbitraryExtensions","noResolve","allowJs","checkJs","maxNodeModuleJsDepth","declaration","declarationMap","emitDeclarationOnly","sourceMap","inlineSourceMap","outFile","outDir","removeComments","noEmit","importHelpers","importsNotUsedAsValues","downlevelIteration","sourceRoot","mapRoot","inlineSources","emitBOM","newLine","stripInternal","noEmitHelpers","noEmitOnError","preserveConstEnums","declarationDir","preserveValueImports","isolatedModules","verbatimModuleSyntax","allowSyntheticDefaultImports","esModuleInterop","preserveSymlinks","forceConsistentCasingInFileNames","strict","strictBindCallApply","strictFunctionTypes","strictNullChecks","strictPropertyInitialization","allowUnreachableCode","allowUnusedLabels","alwaysStrict","exactOptionalPropertyTypes","noFallthroughCasesInSwitch","noImplicitAny","noImplicitOverride","noImplicitReturns","noImplicitThis","noPropertyAccessFromIndexSignature","noUncheckedIndexedAccess","noUnusedLocals","noUnusedParameters","useUnknownInCatchVariables","skipDefaultLibCheck","skipLibCheck"],pathPattern:"^compilerOptions$"}]}}],ei={"no-dupe-class-members":"off","@typescript-eslint/no-dupe-class-members":"error","no-redeclare":"off","@typescript-eslint/no-redeclare":"error","no-unused-vars":"off","@typescript-eslint/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"class-methods-use-this":"off","@typescript-eslint/class-methods-use-this":["error",{exceptMethods:[]}],"default-param-last":"off","@typescript-eslint/default-param-last":"error","dot-notation":"off","@typescript-eslint/dot-notation":["error",{allowKeywords:!0}],"no-implied-eval":"off","@typescript-eslint/no-implied-eval":"error","no-invalid-this":"off","@typescript-eslint/no-invalid-this":"off","no-loop-func":"off","@typescript-eslint/no-loop-func":"error","no-return-await":"off","@typescript-eslint/return-await":"error","sukka/no-return-await":"off","no-unused-expressions":"off","@typescript-eslint/no-unused-expressions":["error",{allowShortCircuit:!1,allowTernary:!1,allowTaggedTemplates:!1}],"prefer-promise-reject-errors":"off","@typescript-eslint/prefer-promise-reject-errors":["error",{allowEmptyReject:!0}],"require-await":"off","@typescript-eslint/require-await":"error","no-empty-function":"off","@typescript-eslint/no-empty-function":"error","@stylistic/js/no-extra-parens":"off","@stylistic/ts/no-extra-parens":["off","all",{conditionalAssign:!0,nestedBinaryExpressions:!1,returnAssign:!1,ignoreJSX:"all",enforceForArrowConditionals:!1}],"no-useless-constructor":"off","@typescript-eslint/no-useless-constructor":"error","@stylistic/js/block-spacing":"off","@stylistic/ts/block-spacing":["error","always"],"@stylistic/js/brace-style":"off","@stylistic/ts/brace-style":["error","1tbs",{allowSingleLine:!0}],camelcase:"off","@stylistic/js/comma-dangle":"off","@stylistic/ts/comma-dangle":["error","never"],"@stylistic/js/comma-spacing":"off","@stylistic/ts/comma-spacing":["error",{before:!1,after:!0}],"@stylistic/js/func-call-spacing":"off","@stylistic/ts/func-call-spacing":["error","never"],"@stylistic/js/indent":"off","@stylistic/ts/indent":["error",2,{SwitchCase:1}],"@stylistic/js/key-spacing":"off","@stylistic/ts/key-spacing":["error",{beforeColon:!1,afterColon:!0}],"@stylistic/js/keyword-spacing":"off","@stylistic/ts/keyword-spacing":["error",{before:!0,after:!0,overrides:{return:{after:!0},throw:{after:!0},case:{after:!0}}}],"@stylistic/js/lines-around-comment":"off","@stylistic/ts/lines-around-comment":"off","@stylistic/js/lines-between-class-members":"off","@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0}],"no-array-constructor":"off","@typescript-eslint/no-array-constructor":"error","@stylistic/js/object-curly-newline":"off","@stylistic/ts/object-curly-newline":"off","@stylistic/js/object-curly-spacing":"off","@stylistic/ts/object-curly-spacing":["error","always"],"@stylistic/js/object-property-newline":"off","@stylistic/ts/object-property-newline":"off","@stylistic/js/padding-line-between-statements":"off","@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"}],"@stylistic/js/quotes":"off","@stylistic/ts/quotes":["error","single"],"@stylistic/js/quote-props":"off","@stylistic/ts/quote-props":["error","as-needed",{keywords:!1,unnecessary:!0,numbers:!1}],"@stylistic/js/semi":"off","@stylistic/ts/semi":["error","always"],"@stylistic/js/space-before-blocks":"off","@stylistic/ts/space-before-blocks":"error","@stylistic/js/space-before-function-paren":"off","@stylistic/ts/space-before-function-paren":["error",{anonymous:"always",named:"never",asyncArrow:"always"}],"@stylistic/js/space-infix-ops":"off","@stylistic/ts/space-infix-ops":"error","no-use-before-define":"off","@typescript-eslint/no-use-before-define":["error",{functions:!1,classes:!0,variables:!0}],"no-restricted-imports":"off"},ea=[".js",".jsx",".mjs",".cjs"],el=[".ts",".cts",".mts",".tsx",".d.ts"],ec=[...el,...ea],ep=[".ts",".cts",".mts",".tsx",...ea],eu=(e={})=>{let{tsconfigPath:n=!0,tsconfigRootDir:i=process.cwd(),componentExtentions:a=[]}=e,l=C(o("@typescript-eslint/parser","string"==typeof __dirname?M(__dirname).href:import.meta.url));return[{name:"@eslint-sukka/ts base",files:[r.GLOB_TS,r.GLOB_TSX,...a.map(e=>`**/*.${e}`)],plugins:{...v.base.plugins,"@stylistic/ts":t(T,"@stylistic/eslint-plugin-ts"),"sukka-ts":t(w,"eslint-plugin-sukka-ts"),"@stylistic/plus":t(g,"@stylistic/eslint-plugin-plus"),"import-x":t(k,"eslint-plugin-import-x")},languageOptions:{parser:v.base.languageOptions.parser,sourceType:"module",parserOptions:{sourceType:"module",ecmaVersion:"latest",...!0===n?{projectService:!0,allowDefaultProject:[]}:{project:n},tsconfigRootDir:i,ecmaFeatures:{jsx:!0},jsxPragma:void 0,warnOnUnsupportedTypeScriptVersion:!0}},settings:{"import-x/extensions":ec,"import-x/external-module-folders":["node_modules","node_modules/@types"],"import-x/resolver":{node:{extensions:ep},"ts-bundled":{alwaysTryTypes:!0,...!0===n?{}:{project:n}}},"import-x/parsers":{espree:ea,[l]:el}},rules:{...v.base.rules,...v.recommendedTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...v.stylisticTypeChecked.reduce((e,r)=>({...e,...r.rules}),{}),...k.configs.typescript.rules,...ei,"@typescript-eslint/ban-ts-comment":["error",{"ts-expect-error":"allow-with-description","ts-ignore":!0,"ts-nocheck":!0,"ts-check":!1,minimumDescriptionLength:10}],"@typescript-eslint/naming-convention":["warn",{selector:"variable",format:["camelCase","PascalCase","UPPER_CASE","snake_case"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"function",format:["camelCase","PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"},{selector:"typeLike",format:["PascalCase"],leadingUnderscore:"allowSingleOrDouble",trailingUnderscore:"allowSingleOrDouble"}],"@typescript-eslint/consistent-type-assertions":["error",{assertionStyle:"as",objectLiteralTypeAssertions:"allow"}],"@typescript-eslint/require-await":"error","@typescript-eslint/await-thenable":"error","@typescript-eslint/no-for-in-array":"error","@typescript-eslint/no-misused-promises":["error",{checksVoidReturn:!1}],"@typescript-eslint/no-unnecessary-type-assertion":"error","@typescript-eslint/restrict-template-expressions":["error",{allowNumber:!0,allowAny:!0,allowBoolean:!0,allowNever:!0}],"@typescript-eslint/unbound-method":"error","@typescript-eslint/consistent-type-imports":["warn",{prefer:"type-imports",disallowTypeAnnotations:!1,fixStyle:"separate-type-imports"}],"@typescript-eslint/no-import-type-side-effects":"warn","@typescript-eslint/consistent-type-exports":["warn",{fixMixedExportsWithInlineTypeSpecifier:!1}],"@typescript-eslint/consistent-type-definitions":"warn","@typescript-eslint/consistent-generic-constructors":["error","constructor"],"@typescript-eslint/no-base-to-string":["error",{ignoredTypeNames:["Error","RegExp","URL","URLSearchParams"]}],"@typescript-eslint/no-confusing-non-null-assertion":"error","@typescript-eslint/no-dynamic-delete":"warn","@typescript-eslint/no-extraneous-class":["warn",{allowConstructorOnly:!0,allowEmpty:!0,allowWithDecorator:!0}],"@typescript-eslint/no-invalid-void-type":["off",{allowInGenericTypeArguments:!0,allowAsThisParameter:!0}],"@typescript-eslint/no-non-null-asserted-nullish-coalescing":"error","@typescript-eslint/no-unnecessary-boolean-literal-compare":"error","@typescript-eslint/no-unnecessary-condition":["warn",{allowConstantLoopConditions:!0}],"@typescript-eslint/no-unnecessary-type-arguments":"error","@typescript-eslint/no-unsafe-declaration-merging":"error","@typescript-eslint/non-nullable-type-assertion-style":"error","@typescript-eslint/prefer-includes":"error","@typescript-eslint/prefer-literal-enum-member":["error",{allowBitwiseExpressions:!0}],"@typescript-eslint/prefer-nullish-coalescing":"off","@typescript-eslint/prefer-return-this-type":"error","@typescript-eslint/prefer-optional-chain":"error","@typescript-eslint/prefer-reduce-type-parameter":"error","@typescript-eslint/unified-signatures":["error",{ignoreDifferentlyNamedParameters:!0}],"@typescript-eslint/prefer-for-of":"off","@typescript-eslint/prefer-function-type":"off","@typescript-eslint/consistent-indexed-object-style":"off","@typescript-eslint/prefer-enum-initializers":"warn","@typescript-eslint/no-duplicate-enum-values":"error","@typescript-eslint/no-extra-non-null-assertion":"error","@typescript-eslint/no-meaningless-void-operator":"warn","@typescript-eslint/no-unnecessary-qualifier":"warn","@typescript-eslint/array-type":["warn",{default:"array-simple"}],"@typescript-eslint/no-restricted-imports":["error",{paths:s}],"@typescript-eslint/no-empty-object-type":["error",{allowInterfaces:"with-single-extends",allowObjectTypes:"never",allowWithName:"Props$"}],"@typescript-eslint/no-unsafe-function-type":"warn","@typescript-eslint/no-restricted-types":["error",{types:{FC:{message:"To declare a component, you don't have to use FC to annotate it. To type something that accepts/is a React Component, use ComponentType<T>.",fixWith:"ComponentType"},"React.FC":{message:"To declare a component, you don't have to use React.FC to annotate it. To type something that accepts/is a React Component, use React.ComponentType<T>.",fixWith:"React.ComponentType"},ReactElement:{message:"In most cases, you want ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"ReactNode"},"React.ReactElement":{message:"In most cases, you want React.ReactNode. Only ignore this rule when you want to use cloneElement.",fixWith:"React.ReactNode"}}}],"@typescript-eslint/no-unsafe-assignment":"off","@typescript-eslint/no-unsafe-argument":"off","@typescript-eslint/no-explicit-any":"warn","@typescript-eslint/no-loop-func":"warn","@typescript-eslint/no-redundant-type-constituents":"off","@typescript-eslint/no-floating-promises":"off","@typescript-eslint/no-unsafe-call":"off","@typescript-eslint/no-unsafe-member-access":"off","@typescript-eslint/no-unsafe-return":"off","@typescript-eslint/no-unsafe-enum-comparison":"warn","@typescript-eslint/prefer-regexp-exec":"off","@stylistic/ts/member-delimiter-style":["error",{multiline:{delimiter:"comma",requireLast:!1},singleline:{delimiter:"comma",requireLast:!1}}],"@stylistic/ts/lines-between-class-members":["error","always",{exceptAfterSingleLine:!0,exceptAfterOverload:!0}],"@stylistic/ts/padding-line-between-statements":["error",{blankLine:"always",prev:"directive",next:"*"},{blankLine:"always",prev:"*",next:["class","with"]},{blankLine:"always",prev:["class","with"],next:"*"},{blankLine:"any",prev:["interface","type"],next:["interface","type"]}],"@stylistic/ts/type-annotation-spacing":["error",{before:!1,after:!0,overrides:{arrow:{before:!0,after:!0}}}],"@typescript-eslint/no-namespace":"off","@typescript-eslint/prefer-string-starts-ends-with":"off","sukka-ts/string/prefer-string-starts-ends-with":"error","@typescript-eslint/switch-exhaustiveness-check":"error","sukka-ts/string/no-unneeded-to-string":"error","sukka-ts/type/no-force-cast-via-top-type":"error","sukka-ts/type/no-wrapper-type-reference":"error","sukka-ts/no-default-error":"off","sukka-ts/no-const-enum":"error","@stylistic/plus/type-generic-spacing":"error","@stylistic/plus/type-named-tuple-spacing":"error","@typescript-eslint/no-unused-vars":"off","unused-imports/no-unused-vars":["error",{vars:"all",varsIgnorePattern:"^_",args:"after-used",argsIgnorePattern:"^_",ignoreRestSiblings:!0}],"unused-imports/no-unused-imports":"error","import-x/named":"off","import-x/no-duplicates":"off","import-x/namespace":"off","import-x/default":"off","import-x/no-named-as-default-member":"off"}},{name:"@eslint-sukka/ts dts",files:["**/*.d.ts"],plugins:{"import-x":t(k,"eslint-plugin-import-x")},rules:{"import-x/no-duplicates":"off","unused-imports/no-unused-vars":"off"}},{name:"@eslint-sukka/ts jest/mocha",files:["**/*.{test,spec}.ts?(x)"],rules:{"no-unused-expressions":"off"}},{name:"@eslint-sukka/ts commonjs",files:["**/*.js","**/*.cjs"],plugins:v.base.plugins,rules:{"@typescript-eslint/no-require-imports":"off","@typescript-eslint/no-var-requires":"off"}}]},em=(e={})=>[{name:"@eslint-sukka/legacy base",...e.files?{files:e.files}:{},plugins:{sukka:t(m,"eslint-plugin-sukka")},rules:{"prefer-numeric-literals":"off","no-restricted-properties":["error",{object:"arguments",property:"callee",message:"arguments.callee is deprecated"},{property:"__defineGetter__",message:"Please use Object.defineProperty instead."},{property:"__defineSetter__",message:"Please use Object.defineProperty instead."}],"no-var":"off","prefer-object-spread":"off",strict:["error","safe"],"sukka/unicorn/prefer-default-parameters":"off","sukka/unicorn/prefer-logical-operator-over-ternary":"off","sukka/unicorn/prefer-optional-catch-binding":"off"},languageOptions:{globals:{...e.browser??!0?ee.browser:{},...e.node?ee.node:{}}}}];function ed(e,r=!1){return"boolean"==typeof e?e:e?.enable??r}function ef(e){if("boolean"==typeof e||void 0===e)return;let{enable:r,...t}=e;return t}function ey(e){R(e)&&console.error(P.yellow(`[eslint-config-sukka] "${e}" is deprecated and you should uninstall it`))}let eg=async(r,...t)=>{let n=[];ey("@eslint-sukka/js"),ey("@eslint-sukka/json"),ey("@eslint-sukka/ts"),ey("@eslint-sukka/legacy");let o=ed(r?.ts,R("typescript"));n.push(J(r?.ignores),Y(),Z({typescript:o})),ed(r?.js,!0)&&n.push(et(ef(r?.js))),ed(r?.json,!0)&&n.push(es()),o&&n.push(eu(ef(r?.ts)));let s=R("next");if(ed(r?.react,R("react")||s)){if(o){let t=await e("@eslint-sukka/react");n.push(t.react(ef(r?.react))),ed(r?.next,s)&&n.push(t.next()),ed(r?.stylex,R("@stylexjs/stylex"))&&n.push(t.stylex(ef(r?.stylex)))}else console.warn("[eslint-config-sukka] React module will not be enabled when TypeScript is not set up.")}return ed(r?.node,R("@types/node")||R("@types/bun"))&&n.push((await e("@eslint-sukka/node")).node(ef(r?.node))),ed(r?.legacy)&&n.push(em(ef(r?.legacy))),n.push(t),n.flat()};export{J as ignores,eg as sukka};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-config-sukka",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.1",
|
|
4
4
|
"description": "Sukka's ESLint config",
|
|
5
5
|
"homepage": "https://github.com/SukkaW/eslint-config-sukka",
|
|
6
6
|
"repository": {
|
|
@@ -36,26 +36,26 @@
|
|
|
36
36
|
"@typescript-eslint/parser": "8.0.0-alpha.36",
|
|
37
37
|
"ci-info": "^4.0.0",
|
|
38
38
|
"eslint-plugin-autofix": "^2.1.0",
|
|
39
|
-
"eslint-plugin-import-x": "^0.5.
|
|
39
|
+
"eslint-plugin-import-x": "^0.5.3",
|
|
40
40
|
"eslint-plugin-jsonc": "^2.16.0",
|
|
41
41
|
"eslint-plugin-promise": "^6.4.0",
|
|
42
|
-
"eslint-plugin-unused-imports": "
|
|
42
|
+
"eslint-plugin-unused-imports": "4.0.0",
|
|
43
43
|
"jsonc-eslint-parser": "^2.4.0",
|
|
44
44
|
"local-pkg": "^0.5.0",
|
|
45
45
|
"picocolors": "^1.0.1",
|
|
46
46
|
"typescript-eslint": "8.0.0-alpha.36",
|
|
47
|
-
"@eslint-sukka/shared": "6.0.
|
|
48
|
-
"eslint-
|
|
49
|
-
"eslint-
|
|
50
|
-
"eslint-plugin-sukka-ts": "6.0.
|
|
47
|
+
"@eslint-sukka/shared": "6.0.1",
|
|
48
|
+
"eslint-plugin-sukka": "6.0.1",
|
|
49
|
+
"eslint-import-resolver-ts-bundled": "6.0.1",
|
|
50
|
+
"eslint-plugin-sukka-ts": "6.0.1"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@typescript-eslint/eslint-plugin": "8.0.0-alpha.36",
|
|
54
54
|
"eslint-config-flat-gitignore": "^0.1.5",
|
|
55
55
|
"globals": "^15.7.0",
|
|
56
|
-
"@eslint-sukka/
|
|
57
|
-
"@eslint-sukka/
|
|
58
|
-
"@eslint-sukka/
|
|
56
|
+
"@eslint-sukka/node": "6.0.1",
|
|
57
|
+
"@eslint-sukka/rollup-config": "6.0.1",
|
|
58
|
+
"@eslint-sukka/react": "6.0.1"
|
|
59
59
|
},
|
|
60
60
|
"scripts": {
|
|
61
61
|
"codegen": "node -r @swc-node/register scripts/codegen.ts",
|