web-dev-qa-db-fra.com

Comment cibler un seul espace de travail avec Yarn?

J'ai des espaces de travail configurés comme ceci

"private": true,
  "workspaces": {
    "packages": [
      "packages/*"
    ],
    "nohoist": [
      "**/firebase-admin",
      "**/firebase-admin/**",
      "**/firebase-functions",
      "**/firebase-functions/**"
    ]
  },

Dans mon répertoire de packages, j'ai un dossier common entre autres, avec son propre package.json etc.

Lorsque j'exécute yarn workspaces run build il déclenche le script de construction pour tous les espaces de travail. Cependant, si j'essaie de cibler un espace de travail spécifique avec le yarn workspace commande comme yarn workspace common build Je reçois toujours l'erreur:

erreur Espace de travail inconnu "commun".

Voici ma sortie de yarn workspaces info:

yarn workspaces v1.17.0
{
  "@gemini/cli": {
    "location": "packages/cli",
    "workspaceDependencies": [],
    "mismatchedWorkspaceDependencies": []
  },
  "@gemini/cloud-functions": {
    "location": "packages/cloud-functions",
    "workspaceDependencies": [
      "@gemini/common"
    ],
    "mismatchedWorkspaceDependencies": []
  },
  "@gemini/common": {
    "location": "packages/common",
    "workspaceDependencies": [],
    "mismatchedWorkspaceDependencies": []
  },
  "@gemini/tools": {
    "location": "packages/tools",
    "workspaceDependencies": [],
    "mismatchedWorkspaceDependencies": []
  }
}

J'ai essayé de changer le nom en package/common ou @ gemini/common mais sans chance.

Qu'est-ce que j'oublie ici?

6
Thijs Koerselman

Si vous souhaitez exécuter un script build dans l'espace de travail <workspace>, la syntaxe de la commande est

yarn workspace <workspace> build

Par exemple, j'ai ce qui suit dans ma racine package.json:

  "workspaces": [
    "api",
    "app"
  ],

Alors je peux exécuter yarn workspace api build.

0
dinvlad