| 1.1, Аноним (1), 12:34, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
меня всегда удивляло - откуда эти цифры - миллионы пакетов, сотни миллионов загрузок чего-то за месяц - неужели этот нпм так популярен? - откуда на планете вообще столько итишников взялось
| | |
| |
| 2.42, FF (?), 13:17, 05/01/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Это рутинное дело, а не эксперимент. Типичный node_modules.
Миллионы потому, что npm install и npm audit fix, постоянно надо всю гроздь обновлять, и вместо разработки фич заниматься адаптацией после обновы.
| | |
| 2.43, FF (?), 13:21, 05/01/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
В Го по умолчанию, например, есть общий каталог, куда качаются пакеты разных версий для всех проектов пользователя. А тут для каждого, например, примера из урока, надо выгружать тысячи пакетов, но это по умолчанию если из-за вебпак, sass и т.п.
| | |
| |
| 3.157, jt3k (ok), 13:31, 09/01/2024 [^] [^^] [^^^] [ответить]
| –1 +/– |
> В Го по умолчанию, например, есть общий каталог, куда качаются пакеты разных
> версий для всех проектов пользователя.
Это на машине разработчика такое. А в докере не будет этой папки из-за особенностей его работы и из-за безопасности возможно или сложности реализации)
| | |
|
| |
| 3.68, Аноним (68), 16:31, 05/01/2024 [^] [^^] [^^^] [ответить]
| –2 +/– |
Всё правильно делают. Раз Node.js такоеьговно, что в стандартой библиотеке нет самых базовых вещей, то приходится делать свою стандартную библиотеку.
| | |
| |
| 4.158, jt3k (ok), 13:32, 09/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Всё правильно делают. Раз Node.js такоеьговно, что в стандартой библиотеке нет самых
> базовых вещей, то приходится делать свою стандартную библиотеку.
Всё там теперь есть. Просто раньше не было вот и наделали обёрток для старых версий
| | |
|
|
| 2.71, Витюшка (?), 17:19, 05/01/2024 [^] [^^] [^^^] [ответить]
| +2 +/– | |
На каждый коммит в CI/CD создаётся чистое окружение и туда устанавливаются (скачиваются) в зависимости с нуля (из npm) чтобы собрать пакет/проект/приложение.
Так делают многие, если не большинство. Вот оттуда)
| | |
| |
| |
| 4.159, jt3k (ok), 13:36, 09/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Кеширование тоже устаревшая технология и потому ненужно?
Любой squid в сети установить и данная проблема улетучится. Просто недогоняторов много развелось
| | |
|
| 3.117, Витюшка (?), 03:48, 06/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
Кэширование делает дай бог один из 10 проектов (репозиториев), если не из 100. А если учитывать все hello world с гитхаба...
| | |
|
| |
| |
| 4.151, _kp (ok), 00:36, 08/01/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Простенькую функцию как пакет может и нормально, но бардак с зависимостями это проблемы репозитория.
Не должно быть даже возможности включения в зависимости, того, что не используется, или не обязательно.
Ps: впрочем, множество мелких пакетов, даже без зависимостей, заспамливают репозитории.
| | |
|
|
| 2.156, jt3k (ok), 13:28, 09/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
Сколько сайтов столько и пакетов в каждом.
Конечно не все сайты используют пакеты нпм. Но есть команда которые создают собственные пакеты которые в свою очередь используют другие пакеты из нпм. Любой ci конвеер за неимением кеш-состояния выкачивает нпм пакеты заново из нпм.
Это может быть просто зацикленная труба тестирования внутри которой докер качает из нпма себе зависимости для работы приложения.
Нпм популярен. Жабаскрипт ведь везде.
| | |
|
| 1.6, Аноним (6), 12:51, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +20 +/– | |
>Пакет из NPM может быть удалён автором только если он ещё не >используется в зависимостях других пакетов, но после публикации >"everything" зависимостями оказались охвачены все пакеты в >репозитории.
Шах
>Примечательно, что удаление самого пакета "everything" также оказалось >заблокированным, так как 9 лет назад в репозитории был размещён >тестовый пакет "everything-else", в котором была указана строка >"everything" в списке зависимостей. Таким образом, пакет "everything" >после публикации оказался в зависимостях у другого пакета.
И мат!
| | |
| |
| 2.51, Sw00p aka Jerom (?), 13:41, 05/01/2024 [^] [^^] [^^^] [ответить]
| +1 +/– | |
>Шах
но это же вроде после истории с лефт-падом, запретили удалять свой гамнокод :) а когда нет возможности его удалить, то и со временем в нем можно утонуть, как показал эксперимент :))
>И мат!
когда связываешся с гамном, будь готов поплавать в нем :)
| | |
| |
| 3.160, jt3k (ok), 13:39, 09/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
> когда связываешся с гамном, будь готов поплавать в нем :)
Важна не ошибка а реакция на ошибку. Уверен они это очень быстро смогут решить. Сообщество ведь живое. Ждём новостей. Лефтпад меньше недели провалялся анпаблишным в нпм.)
| | |
|
| 2.52, Sw00p aka Jerom (?), 13:46, 05/01/2024 [^] [^^] [^^^] [ответить]
| +1 +/– | |
ПАТ
ждем когда авторам позволят запрещать использовать свой код в качестве зависимости в других пакетах, что собственно равносильно вернуть возможность удаления пакета:)
хотя из этого порочного круга можно выйти, и устанавливать галочку запрета единожды при регистрации нового пакета. И тогда ничего ломаться не будет, ибо никто в зависимости не потащит.
| | |
| |
| 3.65, ИмяХ (ok), 16:22, 05/01/2024 [^] [^^] [^^^] [ответить]
| +2 +/– |
Тогда на каждый такой проект появятся тысячи автоматически синхронизируемых форков, что ещё больше раздует базу пакетов
| | |
| |
| 4.113, Sw00p aka Jerom (?), 22:53, 05/01/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Тогда на каждый такой проект появятся тысячи автоматически синхронизируемых форков, что
> ещё больше раздует базу пакетов
ну запрет на форк никто не отменял :)
| | |
|
|
|
| 1.19, Аноним (19), 12:59, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –12 +/– |
Чего-то Gentoo с portage попахивает. Будто это повод новость создать какие дураки бывают.
В генте тоже можно новичку вдуплять на тему что делать когда обновление требует обновить зависимость, но другой пакет гвоздями прибит к этой версии зависимости.
| | |
| |
| 2.31, Аноним (31), 13:04, 05/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
Пожаловаться. Сделают для пакета зависимости слотовую установку.
| | |
| 2.75, Котофалк (?), 18:06, 05/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
В плане зависимостей gentoo portage ничем не отличается от любой другой репы и всё зависит от мейнтейнеров. Для новичка в gentoo проблема в том, что он про зависимости не знает-не понимает (и, возможно, ни знать, ни понимать и не хочет), а от него требуется установка флагов с пониманием зависимостей.
| | |
|
| 1.27, Аноним (27), 13:03, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Вопрос к специалистам по NPM. NPM-репозтории - это репозитории, доступ к заливке только у его хозяев (в смысле, создателя этого сервиса), или любой Васян может залить туда вирус? Или же хозяева сами туда заливают вирусы? Получается, хозяева NPM репозитория днём и ночью пьют кефир и проверяют залитые пакеты от Васянов на вирусы? Или им пох.?
| | |
| |
| 2.35, Аноним (-), 13:07, 05/01/2024 [^] [^^] [^^^] [ответить]
| +2 +/– | |
> Или им пох.?
Последнее)
Ну могут добавить какую-то двухфакторку, чтобы от гореразраба, у которого один пароль на все сервисы, не заливали всякую чушню.
От намеренной диверсии это не спасет, так же как и не спасет от заливки в репу вредноносного кода.
Мало кто проверяет все изменения при обнолении программы.
| | |
|
| 1.33, Аноним (33), 13:07, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– | |
>Примечательно, что удаление самого пакета "everything" также оказалось заблокированным, так как 9 лет назад в репозитории был размещён тестовый пакет "everything-else", в котором была указана строка "everything" в списке зависимостей. Таким образом, пакет "everything" после публикации оказался в зависимостях у другого пакета.
Это баг npmа, что он позволил разместить пакет с неразрешёнными зависимостями.
| | |
| 1.39, Тот_ещё_аноним (ok), 13:11, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
С NPM не пересекаюсь, а тут друг спрашивает...
Можно использовать в имени требуемого пакета "*" или "?"? Чтоб не "everything1" & "everything2", а "everything?" или "everything*"
| | |
| |
| |
| 3.161, jt3k (ok), 13:45, 09/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
> Нельзя
Надо смотреть в исходники, чтобы такое утверждать. Возможно и можно)
| | |
|
|
| 1.40, Аноньимъ (ok), 13:12, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +4 +/– |
Пороть за такие "эксперементы".
> Один из разработчиков JavaScript-пакетов
Разработчик пакетов? Это что-то новое.
| | |
| |
| 2.67, scriptkiddis (?), 16:30, 05/01/2024 [^] [^^] [^^^] [ответить]
| +1 +/– |
Почему пороть? Хотите чтобы этот прикольный эффект так и остался security by obscurity? Лицемерненько не?
| | |
| 2.108, Аноним (108), 21:52, 05/01/2024 [^] [^^] [^^^] [ответить]
| +4 +/– |
Он же разработал именно пакет и даже применил знания из области структур данных, размазав всё по дереву. Разработчик позаботился о масштабируемости проекта. Так что всё корректно
| | |
|
| |
| 2.135, fuggy (ok), 23:49, 06/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
Ну будет не 5 пакетов chunk-N, а 50 пакетов chunk-N. Если не поможет, то добавят 3 уровень. А от ограничения количества пострадают в основном любители лефтпадов, которые каждую функцию в свой пакет формируют.
| | |
|
| 1.59, Аноним (59), 15:23, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
> пакет "everything" связан прямыми зависимостями с пятью пакетами
> которые в свою очередь привязываются зависимостями к более 3000 пакетов
> в каждом из которых осуществляется привязка к 800 существующих пакетов.
И это самый standalone пакет в репозитории npm.
| | |
| 1.60, ZloySergant (ok), 15:26, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Да это всё фигня, вы представьте какие лулзы автор эксплойта словит от введённых костылей, либо от позиции "всем пох".
| | |
| |
| 2.70, Аноним (70), 16:37, 05/01/2024 [^] [^^] [^^^] [ответить]
| +3 +/– |
Да надоели вы со своими "умными" (именно в кавычках) историями.
Проблема решается путём выдачи соли\сахара в одноразовом пакете.
| | |
| |
| 3.129, Аноним (132), 16:48, 06/01/2024 [^] [^^] [^^^] [ответить]
| +1 +/– | |
Хакер устраивается на фабрику, производящую пакеты с солью/сахаром.
Хотя зачем фантазировать - про иглы в клубнике в Австралии мегаумный айтишник не слышал?
| | |
| |
| 4.133, 78 (?), 17:17, 06/01/2024 [^] [^^] [^^^] [ответить] | +/– | Делает пластическую операцию, покупает поддельные документы, учится говорить с а... большой текст свёрнут, показать | | |
|
| 3.149, Аноним (149), 22:07, 07/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
История очень даже умная, только мало кто умные выводы из неё делает (вот юзер 78 ниже сделал).
| | |
|
|
| 1.76, Аноним (76), 18:09, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
кто-нить в курсе: всяко-разные cratesы и голангорги по тем же принципам работают, что и npm?
| | |
| |
| 2.140, Аноним (140), 02:37, 07/01/2024 [^] [^^] [^^^] [ответить]
| +/– |
Насколько я знаю: повторить NPM с его приколами (типа исполнение произвольного скрипта при установке) ещё никто не решился...
| | |
|
| 1.79, beck (??), 18:35, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Второй закон Вейнберга: если бы строители строили здания так же, как программисты пишут программы, первый залетевший дятел разрушил бы цивилизацию.
| | |
| 1.81, Аноним (11), 19:09, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Тот случай, когда твой датацентр начинает подлагивать и уже пора задуматься о покупке нового
| | |
| 1.94, Аноним (-), 20:04, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Таким образом, пакет "everything" после публикации оказался
> в зависимостях у другого пакета.
Таким образом тип провел DoS атаку на NPM, удостоверившись что теперь авторы вообще не смогут удалять пакеты. Вот уж что написано пером, не вырубишь топором!
| | |
| 1.104, Аноним (108), 21:45, 05/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– | |
> Примечательно, что удаление самого пакета "everything" также оказалось заблокированным, так как 9 лет назад в репозитории был размещён тестовый пакет "everything-else", в котором была указана строка "everything" в списке зависимостей. Таким образом, пакет "everything" после публикации оказался в зависимостях у другого пакета.
Т.е. получилась циклическая зависимость?
| | |
| 1.115, Аноним (115), 00:55, 06/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
NPM на сегодняшний день, это наверное самый эффективный способ засрать себе файловую систему.
| | |
| 1.136, Golangdev (?), 00:27, 07/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– | |
> Размещение "everything"
"Размещение" бывает с *дамами лёгкого поведения* в сауне, а здесь - публикация. Публикация, не "размещение".
| | |
| |
| 2.138, Вы забыли заполнить поле Name (?), 01:00, 07/01/2024 [^] [^^] [^^^] [ответить]
| +8 +/– | |
> "Размещение" бывает с *дамами лёгкого поведения* в сауне, а здесь - публикация. Публикация, не "размещение".
Вот за что люблю местных экспертов, так это за их богатый жизненный опыт.
| | |
|
| 1.141, Вы забыли заполнить поле Name (?), 02:43, 07/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– | |
> Примечательно, что удаление самого пакета "everything" также оказалось заблокированным, так как 9 лет назад в репозитории был размещён тестовый пакет "everything-else", в котором была указана строка "everything" в списке зависимостей.
Получается можно публиковать пакет с зависимостями от несуществующих пакетов?
| | |
| 1.150, _kp (ok), 00:30, 08/01/2024 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Наглядный пример гнилой системы зависимостей, не отражающей фактические зависимости вообще.
А влючение в зависимости не только не существующих пакетов, но и реальных, но не используемых уже маразм.
Тут или всю систему менять, или раздувать дальше маразм ради маразма.
| | |
|