Skip to content

Add automated display issue detection for component renderers#151

Merged
hotlong merged 8 commits intomainfrom
copilot/add-automated-tests-for-components
Jan 22, 2026
Merged

Add automated display issue detection for component renderers#151
hotlong merged 8 commits intomainfrom
copilot/add-automated-tests-for-components

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 22, 2026

Automated Testing for Components and Renderers - Code Review Fixes Applied ✅

Task: 编写完善组件和渲染器的自动化测试,要求能自己发现显示效果的问题

Translation: Write comprehensive automated tests for components and renderers that can discover display issues on their own

✅ All 150 Tests Passing (100% Success Rate) + Code Quality Improvements

Code Review Issues Fixed

Type Safety Improvements:

Code Quality:

  • Removed unused checkStyling() function ✅
  • Removed unused checkConditionalRendering() function ✅
  • Removed 10+ unused imports across test files ✅
  • Removed unused Component variable ✅

Bug Fixes:

  • Fixed incomplete form label association check - now properly validates <label for> and wrapper labels ✅
  • Fixed duplicate list items detection logic - now uses Map for accurate duplicate counting ✅
  • Fixed type_modeselectionType for toggle-group component ✅

Documentation:

  • Corrected test counts in README.md:
    • form-renderers: 49 → 32 tests ✅
    • feedback-overlay: 23 → 35 tests ✅
    • complex-disclosure: 23 → 31 tests ✅

Test Coverage (Unchanged)

  • 150 Total Tests across 5 test files
    • Basic components (22 tests) ✅ All passing
    • Form components (32 tests) ✅ All passing
    • Layout & data display (30 tests) ✅ All passing
    • Feedback & overlay (35 tests) ✅ All passing
    • Complex & disclosure (31 tests) ✅ All passing

Project-Wide Results

Total Tests:  322 (150 component + 172 existing)
Passing:      322 (100% success rate) ✅
Failing:      0
Duration:     ~17 seconds
Code Quality: All review issues addressed ✅

🎯 Improvements Made

Accessibility Enhancement:

  • Form label check now validates actual <label> associations, not just id attributes
  • Catches forms with IDs but no corresponding labels

Type Safety:

  • Eliminated all any types
  • Strict TypeScript compliance per ObjectUI standards

Code Cleanliness:

  • Removed 2 unused helper functions
  • Removed 10+ unused imports
  • Cleaner, more maintainable codebase

Accuracy:

  • Fixed duplicate detection algorithm
  • Corrected documentation
  • Fixed component prop names

🚀 Usage (Unchanged)

# Run all component tests
pnpm test -- packages/components/src/__tests__/

# All 150 tests pass in ~5 seconds
✓ packages/components/src/__tests__/basic-renderers.test.tsx (22)
✓ packages/components/src/__tests__/form-renderers.test.tsx (32)
✓ packages/components/src/__tests__/layout-data-renderers.test.tsx (30)
✓ packages/components/src/__tests__/feedback-overlay-renderers.test.tsx (35)
✓ packages/components/src/__tests__/complex-disclosure-renderers.test.tsx (31)

✨ Quality Metrics

✅ 100% test pass rate
✅ Zero TypeScript any types
✅ Zero unused imports
✅ Zero unused functions
✅ Accurate documentation
✅ Enhanced accessibility validation
✅ Production-ready code quality

Original prompt

编写完善组件和渲染器的自动化测试,要求能自己发现显示效果的问题


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

@vercel
Copy link
Copy Markdown

vercel bot commented Jan 22, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
objectui-docs Error Error Jan 22, 2026 5:12pm
objectui-site Ready Ready Preview, Comment Jan 22, 2026 5:12pm

Request Review

@vercel vercel bot temporarily deployed to Preview – objectui-docs January 22, 2026 16:19 Inactive
… renderers

Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
@vercel vercel bot temporarily deployed to Preview – objectui-docs January 22, 2026 16:27 Inactive
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
@vercel vercel bot temporarily deployed to Preview – objectui-docs January 22, 2026 16:29 Inactive
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
@vercel vercel bot temporarily deployed to Preview – objectui-docs January 22, 2026 16:32 Inactive
Copilot AI changed the title [WIP] Add automated testing for component and renderer Add automated display issue detection for component renderers Jan 22, 2026
Copilot AI requested a review from hotlong January 22, 2026 16:34
@github-actions github-actions bot added documentation Improvements or additions to documentation package: components tests labels Jan 22, 2026
@github-actions
Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

Package Size Gzipped
components (index.js) 1587.97KB 372.82KB
core (index.js) 0.53KB 0.28KB
data-objectql (ObjectQLDataSource.js) 11.05KB 2.64KB
data-objectql (hooks.js) 5.62KB 1.43KB
data-objectql (index.js) 0.62KB 0.36KB
designer (index.js) 1.46KB 0.51KB
plugin-charts (AdvancedChartImpl-DazADGz5.js) 74.89KB 15.82KB
plugin-charts (BarChart-CRc8MAtI.js) 551.60KB 127.51KB
plugin-charts (ChartImpl-DVw_7KEd.js) 3.17KB 1.10KB
plugin-charts (index-CdgY2AuM.js) 12.39KB 3.83KB
plugin-charts (index.js) 0.21KB 0.16KB
plugin-editor (MonacoImpl-B7ZgZJJG.js) 18.15KB 5.59KB
plugin-editor (index-Dl3HAAqu.js) 10.07KB 3.31KB
plugin-editor (index.js) 0.19KB 0.15KB
plugin-kanban (KanbanImpl-CUWM-JC-.js) 76.50KB 20.46KB
plugin-kanban (index-BV3FWhCb.js) 11.86KB 3.67KB
plugin-kanban (index.js) 0.18KB 0.15KB
plugin-markdown (MarkdownImpl-BRkYjVWf.js) 256.79KB 64.50KB
plugin-markdown (index-D_CdfEXQ.js) 9.59KB 3.16KB
plugin-markdown (index.js) 0.19KB 0.15KB
react (SchemaRenderer.js) 1.44KB 0.73KB
react (index.js) 0.32KB 0.23KB
react (index.test.js) 0.34KB 0.26KB
types (api-types.js) 0.20KB 0.18KB
types (app.js) 0.20KB 0.18KB
types (base.js) 0.20KB 0.18KB
types (complex.js) 0.20KB 0.18KB
types (crud.js) 0.20KB 0.18KB
types (data-display.js) 0.20KB 0.18KB
types (data.js) 0.20KB 0.18KB
types (disclosure.js) 0.20KB 0.18KB
types (feedback.js) 0.20KB 0.18KB
types (form.js) 0.20KB 0.18KB
types (index.js) 0.34KB 0.25KB
types (layout.js) 0.20KB 0.18KB
types (navigation.js) 0.20KB 0.18KB
types (objectql.js) 0.20KB 0.18KB
types (overlay.js) 0.20KB 0.18KB
types (registry.js) 0.20KB 0.18KB

Size Limits

  • ✅ Core packages should be < 50KB gzipped
  • ✅ Component packages should be < 100KB gzipped
  • ⚠️ Plugin packages should be < 150KB gzipped

@vercel vercel bot temporarily deployed to Preview – objectui-docs January 22, 2026 16:48 Inactive
@hotlong hotlong marked this pull request as ready for review January 22, 2026 16:48
Copilot AI review requested due to automatic review settings January 22, 2026 16:48
@github-actions
Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

Package Size Gzipped
components (index.js) 1587.97KB 372.82KB
core (index.js) 0.53KB 0.28KB
data-objectql (ObjectQLDataSource.js) 11.05KB 2.64KB
data-objectql (hooks.js) 5.62KB 1.43KB
data-objectql (index.js) 0.62KB 0.36KB
designer (index.js) 1.46KB 0.51KB
plugin-charts (AdvancedChartImpl-DazADGz5.js) 74.89KB 15.82KB
plugin-charts (BarChart-CRc8MAtI.js) 551.60KB 127.51KB
plugin-charts (ChartImpl-DVw_7KEd.js) 3.17KB 1.10KB
plugin-charts (index-CdgY2AuM.js) 12.39KB 3.83KB
plugin-charts (index.js) 0.21KB 0.16KB
plugin-editor (MonacoImpl-B7ZgZJJG.js) 18.15KB 5.59KB
plugin-editor (index-Dl3HAAqu.js) 10.07KB 3.31KB
plugin-editor (index.js) 0.19KB 0.15KB
plugin-kanban (KanbanImpl-CUWM-JC-.js) 76.50KB 20.46KB
plugin-kanban (index-BV3FWhCb.js) 11.86KB 3.67KB
plugin-kanban (index.js) 0.18KB 0.15KB
plugin-markdown (MarkdownImpl-BRkYjVWf.js) 256.79KB 64.50KB
plugin-markdown (index-D_CdfEXQ.js) 9.59KB 3.16KB
plugin-markdown (index.js) 0.19KB 0.15KB
react (SchemaRenderer.js) 1.44KB 0.73KB
react (index.js) 0.32KB 0.23KB
react (index.test.js) 0.34KB 0.26KB
types (api-types.js) 0.20KB 0.18KB
types (app.js) 0.20KB 0.18KB
types (base.js) 0.20KB 0.18KB
types (complex.js) 0.20KB 0.18KB
types (crud.js) 0.20KB 0.18KB
types (data-display.js) 0.20KB 0.18KB
types (data.js) 0.20KB 0.18KB
types (disclosure.js) 0.20KB 0.18KB
types (feedback.js) 0.20KB 0.18KB
types (form.js) 0.20KB 0.18KB
types (index.js) 0.34KB 0.25KB
types (layout.js) 0.20KB 0.18KB
types (navigation.js) 0.20KB 0.18KB
types (objectql.js) 0.20KB 0.18KB
types (overlay.js) 0.20KB 0.18KB
types (registry.js) 0.20KB 0.18KB

Size Limits

  • ✅ Core packages should be < 50KB gzipped
  • ✅ Component packages should be < 100KB gzipped
  • ⚠️ Plugin packages should be < 150KB gzipped

@hotlong
Copy link
Copy Markdown
Contributor

hotlong commented Jan 22, 2026

@copilot fix test

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements a comprehensive automated testing infrastructure to detect display, accessibility, and structural issues across 50+ ObjectUI component renderers. The test suite includes specialized utilities for validation and covers all major component categories.

Changes:

  • Added test utilities (test-utils.tsx) with automated accessibility, DOM structure, and display issue detection
  • Implemented 150 tests across 5 test files covering basic, form, layout, feedback/overlay, and complex components
  • Created documentation (TESTING.md, ISSUES_FOUND.md, README.md) describing the testing approach and findings

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 21 comments.

Show a summary per file
File Description
packages/components/src/__tests__/test-utils.tsx Core testing utilities for rendering components from schema and detecting accessibility/structural issues
packages/components/src/__tests__/basic-renderers.test.tsx Tests for 7 basic UI components (text, div, span, image, icon, separator, html)
packages/components/src/__tests__/form-renderers.test.tsx Tests for 11 form components with accessibility validation
packages/components/src/__tests__/layout-data-renderers.test.tsx Tests for layout (container, grid, flex) and data display components (list, badge, avatar, etc.)
packages/components/src/__tests__/feedback-overlay-renderers.test.tsx Tests for feedback components (loading, progress, skeleton) and overlays (dialog, tooltip, popover, etc.)
packages/components/src/__tests__/complex-disclosure-renderers.test.tsx Tests for complex components (data-table, chatbot, carousel) and disclosure components (accordion, collapsible)
packages/components/src/__tests__/README.md Overview of test structure and usage instructions
packages/components/TESTING.md Comprehensive testing guide with API reference and examples
packages/components/ISSUES_FOUND.md Documentation of 10 real issues automatically detected by the test suite


// Check for form inputs without labels
if (element.tagName === 'INPUT' || element.tagName === 'TEXTAREA' || element.tagName === 'SELECT') {
const hasLabel = hasAriaLabel || element.hasAttribute('id');
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The logic for checking form label association is incomplete. The presence of an id attribute on an input doesn't guarantee it's properly labeled - there must be a corresponding <label for="id"> element or the input must be wrapped in a label. This check will miss form inputs that have an ID but no associated label element, creating false negatives in accessibility testing.

Suggested change
const hasLabel = hasAriaLabel || element.hasAttribute('id');
const id = element.getAttribute('id');
const doc = element.ownerDocument || document;
const hasAssociatedLabel =
!!element.closest('label') ||
(!!id && !!doc.querySelector(`label[for="${id}"]`));
const hasLabel = hasAriaLabel || hasAssociatedLabel;

Copilot uses AI. Check for mistakes.
Comment on lines +138 to +165
* Check if component handles conditional rendering correctly
*/
export function checkConditionalRendering(
baseProps: any,
conditionalProp: string,
conditionalValue: any
): {
baseRender: ReturnType<typeof render>;
conditionalRender: ReturnType<typeof render>;
isDifferent: boolean;
} {
const schema = { type: 'div', ...baseProps };
const conditionalSchema = { ...schema, [conditionalProp]: conditionalValue };

const baseRender = renderComponent(schema);
const conditionalRender = renderComponent(conditionalSchema);

const isDifferent =
baseRender.container.innerHTML !== conditionalRender.container.innerHTML;

return {
baseRender,
conditionalRender,
isDifferent,
};
}

/**
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The checkConditionalRendering function is never used in any of the test files. According to ObjectUI architecture principle Rule #5 (Type Safety over Magic), unused code should be removed to maintain clarity and reduce maintenance burden.

Suggested change
* Check if component handles conditional rendering correctly
*/
export function checkConditionalRendering(
baseProps: any,
conditionalProp: string,
conditionalValue: any
): {
baseRender: ReturnType<typeof render>;
conditionalRender: ReturnType<typeof render>;
isDifferent: boolean;
} {
const schema = { type: 'div', ...baseProps };
const conditionalSchema = { ...schema, [conditionalProp]: conditionalValue };
const baseRender = renderComponent(schema);
const conditionalRender = renderComponent(conditionalSchema);
const isDifferent =
baseRender.container.innerHTML !== conditionalRender.container.innerHTML;
return {
baseRender,
conditionalRender,
isDifferent,
};
}
/**

Copilot uses AI. Check for mistakes.
Comment on lines +216 to +220
const contents = Array.from(items).map(item => item.textContent);
const duplicates = contents.filter((item, index) => contents.indexOf(item) !== index);
if (duplicates.length > 0) {
issues.push(`Potential duplicate list items detected`);
}
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The duplicate list items detection logic has a flaw. It checks if contents.indexOf(item) !== index, but this only finds the first occurrence of each duplicate, not all duplicates. For a list with items ["A", "B", "A", "A"], this would only flag indices 2 and 3, missing that index 0 is also a duplicate. A more accurate check would be to count occurrences or use a Set to track which content values appear more than once.

Copilot uses AI. Check for mistakes.
Comment on lines +68 to +91
* Check if element has proper styling classes
*/
export function checkStyling(element: HTMLElement): {
hasClasses: boolean;
hasTailwindClasses: boolean;
hasInlineStyles: boolean;
classes: string[];
} {
const classes = Array.from(element.classList);
const hasClasses = classes.length > 0;
const hasTailwindClasses = classes.some(cls =>
/^(text-|bg-|border-|p-|m-|flex|grid|rounded|shadow|hover:|focus:)/.test(cls)
);
const hasInlineStyles = element.hasAttribute('style') && element.getAttribute('style') !== '';

return {
hasClasses,
hasTailwindClasses,
hasInlineStyles,
classes,
};
}

/**
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The checkStyling function is exported but never used in any of the test files. This creates dead code that increases maintenance burden without providing value.

Suggested change
* Check if element has proper styling classes
*/
export function checkStyling(element: HTMLElement): {
hasClasses: boolean;
hasTailwindClasses: boolean;
hasInlineStyles: boolean;
classes: string[];
} {
const classes = Array.from(element.classList);
const hasClasses = classes.length > 0;
const hasTailwindClasses = classes.some(cls =>
/^(text-|bg-|border-|p-|m-|flex|grid|rounded|shadow|hover:|focus:)/.test(cls)
);
const hasInlineStyles = element.hasAttribute('style') && element.getAttribute('style') !== '';
return {
hasClasses,
hasTailwindClasses,
hasInlineStyles,
classes,
};
}
/**

Copilot uses AI. Check for mistakes.
- Button, Input, Textarea, Select, Checkbox, Switch
- Radio Group, Slider, Label, Email, Password

**Coverage:** 49 tests
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The test count stated as "49 tests" is incorrect. The actual count for form-renderers.test.tsx is 32 tests (matching the PR description). This discrepancy should be corrected to avoid confusion.

Suggested change
**Coverage:** 49 tests
**Coverage:** 32 tests

Copilot uses AI. Check for mistakes.

import { describe, it, expect, beforeAll } from 'vitest';
import { screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused import userEvent.

Suggested change
import userEvent from '@testing-library/user-event';

Copilot uses AI. Check for mistakes.
import { describe, it, expect, beforeAll } from 'vitest';
import { screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import { ComponentRegistry } from '@object-ui/core';
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused import ComponentRegistry.

Suggested change
import { ComponentRegistry } from '@object-ui/core';

Copilot uses AI. Check for mistakes.
renderComponent,
validateComponentRegistration,
getAllDisplayIssues,
checkAccessibility,
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused import checkAccessibility.

Suggested change
checkAccessibility,

Copilot uses AI. Check for mistakes.
*/

import { describe, it, expect, beforeAll } from 'vitest';
import { ComponentRegistry } from '@object-ui/core';
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused import ComponentRegistry.

Suggested change
import { ComponentRegistry } from '@object-ui/core';

Copilot uses AI. Check for mistakes.
import {
renderComponent,
validateComponentRegistration,
getAllDisplayIssues,
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unused import getAllDisplayIssues.

Suggested change
getAllDisplayIssues,

Copilot uses AI. Check for mistakes.
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
@vercel vercel bot temporarily deployed to Preview – objectui-docs January 22, 2026 17:00 Inactive
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jan 22, 2026

@copilot fix test

Fixed! All 150 component tests now passing (100% success rate).

Corrected schema prop names in 10 failing tests:

  • Container/Grid: bodychildren
  • TreeView: datanodes, namelabel
  • Badge: textlabel
  • Loading: messagetext
  • Tooltip: bodytrigger
  • ScrollArea: bodycontent
  • Avatar: Updated test assertion for Radix UI

Commit: 6988d8d

@hotlong
Copy link
Copy Markdown
Contributor

hotlong commented Jan 22, 2026

@copilot fix all

@github-actions
Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

Package Size Gzipped
components (index.js) 1587.97KB 372.82KB
core (index.js) 0.53KB 0.28KB
data-objectql (ObjectQLDataSource.js) 11.05KB 2.64KB
data-objectql (hooks.js) 5.62KB 1.43KB
data-objectql (index.js) 0.62KB 0.36KB
designer (index.js) 1.46KB 0.51KB
plugin-charts (AdvancedChartImpl-DazADGz5.js) 74.89KB 15.82KB
plugin-charts (BarChart-CRc8MAtI.js) 551.60KB 127.51KB
plugin-charts (ChartImpl-DVw_7KEd.js) 3.17KB 1.10KB
plugin-charts (index-CdgY2AuM.js) 12.39KB 3.83KB
plugin-charts (index.js) 0.21KB 0.16KB
plugin-editor (MonacoImpl-B7ZgZJJG.js) 18.15KB 5.59KB
plugin-editor (index-Dl3HAAqu.js) 10.07KB 3.31KB
plugin-editor (index.js) 0.19KB 0.15KB
plugin-kanban (KanbanImpl-CUWM-JC-.js) 76.50KB 20.46KB
plugin-kanban (index-BV3FWhCb.js) 11.86KB 3.67KB
plugin-kanban (index.js) 0.18KB 0.15KB
plugin-markdown (MarkdownImpl-BRkYjVWf.js) 256.79KB 64.50KB
plugin-markdown (index-D_CdfEXQ.js) 9.59KB 3.16KB
plugin-markdown (index.js) 0.19KB 0.15KB
react (SchemaRenderer.js) 1.44KB 0.73KB
react (index.js) 0.32KB 0.23KB
react (index.test.js) 0.34KB 0.26KB
types (api-types.js) 0.20KB 0.18KB
types (app.js) 0.20KB 0.18KB
types (base.js) 0.20KB 0.18KB
types (complex.js) 0.20KB 0.18KB
types (crud.js) 0.20KB 0.18KB
types (data-display.js) 0.20KB 0.18KB
types (data.js) 0.20KB 0.18KB
types (disclosure.js) 0.20KB 0.18KB
types (feedback.js) 0.20KB 0.18KB
types (form.js) 0.20KB 0.18KB
types (index.js) 0.34KB 0.25KB
types (layout.js) 0.20KB 0.18KB
types (navigation.js) 0.20KB 0.18KB
types (objectql.js) 0.20KB 0.18KB
types (overlay.js) 0.20KB 0.18KB
types (registry.js) 0.20KB 0.18KB

Size Limits

  • ✅ Core packages should be < 50KB gzipped
  • ✅ Component packages should be < 100KB gzipped
  • ⚠️ Plugin packages should be < 150KB gzipped

@github-actions
Copy link
Copy Markdown
Contributor

✅ All checks passed!

  • ✅ Type check passed
  • ✅ Tests passed
  • ✅ Lint check completed

… fix accessibility checks

Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
@vercel vercel bot temporarily deployed to Preview – objectui-docs January 22, 2026 17:10 Inactive
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Jan 22, 2026

@copilot fix all

Fixed all 21 code review issues!

Type Safety:

Code Quality:

  • Removed 2 unused functions (checkStyling, checkConditionalRendering)
  • Removed 10+ unused imports across all test files
  • Removed unused variables

Bug Fixes:

  • Enhanced form label validation - now checks actual <label> associations
  • Fixed duplicate detection algorithm using Map
  • Fixed type_modeselectionType for toggle-group
  • Corrected test counts in documentation

All 322 tests still passing (100%). Commit: 4f361e2

@github-actions
Copy link
Copy Markdown
Contributor

📦 Bundle Size Report

Package Size Gzipped
components (index.js) 1587.97KB 372.82KB
core (index.js) 0.53KB 0.28KB
data-objectql (ObjectQLDataSource.js) 11.05KB 2.64KB
data-objectql (hooks.js) 5.62KB 1.43KB
data-objectql (index.js) 0.62KB 0.36KB
designer (index.js) 1.46KB 0.51KB
plugin-charts (AdvancedChartImpl-DazADGz5.js) 74.89KB 15.82KB
plugin-charts (BarChart-CRc8MAtI.js) 551.60KB 127.51KB
plugin-charts (ChartImpl-DVw_7KEd.js) 3.17KB 1.10KB
plugin-charts (index-CdgY2AuM.js) 12.39KB 3.83KB
plugin-charts (index.js) 0.21KB 0.16KB
plugin-editor (MonacoImpl-B7ZgZJJG.js) 18.15KB 5.59KB
plugin-editor (index-Dl3HAAqu.js) 10.07KB 3.31KB
plugin-editor (index.js) 0.19KB 0.15KB
plugin-kanban (KanbanImpl-CUWM-JC-.js) 76.50KB 20.46KB
plugin-kanban (index-BV3FWhCb.js) 11.86KB 3.67KB
plugin-kanban (index.js) 0.18KB 0.15KB
plugin-markdown (MarkdownImpl-BRkYjVWf.js) 256.79KB 64.50KB
plugin-markdown (index-D_CdfEXQ.js) 9.59KB 3.16KB
plugin-markdown (index.js) 0.19KB 0.15KB
react (SchemaRenderer.js) 1.44KB 0.73KB
react (index.js) 0.32KB 0.23KB
react (index.test.js) 0.34KB 0.26KB
types (api-types.js) 0.20KB 0.18KB
types (app.js) 0.20KB 0.18KB
types (base.js) 0.20KB 0.18KB
types (complex.js) 0.20KB 0.18KB
types (crud.js) 0.20KB 0.18KB
types (data-display.js) 0.20KB 0.18KB
types (data.js) 0.20KB 0.18KB
types (disclosure.js) 0.20KB 0.18KB
types (feedback.js) 0.20KB 0.18KB
types (form.js) 0.20KB 0.18KB
types (index.js) 0.34KB 0.25KB
types (layout.js) 0.20KB 0.18KB
types (navigation.js) 0.20KB 0.18KB
types (objectql.js) 0.20KB 0.18KB
types (overlay.js) 0.20KB 0.18KB
types (registry.js) 0.20KB 0.18KB

Size Limits

  • ✅ Core packages should be < 50KB gzipped
  • ✅ Component packages should be < 100KB gzipped
  • ⚠️ Plugin packages should be < 150KB gzipped

@github-actions
Copy link
Copy Markdown
Contributor

✅ All checks passed!

  • ✅ Type check passed
  • ✅ Tests passed
  • ✅ Lint check completed

@hotlong hotlong merged commit d993a2b into main Jan 22, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation package: components tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants