diff --git a/CHANGELOG.md b/CHANGELOG.md index e69de29bb2d..c86f3ecd431 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -0,0 +1 @@ +- Enable single project mode for the database emulator (#5068). diff --git a/src/emulator/controller.ts b/src/emulator/controller.ts index 022653ac751..8e2ba913a09 100644 --- a/src/emulator/controller.ts +++ b/src/emulator/controller.ts @@ -712,6 +712,8 @@ export async function startAll( port: databaseAddr.port, projectId, auto_download: true, + // Only set the flag (at all) if singleProjectMode is enabled. + single_project_mode: singleProjectModeEnabled ? "Warning" : undefined, }; // Try to fetch the default RTDB instance for a project, but don't hard-fail if we diff --git a/src/emulator/databaseEmulator.ts b/src/emulator/databaseEmulator.ts index 786f4d1995f..6f83184de21 100644 --- a/src/emulator/databaseEmulator.ts +++ b/src/emulator/databaseEmulator.ts @@ -21,6 +21,7 @@ export interface DatabaseEmulatorArgs { functions_emulator_port?: number; functions_emulator_host?: string; auto_download?: boolean; + single_project_mode?: string; } export class DatabaseEmulator implements EmulatorInstance { diff --git a/src/emulator/downloadableEmulators.ts b/src/emulator/downloadableEmulators.ts index c342e2a2431..f8e385334e5 100644 --- a/src/emulator/downloadableEmulators.ts +++ b/src/emulator/downloadableEmulators.ts @@ -27,14 +27,14 @@ const CACHE_DIR = export const DownloadDetails: { [s in DownloadableEmulators]: EmulatorDownloadDetails } = { database: { - downloadPath: path.join(CACHE_DIR, "firebase-database-emulator-v4.9.0.jar"), - version: "4.9.0", + downloadPath: path.join(CACHE_DIR, "firebase-database-emulator-v4.10.0.jar"), + version: "4.10.0", opts: { cacheDir: CACHE_DIR, remoteUrl: - "https://storage.googleapis.com/firebase-preview-drop/emulator/firebase-database-emulator-v4.9.0.jar", - expectedSize: 34204485, - expectedChecksum: "1c3f5974f0ee5559ebf27b56f2e62108", + "https://storage.googleapis.com/firebase-preview-drop/emulator/firebase-database-emulator-v4.10.0.jar", + expectedSize: 34230230, + expectedChecksum: "e99b23f0e723813de4f4ea0e879b46b0", namePrefix: "firebase-database-emulator", }, }, @@ -144,7 +144,13 @@ const Commands: { [s in DownloadableEmulators]: DownloadableEmulatorCommand } = database: { binary: "java", args: ["-Duser.language=en", "-jar", getExecPath(Emulators.DATABASE)], - optionalArgs: ["port", "host", "functions_emulator_port", "functions_emulator_host"], + optionalArgs: [ + "port", + "host", + "functions_emulator_port", + "functions_emulator_host", + "single_project_mode", + ], joinArgs: false, }, firestore: {