MemberJunction / MemberJunction/MJ

open-app: enforce declared version ranges on fresh dependency installs (successor to #2713)

Open
#3,310 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TSQL
Stars
29
Forks
6
Avg merge
2d 1h
Merged PRs (30d)
323

Description

#2713 was closed as completed (2026-06-02), but the first limitation it documents is still present in code: declared version ranges are validated only for **already-installed** dependencies — `CheckDependencyVersionCompatibility` is called with `installed.Version` from `dependency-graph-builder.ts:207` and `dependency-resolver.ts:159` only, so a **fresh transitive install** never has its range checked (including diamond conflicts). Commit 337d26e0fb pinned these documented limitations with regression tests rather than closing the gap.

This matters more under the LTS process (PR #3241 §3.2): app compatibility is "declared ranges + CLI enforcement," so the enforcement half must cover the fresh-install path before apps lean on the contract. Tracked under punch item 10 in `plans/lts-process.md`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_019EfGkq8cW9drueo1vEN4sM

Contributor guide

Open the contributing guide

Research direction

Read dependency-graph-builder.ts around line 207 and dependency-resolver.ts around line 159, then review the regression tests added by commit 337d26e0fb. Trace the fresh transitive-install path and its diamond-conflict handling. Done means declared version ranges are enforced for fresh installs, with regression coverage for the remaining limitation.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cli, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.