A peer dep is required even if public API does not expose types from dep
- Dominant language
- TypeScript
- Stars
- 2.9k
- Forks
- 267
- Avg merge
- 1d 25m
- Merged PRs (30d)
- 14
Description
## :bug: Bug Report
### Affected Languages
- [x] `TypeScript` or `Javascript`
- [x] `Python`
- [x] `Java`
- [x] .NET (`C#`, `F#`, ...)
- [x] `Go`
### General Information
* **JSII Version:**
* **Platform:**
### What is the problem?
If a jsii module takes a dependency on another jsii module without exposing dependency types in its public API, jsii should not require that the dependency is defined as "peer" because its simply an implementation detail.
### Verbose Log
https://github.com/aws/jsii/blob/78492b8688a4c03e5ec9dcf88ae0726d34e60720/packages/jsii/lib/project-info.ts#L115-L118
Contributor guide
Research direction
Start in packages/jsii/lib/project-info.ts around lines 115-118, the location linked in the report, and trace how dependency types are classified. Verify the behavior for a jsii dependency whose types are not exposed in the public API; done means that dependency is not required to be declared as a peer dependency while dependencies whose types are exposed still are.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100