Size: a a a

Node.js — русскоговорящее сообщество

2021 March 12

В

Вадим in Node.js — русскоговорящее сообщество
eden lane
а yarn why quick-format-unescaped что показывает?
$ yarn why quick-format-unescaped
yarn why v1.22.4
[1/4] Why do we have the module "quick-format-unescaped"...?
[2/4] Initialising dependency graph...
[3/4] Finding dependency...
[4/4] Calculating file sizes...
=> Found "quick-format-unescaped@4.0.2"
info Reasons this module exists
  - "pino" depends on it
  - Hoisted from "pino#quick-format-unescaped"
info Disk size without dependencies: "32KB"
info Disk size with unique dependencies: "32KB"
info Disk size with transitive dependencies: "32KB"
info Number of shared dependencies: 0
Done in 2.18s.

но
в package.json у pino прописана версия 4.0.1
источник

K

Konstantin in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
Что-то лучше, чем uglifyjs?
Есть ещё тулзы, кстати, более интерпрайз ориентед
источник

y

ymdev in Node.js — русскоговорящее сообщество
Вадим
всем привет

у меня проблема: pino.js использует quick-format-unescaped@4.0.1
но в yarn.lock для quick-format-unescaped@4.0.1 под капотом используется версия 4.0.2, которая ломает работу pino

кроме pino никакой пакет больше не использует quick-format-unescaped
как понять кто добавляет эту версию и как вернуть все на место?
(удаление yarn.lock и node_modules с последующей инсталяцией не помогают - в yarn.lock снова появляется версия 4.0.2)

yarnl.lock

pino@^6.11.1:
 version "6.11.1"
 resolved "https://registry.yarnpkg.com/pino/-/pino-6.11.1.tgz#5af2d5395cfe625ead9fe64a3b51a4802cd2598e"
 integrity sha512-PoDR/4jCyaP1k2zhuQ4N0NuhaMtei+C9mUHBRRJQujexl/bq3JkeL2OC23ada6Np3zeUMHbO4TGzY2D/rwZX3w==
 dependencies:
   fast-redact "^3.0.0"
   fast-safe-stringify "^2.0.7"
   flatstr "^1.0.12"
   pino-std-serializers "^3.1.0"
   quick-format-unescaped "^4.0.1"
   sonic-boom "^1.0.2"

quick-format-unescaped@^4.0.1:
 version "4.0.2"
 resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.2.tgz#dd9ff79fda5e582799cb4e9cbdc9e3f2c7db1266"
 integrity sha512-HNPqtTHgal9dBpJxibFGgOEmlaTbwEbplrR+oOiWp9aNFlFKBYfkbvvF8VrJPK65okrZuGOwHKLfe7/gT6NWuw==
а что не так то?)
Ты же сам указал, что твой пакет может обновиться до любой версии
источник

В

Вадим in Node.js — русскоговорящее сообщество
ymdev
а что не так то?)
Ты же сам указал, что твой пакет может обновиться до любой версии
у меня он не прописан - это зависимость pino
кто его обновляет?
у pino в package.json прописана версия 4.0.1 - кто устанавливает 4.0.2?
источник

y

ymdev in Node.js — русскоговорящее сообщество
Вадим
у меня он не прописан - это зависимость pino
кто его обновляет?
у pino в package.json прописана версия 4.0.1 - кто устанавливает 4.0.2?
вот такая форма записи версий ^4.0.1 это позволяет делать
источник

Г

Герман in Node.js — русскоговорящее сообщество
Люди добрые, можете подсказать, как поступить?
Требуется от сервера отправить в приложение (Unity, скрипт на c#) ответ при действии какого-то другого пользователя.
Почему именно от сервера? Потому что делать кучу запросов в секунду к серверу, чтобы что-то узнать, не очень-то и красиво. Погуглил, понял, что мне вебхук нужен.
Каким образом это сделать, если я не знаю юрл, чтобы слать данные?
источник

В

Вадим in Node.js — русскоговорящее сообщество
ymdev
вот такая форма записи версий ^4.0.1 это позволяет делать
я понимаю что такая запись позволяет, но для этого кто-то должен сказать сделай апгрейд, а никто не говорит такое - удаляю yarn.lock и node_modules и делаю yarn install - должны установиться те зависимости что прописаны без апгрейдов, а по факту устанавливается 4.0.2
источник

❄Astik❄ in Node.js — русскоговорящее сообщество
Кто может сказать, на каком сайте лучше научиться nodejs ?
источник

И

Илья | 😶 ☮️... in Node.js — русскоговорящее сообщество
❄Astik❄
Кто может сказать, на каком сайте лучше научиться nodejs ?
источник

В

Вадим in Node.js — русскоговорящее сообщество
❄Astik❄
Кто может сказать, на каком сайте лучше научиться nodejs ?
поищи видео Ильи Кантора по ноде
источник

❄Astik❄ in Node.js — русскоговорящее сообщество
Вадим
поищи видео Ильи Кантора по ноде
Спасибо
источник

y

ymdev in Node.js — русскоговорящее сообщество
Вадим
я понимаю что такая запись позволяет, но для этого кто-то должен сказать сделай апгрейд, а никто не говорит такое - удаляю yarn.lock и node_modules и делаю yarn install - должны установиться те зависимости что прописаны без апгрейдов, а по факту устанавливается 4.0.2
так, ладно, я не смог установить зависимости у pino (привет баги npm 7)
Все просто ^4.0.1 - позволяет ставить 4.0.*, может даже и минорные (не помню)
У пакетов в npm registry нет своего package-lock файла, который бы запретил пакету обновляться. Поэтому подъезжают самые новые версии, которые удовлетворяют условию ^4.0.1
источник

В

Вадим in Node.js — русскоговорящее сообщество
ymdev
так, ладно, я не смог установить зависимости у pino (привет баги npm 7)
Все просто ^4.0.1 - позволяет ставить 4.0.*, может даже и минорные (не помню)
У пакетов в npm registry нет своего package-lock файла, который бы запретил пакету обновляться. Поэтому подъезжают самые новые версии, которые удовлетворяют условию ^4.0.1
т.е. можно писать issue в pino чтобы зафиксировали версию точно?
источник

y

ymdev in Node.js — русскоговорящее сообщество
Вадим
т.е. можно писать issue в pino чтобы зафиксировали версию точно?
да. Но они скорее обновятся просто, чем будут править package.json файл
источник

В

Вадим in Node.js — русскоговорящее сообщество
ymdev
да. Но они скорее обновятся просто, чем будут править package.json файл
нет - новая версия ломает функционал - им либо фиксировать версию нужно либо фиксить код под новую версию
источник

y

ymdev in Node.js — русскоговорящее сообщество
Вадим
нет - новая версия ломает функционал - им либо фиксировать версию нужно либо фиксить код под новую версию
ну это в любом случае им разбираться)
источник

y

ymdev in Node.js — русскоговорящее сообщество
Вадим
т.е. можно писать issue в pino чтобы зафиксировали версию точно?
сам можешь это проверить
есть package.json (но нет lock-файла)
{
 "private": true,
 "dependencies": {
   "esbuild": "^0.9.0"
 }
}


$ npm i
$ cat package-lock.json
   ...
   "node_modules/esbuild": {
     "version": "0.9.1",
     ...
источник

В

Вадим in Node.js — русскоговорящее сообщество
ymdev
сам можешь это проверить
есть package.json (но нет lock-файла)
{
 "private": true,
 "dependencies": {
   "esbuild": "^0.9.0"
 }
}


$ npm i
$ cat package-lock.json
   ...
   "node_modules/esbuild": {
     "version": "0.9.1",
     ...
до сегодняшнего дня я был в уверенности что устанавливаются только те версии что прописаны, а новые по команде апгрейда ...
источник

y

ymdev in Node.js — русскоговорящее сообщество
Вадим
до сегодняшнего дня я был в уверенности что устанавливаются только те версии что прописаны, а новые по команде апгрейда ...
Если бы зависимости ставились ровно те, что указаны, то при возникновении уязвимости ты бы не мог обновить отдельный какой-то пакет, не дождавшись обновлениях всех библиотек, которые используют эту уязвимую версию.

Именно поэтому зависимости ставятся по-умолчанию с ^ в начале, чтобы можно было обновляться.
источник

В

Вадим in Node.js — русскоговорящее сообщество
ymdev
Если бы зависимости ставились ровно те, что указаны, то при возникновении уязвимости ты бы не мог обновить отдельный какой-то пакет, не дождавшись обновлениях всех библиотек, которые используют эту уязвимую версию.

Именно поэтому зависимости ставятся по-умолчанию с ^ в начале, чтобы можно было обновляться.
понял, спасибо

ребята в pino завели баг
источник