توپِ سرعت در فرانتاند: معرفی Biome
توپِ سرعت در فرانتاند: معرفی Biomeخوب سلام سلام.
احتمالا با prettier آشنایی دارید که میتونید کداتونو باهاش فرمت کنید ولی خوب یکی از مسئله هایی که ممکنه تو پروژه هایی با حجم کد بسیار بالا باهاش درگیر بشید سرعت فرمت کردن و lint کردن کد های پروژه تونه.
خوب این کند بودن کجاها حس میشه؟!
۱) اولین جا رو سیستم خودتونه به صورت لوکال وقتی دارید پروژه تونو با ادیتور باز میکنید میبینید که با ذخیره کردن تغییراتتون روی فایل، اون فایل باید فرمت بشه و همینطور قواعد لینت هم روشون اعمال بشه. (Developement )
۲) در پایپلاین CI/CD ( Gitlab CI یا GitHub Actions )
۳) در pre commit hook معمولا اجرا میشن که وقتی شما کامیتی میزنید فرمت بشه و همینطور قواعد لینت چک بشن.
خوب حالا جایگزین خوب براش چی داریم؟
Biome
این بزرگوار اومده که کند بودن lint و prettier رو بشوره ببره.
چون بایوم با Rust نوشته و همین باعث شده به طرز وحشیانه ای سرعت بالا بره و یک all-in-one fast toolchain هست که چندتا مشکل قدیمی فرانتو یه جا حل میکنه.
با استفاده از بایوم هم lint میکنید وهم فرمت میکنید.
مقایسه سرعتی هم که در سطح اینترنت برای prettier و lint و biome هست به صورت زیره:
~35x Faster than Prettier when formatting 171,127 lines of code in 2,104 files with an Intel Core i7 1270P.
Biome's ~15x times faster than ESLint (without any plugins)
ولی خوب یه سری پلاکین های خاص هم هست که فقط lint یا prettier اون ها رو ساپورت میکنه و این رو هم به عنوان یه نقطه ضعف باید بهش نگاه کرد.
ولی در کل راه های زیادی وجود داره که اون یه پلاگین رو به محوی دیگه و با یه دستور خاص به صورت یه فایل js یا ts ران کنید.
احتمالا در پست های آینده نحوه مهاجرت کردن از prettier+eslint به biome رو هم برم سراغش.