a proposal to bring protocol-based interfaces to ECMAScript users
active 2023-08-23 → 2026-03-20 (UTC)
Activity over time
Daily event counts in the loaded window
Line chart, 941 days from 2023-08-23 to 2026-03-20. Pushes: 41 total, peak 8 in a day. Pull requests: 3 total, peak 2 in a day. Issues: 41 total, peak 11 in a day. Comments: 123 total, peak 38 in a day. Stars: 31 total, peak 5 in a day.
- Pushes
- Pull requests
- Issues
- Comments
- Stars
Stars, PRs, issues and forks are under-captured in the later part of this window. GH Archive progressively stopped capturing non-push events during 2026 — −95% or worse by the end of the window. Every series here except Pushes fades for that reason, so a decline above reflects the archive, not this repository. Pushes stay reliable throughout, so read them, and the contributor counts derived from them, as the real signal. Data health has the measurements.
Top contributors
Pushes, PRs, issues, reviews and comments — stars and forks excluded, so this is contribution rather than popularity
| Contributor | Contributions | Pushes | PRs | Comments |
|---|---|---|---|---|
| LeaVerou | 92 | 26 | 3 | 33 |
| michaelficarra | 74 | 15 | 0 | 41 |
| ljharb | 23 | 0 | 0 | 21 |
| mlanza | 10 | 0 | 0 | 9 |
| bakkot | 6 | 0 | 0 | 6 |
| Jamesernator | 6 | 0 | 0 | 5 |
| ziadkh0 | 2 | 0 | 0 | 2 |
| bergus | 1 | 0 | 0 | 1 |
| samualtnorman | 1 | 0 | 0 | 1 |
| rollo-b2c2 | 1 | 0 | 0 | 1 |
| ValorZard | 1 | 0 | 0 | 1 |
| justinfagnani | 1 | 0 | 0 | 1 |
| nicolo-ribaudo | 1 | 0 | 0 | 1 |
Recent activity
Latest issues, pull requests and releases
- Issue comment#95samualtnorman2026-03-18 09:36Tree-shakeable protocol definitions
- Issue comment#95ljharb2026-03-17 17:09Tree-shakeable protocol definitions
- Issue comment#91ljharb2026-03-12 15:29what's the prototype of a protocol look like?
- Issue comment#78ljharb2026-03-11 21:17Do we need a `satisfies` operator?
- Issue comment#80michaelficarra2026-03-10 18:18What happens with duplicate members?
- Issue comment#33justinfagnani2026-03-08 00:50Relationship with the mixins proposal
- Issue comment#76ljharb2026-03-07 01:27If a provided method already exists, the existing one should win (not error)
- Issue comment#33ljharb2026-03-07 01:26Relationship with the mixins proposal
- Issue comment#76bakkot2026-03-07 00:52If a provided method already exists, the existing one should win (not error)
- Issue comment#61LeaVerou2026-03-07 00:26Can provided members satisfy other protocols?
- Issue comment#33ljharb2026-03-06 23:50Relationship with the mixins proposal
- Issue comment#76bakkot2026-03-06 23:33If a provided method already exists, the existing one should win (not error)
- Issue comment#61LeaVerou2026-03-06 19:58Can provided members satisfy other protocols?
- Issue#76LeaVerou2026-03-06 16:35If a provided method already exists, the existing one should win (not error)
- Issue comment#66michaelficarra2026-03-05 22:49interaction with private names
- Issue comment#85michaelficarra2026-03-05 22:48Protocols should be able to provide plain data properties
- Issue#63LeaVerou2026-03-03 23:10Defer `implemented by`?
- Issue#63LeaVerou2026-03-03 23:10Defer `implemented by`?
- Issue#60michaelficarra2026-03-03 22:59Should protocols be able to implement other protocols? And if so, do we still need `extends`?
- Issue#50michaelficarra2026-03-03 22:47Explicit `requires`/`abstract` keyword?
- Issue#75LeaVerou2026-03-03 21:51Deep protocols: Generalize `static` by supporting provided members on subobjects?
- Issue comment#81LeaVerou2026-03-03 21:15Do sub-protocol members create members on the parent protocol?
- Issue comment#80ValorZard2026-02-25 06:15What happens with duplicate members?
- Issue#82LeaVerou2026-02-24 23:50Protocol representation as object literal
- Issue#82LeaVerou2026-02-24 23:50Protocol representation as object literal
Totals cover only the window loaded into ClickHouse and count events, not GitHub's lifetime totals — 31 stars here means stars gained during the window, not the repo's star count.