npm / eslint-plugin-playwright
eslint-plugin-playwright
What changed in eslint-plugin-playwright 2, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-17.
1 breaking18 new APIs and options11 behavior and defaults3 tooling23 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initeslint-plugin-playwright 256 changes
Breaking changes 1
The rule now catches all uses, not just uses on page methods.
New APIs and options 18
Disallows per-call timeouts on actions.
Disallows exports in files containing tests.
Disallows identical test and describe titles.
Adds minOccurrences to configure the rule's minimum occurrence threshold.
Disallows template literals in titles.
Disallows returning from a test body.
Requires tests to end in an assertion.
Requires a reason on skip and fixme.
Adds a flag to check more missing awaits.
Adds an option to disable
.fixme()annotations.Adds the no-duplicate-slow rule.
Adds the no-restricted-roles rule.
Adds the require-tags rule.
Adds the require-to-pass-timeout rule.
Adds the enforce-consistent-spacing-between-blocks rule.
Adds the no-restricted-locators rule.
Supports regex patterns.
Adds the no-unused-locators rule.
Behavior and default changes 11
The rule is now included in the recommended configuration.
The rule is now included in the recommended configuration.
The rule is now included in the recommended configuration.
The rule is now included in the recommended configuration.
The rule is now included in the recommended configuration.
The rule is now included in the recommended configuration.
The rule is now included in the recommended configuration.
Import aliases are now auto-detected.
Fixtures defined with test.extend() are now auto-detected.
The rule supports waitForResponse and other similar functions.
The rule now supports allInnerTexts() and allTextContents().
Tooling 3
Flags inline numeric timeout values.
Flags always-passing assertions on a Locator so developers can identify unnecessary assertions.
Adds support for ESLint 10, allowing eslint-plugin-playwright to be used with that ESLint version.
Fixes and other changes 23
Replaces the unsupported JSON Schema contains keyword with enum in the rule option schema.
Detects testInfo annotations and splits allowConditional.
The rule now handles optional chaining when detecting missing Playwright awaits.
The valid-title rule skips title checks for anonymous describe blocks.
Fixes a false positive when an awaited variable is not assigned.
Fixes a false positive when re-assigning an awaited variable.
Handles anonymous describe blocks in forEach loops.
Supports template literal strings.
The rule no longer flags Array.fill as missing await.
Page detection is narrowed to prefer false positives.
Fixes a false positive for expect().resolves.
Supports additional promise methods when checking for missing awaits.
Support for nested locators is fixed across all contexts.
The rule now handles spread elements when detecting missing awaits.
The rule now supports more promise edge cases when detecting missing awaits.
Fixes a false positive with promise chains.
Excluded @typescript-eslint/utils from the bundle, changing how the package is bundled for consumers.
The rule ignores variables whose values it cannot statically determine.
Fixes a false positive for
||in the no-conditional-in-test rule.Fixes TypeScript types.
The rule now allows the nullish coalescing operator in tests.
Prevents infinite recursion in checkValidity.
Checks for test tags in titles.