Обычно JS-файлы в Web-приложениях используются в свернутом виде (например, jquery.min.js), и lintian рассматривает такие файлы с очень длинными строками как двоичные файлы. Обычно эти минимизированные JS файлы не написаны разработчиком веб-приложения, а являются внешними библиотеками (которые являются бесплатными программами).
Разработчики Debian предлагают не хранить эти файлы в минимизированной версии в исходном пакете Debian, а компилировать их в минимизированную версию при сборке бинарного пакета debian (например, с помощью debuild
)
Как этого добиться? Можно ли как-то использовать npm
для этого?
Да, можно.
Добавьте библиотеку минимизатора в вашу сборку, несколько вариантов
Например, babel-minify
для сборки зависимости от исходного пакета Debian, он уже находится в репозитории Ubuntu. В debian/control
Build-Depends: ..., babel-minify
Укажите npm
в требованиях к сборке пакета. В debian/control
Build-Depends: ..., npm
Загрузите terser
, minify
или любой другой инструмент, использующий npm
. Но это может быть невозможно на машинах автономной сборки. В скрипте сборки, если он у вас есть, или debian/rules
.
В project.json
.. "devDependencies":{}
.
Затем использовал их для создания минимизированных копий JS.
В project.json
.. поместите команды в "scripts":{}
Я бы порекомендовал полный скрипт сборки в исходном коде (используя специальный способ JS, например project .json
). Оставьте только специальные процессы Debian в debian/rules
.
Для rules
(это Makefile) вы можете переопределить любой шаг, например:
override_dh_prep:
...
override_dh_auto_configure:
...
override_dh_auto_install:
...
Все еще существуют другие способы упаковки, если вы не используете DebHelper. Я не знаком с экосистемой JS