使用 firebase CLI 部署具有本地依赖项的 firebase 函数

2023-11-27

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)?或者这根本不是还支持?


这是我使方法 4 发挥作用的解决方法:

rm -rf ./node_modules
yarn cache clean # THIS IS IMPORTANT
yarn install

从以下位置运行此命令./functions folder

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 firebase CLI 部署具有本地依赖项的 firebase 函数 的相关文章

随机推荐