Пока, dual packaging: в каком формате публиковать npm-библиотеки

Уже 10 лет в JS-экосистеме воюют два формата модулей: CommonJS и ES Modules. Чтобы и получить плюшки ESM, и не распугать пользователей, npm-пакеты часто используют dual packaging: собирают код в оба формата. Это решает одну проблему, но создает несколько новых.
Сегодня расскажу
Какие проблемы пришли к dual packaging, и не пора ли от него отказаться.
В какой формат паковать npm-библиотеки в 2025 году.
Статься будет полезна и для опенсорса, и для внутренних библиотек, и для простых разработчиков (хотя бы чтобы понимать, откуда у вас в node_modules 2 Гб).

















