Andrey Listochkin
Из npm yarn yarn2 мне *лично* очень нравится pnpm.
Он все пакеты ставит себе в одно место, а тебе их хитро подкладывает симлинками. Деревья получаются не плоские, а глубокие как положено. При этом на диске места не занимают почти.
Но к сожалению на практике куча инструментов делают себе в коде require(‘depA’) require(‘depB’)
, но в package.json у них только depA есть. А depB у них по факту оказывается в node_modules, потому что кто-то совсем левый ее запросил, а yarn/npm ее из недр зависимостей наверх выудили, чтоб дупликации не было. Поэтому далеко не каждый проект с полпинка на pnpm заводится. А по скорости он и npm, и yarn уделывает
> Он все пакеты ставит себе в одно место, а тебе их хитро подкладывает симлинками
да, про pnpm давно слышал; это кажется настолько простой и примитивной идеей, что я хотел повозмущаться, почему ярн и нпм не работают таким же образом по дефолту
Но ты в следующем абзаце круто это объяснил :)
в yarn помнится давно добавили экспериментальный "plug n play" режим, идея которого в тех же симлинках, но видимо они там что-то дополнительно делают, чтобы не было описанной проблемы (лишь предположение, может, эта проблема и у них есть)