Как вывести конфигурацию Firestore через cli

Как вывести конфигурацию проекта firebase и сохранить ее в файл .json через интерфейс командной строки Firebase? У меня есть веб-проект Firebase, использующий React, и он имеет как производственную, так и промежуточную среду, и мне нужен способ автоматической настройки моего проекта, чтобы я мог просто запускать firebase use [project], а затем firebase deploy, не беспокоясь о правильной конфигурации. Вот что у меня работало до новой версии Firebase CLI:

Я бы запустил firebase setup:web --json > ./src/firebase-config.json в моем package.json, а затем прочитал из конфигурации во время initializeApp. Но теперь setup:web устарел и больше не работает. Итак, вы должны использовать вместо этого apps:sdkconfig web [project-id], но я не могу заставить его работать, как раньше. Если я перейду на более раннюю версию firebase-tools, я смогу заставить его снова работать по-старому.

  1. В новой настройке (с использованием apps:sdkconfig) вы должны передать идентификатор проекта, и я хотел бы, чтобы он был автоматически передан (т.е. он должен знать проект, на который я переключился через firebase use).

  2. И вторая проблема заключается в том, что даже при тестировании путем явной передачи идентификатора текущего проекта я получаю ошибки области действия:

[debug] [2020-05-09T16:18:57.519Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[debug] [2020-05-09T16:18:57.519Z] > authorizing via signed-in user
[debug] [2020-05-09T16:18:57.526Z] > refreshing access token with scopes: ["email","https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","openid"]
[debug] [2020-05-09T16:18:57.527Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token  
 <request body omitted>
[debug] [2020-05-09T16:18:57.722Z] <<< HTTP RESPONSE 200 {"content-type":"application/json; charset=utf-8","vary":"X-Origin, Referer, Origin,Accept-Encoding","date":"Sat, 09 May 2020 16:18:57 GMT","server":"scaffolding on HTTPServer2","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-27=\":443\"; ma=2592000,h3-25=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q049=\":443\"; ma=2592000,h3-Q048=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-05-09T16:18:57.738Z] >>> HTTP REQUEST GET https://firebase.googleapis.com/v1beta1/projects/-/webApps/[projectId]/config  

[debug] [2020-05-09T16:18:57.969Z] <<< HTTP RESPONSE 400 {"vary":"X-Origin, Referer, Origin,Accept-Encoding","content-type":"application/json; charset=UTF-8","date":"Sat, 09 May 2020 16:18:57 GMT","server":"ESF","cache-control":"private","x-xss-protection":"0","x-frame-options":"SAMEORIGIN","x-content-type-options":"nosniff","alt-svc":"h3-27=\":443\"; ma=2592000,h3-25=\":443\"; ma=2592000,h3-Q050=\":443\"; ma=2592000,h3-Q049=\":443\"; ma=2592000,h3-Q048=\":443\"; ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"","accept-ranges":"none","transfer-encoding":"chunked"}
[debug] [2020-05-09T16:18:57.969Z] <<< HTTP RESPONSE BODY {"error":{"code":400,"message":"Request contains an invalid argument.","status":"INVALID_ARGUMENT"}}
[debug] [2020-05-09T16:18:57.972Z] HTTP Error: 400, Request contains an invalid argument.
[debug] [2020-05-09T16:18:57.975Z] FirebaseError: HTTP Error: 400, Request contains an invalid argument.

У кого-нибудь есть хороший способ переключить конфигурацию в своих проектах Firebase React? Вот полная информация о старом способе, которым я это делал: https://stackoverflow.com/a/59592541/2946924


person paintedbicycle    schedule 09.05.2020    source источник


Ответы (1)


Вы действительно можете использовать firebase apps:sdkconfig, например: firebase apps:sdkconfig web --json > ./firebase-config.json.

Дополнительная информация здесь

person paintedbicycle    schedule 05.01.2021