kaleidawave / ezno

A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance
https://kaleidawave.github.io/posts/introducing-ezno/
MIT License
2.3k stars 42 forks source link

Add more specification tests #100

Open kaleidawave opened 6 months ago

kaleidawave commented 6 months ago

If you haven't seen already Ezno has a document that outlines all its current checking capabilities!

image

Each section contains error diagnostics that arise when checking the code block above. and it's not all aesthetic these code blocks are tested against the checker with a custom testing crate

The aim of this document is to break down the features into parts so

At the time of writing. 129 tests currently pass

[!IMPORTANT] Ezno will hopefully be useful on new projects with little dependencies at around ~250 tests passing. At the around the 400-500 mark it might be ready for existing projects.

I need your help in writing more

  1. Write them in staging, merge them either into to_implement.md if it doesn't work or if they do, then specification.md
  2. Optionally write corresponding issues for failing specification tests
  3. Check existing specification.md for improvements to coverage or invalid cases

[!TIP] Maybe you have a favourite JS feature or something you think is great that TSC does great at checking and isn't currently covered. Then it would be great to add it!

this is a general issue, that can relate to many pull requests

kaleidawave commented 6 months ago

Will come back to this add more guidance in a few weeks. Just realised I should go into more detail about the difference to Ezno and TSC errors/diagnostics. I haven't published the document which shows a comparison yet...

kaleidawave commented 3 months ago

Notable areas that currently don't have specification tests for to_implement.md