From 7e713f9fac4b7298048d5801bda244489907b29a Mon Sep 17 00:00:00 2001 From: Dementii Kalkov Date: Wed, 12 Jun 2024 18:47:47 +0400 Subject: [PATCH 1/3] chore: update list of native events --- .../eslint-plugin/get-native-event-names.ts | 94 +++++++++++++++++-- 1 file changed, 85 insertions(+), 9 deletions(-) diff --git a/packages/utils/src/eslint-plugin/get-native-event-names.ts b/packages/utils/src/eslint-plugin/get-native-event-names.ts index c93831ce5..c12ee479b 100644 --- a/packages/utils/src/eslint-plugin/get-native-event-names.ts +++ b/packages/utils/src/eslint-plugin/get-native-event-names.ts @@ -6,21 +6,31 @@ export function getNativeEventNames(): ReadonlySet { (nativeEventNames = new Set([ // Source: https://developer.mozilla.org/en-US/docs/Web/Events 'abort', + 'activate', + 'addstream', + 'addtrack', 'afterprint', + 'afterscriptexecute', + 'animationcancel', 'animationend', 'animationiteration', 'animationstart', 'appinstalled', - 'audioprocess', 'audioend', + 'audioprocess', 'audiostart', + 'auxclick', + 'beforeinput', 'beforeprint', + 'beforescriptexecute', 'beforeunload', 'beginEvent', 'blocked', 'blur', 'boundary', + 'bufferedamountlow', 'cached', + 'cancel', 'canplay', 'canplaythrough', 'change', @@ -29,13 +39,19 @@ export function getNativeEventNames(): ReadonlySet { 'checking', 'click', 'close', + 'closing', 'complete', 'compositionend', 'compositionstart', 'compositionupdate', + 'connect', + 'connectionstatechange', + 'contentdelete', 'contextmenu', 'copy', + 'cuechange', 'cut', + 'datachannel', 'dblclick', 'devicechange', 'devicelight', @@ -43,14 +59,13 @@ export function getNativeEventNames(): ReadonlySet { 'deviceorientation', 'deviceproximity', 'dischargingtimechange', + 'DOMActivate', 'DOMAttributeNameChanged', 'DOMAttrModified', 'DOMCharacterDataModified', 'DOMContentLoaded', 'DOMElementNameChanged', - 'focus', - 'focusin', - 'focusout', + 'DOMMouseScroll', 'DOMNodeInserted', 'DOMNodeInsertedIntoDocument', 'DOMNodeRemoved', @@ -69,27 +84,44 @@ export function getNativeEventNames(): ReadonlySet { 'end', 'ended', 'endEvent', + 'enterpictureinpicture', 'error', + 'focus', + 'focusin', + 'focusout', + 'formdata', 'fullscreenchange', 'fullscreenerror', 'gamepadconnected', 'gamepaddisconnected', + 'gatheringstatechange', + 'gesturechange', + 'gestureend', + 'gesturestart', 'gotpointercapture', 'hashchange', - 'lostpointercapture', + 'icecandidate', + 'icecandidateerror', + 'iceconnectionstatechange', + 'icegatheringstatechange', 'input', + 'inputsourceschange', + 'install', 'invalid', 'keydown', 'keypress', 'keyup', 'languagechange', + 'leavepictureinpicture', 'levelchange', 'load', 'loadeddata', 'loadedmetadata', 'loadend', 'loadstart', + 'lostpointercapture', 'mark', + 'merchantvalidation', 'message', 'messageerror', 'mousedown', @@ -99,6 +131,9 @@ export function getNativeEventNames(): ReadonlySet { 'mouseout', 'mouseover', 'mouseup', + 'mousewheel', + 'mute', + 'negotiationneeded', 'nomatch', 'notificationclick', 'noupdate', @@ -111,6 +146,10 @@ export function getNativeEventNames(): ReadonlySet { 'pageshow', 'paste', 'pause', + 'payerdetailchange', + 'paymentmethodchange', + 'play', + 'playing', 'pointercancel', 'pointerdown', 'pointerenter', @@ -121,14 +160,16 @@ export function getNativeEventNames(): ReadonlySet { 'pointerout', 'pointerover', 'pointerup', - 'play', - 'playing', 'popstate', 'progress', 'push', 'pushsubscriptionchange', 'ratechange', 'readystatechange', + 'rejectionhandled', + 'removestream', + 'removeTrack', + 'removetrack', 'repeatEvent', 'reset', 'resize', @@ -136,18 +177,29 @@ export function getNativeEventNames(): ReadonlySet { 'result', 'resume', 'scroll', + 'search', 'seeked', 'seeking', 'select', - 'selectstart', + 'selectedcandidatepairchange', + 'selectend', 'selectionchange', + 'selectstart', + 'shippingaddresschange', + 'shippingoptionchange', 'show', + 'signalingstatechange', + 'slotchange', 'soundend', 'soundstart', 'speechend', 'speechstart', + 'squeeze', + 'squeezeend', + 'squeezestart', 'stalled', 'start', + 'statechange', 'storage', 'submit', 'success', @@ -161,20 +213,44 @@ export function getNativeEventNames(): ReadonlySet { 'SVGZoom', 'timeout', 'timeupdate', + 'toggle', + 'tonechange', 'touchcancel', 'touchend', 'touchmove', 'touchstart', + 'track', + 'transitioncancel', 'transitionend', + 'transitionrun', + 'transitionstart', + 'unhandledrejection', 'unload', + 'unmute', 'updateready', 'upgradeneeded', 'userproximity', - 'voiceschanged', 'versionchange', 'visibilitychange', + 'voiceschanged', 'volumechange', + 'vrdisplayactivate', + 'vrdisplayblur', + 'vrdisplayconnect', + 'vrdisplaydeactivate', + 'vrdisplaydisconnect', + 'vrdisplayfocus', + 'vrdisplaypointerrestricted', + 'vrdisplaypointerunrestricted', + 'vrdisplaypresentchange', 'waiting', + 'webglcontextcreationerror', + 'webglcontextlost', + 'webglcontextrestored', + 'webkitmouseforcechanged', + 'webkitmouseforcedown', + 'webkitmouseforceup', + 'webkitmouseforcewillbegin', 'wheel', ])) ); From 5bc54d3f881761979e8981be41915a041050cc3d Mon Sep 17 00:00:00 2001 From: Dementii Kalkov Date: Sun, 7 Jul 2024 22:08:19 +0400 Subject: [PATCH 2/3] chore: updated list of events with links to source --- .../eslint-plugin/get-native-event-names.ts | 128 +++++------------- 1 file changed, 32 insertions(+), 96 deletions(-) diff --git a/packages/utils/src/eslint-plugin/get-native-event-names.ts b/packages/utils/src/eslint-plugin/get-native-event-names.ts index c12ee479b..34159c645 100644 --- a/packages/utils/src/eslint-plugin/get-native-event-names.ts +++ b/packages/utils/src/eslint-plugin/get-native-event-names.ts @@ -1,14 +1,25 @@ let nativeEventNames: ReadonlySet | null = null; - +/** + * Check MDN events page for details https://developer.mozilla.org/en-US/docs/Web/Events + * + * Events sourse: + * @link https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager + * @link https://developer.mozilla.org/en-US/docs/Web/API/Document + * @link https://developer.mozilla.org/en-US/docs/Web/API/Element + * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement + * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement + * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement + * @link https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder + * @link https://developer.mozilla.org/en-US/docs/Web/API/Node + * @link https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition + * @link https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimationElement + * @link https://developer.mozilla.org/en-US/docs/Web/API/SVGElement + */ export function getNativeEventNames(): ReadonlySet { return ( nativeEventNames ?? (nativeEventNames = new Set([ - // Source: https://developer.mozilla.org/en-US/docs/Web/Events 'abort', - 'activate', - 'addstream', - 'addtrack', 'afterprint', 'afterscriptexecute', 'animationcancel', @@ -17,61 +28,41 @@ export function getNativeEventNames(): ReadonlySet { 'animationstart', 'appinstalled', 'audioend', - 'audioprocess', 'audiostart', 'auxclick', 'beforeinput', + 'beforeinstallprompt', + 'beforematch', 'beforeprint', 'beforescriptexecute', + 'beforetoggle', 'beforeunload', + 'beforexrselect', 'beginEvent', - 'blocked', 'blur', - 'boundary', - 'bufferedamountlow', - 'cached', 'cancel', 'canplay', 'canplaythrough', 'change', 'chargingchange', 'chargingtimechange', - 'checking', 'click', - 'close', - 'closing', - 'complete', 'compositionend', 'compositionstart', 'compositionupdate', - 'connect', - 'connectionstatechange', - 'contentdelete', + 'contentvisibilityautostatechange', 'contextmenu', 'copy', - 'cuechange', 'cut', - 'datachannel', + 'dataavailable', 'dblclick', - 'devicechange', - 'devicelight', 'devicemotion', 'deviceorientation', - 'deviceproximity', + 'deviceorientationabsolute', 'dischargingtimechange', 'DOMActivate', - 'DOMAttributeNameChanged', - 'DOMAttrModified', - 'DOMCharacterDataModified', 'DOMContentLoaded', - 'DOMElementNameChanged', 'DOMMouseScroll', - 'DOMNodeInserted', - 'DOMNodeInsertedIntoDocument', - 'DOMNodeRemoved', - 'DOMNodeRemovedFromDocument', - 'DOMSubtreeModified', - 'downloading', 'drag', 'dragend', 'dragenter', @@ -81,10 +72,10 @@ export function getNativeEventNames(): ReadonlySet { 'drop', 'durationchange', 'emptied', + 'encrypted', 'end', 'ended', 'endEvent', - 'enterpictureinpicture', 'error', 'focus', 'focusin', @@ -94,34 +85,22 @@ export function getNativeEventNames(): ReadonlySet { 'fullscreenerror', 'gamepadconnected', 'gamepaddisconnected', - 'gatheringstatechange', 'gesturechange', 'gestureend', 'gesturestart', 'gotpointercapture', 'hashchange', - 'icecandidate', - 'icecandidateerror', - 'iceconnectionstatechange', - 'icegatheringstatechange', 'input', - 'inputsourceschange', - 'install', - 'invalid', 'keydown', 'keypress', 'keyup', 'languagechange', - 'leavepictureinpicture', 'levelchange', 'load', 'loadeddata', 'loadedmetadata', - 'loadend', 'loadstart', 'lostpointercapture', - 'mark', - 'merchantvalidation', 'message', 'messageerror', 'mousedown', @@ -132,22 +111,17 @@ export function getNativeEventNames(): ReadonlySet { 'mouseover', 'mouseup', 'mousewheel', - 'mute', - 'negotiationneeded', + 'MozMousePixelScroll', 'nomatch', - 'notificationclick', - 'noupdate', - 'obsolete', 'offline', 'online', - 'open', 'orientationchange', 'pagehide', + 'pagereveal', 'pageshow', + 'pageswap', 'paste', 'pause', - 'payerdetailchange', - 'paymentmethodchange', 'play', 'playing', 'pointercancel', @@ -159,94 +133,56 @@ export function getNativeEventNames(): ReadonlySet { 'pointermove', 'pointerout', 'pointerover', + 'pointerrawupdate', 'pointerup', 'popstate', + 'prerenderingchange', 'progress', - 'push', - 'pushsubscriptionchange', 'ratechange', 'readystatechange', 'rejectionhandled', - 'removestream', - 'removeTrack', - 'removetrack', 'repeatEvent', 'reset', 'resize', - 'resourcetimingbufferfull', 'result', 'resume', 'scroll', - 'search', + 'scrollend', + 'securitypolicyviolation', 'seeked', 'seeking', - 'select', - 'selectedcandidatepairchange', - 'selectend', 'selectionchange', 'selectstart', - 'shippingaddresschange', - 'shippingoptionchange', - 'show', - 'signalingstatechange', - 'slotchange', 'soundend', 'soundstart', 'speechend', 'speechstart', - 'squeeze', - 'squeezeend', - 'squeezestart', 'stalled', 'start', - 'statechange', + 'stop', 'storage', 'submit', - 'success', 'suspend', - 'SVGAbort', - 'SVGError', - 'SVGLoad', - 'SVGResize', - 'SVGScroll', - 'SVGUnload', - 'SVGZoom', - 'timeout', 'timeupdate', 'toggle', - 'tonechange', 'touchcancel', 'touchend', 'touchmove', 'touchstart', - 'track', 'transitioncancel', 'transitionend', 'transitionrun', 'transitionstart', 'unhandledrejection', 'unload', - 'unmute', - 'updateready', - 'upgradeneeded', - 'userproximity', - 'versionchange', 'visibilitychange', - 'voiceschanged', 'volumechange', 'vrdisplayactivate', - 'vrdisplayblur', 'vrdisplayconnect', 'vrdisplaydeactivate', 'vrdisplaydisconnect', - 'vrdisplayfocus', - 'vrdisplaypointerrestricted', - 'vrdisplaypointerunrestricted', 'vrdisplaypresentchange', 'waiting', - 'webglcontextcreationerror', - 'webglcontextlost', - 'webglcontextrestored', 'webkitmouseforcechanged', 'webkitmouseforcedown', 'webkitmouseforceup', From b13187d2e07fdc1a84a6b4df7853eb9c90ee6590 Mon Sep 17 00:00:00 2001 From: Dementii Kalkov Date: Mon, 16 Sep 2024 01:48:13 +0400 Subject: [PATCH 3/3] chore: added missing event name --- packages/utils/src/eslint-plugin/get-native-event-names.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/utils/src/eslint-plugin/get-native-event-names.ts b/packages/utils/src/eslint-plugin/get-native-event-names.ts index 34159c645..dab352ab2 100644 --- a/packages/utils/src/eslint-plugin/get-native-event-names.ts +++ b/packages/utils/src/eslint-plugin/get-native-event-names.ts @@ -1,4 +1,5 @@ let nativeEventNames: ReadonlySet | null = null; + /** * Check MDN events page for details https://developer.mozilla.org/en-US/docs/Web/Events * @@ -14,6 +15,7 @@ let nativeEventNames: ReadonlySet | null = null; * @link https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition * @link https://developer.mozilla.org/en-US/docs/Web/API/SVGAnimationElement * @link https://developer.mozilla.org/en-US/docs/Web/API/SVGElement + * @link https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices */ export function getNativeEventNames(): ReadonlySet { return ( @@ -56,6 +58,7 @@ export function getNativeEventNames(): ReadonlySet { 'cut', 'dataavailable', 'dblclick', + 'devicechange', 'devicemotion', 'deviceorientation', 'deviceorientationabsolute',