Commit Graph

4 Commits

Author SHA1 Message Date
Claude
8ac093817d Improve tests to verify devDependency priority with different versions
- Use dead registry URL (http://localhost:9999/) to ensure tests fail if npm is contacted
- Test with different versions for dev and peer dependencies to catch incorrect resolution
- Use workspace:* protocol for devDependencies in tests
- Add version verification to ensure correct package version is used

These tests will now properly fail if the wrong dependency resolution occurs.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 13:35:15 +02:00
Claude
8b03f2434a Fix integration tests to use isolated node linker and workspace packages
- Updated all test cases to use proper workspace configuration with nodeLinker: "isolated"
- Changed lockfile checks from bun.lockb to bun.lock
- Replaced external npm dependencies with workspace packages to avoid cross-device link errors
- Added error logging to help debug test failures

All tests now pass successfully with the refined workspace-specific fix.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 13:28:39 +02:00
Claude
438e27e99c Refine fix: Only prioritize devDependencies over peerDependencies for workspace packages
This commit refines the previous fix to be more targeted. Instead of always
prioritizing devDependencies over peerDependencies, we now only do this when
both behaviors have the workspace flag set.

This ensures that:
- Workspace packages with both dev and peer dependencies use the dev resolution
- Non-workspace packages follow the standard dependency priority rules
- The fix is specifically targeted to the Next.js monorepo isolated install issue

Changes:
- Added special handling in Behavior.cmp() for workspace packages
- Updated tests to reflect workspace-specific behavior
- Maintained backward compatibility for non-workspace packages

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 13:25:24 +02:00
Claude
1042043d9b Fix devDependency/peerDependency resolution priority
This commit fixes the issue where peerDependencies were overriding devDependencies
in the lockfile during package resolution, causing unnecessary network requests for
packages that should be resolved locally.

Changes:
- Modified Behavior.cmp() to prioritize devDependencies over peerDependencies
- Enhanced peer dependency resolution to prefer existing dev dependency resolutions
- Updated dependency sorting order comments to reflect new priority
- Added comprehensive test suite for dependency behavior comparison
- Added integration tests for Next.js monorepo scenario

The fix ensures that when a package has both devDependencies and peerDependencies
for the same package, the devDependency resolution takes precedence, preventing
unnecessary network requests during isolated installs.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-09 13:01:38 +02:00