From 7010215bdda586f3a2b19f391a51ef793b696857 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 15 Oct 2026 05:27:52 +0000 Subject: [PATCH 1/2] test(app-shell): move the objectui#12393 grid pins out of plugin-list (objectui#12422) plugin-list's ListView.gridRowColorSelect-12393 pin imported `../../../plugin-grid/src/ObjectGrid` across a package boundary, so plugin-list's tsconfig.test.json program compiled ObjectGrid.tsx and its `@object-ui/plugin-detail` import while plugin-list declares neither package. turbo's `type-check` dependsOn `^build` therefore never ordered plugin-detail#build first, and the check went red whenever that build re-ran in the same turbo run. The file moves verbatim (assertions unchanged) to app-shell, which already declares both @object-ui/plugin-list and @object-ui/plugin-grid, and imports each by package name. Claude-Session: https://claude.ai/code/session_01XVp19E1MYUTFM3dnkwz8gB Co-authored-by: Claude --- .changeset/12422-cross-package-pin.md | 4 ++++ .../ListView.gridRowColorSelect-12393.test.tsx | 18 +++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) create mode 100644 .changeset/12422-cross-package-pin.md rename packages/{plugin-list => app-shell}/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx (94%) diff --git a/.changeset/12422-cross-package-pin.md b/.changeset/12422-cross-package-pin.md new file mode 100644 index 0000000000..3b8539d542 --- /dev/null +++ b/.changeset/12422-cross-package-pin.md @@ -0,0 +1,4 @@ +--- +--- + +Test-only: the objectui#12393 grouped-grid and `$select` family pins move from `@object-ui/plugin-list` to `@object-ui/app-shell`, which declares both packages, so `plugin-list`'s type-check no longer compiles `plugin-grid` source across a package boundary; no published file changes. diff --git a/packages/plugin-list/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx b/packages/app-shell/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx similarity index 94% rename from packages/plugin-list/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx rename to packages/app-shell/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx index 4fb3e30996..570ad61340 100644 --- a/packages/plugin-list/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx +++ b/packages/app-shell/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx @@ -16,8 +16,9 @@ * arrive through `ObjectGrid`'s own `$select`, which had no row-colour arm. So * a grouped list tinted by a field no column shows painted nothing. * - * Both blocks below take the same two steps, because plugin-list's tests run - * without the grid registered (`vitest.setup.dom-light.tsx`): + * Both blocks below take the same two steps, with a stub `object-grid` + * registered over whatever the registry holds (the `@object-ui/plugin-grid` + * import registers the real one; `afterAll` puts it back): * 1. mount `ListView` with a stub `object-grid` and keep the node it hands * the grid, and the `$select` of its own window fetch; * 2. render the real `ObjectGrid` with that node, and read the `$select` of @@ -72,11 +73,14 @@ vi.mock('@object-ui/permissions', async (importOriginal) => { import { ComponentRegistry } from '@object-ui/core'; import { SchemaRendererProvider, ActionProvider } from '@object-ui/react'; import { registerAllFields } from '@object-ui/fields'; -import { ListView } from '../ListView'; -// The real grid, by path: plugin-list declares no dependency on plugin-grid -// (it renders the grid through the registry), and this file needs the -// component itself. -import { ObjectGrid } from '../../../plugin-grid/src/ObjectGrid'; +// Both components by package name. This file lives in app-shell because +// app-shell declares both packages; plugin-list declares no dependency on +// plugin-grid (it renders the grid through the registry). It used to sit in +// plugin-list and reach the grid by a relative path, so plugin-list's +// type-check compiled `ObjectGrid` and its `@object-ui/plugin-detail` import +// without any declared edge ordering that build first (objectui#12422). +import { ListView } from '@object-ui/plugin-list'; +import { ObjectGrid } from '@object-ui/plugin-grid'; const OBJECT = 'crm_case'; From 513ddc4507c9ecb8054023dfa0bee0a2ab0474cf Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 15 Oct 2026 05:45:50 +0000 Subject: [PATCH 2/2] test(app-shell): name the 12376 sibling pin's package now that the file moved (objectui#12422) Claude-Session: https://claude.ai/code/session_01XVp19E1MYUTFM3dnkwz8gB Co-authored-by: Claude --- .../src/__tests__/ListView.gridRowColorSelect-12393.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app-shell/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx b/packages/app-shell/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx index 570ad61340..cf729fe4e0 100644 --- a/packages/app-shell/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx +++ b/packages/app-shell/src/__tests__/ListView.gridRowColorSelect-12393.test.tsx @@ -9,7 +9,7 @@ /** * objectui#12393 — the grid half of objectui#12376, and the family pin. * - * `ListView.rowColorSelect-12376.test.tsx` pins `ListView`'s own `$select` + * plugin-list's `ListView.rowColorSelect-12376.test.tsx` pins `ListView`'s own `$select` * asking for a non-column `rowColor.field`. That projection does not reach * every row the list draws: a GROUPED grid over a data source that answers the * group header query owns its fetch (`gridOwnsGroupedFetch`), and its rows