Vlad
@bigslycat
Vlad
nick
рантайм какой
nick
может что та где взаимодействия пользователя с системой постоянное
nick
вообще то что и стоит на node писать
Anonymous
все же логично
Нет. Не логично. Допустим, я юзаю пакет с версией 1.0.0 — записан как ^1.0.0. Выходит 2.0.0 (т.е. содержит ломающие изменения), и я хочу обновиться. Прописываю >=1.0.0, обновляюсь, делаю фикс несовместимостей с пакетом в проекте — имею >=1.0.0 в файле и 2.0.0 по факту. Потом я ставлю ^2.0.0 в файле, чтобы, когда выйдет новая версия с ломающими изменениями, у меня ничего неожиданно не посыпалось. Прифит. Вручную с одним пакетом я могу это проделать. Но если у меня таких зависимостей сами знаете сколько, это проблематично. Так вот —- проблема только в актуализации номеров версий в файле.
Anonymous
Про shrinkwrap я знаю. Но это для продакшна.
Anonymous
А в package.json версии тоже нужно держать в актуальном состоянии (чтобы соответствовали реальным зависимостям, но и не приводили к инкременту мажорной версии).
Vint
@bigslycat поставь глобально вот эту штуку https://www.npmjs.com/package/npm-check-updates
ncu в папке проекта - покажет все новинки
ncu -u обновит package.json
Anonymous
Неа.
Anonymous
"eslint-config-airbnb": ">=12.0.0", в файле
Anonymous
установлена 13.0.0
Anonymous
А вот вывод ncu:
redux-persist ^3.5.0 → ^4.0.0-beta1
eslint-plugin-jsx-a11y ^2.2.3 → ^3.0.1
Vint
Так а почему у тебя установлена более свежая, чем в файле?
Anonymous
>= же
Anonymous
Специально поставил, чтоб обновиться.
Vint
А, ну да, наверное) Значит надо один раз руками зачистить это в package.json
А потом использовать эту тулзу или следить через npm outdated и руками.
Anonymous
=(
Vadim
а на yarn никто еще не перешел?
Anonymous
Решил проблему. Моя ошибка была в том, что я выполнил npm up
Anonymous
Алгоритм такой:
Anonymous
Меняем в package.json "^ на ">=. Делаем npm up -S && npm up -D, фиксим возможные фейлы.
Vint
А после больше никогда не используем >=, потому что major'ы выходят редко и их видно через outdated)
Anonymous
Vint
Я у себя вообще строго все версии fixed прописываю. Так нет разброса между dev и prod.
Vlad
Vint
Увы. Но основные модули обычно поддерживаются активно, поэтому используют последние версии вложенных. Мне важна актуальность для depth 0.
franza
npm shrinkwrap?
Sergey
Vint
Он муторный)
Sergey
почему?
franza
настолько муторный чтобы ограничивать себя актуальностью только для depth 0?
franza
я помню, бугуртил с socket.io и того, что мне нужна была конкретная версия engine.io
Vint
За ним тоже следить надо. Лишние команды набирать. В реальности с npm 3 я ни разу не натыкался на проблемы с вложенными модулями. Когда было дерево в npm 2 - бывало.
Vint
Но как бы это не исключает его существование и полезность в каких-то случаях)
Vint
Ребята, а кто подскажет модуль для работы с очередями? Не охото писать своё для эксперимента.
Очереди per instance only, без завязки на внешние хранилища. Короче, пляска вокруг массива нужна.
Anonymous
Уважаемые, никто не знает, на чем лучше всего сделать очередь с отложенными сообщениями и возможностью удаления? Кролик вроде не очень позволяет удалять сообщения (решается костылями), да и для просто отложенных даже там плагин нужен. БД и какой-то сетИнтервал для того, чтобы чекать статус сообщений уж очень костыльно.
Vint
Блин, час очередей в чате)
Sergei
Vint
Ну да, фактически, только с асинхронностью и уже готовое рабочее)
Anonymous
Sergey
а кто юзает npm-shrinkwrap ?
Evgeny
больше нет
Sergey
Почему
Sergey
Что именно сломано?
Vlad
Он сам
Sergey
Конкретнее
Vlad
Прочитай npm changelog
Vlad
И открытые ишью
Vlad
Вообщем он не гарантия
Sergey
А что гарантия?
Sergey
Сейчас смотрю чейнджлоги, довольно много фиксов именно шринкврап
Andrey
Sergey
https://github.com/npm/npm/blob/latest/changelogs/CHANGELOG-3.md
Evgeny
Почему
например - плохо работает с коммитами и модулями из гита
Anton
https://docs.npmjs.com/cli/shrinkwrap
Sergey
Evgeny
неужто пофиксили?
Sergey
Там целый релиз был посвящен
Anton
так есть же тулзень в npm для этого, зачем в модуль заворачивать?
Andrey
Sergey
Sergey
Vlad
Sergey
значит можно юзать
Vlad
откуда ты знаешь, что пофиксили всё
Vlad
бандл депсы и гит-депсы всё ещё проблема
Sergey
бандлы пофиксили
Sergey
проверял
Sergey
а вот гит не чекал
Anonymous
Кто юзает Gitkraken? Он игнорирует pre-commit! =( Когда запускаешь из консоли, всё ок.
Sergey
я юзаю
Vlad
ты уверен, что из всего дерева зависимостей ничего этого не используется?
Vlad
про бандлинг ещё куча открытых ишью