xen*_*ide 5 yarnpkg yarn-workspaces yarn-v2 yarnpkg-v2
与this的问题大致相同,但对于yarn 2.我将我的共享依赖项放在层次结构的顶部。我相信我目前没有使用 PnP。
.yarnrc.yaml
nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-2.2.2.cjs
Run Code Online (Sandbox Code Playgroud)
在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
这是在应用程序的父级中提供的。
https://yarnpkg.com/advanced/qa#how-to-share-scripts-between-workspaces
鲜为人知的 Yarn 功能:可以从任何工作区调用名称中带有冒号 (build:foo) 的任何脚本。另一个鲜为人知的特性:$INIT_CWD 将始终指向运行脚本的目录。放在一起,您可以编写可以通过这种方式重用的脚本:
{
"dependencies": {
"typescript": "^3.8.0"
},
"scripts": {
"g:tsc": "cd $INIT_CWD && tsc"
}
}
Run Code Online (Sandbox Code Playgroud)
然后,从包含其自己的 tsconfig.json 的任何工作区,您将能够调用 TypeScript:
{
"scripts": {
"build": "yarn g:tsc"
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1238 次 |
最近记录: |