Add missing package builds to pretest script#226
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Co-authored-by: xuyushun441-sys <255036401+xuyushun441-sys@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR fixes a CI test failure by adding @object-ui/fields and @object-ui/layout to the pretest build script. The test examples/crm-app/src/components/SidebarNav.test.tsx was failing because it imports from @object-ui/layout, which in turn depends on @object-ui/components, and the SidebarNav component imports from @object-ui/layout. Without these packages being built before test execution, their dist folders don't exist, causing import failures.
Changes:
- Added
@object-ui/fieldsand@object-ui/layoutto the pretest script build chain in the correct dependency order
| "dev": "pnpm --filter @examples/crm-app dev", | ||
| "build": "pnpm --filter './packages/*' -r build && pnpm --filter './examples/*' -r build && pnpm --filter './apps/*' -r build", | ||
| "pretest": "pnpm --filter @object-ui/types build && pnpm --filter @object-ui/core build && pnpm --filter @object-ui/react build && pnpm --filter @object-ui/components build && pnpm --filter @object-ui/plugin-kanban build && pnpm --filter @object-ui/plugin-charts build", | ||
| "pretest": "pnpm --filter @object-ui/types build && pnpm --filter @object-ui/core build && pnpm --filter @object-ui/react build && pnpm --filter @object-ui/components build && pnpm --filter @object-ui/fields build && pnpm --filter @object-ui/layout build && pnpm --filter @object-ui/plugin-kanban build && pnpm --filter @object-ui/plugin-charts build", |
There was a problem hiding this comment.
The build order doesn't account for all package dependencies. While this change fixes the immediate CI failure, there are other packages with dependencies on @object-ui/fields that are not included in the pretest chain:
@object-ui/plugin-griddepends on@object-ui/fields(see packages/plugin-grid/package.json:25)@object-ui/plugin-formdepends on@object-ui/fields(see packages/plugin-form/package.json:25)@object-ui/plugin-viewdepends on both@object-ui/plugin-gridand@object-ui/plugin-form(see packages/plugin-view/package.json:25-26)
If tests exist for these packages or if they're imported elsewhere in test files, they will fail similarly. Consider either:
- Adding these packages to the pretest script in dependency order
- Using a more maintainable approach like
pnpm --filter './packages/*' -r buildwhich respects the dependency graph automatically
| "pretest": "pnpm --filter @object-ui/types build && pnpm --filter @object-ui/core build && pnpm --filter @object-ui/react build && pnpm --filter @object-ui/components build && pnpm --filter @object-ui/fields build && pnpm --filter @object-ui/layout build && pnpm --filter @object-ui/plugin-kanban build && pnpm --filter @object-ui/plugin-charts build", | |
| "pretest": "pnpm run build", |
CI failing on
examples/crm-app/src/components/SidebarNav.test.tsxbecause@object-ui/layoutand@object-ui/fieldsweren't built before test execution. Tests import from these packages but their dist folders don't exist.Changes
@object-ui/fieldsand@object-ui/layoutto the pretest script build chainThe pretest script now builds all required dependencies before running tests:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.