Yarn 2 中的工作区全局 bin 脚本

use*_*643 0 yarnpkg yarn-workspaces yarnpkg-v2

我有一个包含两个工作区的yarn 2工作区项目:

|-foo
\-bar
Run Code Online (Sandbox Code Playgroud)

现在,在 root 中package.json,我引入了常见的开发依赖项:

"devDependencies": {
    "@rollup/plugin-commonjs": "^14.0.0",
    "@rollup/plugin-node-resolve": "^8.4.0",
    "@rollup/plugin-replace": "^2.3.3",
    "@rollup/plugin-typescript": "^5.0.2",
    "@types/jest": "^26.0.13",
    "nollup": "^0.13.10",
    "rimraf": "^3.0.2",
    "rollup": "^2.23.1",
    "ts-jest": "^26.3.0",
    "tslib": "^2.0.1",
    "typescript": "^4.0.2"
  }
Run Code Online (Sandbox Code Playgroud)

我现在如何轻松(无需太多样板)从 foo 和 bar 的 package.json 中的脚本引用汇总等?

示例:foo/package.json

"build": "rollup ...",
Run Code Online (Sandbox Code Playgroud)

写“../node_modules/.bin/rollup”很糟糕。

请注意,我不想在全球范围内安装汇总等。

rai*_*ine 10

要运行根工作区中安装的可执行文件,您可以说:

"build": "run -T rollup",
Run Code Online (Sandbox Code Playgroud)

-T用于--top-level且目前尚未在任何地方记录。一位维护者告诉我它在 Yarn Discord 服务器上的存在。

https://github.com/yarnpkg/berry/blob/bef203949d9acbd42da9b47b2a2dfe3615764eaf/packages/plugin-essentials/sources/commands/run.ts#L47-L49