Firebase CLI: allow overriding local Emulator ports via command-line flags
Emulator ports can currently only be configured statically in the "emulators" block of firebase.json (or interactively via "firebase init emulators"). There is no way to set or override a port at invocation time.
This is especially painful in CI and parallel test runs: running multiple emulator suites concurrently (e.g. sharded test jobs on one runner) requires generating a distinct firebase.json per shard just to change port numbers.
A good solution are optional, per-emulator port flags on emulators:start and emulators:exec that override the corresponding firebase.json values, for example:
firebase emulators:start --firestore-port 8081 --auth-port 9098 --functions-port 5002 --ui-port 4001
Precedence: CLI flag > firebase.json > built-in default.