Add support for Temporal API
- Dominant language
- TypeScript
- Stars
- 101k
- Forks
- 27.5k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 288
Description
### Which @angular/* package(s) are relevant/related to the feature request?
_common_
### Description
The Temporal API reached TC39 Stage 4 in March 2026 and is now part of ES2026. It's shipping natively in Firefox 139+, Chrome 144+, and Edge 144+, with Node.js 26+ enabling it unflagged, and TypeScript 6.0 ships built-in types under `esnext.temporal`. Safari currently only has partial support in Technology Preview, so it's clearly not yet a baseline that Angular could require but the trajectory suggests full cross-browser support isn't far off.
This isn't a request to ship full Temporal support in `DatePipe` today. It's a proposal to start thinking about the design now, so that when Safari catches up, Angular is ready to fully support it.
I'm happy to help with the design discussion and, if the proposal is accepted and the timing is appropriate, I'd also be interested in working on an implementation.
### Proposed solution
Open a discussion on how `DatePipe` *would* extend to accept `Temporal.PlainDate`, `Temporal.PlainDateTime`, `Temporal.ZonedDateTime`, and `Temporal.Instant` inputs.
### Alternatives considered
- Wait until Safari ships full support before discussing anything.
- A separate `TemporalPipe` or `TemporalDatePipe`.
- Leaving `DatePipe` as it is.
Contributor guide
Research direction
Start by reviewing Angular's DatePipe entry point and its current input types and date-handling behavior. Compare the proposed Temporal.PlainDate, Temporal.PlainDateTime, Temporal.ZonedDateTime, and Temporal.Instant cases, then document a decided API direction; this issue does not identify specific files or tests for implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100