@@ -302,13 +302,15 @@ Future firebaseDeploy({
302302 // Download actual code
303303 final projectZipBytes = base64Decode (result['firebase_zip' ]);
304304 final firebaseProjectId = result['firebase_project_id' ];
305- final tmpFolder =
306- Directory .systemTemp.createTempSync ('${projectId }_$firebaseProjectId ' );
307305 final projectFolder = ZipDecoder ().decodeBytes (projectZipBytes);
308- extractArchiveToCurrentDirectory (projectFolder, tmpFolder.path);
309- final firebaseDir = '${tmpFolder .path }/firebase' ;
306+ Directory ? tmpFolder;
310307
311308 try {
309+ tmpFolder =
310+ Directory .systemTemp.createTempSync ('${projectId }_$firebaseProjectId ' );
311+ extractArchiveToCurrentDirectory (projectFolder, tmpFolder.path);
312+ final firebaseDir = '${tmpFolder .path }/firebase' ;
313+
312314 // Install required modules for deployment.
313315 await Process .run (
314316 'npm' ,
@@ -318,11 +320,9 @@ Future firebaseDeploy({
318320 stdoutEncoding: utf8,
319321 stderrEncoding: utf8,
320322 );
321- final directoriesResult = tmpFolder.listSync (recursive: true );
322323
323324 // This directory only exists if there were custom cloud functions.
324- if (directoriesResult.map ((f) => f.path).any (
325- (path) => path.startsWith ('$firebaseDir /custom_cloud_functions' ))) {
325+ if (Directory ('$firebaseDir /custom_cloud_functions' ).existsSync ()) {
326326 await Process .run (
327327 'npm' ,
328328 ['install' ],
@@ -368,6 +368,6 @@ Future firebaseDeploy({
368368 stderr.write ('Failed to deploy to Firebase.\n ' );
369369 }
370370 } finally {
371- tmpFolder.deleteSync (recursive: true );
371+ tmpFolder? .deleteSync (recursive: true );
372372 }
373373}
0 commit comments