chore: republish format-temporal - #75
Merged
Merged
Conversation
oRPC has no built-in Temporal support. A Temporal value is stringified by
its toJSON() during JSON encoding and nothing rebuilds it on the receiving
end, so it arrives as a plain string while TypeScript still reports it as a
Temporal type. Nothing throws at the boundary, so the mismatch surfaces
later as a confusing runtime failure.
Add an orpc-temporal package exporting temporalRPCSerializers, covering all
eight Temporal types: Instant, ZonedDateTime, PlainDate, PlainTime,
PlainDateTime, PlainYearMonth, PlainMonthDay, and Duration. Values round
trip through toJSON()/from(), preserving time zones, non-ISO calendar
annotations, nanosecond precision, and negative durations.
Serializer type IDs occupy 1000-1007, clear of oRPC's reserved 0-7 range,
and createTemporalRPCSerializers({ baseType }) relocates them if they
collide with a consumer's own serializers.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
WalkthroughA Changesets entry was added for ChangesPackage Republish
Estimated code review effort: 1 (Trivial) | ~2 minutes ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Reviewer's guide (collapsed on small PRs)Reviewer's GuideAdds a new Changesets entry to republish the existing File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
The current format-temporal release has a publishing issue, so it needs a new version cut even though its code is unchanged.
…poral types" This reverts commit 307aa97. Dropping the custom RPC serializer approach in favour of the direction taken in #70: Temporal values stay plain ISO strings on the wire, with temporal-zod validators reviving them on parse. Only the format-temporal republish changeset remains on this branch.
macalinao
marked this pull request as ready for review
July 28, 2026 11:45
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.
Adds a patch changeset to cut a new
format-temporalrelease. The current release has a publishing issue, so a new version needs to go out even though the package's code is unchanged.format-temporal0.5.3→0.5.4Verified with
changeset status: one patch bump, nothing else.Note the package is named
format-temporal, not@macalinao/format-temporal— every package in this repo uses a bare, unscoped name.Scope change
This branch previously carried a new
orpc-temporalpackage providing oRPC custom JSON serializers that revived Temporal instances from tagged payloads. That approach was dropped in favour of the direction in #70: Temporal values stay plain ISO strings on the wire, withtemporal-zodvalidators reviving them on parse. The package was reverted in 07759da, so the net diff here is the single changeset file above.Note on
bun.lockbun installon this branch produces an unrelatedbun.lockdiff, which I deliberately left out. Master's committed lockfile is stale relative to master's ownpackage.json— it records@changesets/cli@^2.31.0,turbo@^2.10.0, andtypedoc@^0.28.19whilepackage.jsonasks for^2.31.1,^2.10.5, and^0.28.20(bun 1.3.13 also adds aconfigVersionfield). This reproduces on a cleanmastercheckout and is worth a separate lockfile-refresh PR.Summary by Sourcery
Publish a new patch version of the format-temporal package to republish the existing code without functional changes.
Bug Fixes:
Build:
Summary by CodeRabbit
format-temporalpackage to address an issue with the previous release.