Keystone падает внутри Turborepo

Keystone не может найти зависимости во время работы yarn buildвнутри нового проекта Turborepo .

Действия по воспроизведению

  1. Установить Turborepo в новый проект npx create-turbo@latest

  2. перейдите в папку приложений или туда, куда вы планируете установить приложения Keystone cd/

  3. установить краеугольный камень yarn create keystone-app

  4. вернуться в корневой каталог cd ../

  5. добавлять .keystone/** to turbo.jsonТрубопровод:

      "build": {"dependsOn": [ "^build" ], "outputs": [ ".next/**", ".keystone/admin/.next/**" ]}}
  1. собрать проект из корневого каталога 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": "*"
  },

Ошибка больше не появлялась.

Другие вопросы по тегам