Crashcat یه موتور فیزیک خالص جاوااسکریپته که برای بازیسازی، شبیهسازی و وبسایتهای خلاقانه طراحی شده. از rigid body و تشخیص برخورد پیوسته (CCD) گرفته تا قیدها، فنرها و موتورها، همه چیز رو پوشش میده. با هر موتور گرافیکی مثل Three.js، Babylon.js یا PlayCanvas کار میکنه و بهخاطر طراحی tree-shakeable، فقط چیزی که استفاده میکنی رو توی بسته نهایی داری.
A2UI یه پروژهی اوپنسورس هست که به ایجنتهای هوش مصنوعی اجازه میده رابطهای کاربری غنی و تعاملی بسازن. ایدهی اصلیش اینه که ایجنت یه JSON توصیفی میفرسته و کلاینت اون رو با کامپوننتهای بومی خودش رندر میکنه. اینطوری نه کد مستقیمی اجرا میشه و نه خطر امنیتی وجود داره. این فرمت با فریمورکهایی مثل Flutter، Angular، React و Lit کار میکنه و در نسخهی پیشنمایش عمومی v0.8 قرار داره.
@pinojs/redact یه کتابخونهی جاوااسکریپته که بهت اجازه میده اطلاعات حساس مثل پسورد، کوکی و توکن رو از آبجکتها حذف یا مخفی کنی، بدون اینکه آبجکت اصلی تغییر کنه. به جای کلون کامل آبجکت، فقط بخشهایی که باید redact بشن رو کپی میکنه و بقیهرو همونطور نگه میداره. این روش هم حافظه رو بهینه میکنه و هم به سرعت fast-redact نزدیکه. رابط کاربری این کتابخونه با fast-redact سازگاره و از wildcard، bracket notation و ایندکس آرایه پشتیبانی میکنه.
CSS یه سلکتور رسمی به اسم ::nth-letter نداره، ولی این به این معنی نیست که نمیشه همون کار رو کرد! لی مایر توی این مقاله نشون میده چطور میشه با ترفندهایی که همین الان توی مرورگرها کار میکنن، به حروف تکی یه متن استایل داد. این قابلیت برای طراحیهای تایپوگرافی خلاقانه و افکتهای متنی جذاب خیلی به درد میخوره. در واقع میشه کاری کرد که انگار ::nth-letter وجود داره، حتی بدون اینکه مرورگر از اون پشتیبانی کنه.
نسخه ۲.۵ فریمورک AnalogJS با یه سری قابلیت جذاب اومد. مهمترینشون پشتیبانی بومی از i18n در زمان اجرا (runtime) هست که با یه بیلد واحد میتونه چند زبان رو سرویس بده. علاوه بر اون، یه حالت کامپایل سریعتر با کمک OXC اضافه شده که سرعت HMR و cold start رو به طرز محسوسی بالا میبره. مدیریت محتوای تودرتو هم بهتر شده و یه راهنمای جدید برای ادغام با ابزارهای هوش مصنوعی هم به مستندات اضافه شده.
React Server Components یا RSC یکی از بحثبرانگیزترین ویژگیهای اخیر ریاکت بوده که خیلیها فکر میکنن صرفاً یه مکانیزم سریالایزیشن دادهست. Daishi Kato در این مقاله نگاه دقیقتری به RSC انداخته و نشون میده که این تفسیر سادهانگارانهست. RSC یه مدل ترکیبی کاملتره که مرز بین سرور و کلاینت رو در رندرینگ کامپوننتها بازتعریف میکنه. فهمیدن درست RSC به توسعهدهندهها کمک میکنه تصمیمهای بهتری در معماری اپهای ریاکتی بگیرن.
pracht یه فریمورک مبتنی بر Preact هست که روتینگ رو به جای قراردادهای فایلسیستمی، مستقیم توی کد تعریف میکنه. هر روت میتونه حالت رندر خودش رو داشته باشه؛ از SSG و SSR گرفته تا ISG و SPA. این فریمورک با Vite کار میکنه و آداپتورهای آماده برای Cloudflare Workers، Vercel و Node.js داره. لودرهای داده هم همیشه سمت سرور اجرا میشن و هیچ اطلاعات حساسی به کلاینت نمیرسه.
@pierre/trees یه کتابخونه متنباز برای نمایش درخت فایله که توسط The Pierre Computer Company ساخته شده. این ابزار روی پرفورمنس و انعطافپذیری تمرکز داره و گزینههای سفارشیسازی زیادی از طریق CSS Variables در اختیارت میذاره. میتونی رنگ، فونت، چگالی، آیکون فایلها و حتی رنگهای وضعیت Git رو تنظیم کنی. الان در نسخه بتا منتشر شده و نصبش با Bun خیلی سادهست.
یه محقق امنیتی یه باگ روز صفر از نوع Use-After-Free توی مرورگر Ladybird پیدا کرده که اجرای کد از راه دور رو ممکن میکنه. این آسیبپذیری از تعامل سه ساختار داده داخلی موتور جاوااسکریپت LibJS سوءاستفاده میکنه و از طریق حافظه WebAssembly قابل تریگر شدنه. خوشبختانه تیم Ladybird چند روز بعد از گزارش، پچ رو منتشر کرد و باگ الان برطرف شده.
اوپنایآی یه سیستم تبلیغاتی پیچیده داره که مستقیم داخل مکالمات ChatGPT آگهی تزریق میکنه. این آگهیها بر اساس موضوع مکالمه هدفگذاری میشن و با یه زنجیره ردیابی چهارتکهای، از لحظهی نمایش تا خرید نهایی رو دنبال میکنن. یه SDK جاوااسکریپتی به اسم OAIQ هم روی سایت فروشنده اجرا میشه و اطلاعات بازدید کاربر رو به سرورهای اوپنایآی گزارش میده. در واقع اوپنایآی نهتنها موقع نمایش آگهی، بلکه بعد از کلیک هم کاربر رو زیر نظر داره.
پاستل یه فریمورک جالبه که با الهام از Next.js، ساخت ابزارهای خط فرمان (CLI) رو با ریاکت و Ink ممکن میکنه. کافیه فایلها رو توی پوشه commands بذاری تا دستوراتت تعریف بشن، بدون پیچیدگی اضافه. تعریف گزینهها و آرگومانها هم با Zod انجام میشه و type-safety کامل داری. در نهایت پیام help هم بهصورت خودکار تولید میشه.
React Email 6.0 منتشر شد و مهمترین ویژگیاش یه ویرایشگر بصری متنباز و قابل جاسازی توی اپلیکیشنهای مختلفه. این نسخه یه معماری توسعهپذیر داره که بهت اجازه میده بلوکهای سفارشی خودت رو بسازی. علاوه بر این، همه کامپوننتها حالا توی یه پکیج واحد جمع شدن و دیگه نیازی به نصب چند پکیج جداگانه نیست. این پروژه در ۵ ماه گذشته رشد ۱۰۸ درصدی داشته و الان ۲ میلیون دانلود هفتگی روی npm داره.
React Arborist یه کتابخانهی قدرتمنده که بهت اجازه میده نماهای درختی حرفهای مثل sidebar ویژوال استودیو کد، Mac Finder یا پنل Layers فیگما رو توی پروژههای ریاکتت بسازی. این کتابخانه امکاناتی مثل درگانددراپ، تغییر نام inline، رندرینگ مجازیسازیشده، فیلتر کردن و ناوبری با کیبورد رو داره. میتونی هم به شکل controlled و هم uncontrolled ازش استفاده کنی و ظاهرشو کاملاً شخصیسازی کنی.
بریکپوینتها سالهاست که قلب طراحی ریسپانسیو بودن، اما دنیای وب مدرن کامپوننتمحور شده و viewport-based rules دیگه اونقدر که قبلاً بودن کارآمد نیستن. CSS مدرن ابزارهایی مثل auto-fit، minmax، clamp و container units بهمون میده که میتونیم بدون هیچ بریکپوینتی لایهبندیهای سیال و هوشمند بسازیم. نتیجه کدی تمیزتر، قابلپیشبینیتر و قابلاستفادهمجدد در هر کانتینریه.
TanStack Start یه فریمورک نسبتاً جدیده که روی TanStack Router سوار شده و امکاناتی مثل Server Functions، API Endpoints و رندر سمت سرور رو میده. تو این مقاله، یه بلاگ ساده باهاش میسازیم که پستها رو از فایلهای Markdown میخونه. نکته جالب اینه که لودرهای TanStack ایزومورفیکن؛ یعنی هم روی سرور و هم روی کلاینت اجرا میشن، که این یه چالش جدی برای خوندن فایلهای دیسک ایجاد میکنه. راهحل؟ Server Functions که همیشه روی سرور اجرا میشن، حتی وقتی از کلاینت صداشون میزنی.
در قسمت دوم این سری، مشکل کندی سرور توابع Shiki و cold start در پلتفرمهای serverless بررسی میشه. راهحل اصلی، پیشرندر استاتیک صفحات بلاگه که با فعال کردن prerender در TanStack Start بهراحتی انجام میشه. علاوه بر این، با استفاده از middleware مخصوص server functionهای استاتیک، نتایج توابع سرور هم کش میشن و به فایلهای JSON ساده تبدیل میشن تا دیگه نیازی به پردازش سمت سرور نباشه.
یه API تجربی جدید توی مرورگرهای مبتنی بر Chromium اومده که اسمش «HTML in Canvas» هست و یه ایدهی جذاب داره: المانهای واقعی HTML رو بگیر و توی Canvas رندر کن، بعد هر افکت بصری که دلت خواست روشون اعمال کن. این یعنی میتونی ساختار معنایی HTML رو حفظ کنی و در عین حال با Canvas 2D، WebGL یا WebGPU روی خروجیشون افکتهای تصویری بزاری. فعلاً این قابلیت فقط توی Chromium نسخه ۱۴۶+ و پشت یه Flag تجربی در دسترسه و هنوز آمادهی استفاده در پروداکشن نیست.
Bun یه runtime سریع برای جاوااسکریپت و تایپاسکریپته که این روزا خیلی سر و صدا کرده. میشه از طریق روشهای مختلفی مثل curl، npm، PowerShell، Scoop، Homebrew یا Docker نصبش کرد. بعد از نصب هم با یه دستور ساده میشه آپدیتش نگه داشت. این ابزار همچنین قابلیت اجرای تستهای ایزوله و موازی رو هم داره.
تیم Harper یه بایندینگ کاملاً جدید برای RocksDB در Node.js ساخته به اسم rocksdb-js که از صفر نوشته شده و همه چیزی که از یه بایندینگ حرفهای انتظار داری رو داره: پشتیبانی کامل از تراکنش، ایتریتورهای lazy، TypeScript، و باینری آماده برای همه پلتفرمهای اصلی. این کتابخانه زیر لایسنس Apache 2.0 منتشر شده و قلب Harper 5.0 به حساب میاد. هدف اینه که یه ابزار مستقل و عمومی برای کل اکوسیستم Node.js باشه.
تیم C# Dev Kit در VS Code برای نوشتن افزونههای native مربوط به Node.js، تا به حال از C++ و node-gyp استفاده میکرد که نصب Python قدیمی رو روی همه ماشینهای توسعهدهنده الزامی میکرد. این تیم تصمیم گرفته با استفاده از C# و قابلیت Native AOT در داتنت، این وابستگی ناخوشایند رو حذف کنه. Native AOT میتونه shared library بسازه که دقیقاً همون چیزیه که Node.js برای بارگذاری افزونههای native نیاز داره. نتیجه یه پایپلاین سادهتر، سریعتر و بدون نیاز به ابزارهای اضافهست.