From e3febf3b632a24bca72d73fd644f83a983f7cf84 Mon Sep 17 00:00:00 2001 From: Anthony Lio Date: Fri, 25 Sep 2026 17:50:50 +0300 Subject: [PATCH] feat(lint): add shadcn lint warnings (#50676) ## Problem six apps had no shared lint checks for invalid tailwind classes, off-scale values, and raw colors. ## Solution add @shadcn/lint warnings with narrow exceptions for existing theme colors and artwork. fix several invalid classes. the existing lint command reports findings without blocking prs on the current warning count. ## Review instructions 1. check the shared rules and app-specific exceptions. 2. run `pnpm --filter design-system lint` and confirm it reports shadcn warnings without errors. ## Checklist Check all before review: - [x] I have read [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) - [x] If I wrote a new docs topic or edited an existing topic, I used the `/write-the-docs` or `/edit-the-docs` skill, which references [WORD_LIST](https://github.com/supabase/supabase/blob/master/apps/docs/WORD_LIST.md) and the docs [CONTRIBUTING](https://github.com/supabase/supabase/blob/master/apps/docs/CONTRIBUTING.md) guide ## Summary by CodeRabbit * **Bug Fixes** * Improved vertical alignment of checkbox labels and supporting text in dialogs, settings, and examples. * Corrected alignment of organization member details and the color styling of deprecated chart text. * Standardized spacing in the date and time editor without changing its appearance or behavior. * **Developer Experience** * Updated linting and UI configuration across several apps to support consistent style checks. --- .../default/example/checkbox-with-text.tsx | 2 +- apps/docs/eslint.config.cjs | 18 +- apps/learn/package.json | 1 + .../grid/components/editor/DateTimeEditor.tsx | 2 +- .../rotate-key-dialog.tsx | 4 +- .../Organization/SSO/SSODomains.tsx | 2 +- .../Organization/TeamSettings/MemberRow.tsx | 2 +- .../ReportBlock/DeprecatedChartBlock.tsx | 2 +- .../DeleteConfirmationDialogs.tsx | 6 +- .../TableEditor/TableEditor.tsx | 6 +- apps/studio/eslint.config.cjs | 4 + apps/ui-library/components.json | 2 +- apps/ui-library/eslint.config.cjs | 15 +- apps/www/eslint.config.cjs | 7 + packages/eslint-config-supabase/next.js | 16 + packages/eslint-config-supabase/package.json | 3 +- pnpm-lock.yaml | 386 +++++++++++++++++- 17 files changed, 440 insertions(+), 38 deletions(-) diff --git a/apps/design-system/registry/default/example/checkbox-with-text.tsx b/apps/design-system/registry/default/example/checkbox-with-text.tsx index 13031d362bf..ccd2e0b902f 100644 --- a/apps/design-system/registry/default/example/checkbox-with-text.tsx +++ b/apps/design-system/registry/default/example/checkbox-with-text.tsx @@ -4,7 +4,7 @@ import { Checkbox } from 'ui' export default function CheckboxWithText() { return ( -
+