Open sourcing Ezno's checker and trying out / previewing the JavaScript type checker today · kaleidawave ezno · Discussion #21

3 min read Original article ↗

Firstly, to not waste anyone's time, do not bother running this currently on any existing projects. It does not currently support import, loops, async and loads of other JavaScript features. This is an early release to showcase functions, object, events and basic typing. More of those features coming shortly, once the architecture has been initially tried out.

I have created a quick start guide for trying Ezno today

If you haven't heard of Ezno before you can read the initial announcement for a idea of some features implemented in this release and the aims of the project.

Ezno's checker is now open source 🎉. Additionally I have spent the last week integrating it into the Oxc CLI. If you haven't heard of it before, Oxc is a suite of tools for the JavaScript / TypeScript language and boshen offered up his fast and correct parser and AST to help get Ezno's checker out quicker. There is now a new crate that combines Oxc's ASTs and Ezno's checker and contexts for fast and correct type checking. While not the end of my own parser, it means I can focus more on type checking rather getting caught up in building a correct JavaScript parser.

You can get the new Oxc CLI though its release page, via npm or directly check a file with npx npx oxidation-compiler@latest check file.ts. Be sure to checkout the example file for a walkthrough of currently supported features.

image

Next steps

When you find issues, check for duplicates and if not documented before post them here. If you have questions or feedback with the overall direction of the project post them in discussions. For contributing consider checking out existing issues and the docs. In the following weeks I may create a Zulip server for helping contributors.

Support for Ezno is coming soon to Oxc's online playground. I have more updates, posts and features coming over the next few weeks. This release does not include Ezno's own CLI (with the REPL), the LSP and the experimental type based optimisers for both JS and frameworks. They will hopefully be made public in the next few weeks.

You can follow me to stay up to date on those.

🙌

A big thanks for all the have show interest, early contributors who have helped with testing and improving integrations and thanks for Gregoor, TomasHubelbauer and reuben for sponsoring to help make the project viable! All sponsorships are incredibly valuable, so if you want to see development continued and are in the position to do so, considering sponsoring today!