Skip to content

Replace Luxon with Temporal #31

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

mjradwin
Copy link

Here's an implementation of #28, which replaces the use of Luxon with Temporal.

The transformation was pretty straightforward. Mostly occurrences of DateTime become Temporal.ZonedDateTime, however there are some places where we use Temporal.PlainDate.

The other tricky part is comparisons, which require use of a special static function Temporal.ZonedDateTime.compare() instead of just using < or > or <=.

I've added an additional unit test for the NOAA calculator with an elevation, which lines up to the Java implementation for a handful of functions down to the second.

@mjradwin
Copy link
Author

mjradwin commented Apr 8, 2025

Would you be willing to review this pull request?

@BehindTheMath
Copy link
Owner

BehindTheMath commented Apr 9, 2025

@mjradwin I will try to take a look over Yom Tov. However, I think this should wait to be released until Temporal has higher usage.

@ShlomoCode
Copy link

@KosherJava
Copy link

Not quite there yet. See https://caniuse.com/temporal

@mjradwin
Copy link
Author

@mjradwin I will try to take a look over Yom Tov. However, I think this should wait to be released until Temporal has higher usage.

Thanks for reviewing. If you want to wait for the Temporal spec to be fully ratified (it's currently TC39 Stage 3, and not all the way to Stage 4), I do understand. How would you feel if release my fork on npm as @hebcal/zmanim? I'd like to begin using the software on the hebcal.com website - there is at least one feature request that could be satisfied by having this available

https://hebcal.userecho.com/communities/1/topics/1552-please-add-zmanim-according-to-the-baal-hatanya

@ShlomoCode
Copy link

@mjradwin You can install with npm directly from your fork

npm i https://github.com/mjradwin/KosherZmanim/tree/master

@mjradwin
Copy link
Author

Hi @BehindTheMath, we'd love to get this merged into your tree if you're willing to review the PR.

I understand the reluctance to release. It's just one data point, but we've been using the temporal-polyfill package in production for over a year now and are very comfortable using this as a dependency.

We'd rather not wait for Temporal to be widely adopted as a browser and node.js builtin as this is probably still a year or two away. Are you OK with us releasing a @hebcal/KosherZmanim fork in the interim?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants