Remix.run Logo
slopinthebag 10 hours ago

> Currently, the Oxc transformer does not support lowering native decorators as we are waiting for the specification to progress

Does Oxc also support TS runtime features like constructor parameter properties and enums? I seem to recall in the beta that they had enabled --erasableSyntaxOnly, presumably because Rolldown / Oxc didn't support doing a full transform.

ameliaquining 8 hours ago | parent [-]

Yes, those work fine: https://playground.oxc.rs/?options=%7B%22run%22%3A%7B%22lint...

For that matter, TypeScript's version of decorators ("experimental decorators") also works: https://playground.oxc.rs/?options=%7B%22run%22%3A%7B%22lint...

What's not supported is the current draft proposal for standardized ECMAScript decorators; if you uncheck experimentalDecorators, the decorator syntax is simply passed through as-is, even when lowering to ES2015.

Benjamin_Dobell 8 hours ago | parent | next [-]

TC39 decorators emit just landed in tsgo about 24 hours ago. Hopefully they're available in Vite 8 soon. I'm using them in GodotJS https://github.com/godotjs/GodotJS/commit/a4bafef9f14c103b09...

krona 5 hours ago | parent | prev | next [-]

It doesn't support const enum, unlike esbuild which supports them well enough to be credible.

https://github.com/oxc-project/oxc/issues/6073

slopinthebag 8 hours ago | parent | prev [-]

Awesome. Standard decorators support is not a dealbreaker for me, but enums and other types of non-erasable syntax would be.

Do you know what the status is on using Rolldown as a crate for rust usage? At the moment most rust projects use SWC but afaik its bundler is depreciated. I usually just call into Deno for builds but would be nice to have it all purely in Rust.