feat: migrate workflow template site as apps/hub - #10859
Conversation
🎨 Storybook: ✅ Built — View Storybook |
🎭 Playwright: ✅ 952 passed, 0 failed · 4 flaky📊 Browser Reports
|
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Important Review skippedToo many files! This PR contains 215 files, which is 65 over the limit of 150. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (35)
📒 Files selected for processing (215)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
📦 Bundle: 5.12 MB gzip 🟢 -5 BDetailsSummary
Category Glance App Entry Points — 22.3 kB (baseline 22.3 kB) • ⚪ 0 BMain entry bundles and manifests
Status: 1 added / 1 removed Graph Workspace — 1.2 MB (baseline 1.2 MB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration
Status: 1 added / 1 removed Views & Navigation — 76.6 kB (baseline 76.6 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces
Status: 9 added / 9 removed / 2 unchanged Panels & Settings — 484 kB (baseline 484 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens
Status: 10 added / 10 removed / 12 unchanged User & Accounts — 17.1 kB (baseline 17.1 kB) • ⚪ 0 BAuthentication, profile, and account management bundles
Status: 5 added / 5 removed / 2 unchanged Editors & Dialogs — 109 kB (baseline 109 kB) • ⚪ 0 BModals, dialogs, drawers, and in-app editors
Status: 2 added / 2 removed UI Components — 60.3 kB (baseline 60.3 kB) • ⚪ 0 BReusable component library chunks
Status: 5 added / 5 removed / 8 unchanged Data & Services — 2.98 MB (baseline 2.98 MB) • ⚪ 0 BStores, services, APIs, and repositories
Status: 13 added / 13 removed / 4 unchanged Utilities & Hooks — 338 kB (baseline 338 kB) • ⚪ 0 BHelpers, composables, and utility bundles
Status: 13 added / 13 removed / 13 unchanged Vendor & Third-Party — 9.8 MB (baseline 9.8 MB) • ⚪ 0 BExternal libraries and shared vendor chunks Status: 16 unchanged Other — 8.53 MB (baseline 8.53 MB) • ⚪ 0 BBundles that do not match a named category
Status: 55 added / 55 removed / 79 unchanged ⚡ Performance Report
All metrics
Historical variance (last 15 runs)
Trend (last 15 commits on main)
Raw data{
"timestamp": "2026-04-06T13:04:00.362Z",
"gitSha": "ec37507c2a271e141644de96f6807a6eb14f8bb2",
"branch": "worktree-migrate-hub",
"measurements": [
{
"name": "canvas-idle",
"durationMs": 2027.8700000000072,
"styleRecalcs": 11,
"styleRecalcDurationMs": 9.623000000000003,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 491.551,
"heapDeltaBytes": 21038204,
"heapUsedBytes": 64869088,
"domNodes": 22,
"jsHeapTotalBytes": 22544384,
"scriptDurationMs": 33.11899999999999,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-idle",
"durationMs": 2029.9250000000484,
"styleRecalcs": 10,
"styleRecalcDurationMs": 9.946,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 437.81600000000003,
"heapDeltaBytes": 21075708,
"heapUsedBytes": 65162112,
"domNodes": 20,
"jsHeapTotalBytes": 22544384,
"scriptDurationMs": 31.575,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-idle",
"durationMs": 2040.7470000000103,
"styleRecalcs": 10,
"styleRecalcDurationMs": 10.295,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 430.273,
"heapDeltaBytes": 20419004,
"heapUsedBytes": 62872832,
"domNodes": 20,
"jsHeapTotalBytes": 23068672,
"scriptDurationMs": 30.894,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "canvas-mouse-sweep",
"durationMs": 2041.35500000001,
"styleRecalcs": 80,
"styleRecalcDurationMs": 43.916999999999994,
"layouts": 12,
"layoutDurationMs": 3.6069999999999998,
"taskDurationMs": 1035.034,
"heapDeltaBytes": 6482152,
"heapUsedBytes": 58253056,
"domNodes": 65,
"jsHeapTotalBytes": 26476544,
"scriptDurationMs": 137.069,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-mouse-sweep",
"durationMs": 2016.2070000000085,
"styleRecalcs": 80,
"styleRecalcDurationMs": 44.06499999999999,
"layouts": 12,
"layoutDurationMs": 3.32,
"taskDurationMs": 991.8999999999999,
"heapDeltaBytes": 16035212,
"heapUsedBytes": 58983224,
"domNodes": 64,
"jsHeapTotalBytes": 23068672,
"scriptDurationMs": 134.26399999999998,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.699999999999818
},
{
"name": "canvas-mouse-sweep",
"durationMs": 2023.4309999999596,
"styleRecalcs": 83,
"styleRecalcDurationMs": 46.975,
"layouts": 12,
"layoutDurationMs": 3.6009999999999995,
"taskDurationMs": 1029.2020000000002,
"heapDeltaBytes": 16368752,
"heapUsedBytes": 58962388,
"domNodes": 65,
"jsHeapTotalBytes": 23330816,
"scriptDurationMs": 134.425,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1719.9410000000057,
"styleRecalcs": 31,
"styleRecalcDurationMs": 19.475,
"layouts": 6,
"layoutDurationMs": 0.7240000000000001,
"taskDurationMs": 356.84700000000004,
"heapDeltaBytes": 24703160,
"heapUsedBytes": 67235016,
"domNodes": 81,
"jsHeapTotalBytes": 20447232,
"scriptDurationMs": 30.089,
"eventListeners": 23,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1733.4150000000363,
"styleRecalcs": 32,
"styleRecalcDurationMs": 18.216000000000005,
"layouts": 6,
"layoutDurationMs": 0.6100000000000001,
"taskDurationMs": 338.185,
"heapDeltaBytes": 24723464,
"heapUsedBytes": 67476796,
"domNodes": 78,
"jsHeapTotalBytes": 20709376,
"scriptDurationMs": 29.219,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "canvas-zoom-sweep",
"durationMs": 1734.5090000000027,
"styleRecalcs": 32,
"styleRecalcDurationMs": 19.293,
"layouts": 6,
"layoutDurationMs": 0.5900000000000001,
"taskDurationMs": 338.222,
"heapDeltaBytes": 25004924,
"heapUsedBytes": 67651888,
"domNodes": 80,
"jsHeapTotalBytes": 20447232,
"scriptDurationMs": 28.647,
"eventListeners": 19,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "dom-widget-clipping",
"durationMs": 619.1249999999968,
"styleRecalcs": 13,
"styleRecalcDurationMs": 10.059,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 379.714,
"heapDeltaBytes": 6810572,
"heapUsedBytes": 50664876,
"domNodes": 22,
"jsHeapTotalBytes": 13369344,
"scriptDurationMs": 63.267,
"eventListeners": 2,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "dom-widget-clipping",
"durationMs": 588.9910000000782,
"styleRecalcs": 13,
"styleRecalcDurationMs": 9.781,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 370.731,
"heapDeltaBytes": 6049644,
"heapUsedBytes": 49034608,
"domNodes": 22,
"jsHeapTotalBytes": 13369344,
"scriptDurationMs": 65.86,
"eventListeners": 2,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999727
},
{
"name": "dom-widget-clipping",
"durationMs": 576.4949999999089,
"styleRecalcs": 12,
"styleRecalcDurationMs": 7.667999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 338.785,
"heapDeltaBytes": 6542676,
"heapUsedBytes": 49372128,
"domNodes": 19,
"jsHeapTotalBytes": 13107200,
"scriptDurationMs": 61.32899999999999,
"eventListeners": 2,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-idle",
"durationMs": 2084.7669999999994,
"styleRecalcs": 13,
"styleRecalcDurationMs": 12.861999999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 651.023,
"heapDeltaBytes": 5184252,
"heapUsedBytes": 56185348,
"domNodes": -254,
"jsHeapTotalBytes": 16691200,
"scriptDurationMs": 116.674,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-idle",
"durationMs": 2022.2459999999955,
"styleRecalcs": 11,
"styleRecalcDurationMs": 10.817,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 634.476,
"heapDeltaBytes": 4203400,
"heapUsedBytes": 54412004,
"domNodes": -254,
"jsHeapTotalBytes": 16953344,
"scriptDurationMs": 114.708,
"eventListeners": -121,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-idle",
"durationMs": 2028.8759999999684,
"styleRecalcs": 11,
"styleRecalcDurationMs": 9.675,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 636.137,
"heapDeltaBytes": 5031044,
"heapUsedBytes": 55282876,
"domNodes": -255,
"jsHeapTotalBytes": 16166912,
"scriptDurationMs": 113.04400000000001,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-pan",
"durationMs": 2231.628999999998,
"styleRecalcs": 69,
"styleRecalcDurationMs": 18.538,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1252.1109999999999,
"heapDeltaBytes": 18078224,
"heapUsedBytes": 71265360,
"domNodes": -259,
"jsHeapTotalBytes": 18468864,
"scriptDurationMs": 433.55499999999995,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-pan",
"durationMs": 2160.7649999999694,
"styleRecalcs": 70,
"styleRecalcDurationMs": 17.984,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1172.352,
"heapDeltaBytes": 18298984,
"heapUsedBytes": 71355576,
"domNodes": -258,
"jsHeapTotalBytes": 18468864,
"scriptDurationMs": 404.914,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-pan",
"durationMs": 2130.125000000021,
"styleRecalcs": 68,
"styleRecalcDurationMs": 15.654000000000002,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 1137.7789999999998,
"heapDeltaBytes": 18108512,
"heapUsedBytes": 71434124,
"domNodes": -262,
"jsHeapTotalBytes": 18731008,
"scriptDurationMs": 400.37899999999996,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "large-graph-zoom",
"durationMs": 3216.8980000000147,
"styleRecalcs": 66,
"styleRecalcDurationMs": 19.616,
"layouts": 60,
"layoutDurationMs": 8.267,
"taskDurationMs": 1398.4230000000002,
"heapDeltaBytes": 1297496,
"heapUsedBytes": 66798720,
"domNodes": -266,
"jsHeapTotalBytes": 15056896,
"scriptDurationMs": 493.336,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "large-graph-zoom",
"durationMs": 3247.194000000036,
"styleRecalcs": 65,
"styleRecalcDurationMs": 17.041999999999998,
"layouts": 60,
"layoutDurationMs": 7.986,
"taskDurationMs": 1462.5079999999998,
"heapDeltaBytes": 10748744,
"heapUsedBytes": 66323808,
"domNodes": -268,
"jsHeapTotalBytes": 15904768,
"scriptDurationMs": 537.9620000000001,
"eventListeners": -123,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "large-graph-zoom",
"durationMs": 3194.475999999895,
"styleRecalcs": 66,
"styleRecalcDurationMs": 18.23,
"layouts": 60,
"layoutDurationMs": 7.918000000000001,
"taskDurationMs": 1445.3880000000001,
"heapDeltaBytes": 8532192,
"heapUsedBytes": 63531580,
"domNodes": -264,
"jsHeapTotalBytes": 17739776,
"scriptDurationMs": 538.629,
"eventListeners": -123,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "minimap-idle",
"durationMs": 2032.8000000000088,
"styleRecalcs": 10,
"styleRecalcDurationMs": 10.012,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 628.629,
"heapDeltaBytes": 3428696,
"heapUsedBytes": 56298356,
"domNodes": -259,
"jsHeapTotalBytes": 16429056,
"scriptDurationMs": 113.767,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "minimap-idle",
"durationMs": 2055.5239999999912,
"styleRecalcs": 8,
"styleRecalcDurationMs": 10.364000000000003,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 622.193,
"heapDeltaBytes": 1604600,
"heapUsedBytes": 55905116,
"domNodes": -262,
"jsHeapTotalBytes": 16691200,
"scriptDurationMs": 104.71000000000001,
"eventListeners": -125,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "minimap-idle",
"durationMs": 2054.192999999941,
"styleRecalcs": 10,
"styleRecalcDurationMs": 9.028,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 613.6980000000001,
"heapDeltaBytes": 15675444,
"heapUsedBytes": 68819752,
"domNodes": -256,
"jsHeapTotalBytes": 14651392,
"scriptDurationMs": 109.555,
"eventListeners": -127,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 551.2929999999869,
"styleRecalcs": 48,
"styleRecalcDurationMs": 12.489000000000003,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 368.382,
"heapDeltaBytes": 6144124,
"heapUsedBytes": 49385228,
"domNodes": 21,
"jsHeapTotalBytes": 14417920,
"scriptDurationMs": 124.21399999999998,
"eventListeners": 8,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 581.6869999999881,
"styleRecalcs": 48,
"styleRecalcDurationMs": 12.189,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 371.774,
"heapDeltaBytes": 6235356,
"heapUsedBytes": 49306196,
"domNodes": 21,
"jsHeapTotalBytes": 13893632,
"scriptDurationMs": 127.69900000000001,
"eventListeners": 8,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-dom-widget-clipping",
"durationMs": 592.4209999999448,
"styleRecalcs": 47,
"styleRecalcDurationMs": 11.405,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 378.80099999999993,
"heapDeltaBytes": 6509444,
"heapUsedBytes": 49588572,
"domNodes": 20,
"jsHeapTotalBytes": 12845056,
"scriptDurationMs": 132.853,
"eventListeners": 8,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.669999999999998,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "subgraph-idle",
"durationMs": 2022.76599999999,
"styleRecalcs": 11,
"styleRecalcDurationMs": 10.603,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 428.32200000000006,
"heapDeltaBytes": 19915328,
"heapUsedBytes": 62993184,
"domNodes": 22,
"jsHeapTotalBytes": 22806528,
"scriptDurationMs": 24.850000000000005,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333335,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "subgraph-idle",
"durationMs": 2023.2509999999593,
"styleRecalcs": 10,
"styleRecalcDurationMs": 9.238000000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 431.322,
"heapDeltaBytes": 10446276,
"heapUsedBytes": 62167888,
"domNodes": 18,
"jsHeapTotalBytes": 25952256,
"scriptDurationMs": 24.39399999999999,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-idle",
"durationMs": 2001.1200000000144,
"styleRecalcs": 10,
"styleRecalcDurationMs": 9.181999999999999,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 399.50699999999995,
"heapDeltaBytes": 10786812,
"heapUsedBytes": 62763312,
"domNodes": 19,
"jsHeapTotalBytes": 25427968,
"scriptDurationMs": 22.593000000000004,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 2008.5879999999747,
"styleRecalcs": 87,
"styleRecalcDurationMs": 50.542,
"layouts": 16,
"layoutDurationMs": 4.969,
"taskDurationMs": 1021.2979999999998,
"heapDeltaBytes": 2604780,
"heapUsedBytes": 54658416,
"domNodes": 72,
"jsHeapTotalBytes": 25165824,
"scriptDurationMs": 97.459,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1710.8539999999266,
"styleRecalcs": 78,
"styleRecalcDurationMs": 43.071,
"layouts": 16,
"layoutDurationMs": 4.8950000000000005,
"taskDurationMs": 740.5529999999999,
"heapDeltaBytes": 11823400,
"heapUsedBytes": 54967868,
"domNodes": 65,
"jsHeapTotalBytes": 22544384,
"scriptDurationMs": 101.827,
"eventListeners": 4,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "subgraph-mouse-sweep",
"durationMs": 1972.2110000000157,
"styleRecalcs": 84,
"styleRecalcDurationMs": 48.478,
"layouts": 16,
"layoutDurationMs": 4.422,
"taskDurationMs": 949.957,
"heapDeltaBytes": 11928552,
"heapUsedBytes": 54642204,
"domNodes": 73,
"jsHeapTotalBytes": 22544384,
"scriptDurationMs": 101.64500000000001,
"eventListeners": 6,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
},
{
"name": "viewport-pan-sweep",
"durationMs": 8186.204999999973,
"styleRecalcs": 250,
"styleRecalcDurationMs": 44.75000000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 4384.1,
"heapDeltaBytes": 27819980,
"heapUsedBytes": 79207096,
"domNodes": -261,
"jsHeapTotalBytes": 26595328,
"scriptDurationMs": 1544.821,
"eventListeners": -109,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "viewport-pan-sweep",
"durationMs": 8258.09300000003,
"styleRecalcs": 253,
"styleRecalcDurationMs": 48.980999999999995,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 4016.4629999999997,
"heapDeltaBytes": 28574332,
"heapUsedBytes": 79196560,
"domNodes": -256,
"jsHeapTotalBytes": 19517440,
"scriptDurationMs": 1310.4609999999998,
"eventListeners": -111,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333332,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "viewport-pan-sweep",
"durationMs": 8180.043000000069,
"styleRecalcs": 251,
"styleRecalcDurationMs": 46.88400000000001,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 4150.9929999999995,
"heapDeltaBytes": 28411824,
"heapUsedBytes": 79207036,
"domNodes": -255,
"jsHeapTotalBytes": 23711744,
"scriptDurationMs": 1391.901,
"eventListeners": -111,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.670000000000012,
"p95FrameDurationMs": 16.700000000000728
},
{
"name": "vue-large-graph-idle",
"durationMs": 10814.410000000009,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 10801.628,
"heapDeltaBytes": -37449660,
"heapUsedBytes": 158358984,
"domNodes": -8331,
"jsHeapTotalBytes": 17129472,
"scriptDurationMs": 607.431,
"eventListeners": -16466,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.219999999999953,
"p95FrameDurationMs": 16.80000000000291
},
{
"name": "vue-large-graph-idle",
"durationMs": 10747.171999999977,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 10731.972,
"heapDeltaBytes": -52261928,
"heapUsedBytes": 144292160,
"domNodes": -8331,
"jsHeapTotalBytes": 17391616,
"scriptDurationMs": 565.172,
"eventListeners": -16468,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.66333333333338,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-idle",
"durationMs": 11049.10300000006,
"styleRecalcs": 0,
"styleRecalcDurationMs": 0,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 11033.179,
"heapDeltaBytes": -35495940,
"heapUsedBytes": 159382552,
"domNodes": -8331,
"jsHeapTotalBytes": 18702336,
"scriptDurationMs": 596.988,
"eventListeners": -16466,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.776666666666642,
"p95FrameDurationMs": 16.80000000000291
},
{
"name": "vue-large-graph-pan",
"durationMs": 12666.532000000017,
"styleRecalcs": 64,
"styleRecalcDurationMs": 14.752000000000015,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 12645.548999999999,
"heapDeltaBytes": -22451424,
"heapUsedBytes": 173124756,
"domNodes": -8333,
"jsHeapTotalBytes": 23334912,
"scriptDurationMs": 868.6709999999998,
"eventListeners": -16467,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.223333333333358,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-pan",
"durationMs": 12965.539999999919,
"styleRecalcs": 67,
"styleRecalcDurationMs": 15.726999999999991,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 12944.14,
"heapDeltaBytes": -45898068,
"heapUsedBytes": 147958812,
"domNodes": -8333,
"jsHeapTotalBytes": 352256,
"scriptDurationMs": 846.016,
"eventListeners": -16488,
"totalBlockingTimeMs": 0,
"frameDurationMs": 17.219999999999953,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "vue-large-graph-pan",
"durationMs": 12806.713999999942,
"styleRecalcs": 67,
"styleRecalcDurationMs": 17.65799999999998,
"layouts": 0,
"layoutDurationMs": 0,
"taskDurationMs": 12786.597,
"heapDeltaBytes": -43525332,
"heapUsedBytes": 160353724,
"domNodes": -8331,
"jsHeapTotalBytes": -958464,
"scriptDurationMs": 934.8400000000001,
"eventListeners": -16464,
"totalBlockingTimeMs": 30,
"frameDurationMs": 17.776666666666763,
"p95FrameDurationMs": 16.799999999999272
},
{
"name": "workflow-execution",
"durationMs": 453.27899999995225,
"styleRecalcs": 20,
"styleRecalcDurationMs": 28.729999999999997,
"layouts": 5,
"layoutDurationMs": 1.6560000000000004,
"taskDurationMs": 139.517,
"heapDeltaBytes": 4744276,
"heapUsedBytes": 48992320,
"domNodes": 169,
"jsHeapTotalBytes": 262144,
"scriptDurationMs": 30.910999999999998,
"eventListeners": 71,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "workflow-execution",
"durationMs": 131.16100000002007,
"styleRecalcs": 12,
"styleRecalcDurationMs": 25.864,
"layouts": 5,
"layoutDurationMs": 1.8430000000000002,
"taskDurationMs": 111.63100000000001,
"heapDeltaBytes": 2840568,
"heapUsedBytes": 47093176,
"domNodes": 145,
"jsHeapTotalBytes": 0,
"scriptDurationMs": 29.368,
"eventListeners": 37,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.700000000000273
},
{
"name": "workflow-execution",
"durationMs": 447.9300000000421,
"styleRecalcs": 19,
"styleRecalcDurationMs": 21.937000000000005,
"layouts": 5,
"layoutDurationMs": 1.355,
"taskDurationMs": 119.21900000000001,
"heapDeltaBytes": 4407176,
"heapUsedBytes": 48289284,
"domNodes": 159,
"jsHeapTotalBytes": 262144,
"scriptDurationMs": 21.96,
"eventListeners": 71,
"totalBlockingTimeMs": 0,
"frameDurationMs": 16.666666666666668,
"p95FrameDurationMs": 16.800000000000182
}
]
} |
Migrate workflow_templates/site into the frontend monorepo as apps/hub so the hub can use @comfyorg/design-system and shared packages. Changes to existing files: - pnpm-workspace.yaml: add @astrojs/sitemap, @astrojs/vercel, lucide-vue-next - eslint.config.ts: add hub ignores and i18n/import rule overrides - .oxlintrc.json: add hub scripts to ignore patterns - knip.config.ts: add hub workspace config apps/hub adaptations from source: - Replace local cn() with @comfyorg/tailwind-utils (19 files) - Integrate @comfyorg/design-system/css/base.css in global.css - Make TEMPLATES_DIR configurable via HUB_TEMPLATES_DIR env var - Add HUB_SKIP_SYNC flag for builds without template data - Remove Vite 8-incompatible rollupOptions.output.manualChunks - Fix stylelint violations (modern color notation, number precision) - Gitignore generated content (thumbnails, synced templates, AI cache)
a5acd1b to
bbd0a6b
Compare
Migrate all 5 site-related GitHub Actions from workflow_templates repo. - hub-ci.yaml: lint, astro check, build verification, SEO audit - hub-deploy.yaml: production deploy to Vercel with template sync + AI - hub-preview.yaml: PR preview deploy to Vercel - hub-cron-rebuild.yaml: 15min production rebuild for UGC content - hub-preview-cron.yaml: 15min preview rebuild with PR discovery matrix Template data is fetched via sparse checkout of Comfy-Org/workflow_templates. Reuses .github/actions/setup-frontend (no separate setup action needed).
7fc80ce to
d92acd8
Compare
- og.ts: use SatoriNode type instead of unknown for satori() param - Pin all GitHub Action refs to commit SHAs (validate-pins) - Add vercel to knip ignoreBinaries (hub-preview-cron uses npx vercel)
Summary
workflow_templates/siteinto the frontend monorepo asapps/hub@comfyorg/design-systemand@comfyorg/tailwind-utilspnpm nx graphwith proper dependency edgesChanges
Existing files modified (4):
pnpm-workspace.yaml— 3 catalog entries (@astrojs/sitemap,@astrojs/vercel,lucide-vue-next)eslint.config.ts— hub ESLint ignores, i18n/import rule overrides.oxlintrc.json— hub scripts ignore patternsknip.config.ts— hub workspace configNew:
apps/hub/(240+ files)Adaptations from source:
cn()→@comfyorg/tailwind-utils(19 files)@comfyorg/design-system/css/base.cssin global.cssTEMPLATES_DIRconfigurable viaHUB_TEMPLATES_DIRenv varHUB_SKIP_SYNCflag for builds without template datarollupOptions.output.manualChunksVerification
pnpm install✅astro check— 0 errors ✅astro build(API-only mode) ✅pnpm nx graph— hub visible with edges to design-system, tailwind-utils ✅Test plan
pnpm nx typecheck hubpassesHUB_SKIP_SYNC=true SKIP_AI_GENERATION=true pnpm nx build hubsucceedspnpm nx dev hubstarts dev server on port 4321HUB_TEMPLATES_DIR=/path/to/templates pnpm nx sync hub┆Issue is synchronized with this Notion page by Unito