@vue-storefront/eslint-config
Version:
> Common ESLint configuration used in Alokai projects. These configurations are compatible with ESLint 9.
40 lines (37 loc) • 1.49 kB
JavaScript
import { concat, defineFlatConfig } from "eslint-flat-config-utils";
import playwrightPlugin from "eslint-plugin-playwright";
/**
* Generates an ESLint Flat Config for Playwright projects.
*
* @param {{ files?: string }} config - The base configuration object with an optional files field.
* @param {...import('eslint').Linter.Config} overrides - Additional configuration overrides.
* @returns {import('eslint').Linter.Config} The concatenated ESLint configuration.
*/
export function playwright(config, ...overrides) {
const { files = "**/*.test.ts" } = config ?? {};
return concat(
defineFlatConfig({
...playwrightPlugin.configs["flat/recommended"],
files: [files],
rules: {
...playwrightPlugin.configs["flat/recommended"].rules,
"max-lines": "off",
"max-lines-per-function": "off",
"max-statements": "off",
"no-console": "off",
"no-empty-pattern": "off",
"playwright/expect-expect": "off",
"playwright/no-get-by-title": "error",
"playwright/prefer-comparison-matcher": "warn",
"playwright/prefer-equality-matcher": "warn",
"playwright/prefer-hooks-in-order": "error",
"playwright/prefer-hooks-on-top": "error",
"playwright/prefer-to-be": "warn",
"playwright/prefer-to-have-count": "warn",
"playwright/prefer-to-have-length": "warn",
"playwright/require-top-level-describe": "error",
},
}),
overrides,
);
}