Biome 2.6: مارکداون، SCSS، YAML و پلاگین جاوااسکریپتی
خلاصهٔ کاملتر
تیم Biome نسخهٔ 2.6 رو منتشر کرده و اولین خبرش پشتیبانی از سه زبان جدیده. پارسر مارکداون 100% با استاندارد CommonMark سازگاره و فرمترش حدود 92% با Prettier جوره. افزونههای GitHub Flavored Markdown مثل جدول و task item پیشفرض فعالن. SCSS بیش از 90% تستهای رسمی رو پاس میکنه و قانونهای CSS فعلی روش کار میکنن، ولی بعضیاشون هنوز loop و mixin رو نمیفهمن. YAML هم با 100% سازگاری پارسر و 100% سازگاری فرمتر با Prettier اومده، ولی فعلاً فقط یه قانون lint داره.
خبر بزرگ بعدی پلاگینهای جاوااسکریپتی هست که فعلاً developer preview هستن. یعنی میتونی قانون lint سفارشی با فایل .js یا .ts بنویسی. این پلاگینها روی CST کار میکنن، یعنی درختی از کد که حتی کامنتها و توکنها رو هم نگه میداره. چون پارسر Biome با خطای syntax هم از کار نمیافته، تو درخت به نودهای «bogus» هم میرسی. تیم میگه این مدل با ESLint و Prettier خیلی فرق داره. پلاگینها با boa اجرا میشن که یه موتور جاوااسکریپت نوشتهشده با Rust هست.
حالا میشه کانفیگها، پلاگینهای GritQL و پلاگینهای جاوااسکریپتی رو با یه فایل biome-manifest.json تو یه پکیج npm منتشر کرد. گزینهٔ resolutionKind هم اضافه شده تا مسیر پلاگین نسبت به خود کانفیگ اشتراکی پیدا بشه. ارثبری کانفیگ از چند لایه هم ممکن شده، با سقف ده سطح.
برای Tailwind، قانون useTailwindSortedClasses حالا با منطق مرتبسازی Tailwind v4 کار میکنه و design system تعریفشده تو استایلشیت رو هم در نظر میگیره. قانونهای جدید با الهام از @shadcn/lint اومدن تا agentها کد بهتری بنویسن: noTailwindRawColors بهجای رنگ خام رنگ نزدیک design system رو پیشنهاد میده، noTailwindRestyledComponents جلوی بازاستایل کامپوننتها رو میگیره و useTailwindStaticClassStrings کلاسهایی که داینامیک ساخته میشن رو گیر میده.
دستور جدید biome inspect برای دیباگه: inspect config کانفیگ نهایی رو با extends و overrides نشون میده، inspect plugins همهٔ قانونهای فعال رو لیست میکنه و inspect file درخت CST یه فایل رو نشون میده. دستور biome migrate stylelint هم کانفیگ Stylelint رو منتقل میکنه، البته فعلاً فقط کانفیگ JSON یا JS. علاوه بر این، 59 قانون از nursery به گروههای پایدار رفتن.
به گفتهٔ تیم، کل معماری با salsa بازنویسی شده، یعنی فریمورکی که نتیجهٔ محاسبات رو کش میکنه و فقط چیزی که عوض شده رو دوباره حساب میکنه. موتور type inference هم از نو نوشته شده و حالا فقط وقتی لازمه کار میکنه. نتیجه اینه که LSP سریعتره و حافظهٔ کمتری میخوره و با تایپ کردن، کارهای نیمهکاره لغو میشن.
نکات کلیدی:
- پارسر مارکداون 100% با CommonMark سازگاره و فرمترش حدود 92% با Prettier.
- پلاگینهای جاوااسکریپتی با .js یا .ts فعلاً در وضعیت developer preview هستن و روی موتور boa اجرا میشن.
- useTailwindSortedClasses حالا طبق Tailwind v4 مرتب میکنه و design system رو میخونه.
- biome migrate stylelint فقط کانفیگ JSON یا JS رو پشتیبانی میکنه و به Node.js نیاز داره.
- 59 قانون nursery پایدار شدن و آرگومان --profile-type-inference برای بررسی کندی inference اضافه شده.




