@eslint-sukka/react 6.1.1 → 6.1.3
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 +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.mjs +1 -1
- package/package.json +8 -7
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,t=require("@eslint-sukka/shared"),n=require("@next/eslint-plugin-next"),r=require("@eslint-sukka/eslint-plugin-react-jsx-a11y"),o=require("eslint-plugin-react-hooks"),a=require("eslint-plugin-react-compiler"),i=require("@eslint-react/eslint-plugin"),s=require("@stylistic/eslint-plugin-jsx"),l=require("eslint-plugin-ssr-friendly"),c=require("@eslint/compat"),m=require("@stylexjs/eslint-plugin"),u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},d={exports:{}},S={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ALLOW_JSX_UTILITY_CLASS=e.ALLOW_COMPONENT_DID_CATCH=e.COMPONENT_SHOULD_BE_FUNCTION=void 0,e.COMPONENT_SHOULD_BE_FUNCTION="componentShouldBeFunction",e.ALLOW_COMPONENT_DID_CATCH="allowComponentDidCatch",e.ALLOW_JSX_UTILITY_CLASS="allowJsxUtilityClass";let t={meta:{docs:{description:"Enforce components are written as function components",category:"Stylistic Issues",recommended:!1,suggestion:!1,url:"https://github.com/tatethurston/eslint-plugin-react-prefer-function-component#rule-details"},type:"problem",messages:{[e.COMPONENT_SHOULD_BE_FUNCTION]:"Class component should be written as a function"},schema:[{type:"object",properties:{[e.ALLOW_COMPONENT_DID_CATCH]:{default:!0,type:"boolean"},[e.ALLOW_JSX_UTILITY_CLASS]:{default:!1,type:"boolean"}},additionalProperties:!1}]},create(t){var n,r,o,a;let i=null===(r=null===(n=t.options[0])||void 0===n?void 0:n.allowComponentDidCatch)||void 0===r||r,s=null!==(a=null===(o=t.options[0])||void 0===o?void 0:o.allowJsxUtilityClass)&&void 0!==a&&a,l=new Set;function c(e){void 0!==e.body.body.find(e=>{var t;return(null===(t=e.key)||void 0===t?void 0:t.name)==="componentDidCatch"})&&i||l.add(e)}function m(e){s||c(e)}return{"ClassDeclaration:has(JSXElement)":m,"ClassDeclaration:has(JSXFragment)":m,"ClassExpression:has(JSXElement)":m,"ClassExpression:has(JSXFragment)":m,"ClassDeclaration:has(JSXElement):has(MethodDefinition[key.name='render'])":c,"ClassDeclaration:has(JSXFragment):has(MethodDefinition[key.name='render'])":c,"ClassExpression:has(JSXElement):has(MethodDefinition[key.name='render'])":c,"ClassExpression:has(JSXFragment):has(MethodDefinition[key.name='render'])":c,"ClassDeclaration[superClass.object.name='React'][superClass.property.name='Component']":c,"ClassDeclaration[superClass.object.name='React'][superClass.property.name='PureComponent']":c,"ClassDeclaration[superClass.name='Component']":c,"ClassDeclaration[superClass.name='PureComponent']":c,"ClassExpression[superClass.object.name='React'][superClass.property.name='Component']":c,"ClassExpression[superClass.object.name='React'][superClass.property.name='PureComponent']":c,"ClassExpression[superClass.name='Component']":c,"ClassExpression[superClass.name='PureComponent']":c,"Program:exit"(){l.forEach(n=>{n.id?n=n.id:"VariableDeclarator"==n.parent.type&&(n=n.parent.id),t.report({node:n,messageId:e.COMPONENT_SHOULD_BE_FUNCTION})})}}}};e.default=t}(S);var p=d.exports,E=u&&u.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(p,"__esModule",{value:!0});const g={configs:{recommended:{plugins:["react-prefer-function-component"],rules:{"react-prefer-function-component/react-prefer-function-component":"error"}}},rules:{"react-prefer-function-component":E(S).default}};d.exports=g;var C=(e=d.exports)&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e,T={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};const y=t.memo(i,"@eslint-react/eslint-plugin"),M=t.memo(c.fixupPluginRules(l),"eslint-plugin-ssr-friendly");exports.next=()=>[{plugins:{"@next/next":n},files:[t.constants.GLOB_TS,t.constants.GLOB_TSX,t.constants.GLOB_JSX],rules:{...n.configs.recommended.rules,...n.configs["core-web-vitals"].rules,"@next/next/no-img-element":"off"}}],exports.react=({reactCompiler:e="error",additionalHooks:n="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)"}={})=>[{name:"@eslint-sukka/react base",files:[t.constants.GLOB_TS,t.constants.GLOB_TSX,t.constants.GLOB_JSX],plugins:{"jsx-a11y-minimal":t.memo(r.eslint_plugin_jsx_a11y_minimal,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":t.memo(o,"eslint-plugin-react-hooks"),"@stylistic/jsx":t.memo(s,"@stylistic/eslint-plugin-jsx"),"react-prefer-function-component":t.memo(C,"eslint-plugin-react-prefer-function-component"),"react-compiler":t.memo(a,"eslint-plugin-react-compiler"),...y.configs["recommended-type-checked"].plugins,"ssr-friendly":M},settings:{react:{version:"detect"}},languageOptions:{globals:T},rules:{...o.configs.recommended.rules,"react-compiler/react-compiler":e,"react-hooks/exhaustive-deps":["error",{additionalHooks:n}],"@stylistic/jsx/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...y.configs["recommended-type-checked"].rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"react-prefer-function-component/react-prefer-function-component":"error","@eslint-react/naming-convention/use-state":"error","@stylistic/jsx/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx/jsx-indent-props":["error",2],"@stylistic/jsx/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx/jsx-equals-spacing":["error","never"],"@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn"}}],exports.stylex=({opt:e={}}={})=>[{plugins:{"@stylex":m},files:[t.constants.GLOB_TS,t.constants.GLOB_TSX,t.constants.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e]}}];
|
|
1
|
+
"use strict";var e,n=require("@eslint-sukka/shared"),r=require("@next/eslint-plugin-next"),t=require("@eslint-sukka/eslint-plugin-react-jsx-a11y"),s=require("eslint-plugin-react-hooks"),o=require("eslint-plugin-react-compiler"),i=require("eslint-plugin-react-refresh"),a=require("@eslint-react/eslint-plugin"),l=require("@stylistic/eslint-plugin-jsx"),c=require("eslint-plugin-ssr-friendly"),p=require("@eslint/compat"),m=require("@stylexjs/eslint-plugin"),u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},d={exports:{}},f={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ALLOW_JSX_UTILITY_CLASS=e.ALLOW_COMPONENT_DID_CATCH=e.COMPONENT_SHOULD_BE_FUNCTION=void 0,e.COMPONENT_SHOULD_BE_FUNCTION="componentShouldBeFunction",e.ALLOW_COMPONENT_DID_CATCH="allowComponentDidCatch",e.ALLOW_JSX_UTILITY_CLASS="allowJsxUtilityClass";let n={meta:{docs:{description:"Enforce components are written as function components",category:"Stylistic Issues",recommended:!1,suggestion:!1,url:"https://github.com/tatethurston/eslint-plugin-react-prefer-function-component#rule-details"},type:"problem",messages:{[e.COMPONENT_SHOULD_BE_FUNCTION]:"Class component should be written as a function"},schema:[{type:"object",properties:{[e.ALLOW_COMPONENT_DID_CATCH]:{default:!0,type:"boolean"},[e.ALLOW_JSX_UTILITY_CLASS]:{default:!1,type:"boolean"}},additionalProperties:!1}]},create(n){var r,t,s,o;let i=null===(t=null===(r=n.options[0])||void 0===r?void 0:r.allowComponentDidCatch)||void 0===t||t,a=null!==(o=null===(s=n.options[0])||void 0===s?void 0:s.allowJsxUtilityClass)&&void 0!==o&&o,l=new Set;function c(e){void 0!==e.body.body.find(e=>{var n;return(null===(n=e.key)||void 0===n?void 0:n.name)==="componentDidCatch"})&&i||l.add(e)}function p(e){a||c(e)}return{"ClassDeclaration:has(JSXElement)":p,"ClassDeclaration:has(JSXFragment)":p,"ClassExpression:has(JSXElement)":p,"ClassExpression:has(JSXFragment)":p,"ClassDeclaration:has(JSXElement):has(MethodDefinition[key.name='render'])":c,"ClassDeclaration:has(JSXFragment):has(MethodDefinition[key.name='render'])":c,"ClassExpression:has(JSXElement):has(MethodDefinition[key.name='render'])":c,"ClassExpression:has(JSXFragment):has(MethodDefinition[key.name='render'])":c,"ClassDeclaration[superClass.object.name='React'][superClass.property.name='Component']":c,"ClassDeclaration[superClass.object.name='React'][superClass.property.name='PureComponent']":c,"ClassDeclaration[superClass.name='Component']":c,"ClassDeclaration[superClass.name='PureComponent']":c,"ClassExpression[superClass.object.name='React'][superClass.property.name='Component']":c,"ClassExpression[superClass.object.name='React'][superClass.property.name='PureComponent']":c,"ClassExpression[superClass.name='Component']":c,"ClassExpression[superClass.name='PureComponent']":c,"Program:exit"(){l.forEach(r=>{r.id?r=r.id:"VariableDeclarator"==r.parent.type&&(r=r.parent.id),n.report({node:r,messageId:e.COMPONENT_SHOULD_BE_FUNCTION})})}}}};e.default=n}(f);var g=d.exports,x=u&&u.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(g,"__esModule",{value:!0});const y={configs:{recommended:{plugins:["react-prefer-function-component"],rules:{"react-prefer-function-component/react-prefer-function-component":"error"}}},rules:{"react-prefer-function-component":x(f).default}};d.exports=y;var C=(e=d.exports)&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e;const h=n.memo(a,"@eslint-react/eslint-plugin"),_=n.memo(p.fixupPluginRules(c),"eslint-plugin-ssr-friendly");exports.next=()=>[{plugins:{"@next/next":r},files:[n.constants.GLOB_TS,n.constants.GLOB_TSX,n.constants.GLOB_JSX],rules:{...r.configs.recommended.rules,...r.configs["core-web-vitals"].rules,"@next/next/no-img-element":"off"}}],exports.react=({reactCompiler:e="error",additionalHooks:r="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)",nextjs:a=!1,remix:c=!1,reactRefresh:p={}}={})=>{let{allowConstantExport:m=!1}=p;return[{name:"@eslint-sukka/react base",files:[n.constants.GLOB_TS,n.constants.GLOB_TSX,n.constants.GLOB_JSX],plugins:{"jsx-a11y-minimal":n.memo(t.eslint_plugin_jsx_a11y_minimal,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":n.memo(s,"eslint-plugin-react-hooks"),"@stylistic/jsx":n.memo(l,"@stylistic/eslint-plugin-jsx"),"react-prefer-function-component":n.memo(C,"eslint-plugin-react-prefer-function-component"),"react-compiler":n.memo(o,"eslint-plugin-react-compiler"),...h.configs["recommended-type-checked"].plugins,"ssr-friendly":_,"react-refresh":i},settings:{react:{version:"detect"}},languageOptions:{globals:n.globals.browser},rules:{...s.configs.recommended.rules,"react-compiler/react-compiler":e,"react-hooks/exhaustive-deps":["error",{additionalHooks:r}],"@stylistic/jsx/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...h.configs["recommended-type-checked"].rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"react-prefer-function-component/react-prefer-function-component":"error","@eslint-react/naming-convention/use-state":"error","@stylistic/jsx/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx/jsx-indent-props":["error",2],"@stylistic/jsx/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx/jsx-equals-spacing":["error","never"],"@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn","react-refresh/only-export-components":["warn",{allowConstantExport:m,allowExportNames:[...a?["config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...c?["meta","links","headers","loader","action"]:[]]}]}}]},exports.stylex=({opt:e={}}={})=>[{plugins:{"@stylex":m},files:[n.constants.GLOB_TS,n.constants.GLOB_TSX,n.constants.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",e],"@stylexjs/valid-shorthands":["error",e]}}];
|
package/dist/index.d.ts
CHANGED
|
@@ -11,8 +11,13 @@ interface OptionsReact {
|
|
|
11
11
|
* @default 'error'
|
|
12
12
|
*/
|
|
13
13
|
reactCompiler?: 'off' | 'warn' | 'error';
|
|
14
|
+
nextjs?: boolean;
|
|
15
|
+
remix?: boolean;
|
|
16
|
+
reactRefresh?: {
|
|
17
|
+
allowConstantExport?: boolean;
|
|
18
|
+
};
|
|
14
19
|
}
|
|
15
|
-
declare const react: ({ reactCompiler, additionalHooks }?: OptionsReact) => FlatESLintConfigItem[];
|
|
20
|
+
declare const react: ({ reactCompiler, additionalHooks, nextjs, remix, reactRefresh }?: OptionsReact) => FlatESLintConfigItem[];
|
|
16
21
|
|
|
17
22
|
interface OptionsStyleX {
|
|
18
23
|
opt?: StyleXESLintOptions;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{constants as e,memo as t}from"@eslint-sukka/shared";import n from"@next/eslint-plugin-next";import{eslint_plugin_jsx_a11y_minimal as r}from"@eslint-sukka/eslint-plugin-react-jsx-a11y";import o from"eslint-plugin-react-hooks";import a from"eslint-plugin-react-compiler";import i from"@eslint-react/eslint-plugin";import s from"@stylistic/eslint-plugin-jsx";import l from"eslint-plugin-ssr-friendly";import{fixupPluginRules as c}from"@eslint/compat";import m from"@stylexjs/eslint-plugin";let u=()=>[{plugins:{"@next/next":n},files:[e.GLOB_TS,e.GLOB_TSX,e.GLOB_JSX],rules:{...n.configs.recommended.rules,...n.configs["core-web-vitals"].rules,"@next/next/no-img-element":"off"}}];var d,S="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},p={exports:{}},E={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ALLOW_JSX_UTILITY_CLASS=e.ALLOW_COMPONENT_DID_CATCH=e.COMPONENT_SHOULD_BE_FUNCTION=void 0,e.COMPONENT_SHOULD_BE_FUNCTION="componentShouldBeFunction",e.ALLOW_COMPONENT_DID_CATCH="allowComponentDidCatch",e.ALLOW_JSX_UTILITY_CLASS="allowJsxUtilityClass";let t={meta:{docs:{description:"Enforce components are written as function components",category:"Stylistic Issues",recommended:!1,suggestion:!1,url:"https://github.com/tatethurston/eslint-plugin-react-prefer-function-component#rule-details"},type:"problem",messages:{[e.COMPONENT_SHOULD_BE_FUNCTION]:"Class component should be written as a function"},schema:[{type:"object",properties:{[e.ALLOW_COMPONENT_DID_CATCH]:{default:!0,type:"boolean"},[e.ALLOW_JSX_UTILITY_CLASS]:{default:!1,type:"boolean"}},additionalProperties:!1}]},create(t){var n,r,o,a;let i=null===(r=null===(n=t.options[0])||void 0===n?void 0:n.allowComponentDidCatch)||void 0===r||r,s=null!==(a=null===(o=t.options[0])||void 0===o?void 0:o.allowJsxUtilityClass)&&void 0!==a&&a,l=new Set;function c(e){void 0!==e.body.body.find(e=>{var t;return(null===(t=e.key)||void 0===t?void 0:t.name)==="componentDidCatch"})&&i||l.add(e)}function m(e){s||c(e)}return{"ClassDeclaration:has(JSXElement)":m,"ClassDeclaration:has(JSXFragment)":m,"ClassExpression:has(JSXElement)":m,"ClassExpression:has(JSXFragment)":m,"ClassDeclaration:has(JSXElement):has(MethodDefinition[key.name='render'])":c,"ClassDeclaration:has(JSXFragment):has(MethodDefinition[key.name='render'])":c,"ClassExpression:has(JSXElement):has(MethodDefinition[key.name='render'])":c,"ClassExpression:has(JSXFragment):has(MethodDefinition[key.name='render'])":c,"ClassDeclaration[superClass.object.name='React'][superClass.property.name='Component']":c,"ClassDeclaration[superClass.object.name='React'][superClass.property.name='PureComponent']":c,"ClassDeclaration[superClass.name='Component']":c,"ClassDeclaration[superClass.name='PureComponent']":c,"ClassExpression[superClass.object.name='React'][superClass.property.name='Component']":c,"ClassExpression[superClass.object.name='React'][superClass.property.name='PureComponent']":c,"ClassExpression[superClass.name='Component']":c,"ClassExpression[superClass.name='PureComponent']":c,"Program:exit"(){l.forEach(n=>{n.id?n=n.id:"VariableDeclarator"==n.parent.type&&(n=n.parent.id),t.report({node:n,messageId:e.COMPONENT_SHOULD_BE_FUNCTION})})}}}};e.default=t}(E);var g=p.exports,C=S&&S.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(g,"__esModule",{value:!0});let T={configs:{recommended:{plugins:["react-prefer-function-component"],rules:{"react-prefer-function-component/react-prefer-function-component":"error"}}},rules:{"react-prefer-function-component":C(E).default}};p.exports=T;var y=(d=p.exports)&&d.__esModule&&Object.prototype.hasOwnProperty.call(d,"default")?d.default:d,M={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};let f=t(i,"@eslint-react/eslint-plugin"),v=t(c(l),"eslint-plugin-ssr-friendly"),h=({reactCompiler:n="error",additionalHooks:i="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)"}={})=>[{name:"@eslint-sukka/react base",files:[e.GLOB_TS,e.GLOB_TSX,e.GLOB_JSX],plugins:{"jsx-a11y-minimal":t(r,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":t(o,"eslint-plugin-react-hooks"),"@stylistic/jsx":t(s,"@stylistic/eslint-plugin-jsx"),"react-prefer-function-component":t(y,"eslint-plugin-react-prefer-function-component"),"react-compiler":t(a,"eslint-plugin-react-compiler"),...f.configs["recommended-type-checked"].plugins,"ssr-friendly":v},settings:{react:{version:"detect"}},languageOptions:{globals:M},rules:{...o.configs.recommended.rules,"react-compiler/react-compiler":n,"react-hooks/exhaustive-deps":["error",{additionalHooks:i}],"@stylistic/jsx/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...f.configs["recommended-type-checked"].rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"react-prefer-function-component/react-prefer-function-component":"error","@eslint-react/naming-convention/use-state":"error","@stylistic/jsx/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx/jsx-indent-props":["error",2],"@stylistic/jsx/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx/jsx-equals-spacing":["error","never"],"@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn"}}],L=({opt:t={}}={})=>[{plugins:{"@stylex":m},files:[e.GLOB_TS,e.GLOB_TSX,e.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",t],"@stylexjs/valid-shorthands":["error",t]}}];export{u as next,h as react,L as stylex};
|
|
1
|
+
import{constants as e,memo as n,globals as r}from"@eslint-sukka/shared";import t from"@next/eslint-plugin-next";import{eslint_plugin_jsx_a11y_minimal as s}from"@eslint-sukka/eslint-plugin-react-jsx-a11y";import o from"eslint-plugin-react-hooks";import i from"eslint-plugin-react-compiler";import a from"eslint-plugin-react-refresh";import l from"@eslint-react/eslint-plugin";import c from"@stylistic/eslint-plugin-jsx";import p from"eslint-plugin-ssr-friendly";import{fixupPluginRules as m}from"@eslint/compat";import u from"@stylexjs/eslint-plugin";let d=()=>[{plugins:{"@next/next":t},files:[e.GLOB_TS,e.GLOB_TSX,e.GLOB_JSX],rules:{...t.configs.recommended.rules,...t.configs["core-web-vitals"].rules,"@next/next/no-img-element":"off"}}];var f,g="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},x={exports:{}},y={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ALLOW_JSX_UTILITY_CLASS=e.ALLOW_COMPONENT_DID_CATCH=e.COMPONENT_SHOULD_BE_FUNCTION=void 0,e.COMPONENT_SHOULD_BE_FUNCTION="componentShouldBeFunction",e.ALLOW_COMPONENT_DID_CATCH="allowComponentDidCatch",e.ALLOW_JSX_UTILITY_CLASS="allowJsxUtilityClass";let n={meta:{docs:{description:"Enforce components are written as function components",category:"Stylistic Issues",recommended:!1,suggestion:!1,url:"https://github.com/tatethurston/eslint-plugin-react-prefer-function-component#rule-details"},type:"problem",messages:{[e.COMPONENT_SHOULD_BE_FUNCTION]:"Class component should be written as a function"},schema:[{type:"object",properties:{[e.ALLOW_COMPONENT_DID_CATCH]:{default:!0,type:"boolean"},[e.ALLOW_JSX_UTILITY_CLASS]:{default:!1,type:"boolean"}},additionalProperties:!1}]},create(n){var r,t,s,o;let i=null===(t=null===(r=n.options[0])||void 0===r?void 0:r.allowComponentDidCatch)||void 0===t||t,a=null!==(o=null===(s=n.options[0])||void 0===s?void 0:s.allowJsxUtilityClass)&&void 0!==o&&o,l=new Set;function c(e){void 0!==e.body.body.find(e=>{var n;return(null===(n=e.key)||void 0===n?void 0:n.name)==="componentDidCatch"})&&i||l.add(e)}function p(e){a||c(e)}return{"ClassDeclaration:has(JSXElement)":p,"ClassDeclaration:has(JSXFragment)":p,"ClassExpression:has(JSXElement)":p,"ClassExpression:has(JSXFragment)":p,"ClassDeclaration:has(JSXElement):has(MethodDefinition[key.name='render'])":c,"ClassDeclaration:has(JSXFragment):has(MethodDefinition[key.name='render'])":c,"ClassExpression:has(JSXElement):has(MethodDefinition[key.name='render'])":c,"ClassExpression:has(JSXFragment):has(MethodDefinition[key.name='render'])":c,"ClassDeclaration[superClass.object.name='React'][superClass.property.name='Component']":c,"ClassDeclaration[superClass.object.name='React'][superClass.property.name='PureComponent']":c,"ClassDeclaration[superClass.name='Component']":c,"ClassDeclaration[superClass.name='PureComponent']":c,"ClassExpression[superClass.object.name='React'][superClass.property.name='Component']":c,"ClassExpression[superClass.object.name='React'][superClass.property.name='PureComponent']":c,"ClassExpression[superClass.name='Component']":c,"ClassExpression[superClass.name='PureComponent']":c,"Program:exit"(){l.forEach(r=>{r.id?r=r.id:"VariableDeclarator"==r.parent.type&&(r=r.parent.id),n.report({node:r,messageId:e.COMPONENT_SHOULD_BE_FUNCTION})})}}}};e.default=n}(y);var C=x.exports,h=g&&g.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(C,"__esModule",{value:!0});let _={configs:{recommended:{plugins:["react-prefer-function-component"],rules:{"react-prefer-function-component/react-prefer-function-component":"error"}}},rules:{"react-prefer-function-component":h(y).default}};x.exports=_;var j=(f=x.exports)&&f.__esModule&&Object.prototype.hasOwnProperty.call(f,"default")?f.default:f;let w=n(l,"@eslint-react/eslint-plugin"),O=n(m(p),"eslint-plugin-ssr-friendly"),S=({reactCompiler:t="error",additionalHooks:l="(useIsomorphicLayoutEffect|useSukkaManyOtherCustomEffectHookExample)",nextjs:p=!1,remix:m=!1,reactRefresh:u={}}={})=>{let{allowConstantExport:d=!1}=u;return[{name:"@eslint-sukka/react base",files:[e.GLOB_TS,e.GLOB_TSX,e.GLOB_JSX],plugins:{"jsx-a11y-minimal":n(s,"@eslint-sukka/eslint-plugin-react-jsx-a11y#eslint_plugin_jsx_a11y_minimal"),"react-hooks":n(o,"eslint-plugin-react-hooks"),"@stylistic/jsx":n(c,"@stylistic/eslint-plugin-jsx"),"react-prefer-function-component":n(j,"eslint-plugin-react-prefer-function-component"),"react-compiler":n(i,"eslint-plugin-react-compiler"),...w.configs["recommended-type-checked"].plugins,"ssr-friendly":O,"react-refresh":a},settings:{react:{version:"detect"}},languageOptions:{globals:r.browser},rules:{...o.configs.recommended.rules,"react-compiler/react-compiler":t,"react-hooks/exhaustive-deps":["error",{additionalHooks:l}],"@stylistic/jsx/jsx-pascal-case":["error",{allowAllCaps:!0,ignore:[]}],...w.configs["recommended-type-checked"].rules,"@eslint-react/no-string-refs":"error","@eslint-react/no-comment-textnodes":"error","@eslint-react/dom/no-unsafe-target-blank":"error","@eslint-react/no-children-prop":"error","@eslint-react/dom/no-dangerously-set-innerhtml-with-children":"error","@eslint-react/dom/no-render-return-value":"error","@eslint-react/no-direct-mutation-state":"error","@eslint-react/dom/no-find-dom-node":"error","@eslint-react/no-unsafe-component-will-mount":"warn","@eslint-react/no-unsafe-component-will-receive-props":"warn","@eslint-react/no-unsafe-component-will-update":"warn","@eslint-react/no-unused-state":"error","@eslint-react/no-access-state-in-setstate":"error","@eslint-react/dom/no-script-url":"error","@eslint-react/no-unused-class-component-members":"error","@eslint-react/naming-convention/filename":["error",{rule:"kebab-case"}],"@eslint-react/naming-convention/filename-extension":["error",{allow:"as-needed"}],"react-prefer-function-component/react-prefer-function-component":"error","@eslint-react/naming-convention/use-state":"error","@stylistic/jsx/jsx-self-closing-comp":"error","@eslint-react/prefer-shorthand-boolean":"error","@stylistic/jsx/jsx-curly-spacing":["error","never",{allowMultiline:!0}],"@stylistic/jsx/jsx-indent-props":["error",2],"@stylistic/jsx/jsx-max-props-per-line":["error",{maximum:1,when:"multiline"}],"@stylistic/jsx/jsx-wrap-multilines":["error",{declaration:"parens-new-line",assignment:"parens-new-line",return:"parens-new-line",arrow:"parens-new-line",condition:"ignore",logical:"ignore",prop:"ignore"}],"@stylistic/jsx/jsx-first-prop-new-line":["error","multiline-multiprop"],"@stylistic/jsx/jsx-equals-spacing":["error","never"],"@stylistic/jsx/jsx-indent":"off","@stylistic/jsx/jsx-tag-spacing":["error",{closingSlash:"never",beforeSelfClosing:"always",afterOpening:"never",beforeClosing:"never"}],"@eslint-react/dom/no-children-in-void-dom-elements":"error","@stylistic/jsx/jsx-curly-brace-presence":["error",{props:"never",children:"never"}],"@stylistic/jsx/jsx-props-no-multi-spaces":"error","@eslint-react/prefer-shorthand-fragment":"error","@stylistic/jsx/jsx-curly-newline":["error",{multiline:"consistent",singleline:"consistent"}],"@eslint-react/no-missing-key":"error","@eslint-react/no-array-index-key":"error","@eslint-react/no-duplicate-key":"error","@eslint-react/no-implicit-key":"error","@eslint-react/no-useless-fragment":"error","@eslint-react/no-unstable-context-value":"error","@eslint-react/no-nested-components":"error","@eslint-react/dom/no-missing-iframe-sandbox":"warn","@eslint-react/dom/no-unsafe-iframe-sandbox":"warn","@eslint-react/no-leaked-conditional-rendering":"error","@eslint-react/no-unstable-default-props":"error","@eslint-react/dom/no-missing-button-type":"error","@eslint-react/dom/no-namespace":"error","class-methods-use-this":["error",{exceptMethods:["render","getInitialState","getDefaultProps","getChildContext","componentWillMount","UNSAFE_componentWillMount","componentDidMount","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","UNSAFE_componentWillUpdate","componentDidUpdate","componentWillUnmount","componentDidCatch","getSnapshotBeforeUpdate"]}],"jsx-a11y-minimal/alt-text":["warn",{elements:["img"],img:["Image"]}],"jsx-a11y-minimal/aria-props":"warn","jsx-a11y-minimal/aria-proptypes":"warn","jsx-a11y-minimal/aria-role":"warn","jsx-a11y-minimal/aria-unsupported-elements":"warn","jsx-a11y-minimal/iframe-has-title":"warn","jsx-a11y-minimal/no-access-key":"warn","jsx-a11y-minimal/role-has-required-aria-props":"warn","jsx-a11y-minimal/role-supports-aria-props":"warn","jsx-a11y-minimal/tabindex-no-positive":"warn","react-refresh/only-export-components":["warn",{allowConstantExport:d,allowExportNames:[...p?["config","generateStaticParams","metadata","generateMetadata","viewport","generateViewport"]:[],...m?["meta","links","headers","loader","action"]:[]]}]}}]},v=({opt:n={}}={})=>[{plugins:{"@stylex":u},files:[e.GLOB_TS,e.GLOB_TSX,e.GLOB_JSX],rules:{"@stylexjs/valid-styles":["error",n],"@stylexjs/valid-shorthands":["error",n]}}];export{d as next,S as react,v as stylex};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eslint-sukka/react",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.3",
|
|
4
4
|
"description": "Sukka's ESLint config",
|
|
5
5
|
"homepage": "https://github.com/SukkaW/eslint-config-sukka",
|
|
6
6
|
"repository": {
|
|
@@ -28,22 +28,23 @@
|
|
|
28
28
|
"author": "Sukka <https://skk.moe>",
|
|
29
29
|
"license": "MIT",
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@eslint-react/eslint-plugin": "^1.5.
|
|
32
|
-
"@eslint/compat": "^1.1.
|
|
31
|
+
"@eslint-react/eslint-plugin": "^1.5.24",
|
|
32
|
+
"@eslint/compat": "^1.1.1",
|
|
33
33
|
"@next/eslint-plugin-next": "15.0.0-canary.47",
|
|
34
34
|
"@stylexjs/eslint-plugin": "^0.7.5",
|
|
35
35
|
"@stylexjs/shared": "^0.7.5",
|
|
36
36
|
"@stylistic/eslint-plugin-jsx": "^2.3.0",
|
|
37
37
|
"eslint-plugin-react-compiler": "0.0.0-experimental-53bb89e-20240515",
|
|
38
38
|
"eslint-plugin-react-hooks": "5.1.0-beta-4508873393-20240430",
|
|
39
|
+
"eslint-plugin-react-refresh": "^0.4.8",
|
|
39
40
|
"eslint-plugin-ssr-friendly": "^1.3.0",
|
|
40
|
-
"
|
|
41
|
-
"@eslint-sukka/
|
|
41
|
+
"globals": "^15.8.0",
|
|
42
|
+
"@eslint-sukka/shared": "6.1.3",
|
|
43
|
+
"@eslint-sukka/eslint-plugin-react-jsx-a11y": "6.1.3"
|
|
42
44
|
},
|
|
43
45
|
"devDependencies": {
|
|
44
46
|
"eslint-plugin-react-prefer-function-component": "^3.3.0",
|
|
45
|
-
"
|
|
46
|
-
"@eslint-sukka/rollup-config": "6.1.1"
|
|
47
|
+
"@eslint-sukka/rollup-config": "6.1.3"
|
|
47
48
|
},
|
|
48
49
|
"scripts": {
|
|
49
50
|
"build": "rollup -c rollup.config.ts --configPlugin swc3"
|