Speeding up the JavaScript ecosystem part 11 is here! This time we're looking at:
Extending Rust tools with JavaScript plugins
https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-11/
Extending Rust tools with JavaScript plugins
https://marvinh.dev/blog/speeding-up-javascript-ecosystem-part-11/
Comments
I have a few questions if you don't mind (feel free to reply at the end so we don't have many threads)
There is no Rust involved in the evaluation of these rules, correct? So you have two systems for running rules: one for Rust rules and one JS plugin rules.
The properties array contains very different data, which I'm therefore assuming isn't/can't be monomorphized. Is that correct?
Is there any code that I can take a look at to understand more? I can't find anything resembling in deno_lint.
- there are both Rust rules and JS rules
- properties remain polymorphic (that's how its spec'ed in TSESTree)
- code is in Deno repo
This looks _very_ similar to how the React DevTools serializes updates to the component tree:
https://blog.isquaredsoftware.com/presentations/2023-10-react-devtools-replay/?slideIndex=12&stepIndex=0
/cc @brian.blue
I'd say the key difference is that React DevTools thinks more in terms of operations rather than a full tree structure. All Fibers have the same structure too. Props are different but they're only loaded when you click a node.
Learned a lot about data formats from them. Was an amazing time!
I heard on the Devtools podcast that Tailwind and/or VoidZero (can’t recall) are investigating the same. The idea came up on Hacker News too.