代码之家  ›  专栏  ›  技术社区  ›  xenoterracide

在Yarn 2中,如何在工作区中共享公共依赖关系?

  •  0
  • xenoterracide  · 技术社区  · 5 年前

    this ,但纱线2。我将共享的依赖项放在层次结构的顶部。我相信我现在没有使用PnP。

    .yarnrc.yaml

    nodeLinker: node-modules
    yarnPath: .yarn/releases/yarn-2.2.2.cjs
    

    在我的最高水平上 typescript tsc 不管怎样 command not found: tsc 我也注意到一些警告,比如。 graph@workspace:app-lib/graph/packages/app doesn't provide jest@>=24 <25 requested by ts-jest@npm:24.3.0 在应用程序的父级中提供。

    0 回复  |  直到 5 年前
        1
  •  3
  •   xenoterracide    5 年前

    https://yarnpkg.com/advanced/qa#how-to-share-scripts-between-workspaces

    鲜为人知的特点:任何名字中带有冒号的脚本(build:foo)可以从任何工作区调用。另一个鲜为人知的特性:$INIT\u CWD将始终指向运行脚本的目录。总而言之,您可以这样编写可以重用的脚本:

    {
      "dependencies": {
        "typescript": "^3.8.0"
      },
      "scripts": {
        "g:tsc": "cd $INIT_CWD && tsc"
      }
    }
    

    然后,从任何包含自己的tsconfig.json,您可以调用TypeScript:

    {
      "scripts": {
        "build": "yarn g:tsc"
      }
    }
    
    推荐文章