Node.js Package Configuration Guide, by @nodejs:
https://nodejs.github.io/package-examples/
#guides #packages #dependencies #configuration #commonjs #esm
Node.js Package Configuration Guide, by @nodejs:
https://nodejs.github.io/package-examples/
#guides #packages #dependencies #configuration #commonjs #esm
It's almost 2026 and we are still dealing with #commonjs vs #ESM issues in #nodejs. 2026 will be the last year that Keyv (https://keyv.org ) attempts to support commonjs with v6 due out this year. In 2027 we will move to ESM only with v7. It is just too painful to support commonjs compatibility.
This will also mean that `cache-manager`, `cacheable`, etc... will all move to ESM only in 2027. That is a large amount of caching usage across projects.
Shipping Node.js Packages in 2025, by @joyeecheung:
https://github.com/joyeecheung/talks/blob/master/nordic_js_2025/shipping-nodejs-packages-in-2025.pdf
#Development #Announcements
Storybook is going ESM-only · The popular UI builder drops CommonJS support https://ilo.im/16744v
_____
#Storybook #JavaScript #ESM #CommonJS #Frameworks #UiComponents #DesignSystems #WebDev #Frontend
Пока, dual packaging: в каком формате публиковать npm-библиотеки
Уже 10 лет в JS-экосистеме воюют два формата модулей: CommonJS и ES Modules. Чтобы и получить плюшки ESM, и не распугать пользователей, npm-пакеты часто используют dual packaging: собирают код в оба формата. Это решает одну проблему, но создает несколько новых. Сегодня расскажу Какие проблемы пришли к dual packaging, и не пора ли от него отказаться. В какой формат паковать npm-библиотеки в 2025 году. Статься будет полезна и для опенсорса, и для внутренних библиотек, и для простых разработчиков (хотя бы чтобы понимать, откуда у вас в node_modules 2 Гб).
Bridging CommonJS and ESM in Node.js, by @joyeecheung (@webhackfest):
Building the Bridge: Running JavaScript Modules From Dart, by (not found on Mastodon or Bluesky):
[Перевод] Публикация пакета npm с ESM и TypeScript
За последние 2 года поддержка ESM в TypeScript, Node.js и браузерах сильно улучшилась. В этой статье я объясню мою современную настройку, которая является относительно простой по сравнению с тем, что нам приходилось делать раньше: она предназначена для пакетов, которые могут пренебречь обратной совместимостью. Настройка хорошо работает для меня некоторое время — начиная с TS 4.7 (24.05.2022) помогает то, что Node.js теперь поддерживает require(esm) — запрос библиотек ESM из модулей CommonJS я использую только tsc , но упоминаю поддержку других инструментов в разделе "Компиляция TS с помощью других инструментов" Обратная связь приветствуется: что вы делаете по-другому? Что может быть улучшено? Пример пакета: в @rauschma/helpers используется настройка, описываемая в этой статье.
https://habr.com/ru/companies/timeweb/articles/884516/
#timeweb_статьи_перевод #javascript #typescript #ts #npm_package #npm_registry #npm #esm #commonjs #реестр_npm #пакет_npm
@tolmasky the amount of times I had to learn what is #CommonJS and what is #ESM to then forget it and get bitten again when I come to #JS is bleak in comparison, I'm sure, but it made me make a video (mostly for myself) to later watch: https://www.youtube.com/watch?v=SIows5N4BAY
😆