Skip to content

Haberkamp/eslint-plugin-playwright

 
 

Repository files navigation

ESLint Plugin Playwright

Test npm semantic-release

ESLint plugin for Playwright.

Installation

npm

npm install -D eslint-plugin-playwright

Yarn

yarn add -D eslint-plugin-playwright

pnpm

pnpm add -D eslint-plugin-playwright

Usage

This plugin bundles two configurations to work with both @playwright/test or jest-playwright.

{
  "extends": ["plugin:playwright/recommended"]
}
{
  "extends": ["plugin:playwright/jest-playwright"]
}

List of Supported Rules

✔: Enabled in the recommended configuration.
🔧: Some problems reported by this rule are automatically fixable by the --fix command line option.
💡: Some problems reported by this rule are manually fixable by editor suggestions.

🔧 💡 Rule Description
expect-expect Enforce assertion to be made in a test body
max-nested-describe Enforces a maximum depth to nested describe calls
🔧 missing-playwright-await Enforce Playwright APIs to be awaited
no-conditional-in-test Disallow conditional logic in tests
💡 no-element-handle Disallow usage of element handles
no-eval Disallow usage of page.$eval and page.$$eval
💡 no-focused-test Disallow usage of .only annotation
no-force-option Disallow usage of the { force: true } option
no-nested-step Disallow nested test.step() methods
no-networkidle Disallow usage of the networkidle option
no-nth-methods Disallow usage of first(), last(), and nth() methods
no-page-pause Disallow using page.pause
🔧 no-useless-await Disallow unnecessary awaits for Playwright methods
no-restricted-matchers Disallow specific matchers & modifiers
💡 no-skipped-test Disallow usage of the .skip annotation
🔧 no-useless-not Disallow usage of not matchers when a specific matcher exists
💡 no-wait-for-timeout Disallow usage of page.waitForTimeout
💡 prefer-strict-equal Suggest using toStrictEqual()
🔧 prefer-lowercase-title Enforce lowercase test names
🔧 prefer-to-be Suggest using toBe()
🔧 prefer-to-contain Suggest using toContain()
🔧 prefer-to-have-length Suggest using toHaveLength()
🔧 prefer-web-first-assertions Suggest using web first assertions
require-top-level-describe Require test cases and hooks to be inside a test.describe block
🔧 require-soft-assertions Require assertions to use expect.soft()
valid-expect Enforce valid expect() usage

About

ESLint plugin for your Playwright testing needs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.8%
  • JavaScript 0.2%