ci(vue): wire @modular-frontend/* and @modular-vue/* into release + CI plumbing (PR-05) - #84
Conversation
…I plumbing (PR-05) Extend the publish and CI automation to cover the two scopes the Vue initiative introduced, so they bump, publish, and get validated like the React families. - publish.yml: add dorny/paths-filter entries and PKG_MAP mappings for the four @modular-frontend/* engines and all seven @modular-vue/* packages. Each filter watches src/** + package.json + README.md (the new packages build to a gitignored dist). Without this, a merge touching a Vue or engine package published nothing. - ci.yml: add packages/vue-cli -> @modular-vue/cli to the changed-files build matrix; PR-50 added the package but never wired it into CI, so its test suite never ran on change. ensure-labels.yml (release-type labels only, no per-package labels) and pnpm-workspace.yaml (packages/* already matches) need no change. Updates docs/vue-support-tracker.md: PR-05 marked done with a writeup, and the status line/board reflect that only PR-52 (Nuxt, stretch) remains. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019YFQihiMZ1RadxDPzfjWRY
|
Warning Review limit reached
Next review available in: 37 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughCI and publish workflows now detect additional Frontend and Vue packages, map them to npm package names, and include Vue CLI in CI coverage. The Vue support tracker documents the completed plumbing work and marks PR-05 done. ChangesPackage coverage workflows
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Run oxfmt over the tracker so `pnpm lint`'s `oxfmt --check` passes (the appended PR-05 writeup used `*type*` emphasis; oxfmt normalizes to `_type_`). This is what was turning the Lint CI job red. - Correct the publish-version note: the `@modular-frontend/*` engines are not uniformly `0.1.0` — `journeys-engine` is already `1.7.1`. State the real committed versions instead. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BbP6F82jG5YnvsyFAP8jEk
What & why
Implements PR-05 from
docs/vue-support-tracker.md— the last unblocked row of the Vue initiative ("CI, publish, and workspace plumbing for the new scopes"). Everything else in the initiative isdone; only PR-52 (Nuxt, a stretch item gated on D6 + demand) remains after this.The Vue initiative introduced two new npm scopes —
@modular-frontend/*(the shared framework-neutral engines, decision D2) and the@modular-vue/*family — but the release/CI automation was never taught about them. So a merge that changed a Vue or engine package would bump and publish nothing, and@modular-vue/cli(added in PR-50) never got a CI build/test job.What changed
publish.yml(the real gap). The workflow drives off a hardcodeddorny/paths-filterset + aPKG_MAP(filter-key →dir:npmName); neither listed any new-scope package. Added eleven filter entries and elevenPKG_MAPmappings:@modular-frontend/core,@modular-frontend/testing,@modular-frontend/journeys-engine,@modular-frontend/compositions-engine@modular-vue/{vue,core,runtime,testing,journeys,compositions,cli}Each filter watches
src/**+package.json+README.md(the new packages build to a gitignoreddist, sosrc/**is the publish-surface trigger — matching thepkg_journeysshape, not the olderlib/**packages). The dynamic-matrix, version-bump, provenance-publish, tag, and commit steps are all package-agnostic and needed no change.ci.yml(one missing package). Thechanged-files-jobPATH_TO_NAMEmap already covered every Vue package and all four engines exceptpackages/vue-cli— PR-50 added the package but never wired it into CI. Added["packages/vue-cli"]="@modular-vue/cli". The reusableci.common.ymlbuild/test is turbo-driven, so it runs the new packages' real (non-empty) suites unchanged.Two plan lines turned out to be no-ops (recorded in the tracker rather than acted on):
ensure-labels.ymlenforces a release-type label (major/minor/patch/skip-release/release-same-version) — there are no per-package labels to extend.pnpm-workspace.yamlalready matches every new package viapackages/*.npm-scope reservation /
0.0.0placeholders (D1) are an npm-account action, not a repo change; the workflow is now ready to publish the real1.0.0(Vue) /0.1.0(engines) versions on the next release-labeled merge.Pre-existing gaps found but left out of scope (they predate this initiative and belong to the React/Angular families, not the new Vue scopes):
publish.ymlalso omits@modular-react/compositionsand both Angular packages, andci.ymlomitspackages/angular-router-core. Worth a separate follow-up.How it was verified
publish.ymlmatrix builder with all eleven new filter keys marked changed → it emits a matrix of exactly the eleven packages, and everydir → npmNameentry was verified against the on-diskpackage.jsonname.Checklist
pnpm lintpasses — N/A, no TS/JS changed (workflow YAML + docs only); YAML validated with a parser instead.docs/vue-support-tracker.mdmarks PR-05 done (writeup + status line + board).@modular-vue/*+@modular-frontend/*set. N/A for React/Angular follow-ups noted above.🤖 Generated with Claude Code
https://claude.ai/code/session_019YFQihiMZ1RadxDPzfjWRY
Generated by Claude Code
Summary by CodeRabbit
Bug Fixes
Documentation