You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The UI package.json has several packages that overlap in functionality or are oversized for their usage. Cleaning these up would reduce install size and maintenance surface.
@uiw/codemirror-themes-all - imports 35+ themes, uses 2. JsonEditor.tsx only uses githubLight and githubDark. Replace with @uiw/codemirror-theme-github. ~3.5 MB. - Consolidate JSON editors to Monaco #62708
react-json-view - unmaintained, React 19 incompatible. Used in 1 file (RenderedJsonField.tsx). Last published 2022, peer deps cap at React 17. Consider to replace with CodeMirror readonly view or formatted <pre>. - Consolidate JSON editors to Monaco #62708
react-resizable - overlaps with react-resizable-panels. Used in 1 wrapper (ResizableWrapper.tsx) for markdown dialog. react-resizable-panels already used for layout panels. Could try to use CSS resize instead. - Remove react-resizable dependency from UI #62226
Monaco (95 MB) + CodeMirror (~2 MB) - two code editors. Monaco used in 2 files (code view/diff). CodeMirror used in 1 file (JSON editor). Consolidating to one would be the largest win. May warrant separate discussion. - Consolidate JSON editors to Monaco #62708
Committer
I acknowledge that I am a maintainer/committer of the Apache Airflow project.
Body
The UI
package.jsonhas several packages that overlap in functionality or are oversized for their usage. Cleaning these up would reduce install size and maintenance surface.debounce-promise- redundant withuse-debounce. Used in 1 file (SearchDags.tsx).use-debouncealready used in 3 other files. ~56 KB. - Remove redundant debounce-promise dependency from UI #61832node-sql-parser- 87 MB for language detection. Used in 1 file (detectLanguage.ts) just to detect SQL. - Replace node-sql-parser with sqlparser-ts #61111@uiw/codemirror-themes-all- imports 35+ themes, uses 2.JsonEditor.tsxonly usesgithubLightandgithubDark. Replace with@uiw/codemirror-theme-github. ~3.5 MB. - Consolidate JSON editors to Monaco #62708react-json-view- unmaintained, React 19 incompatible. Used in 1 file (RenderedJsonField.tsx). Last published 2022, peer deps cap at React 17. Consider to replace with CodeMirror readonly view or formatted<pre>. - Consolidate JSON editors to Monaco #62708react-resizable- overlaps withreact-resizable-panels. Used in 1 wrapper (ResizableWrapper.tsx) for markdown dialog.react-resizable-panelsalready used for layout panels. Could try to use CSSresizeinstead. - Remove react-resizable dependency from UI #62226Monaco (95 MB) + CodeMirror (~2 MB) - two code editors. Monaco used in 2 files (code view/diff). CodeMirror used in 1 file (JSON editor). Consolidating to one would be the largest win. May warrant separate discussion. - Consolidate JSON editors to Monaco #62708
Committer