Conversation
✅ Changeset detectedLatest commit: 7f3b8ef
If no version change is needed, please add The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
|
NPM Packages📦 @naverpay/piteTotal Sizes: 15.9 kB Total Changes: +5.66 kB (+55%) 🔍 (Size Increased)
ℹ️ View Unchanged Files
🧩 Dependency Changes
powered by: naverpay size-action |
e4f9e06 to
35b809a
Compare
There was a problem hiding this comment.
Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.
Once credits are available, push a new commit or reopen this pull request to trigger a review.
|
@claude review this PR please. |
|
Claude finished @yujeong-jeon's task in 2m 32s —— View job Claude PR Review
Nice, focused addition. The split between pure logic (src/phantom-deps.ts) and presentation (src/plugins/rollup-plugin-phantom-deps.ts) is clean, and reusing A few things worth looking at: 🟡 Findings1.
Both ranges actually mean "any version" — they're semantically unverifiable at build time (the resolved version depends on what the registry returns at install). Suggest routing them to const range = toSemverRange(declared)
if (range === null || range === '' || semver.validRange(range) === '*') {
unverifiable.set(name, {declared, required})
continue
}2. Pre-release floors get flagged as If a consumer declares 3. If 4. Wording inconsistency between misplaced-hint and Fix block — When a phantom is misplaced, the line above says "move it to 5. JSON type is unchecked after parse —
6. No tests for the parsing logic — new file
Add tests for phantom-deps parsing → 🔍 Smaller notes
✅ Things I like
Overall: ready to merge once the |
|
@claude addressed findings 1, 4, 5 |
|
Claude finished @djk01281's task in 4m 9s —— View job Follow-up: verifying fixes for findings 1, 4, 5
✅ Finding 1 — fixedconst valid = semver.validRange(range)
return valid === null || valid === '*' ? null : rangeYou put the gate inside ✅ Finding 4 — fixed
const fixDependencies = (entries: [string, {required: string; misplacedIn?: string}][]): string[] => {
const allMisplaced = entries.every(([, p]) => p.misplacedIn)
const verb = allMisplaced ? 'move to' : 'add to'
...
}When every phantom has a ✅ Finding 5 — fixedconst findMisplaced = (pkg: Manifest, name: string): string | undefined => {
for (const field of ['peerDependencies', 'optionalDependencies', 'devDependencies'] as const) {
const deps = pkg[field]
if (deps && typeof deps === 'object' && name in deps) {
return field
}
}
...
}The specific crash I flagged ( 🔍 One residual edge worth knowing about (no action needed)
All three findings look correctly addressed — ready to ship. |
Related Issues
Describe your changes
Summary
phantomDepCheckoption (severity: 'error' | 'warn' | 'off', default'error').core-js-pure(the polyfill pite injects into the build output) and classifies how the consumer'spackage.jsoncovers the injected import:dependencies/bundledDependencies?severity: 'error'3.39.0)severity: 'error'catalog:,workspace:*,latest, git, tarballphantom, ifcore-js-pureis found inpeerDependencies/optionalDependencies/devDependencies, the error points to where it sits so the fix is "move it todependencies".Impact
core-js-pure: must declarecore-js-pure >= 3.39.0independencies, otherwise the build fails with a concrete instruction.catalog:/workspace:*/latest/ git / tarball: warned but not blocked, so legitimate monorepo setups keep working. Ensure the resolved version is>= 3.39.0.core-js-pure: plugin passes, nothing to check.