Setup
我有一个具有以下文件结构的 monorepo 设置:
├── functions
│ ├── src
│ └── package.json
├── shared
| ├── dist
| ├── src
| └── package.json
├── frontend
| └── ...
└── firebase.json
方法1(失败)
./shared
持有在之间共享的 TypeScript 类./backend
and ./frontend
。理想情况下,我想引用共享库functions/package.json
使用符号链接以避免每次更改共享代码(大部分功能都位于其中)后都必须重新安装。
但是,这不起作用(既不使用link:
,也不是绝对的file:
路径,也不是亲戚file:
path)
// functions/package.json
...
"dependencies": {
"shared": "file:/home/boern/Desktop/wd/monorepo/shared"
...
}
导致错误firebase deploy --only functions
(error Package "shared" refers to a non-existing file '"home/boern/Desktop/wd/monorepo/shared"'
)。图书馆(尽管存在于./functions/node_modules/
)没有传输到服务器?
方法2(失败)
另外,设置"functions": {"ignore": []}
在 firebase.json 中没有帮助。
方法 4(可行,但缺乏要求 a)请参阅目标)
唯一的一点就是DID工作,是由Github 上的 adevine:
// functions/package.json
...
"scripts": {
...
"preinstall": "if [ -d ../shared ]; then npm pack ../shared; fi"
},
"dependencies": {
"shared": "file:./bbshared-1.0.0.tgz"
...
}
Goal
有人可以指出一种引用本地图书馆的方法吗?./functions
在开发过程中始终使用最新版本,并且 b) 使用库存 Firebase CLI 部署成功(而不是,例如使用firelink)?或者这根本不是还支持?