Как упаковать минимизированные JS файлы webapp в пакет debian?

Обычно JS-файлы в Web-приложениях используются в свернутом виде (например, jquery.min.js), и lintian рассматривает такие файлы с очень длинными строками как двоичные файлы. Обычно эти минимизированные JS файлы не написаны разработчиком веб-приложения, а являются внешними библиотеками (которые являются бесплатными программами).

Разработчики Debian предлагают не хранить эти файлы в минимизированной версии в исходном пакете Debian, а компилировать их в минимизированную версию при сборке бинарного пакета debian (например, с помощью debuild)

Как этого добиться? Можно ли как-то использовать npm для этого?

1
задан 29 August 2020 в 09:43

1 ответ

Да, можно.

  1. Добавьте библиотеку минимизатора в вашу сборку, несколько вариантов

    • Например, babel-minify для сборки зависимости от исходного пакета Debian, он уже находится в репозитории Ubuntu. В debian/control

      Build-Depends: ..., babel-minify
      
    • Укажите npm в требованиях к сборке пакета. В debian/control

      Build-Depends: ..., npm
      

      Загрузите terser, minify или любой другой инструмент, использующий npm. Но это может быть невозможно на машинах автономной сборки. В скрипте сборки, если он у вас есть, или debian/rules.

      В project.json.. "devDependencies":{} .

  2. Затем использовал их для создания минимизированных копий 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

1
ответ дан 29 October 2020 в 22:53

Другие вопросы по тегам:

Похожие вопросы: