aws / aws/jsii

A peer dep is required even if public API does not expose types from dep

Open
#2,942 1 comment 3 reactions 0 assignees View on GitHub
bug module/jsii p2
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.