Skip to content

Commit c957f12

Browse files
Copilotmattcosta7
andcommitted
Address code review feedback - allow all window events consistently
- Simplified logic to allow all window-level events (not just resize) - This provides consistent behavior: window events = viewport detection (allowed) - document/element events = element observation (suggest observers) - Added test for window.scroll to verify consistent behavior Co-authored-by: mattcosta7 <8616962+mattcosta7@users.noreply.github.com>
1 parent b7c0503 commit c957f12

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

lib/rules/prefer-observers.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@ export default {
6363
if (name.type !== 'Literal') return
6464
if (!(name.value in observerMap)) return
6565

66-
// Allow window.addEventListener("resize", ...) and window.addEventListener("orientationchange", ...)
66+
// Allow window events (window.resize for viewport detection)
67+
// Note: orientationchange is not in observerMap but this check is defensive
6768
if (node.callee.object && isWindowObject(node.callee.object)) {
68-
if (name.value === 'resize') return
69+
return
6970
}
7071

7172
context.report({

tests/prefer-observers.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ ruleTester.run('prefer-observers', rule, {
1616
{
1717
code: 'window.addEventListener("orientationchange", function(event) {})',
1818
},
19+
// window.scroll is also valid - window events are for viewport-level detection
20+
{
21+
code: 'window.addEventListener("scroll", function(event) {})',
22+
},
1923
// ResizeObserver on regular elements is valid
2024
{
2125
code: 'const observer = new ResizeObserver(() => {}); observer.observe(someElement)',

0 commit comments

Comments
 (0)