mirror of
https://github.com/ToolJet/ToolJet
synced 2026-04-21 21:47:17 +00:00
* test: verify pre-commit hook * fix: clean up code formatting and improve readability across multiple components * chore: update subproject commit reference in frontend/ee * chore: update eslint to version 9.26.0 and remove unused dependencies from package.json fix: update submodule reference in server/ee * chore: refactor ESLint configuration and add quiet linting script; update components to disable specific ESLint rules * chore: add GitHub Copilot review instructions for App Builder team Covers backward compatibility rules, styling conventions, state management, resolution system, widget definitions, and common review flags. * chore: add review instructions for App Builder, Data Migrations, Server Widget Config, Widget Components, and Widget Config * Enhance TypeScript support in frontend configuration - Added TypeScript parser and linting rules to ESLint configuration. - Updated Babel configuration to include TypeScript preset. - Modified package.json and package-lock.json to include TypeScript and related dependencies. - Introduced tsconfig.json for TypeScript compiler options. - Updated Webpack configuration to support .ts and .tsx file extensions. - Adjusted linting and formatting scripts to include TypeScript files. * chore: update TypeScript ESLint packages and subproject commits --------- Co-authored-by: kavinvenkatachalam <kavin.saratha@gmail.com> Co-authored-by: Johnson Cherian <johnsonc.dev@gmail.com>
1.9 KiB
1.9 KiB
ToolJet — Shared Copilot Instructions
Styling
- Tailwind classes MUST use the
tw-prefix (e.g.,tw-flex,tw-text-default). Unprefixed Tailwind is a bug. - NEVER hardcode hex/rgb colors. Use CSS variable tokens via Tailwind (
tw-text-default,tw-bg-page-default) orvar(--text-default). - Prefer Tailwind over Bootstrap for new code. Do not extend legacy
react-bootstrapusage. - Use custom typography utilities (
tw-font-title-default,tw-font-body-default, etc.) instead of ad-hoc font-size/weight. - Design tokens:
frontend/src/_styles/designtheme.scss+frontend/tailwind.config.js.
Component Patterns
- Check
frontend/src/_ui/(53+ components) before creating new UI components. - Functional components with hooks only. No class components.
- File structure:
ComponentName/index.js+ optionalComponentName.jsx+style.scss. - Compose with Radix UI primitives for accessible interactive elements.
Imports
- Use
@/path alias (maps tofrontend/src/):import Button from '@/_ui/Button'. - No deep relative paths (
../../..is a smell).
State Management
- Zustand with Immer middleware only. No Redux/MobX/Recoil.
- Use
shallowcomparison inuseStorewhen selecting objects/arrays. Flag missingshallow.
Icons & Assets
- Use Tabler Icons (
@tabler/icons-react) or Lucide React (lucide-react). Do NOT add new icon packages. - Static assets:
frontend/assets/images/.
Security
- No API keys/secrets in client-side code.
- Backend: parameterized queries only, never concatenate user input into SQL.
Common Review Flags
- Hardcoded colors (hex/rgb/hsl in JSX or SCSS)
- Missing
tw-prefix on Tailwind classes - New
react-bootstrapimports - Class components
console.log/ debug leftovers- Unused imports
- Missing
keyprops in.map() - Missing
shallowinuseStoreselectors - Direct DOM manipulation (except canvas drop calculations)