Yarn 2 中的工作区全局 bin 脚本
Workspace-global bin-scripts in Yarn 2
我有一个包含两个工作区的 yarn 2 工作区项目:
|-foo
\-bar
现在,在根 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"
}
我现在如何轻松地(没有太多样板)从 foo 和 bar 的 package.json 中的脚本引用汇总等?
示例:foo/package.json
"build": "rollup ...",
写“../node_modules/.bin/rollup”很糟糕。
注意,我不想全局安装汇总等。
所以,我找到了 not-too-bad 解决方案。在工作区根目录中,我为要在脚本中使用的命令添加了一些可执行文件,例如:
tsc
:
#!/bin/bash
$(dirname "${BASH_SOURCE[0]}")/node_modules/.bin/tsc -b -f "$@"
rollup
:
#!/bin/bash
$(dirname "${BASH_SOURCE[0]}")/node_modules/.bin/rollup "$@"
这些基本上是将调用“转发”到实际的二进制文件,并且可能会添加一些通用参数。
在我的 foo/bar package.json
中,我现在可以引用那些脚本:
"dev:compile": "../tsc",
"build": "../tsc && ../rollup -c rollup.config.js",
要运行安装在根工作区的可执行文件,你可以说:
"build": "run -T rollup",
-T
适用于 --top-level
,目前未在任何地方记录。一位维护者告诉我它存在于 Yarn discord 服务器上。
我有一个包含两个工作区的 yarn 2 工作区项目:
|-foo
\-bar
现在,在根 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"
}
我现在如何轻松地(没有太多样板)从 foo 和 bar 的 package.json 中的脚本引用汇总等?
示例:foo/package.json
"build": "rollup ...",
写“../node_modules/.bin/rollup”很糟糕。
注意,我不想全局安装汇总等。
所以,我找到了 not-too-bad 解决方案。在工作区根目录中,我为要在脚本中使用的命令添加了一些可执行文件,例如:
tsc
:
#!/bin/bash
$(dirname "${BASH_SOURCE[0]}")/node_modules/.bin/tsc -b -f "$@"
rollup
:
#!/bin/bash
$(dirname "${BASH_SOURCE[0]}")/node_modules/.bin/rollup "$@"
这些基本上是将调用“转发”到实际的二进制文件,并且可能会添加一些通用参数。
在我的 foo/bar package.json
中,我现在可以引用那些脚本:
"dev:compile": "../tsc",
"build": "../tsc && ../rollup -c rollup.config.js",
要运行安装在根工作区的可执行文件,你可以说:
"build": "run -T rollup",
-T
适用于 --top-level
,目前未在任何地方记录。一位维护者告诉我它存在于 Yarn discord 服务器上。