Yuku: کامپایلر جاوااسکریپت با Zig
خلاصهٔ کاملتر
Yuku یه زنجیرهابزار کامپایلر برای JavaScript و TypeScript هست که با زبان Zig نوشته شده. به گفتهٔ سازنده، این پروژه از پایه برای سرعت طراحی شده، هیچ وابستگی خارجیای نداره و با استانداردها (spec) هم سازگاره. یعنی به جای اینکه روی ابزارهای آماده سوار بشه، خودش از صفر پیادهسازی شده.
بخش اصلیای که الان آمادهست، پارسر (parser) هست؛ همون قسمتی که کد رو میخونه و به یه درخت ساختاری به اسم AST تبدیل میکنه. این درخت با فرمت ESTree و TS-ESTree سازگاره و با خروجی Oxc همخوانی داره، پس ابزارهایی که با این فرمتها کار میکنن میتونن ازش استفاده کنن.
طرز استفادهش تو جاوااسکریپت خیلی سرراسته: بعد از نصب پکیج yuku-parser، تابع parse رو صدا میزنی و سهتا خروجی میگیری:
import { parse } from "yuku-parser";
const { program, comments, diagnostics } = parse("const x = 1 + 2;");غیر از مسیر npm، میشه مستقیم از داخل خود Zig هم ازش استفاده کرد. تو این حالت یه tree میسازی و آخر کار با deinit حافظهش رو آزاد میکنی؛ یعنی پروژه هم برای دنیای جاوااسکریپت بستهبندی شده و هم برای کسایی که مستقیم با Zig کار میکنن.
نکتهٔ اصلیای که این مقاله روش مانور میده کاراییـه. سازنده میگه Yuku اولویتش درستیِ خروجیه ولی در عین حال سرعت و بهرهوری بالایی هم داره. طبق بنچمارکها، تو حالت native با Oxc رقابت میکنه و روی npm بین ۴ تا ۱۶ برابر از گزینههای دیگه سریعتره. کل پروژه هم متنباز و با لایسنس MIT منتشر شده.
نکات کلیدی:
- Yuku یه کامپایلر toolchain برای JS و TS هست که با Zig نوشته شده و وابستگی صفر داره
- پارسرش AST سازگار با ESTree و TS-ESTree تولید میکنه، همخوان با Oxc
- هم از npm با پکیج yuku-parser و هم مستقیم از داخل Zig قابل استفادهست
- ادعای سرعت: رقابت با Oxc تو حالت native و ۴ تا ۱۶ برابر سریعتر روی npm
- متنباز با لایسنس MIT




