One of the common issues when deploying a React project with firebase-admin is that a secret environment variable with a newline (\n) character will cause a build error.
Assume that the text below is a simplified version of your firebase-admin private key.
-----BEGIN PRIVATE KEY-----
abcde
fghij
klmno
pqrs=
-----END PRIVATE KEY-----
In a .env file, this would be represented as:
MY_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nabcde\nfghij\nklmno\npqrs=\n-----END PRIVATE KEY-----\n"
What happens when you add a secret environment variable containing your private key value - "-----BEGIN PRIVATE KEY-----\nabcde\nfghij\nklmno\npqrs=\n-----END PRIVATE KEY-----\n" and redeploy?

Unfortunately, setting an environment variable containing newline characters (\n) in Vercel will throw an error while building.
FirebaseAppError: Failed to parse private key: Error: Invalid PEM formatted message.

Easy fix
Replace the newline characters with line breaks. Although you can do this manually, using find & replace in a code editor will be much easier.
- Paste your private key value to a new tab in VS Code.
- Then, run a find & replace.
- Enable regular expressions.
- Replace
\\nwith\n.
Before replace:

After replace:

Copy & paste the replaced version to Vercel.

Vercel should now successfully build your project.
