Skip to content

Commit d40ffec

Browse files
authored
Add remoteurl to downloadable emulators json (#8651)
* Add remoteurl to downloadable emulators json * fix typo * fix typo * Add download and binary paths
1 parent d39d184 commit d40ffec

File tree

3 files changed

+48
-51
lines changed

3 files changed

+48
-51
lines changed

src/emulator/downloadableEmulatorInfo.json

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,58 +3,79 @@
33
"version": "4.11.2",
44
"expectedSize": 34495935,
55
"expectedChecksum": "2fd771101c0e1f7898c04c9204f2ce63",
6-
"expectedChecksumSHA256": "b70d99344caf17c98b6f910fa8f6edf32a7c016cb1035e8915f70d38901eb97f"
6+
"expectedChecksumSHA256": "b70d99344caf17c98b6f910fa8f6edf32a7c016cb1035e8915f70d38901eb97f",
7+
"remoteUrl": "https://storage.googleapis.com/firebase-preview-drop/emulator/firebase-database-emulator-v4.11.2.jar",
8+
"downloadPathRelativeToCacheDir": "firebase-database-emulator-v4.11.2.jar"
79
},
810
"firestore": {
911
"version": "1.19.8",
1012
"expectedSize": 63634791,
1113
"expectedChecksum": "9b43a6daa590678de9b7df6d68260395",
12-
"expectedChecksumSHA256": "9d43599ed6151199e8d604dc87fac51218e49e5f3a48519b1ae560bbe5e3382d"
14+
"expectedChecksumSHA256": "9d43599ed6151199e8d604dc87fac51218e49e5f3a48519b1ae560bbe5e3382d",
15+
"remoteUrl": "https://storage.googleapis.com/firebase-preview-drop/emulator/cloud-firestore-emulator-v1.19.8.jar",
16+
"downloadPathRelativeToCacheDir": "cloud-firestore-emulator-v1.19.8.jar"
1317
},
1418
"storage": {
1519
"version": "1.1.3",
1620
"expectedSize": 52892936,
1721
"expectedChecksum": "2ca11ec1193003bea89f806cc085fa25",
18-
"expectedChecksumSHA256": "0cd52db6f6271d62078f805220706377c849220b73bd68aa27078d977df9c900"
22+
"expectedChecksumSHA256": "0cd52db6f6271d62078f805220706377c849220b73bd68aa27078d977df9c900",
23+
"remoteUrl": "https://storage.googleapis.com/firebase-preview-drop/emulator/cloud-storage-rules-runtime-v1.1.3.jar",
24+
"downloadPathRelativeToCacheDir": "cloud-storage-rules-runtime-v1.1.3.jar"
1925
},
2026
"ui": {
2127
"snapshot": {
2228
"version": "SNAPSHOT",
2329
"expectedSize": -1,
2430
"expectedChecksum": "",
25-
"expectedChecksumSHA256": ""
31+
"expectedChecksumSHA256": "",
32+
"remoteUrl": "https://storage.googleapis.com/firebase-preview-drop/emulator/ui-vSNAPSHOT.zip",
33+
"downloadPathRelativeToCacheDir": "ui-vSNAPSHOT.zip",
34+
"binaryPathRelativeToCacheDir": "ui-vSNAPSHOT/server/server.mjs"
2635
},
2736
"main": {
2837
"version": "1.15.0",
2938
"expectedSize": 3538469,
3039
"expectedChecksum": "2f13d5aea9524564c8b7adaa9cfa2128",
31-
"expectedChecksumSHA256": "97d8c4c574e3f20c4d690a2ce8373eef76ab024da73279a062dba8517f88cf9a"
40+
"expectedChecksumSHA256": "97d8c4c574e3f20c4d690a2ce8373eef76ab024da73279a062dba8517f88cf9a",
41+
"remoteUrl": "https://storage.googleapis.com/firebase-preview-drop/emulator/ui-v1.15.0.zip",
42+
"downloadPathRelativeToCacheDir": "ui-v1.15.0.zip",
43+
"binaryPathRelativeToCacheDir": "ui-v1.15.0/server/server.mjs"
3244
}
3345
},
3446
"pubsub": {
3547
"version": "0.8.14",
3648
"expectedSize": 66786933,
3749
"expectedChecksum": "a9025b3e53fdeafd2969ccb3ba1e1d38",
38-
"expectedChecksumSHA256": "4fbeefd8ecb32b10e5ab522e5d8748e0c2b13891c471c0c327c04632dcc75a8d"
50+
"expectedChecksumSHA256": "4fbeefd8ecb32b10e5ab522e5d8748e0c2b13891c471c0c327c04632dcc75a8d",
51+
"remoteUrl": "https://storage.googleapis.com/firebase-preview-drop/emulator/pubsub-emulator-0.8.14.zip",
52+
"downloadPathRelativeToCacheDir": "pubsub-emulator-0.8.14.zip",
53+
"binaryPathRelativeToCacheDir": "pubsub-emulator-0.8.14/pubsub-emulator/bin/cloud-pubsub-emulator"
3954
},
4055
"dataconnect": {
4156
"darwin": {
4257
"version": "2.6.1",
4358
"expectedSize": 27415296,
4459
"expectedChecksum": "5814d22b06b1321409f40693dfe47288",
45-
"expectedChecksumSHA256": "8df1cfac6ef747909b3c18b57ba52b70a11d53b9d0a22b197011d6550ceca133"
60+
"expectedChecksumSHA256": "8df1cfac6ef747909b3c18b57ba52b70a11d53b9d0a22b197011d6550ceca133",
61+
"remoteUrl": "https://storage.googleapis.com/firemat-preview-drop/emulator/dataconnect-emulator-macos-v2.6.1",
62+
"downloadPathRelativeToCacheDir": "dataconnect-emulator-2.6.1"
4663
},
4764
"win32": {
4865
"version": "2.6.1",
4966
"expectedSize": 27875328,
5067
"expectedChecksum": "21381052c2bf767ee84fb85975cfd4d5",
51-
"expectedChecksumSHA256": "6bebaa9575b460c4fa170b191d94722923a3c869bc1eca24c7e444428e6b7a70"
68+
"expectedChecksumSHA256": "6bebaa9575b460c4fa170b191d94722923a3c869bc1eca24c7e444428e6b7a70",
69+
"remoteUrl": "https://storage.googleapis.com/firemat-preview-drop/emulator/dataconnect-emulator-windows-v2.6.1",
70+
"downloadPathRelativeToCacheDir": "dataconnect-emulator-2.6.1.exe"
5271
},
5372
"linux": {
5473
"version": "2.6.1",
5574
"expectedSize": 27332760,
5675
"expectedChecksum": "0480a92f5af8e8441e680dc4e7995263",
57-
"expectedChecksumSHA256": "4f60baf4649c670227314302056f50b1c40ccc8d673b98d16935977508342a67"
76+
"expectedChecksumSHA256": "4f60baf4649c670227314302056f50b1c40ccc8d673b98d16935977508342a67",
77+
"remoteUrl": "https://storage.googleapis.com/firemat-preview-drop/emulator/dataconnect-emulator-linux-v2.6.1",
78+
"downloadPathRelativeToCacheDir": "dataconnect-emulator-2.6.1"
5879
}
5980
}
6081
}

src/emulator/downloadableEmulators.ts

Lines changed: 15 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -58,55 +58,47 @@ export const DownloadDetails: { [s in DownloadableEmulators]: EmulatorDownloadDe
5858
database: {
5959
downloadPath: path.join(
6060
CACHE_DIR,
61-
`firebase-database-emulator-v${EMULATOR_UPDATE_DETAILS.database.version}.jar`,
61+
EMULATOR_UPDATE_DETAILS.database.downloadPathRelativeToCacheDir,
6262
),
6363
version: EMULATOR_UPDATE_DETAILS.database.version,
6464
opts: {
65+
...EMULATOR_UPDATE_DETAILS.database,
6566
cacheDir: CACHE_DIR,
66-
remoteUrl: `https://storage.googleapis.com/firebase-preview-drop/emulator/firebase-database-emulator-v${EMULATOR_UPDATE_DETAILS.database.version}.jar`,
67-
expectedSize: EMULATOR_UPDATE_DETAILS.database.expectedSize,
68-
expectedChecksum: EMULATOR_UPDATE_DETAILS.database.expectedChecksum,
6967
namePrefix: "firebase-database-emulator",
7068
},
7169
},
7270
firestore: {
7371
downloadPath: path.join(
7472
CACHE_DIR,
75-
`cloud-firestore-emulator-v${EMULATOR_UPDATE_DETAILS.firestore.version}.jar`,
73+
EMULATOR_UPDATE_DETAILS.firestore.downloadPathRelativeToCacheDir,
7674
),
7775
version: EMULATOR_UPDATE_DETAILS.firestore.version,
7876
opts: {
77+
...EMULATOR_UPDATE_DETAILS.firestore,
7978
cacheDir: CACHE_DIR,
80-
remoteUrl: `https://storage.googleapis.com/firebase-preview-drop/emulator/cloud-firestore-emulator-v${EMULATOR_UPDATE_DETAILS.firestore.version}.jar`,
81-
expectedSize: EMULATOR_UPDATE_DETAILS.firestore.expectedSize,
82-
expectedChecksum: EMULATOR_UPDATE_DETAILS.firestore.expectedChecksum,
8379
namePrefix: "cloud-firestore-emulator",
8480
},
8581
},
8682
storage: {
8783
downloadPath: path.join(
8884
CACHE_DIR,
89-
`cloud-storage-rules-runtime-v${EMULATOR_UPDATE_DETAILS.storage.version}.jar`,
85+
EMULATOR_UPDATE_DETAILS.storage.downloadPathRelativeToCacheDir,
9086
),
9187
version: EMULATOR_UPDATE_DETAILS.storage.version,
9288
opts: {
89+
...EMULATOR_UPDATE_DETAILS.storage,
9390
cacheDir: CACHE_DIR,
94-
remoteUrl: `https://storage.googleapis.com/firebase-preview-drop/emulator/cloud-storage-rules-runtime-v${EMULATOR_UPDATE_DETAILS.storage.version}.jar`,
95-
expectedSize: EMULATOR_UPDATE_DETAILS.storage.expectedSize,
96-
expectedChecksum: EMULATOR_UPDATE_DETAILS.storage.expectedChecksum,
9791
namePrefix: "cloud-storage-rules-emulator",
9892
},
9993
},
10094
ui: {
10195
version: emulatorUiDetails.version,
102-
downloadPath: path.join(CACHE_DIR, `ui-v${emulatorUiDetails.version}.zip`),
96+
downloadPath: path.join(CACHE_DIR, emulatorUiDetails.downloadPathRelativeToCacheDir),
10397
unzipDir: path.join(CACHE_DIR, `ui-v${emulatorUiDetails.version}`),
104-
binaryPath: path.join(CACHE_DIR, `ui-v${emulatorUiDetails.version}`, "server", "server.mjs"),
98+
binaryPath: path.join(CACHE_DIR, emulatorUiDetails.binaryPathRelativeToCacheDir!),
10599
opts: {
100+
...emulatorUiDetails,
106101
cacheDir: CACHE_DIR,
107-
remoteUrl: `https://storage.googleapis.com/firebase-preview-drop/emulator/ui-v${emulatorUiDetails.version}.zip`,
108-
expectedSize: emulatorUiDetails.expectedSize,
109-
expectedChecksum: emulatorUiDetails.expectedChecksum,
110102
skipCache: experiments.isEnabled("emulatoruisnapshot"),
111103
skipChecksumAndSize: experiments.isEnabled("emulatoruisnapshot"),
112104
namePrefix: "ui",
@@ -115,43 +107,24 @@ export const DownloadDetails: { [s in DownloadableEmulators]: EmulatorDownloadDe
115107
pubsub: {
116108
downloadPath: path.join(
117109
CACHE_DIR,
118-
`pubsub-emulator-${EMULATOR_UPDATE_DETAILS.pubsub.version}.zip`,
110+
EMULATOR_UPDATE_DETAILS.pubsub.downloadPathRelativeToCacheDir,
119111
),
120112
version: EMULATOR_UPDATE_DETAILS.pubsub.version,
121113
unzipDir: path.join(CACHE_DIR, `pubsub-emulator-${EMULATOR_UPDATE_DETAILS.pubsub.version}`),
122-
binaryPath: path.join(
123-
CACHE_DIR,
124-
`pubsub-emulator-${EMULATOR_UPDATE_DETAILS.pubsub.version}`,
125-
`pubsub-emulator/bin/cloud-pubsub-emulator${process.platform === "win32" ? ".bat" : ""}`,
126-
),
114+
binaryPath: path.join(CACHE_DIR, EMULATOR_UPDATE_DETAILS.pubsub.binaryPathRelativeToCacheDir!),
127115
opts: {
116+
...EMULATOR_UPDATE_DETAILS.pubsub,
128117
cacheDir: CACHE_DIR,
129-
remoteUrl: `https://storage.googleapis.com/firebase-preview-drop/emulator/pubsub-emulator-${EMULATOR_UPDATE_DETAILS.pubsub.version}.zip`,
130-
expectedSize: EMULATOR_UPDATE_DETAILS.pubsub.expectedSize,
131-
expectedChecksum: EMULATOR_UPDATE_DETAILS.pubsub.expectedChecksum,
132118
namePrefix: "pubsub-emulator",
133119
},
134120
},
135121
dataconnect: {
136-
downloadPath: path.join(
137-
CACHE_DIR,
138-
`dataconnect-emulator-${dataconnectDetails.version}${process.platform === "win32" ? ".exe" : ""}`,
139-
),
122+
downloadPath: path.join(CACHE_DIR, dataconnectDetails.downloadPathRelativeToCacheDir),
140123
version: dataconnectDetails.version,
141-
binaryPath: path.join(
142-
CACHE_DIR,
143-
`dataconnect-emulator-${dataconnectDetails.version}${process.platform === "win32" ? ".exe" : ""}`,
144-
),
124+
binaryPath: path.join(CACHE_DIR, dataconnectDetails.downloadPathRelativeToCacheDir),
145125
opts: {
126+
...dataconnectDetails,
146127
cacheDir: CACHE_DIR,
147-
remoteUrl:
148-
process.platform === "darwin"
149-
? `https://storage.googleapis.com/firemat-preview-drop/emulator/dataconnect-emulator-macos-v${dataconnectDetails.version}`
150-
: process.platform === "win32"
151-
? `https://storage.googleapis.com/firemat-preview-drop/emulator/dataconnect-emulator-windows-v${dataconnectDetails.version}`
152-
: `https://storage.googleapis.com/firemat-preview-drop/emulator/dataconnect-emulator-linux-v${dataconnectDetails.version}`,
153-
expectedSize: dataconnectDetails.expectedSize,
154-
expectedChecksum: dataconnectDetails.expectedChecksum,
155128
skipChecksumAndSize: false,
156129
namePrefix: "dataconnect-emulator",
157130
auth: false,

src/emulator/types.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,9 @@ export interface EmulatorUpdateDetails {
186186
expectedSize: number;
187187
expectedChecksum: string;
188188
expectedChecksumSHA256: string; // TODO: Use this for validation within the CLI as well.
189+
remoteUrl: string;
190+
downloadPathRelativeToCacheDir: string;
191+
binaryPathRelativeToCacheDir?: string;
189192
}
190193

191194
export interface EmulatorDownloadDetails {

0 commit comments

Comments
 (0)