Последнюю неделю-полторы я пишу свой сборщик для js/ts библиотек, поэтому и ссылки весьма специфичные
https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#signal
У
addEventListener оказывается есть возможность прокинуть abortSignal. Это куда удобнее для меня, так кака) можно на 1 сигнал повесить сколько угодно подписок
б) не надо хранить и DOM ноду, и колбек, для того чтобы осуществить отписку
https://deno.com/blog/http-imports
Deno признал, что импорты через http урлы - это чуток путь не в православную сторону
https://github.com/sveltejs/rollup-plugin-svelte/issues/104
Не забывайте при написании package.json для библиотек экспортировать сам package.json. Он бывает нужным в неожиданных сценариях
https://2ality.com/2019/10/hybrid-npm-packages.html
Немного устаревшей доки как писать esm/cjs библиотеки корректно
https://blog.isquaredsoftware.com/2023/08/esm-modernization-lessons/
И как всё же их писать сложно
https://www.typescriptlang.org/docs/handbook/modules/appendices/esm-cjs-interop.html#library-code-needs-special-considerations
А так же нужно не забывать собирать 2 вида тайпингов, так как cjs и esm тайпинги у тайпскрипта не взаимозаменяемы
https://e18e.dev
ljharb гордился бы нами. Люди всерьёз задумались о размере пакетов. Надеюсь, что эта инициатива не заглохнет
https://storybook.js.org/blog/storybook-8-2/
И вот вам сразу практический пример как крупный проект начал думать о размере и удобстве работы с зависимостями
https://github.com/tc39/proposal-promise-try
Но не стоит считать, что ljharb абсолютное зло. Он так же делает и приятные для нас штуки
https://github.com/uBlockOrigin/uBlock-issues/wiki/About-Google-Chrome's-%22This-extension-may-soon-no-longer-be-supported%22
Manifest v3 в Хроме наступает. Походу, всё же вскоре случится
https://parceljs.org/getting-started/library/
Парсель внезапно имеет практически идеальную конфигурацию сборки для библиотек. "Практически" - потому что всё же package.json не генерится, а его приходится писать руками