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.44k stars 45 forks source link

Improve parser #111

Closed kaleidawave closed 7 months ago

kaleidawave commented 8 months ago
Done
Not great stuff introduced
github-actions[bot] commented 8 months ago

👋 Thanks for the PR. Please add a description to the PR, so others know what has been changed :)

kaleidawave commented 7 months ago

Should look at the issue found here: https://gist.github.com/H-Plus-Time/fef7b91f2742fc0aed3dc6722756bb22?permalink_comment_id=4885532#gistcomment-4885532

kaleidawave commented 7 months ago

💚💚💚 image

kaleidawave commented 7 months ago

Just left is some TypeDeclarationModule stuff (might remove and have it all under Module). The following should parse only in type definition modules (it is the last thing to fix from the definition file generated in #114)

export default function x(): string;

Need a special default export variant which is an expression function with an optional body (normally all expression functions have to have a body but not in this case). Will fix tomorrow

kaleidawave commented 7 months ago

Lesson learnt: 10 minutes of sequential fuzzing runs doesn't run the same amount as 2 minutes of parallel fuzzing

kaleidawave commented 7 months ago

The fuzzer has something personal against me

image