1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-01-19 20:26:20 -05:00
denoland-deno/cli/js
Marvin Hagemeister 3fb8fc1ba7
feat(unstable): refactor js lint plugin AST (#27615)
This PR changes the underlying buffer backed AST format we use for
JavaScript-based linting plugins. It adds support for various new types,
makes traversal code a lot easier and is more polished compared to
previous iterations.

Here is a quick summary (in no particular order):

- Node prop data is separate from traversal, which makes traversal code
so much easier to reason about. Previously, it was interleaved with node
prop data
- spans are in a separate table as well, as they are rarely needed.
- schema is separate from SWC conversion logic, which makes 
- supports recursive plain objects
- supports numbers
- supports bigint
- supports regex
- adds all SWC nodes

Apologies, this is kinda a big PR, but it's worth it imo.

_Marking as draft because I need to update some tests tomorrow._
2025-01-14 13:31:02 +01:00
..
40_bench.js chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
40_jupyter.js chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
40_lint.js feat(unstable): refactor js lint plugin AST (#27615) 2025-01-14 13:31:02 +01:00
40_lint_selector.js feat(unstable): refactor js lint plugin AST (#27615) 2025-01-14 13:31:02 +01:00
40_lint_types.d.ts feat(unstable): refactor js lint plugin AST (#27615) 2025-01-14 13:31:02 +01:00
40_test.js chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00
40_test_common.js chore: Happy New Year 2025 (#27509) 2024-12-31 19:12:39 +00:00