Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ AngularFire smooths over the rough edges an Angular developer might encounter wh
[Firebase JS SDK](https://github.com/firebase/firebase-js-sdk) & aims to provide a more natural developer experience
by conforming to Angular conventions.

<strong><pre>ng add @angular/fire@next</pre></strong>
<strong><pre>ng add @angular/fire</pre></strong>

- **Dependency injection** - Provide and Inject Firebase services in your components.
- **Zone.js wrappers** - Stable zones allow proper functionality of service workers, forms, SSR, and pre-rendering.
Expand Down
8 changes: 2 additions & 6 deletions docs/install-and-setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@

- **Firebase CLI**
- Setup uses the Firebase CLI (`firebase-tools`). Install it with `npm install -g firebase-tools`, then run `firebase login`. If `ng add` can't find a copy, it installs the newest version for you.
- Run `ng add` yourself, not through an AI agent.
- In AngularFire 21.0.0-rc.1 and earlier, `ng add` run by an agent with firebase-tools 15.26 or later stops after you choose features, with `Cannot read properties of undefined (reading 'email')`.
- If it already stopped, run `ng add @angular/fire@next` again yourself. The stopped run leaves only an empty `firebase.json`, which the second run reuses.
- A copy older than 14 stops setup with `firebase-tools version 14.0.0+ is required, please upgrade and run again`, and `ng add` does not upgrade a copy you already have.
- If `ng add` stops before finishing, run it again. A stopped run leaves only an empty `firebase.json`, which the next run reuses.
- **npm 11.6 or later**, if you use npm. Older versions, including the npm 10 that ships with Node.js 20 and 22, cannot install a new Angular 21 project ([npm/cli#9787](https://github.com/npm/cli/issues/9787), `Cannot read properties of null (reading 'edgesOut')`). Update with `npm install -g npm@11`.
- If it already failed, delete the project folder it left behind before running the command again.
- **Harmless CLI noise.** The Firebase CLI may print a `punycode` deprecation warning or ask about enabling extra features (for example Gemini) during setup. These come from the CLI, not from AngularFire, and are safe to ignore.
Expand Down Expand Up @@ -39,10 +37,8 @@ These commands set up an Angular 21 project, the version AngularFire 21 supports

### 2. Install AngularFire and Firebase

AngularFire 21 is currently a release candidate, published under the `next` tag:

```bash
ng add @angular/fire@next
ng add @angular/fire
```

This installs AngularFire and configures your project. `ng add` will:
Expand Down
2 changes: 0 additions & 2 deletions docs/install-firebase-tools.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# Firebase Tools Install and Setup

> Setting up AngularFire? Run `ng add @angular/fire` yourself, not through an AI agent. In AngularFire 21.0.0-rc.1 and earlier, `ng add` run by an agent with firebase-tools 15.26 or later stops after you choose AngularFire features, with `Cannot read properties of undefined (reading 'email')`.

### 1. Install package

```bash
Expand Down
10 changes: 5 additions & 5 deletions docs/version-21-upgrade.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Upgrading to the AngularFire 21 Release Candidate
# Upgrading to AngularFire 21

AngularFire 21 targets **Angular 21** and the **Firebase JS SDK v12**. Most of the upgrade is handled for you by `ng update`.

## Run the update

The release candidate is published under the `next` tag. From an app on Angular 20 and AngularFire 20, run:
From an app on Angular 20 and AngularFire 20, run:

```bash
ng update @angular/core@21 @angular/cli@21 @angular/fire@next
ng update @angular/core@21 @angular/cli@21 @angular/fire
```

The AngularFire update runs a migration that:
Expand Down Expand Up @@ -82,5 +82,5 @@ Two symbols were removed rather than renamed. The migration leaves their imports

- **Angular 21.2 is required.** AngularFire 21 peers `@angular/* ^21.2.0` and does not support Angular 22 (a future AngularFire 22 will).
- The obsolete `@angular/platform-browser-dynamic` and the unused optional `@angular/platform-server` peer dependencies were removed. No action is needed.
- **App Check no longer runs during server rendering** (21.0.0-rc.2 and later). `inject(AppCheck)` returns `null` on the server. To keep it running there, provide `APP_CHECK_ON_SERVER` as `true` in your server config. See [App Check during server rendering](./app-check.md#server-side-rendering).
- **`ng update` can stop with `The Angular CLI requires a minimum Node.js version of ...`.** This happens when the first `@angular/` package in the command has no version number: `ng update` then runs with the newest Angular CLI, which requires a newer Node.js than Angular 21 does. Either update Node.js, or give that package a version number, as the command above does (`ng update @angular/[email protected]` for the release candidate, `ng update @angular/fire@21` once 21.0.0 is published).
- **App Check no longer runs during server rendering** (since 21.0.0-rc.2). `inject(AppCheck)` returns `null` on the server. To keep it running there, provide `APP_CHECK_ON_SERVER` as `true` in your server config. See [App Check during server rendering](./app-check.md#server-side-rendering).
- **`ng update` can stop with `The Angular CLI requires a minimum Node.js version of ...`.** This happens when the first `@angular/` package in the command has no version number: `ng update` then runs with the newest Angular CLI, which requires a newer Node.js than Angular 21 does. Either update Node.js, or give that package a version number, as the command above does. Updating AngularFire on its own needs the version too: run `ng update @angular/fire@21`, not `ng update @angular/fire`.
Loading