jsx-eslint / eslint-plugin-react

React-specific linting rules for ESLint
MIT License
8.86k stars 2.75k forks source link

Warning: React version not specified in eslint-plugin-react settings #2335

Closed parker789 closed 4 years ago

parker789 commented 5 years ago

I know there are plenty of issues already in the works with this exact same warning message.. but I believe my use case is slightly different.

I'm using coc-eslint and coc-prettier with the "prettier.eslintIntegration": true option. With this option set to false I don't see this warning, but then obviously some formatting is not caught and auto formatted based on eslint rules. I don't know if this is an issue with coc or any of the extensions I'm using along with it, but I figured I'd ask here, because there were dead ends when asking directly within those libraries support pages.

I've run npx eslint --print-config .eslintrc with the following output. im at a loss..

``` { "globals": { "__dirname": false, "__filename": false, "Buffer": false, "clearImmediate": false, "clearInterval": false, "clearTimeout": false, "console": false, "exports": true, "global": false, "Intl": false, "module": false, "process": false, "queueMicrotask": false, "require": false, "setImmediate": false, "setInterval": false, "setTimeout": false, "TextDecoder": false, "TextEncoder": false, "URL": false, "URLSearchParams": false, "Array": false, "ArrayBuffer": false, "Boolean": false, "constructor": false, "DataView": false, "Date": false, "decodeURI": false, "decodeURIComponent": false, "encodeURI": false, "encodeURIComponent": false, "Error": false, "escape": false, "eval": false, "EvalError": false, "Float32Array": false, "Float64Array": false, "Function": false, "hasOwnProperty": false, "Infinity": false, "Int16Array": false, "Int32Array": false, "Int8Array": false, "isFinite": false, "isNaN": false, "isPrototypeOf": false, "JSON": false, "Map": false, "Math": false, "NaN": false, "Number": false, "Object": false, "parseFloat": false, "parseInt": false, "Promise": false, "propertyIsEnumerable": false, "Proxy": false, "RangeError": false, "ReferenceError": false, "Reflect": false, "RegExp": false, "Set": false, "String": false, "Symbol": false, "SyntaxError": false, "toLocaleString": false, "toString": false, "TypeError": false, "Uint16Array": false, "Uint32Array": false, "Uint8Array": false, "Uint8ClampedArray": false, "undefined": false, "unescape": false, "URIError": false, "valueOf": false, "WeakMap": false, "WeakSet": false, "AbortController": false, "AbortSignal": false, "addEventListener": false, "alert": false, "AnalyserNode": false, "Animation": false, "AnimationEffectReadOnly": false, "AnimationEffectTiming": false, "AnimationEffectTimingReadOnly": false, "AnimationEvent": false, "AnimationPlaybackEvent": false, "AnimationTimeline": false, "applicationCache": false, "ApplicationCache": false, "ApplicationCacheErrorEvent": false, "atob": false, "Attr": false, "Audio": false, "AudioBuffer": false, "AudioBufferSourceNode": false, "AudioContext": false, "AudioDestinationNode": false, "AudioListener": false, "AudioNode": false, "AudioParam": false, "AudioProcessingEvent": false, "AudioScheduledSourceNode": false, "AudioWorkletGlobalScope ": false, "AudioWorkletNode": false, "AudioWorkletProcessor": false, "BarProp": false, "BaseAudioContext": false, "BatteryManager": false, "BeforeUnloadEvent": false, "BiquadFilterNode": false, "Blob": false, "BlobEvent": false, "blur": false, "BroadcastChannel": false, "btoa": false, "BudgetService": false, "ByteLengthQueuingStrategy": false, "Cache": false, "caches": false, "CacheStorage": false, "cancelAnimationFrame": false, "cancelIdleCallback": false, "CanvasCaptureMediaStreamTrack": false, "CanvasGradient": false, "CanvasPattern": false, "CanvasRenderingContext2D": false, "ChannelMergerNode": false, "ChannelSplitterNode": false, "CharacterData": false, "clientInformation": false, "ClipboardEvent": false, "close": false, "closed": false, "CloseEvent": false, "Comment": false, "CompositionEvent": false, "confirm": false, "ConstantSourceNode": false, "ConvolverNode": false, "CountQueuingStrategy": false, "createImageBitmap": false, "Credential": false, "CredentialsContainer": false, "crypto": false, "Crypto": false, "CryptoKey": false, "CSS": false, "CSSConditionRule": false, "CSSFontFaceRule": false, "CSSGroupingRule": false, "CSSImportRule": false, "CSSKeyframeRule": false, "CSSKeyframesRule": false, "CSSMediaRule": false, "CSSNamespaceRule": false, "CSSPageRule": false, "CSSRule": false, "CSSRuleList": false, "CSSStyleDeclaration": false, "CSSStyleRule": false, "CSSStyleSheet": false, "CSSSupportsRule": false, "CustomElementRegistry": false, "customElements": false, "CustomEvent": false, "DataTransfer": false, "DataTransferItem": false, "DataTransferItemList": false, "defaultstatus": false, "defaultStatus": false, "DelayNode": false, "DeviceMotionEvent": false, "DeviceOrientationEvent": false, "devicePixelRatio": false, "dispatchEvent": false, "document": false, "Document": false, "DocumentFragment": false, "DocumentType": false, "DOMError": false, "DOMException": false, "DOMImplementation": false, "DOMMatrix": false, "DOMMatrixReadOnly": false, "DOMParser": false, "DOMPoint": false, "DOMPointReadOnly": false, "DOMQuad": false, "DOMRect": false, "DOMRectReadOnly": false, "DOMStringList": false, "DOMStringMap": false, "DOMTokenList": false, "DragEvent": false, "DynamicsCompressorNode": false, "Element": false, "ErrorEvent": false, "event": false, "Event": false, "EventSource": false, "EventTarget": false, "external": false, "fetch": false, "File": false, "FileList": false, "FileReader": false, "find": false, "focus": false, "FocusEvent": false, "FontFace": false, "FontFaceSetLoadEvent": false, "FormData": false, "frameElement": false, "frames": false, "GainNode": false, "Gamepad": false, "GamepadButton": false, "GamepadEvent": false, "getComputedStyle": false, "getSelection": false, "HashChangeEvent": false, "Headers": false, "history": false, "History": false, "HTMLAllCollection": false, "HTMLAnchorElement": false, "HTMLAreaElement": false, "HTMLAudioElement": false, "HTMLBaseElement": false, "HTMLBodyElement": false, "HTMLBRElement": false, "HTMLButtonElement": false, "HTMLCanvasElement": false, "HTMLCollection": false, "HTMLContentElement": false, "HTMLDataElement": false, "HTMLDataListElement": false, "HTMLDetailsElement": false, "HTMLDialogElement": false, "HTMLDirectoryElement": false, "HTMLDivElement": false, "HTMLDListElement": false, "HTMLDocument": false, "HTMLElement": false, "HTMLEmbedElement": false, "HTMLFieldSetElement": false, "HTMLFontElement": false, "HTMLFormControlsCollection": false, "HTMLFormElement": false, "HTMLFrameElement": false, "HTMLFrameSetElement": false, "HTMLHeadElement": false, "HTMLHeadingElement": false, "HTMLHRElement": false, "HTMLHtmlElement": false, "HTMLIFrameElement": false, "HTMLImageElement": false, "HTMLInputElement": false, "HTMLLabelElement": false, "HTMLLegendElement": false, "HTMLLIElement": false, "HTMLLinkElement": false, "HTMLMapElement": false, "HTMLMarqueeElement": false, "HTMLMediaElement": false, "HTMLMenuElement": false, "HTMLMetaElement": false, "HTMLMeterElement": false, "HTMLModElement": false, "HTMLObjectElement": false, "HTMLOListElement": false, "HTMLOptGroupElement": false, "HTMLOptionElement": false, "HTMLOptionsCollection": false, "HTMLOutputElement": false, "HTMLParagraphElement": false, "HTMLParamElement": false, "HTMLPictureElement": false, "HTMLPreElement": false, "HTMLProgressElement": false, "HTMLQuoteElement": false, "HTMLScriptElement": false, "HTMLSelectElement": false, "HTMLShadowElement": false, "HTMLSlotElement": false, "HTMLSourceElement": false, "HTMLSpanElement": false, "HTMLStyleElement": false, "HTMLTableCaptionElement": false, "HTMLTableCellElement": false, "HTMLTableColElement": false, "HTMLTableElement": false, "HTMLTableRowElement": false, "HTMLTableSectionElement": false, "HTMLTemplateElement": false, "HTMLTextAreaElement": false, "HTMLTimeElement": false, "HTMLTitleElement": false, "HTMLTrackElement": false, "HTMLUListElement": false, "HTMLUnknownElement": false, "HTMLVideoElement": false, "IDBCursor": false, "IDBCursorWithValue": false, "IDBDatabase": false, "IDBFactory": false, "IDBIndex": false, "IDBKeyRange": false, "IDBObjectStore": false, "IDBOpenDBRequest": false, "IDBRequest": false, "IDBTransaction": false, "IDBVersionChangeEvent": false, "IdleDeadline": false, "IIRFilterNode": false, "Image": false, "ImageBitmap": false, "ImageBitmapRenderingContext": false, "ImageCapture": false, "ImageData": false, "indexedDB": false, "innerHeight": false, "innerWidth": false, "InputEvent": false, "IntersectionObserver": false, "IntersectionObserverEntry": false, "isSecureContext": false, "KeyboardEvent": false, "KeyframeEffect": false, "KeyframeEffectReadOnly": false, "length": false, "localStorage": false, "location": true, "Location": false, "locationbar": false, "matchMedia": false, "MediaDeviceInfo": false, "MediaDevices": false, "MediaElementAudioSourceNode": false, "MediaEncryptedEvent": false, "MediaError": false, "MediaKeyMessageEvent": false, "MediaKeySession": false, "MediaKeyStatusMap": false, "MediaKeySystemAccess": false, "MediaList": false, "MediaQueryList": false, "MediaQueryListEvent": false, "MediaRecorder": false, "MediaSettingsRange": false, "MediaSource": false, "MediaStream": false, "MediaStreamAudioDestinationNode": false, "MediaStreamAudioSourceNode": false, "MediaStreamEvent": false, "MediaStreamTrack": false, "MediaStreamTrackEvent": false, "menubar": false, "MessageChannel": false, "MessageEvent": false, "MessagePort": false, "MIDIAccess": false, "MIDIConnectionEvent": false, "MIDIInput": false, "MIDIInputMap": false, "MIDIMessageEvent": false, "MIDIOutput": false, "MIDIOutputMap": false, "MIDIPort": false, "MimeType": false, "MimeTypeArray": false, "MouseEvent": false, "moveBy": false, "moveTo": false, "MutationEvent": false, "MutationObserver": false, "MutationRecord": false, "name": false, "NamedNodeMap": false, "NavigationPreloadManager": false, "navigator": false, "Navigator": false, "NetworkInformation": false, "Node": false, "NodeFilter": false, "NodeIterator": false, "NodeList": false, "Notification": false, "OfflineAudioCompletionEvent": false, "OfflineAudioContext": false, "offscreenBuffering": false, "OffscreenCanvas": true, "onabort": true, "onafterprint": true, "onanimationend": true, "onanimationiteration": true, "onanimationstart": true, "onappinstalled": true, "onauxclick": true, "onbeforeinstallprompt": true, "onbeforeprint": true, "onbeforeunload": true, "onblur": true, "oncancel": true, "oncanplay": true, "oncanplaythrough": true, "onchange": true, "onclick": true, "onclose": true, "oncontextmenu": true, "oncuechange": true, "ondblclick": true, "ondevicemotion": true, "ondeviceorientation": true, "ondeviceorientationabsolute": true, "ondrag": true, "ondragend": true, "ondragenter": true, "ondragleave": true, "ondragover": true, "ondragstart": true, "ondrop": true, "ondurationchange": true, "onemptied": true, "onended": true, "onerror": true, "onfocus": true, "ongotpointercapture": true, "onhashchange": true, "oninput": true, "oninvalid": true, "onkeydown": true, "onkeypress": true, "onkeyup": true, "onlanguagechange": true, "onload": true, "onloadeddata": true, "onloadedmetadata": true, "onloadstart": true, "onlostpointercapture": true, "onmessage": true, "onmessageerror": true, "onmousedown": true, "onmouseenter": true, "onmouseleave": true, "onmousemove": true, "onmouseout": true, "onmouseover": true, "onmouseup": true, "onmousewheel": true, "onoffline": true, "ononline": true, "onpagehide": true, "onpageshow": true, "onpause": true, "onplay": true, "onplaying": true, "onpointercancel": true, "onpointerdown": true, "onpointerenter": true, "onpointerleave": true, "onpointermove": true, "onpointerout": true, "onpointerover": true, "onpointerup": true, "onpopstate": true, "onprogress": true, "onratechange": true, "onrejectionhandled": true, "onreset": true, "onresize": true, "onscroll": true, "onsearch": true, "onseeked": true, "onseeking": true, "onselect": true, "onstalled": true, "onstorage": true, "onsubmit": true, "onsuspend": true, "ontimeupdate": true, "ontoggle": true, "ontransitionend": true, "onunhandledrejection": true, "onunload": true, "onvolumechange": true, "onwaiting": true, "onwheel": true, "open": false, "openDatabase": false, "opener": false, "Option": false, "origin": false, "OscillatorNode": false, "outerHeight": false, "outerWidth": false, "PageTransitionEvent": false, "pageXOffset": false, "pageYOffset": false, "PannerNode": false, "parent": false, "Path2D": false, "PaymentAddress": false, "PaymentRequest": false, "PaymentRequestUpdateEvent": false, "PaymentResponse": false, "performance": false, "Performance": false, "PerformanceEntry": false, "PerformanceLongTaskTiming": false, "PerformanceMark": false, "PerformanceMeasure": false, "PerformanceNavigation": false, "PerformanceNavigationTiming": false, "PerformanceObserver": false, "PerformanceObserverEntryList": false, "PerformancePaintTiming": false, "PerformanceResourceTiming": false, "PerformanceTiming": false, "PeriodicWave": false, "Permissions": false, "PermissionStatus": false, "personalbar": false, "PhotoCapabilities": false, "Plugin": false, "PluginArray": false, "PointerEvent": false, "PopStateEvent": false, "postMessage": false, "Presentation": false, "PresentationAvailability": false, "PresentationConnection": false, "PresentationConnectionAvailableEvent": false, "PresentationConnectionCloseEvent": false, "PresentationConnectionList": false, "PresentationReceiver": false, "PresentationRequest": false, "print": false, "ProcessingInstruction": false, "ProgressEvent": false, "PromiseRejectionEvent": false, "prompt": false, "PushManager": false, "PushSubscription": false, "PushSubscriptionOptions": false, "RadioNodeList": false, "Range": false, "ReadableStream": false, "registerProcessor": false, "RemotePlayback": false, "removeEventListener": false, "Request": false, "requestAnimationFrame": false, "requestIdleCallback": false, "resizeBy": false, "ResizeObserver": false, "ResizeObserverEntry": false, "resizeTo": false, "Response": false, "RTCCertificate": false, "RTCDataChannel": false, "RTCDataChannelEvent": false, "RTCDtlsTransport": false, "RTCIceCandidate": false, "RTCIceGatherer": false, "RTCIceTransport": false, "RTCPeerConnection": false, "RTCPeerConnectionIceEvent": false, "RTCRtpContributingSource": false, "RTCRtpReceiver": false, "RTCRtpSender": false, "RTCSctpTransport": false, "RTCSessionDescription": false, "RTCStatsReport": false, "RTCTrackEvent": false, "screen": false, "Screen": false, "screenLeft": false, "ScreenOrientation": false, "screenTop": false, "screenX": false, "screenY": false, "ScriptProcessorNode": false, "scroll": false, "scrollbars": false, "scrollBy": false, "scrollTo": false, "scrollX": false, "scrollY": false, "SecurityPolicyViolationEvent": false, "Selection": false, "self": false, "ServiceWorker": false, "ServiceWorkerContainer": false, "ServiceWorkerRegistration": false, "sessionStorage": false, "ShadowRoot": false, "SharedWorker": false, "SourceBuffer": false, "SourceBufferList": false, "speechSynthesis": false, "SpeechSynthesisEvent": false, "SpeechSynthesisUtterance": false, "StaticRange": false, "status": false, "statusbar": false, "StereoPannerNode": false, "stop": false, "Storage": false, "StorageEvent": false, "StorageManager": false, "styleMedia": false, "StyleSheet": false, "StyleSheetList": false, "SubtleCrypto": false, "SVGAElement": false, "SVGAngle": false, "SVGAnimatedAngle": false, "SVGAnimatedBoolean": false, "SVGAnimatedEnumeration": false, "SVGAnimatedInteger": false, "SVGAnimatedLength": false, "SVGAnimatedLengthList": false, "SVGAnimatedNumber": false, "SVGAnimatedNumberList": false, "SVGAnimatedPreserveAspectRatio": false, "SVGAnimatedRect": false, "SVGAnimatedString": false, "SVGAnimatedTransformList": false, "SVGAnimateElement": false, "SVGAnimateMotionElement": false, "SVGAnimateTransformElement": false, "SVGAnimationElement": false, "SVGCircleElement": false, "SVGClipPathElement": false, "SVGComponentTransferFunctionElement": false, "SVGDefsElement": false, "SVGDescElement": false, "SVGDiscardElement": false, "SVGElement": false, "SVGEllipseElement": false, "SVGFEBlendElement": false, "SVGFEColorMatrixElement": false, "SVGFEComponentTransferElement": false, "SVGFECompositeElement": false, "SVGFEConvolveMatrixElement": false, "SVGFEDiffuseLightingElement": false, "SVGFEDisplacementMapElement": false, "SVGFEDistantLightElement": false, "SVGFEDropShadowElement": false, "SVGFEFloodElement": false, "SVGFEFuncAElement": false, "SVGFEFuncBElement": false, "SVGFEFuncGElement": false, "SVGFEFuncRElement": false, "SVGFEGaussianBlurElement": false, "SVGFEImageElement": false, "SVGFEMergeElement": false, "SVGFEMergeNodeElement": false, "SVGFEMorphologyElement": false, "SVGFEOffsetElement": false, "SVGFEPointLightElement": false, "SVGFESpecularLightingElement": false, "SVGFESpotLightElement": false, "SVGFETileElement": false, "SVGFETurbulenceElement": false, "SVGFilterElement": false, "SVGForeignObjectElement": false, "SVGGElement": false, "SVGGeometryElement": false, "SVGGradientElement": false, "SVGGraphicsElement": false, "SVGImageElement": false, "SVGLength": false, "SVGLengthList": false, "SVGLinearGradientElement": false, "SVGLineElement": false, "SVGMarkerElement": false, "SVGMaskElement": false, "SVGMatrix": false, "SVGMetadataElement": false, "SVGMPathElement": false, "SVGNumber": false, "SVGNumberList": false, "SVGPathElement": false, "SVGPatternElement": false, "SVGPoint": false, "SVGPointList": false, "SVGPolygonElement": false, "SVGPolylineElement": false, "SVGPreserveAspectRatio": false, "SVGRadialGradientElement": false, "SVGRect": false, "SVGRectElement": false, "SVGScriptElement": false, "SVGSetElement": false, "SVGStopElement": false, "SVGStringList": false, "SVGStyleElement": false, "SVGSVGElement": false, "SVGSwitchElement": false, "SVGSymbolElement": false, "SVGTextContentElement": false, "SVGTextElement": false, "SVGTextPathElement": false, "SVGTextPositioningElement": false, "SVGTitleElement": false, "SVGTransform": false, "SVGTransformList": false, "SVGTSpanElement": false, "SVGUnitTypes": false, "SVGUseElement": false, "SVGViewElement": false, "TaskAttributionTiming": false, "Text": false, "TextEvent": false, "TextMetrics": false, "TextTrack": false, "TextTrackCue": false, "TextTrackCueList": false, "TextTrackList": false, "TimeRanges": false, "toolbar": false, "top": false, "Touch": false, "TouchEvent": false, "TouchList": false, "TrackEvent": false, "TransitionEvent": false, "TreeWalker": false, "UIEvent": false, "ValidityState": false, "visualViewport": false, "VisualViewport": false, "VTTCue": false, "WaveShaperNode": false, "WebAssembly": false, "WebGL2RenderingContext": false, "WebGLActiveInfo": false, "WebGLBuffer": false, "WebGLContextEvent": false, "WebGLFramebuffer": false, "WebGLProgram": false, "WebGLQuery": false, "WebGLRenderbuffer": false, "WebGLRenderingContext": false, "WebGLSampler": false, "WebGLShader": false, "WebGLShaderPrecisionFormat": false, "WebGLSync": false, "WebGLTexture": false, "WebGLTransformFeedback": false, "WebGLUniformLocation": false, "WebGLVertexArrayObject": false, "WebSocket": false, "WheelEvent": false, "window": false, "Window": false, "Worker": false, "WritableStream": false, "XMLDocument": false, "XMLHttpRequest": false, "XMLHttpRequestEventTarget": false, "XMLHttpRequestUpload": false, "XMLSerializer": false, "XPathEvaluator": false, "XPathExpression": false, "XPathResult": false, "XSLTProcessor": false, "_": true }, "env": { "node": true, "es6": true, "browser": true }, "rules": { "accessor-pairs": "off", "array-bracket-newline": [ "off", "consistent" ], "array-bracket-spacing": [ "off", "never" ], "array-callback-return": [ "error", { "allowImplicit": true } ], "array-element-newline": [ "off", { "multiline": true, "minItems": 3 } ], "arrow-body-style": [ 0, "as-needed", { "requireReturnForObjectLiteral": false } ], "arrow-parens": [ "off", "as-needed", { "requireForBlockBody": true } ], "arrow-spacing": [ "off", { "before": true, "after": true } ], "block-scoped-var": "error", "block-spacing": [ "off", "always" ], "brace-style": [ "off", "1tbs", { "allowSingleLine": true } ], "callback-return": "off", "camelcase": [ "error", { "properties": "never", "ignoreDestructuring": false } ], "capitalized-comments": [ "off", "never", { "line": { "ignorePattern": ".*", "ignoreInlineComments": true, "ignoreConsecutiveComments": true }, "block": { "ignorePattern": ".*", "ignoreInlineComments": true, "ignoreConsecutiveComments": true } } ], "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" ] } ], "comma-dangle": [ "off", { "arrays": "always-multiline", "objects": "always-multiline", "imports": "always-multiline", "exports": "always-multiline", "functions": "always-multiline" } ], "comma-spacing": [ "off", { "before": false, "after": true } ], "comma-style": [ "off", "last", { "exceptions": { "ArrayExpression": false, "ArrayPattern": false, "ArrowFunctionExpression": false, "CallExpression": false, "FunctionDeclaration": false, "FunctionExpression": false, "ImportDeclaration": false, "ObjectExpression": false, "ObjectPattern": false, "VariableDeclaration": false, "NewExpression": false } } ], "complexity": [ "off", 11 ], "computed-property-spacing": [ "off", "never" ], "consistent-return": "error", "consistent-this": "off", "constructor-super": "error", "curly": [ 0, "multi-line" ], "default-case": [ "error", { "commentPattern": "^no default$" } ], "dot-location": [ "off", "property" ], "dot-notation": [ "error", { "allowKeywords": true, "allowPattern": "" } ], "eol-last": [ "off", "always" ], "eqeqeq": [ "error", "always", { "null": "ignore" } ], "for-direction": "error", "func-call-spacing": [ "off", "never" ], "func-name-matching": [ "off", "always", { "includeCommonJSModuleExports": false } ], "func-names": "warn", "func-style": [ "off", "expression" ], "function-paren-newline": [ "off", "consistent" ], "generator-star-spacing": [ "off", { "before": false, "after": true } ], "getter-return": [ "error", { "allowImplicit": true } ], "global-require": "error", "guard-for-in": "error", "handle-callback-err": "off", "id-blacklist": "off", "id-length": "off", "id-match": "off", "implicit-arrow-linebreak": [ "off", "beside" ], "indent": [ "off", 2, { "SwitchCase": 1, "VariableDeclarator": 1, "outerIIFEBody": 1, "FunctionDeclaration": { "parameters": 1, "body": 1 }, "FunctionExpression": { "parameters": 1, "body": 1 }, "CallExpression": { "arguments": 1 }, "ArrayExpression": 1, "ObjectExpression": 1, "ImportDeclaration": 1, "flatTernaryExpressions": false, "ignoredNodes": [ "JSXElement", "JSXElement > *", "JSXAttribute", "JSXIdentifier", "JSXNamespacedName", "JSXMemberExpression", "JSXSpreadAttribute", "JSXExpressionContainer", "JSXOpeningElement", "JSXClosingElement", "JSXText", "JSXEmptyExpression", "JSXSpreadChild" ], "ignoreComments": false } ], "indent-legacy": "off", "init-declarations": "off", "jsx-quotes": [ "off", "prefer-double" ], "key-spacing": [ "off", { "beforeColon": false, "afterColon": true } ], "keyword-spacing": [ "off", { "before": true, "after": true, "overrides": { "return": { "after": true, "before": true }, "throw": { "after": true, "before": true }, "case": { "after": true, "before": true } } } ], "line-comment-position": [ "off", { "position": "above", "ignorePattern": "", "applyDefaultPatterns": true } ], "linebreak-style": [ "error", "unix" ], "lines-around-comment": 0, "lines-around-directive": [ "error", { "before": "always", "after": "always" } ], "lines-between-class-members": [ "error", "always", { "exceptAfterSingleLine": true } ], "max-classes-per-file": [ "off", 1 ], "max-depth": [ "off", 4 ], "max-len": [ 0, 100, 2, { "ignoreUrls": true, "ignoreComments": false, "ignoreRegExpLiterals": true, "ignoreStrings": true, "ignoreTemplateLiterals": true, "code": 80, "tabWidth": 4, "ignoreTrailingComments": false } ], "max-lines": [ "off", { "max": 300, "skipBlankLines": true, "skipComments": true } ], "max-lines-per-function": [ "off", { "max": 50, "skipBlankLines": true, "skipComments": true, "IIFEs": true } ], "max-nested-callbacks": "off", "max-params": [ "off", 3 ], "max-statements": [ "off", 10 ], "max-statements-per-line": [ "off", { "max": 1 } ], "multiline-comment-style": [ "off", "starred-block" ], "multiline-ternary": [ "off", "never" ], "new-cap": [ "error", { "newIsCap": true, "newIsCapExceptions": [], "capIsNew": false, "capIsNewExceptions": [ "Immutable.Map", "Immutable.Set", "Immutable.List" ], "properties": true } ], "new-parens": "off", "newline-after-var": "off", "newline-before-return": "off", "newline-per-chained-call": [ "off", { "ignoreChainWithDepth": 4 } ], "no-alert": "warn", "no-array-constructor": "error", "no-async-promise-executor": "off", "no-await-in-loop": "error", "no-bitwise": "error", "no-buffer-constructor": "error", "no-caller": "error", "no-case-declarations": "error", "no-catch-shadow": "off", "no-class-assign": "error", "no-compare-neg-zero": "error", "no-cond-assign": [ "error", "always" ], "no-confusing-arrow": [ 0, { "allowParens": true } ], "no-console": "warn", "no-const-assign": "error", "no-constant-condition": "warn", "no-continue": "error", "no-control-regex": "error", "no-debugger": "error", "no-delete-var": "error", "no-div-regex": "off", "no-dupe-args": "error", "no-dupe-class-members": "error", "no-dupe-keys": "error", "no-duplicate-case": "error", "no-duplicate-imports": "off", "no-else-return": [ "error", { "allowElseIf": false } ], "no-empty": "error", "no-empty-character-class": "error", "no-empty-function": [ "error", { "allow": [ "arrowFunctions", "functions", "methods" ] } ], "no-empty-pattern": "error", "no-eq-null": "off", "no-eval": "error", "no-ex-assign": "error", "no-extend-native": "error", "no-extra-bind": "error", "no-extra-boolean-cast": "error", "no-extra-label": "error", "no-extra-parens": [ "off", "all", { "conditionalAssign": true, "nestedBinaryExpressions": false, "returnAssign": false, "ignoreJSX": "all", "enforceForArrowConditionals": false } ], "no-extra-semi": "off", "no-fallthrough": "error", "no-floating-decimal": "off", "no-func-assign": "error", "no-global-assign": [ "error", { "exceptions": [] } ], "no-implicit-coercion": [ "off", { "boolean": false, "number": true, "string": true, "allow": [] } ], "no-implicit-globals": "off", "no-implied-eval": "error", "no-inline-comments": "off", "no-inner-declarations": "error", "no-invalid-regexp": "error", "no-invalid-this": "off", "no-irregular-whitespace": "error", "no-iterator": "error", "no-label-var": "error", "no-labels": [ "error", { "allowLoop": false, "allowSwitch": false } ], "no-lone-blocks": "error", "no-lonely-if": "error", "no-loop-func": "error", "no-magic-numbers": [ "off", { "ignore": [], "ignoreArrayIndexes": true, "enforceConst": true, "detectObjects": false } ], "no-misleading-character-class": "off", "no-mixed-operators": [ 0, { "groups": [ [ "%", "**" ], [ "%", "+" ], [ "%", "-" ], [ "%", "*" ], [ "%", "/" ], [ "**", "+" ], [ "**", "-" ], [ "**", "*" ], [ "**", "/" ], [ "&", "|", "^", "~", "<<", ">>", ">>>" ], [ "==", "!=", "===", "!==", ">", ">=", "<", "<=" ], [ "&&", "||" ], [ "in", "instanceof" ] ], "allowSamePrecedence": false } ], "no-mixed-requires": [ "off", false ], "no-mixed-spaces-and-tabs": "off", "no-multi-assign": [ "error" ], "no-multi-spaces": [ "off", { "ignoreEOLComments": false } ], "no-multi-str": "error", "no-multiple-empty-lines": [ "off", { "max": 2, "maxEOF": 0 } ], "no-native-reassign": "off", "no-negated-condition": "off", "no-negated-in-lhs": "off", "no-nested-ternary": "off", "no-new": "error", "no-new-func": "error", "no-new-object": "error", "no-new-require": "error", "no-new-symbol": "error", "no-new-wrappers": "error", "no-obj-calls": "error", "no-octal": "error", "no-octal-escape": "error", "no-param-reassign": [ "error", { "props": true, "ignorePropertyModificationsFor": [ "acc", "accumulator", "e", "ctx", "req", "request", "res", "response", "$scope" ] } ], "no-path-concat": "error", "no-plusplus": "error", "no-process-env": "off", "no-process-exit": "off", "no-proto": "error", "no-prototype-builtins": "error", "no-redeclare": "error", "no-regex-spaces": "error", "no-restricted-globals": [ "error", "isFinite", "isNaN", "addEventListener", "blur", "close", "closed", "confirm", "defaultStatus", "event", "external", "defaultstatus", "find", "focus", "frameElement", "frames", "history", "innerHeight", "innerWidth", "length", "location", "locationbar", "menubar", "moveBy", "moveTo", "name", "onblur", "onerror", "onfocus", "onload", "onresize", "onunload", "open", "opener", "opera", "outerHeight", "outerWidth", "pageXOffset", "pageYOffset", "parent", "print", "removeEventListener", "resizeBy", "resizeTo", "screen", "screenLeft", "screenTop", "screenX", "screenY", "scroll", "scrollbars", "scrollBy", "scrollTo", "scrollX", "scrollY", "self", "status", "statusbar", "stop", "toolbar", "top" ], "no-restricted-imports": [ "off", { "paths": [], "patterns": [] } ], "no-restricted-modules": "off", "no-restricted-properties": [ "error", { "object": "arguments", "property": "callee", "message": "arguments.callee is deprecated" }, { "object": "global", "property": "isFinite", "message": "Please use Number.isFinite instead" }, { "object": "self", "property": "isFinite", "message": "Please use Number.isFinite instead" }, { "object": "window", "property": "isFinite", "message": "Please use Number.isFinite instead" }, { "object": "global", "property": "isNaN", "message": "Please use Number.isNaN instead" }, { "object": "self", "property": "isNaN", "message": "Please use Number.isNaN instead" }, { "object": "window", "property": "isNaN", "message": "Please use Number.isNaN instead" }, { "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-restricted-syntax": [ "error", { "selector": "ForInStatement", "message": "for..in loops iterate over the entire prototype chain, which is virtually never what you want. Use Object.{keys,values,entries}, and iterate over the resulting array." }, { "selector": "ForOfStatement", "message": "iterators/generators require regenerator-runtime, which is too heavyweight for this guide to allow them. Separately, loops should be avoided in favor of array iterations." }, { "selector": "LabeledStatement", "message": "Labels are a form of GOTO; using them makes code confusing and hard to maintain and understand." }, { "selector": "WithStatement", "message": "`with` is disallowed in strict mode because it makes code impossible to predict and optimize." } ], "no-return-assign": [ "error", "always" ], "no-return-await": "error", "no-script-url": "error", "no-self-assign": [ "error", { "props": false } ], "no-self-compare": "error", "no-sequences": "error", "no-shadow": "error", "no-shadow-restricted-names": "error", "no-spaced-func": "off", "no-sparse-arrays": "error", "no-sync": "off", "no-tabs": 0, "no-template-curly-in-string": "error", "no-ternary": "off", "no-this-before-super": "error", "no-throw-literal": "error", "no-trailing-spaces": [ "off", { "skipBlankLines": false, "ignoreComments": false } ], "no-undef": "error", "no-undef-init": "error", "no-undefined": "off", "no-underscore-dangle": [ "error", { "allow": [], "allowAfterThis": false, "allowAfterSuper": false, "enforceInMethodNames": false } ], "no-unexpected-multiline": 0, "no-unmodified-loop-condition": "off", "no-unneeded-ternary": [ "error", { "defaultAssignment": false } ], "no-unreachable": "error", "no-unsafe-finally": "error", "no-unsafe-negation": "error", "no-unused-expressions": [ "error", { "allowShortCircuit": false, "allowTernary": false, "allowTaggedTemplates": false } ], "no-unused-labels": "error", "no-unused-vars": [ "error", { "vars": "all", "args": "after-used", "ignoreRestSiblings": true } ], "no-use-before-define": [ "error", { "functions": true, "classes": true, "variables": true } ], "no-useless-call": "off", "no-useless-catch": "off", "no-useless-computed-key": "error", "no-useless-concat": "error", "no-useless-constructor": "error", "no-useless-escape": "error", "no-useless-rename": [ "error", { "ignoreDestructuring": false, "ignoreImport": false, "ignoreExport": false } ], "no-useless-return": "error", "no-var": "error", "no-void": "error", "no-warning-comments": [ "off", { "terms": [ "todo", "fixme", "xxx" ], "location": "start" } ], "no-whitespace-before-property": "off", "no-with": "error", "nonblock-statement-body-position": [ "off", "beside", { "overrides": {} } ], "object-curly-newline": [ "off", { "ObjectExpression": { "minProperties": 4, "multiline": true, "consistent": true }, "ObjectPattern": { "minProperties": 4, "multiline": true, "consistent": true }, "ImportDeclaration": { "minProperties": 4, "multiline": true, "consistent": true }, "ExportDeclaration": { "minProperties": 4, "multiline": true, "consistent": true } } ], "object-curly-spacing": [ "off", "always" ], "object-property-newline": [ "off", { "allowAllPropertiesOnSameLine": true, "allowMultiplePropertiesPerLine": false } ], "object-shorthand": [ "error", "always", { "ignoreConstructors": false, "avoidQuotes": true } ], "one-var": [ "error", "never" ], "one-var-declaration-per-line": [ "off", "always" ], "operator-assignment": [ "error", "always" ], "operator-linebreak": [ "off", "before", { "overrides": { "=": "none" } } ], "padded-blocks": [ "off", { "blocks": "never", "classes": "never", "switches": "never" } ], "padding-line-between-statements": "off", "prefer-arrow-callback": [ 0, { "allowNamedFunctions": false, "allowUnboundThis": true } ], "prefer-const": [ "error", { "destructuring": "any", "ignoreReadBeforeAssign": true } ], "prefer-destructuring": [ "error", { "VariableDeclarator": { "array": false, "object": true }, "AssignmentExpression": { "array": true, "object": true } }, { "enforceForRenamedProperties": false } ], "prefer-named-capture-group": "off", "prefer-numeric-literals": "error", "prefer-object-spread": "off", "prefer-promise-reject-errors": [ "error", { "allowEmptyReject": true } ], "prefer-reflect": "off", "prefer-rest-params": "error", "prefer-spread": "error", "prefer-template": "error", "quote-props": [ "off", "as-needed", { "keywords": false, "unnecessary": true, "numbers": false } ], "quotes": [ "error", "double" ], "radix": "error", "require-atomic-updates": "off", "require-await": "off", "require-jsdoc": "off", "require-unicode-regexp": "off", "require-yield": "error", "rest-spread-spacing": [ "off", "never" ], "semi": [ "error", "always" ], "semi-spacing": [ "off", { "before": false, "after": true } ], "semi-style": [ "off", "last" ], "sort-imports": [ "off", { "ignoreCase": false, "ignoreMemberSort": false, "memberSyntaxSortOrder": [ "none", "all", "multiple", "single" ] } ], "sort-keys": [ "off", "asc", { "caseSensitive": false, "natural": true } ], "sort-vars": "off", "space-before-blocks": "off", "space-before-function-paren": [ "off", { "anonymous": "always", "named": "never", "asyncArrow": "always" } ], "space-in-parens": [ "off", "never" ], "space-infix-ops": "off", "space-unary-ops": [ "off", { "words": true, "nonwords": false, "overrides": {} } ], "spaced-comment": [ "error", "always", { "line": { "exceptions": [ "-", "+" ], "markers": [ "=", "!" ] }, "block": { "exceptions": [ "-", "+" ], "markers": [ "=", "!" ], "balanced": true } } ], "strict": [ "error", "never" ], "switch-colon-spacing": [ "off", { "after": true, "before": false } ], "symbol-description": "error", "template-curly-spacing": "off", "template-tag-spacing": [ "off", "never" ], "unicode-bom": [ "off", "never" ], "use-isnan": "error", "valid-jsdoc": "off", "valid-typeof": [ "error", { "requireStringLiterals": true } ], "vars-on-top": "error", "wrap-iife": [ "off", "outside", { "functionPrototypeMethods": false } ], "wrap-regex": "off", "yield-star-spacing": [ "off", "after" ], "yoda": "error", "react/display-name": [ "off", { "ignoreTranspilerName": false } ], "react/jsx-key": "off", "react/jsx-no-comment-textnodes": "error", "react/jsx-no-duplicate-props": [ "error", { "ignoreCase": true } ], "react/jsx-no-target-blank": [ "error", { "enforceDynamicLinks": "always" } ], "react/jsx-no-undef": "error", "react/jsx-uses-react": [ "error" ], "react/jsx-uses-vars": "error", "react/no-children-prop": "error", "react/no-danger-with-children": "error", "react/no-deprecated": [ "error" ], "react/no-direct-mutation-state": "off", "react/no-find-dom-node": "error", "react/no-is-mounted": "error", "react/no-render-return-value": "error", "react/no-string-refs": "error", "react/no-unescaped-entities": "error", "react/no-unknown-property": "error", "react/no-unsafe": "off", "react/prop-types": [ "error", { "ignore": [], "customValidators": [], "skipUndeclared": false } ], "react/react-in-jsx-scope": "error", "react/require-render-return": "error", "import/no-unresolved": [ "error", { "commonjs": true, "caseSensitive": true } ], "import/named": "error", "import/default": "off", "import/namespace": "off", "import/export": "error", "import/no-named-as-default": "error", "import/no-named-as-default-member": "error", "import/no-deprecated": "off", "import/no-extraneous-dependencies": [ "error", { "devDependencies": [ "test/**", "tests/**", "spec/**", "**/__tests__/**", "**/__mocks__/**", "test.{js,jsx}", "test-*.{js,jsx}", "**/*{.,_}{test,spec}.{js,jsx}", "**/jest.config.js", "**/vue.config.js", "**/webpack.config.js", "**/webpack.config.*.js", "**/rollup.config.js", "**/rollup.config.*.js", "**/gulpfile.js", "**/gulpfile.*.js", "**/Gruntfile{,.js}", "**/protractor.conf.js", "**/protractor.conf.*.js" ], "optionalDependencies": false } ], "import/no-mutable-exports": "error", "import/no-commonjs": "off", "import/no-amd": "error", "import/no-nodejs-modules": "off", "import/first": "error", "import/imports-first": "off", "import/no-duplicates": "error", "import/no-namespace": "off", "import/extensions": [ "error", "ignorePackages", { "js": "never", "mjs": "never", "jsx": "never" } ], "import/order": [ "error", { "groups": [ [ "builtin", "external", "internal" ] ] } ], "import/newline-after-import": "error", "import/prefer-default-export": "error", "import/no-restricted-paths": "off", "import/max-dependencies": [ "off", { "max": 10 } ], "import/no-absolute-path": "error", "import/no-dynamic-require": "error", "import/no-internal-modules": [ "off", { "allow": [] } ], "import/unambiguous": "off", "import/no-webpack-loader-syntax": "error", "import/no-unassigned-import": "off", "import/no-named-default": "error", "import/no-anonymous-default-export": [ "off", { "allowArray": false, "allowArrowFunction": false, "allowAnonymousClass": false, "allowAnonymousFunction": false, "allowLiteral": false, "allowObject": false } ], "import/exports-last": "off", "import/group-exports": "off", "import/no-default-export": "off", "import/no-self-import": "error", "import/no-cycle": [ "error", { "maxDepth": null } ], "import/no-useless-path-segments": "error", "import/dynamic-import-chunkname": [ "off", { "importFunctions": [], "webpackChunknameFormat": "[0-9a-zA-Z-_/.]+" } ], "import/no-relative-parent-imports": "off", "react/forbid-prop-types": [ 0, { "forbid": [ "any", "array", "object" ], "checkContextTypes": true, "checkChildContextTypes": true } ], "react/forbid-dom-props": [ "off", { "forbid": [] } ], "react/jsx-boolean-value": [ "error", "never", { "always": [] } ], "react/jsx-closing-bracket-location": [ "off", "line-aligned" ], "react/jsx-closing-tag-location": "off", "react/jsx-curly-spacing": [ "off", "never", { "allowMultiline": true } ], "react/jsx-handler-names": [ "off", { "eventHandlerPrefix": "handle", "eventHandlerPropPrefix": "on" } ], "react/jsx-indent-props": [ "off", 2 ], "react/jsx-max-props-per-line": [ "off", { "maximum": 1, "when": "multiline" } ], "react/jsx-no-bind": [ "error", { "ignoreRefs": true, "allowArrowFunctions": true, "allowFunctions": false, "allowBind": false, "ignoreDOMComponents": true } ], "react/jsx-no-literals": [ "off", { "noStrings": true } ], "react/jsx-pascal-case": [ "error", { "allowAllCaps": true, "ignore": [] } ], "react/sort-prop-types": [ "off", { "ignoreCase": true, "callbacksLast": false, "requiredFirst": false, "sortShapeProp": true } ], "react/jsx-sort-prop-types": "off", "react/jsx-sort-props": [ "off", { "ignoreCase": true, "callbacksLast": false, "shorthandFirst": false, "shorthandLast": false, "noSortAlphabetically": false, "reservedFirst": true } ], "react/jsx-sort-default-props": [ "off", { "ignoreCase": true } ], "react/no-danger": "warn", "react/no-did-mount-set-state": "off", "react/no-did-update-set-state": "error", "react/no-will-update-set-state": "error", "react/no-multi-comp": [ "error", { "ignoreStateless": true } ], "react/no-set-state": "off", "react/prefer-es6-class": [ "error", "always" ], "react/prefer-stateless-function": [ 0, { "ignorePureComponents": true } ], "react/self-closing-comp": "off", "react/sort-comp": [ "error", { "order": [ "static-methods", "instance-variables", "lifecycle", "/^on.+$/", "getters", "setters", "/^(get|set)(?!(InitialState$|DefaultProps$|ChildContext$)).+$/", "instance-methods", "everything-else", "rendering" ], "groups": { "lifecycle": [ "displayName", "propTypes", "contextTypes", "childContextTypes", "mixins", "statics", "defaultProps", "constructor", "getDefaultProps", "getInitialState", "state", "getChildContext", "componentWillMount", "componentDidMount", "componentWillReceiveProps", "shouldComponentUpdate", "componentWillUpdate", "componentDidUpdate", "componentWillUnmount" ], "rendering": [ "/^render.+$/", "render" ] } } ], "react/jsx-wrap-multilines": [ "off", { "declaration": "parens-new-line", "assignment": "parens-new-line", "return": "parens-new-line", "arrow": "parens-new-line", "condition": "parens-new-line", "logical": "parens-new-line", "prop": "parens-new-line" } ], "react/jsx-first-prop-new-line": [ "off", "multiline-multiprop" ], "react/jsx-equals-spacing": [ "off", "never" ], "react/jsx-indent": [ "off", 2 ], "react/jsx-filename-extension": [ "error", { "extensions": [ ".jsx" ] } ], "react/require-optimization": [ "off", { "allowDecorators": [] } ], "react/forbid-component-props": [ "off", { "forbid": [] } ], "react/forbid-elements": [ "off", { "forbid": [] } ], "react/no-unused-prop-types": [ "error", { "customValidators": [], "skipShapeProps": true } ], "react/style-prop-object": "error", "react/jsx-tag-spacing": [ "off", { "closingSlash": "never", "beforeSelfClosing": "always", "afterOpening": "never", "beforeClosing": "never" } ], "react/jsx-space-before-closing": [ "off", "always" ], "react/no-array-index-key": "error", "react/require-default-props": [ "error", { "forbidDefaultForRequired": true } ], "react/forbid-foreign-prop-types": [ "warn", { "allowInPropTypes": true } ], "react/void-dom-elements-no-children": "error", "react/default-props-match-prop-types": [ "error", { "allowRequiredDefaults": false } ], "react/no-redundant-should-component-update": "error", "react/no-unused-state": "error", "react/boolean-prop-naming": [ "off", { "propTypeNames": [ "bool", "mutuallyExclusiveTrueProps" ], "rule": "^(is|has)[A-Z]([A-Za-z0-9]?)+", "message": "" } ], "react/no-typos": "error", "react/jsx-curly-brace-presence": [ "error", { "props": "never", "children": "never" } ], "react/jsx-one-expression-per-line": [ "off", { "allow": "single-child" } ], "react/destructuring-assignment": [ "error", "always", { "ignoreClassFields": true } ], "react/no-access-state-in-setstate": "error", "react/button-has-type": [ "error", { "button": true, "submit": true, "reset": false } ], "react/jsx-child-element-spacing": "off", "react/no-this-in-sfc": "error", "react/jsx-max-depth": "off", "react/jsx-props-no-multi-spaces": "off", "jsx-a11y/anchor-has-content": [ "error", { "components": [] } ], "jsx-a11y/aria-role": [ "error", { "ignoreNonDom": false, "ignoreNonDOM": false } ], "jsx-a11y/aria-props": "error", "jsx-a11y/aria-proptypes": "error", "jsx-a11y/aria-unsupported-elements": "error", "jsx-a11y/alt-text": [ "error", { "elements": [ "img", "object", "area", "input[type=\"image\"]" ], "img": [], "object": [], "area": [], "input[type=\"image\"]": [] } ], "jsx-a11y/img-redundant-alt": "error", "jsx-a11y/label-has-for": [ "error", { "components": [], "required": { "every": [ "nesting", "id" ] }, "allowChildren": false } ], "jsx-a11y/label-has-associated-control": [ "error", { "labelComponents": [], "labelAttributes": [], "controlComponents": [], "assert": "both", "depth": 25 } ], "jsx-a11y/mouse-events-have-key-events": "error", "jsx-a11y/no-access-key": "error", "jsx-a11y/no-onchange": "off", "jsx-a11y/interactive-supports-focus": "error", "jsx-a11y/role-has-required-aria-props": "error", "jsx-a11y/role-supports-aria-props": "error", "jsx-a11y/tabindex-no-positive": "error", "jsx-a11y/heading-has-content": [ "error", { "components": [ "" ] } ], "jsx-a11y/html-has-lang": "error", "jsx-a11y/lang": "error", "jsx-a11y/no-distracting-elements": [ "error", { "elements": [ "marquee", "blink" ] } ], "jsx-a11y/scope": "error", "jsx-a11y/click-events-have-key-events": "error", "jsx-a11y/no-static-element-interactions": [ "error", { "handlers": [ "onClick", "onMouseDown", "onMouseUp", "onKeyPress", "onKeyDown", "onKeyUp" ] } ], "jsx-a11y/no-noninteractive-element-interactions": [ "error", { "handlers": [ "onClick", "onMouseDown", "onMouseUp", "onKeyPress", "onKeyDown", "onKeyUp" ] } ], "jsx-a11y/accessible-emoji": "error", "jsx-a11y/aria-activedescendant-has-tabindex": "error", "jsx-a11y/iframe-has-title": "error", "jsx-a11y/no-autofocus": [ "error", { "ignoreNonDOM": true } ], "jsx-a11y/no-redundant-roles": "error", "jsx-a11y/media-has-caption": [ "error", { "audio": [], "video": [], "track": [] } ], "jsx-a11y/no-interactive-element-to-noninteractive-role": [ "error", { "tr": [ "none", "presentation" ] } ], "jsx-a11y/no-noninteractive-element-to-interactive-role": [ "error", { "ul": [ "listbox", "menu", "menubar", "radiogroup", "tablist", "tree", "treegrid" ], "ol": [ "listbox", "menu", "menubar", "radiogroup", "tablist", "tree", "treegrid" ], "li": [ "menuitem", "option", "row", "tab", "treeitem" ], "table": [ "grid" ], "td": [ "gridcell" ] } ], "jsx-a11y/no-noninteractive-tabindex": [ "error", { "tags": [], "roles": [ "tabpanel" ] } ], "jsx-a11y/anchor-is-valid": [ "error", { "components": [ "Link" ], "specialLink": [ "to" ] } ], "generator-star": "off", "no-arrow-condition": "off", "no-comma-dangle": "off", "no-reserved-keys": "off", "no-space-before-semi": "off", "no-wrap-func": "off", "space-after-function-name": "off", "space-after-keywords": "off", "space-before-function-parentheses": "off", "space-before-keywords": "off", "space-in-brackets": "off", "space-return-throw-case": "off", "space-unary-word-ops": "off", "prettier/prettier": "error" }, "parserOptions": { "ecmaFeatures": { "globalReturn": true, "jsx": true, "generators": false, "objectLiteralDuplicateProperties": false, "legacyDecorators": true, "ecmaVersion": "2018" }, "ecmaVersion": 2018, "sourceType": "module" }, "plugins": [ "react", "import", "jsx-a11y", "prettier" ], "settings": { "import/resolver": { "node": { "extensions": [ ".js", ".jsx", ".json" ] } }, "import/extensions": [ ".js", ".mjs", ".jsx" ], "import/core-modules": [], "import/ignore": [ "node_modules", "\\.(coffee|scss|css|less|hbs|svg|json)$" ], "react": { "pragma": "React", "version": "detect" }, "propWrapperFunctions": [ "forbidExtraProps", "exact", "Object.freeze" ] }, "extends": [ "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb-base/rules/best-practices.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb-base/rules/errors.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb-base/rules/node.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb-base/rules/style.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb-base/rules/variables.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb-base/rules/es6.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb-base/rules/imports.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb-base/index.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb-base/rules/strict.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb/rules/react.js", "/Users/zkrh9u3/Dev/web/node_modules/eslint-config-airbnb/rules/react-a11y.js", "eslint:recommended", "plugin:react/recommended", "airbnb", "prettier", "prettier/react" ], "parser": "/Users/zkrh9u3/Dev/web/node_modules/babel-eslint/lib/index.js" } ```
ljharb commented 5 years ago

What is "coc-eslint"?

parker789 commented 5 years ago

https://github.com/neoclide/coc-eslint - it's a an eslint plugin for vim

ljharb commented 5 years ago

And what working directory is it using to invoke eslint? All commands should always be invoked from a project’s root.

parker789 commented 5 years ago

Hmm, this I'm not 100% sure on.

Ive run eslint.trace.verbose to check the language server logs.. and there are some line items within there which make me think it's invoking eslint correctly.. I think this log may be outside the scope of this question, but if not here you go.. my projects root is Dev/web

``` [Trace - 12:48:43 PM] Sending request 'initialize - (0)'. Params: { "processId": 73268, "rootPath": "/Users/zkrh9u3/Dev/web", "rootUri": "file:///Users/zkrh9u3/Dev/web", "capabilities": { "workspace": { "applyEdit": true, "workspaceEdit": { "documentChanges": true, "resourceOperations": [ "create", "rename", "delete" ], "failureHandling": "textOnlyTransactional" }, "didChangeConfiguration": { "dynamicRegistration": true }, "didChangeWatchedFiles": { "dynamicRegistration": true }, "symbol": { "dynamicRegistration": true, "symbolKind": { "valueSet": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ] } }, "executeCommand": { "dynamicRegistration": true }, "configuration": true, "workspaceFolders": true }, "textDocument": { "publishDiagnostics": { "relatedInformation": true }, "synchronization": { "dynamicRegistration": true, "willSave": true, "willSaveWaitUntil": true, "didSave": true }, "completion": { "dynamicRegistration": true, "contextSupport": true, "completionItem": { "snippetSupport": true, "commitCharactersSupport": true, "documentationFormat": [ "markdown", "plaintext" ], "deprecatedSupport": true, "preselectSupport": true }, "completionItemKind": { "valueSet": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 ] } }, "hover": { "dynamicRegistration": true, "contentFormat": [ "markdown", "plaintext" ] }, "signatureHelp": { "dynamicRegistration": true, "signatureInformation": { "documentationFormat": [ "markdown", "plaintext" ], "parameterInformation": { "labelOffsetSupport": true } } }, "definition": { "dynamicRegistration": true }, "references": { "dynamicRegistration": true }, "documentHighlight": { "dynamicRegistration": true }, "documentSymbol": { "dynamicRegistration": true, "symbolKind": { "valueSet": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ] } }, "codeAction": { "dynamicRegistration": true, "codeActionLiteralSupport": { "codeActionKind": { "valueSet": [ "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" ] } } }, "codeLens": { "dynamicRegistration": true }, "formatting": { "dynamicRegistration": true }, "rangeFormatting": { "dynamicRegistration": true }, "onTypeFormatting": { "dynamicRegistration": true }, "rename": { "dynamicRegistration": true, "prepareSupport": true }, "documentLink": { "dynamicRegistration": true }, "typeDefinition": { "dynamicRegistration": true }, "implementation": { "dynamicRegistration": true }, "declaration": { "dynamicRegistration": true }, "colorProvider": { "dynamicRegistration": true }, "foldingRange": { "dynamicRegistration": true, "rangeLimit": 5000, "lineFoldingOnly": true } } }, "trace": "verbose", "workspaceFolders": [ { "uri": "file:///Users/zkrh9u3/Dev/web", "name": "web" } ] } [Trace - 12:48:43 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "ESLint server running in node v10.16.0" } [Info - 12:48:43 PM] ESLint server running in node v10.16.0 [Trace - 12:48:43 PM] Received response 'initialize - (0)' in 117ms. Result: { "capabilities": { "textDocumentSync": { "openClose": true, "change": 1, "willSaveWaitUntil": true, "save": { "includeText": false } }, "codeActionProvider": true, "executeCommandProvider": { "commands": [ "eslint.applySingleFix", "eslint.applySameFixes", "eslint.applyAllFixes", "eslint.applyAutoFix", "eslint.applyDisableLine", "eslint.applyDisableFile", "eslint.openRuleDoc" ] } } } [Trace - 12:48:43 PM] Sending notification 'initialized'. Params: {} [Trace - 12:48:43 PM] Sending notification 'workspace/didChangeConfiguration'. Params: { "settings": { "eslint": { "enable": true, "quiet": false, "trace": { "server": "verbose" }, "execArgv": [], "filetypes": [ "javascript", "javascriptreact" ], "packageManager": "npm", "run": "onType", "autoFix": true, "options": {}, "autoFixOnSave": false, "codeAction": { "disableRuleComment": { "enable": true, "location": "separateLine" }, "showDocumentation": { "enable": true } } } } } [Trace - 12:48:43 PM] Sending notification 'textDocument/didOpen'. Params: { "textDocument": { "uri": "file:///Users/zkrh9u3/Dev/web/src/tccm/models/upsert/upsert.js", "languageId": "javascript", "version": 1, "text": "" } } [Trace - 12:48:43 PM] Received request 'client/registerCapability - (0)'. Params: { "registrations": [ { "id": "6b159c96-b9f6-4504-b308-9ea2b4ac64aa", "method": "workspace/didChangeConfiguration", "registerOptions": {} } ] } [Trace - 12:48:43 PM] Sending response 'client/registerCapability - (0)'. Processing request took 1ms No result returned. [Trace - 12:48:43 PM] Received request 'workspace/configuration - (1)'. Params: { "items": [ { "scopeUri": "file:///Users/zkrh9u3/Dev/web/src/tccm/models/upsert/upsert.js", "section": "" } ] } [Trace - 12:48:43 PM] Sending response 'workspace/configuration - (1)'. Processing request took 1ms Result: [ { "packageManager": "npm", "quiet": false, "validate": true, "autoFix": true, "autoFixOnSave": false, "options": {}, "run": "onType", "workspaceFolder": { "uri": "file:///Users/zkrh9u3/Dev/web", "name": "web" }, "codeAction": { "disableRuleComment": { "enable": true, "location": "separateLine" }, "showDocumentation": { "enable": true } } } ] [Trace - 12:48:43 PM] 'npm config get prefix' value is: /Users/zkrh9u3/.nvm/versions/node/v10.16.0 [Trace - 12:48:43 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "ESLint library loaded from: /Users/zkrh9u3/Dev/web/node_modules/eslint/lib/api.js" } [Info - 12:48:43 PM] ESLint library loaded from: /Users/zkrh9u3/Dev/web/node_modules/eslint/lib/api.js [Trace - 12:48:46 PM] Received notification 'textDocument/publishDiagnostics'. Params: { "uri": "file:///Users/zkrh9u3/Dev/web/src/tccm/models/upsert/upsert.js", "diagnostics": [] } ```
ljharb commented 5 years ago

What versions of all eslint stuff are you using?

parker789 commented 5 years ago
    "eslint": "^5.16.0",
    "eslint-config-airbnb": "^17.1.0",
    "eslint-config-prettier": "^4.1.0",
    "eslint-config-react-app": "^3.0.8",
    "eslint-loader": "^2.1.2",
    "eslint-plugin-flowtype": "2.39.1",
    "eslint-plugin-import": "^2.16.0",
    "eslint-plugin-jsx-a11y": "^6.2.1",
    "eslint-plugin-prettier": "^3.0.1",
    "eslint-plugin-react": "^7.12.4",
ljharb commented 5 years ago

Do you get the same warning on the command line?

parker789 commented 5 years ago

The entire flow of prettier -> eslint while using prettier-eslint confuses me.. but I tried running npx eslint --fix <file> from command line on the file I'm seeing that error while in vim, but I don't see anything in the command line output.

Something to mention might be this warning is only occurring 1 time. After I run the first lint job everything works fine without warnings

ljharb commented 5 years ago

Maybe the issue is that you’re invoking prettier directly? prettier works best imo when it’s only ever invoked by eslint, using eslint-plugin-prettier.

parker789 commented 5 years ago

I feel like I read something where eslint-plugin-prettier was outdated and prettier-eslint was the new way to run the combo. not sure tho.. :( ill look into it more and see if i can figure things out! thanks for the help

ljharb commented 4 years ago

it's not; afaik prettier-eslint isn't even updated anymore.

I'll close this for now, but happy to keep discussing, and happy to reopen it if it turns out there's something this plugin needs to fix!