تم نشر نسخة مستقرة جديدة بهدوء وهدوء عربة منجم - 1.1.30.
Bun هو وقت تشغيل ECMAScript/JavaScript يشبه في العديد من النواحي nodejs. يعتمد الكعك على JavaScriptCore من Apple، ولكن الكعكة نفسها، مثل العديد من وحداتها، مكتوبة باللغة منعرج. يحاول Bun أن يكون متوافقًا قدر الإمكان مع Nodejs من حيث خيارات سطر الأوامر، ويدعم وحدات ECMAScript (ESM) وCommonJS. إدارة ودعم حزمة npm نسخة مطبوعة على الآلة الكاتبة يتم دمجها مباشرة في التطبيق كرمز أصلي، ويمكن تنفيذ برامج الكتابة المطبوعة مباشرة بواسطة المترجم دون تكوين مسبق.
ومع ذلك، فإن Bun ليس مجرد "نسخة" من العقد في قدراته. بالإضافة إلى العمل بشكل أسرع في عدد من السيناريوهات (بدءًا من تشغيل التطبيق مباشرةً) والدعم الكامل تقريبًا لواجهة برمجة التطبيقات (API) المتوفرة في Nodejs، يوفر Bun إمكانات واسعة النطاق للتطبيقات على الخادم - بدءًا من العمل مع الملفات وحتى تحويل شجرة HTML (HTMLRewriter)، وحدة النسخ المطبوعة (كعكة.Transpiler)، العمل المتكامل مع قواعد البيانات سكليتيوحدات للتفاعل مع مكتبات النظام الأساسي الأصلية عبر واجهة برمجة تطبيقات لغة C - إسنا، مدمج أدوات الاختبار والعديد من الاحتمالات الأخرى.
بالإضافة إلى ذلك، في الوضع التجريبي، يدعم Bun التكامل مع كود C من خلال مكالمة شفافة TCC:
hello.c: int hello() { return 42; } hello.js: استيراد { cc } من "bun:ffi"; استيراد المصدر من "./hello.c" مع { النوع: "ملف" }؛ const { الرموز: { hello }, } = cc({ المصدر, الرموز: { hello: { args: [], return: "int", }, }, }); console.log("ما هو الجواب على الكون؟"، hello()); $ Bun hello.js ما هو الجواب على الكون؟ 42
أضاف هذا الإصدار، من بين أمور أخرى، محلل CSS استنادًا إلى LightningCSS والتي تمت إعادة كتابتها خصيصًا لهذا الغرض من التقنيات القديمة مثل صدأ على zig، مما سمح بالتكامل الشفاف بين CSS وTypeScript، والآن يمكنك استيراد ملف CSS مباشرةً إلى وحدة TypeScript:
Index.ts: استيراد "./style.css"؛ استيراد مكون من "./MyComponent.tsx"؛ // ... بقية تطبيقك style.css: /* نتيجة البناء: */ /* style.css */ .hello { الخلفية: أحمر؛ } /* MyComponent.css */ .MyComponent { اللون: أخضر؛ }
كعكة تسمح جمع التطبيق بأكمله مع جميع الموارد في ملف واحد قابل للتنفيذ.
المصدر: linux.org.ru
