Repository navigation
feat!: move to Astryx 0.6.5; prepare 0.2.0-alpha.16 - #58
Merged
Merged
Conversation
Bump @astryxdesign/core, theme-neutral and cli from 0.6.2 to 0.6.5 and @astryxdesign/lab to 0.6.5-canary.8701623, with `ui-common sync-astryx`. - Mirror the new core subpaths (Timer, Markdown/parser|plugins|remark) and the new `./locales/*.generated.js` pattern: the export generator now knows both locale patterns, the build copies the generated string maps (js + d.ts) beside the JSON catalogs, and check-pack asserts the whole set. - Re-take the Drawer fork from lab 0.6.5. Lab now routes Escape through core's layer-dismissal stack itself, so the fork keeps only aria-modal passthrough and the Modal portal host. Lab's contract change comes with it: no built-in close button (compose DrawerHeader), a `purpose` prop, showPopover() for scrimless drawers, a focus trap when modal. - Re-sync the ComplexSelector and Tour forks (compiled styles, provenance). The hasClear order test ignores the clear button's tooltip nodes. - PagedSelector: follow the renamed coarse-pointer font-floor class. - Record Astryx's 0.6.4 codemods for consumers under 0.2.0-alpha.16, and make the 0.1 -> 0.2 map require the lab canary ui-common peers on; `sync-astryx --lab` now moves that requirement too.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Consumer dependency migration, nested Modal stacking, and Drawer unmount notifications have unresolved regressions.
Review effort: Balanced
Findings: 3
Open (3)
What changed in this PR
Upgrades ui-common to Astryx 0.6.5 and prepares the 0.2.0-alpha.16 release.
Changes:
- Mirrors new exports and generated locale maps.
- Refreshes component forks, including Drawer’s breaking contract changes.
- Registers consumer codemods and updates dependency pins, fixtures, and documentation.
| File | Description |
|---|---|
| vite.config.ts | Copies generated locale assets. |
| src/theme/lablup/built/theme.css | Refreshes theme output and font styling. |
| src/theme/lablup/built/lablup.variants.d.ts | Updates generator version comments. |
| src/theme/lablup/built/lablup.js | Updates generator version comments. |
| src/theme/lablup/built/lablup.d.ts | Updates generator version comments. |
| src/index.ts | Exposes new core APIs and types. |
| src/forks/Tour/useTour.ts | Updates provenance comment. |
| src/forks/Tour/TourStep.tsx | Updates provenance comment. |
| src/forks/Tour/TourStep.styles.ts | Updates generated provenance comment. |
| src/forks/Tour/TourContext.ts | Updates provenance comment. |
| src/forks/Tour/Tour.tsx | Updates provenance comment. |
| src/forks/Tour/Tour.test.tsx | Updates provenance comment. |
| src/forks/provenance.json | Refreshes fork versions, hashes, and notes. |
| src/forks/Drawer/useDrawerDialogPresence.ts | Adds popover presence and close notifications. |
| src/forks/Drawer/Drawer.tsx | Adopts upstream dismissal and top-layer behavior. |
| src/forks/Drawer/Drawer.test.tsx | Tests the updated Drawer contract. |
| src/forks/Drawer/Drawer.styles.ts | Refreshes compiled Drawer styles. |
| src/forks/Drawer/Drawer.fork.test.tsx | Updates fork integration and parity tests. |
| src/forks/ComplexSelector/ComplexSelector.tsx | Updates provenance comments. |
| src/forks/ComplexSelector/ComplexSelector.test.tsx | Updates provenance comment. |
| src/forks/ComplexSelector/ComplexSelector.styles.ts | Refreshes compiled selector styles. |
| src/forks/ComplexSelector/ComplexSelector.fork.test.tsx | Excludes tooltip nodes from ordering checks. |
| src/components/PagedSelector/PanelSearchInput.tsx | Updates the borrowed input class. |
| src/astryx/Timer.ts | Adds Timer re-export. |
| src/astryx/Markdown/remark.ts | Adds remark re-export. |
| src/astryx/Markdown/plugins.ts | Adds plugins re-export. |
| src/astryx/Markdown/parser.ts | Adds parser re-export. |
| src/astryx/lab.ts | Exposes new lab APIs and types. |
| scripts/gen-exports.mjs | Supports generated locale exports. |
| scripts/check-pack.mjs | Checks generated locale packaging. |
| README.md | Updates overrides and locale documentation. |
| pnpm-workspace.yaml | Updates lab compatibility settings. |
| pnpm-lock.yaml | Records upgraded dependencies. |
| packages/cli/test/upgrade/fixtures/subpath-barrel/expected/ui-common-upgrade-report.md | Updates expected upgrade guidance. |
| packages/cli/test/upgrade/fixtures/subpath-barrel/expected/package.json | Updates expected lab pin. |
| packages/cli/test/upgrade/fixtures/adapter/expected/ui-common-upgrade-report.md | Updates expected upgrade guidance. |
| packages/cli/test/upgrade/fixtures/adapter/expected/package.json | Updates expected lab pin. |
| packages/cli/test/cli/cli.test.ts | Covers upstream migration registration. |
| packages/cli/package.json | Bumps CLI release and Astryx dependency. |
| packages/cli/migration/0.1-to-0.2.json | Updates the required lab canary. |
| packages/cli/codemods/0.2.0-alpha.16/upstream.json | Registers upstream codemods. |
| packages/cli/cli/sync-astryx.mjs | Synchronizes migration lab requirements. |
| package.json | Updates release, dependencies, and exports. |
| CONTRIBUTING.md | Documents remaining fork differences. |
| CHANGELOG.md | Documents release and breaking changes. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
A scrimless drawer is a manual popover since lab 0.6.5, so it is top layer like the scrimmed one; a Modal left in the body portal painted behind it. The fork now provides its dialog through ModalPortalContext whenever it is open. Found by the ready-gate review.
Member
Author
Ready-gate agent review (Opus) — blocking issues only
Copilot: reviewed (its review landed after the 5-minute window) — 3 threads: one duplicate of O1 (fixed), one upgrade-tool gap fixed in |
…eam upgrade step An alpha-to-alpha upgrade selects only the Astryx-bump step, which had no package.json hook: the codemods ran while @lablup/ui-common, the CLI and @astryxdesign/lab stayed pinned to the old versions and lab's core override to the old core. The upstream step now bumps the ui-common and CLI pins to the target and, when the project declares lab, moves it to the canary the manifest records (sync-astryx --lab writes it) and re-points the override through the 0.2 step's helpers. Found by the ready-gate review.
… step Astryx 0.6.4 ships migrate-theme-catalog-to-descriptors as a project codemod (package root in, plan of writes out), not a file transform. Run per file it threw and took the fixture's `ui-common upgrade --from 0.1 --dry-run` down in CI. Project codemods concern an Astryx integration package, which a consumer is not, so the step notes them the way it notes config codemods, and a transform that returns a promise is refused with a clear error instead of being spliced into source.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
Astryx 0.6.2 → 0.6.5 (
@astryxdesign/core,theme-neutral,cli) and@astryxdesign/lab→ 0.6.5-canary.8701623, done withui-common sync-astryx, released as 0.2.0-alpha.16.What the bump dragged in:
Timer,Markdown/parser,Markdown/plugins,Markdown/remark, and the new core export pattern./locales/*.generated.js(Astryx's compact locale string maps).scripts/gen-exports.mjsnow handles both locale patterns,vite.config.tscopies the generated.js/.d.tsbeside the JSON catalogs, andcheck-pack.mjsasserts the full set is packed.labgainsDrawerHeader,MobileTokenizer.src/forks/Drawer/). Lab now registers with core's layer-dismissal stack itself, so the fork drops its Escape change and keeps onlyaria-modalpassthrough and theModalportal host (ModalPortalContext). Lab's contract change ships with it and is breaking for Drawer consumers: no built-in close button /hasCloseButton(composeDrawerHeaderwithonOpenChange), newpurposeprop, scrimless drawers open viashowPopover(), modal drawers trap Tab. CHANGELOG spells it out.sync-forks.mjs --accept): compiled styles and provenance hashes. ThehasClearordering test now ignores the clear button's tooltip nodes, which 0.6.5 renders as siblings.xdk3u5w→x1w61h2b, now iOS-only).packages/cli/codemods/0.2.0-alpha.16/upstream.jsonrecords Astryx's 0.6.4 codemods (migrate-native-picker-to-presentation, theme descriptors) soui-common upgraderuns them for a consumer crossing alpha.16. The 0.1 → 0.2 migration map now requires the lab canary this version actually peers on, andsync-astryx --labmoves that value from now on.package.json(ready-gate finding):ui-common upgrade --from 0.2.0-alpha.15bumps the@lablup/ui-common/@lablup/ui-common-clipins and, when the project declares@astryxdesign/lab, moves it to the canary recorded inupstream.json(newlabfield, written bysync-astryx --lab) and re-points the lab>core override via the 0.2 step's helpers. Astryx's project-level codemods (migrate-theme-catalog-to-descriptors, an integration-package concern) are noted, not run per file — running one crashed the fixture'supgrade --dry-runin CI.UPDATE_FIXTURES=1), registry test extended for the new upstream step.Verification
pnpm run verify— typecheck, lint, format, boundary, theme:check, 1448 tests (2 skipped stylesheet-dependent Drawer tests, as before), build, check:pack (930 files / 147 export paths),astryx doctor integration validate— all pass.Review
Ready gate: Opus agent 1 blocking finding (scrimless-drawer Modal host, fixed in 55750a9); Copilot 3 threads (same Modal issue; upgrade-tool pin gap, fixed in 9ae7d88; unmount close event, won't-apply — verbatim upstream code). All replied and resolved; fixes landed after the reviews and were verified by
pnpm run verify+ the CI external-install job.Release
After merge: create the GitHub release
v0.2.0-alpha.16; the publish workflow publishes both packages undernext.