v1.0.13 - #46
v1.0.13#46
Conversation
A workspace can now hold several solution files side by side:
vnext.config.json (default) plus vnext.{domain}.config.json per extra
domain, each with its own componentsRoot. Workspace commands (check,
csx, sync, update, reset) run once per solution, sequentially, using
the CLI domain profile that matches the solution's `domain` field.
- New src/lib/solutions.js: solution-file discovery, solution objects,
--file ownership by componentsRoot, and the shared runForEachSolution
loop with per-domain banners and a WORKSPACE SUMMARY.
- Global --domain <name> option (forwarded by the preAction hook) to
restrict any command to one solution.
- config.js: getDomainConfig/buildDbConfig/buildApiConfig; the
resolveWorkspaceDomain side effect that persisted ACTIVE_DOMAIN on
every run is removed. ACTIVE_DOMAIN now only affects `wf domain` and
`wf config`.
- vnextConfig.js becomes a stateless, file-name-aware parser (cache
removed); discover/workflow/csx take a solution object instead of
projectRoot; git-changed detection is scoped to the solution's
componentsRoot.
- Components must declare `domain` equal to their solution's domain;
mismatches fail with DOMAIN_MISMATCH and are skipped.
- Solutions whose domain has no CLI profile are skipped with a
`wf domain add` hint (csx does not need a profile).
- update --all confirms once for all domains; reset asks which domain
first when several exist.
- Shared JSON/CSX ignore-pattern constants; dead processComponent
removed; README and CLAUDE.md updated.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
feat: multi-solution (multi-domain) workspace support
There was a problem hiding this comment.
Sorry @yilmaztayfun, you've used your own review budget of 250,000 diff characters for the last 7 days.
You can request another review in 1 day and 11 hours by commenting @sourcery-ai review. Upgrade to get a review now.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
Reviewer's GuideVersion 1.0.13 replaces single-project/active-domain execution with a multi-solution workspace model: solution files are discovered and processed sequentially using matching domain profiles, while all component discovery, Git/file routing, publishing safeguards, summaries, and documentation are updated to remain solution-scoped. Sequence diagram for sequential solution processingsequenceDiagram
participant User
participant CLI
participant Runner as runForEachSolution
participant Config as getDomainConfig
participant Core as CoreSolution
participant Partner as PartnerSolution
User->>CLI: update
CLI->>Runner: runForEachSolution(options)
Runner->>Config: getDomainConfig(core)
Runner->>Config: getDomainConfig(partner)
Runner->>Core: updateSolution(core)
Core-->>Runner: success, failed, errors
Runner->>Partner: updateSolution(partner)
Partner-->>Runner: success, failed, errors
Runner-->>CLI: WORKSPACE SUMMARY
CLI-->>User: Combined results
State diagram for solution profile selectionstateDiagram-v2
[*] --> Discovered
Discovered --> ProfileMatched: getDomainConfig
Discovered --> NoProfile: profile missing
ProfileMatched --> Selected: no --domain
ProfileMatched --> Selected: --domain matches
ProfileMatched --> Rejected: --domain differs
NoProfile --> Skipped: profile required
NoProfile --> Selected: csx command
Selected --> Processing
Processing --> Completed
Skipped --> [*]
Rejected --> [*]
Completed --> [*]
Flow diagram for solution-scoped component publishingflowchart TD
Start[Component JSON discovered] --> Metadata[getJsonMetadata]
Metadata --> DomainCheck{checkComponentDomain}
DomainCheck -->|mismatch| Error[Record DOMAIN_MISMATCH and skip]
DomainCheck -->|valid| Type[detectComponentType]
Type --> DBCheck[getInstanceId]
DBCheck -->|existing| Delete[deleteWorkflow]
DBCheck -->|missing| Publish[publishComponent]
Delete --> Publish
Publish --> Reinit[reinitializeSystem]
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary by Sourcery
Enable the CLI to manage multiple domain solutions per workspace with isolated processing, profile resolution, and consolidated reporting.
New Features:
Bug Fixes:
Enhancements:
Documentation: