Согласно функциям Firebase с рабочими пространствами Yarn , я бы хотел развернуть монорепортаж в Firebase с использованием рабочих областей Yarn. Я могу успешно развернуть «веб» в Firebase Hosting, который ссылается на общее «основное» рабочее пространство. Однако попытки сделать то же самое с рабочей областью «функции» в Firebase Functions не удаются.
Я использую рабочие области Yarn со следующей структурой папок:
packages/
core/ // name: firebase-monorepo-core: custom core package
functions/ // name: firebase-monorepo-functions: firebase functions package
web/ // name: firebase-monorepo-web: react package
Они были настроены в файл root package.json
:
"workspaces": {
"packages": [
"packages/*"
],
"nohoist": [
"**/firebase-monorepo-core"
]
}
В попытке включить рабочие пространства Yarn в Firebase (и, следовательно, поделиться своим пакетом core
), я использовал функцию nohoist
для создания символических ссылок на рабочее пространство core
в functions
и web
согласно twiz ' Stackoverflow ответ .
Пакет core
также существует как зависимость в functions
и web
:
"dependencies": {
"firebase-monorepo-core": "*"
}
Нет проблем, когда все это выполняется локально, и фактически развертывание пакета web
на хостинге Firebase работает нормально. Однако развертывание пакета functions
для функций Firebase приводит к ошибке:
![Firebase functions deployment error](https://i.stack.imgur.com/n1PKY.png)
Я создал репозиторий Github https://github.com/cjmyles/firebase-monorepo , чтобы продемонстрировать это, и результирующее рабочее пространство web
можно просмотреть в https://fir-monorepo.firebaseapp.com.
. Я могу получить пакет functions
для развертывания, если я yarn pack
core
рабочее пространство и ссылаться на него как тарбол в файле package.json
, но мне действительно не нравится это решение, и для его автоматизации потребуются дополнительные издержки.
Любой совет будет признателен за решение этой проблемы. выпуск.