chore(deps): interface-core as bounded peer + dev dependency - #4
Merged
Conversation
Comment on lines
49
to
56
| "publishConfig": { | ||
| "access": "public" | ||
| }, | ||
| "antelopeJs": {} | ||
| "antelopeJs": {}, | ||
| "peerDependencies": { | ||
| "@antelopejs/interface-core": ">=0.0.5 <0.1.0" | ||
| } | ||
| } |
There was a problem hiding this comment.
The
peerDependencies field is placed after the custom antelopeJs field rather than grouped with the other dependency fields (dependencies, devDependencies). Conventional package.json ordering puts peer dependencies adjacent to the other dep sections, which improves readability and is expected by most tooling and documentation generators.
Suggested change
| "publishConfig": { | |
| "access": "public" | |
| }, | |
| "antelopeJs": {} | |
| "antelopeJs": {}, | |
| "peerDependencies": { | |
| "@antelopejs/interface-core": ">=0.0.5 <0.1.0" | |
| } | |
| } | |
| "peerDependencies": { | |
| "@antelopejs/interface-core": ">=0.0.5 <0.1.0" | |
| }, | |
| "publishConfig": { | |
| "access": "public" | |
| }, | |
| "antelopeJs": {} | |
| } |
Prompt To Fix With AI
This is a comment left during a code review.
Path: package.json
Line: 49-56
Comment:
The `peerDependencies` field is placed after the custom `antelopeJs` field rather than grouped with the other dependency fields (`dependencies`, `devDependencies`). Conventional package.json ordering puts peer dependencies adjacent to the other dep sections, which improves readability and is expected by most tooling and documentation generators.
```suggestion
"peerDependencies": {
"@antelopejs/interface-core": ">=0.0.5 <0.1.0"
},
"publishConfig": {
"access": "public"
},
"antelopeJs": {}
}
```
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Interfaces are host-provided runtime singletons, so they move to peerDependencies. The range keeps the original lower bound (no forced upgrade) and is bounded to the current major (<1.0.0). devDependencies mirror the exact same range so local/CI builds exercise the full supported window, and the field is grouped with the other dependency sections.
Upd4ting
force-pushed
the
chore/peer-interface-deps
branch
from
June 15, 2026 21:52
b18e336 to
e0b86ad
Compare
Member
Author
|
@greptileai review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Move
@antelopejs/interface-corefrom dependencies to peerDependencies (bounded to the current major, e.g.>=0.0.5 <0.1.0) and mirror it in devDependencies for standalone compilation. interface-core is a host-provided runtime singleton; this avoids dual installs and version-pinning overrides downstream. Verified: install, build, lint.Greptile Summary
This PR moves
@antelopejs/interface-corefrom a runtimedependencyto apeerDependency(with a mirroreddevDependency), which is the correct pattern for a host-provided singleton to avoid duplicate installs and version-pinning conflicts in consuming projects.>=0.0.3 <1.0.0is broader than the PR description's stated intent ("bounded to the current major, e.g.>=0.0.5 <0.1.0"). For a pre-1.0 package, minor-version bumps (0.1.0,0.2.0, …) can carry breaking changes, so the safe bound is<0.1.0, not<1.0.0.devDependenciesentry carries the same wide range and should be tightened to match, so local builds exercise the same constraint consumers will see.Confidence Score: 4/5
The structural intent is correct — moving interface-core to a peer dep is the right pattern — but the version range is wider than intended and could allow incompatible pre-1.0 minor releases to satisfy the constraint downstream.
The peer and dev dependency range >=0.0.3 <1.0.0 permits any 0.x.x version of a pre-1.0 package where minor bumps are not guaranteed to be non-breaking. The PR description explicitly states the goal as bounding to the current minor series, making the wider range an unintentional overshoot that could cause compatibility issues for downstream consumers.
package.json — the peerDependencies and devDependencies version range for @antelopejs/interface-core needs to be tightened from <1.0.0 to <0.1.0
Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A["Consumer project\n(installs interface-stripe)"] -->|"peerDependencies\n>=0.0.3 <1.0.0"| B["@antelopejs/interface-core\n(host-provided)"] A -->|"dependencies"| C["@antelopejs/interface-stripe"] C -->|"runtime dependency"| D["stripe ^18.5.0"] C -->|"devDependencies (build only)"| B style B fill:#f9c,stroke:#c66 style C fill:#cdf,stroke:#66c%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% flowchart TD A["Consumer project\n(installs interface-stripe)"] -->|"peerDependencies\n>=0.0.3 <1.0.0"| B["@antelopejs/interface-core\n(host-provided)"] A -->|"dependencies"| C["@antelopejs/interface-stripe"] C -->|"runtime dependency"| D["stripe ^18.5.0"] C -->|"devDependencies (build only)"| B style B fill:#f9c,stroke:#c66 style C fill:#cdf,stroke:#66cReviews (2): Last reviewed commit: "chore(deps): interface deps as bounded p..." | Re-trigger Greptile