@@ -18,6 +18,12 @@ import {
1818} from '../utils' ;
1919import { appPrompt , featuresPrompt , projectPrompt , userPrompt } from './prompts' ;
2020
21+ // FirebaseOptions keys — apps.sdkconfig responses include management-API extras that initializeApp() rejects.
22+ const firebaseOptionsKeys = [
23+ 'apiKey' , 'authDomain' , 'databaseURL' , 'projectId' , 'storageBucket' ,
24+ 'messagingSenderId' , 'appId' , 'measurementId' , 'recaptchaSiteKey' ,
25+ ] ;
26+
2127export interface SetupConfig extends DeployOptions {
2228 firebaseProject : FirebaseProject ,
2329 firebaseApp ?: FirebaseApp ,
@@ -92,8 +98,11 @@ export const ngAddSetupProject = (
9298 firebaseApp = await appPrompt ( firebaseProject , undefined , { projectRoot } ) ;
9399
94100 const result = await firebaseTools . apps . sdkconfig ( 'web' , firebaseApp . appId , { nonInteractive : true , projectRoot } ) ;
95- sdkConfig = result . sdkConfig ;
96- delete sdkConfig . locationId ;
101+ sdkConfig = Object . fromEntries (
102+ firebaseOptionsKeys
103+ . filter ( key => result . sdkConfig [ key ] !== undefined )
104+ . map ( key => [ key , result . sdkConfig [ key ] ] )
105+ ) ;
97106 setupConfig . sdkConfig = sdkConfig ;
98107 setupConfig . firebaseApp = firebaseApp ;
99108 // set up data connect locally if data connect hasn't already been initialized.
0 commit comments