Skip to content

Enabling Rust support for Temporal #58730

Open
@Manishearth

Description

@Manishearth

Hi!

I've been working on implementing ECMAScript Temporal upstream in V8. It's being implemented based on the temporal_rs and icu4x libraries, which are in Rust.

As such, it needs Rust support to work (initial V8 CL for adding Rust to DEPS.

When first working on this feature V8-in-Node CI was failing due to the lack of these vendored deps. So V8 now has a v8_enable_temporal_support that is enabled by default1 but disabled in some builds, including the Node build.

Presumably, NodeJS will eventually want to have support for Temporal. It's probably worth figuring out what is needed to get there even though there's still a fair amount of time for us to be ready to ship.

Opening this issue to start the conversation; I'm happy to help out upstream if needed.

A challenge that may crop up is that Node vendors v8 which means that it will have to vendor third_party/rust and the toolchain: currently V8's third_party/rust is the same as that of Chrome, which includes a lot of extra Rust deps that Chrome has (so far this hasn't been a problem). If Node doesn't wish to pull all of that in, it may need to do something build-system wise to download those deps but not check them in to the tree.

Footnotes

  1. Temporal is still disabled at runtime by default (the implementation is not ready); but it still gets built.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions