Size: a a a

2020 November 14

R🔘

Roman 🔘 in Frontend UA
кстати, разница между pnpm и другими только в скорости? или там что то еще накручено? не читал, но интересно
источник

DZ

Dmitry Zherebko in Frontend UA
Roman 🔘
кстати, разница между pnpm и другими только в скорости? или там что то еще накручено? не читал, но интересно
в подоходе к инсталяции как я понимаю
источник

AL

Andrey Listochkin in Frontend UA
Roman 🔘
кстати, разница между pnpm и другими только в скорости? или там что то еще накручено? не читал, но интересно
Там нет accidental dependencies
источник

EO

Eugene Obrezkov in Frontend UA
Roman 🔘
ну он дефолтный, но там можно переключаться же
да, можно, но лучше оставить дефолтный )
источник

EO

Eugene Obrezkov in Frontend UA
Andrey Listochkin
я все не соберусь свой package.json довести до ума, чтоб pnpm работал. А то знаешь - плагины для eslint+pnpm = маленькая боль
источник

EO

Eugene Obrezkov in Frontend UA
Dmitry Zherebko
а pnpm это не тоже самое что и yarn plug and play? вроде концепутально очень похоже
нет, не то же, пнпм тоже умеет в PnP
источник

R🔘

Roman 🔘 in Frontend UA
Andrey Listochkin
Там нет accidental dependencies
понял, спасибо
источник

EO

Eugene Obrezkov in Frontend UA
Roman 🔘
кстати, разница между pnpm и другими только в скорости? или там что то еще накручено? не читал, но интересно
основное отличие в том, как он storage сделал
он быстрый, он отлично реюзается, нету транзитивных зависимостей доступных
отсюда и скорость и остальные фишки
источник

DZ

Dmitry Zherebko in Frontend UA
Eugene Obrezkov
нет, не то же, пнпм тоже умеет в PnP
да, но ярн в плаг ед плей моде начинает работать так же как и pnpm, нет?
источник

EO

Eugene Obrezkov in Frontend UA
а, ну и во время установки, он flow разбил на более мелкие атомарные шаги, что позволило ему больше всего параллелить на разных ядрах
источник

EO

Eugene Obrezkov in Frontend UA
Dmitry Zherebko
да, но ярн в плаг ед плей моде начинает работать так же как и pnpm, нет?
нет
источник

AL

Andrey Listochkin in Frontend UA
Roman 🔘
понял, спасибо
Когда в пакете peer dependency не прописана, но из-за того, что в рамках большого проекта npm все и так в общую кучу сваливает, пакет и так работает.

pnpm таке не позволяет делать. И. поэтому перейдя с npm у тебя в проекте может что-то отвалиться. Лечится прямым указанием “потерянных” зависимостей в твоем package.json. В основном этим страдают плагины для eslint
источник

DZ

Dmitry Zherebko in Frontend UA
в чём разница?
У них же глобальный кеш на который они референсят ссылку в pnp файле. И больше нод модулей попросту нет
источник

AL

Andrey Listochkin in Frontend UA
Раньше таких проблем не было, тк npm все ставил иерархично. Но новые пакеты уже те времена не застали, и пишутся по панковски
источник

DZ

Dmitry Zherebko in Frontend UA
по сути с ярном в pnp моде эта же проблема решается
источник

EO

Eugene Obrezkov in Frontend UA
Dmitry Zherebko
в чём разница?
У них же глобальный кеш на который они референсят ссылку в pnp файле. И больше нод модулей попросту нет
node_modules в pnpm никуда не девается, это папка с зависимостями. файлы в ней это симлинки на рядом лежащий .pnpm каталог. В нём через хардлинки реализованны ссылки на storage
источник

EO

Eugene Obrezkov in Frontend UA
Andrey Listochkin
Когда в пакете peer dependency не прописана, но из-за того, что в рамках большого проекта npm все и так в общую кучу сваливает, пакет и так работает.

pnpm таке не позволяет делать. И. поэтому перейдя с npm у тебя в проекте может что-то отвалиться. Лечится прямым указанием “потерянных” зависимостей в твоем package.json. В основном этим страдают плагины для eslint
я тебе выше кинул ссылку как полечить eslint
источник

AL

Andrey Listochkin in Frontend UA
ага
источник

DZ

Dmitry Zherebko in Frontend UA
Eugene Obrezkov
node_modules в pnpm никуда не девается, это папка с зависимостями. файлы в ней это симлинки на рядом лежащий .pnpm каталог. В нём через хардлинки реализованны ссылки на storage
но с pnpm в pnp моде папка с нод модулями просто не нужна и можно на глобал кеш ссылки делать
источник

EO

Eugene Obrezkov in Frontend UA
Dmitry Zherebko
но с pnpm в pnp моде папка с нод модулями просто не нужна и можно на глобал кеш ссылки делать
да
источник