[devel] JS стек в Sisyphus
Ajrat Makhmutov
rauty на altlinux.org
Вт Сен 22 13:31:16 MSK 2026
21.09.2026 16:41, Grant Makyan пишет:
> Добрый день!
>
> Занимаюсь сопровождением Arduino IDE и других Electron/JS пакетов, для
> которых уже завендорено порядка 20000 зависимостей.
> Вручную всё это пакетировать не вариант (или вариант, но тогда в
> сизифе появятся десятки тысяч новых пакетов).
>
> Увидел, что для Rust планируют поднять зеркало.
> Можно ли поднять подобное зеркало для npm? Если нет, будет ли кто-то
> против пакетирования всех JS модулей? Или вендоринг не проблема?
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
К сожалению мы не можем себе позволить поддерживать ещё десятки тысяч
пакетов
в Sisyphus - я думаю на это и ресурсов сборочницы, и мейнтейнеров не хватит,
а ещё у js пакетов может спокойно api ломаться при обновлении минорных
версий и
никто за этим в js сообществе не следит, так как у них принято к конкретным
версиям привязываться.
Я предлагаю следующее: собирать в отдельные пакеты только архитектурно
зависимые js модули, а вендорить только архитектурно независимые модули,
то есть без
бинарников. У arduino-ide архитектурно зависимых модулей около 10-ти
штук из 20 тысяч.
Для завендоренных модулей допилить систему учёта и уведомлений мейнтейнерам
о новых уязвимостях. Насчёт размера собранных пакетов можно будет не
переживать,
так как системы сборки js, насколько я помню, выпиливают из
завендоренных модулей всё, что
считают ненужными. То есть в пакеты будут приходить сильно
оптимизированные, сжатые файлы.
Таким образом можно решить проблемы с размерами пакетов, безопасной
разработки (всё
завендоренное подлежит аудиту и закрытию уязвимостей) и
архитектурно-зависимой сборки.
Останется только дублирование кода в исходниках, что будет влиять на
размеры gear
репозиториев и в большем аудите, чем без вендоринга.
Ну и ещё придется следить, чтобы апстрим использовал современные версии
архитектурно зависимых модулей.
Грант, скажи пожалуйста, можно ли настроить/допилить сборку js пакетов
так, чтобы
системные архитектурно зависимые js модули динамически линковались, а
завендоренные статически?
Подробная информация о списке рассылки Devel