⌚ Temporal

Philip Chimento
Igalia, in partnership with Bloomberg
TC39 October 2024

Progress update

After 7 years, Temporal is close to done. We have cleaned out the issue tracker and finished all the editorial changes that anyone has requested. We will continue to analyze code coverage metrics and submit additional test262 tests.

Ship it! 🐿️

Please go ahead with implementations and ship them, unflagged when they are ready.

  • If something is preventing you from shipping Temporal, let us know and work with us to resolve ASAP
  • Don't wait! If we need to make changes, we want to make them now

You are welcome at the Temporal champions meeting, biweekly Thursdays at 08:00 Pacific (or we will happily meet another time if this time doesn't work for you)

Test conformance as of October 2024

  • SpiderMonkey: 95%
  • GraalJS: 89%
  • LibJS: 75%
  • V8: 74%
  • JavaScriptCore: 41%
  • Boa: 37%

Questions?

Do you have existing plans for a timeline to ship Temporal in your implementation? If so, would you like to share now?

Proposed summary for notes

The proposal is as close to frozen as anything can be in Stage 3. Implementations should complete work on the proposal and ship it, and let the champions know ASAP if anything is blocking or complicating that. You are welcome to join the champions meetings.

npx test262-harness --hostType=sm --hostPath=$HOME/workspace/gecko/obj-debug-x86_64-pc-linux-gnu/dist/bin/js -f Temporal "test/**/*.js" npx test262-harness --hostType=v8 --hostPath=$HOME/.esvu/bin/v8 -f Temporal --hostArgs=--harmony-temporal -- "test/**/*.js" # requires https://github.com/bterlson/eshost/pull/139 LD_LIBRARY_PATH=$HOME/.local/lib64 npx test262-harness --hostType=jsc --hostPath=$HOME/.esvu/bin/ladybird-js -f Temporal --hostArgs=--use-test262-global -- "test/**/*.js" npx test262-harness --hostType=jsc --hostPath=$HOME/.esvu/bin/jsc -f Temporal --hostArgs=--useTemporal=1 -- "test/**/*.js" cargo run --release --bin boa_tester -- run --test262-path $HOME/workspace/test262 -s ... (test/built-ins/Temporal, test/intl402/Temporal, test/staging/Temporal, test/staging/Intl402/Temporal, test/intl402/DateTimeFormat/**/*temporal*) npx test262-harness --hostType=graaljs --hostPath=$HOME/.esvu/bin/graaljs -f Temporal --hostArgs='--experimental-options --js.temporal' -- "test/**/*.js" npx test262-harness --hostType=node --hostPath=$HOME/.local/bin/deno -f Temporal --hostArgs='run --unstable-temporal' -- "test/**/*.js"