Skip to content

Force rxjs to 7.8.1 across workspace (unblocks #109)#142

Merged
keysersoft merged 3 commits into
mainfrom
keysersoft/rxjs-final
May 10, 2026
Merged

Force rxjs to 7.8.1 across workspace (unblocks #109)#142
keysersoft merged 3 commits into
mainfrom
keysersoft/rxjs-final

Conversation

@keysersoft
Copy link
Copy Markdown
Contributor

Summary

Follow-up to PR #140. With the @nestjs/cli 11.0.21 bump in #109, the bumped @angular-devkit/* (transitive of nest-cli) hard-pins rxjs to 7.8.1 at the root. With backend pinned to 7.8.2, npm installs a second rxjs at packages/backend/node_modules/rxjs, reproducing the duplicate-Observable typecheck error.

Fix

  • Pin backend to rxjs: 7.8.1 (matching what angular-devkit drives at root).
  • Add root override "overrides": { "rxjs": "7.8.1" } to keep all consumers aligned regardless of future bumps.

After this, only node_modules/rxjs is hoisted; nested copies remain in @angular-devkit/*, concurrently, @nestjs/schematics but are isolated to those tools' internals.

Test plan

Follow-up to the previous rxjs pin (7.8.2): with the @nestjs/cli 11.0.21
bump in PR #109, npm hoists rxjs 7.8.1 at the root because the bumped
@angular-devkit/* (transitive of nest-cli) hard-pins rxjs to 7.8.1.
Backend pinned to 7.8.2 then ends up with a nested rxjs at
packages/backend/node_modules/rxjs, reproducing the duplicate-Observable
typecheck error.

Pinning backend to 7.8.1 and adding a root override 'rxjs: 7.8.1' aligns
backend with the angular-devkit-driven root resolution. The remaining
@nestjs ecosystem also accepts 7.8.1 (their range is ^7.8.0 or wider).
After this change npm hoists a single rxjs at root; nested copies in
@angular-devkit/concurrently/@nestjs/schematics remain but are isolated
to those tools' internals and never collide with backend types.
Regenerating the lockfile to apply the rxjs override also bumped
eslint-plugin-react-hooks transitively from 7.0.1 to 7.1.1 (via
eslint-config-next), which introduced a new 'use-before-define'
rule that flags two pre-existing patterns in the frontend
(connectors/store/page.tsx and settings/license/page.tsx). Pinning
the plugin to 7.0.1 keeps the lockfile aligned with main's behaviour;
the new rule can be addressed in a separate PR.
@keysersoft keysersoft merged commit acc35da into main May 10, 2026
10 checks passed
@keysersoft keysersoft deleted the keysersoft/rxjs-final branch May 10, 2026 09:40
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