ezno
ezno copied to clipboard
A JavaScript compiler and TypeScript checker written in Rust with a focus on static analysis and runtime performance
This Fixes #140. In this pr is implemented the expression `import.meta` in parser and checker. Also fix some parsing errors related to dynamic import. ### Primary features `import.meta` is setted...
There's no implementations for import meta. It is trying to parse as dynamic import. ``` error: ┌─ file.ts:1:23 │ 1 │ const isProduction = import.meta.env.PROD; │ ^ Expected OpenParentheses found...
Implements excess params checks as described in #42. Updates to the various tests are included. Two new tests are also added to `specification.md`.
This PR implements setters support as described in #39. Note: In `run_setter_on_object`, we do an expect on the optional `setter_position` field, as the FunctionType.call method requires a SpanWithSource. I looked...
It would be nice to allow Ezno to have more guards and checks than Typescript. One of those is performing excess property checks on spreading (which Typescript doesn't do), link...
Given an array like ```ts let x = [1, 4, "item"] ``` It is typed (or will be as `{ [0]: 1, [1]: 4, [2]: "item" }`). The problem is...
Right now `unknown` isn't supported: If I try to check ```ts function returnsUnknown(): unknown { return 2; } ``` I get `Cannot find type unknown`. --- Based on the Ezno...
- Built using the Ezno WASM library and codemirror editor - Can take a search parameter to share specific snipptes - (will be) deployed to GitHub pages
```ts function loops(): never { while (true); } loops() satisfies never ``` When I check this block of code I get an error of "Cannot find type never". I suspect...
Currently the checker is built around definitions from this file https://github.com/kaleidawave/ezno/blob/main/checker/definitions/overrides.d.ts To support more of the runtime (as highlighted in #118), the checker should be able to use definitions from...