Repository navigation
fix(apollo-vertex)!: declare vs-core and react-db as peers, move Proteus to a subpath - #1409
ruudandriessen wants to merge 7 commits into
Conversation
…eus to a subpath BREAKING CHANGE: import createProteusProvider from @uipath/apollo-vertex/proteus.
Dependency License Review
License distribution
Excluded packages
|
There was a problem hiding this comment.
🔵 Needs a closer look
The breaking export relocation and changed peer dependency graph need isolated consumer validation before approval.
2 open issues
1 file not reviewed
pnpm-lock.yaml: Generated file
What changed in this PR
This PR corrects Apollo Vertex’s peer declarations and isolates the private Proteus adapter from root imports.
Changes:
- Moves Proteus exports to
/proteus. - Replaces dependency stubs with real types and updates collection access.
- Tightens distribution checks and updates setup documentation.
| File | Description |
|---|---|
| pnpm-lock.yaml | Records new dependency resolutions. |
| packages/apollo-vertex/types/optional-deps.d.ts | Removes React DB and vs-core stubs. |
| packages/apollo-vertex/skills/setup/SKILL.md | Updates peer installation guidance. |
| packages/apollo-vertex/scripts/check-dist.mjs | Rejects meta-only root dependencies. |
| packages/apollo-vertex/registry/solution-tests/use-solution-tests.ts | Uses the collection lookup helper. |
| packages/apollo-vertex/registry/solution-tests/use-solution-test-collection.ts | Adds typed collection lookup. |
| packages/apollo-vertex/registry/shell/use-group-members.ts | Infers query types. |
| packages/apollo-vertex/registry/shell/use-group-id.ts | Infers query types. |
| packages/apollo-vertex/README.md | Documents peers and Proteus imports. |
| packages/apollo-vertex/package.json | Declares peers and Proteus subpath. |
| packages/apollo-vertex/entries/proteus.ts | Exports the isolated adapter. |
| packages/apollo-vertex/entries/index.ts | Removes root Proteus exports. |
| knip.jsonc | Narrows ignored dependencies. |
| apps/apollo-vertex/content/docs/templates/solution-tests.mdx | Updates React DB installation guidance. |
| apps/apollo-vertex/content/docs/getting-started.mdx | Revises peer setup instructions. |
| apps/apollo-vertex/content/docs/components/feature-flags.mdx | Uses Proteus subpath imports. |
Review effort: Balanced
📊 Coverage + size by packagePer-package coverage and bundle size on this PR. New-line coverage = of the source lines this PR adds or changes, the % hit by tests.
"Coverage" is each package's own |
…he vs-core docs range
There was a problem hiding this comment.
🔵 Needs a closer look
The breaking export migration and newly required peer dependency graph still need validation in an independent consumer build.
1 open issue
2 resolved since last review
1 file not reviewed
pnpm-lock.yaml: Generated file
Review effort: Balanced
Storybook visual diff✅ No stories are affected by this PR's changes; nothing to compare. Logs Updated (PT): Oct 19, 2026, 06:03:52 AM |
There was a problem hiding this comment.
🔵 Needs a closer look
The breaking export migration and coupled peer dependencies still need validation in a clean consumer app before maintainer approval.
No open issues 🎉
1 resolved since last review
1 file not reviewed
pnpm-lock.yaml: Generated file
Review effort: Balanced
…st, exempt @UiPath job-wide


Why
@tanstack/react-db,@uipath/vs-coreand@uipath/proteus-clientwere declared only inpeerDependenciesMeta, yet the root barrel imports all three. An app that imports onlyButtoncould still fail to resolve them, for example in Vite dev.check-dist.mjstreated a meta-only entry as declared, so CI didn't catch it.@uipath/vs-coreis now on public npm (4.5.1), so it andreact-dbcan be normal peers.@uipath/proteus-clientstill isn't public, so it gets a workaround.What
@tanstack/react-db(^0.1.83) and@uipath/vs-core(^4.4.0) are nowpeerDependencies, and also dev dependencies. Their type stubs intypes/optional-deps.d.tsare gone, so the package builds against the real types.createProteusProvider,FlagMappingandProteusFeatureFlagValuesmove to a new@uipath/apollo-vertex/proteussubpath.@uipath/proteus-clientstays an optional peer (meta only), and the root entry no longer reaches it.check-dist.mjs: the root entry may import onlydependenciesandpeerDependencies. Meta-only peers are allowed only from subpaths.useGroupIdanduseGroupMemberspassed a row type touseLiveQuery, which the real API doesn't accept. The collections are now inferred.solutionTestsfrom the app's registered entities, which this package can't see. A newgetSolutionTestCollectionhelper looks a collection up by name.react-db0.1.83,query-db-collection1.0.36 anddb0.6.5. Each TanStack DB package pins an exact@tanstack/db, and with open ranges pnpm picked two copies whose collections don't work together. The README, docs and setup skill now tell consumers to match these versions.knip.jsoncare updated.Breaking
createProteusProviderand its types are no longer exported from the root. Import them from@uipath/apollo-vertex/proteus.Verification
All of these pass locally against the published
@uipath/vs-core@4.5.1: package and docs-apptypecheck,lint, vitest (46 tests),buildincludingcheck-dist,knipandformat:check.check-distfails as expected (.: imports undeclared package @uipath/vs-core) when vs-core is put back as a meta-only peer. I haven't run a build in a separate consumer app.