-
Task
-
Resolution: Done
-
Major
-
None
-
None
Summary
- Add new rhdh-e2e-test-utils package providing shared configurations for RHDH E2E testing
- Include reusable ESLint configuration with TypeScript, Playwright rules, and file/folder naming conventions (kebab-case)
- Provide base Playwright configuration with sensible defaults (retries, timeouts, reporters, video recording)
- Export shareable TypeScript base configuration
Details
ESLint Configuration (rhdh-e2e-test-utils/eslint)
Playwright Configuration (rhdh-e2e-test-utils/playwright-config)
TypeScript Configuration (rhdh-e2e-test-utils/tsconfig)
- ES2022 target with ESNext modules
- Strict mode enabled
Pre-built dist/ Directory
The dist/ folder containing compiled JavaScript and TypeScript declaration files is committed to the repository. This is a temporary solution until npm publishing or
GitHub Releases are set up for this package.
Once a proper release pipeline is configured, the dist/ folder will be removed from version control and generated during the publish process instead.
Why it's committed for now:
- No build step required for consumers: Workspaces importing this package can use it immediately without needing to run npm run build first
- Simplified CI/CD: Consuming projects don't need to build dependencies before running tests or linting
- Consistent behavior: Ensures all consumers use the exact same compiled output
Usage
// eslint.config.jsimport
{ createEslintConfig }from "rhdh-e2e-test-utils/eslint";export default createEslintConfig(import.meta.dirname);// playwright.config.tsimport
{ createPlaywrightConfig }from "rhdh-e2e-test-utils/playwright-config";export default createPlaywrightConfig(
{ projects: [...] });// tsconfig.json
{ "extends": "rhdh-e2e-test-utils/tsconfig" }