Skip to content

Commit 9eea93b

Browse files
committed
merge main (#25852, #25856) into the 2c branch
Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A6SEitNngAMugGbuJHWsDS
2 parents aae708f + fc2aaae commit 9eea93b

4 files changed

Lines changed: 26 additions & 3 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3244,6 +3244,21 @@ jobs:
32443244
--filter='./ui/examples/*'
32453245
fi
32463246
3247+
# ui/tsconfig.vitest-setup.json resolves five @object-ui packages through
3248+
# their built declarations (its `paths` comment measures the from-source
3249+
# route at 484 errors). The step above builds them only when they are in
3250+
# its affected scope, and a pull_request whose ui scope is empty builds
3251+
# nothing, so the next step failed with TS2882/TS2307. Turbo replays
3252+
# them from the cache when the step above or main's cache already built them.
3253+
- name: Build the ui packages the vitest setup files import
3254+
run: |
3255+
pnpm exec turbo run build --concurrency=4 \
3256+
--filter=@object-ui/components \
3257+
--filter=@object-ui/fields \
3258+
--filter=@object-ui/plugin-dashboard \
3259+
--filter=@object-ui/plugin-grid \
3260+
--filter=@object-ui/i18n
3261+
32473262
- name: Type-check ui repo-root vitest setup files
32483263
run: pnpm --dir ui run type-check:vitest-setup
32493264

‎packages/lint/src/validate-jsx-pages.production-witness.test.ts‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,12 @@ describe('production witness: the checked-in manifest reaches validateTree', ()
5858
// regeneration legitimately changes them, re-check the shipped pages in the
5959
// same PR.
6060
expect(keys).toContain('flex');
61-
expect(keys).toContain('html');
61+
// The html tier's intrinsic tags. The raw `html` component itself was
62+
// retired by objectui#13449 and left the manifest when it was regenerated
63+
// from the in-tree ui/ (107 -> 106, objectstack#25711); the shipped pages
64+
// below never used it, which the clean-run witness re-checks.
65+
expect(keys).toContain('a');
66+
expect(keys).toContain('p');
6267
expect(keys).not.toContain('div');
6368
});
6469

‎ui/packages/cli/src/__tests__/app-generator.test.ts‎

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ import {
8080
type AppGeneratorContext,
8181
type RouteInfo
8282
} from '../utils/app-generator.js';
83+
import { changesetConfigPath } from '../../../../scripts/workspace-root.mjs';
8384

8485
const __dirname = dirname(fileURLToPath(import.meta.url));
8586
/** packages/cli/src/__tests__ -> repo root */
@@ -741,8 +742,10 @@ describe('generated app manifests', () => {
741742
// current and guaranteed to exist on the registry. If that group were ever
742743
// split, deriving the range would silently start naming versions that were
743744
// never published — so the premise is asserted, not assumed.
745+
// The tree's own config standalone, the monorepo root's when nested under
746+
// objectstack's `ui/` (objectstack#25711): changesets reads one per repository.
744747
const changesetConfig = JSON.parse(
745-
readFileSync(resolve(REPO_ROOT, '.changeset/config.json'), 'utf-8')
748+
readFileSync(changesetConfigPath(REPO_ROOT), 'utf-8')
746749
) as { fixed?: string[][] };
747750
const cliVersion = readManifest(CLI_MANIFEST_PATH).version as string;
748751
const platformPackages = Object.entries(DEPENDENCY_ANCHORS)

‎ui/scripts/check-test-path-roots.mjs‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ const FS_MODULES = new Set(['fs', 'node:fs', 'fs/promises', 'node:fs/promises',
187187
* what it excuses.
188188
*/
189189
export const SUBJECT_IS_THE_CWD = Object.freeze([
190-
'packages/cli/src/__tests__/app-generator.test.ts:1326 -- `contextOfCurrentProcess()` mirrors the ambient cwd on BOTH sides of the assertion deliberately: the writer under test derives its context from `process.cwd()` and the expectation derives it the same way, so the pair is self-consistent under either cwd. Re-rooting one side desyncs the mirror and turns a passing test red. The real cost -- that WHICH generator branch those two cases pin is decided by the launch directory -- is filed as objectui#7807 and is closed in the same file by two further cases that name their branch instead of inheriting it.',
190+
'packages/cli/src/__tests__/app-generator.test.ts:1329 -- `contextOfCurrentProcess()` mirrors the ambient cwd on BOTH sides of the assertion deliberately: the writer under test derives its context from `process.cwd()` and the expectation derives it the same way, so the pair is self-consistent under either cwd. Re-rooting one side desyncs the mirror and turns a passing test red. The real cost -- that WHICH generator branch those two cases pin is decided by the launch directory -- is filed as objectui#7807 and is closed in the same file by two further cases that name their branch instead of inheriting it.',
191191
]);
192192

193193
/**

0 commit comments

Comments
 (0)