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>
24 lines
988 B
Markdown
24 lines
988 B
Markdown
---
|
|
applyTo: "frontend/src/AppBuilder/WidgetManager/widgets/**/*"
|
|
excludeAgent: "coding-agent"
|
|
---
|
|
|
|
# Widget Config — Code Review Rules
|
|
|
|
## Server-Side Sync (CRITICAL)
|
|
|
|
When any file here is modified, the corresponding config in `server/src/modules/apps/services/widget-config/` MUST also be updated. Flag PRs that modify one without the other.
|
|
|
|
## Key Changes Require Migrations
|
|
|
|
If a config change moves, renames, or removes a key (e.g., moving `loadingState` from `styles` to `properties`), this WILL break existing apps. A migration MUST be written in `server/migrations/` to transform saved app definitions. Flag any key restructuring that lacks an accompanying migration.
|
|
|
|
## Widget Definition Rules
|
|
|
|
- New widgets MUST be lazy-loaded.
|
|
- Use `useBatchedUpdateEffectArray` for batched state updates.
|
|
- Widget components must be registered in `componentTypes.js`.
|
|
|
|
## Backward Compatibility
|
|
|
|
Always ask: "Would an app saved before this PR still load and behave correctly after it?"
|