Развлечения с марками. Эпизод 14. Новый @ штамп / он на замену Stampit

Привет. Я разработчик Василий Боровяк, и добро пожаловать в четырнадцатый выпуск Василия Боровяка, представляющего Fun with Stamps.

TL;DR

Модуль stampit был переработан как модульный монорепозиторий и опубликован как @stamp/it. Они полностью совместимы. Создан, чтобы стать stampit каплей на замену. См. Список критических изменений внизу.

Почему новый дом штампит?

Как вы уже знаете, дом новой марки здесь - https://www.npmjs.com/~stamp

Благодаря новой замечательной функции NPM - модулям с областью видимости - вы можете найти и загрузить несколько полезных многоразовых поведений (штампов) так же просто, как - npm i @stamp/SOMETHING. Вполне естественно переместить туда и stampit.

Пакет, готовый к работе с браузером

Модули @stamp не предоставляют никаких пакетов браузера. Вам нужно будет построить это самостоятельно.

$ npm i -g browserify uglify-js
$ browserify node_modules/@stamp/it -o stampit.umd.js
$ uglifyjs stampit.umd.js -o stampit.umd.min.js

Размер этого минифицированного пакета, сжатого с помощью gzip, в настоящее время составляет всего 2,5 КБ.

Но мы ожидаем, что система сборки вашего проекта (веб-пакет или что-то еще) уже знает, как правильно сворачивать зависимости JavaScript node.js.

Если вы действительно считаете, что модули @stamp должны скомпилировать готовый для браузера код - пожалуйста, откройте вопрос здесь.

Плюсы и минусы перехода от Stampit к @ Stamp / it

Минусы

  • stampit минимальный размер gzip составляет 1,3 КБ, но@stamp/it минимизированный размер gzip с использованием приведенных выше команд составляет 2,5 КБ (может быть 1,7 КБ, но требуется дополнительная работа).

Плюсы

  • Исходный код @stamp/it ясен и легко читается. Вы можете легко отладить это.

Какая-то удивительная причина

Кодовая база модуля @stamp/it очень мала, потому что большинство функций реализовано в других модулях @stamp/, таких как @stamp/compose, @stamp/shortcut, @stamp/is и @stamp/core.

Удачи с марками!