@zohodesk/eslint-plugin-e2e
v0.0.1
Published
- A custom ESLint plugin to enforce proper E2E/UAT file placement by disallowing files directly under a root-level `uat/` directory. - Ensures UAT artifacts live under the canonical `test_slices/uat/` path to keep end-to-end code isolated and maintainable
Downloads
313
Maintainers
Keywords
Readme
@zohodesk/eslint-plugin-e2e
- A custom ESLint plugin to enforce proper E2E/UAT file placement by disallowing files directly under a root-level
uat/directory. - Ensures UAT artifacts live under the canonical
test_slices/uat/path to keep end-to-end code isolated and maintainable.
📦 Installation
npm install --save-dev @zohodesk/eslint-plugin-e2e✨ Features
- Enforces a single, consistent location for UAT/E2E code:
test_slices/uat/ - Disallows files under any other
uat/folder (e.g.,src/uat/,packages/foo/uat/) - Cross-platform path handling (macOS/Windows/Linux)
- Zero configuration — the rule has no options
🔧 Available Rules
no-uat-outside-test-slices— Disallow files directly inside a root-leveluat/directory; requiretest_slices/uat/instead.
🚦 Usage
You can enable the rule either with the new ESLint flat config or the legacy .eslintrc.* config.
Flat config (eslint.config.js)
// eslint.config.js
import e2e from "@zohodesk/eslint-plugin-e2e";
export default [
{
plugins: { e2e },
rules: {
// error/warn/off
"e2e/no-uat-outside-test-slices": "error",
},
},
];Legacy config (.eslintrc.*)
{
"plugins": ["@zohodesk/e2e"],
"rules": {
"@zohodesk/e2e/no-uat-outside-test-slices": "error"
}
}🧩 Rule: no-uat-outside-test-slices
- Problem: Files are placed under some
uat/directory outside the standardizedtest_slices/uat/location. - Why it matters: Keeps E2E/UAT code organized, discoverable, and separated from application/runtime code.
- What it reports: Every line in a violating file is flagged with the message:
Move your changes inside test_slices/uat directory
- Options: None.
Examples
Allowed paths
project-root/test_slices/uat/login.spec.js
project-root/test_slices/uat/smoke/basic.flow.test.jsDisallowed paths (will report)
project-root/uat/login.spec.js
packages/my-app/uat/smoke.test.js
src/uat/flows/purchase.test.ts💡 Tips
- Ensure your ESLint include/glob patterns cover
test_slices/uat/**so the rule can validate your files. - If you have existing UAT files elsewhere, run ESLint and move them as suggested to pass the rule.
📜 License
ISC © Durai Sankar
