@zedtech/zedkit-quality
Lint UI files for accessibility, Tailwind and tokens
Enforce a11y, Tailwind hygiene, tokens-only classes (no arbitrary px/rem, no scale steps such as p-4 or text-sm, no raw focus:ring-N), no inline style, no forw…
At a glance
- Who: Frontend teams linting tsx/jsx everywhere the same way.
- What: Enforce a11y, Tailwind hygiene, tokens-only classes (no arbitrary px/rem, no scale steps such as p-4 or text-sm, no raw focus:ring-N), no inline style, no forwardRef, no explicit any, and a 300/60 size budget on every UI file. Fails when Tailwind or the CSS entry cannot be resolved. A scale-class baseline may only shrink.
- Use when: When UI rules must match across repos without copying a preset file.
- Avoid when: When the repo has no Tailwind theme (the entryPoint has nothing to read).
- See also: Enforce route, view and data layer boundaries
Install
pnpm add @zedtech/zedkit-qualityLatest: 2.0.0 (via changesets).
Example
import { uiPreset } from "@zedtech/zedkit-quality/eslint";
export default [...uiPreset({ entryPoint: "./app/globals.css" })];Wraps: eslint-plugin-jsx-a11y, eslint-plugin-better-tailwindcss, typescript-eslint
Lint Node and TypeScript libraries
Spread eslint + typescript-eslint recommended, ban raw try/catch (point callers at `tryCatch` / `tryCatchAsync`), and ban deep `../..` imports in favor of `#*`…
Enforce route, view and data layer boundaries
Ban cross-layer imports (route to kit, view to data client, data to UI) at lint time.