Ядро Discourse переходит на pnpm для управления JS-пакетами

Ускорение наиболее заметно при «холодном запуске». Например, в наших CI-процессах GitHub Actions yarn занимал более 90 секунд, тогда как pnpm завершал работу примерно за 15 секунд.

Это может быть связано с тем, что мы не обновляли базовый образ после внесения этого изменения. Таким образом, в стабильной версии зависимости yarn уже установлены. В то время как для варианта tests-passed зависимости yarn приходится удалять перед установкой pnpm с нуля.

Следовательно, ситуация для варианта tests-passed улучшится после следующего обновления базового образа.

Мы не используем Docker… :grimacing:

Так что это проблема в нашей пользовательской среде.
Я разберусь в этом и посмотрю, что пошло не так.

У меня возникают ошибки, связанные с версиями pnpm. Мне предлагают выполнить pnpm self-update, чтобы установить последнюю версию pnpm, поэтому сейчас у меня стоит версия 10.3.0. Однако, похоже, что скелет темы или другие компоненты ожидают определённую версию pnpm? Например:

Да, формат файла блокировки изменился в версии 10.0, и Dependabot от GitHub пока его не поддерживает, поэтому мы зафиксировали ядро и все темы/плагины на версии 9.x.

Теоретически оно должно автоматически переключиться обратно на 9.x… но, похоже, это работает не у всех :cry:

Если вы выполните pnpm self-update 9, это поможет восстановить работоспособность?

Да, это работает! :sunglasses: