@@ -302,13 +302,15 @@ Future firebaseDeploy({
302
302
// Download actual code
303
303
final projectZipBytes = base64Decode (result['firebase_zip' ]);
304
304
final firebaseProjectId = result['firebase_project_id' ];
305
- final tmpFolder =
306
- Directory .systemTemp.createTempSync ('${projectId }_$firebaseProjectId ' );
307
305
final projectFolder = ZipDecoder ().decodeBytes (projectZipBytes);
308
- extractArchiveToCurrentDirectory (projectFolder, tmpFolder.path);
309
- final firebaseDir = '${tmpFolder .path }/firebase' ;
306
+ Directory ? tmpFolder;
310
307
311
308
try {
309
+ tmpFolder =
310
+ Directory .systemTemp.createTempSync ('${projectId }_$firebaseProjectId ' );
311
+ extractArchiveToCurrentDirectory (projectFolder, tmpFolder.path);
312
+ final firebaseDir = '${tmpFolder .path }/firebase' ;
313
+
312
314
// Install required modules for deployment.
313
315
await Process .run (
314
316
'npm' ,
@@ -318,11 +320,9 @@ Future firebaseDeploy({
318
320
stdoutEncoding: utf8,
319
321
stderrEncoding: utf8,
320
322
);
321
- final directoriesResult = tmpFolder.listSync (recursive: true );
322
323
323
324
// 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 ()) {
326
326
await Process .run (
327
327
'npm' ,
328
328
['install' ],
@@ -368,6 +368,6 @@ Future firebaseDeploy({
368
368
stderr.write ('Failed to deploy to Firebase.\n ' );
369
369
}
370
370
} finally {
371
- tmpFolder.deleteSync (recursive: true );
371
+ tmpFolder? .deleteSync (recursive: true );
372
372
}
373
373
}
0 commit comments