Srijan Paul

@injuly

Implementing a better JavaScript toolchain from the ground up, in Zig.

Submitted Oct 22, 2024

JavaScript tooling is messy, and their performance less than ideal.

Linters today can only do so much with your source code, and it’s not uncommon to find eslint-ignore comments in just about every large JS repository. Surely, it should be possible for linters to reason about programs beyond just treating them as syntax trees?

In this presentation, I go over my ideas and implementation of a performance-conscious web tool chain built from the ground up.
We’ll cover:

  1. How to represent source code in a memory and cache efficient format.
  2. Data flow analysis, and how they can make linters vastly more capable.
  3. Optimizing lexers with SIMD and faster unicode property detection.

Oh, and it’s written in Zig – if you care.

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('Post a comment…') }}
{{ gettext('New comment') }}
{{ formTitle }}

{{ errorMsg }}

{{ gettext('No comments posted yet') }}

Hosted by

Bengaluru Systems Meetup