Keystone падает внутри Turborepo
Keystone не может найти зависимости во время работы
yarn build
внутри нового проекта Turborepo .
Действия по воспроизведению
Установить Turborepo в новый проект
npx create-turbo@latest
перейдите в папку приложений или туда, куда вы планируете установить приложения Keystone cd/
установить краеугольный камень
yarn create keystone-app
вернуться в корневой каталог
cd ../
добавлять
.keystone/** to turbo.json
Трубопровод:
"build": {"dependsOn": [ "^build" ], "outputs": [ ".next/**", ".keystone/admin/.next/**" ]}}
- собрать проект из корневого каталога
cd ../ && yarn build
Наблюдайте за сообщением об ошибке изнутри
./keystone
турбо.json
{
"pipeline": {
"build": {
"dependsOn": [
"^build"
],
"outputs": [
".next/**",
".keystone/admin/.next/**"
]
},
"dev": {
"cache": false
},
"clean": {
"cache": false
}
},
"globalDependencies": [
"tsconfig.json",
".prettierrc.json",
".eslintrc.json",
"Procfile"
]
}
пакет.json
{
"private": true,
"workspaces": [
"packages/*",
"apps/*"
],
"scripts": {
"build": "turbo run build",
"dev": "turbo run dev --no-cache --parallel --continue",
"lint": "turbo run lint",
"test": "turbo run test",
"clean": "turbo run clean && rm -rf node_modules",
"format": "prettier --write \"**/*.{ts,tsx,js,md}\""
},
"devDependencies": {
"prettier": "^2.5.1",
"turbo": "latest"
},
"packageManager": "yarn@1.22.18"
}
приложения/keystoneCMS/package.json
{
"name": "logly-admin",
"version": "1.0.0",
"private": true,
"main": "keystone.ts",
"scripts": {
"dev": "keystone dev",
"start": "keystone start",
"build": "keystone build && keystone prisma migrate deploy",
"postinstall": "keystone postinstall"
},
"dependencies": {
"@emotion/css": "^11.7.1",
"@keystone-6/auth": "^1.0.1",
"@keystone-6/cloudinary": "^1.0.0",
"@keystone-6/core": "^1.1.0",
"@keystone-6/fields-document": "^1.0.1",
"@prisma/client": "^3.8.1",
"autoprefixer": "^10.4.2",
"dotenv": "^10.0.0",
"formik": "^2.2.9",
"postcss": "^8.4.7",
"tailwind": "^4.0.0",
"tailwindcss": "^3.0.23",
"typescript": "^4.5.4"
},
"engines": {
"node": "^14.15 || ^16.13"
}
}
Проблема Github для большего контекста: https://github.com/keystonejs/keystone/issues/7518
Версии Node: v16.13.1 (последняя)Keystone: v6 (последняя)Turborepo: 1.2.8 (последняя)
1 ответ
Я смог воспроизвести это, и это похоже на проблему с версией, которая
npx create-turbo@latest
устанавливается и закрепляется. Бег
create-turbo
устанавливает
next
12.0.8
и привязан к этой версии. Для Keystone требуется как минимум версия
12.1.0
.
Когда я изменил свой
./apps/web/package.json
к:
"dependencies": {
"next": "^12.1.0",
"react": "17.0.2",
"react-dom": "17.0.2",
"ui": "*"
},
Ошибка больше не появлялась.