'Firebase emulator - provide custom name/path to runtimeconfig.json
Is there a way to provide .runtimeconfig.json location though a command line? Can't find any info on that.
Something like below?
firebase emulators:start --runtimeconfig ./path/to/.runtimeconfig-prod.json
I have two runtimeconfig.json: one for development and another for production and I'm looking for an easy way to switch emulator environment.
Note: my dev and prod applications are stored under two separate firebase projects.
Solution 1:[1]
As lilalinux said, you can set CLOUD_RUNTIME_CONFIG
with the path of your config file.
This is how I did it.
I created configurations for two environments (staging
and prod
) inside functions/emulator-tests/config
.
This is part of my project structure.
functions
emulator-tests
config
.runtimeconfig.staging.json // config for staging env
.runtimeconfig.prod.json // config for prod env
src
.runtimeconfig.json // default config I had
package.json
I installed cross-env and added two scripts in package.json
"scripts": {
...
"emulate-staging": "cross-env CLOUD_RUNTIME_CONFIG=./emulator- tests/config/.runtimeconfig.staging.json firebase emulators:start",
"emulate-prod": "cross-env CLOUD_RUNTIME_CONFIG=./emulator-tests/config/.runtimeconfig.prod.json firebase emulators:start"
...
}
Then, from inside the functions
folder I can emulate using any of those two environment configurations by running the respective script: npm run emulate-staging
or npm run emulate-prod
Source: https://github.com/firebase/firebase-tools/issues/629
Solution 2:[2]
You can specify the path and name via CLOUD_RUNTIME_CONFIG
, e.g.:
CLOUD_RUNTIME_CONFIG="../../.runtimeconfig.json" firebase emulators:start
The path can be absolute or relative to the location where it would be expected as default.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | lilalinux |