Vlad
@bigslycat
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)
Vint
Я у себя вообще строго все версии fixed прописываю. Так нет разброса между dev и prod.
Vint
Увы. Но основные модули обычно поддерживаются активно, поэтому используют последние версии вложенных. Мне важна актуальность для depth 0.
franza
npm shrinkwrap?
Sergey
npm shrinkwrap?
он самый
Vint
Он муторный)
Sergey
почему?
franza
настолько муторный чтобы ограничивать себя актуальностью только для depth 0?
franza
я помню, бугуртил с socket.io и того, что мне нужна была конкретная версия engine.io
Vint
За ним тоже следить надо. Лишние команды набирать. В реальности с npm 3 я ни разу не натыкался на проблемы с вложенными модулями. Когда было дерево в npm 2 - бывало.
Vint
Но как бы это не исключает его существование и полезность в каких-то случаях)
Vint
Ребята, а кто подскажет модуль для работы с очередями? Не охото писать своё для эксперимента. Очереди per instance only, без завязки на внешние хранилища. Короче, пляска вокруг массива нужна.
Anonymous
Уважаемые, никто не знает, на чем лучше всего сделать очередь с отложенными сообщениями и возможностью удаления? Кролик вроде не очень позволяет удалять сообщения (решается костылями), да и для просто отложенных даже там плагин нужен. БД и какой-то сетИнтервал для того, чтобы чекать статус сообщений уж очень костыльно.
Vint
Блин, час очередей в чате)
Vint
Ну да, фактически, только с асинхронностью и уже готовое рабочее)
Anonymous
Sergey
а кто юзает npm-shrinkwrap ?
Evgeny
больше нет
Sergey
Почему
Vlad
а кто юзает npm-shrinkwrap ?
Мы использовали, но он сломан
Sergey
Что именно сломано?
Vlad
Он сам
Sergey
Конкретнее
Vlad
Прочитай npm changelog
Vlad
И открытые ишью
Vlad
Вообщем он не гарантия
Sergey
А что гарантия?
Sergey
Сейчас смотрю чейнджлоги, довольно много фиксов именно шринкврап
Andrey
а кто юзает npm-shrinkwrap ?
мы используем
Anton
мы используем
а нафига он нужен?
Sergey
https://github.com/npm/npm/blob/latest/changelogs/CHANGELOG-3.md
Evgeny
Почему
например - плохо работает с коммитами и модулями из гита
Sergey
а нафига он нужен?
Лочить версии всех всех зависимостей
Andrey
а нафига он нужен?
что бы замораживать версии зависимостей
Anton
https://docs.npmjs.com/cli/shrinkwrap
Evgeny
неужто пофиксили?
Sergey
Там целый релиз был посвящен
Anton
так есть же тулзень в npm для этого, зачем в модуль заворачивать?
Anonymous
что бы замораживать версии зависимостей
А почему просто в package не заморозить версии зависимостей ?
Andrey
А почему просто в package не заморозить версии зависимостей ?
потому, что есть зависимости, зависимостей
Sergey
в том то и дело
таки пофиксили же
Sergey
значит можно юзать
Vlad
откуда ты знаешь, что пофиксили всё
Vlad
бандл депсы и гит-депсы всё ещё проблема
Sergey
бандлы пофиксили
Sergey
проверял
Sergey
а вот гит не чекал
Anonymous
Кто юзает Gitkraken? Он игнорирует pre-commit! =( Когда запускаешь из консоли, всё ок.
Sergey
я юзаю
Vlad
ты уверен, что из всего дерева зависимостей ничего этого не используется?
Vlad
про бандлинг ещё куча открытых ишью