Серёга не вайбкодит
96 subscribers
53 photos
1 video
62 links
Пишу про веб-разработку, делюсь своими мыслями, сохраняю всякое полезное и интересное

Автор: @js2me
Download Telegram
👩‍💻 MobX теперь официальный бенчмарк для браузеров! 🥰

Если вы используете MobX для стейт-менеджмента, есть отличный повод для гордости. В недавнем релизе JetStream 3 (совместный бенчмарк от команд V8 и WebKit) официально появился тест mobx-startup.

Теперь скорость инициализации MobX, парсинг данных и работа с Proxy используются как эталонная нагрузка для стресс-тестирования JavaScript-движков.

По сути, V8 и JavaScriptCore теперь целенаправленно оптимизируют под то, как работают реальные реактивные приложения и сложная архитектура на классах. Отличное подтверждение того, что MobX остается важным стандартом в индустрии! 😼
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3
На рынок маркетплейсов скоро выйдет новый игрок 😈😈😈

На самом деле это пет проект-пример реализации SSR в одной библиотеке для MobX. Исходный код можно посмотреть тут
👍9❤7
🥔 Полезная инфографика с бенчмарком минификации разных либ (например react 17, d3) при помощи разных инструментов. (спойлер: oxc-minify и @swc/core хороши)
https://github.com/privatenumber/minification-benchmarks
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Твой первый день в антропике, дали задачу сделать код ревью
https://github.com/oven-sh/bun/pull/30412

Это PR в котором Bun переписали с Zig на Rust, написан за 1 неделю
5❤1🤯1
🔥 Первый релиз: mobx-route 1.0.0 🚀

Наконец-то дошли руки собрать всё в кучу и опубликовать пакет для роутинга. Так что в экосистеме 👩‍💻 пополнение

Идея максимально простая: создаем роуты (обычные path или virtual) и используем их для удобной навигации и отображения всего необходимого в проекте.

Как это выглядит на практике:

const users = createRoute('/users', { exact: true });
users.open(); // Возвращает Promise

const userDetails = createRoute('/users/:userId');
users.open(); // TypeError: userId is missing (спасибо path-to-regexp)


❤️ Под капотом используется MobX реактивный history npm пакет


Документация: https://js2me.github.io/mobx-route/
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4🔥3
Yet another NPM supply chain attack 🥰
Или очередная драма в мире JavaScript разработки..

В статье полный список заряженных пакетов, в которых есть малварь с червем Mini Shai-Hulud, но а это наиболее популярные пакеты из списка:
• size-sensor
• echarts-for-react
• @antv/*
• timeago.js

https://safedep.io/mini-shai-hulud-strikes-again-314-npm-packages-compromised/
✍3🤯2
Ну вот и моя первая статья на Хабре, можете поздравить с почином 😁
Буду переводить ее на dev.to чуть позже

http://habr.com/ru/articles/1043240
👍21
Недавно в твиттере наткнулся на библиотеку cnfast, которая "drop-in replacement" tailwind-merge + clsx, но при этом на ~3.8x быстрее.

Если у вас в проекте tailwind то рекомендую попробовать или хотя бы заглянуть в исходники (там есть немного интересностей, например некоторые операции исключительно для V8)

UPD: если вы используете cva, то, в бандл попадёт и cnfast и clsx
UPD: попытался перевести cva с clsx -> cnfast — выдает cnfast = 101 KB (esbuild не может tree-shake'нуть cn/twMerge — они в том же файле + в него вшит tailwind-merge)

Гитхаб:
https://github.com/aidenybai/cnfast
👍5
Спешу всех порадовать!
TypeScript 7.x

UPD: обновился, доволен, всё работает
https://devblogs.microsoft.com/typescript/announcing-typescript-7-0/
🔥8❤2
👩‍💻 Вышел MobX 7.0: легаси на выход, бандл на диету!

​Мажорный релиз принес масштабную генеральную уборку: авторы библиотеки решили оставить в прошлом устаревший код и сфокусироваться на современных стандартах. (Полный список изменений)

Что изменилось:
- 🚀 Только Proxy. Код под ES5 полностью вырезали. Если на вашем проекте всё еще требовалась поддержка IE11 — земля ему пухом 🪦.
- ✨ Стандартные декораторы. Старые нестандартные костыли выбросили, теперь полагаемся только на спецификацию Stage 3 (TC-39).
- 📦 Плоские экспорты. Ради tree-shaking вложенные свойства расплющили: вместо observable.ref теперь пишем observableRef. В итоге минимальный код похудел до ~10Кб.
- 👩‍💻 Строго React 🔞 . В биндингах убрали кастомный батчинг (React теперь отлично справляется сам). А Provider и inject добили окончательно — используем нативный Context.

Особая благодарность @egorvn за то, что активно поддерживает эту либу (надеюсь, когда-нибудь и мои лапы до нее дотянутся 😁), и за то, что довёз эту версию до релиза!

Что касается моих либ (в частности mobx-view-model, mobx-route и mobx-tanstack-query) — под 7-ю версию я их пока не переводил. Как только дойдут руки, это 100% будет мажорный релиз по SemVer, ведь посидеть над миграцией всё-таки придётся. Но сначала хочу поставить точку на всех текущих версиях (либах с 6 версией мобха), обогатив их недостающим функционалом (например те же fetch квери в mobx-tanstack-query)

Также @egorvn поделился migration гайдом - https://github.com/kubk/mobx/blob/30eef8ff6708eb9a06684123765ae5c8cef53757/.changeset/mobx-7-react-10.md (Можно попросить агента промигрировать)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11🔥44
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍2🔥11