Skip to content

Complete adapter monorepo extraction#370

Merged
pasevin merged 16 commits intomainfrom
012-adapter-monorepo-extraction
Mar 26, 2026
Merged

Complete adapter monorepo extraction#370
pasevin merged 16 commits intomainfrom
012-adapter-monorepo-extraction

Conversation

@pasevin
Copy link
Copy Markdown
Collaborator

@pasevin pasevin commented Mar 26, 2026

Summary

  • extract adapter packages out of ui-builder and switch Builder/export flows to consume published @openzeppelin/adapter-* packages
  • add repository tooling and CI updates for local, staging, and release validation after the extraction, including export verification hardening and version synchronization
  • refresh README and extraction specs so the repo structure, workflows, and migration status match the post-extraction architecture

Test plan

  • pnpm --filter @openzeppelin/ui-builder-app build
  • pnpm test:export
  • verified published @openzeppelin/adapter-evm@1.0.1-rc.0 imports successfully in a clean Node ESM environment
  • verified ui-builder export validation passes against the adapter RC packages without needing the temporary stubbed adapter path

pasevin added 14 commits March 19, 2026 15:17
Align the constitution and feature planning artifacts with the approved
adapter monorepo rollout so implementation can proceed against a
consistent release, migration, and local-development contract.
- Add T005a (Husky, lint-staged) and T005b (commitlint, commitizen)
- Update summary and task counts
…n spec

- remove local commit skill in favor of global one
- add T047b for validate-adapter-vite-configs.cjs rename
- add T036a, T036b for patch resolution from adapter package
rename workspace adapter packages, update builder app deps and codegen
paths, export templates and tests, validate-adapter script, changeset
linked packages, lockfile, and mark spec 012 phase 3 tasks complete
- add update-export-versions core + script tests; wire vitest.scripts.config
- extend export tests for rc/stable adapter resolution
- align workflows and docker comments with published @openzeppelin/adapter-*
- document local dev, rollout gates, and mark phase 4 tasks complete
resolve patches and cli overrides via sibling checkout, node_modules, or
legacy workspace; add shared adapterPackageSources contract and
adapterPathResolver for export-app.cjs; regenerate versions and snapshots;
add guard tests and mark spec phase 5 tasks complete
- pin @types/node and vite via pnpm overrides to avoid duplicate Plugin types
- normalize adapter plugin merging with PluginOption casts; fix midnight
  topLevelAwait factory typing
- add tsconfig.vite-config.json and run it from builder typecheck
- document lint:config-files vs lint:config-files:fix; vitest path formatting
Align local UI/adapters workflows around shared pnpm commands, add override tests, and
improve bad-path diagnostics for local adapter checkouts.
Record completion of T048 after validating the new adapter repository quality
gates. Leave T048a open because first-release installability from npm has not
been verified yet.
Remove the extracted adapter workspaces from ui-builder and update the
remaining builder tooling to resolve published adapter packages instead
of in-repo adapter sources. This keeps the phase 7 cleanup compatible
with export version sync, local patch copying, Vitest resolution, and
post-extraction builds.
Align ui-builder's local dependency switching flow with the published
ui-dev-cli contract and document the checked-in config-driven setup.
The staging Docker build now surgically overrides adapter packages
with RC versions from npm while keeping all other dependencies
identical to the frozen lockfile (production parity).
Keep packed export validation working by using pnpm-resolved Vitest execution and
stubbing adapter loading during CLI verification. Align the Builder app's ESM
imports on lodash-es and refresh the README to describe the repository's current
post-extraction structure.
Update export version metadata and snapshots so generated apps reference the
current published @openzeppelin/ui-components package version expected by the
branch tooling.
@pasevin pasevin requested a review from a team as a code owner March 26, 2026 23:05
pasevin added 2 commits March 27, 2026 01:15
Use the real adapter loading path during export verification now that staging
resolves the published RC adapter packages and the Node ESM import issue is
fixed upstream.
Skip local tarball packing when the extracted branch no longer has a workspace
packages directory so packed export validation falls back to published packages
instead of failing in CI.
@pasevin pasevin merged commit 25784de into main Mar 26, 2026
12 of 14 checks passed
@pasevin pasevin deleted the 012-adapter-monorepo-extraction branch March 26, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant