@@ -131,9 +131,9 @@ export async function have(projectId: string): Promise<DeploymentInstanceSpec[]>
131131 * any extensions the user has defined that way.
132132 * @param args.projectId The project we are deploying to
133133 * @param args.projectNumber The project number we are deploying to.
134- * @param args.extensions The extensions section of firebase.jsonm
134+ * @param args.extensions The extensions section of firebase.json
135135 * @param args.emulatorMode Whether the output will be used by the Extensions emulator.
136- * If true, this will check {instanceId}.env.local for params a
136+ * If true, this will check {instanceId}.env.local for params
137137 */
138138export async function wantDynamic ( args : {
139139 projectId : string ;
@@ -143,6 +143,9 @@ export async function wantDynamic(args: {
143143} ) : Promise < DeploymentInstanceSpec [ ] > {
144144 const instanceSpecs : DeploymentInstanceSpec [ ] = [ ] ;
145145 const errors : FirebaseError [ ] = [ ] ;
146+ if ( ! args . extensions ) {
147+ return [ ] ;
148+ }
146149 for ( const [ instanceId , ext ] of Object . entries ( args . extensions ) ) {
147150 const autoPopulatedParams = await getFirebaseProjectParams ( args . projectId , args . emulatorMode ) ;
148151 const subbedParams = substituteParams ( ext . params , autoPopulatedParams ) ;
@@ -207,6 +210,9 @@ export async function want(args: {
207210} ) : Promise < DeploymentInstanceSpec [ ] > {
208211 const instanceSpecs : DeploymentInstanceSpec [ ] = [ ] ;
209212 const errors : FirebaseError [ ] = [ ] ;
213+ if ( ! args . extensions ) {
214+ return [ ] ;
215+ }
210216 for ( const e of Object . entries ( args . extensions ) ) {
211217 try {
212218 const instanceId = e [ 0 ] ;
0 commit comments