From 81bd9a601c1019feb2267458eb4418af84ca1cf6 Mon Sep 17 00:00:00 2001 From: Jeff Huleatt <3759507+jhuleatt@users.noreply.github.com> Date: Tue, 27 Oct 2026 18:57:20 +0000 Subject: [PATCH 1/8] fix(build): preserve ESM modules so bundlers can tree-shake unused Firebase SDKs --- package.json | 1 + tsconfig.json | 2 +- vite.config.ts | 29 ++++++++++++++++++++++++++--- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 6b6b707f..f2a72c82 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ } }, "typings": "dist/index.d.ts", + "sideEffects": false, "files": [ "dist", "src" diff --git a/tsconfig.json b/tsconfig.json index 7cb9a9dd..362ab873 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs "include": ["src", "types"], "compilerOptions": { - "target": "es2015", + "target": "es2024", "module": "esnext", "lib": ["dom", "esnext"], "types": ["vitest/globals"], diff --git a/vite.config.ts b/vite.config.ts index 30d83cb9..bfff2a9b 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -18,6 +18,16 @@ const externals = [ // loads client-side in a Next.js App Router (strict ESM) context. Externalizing keeps // the shim's React 16/17 fallback intact while removing the require from our dist. 'use-sync-external-store/shim', + // Declared dependencies: let the consumer's bundler resolve (and dedupe/tree-shake) them instead of inlining a copy. + 'rxjs', + 'rxjs/operators', + 'rxfire/auth', + 'rxfire/database', + 'rxfire/firestore', + 'rxfire/functions', + 'rxfire/performance', + 'rxfire/remote-config', + 'rxfire/storage', 'firebase', 'firebase/app', 'firebase/firestore', @@ -67,9 +77,22 @@ export default defineConfig({ }, rollupOptions: { external: externals, - output: { - globals: { react: 'React' }, - }, + output: [ + // Emit one ES module per source file so `"sideEffects": false` lets bundlers drop unused products + // (and their `firebase/*` imports) instead of pulling every Firebase SDK in through a single index.js. + { + format: 'es', + preserveModules: true, + preserveModulesRoot: 'src', + entryFileNames: '[name].js', + }, + { + format: 'umd', + name: 'ReactFire', + entryFileNames: 'index.umd.cjs', + globals: { react: 'React' }, + }, + ], }, sourcemap: true, }, From b3b69e22301ef9fda96029a1a3ab32f347da5adb Mon Sep 17 00:00:00 2001 From: Jeff Huleatt <3759507+jhuleatt@users.noreply.github.com> Date: Tue, 27 Oct 2026 19:57:59 +0000 Subject: [PATCH 2/8] chore(deps): require rxjs ^7.1.0 now that rxjs is externalized --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1e974b3b..87698f63 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "rxfire": "^6.1.0", - "rxjs": "^6.6.3 || ^7.0.1", + "rxjs": "^7.1.0", "use-sync-external-store": "^1.2.0" }, "devDependencies": { diff --git a/package.json b/package.json index f2a72c82..02ccd7fb 100644 --- a/package.json +++ b/package.json @@ -109,7 +109,7 @@ }, "dependencies": { "rxfire": "^6.1.0", - "rxjs": "^6.6.3 || ^7.0.1", + "rxjs": "^7.1.0", "use-sync-external-store": "^1.2.0" }, "allowScripts": { From 23079e0dc842195a1832501ae79960dce09d187f Mon Sep 17 00:00:00 2001 From: Tyler Dixon Date: Wed, 4 Nov 2026 14:58:35 -0800 Subject: [PATCH 3/8] fix(build): keep rxjs and rxfire bundled, restore the rxjs 6 range Externalizing rxjs and rxfire adds no size win (the split ESM output alone gives it) and installs a second rxjs for rxjs 6 apps. Restore main's rxjs range and target es2021 so the output stays at ES2021. --- package-lock.json | 2 +- package.json | 2 +- tsconfig.json | 2 +- vite.config.ts | 10 ---------- 4 files changed, 3 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index ca3aaa73..3c63674e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "rxfire": "^6.3.0", - "rxjs": "^7.1.0", + "rxjs": "^6.6.3 || ^7.0.1", "use-sync-external-store": "^1.5.0" }, "devDependencies": { diff --git a/package.json b/package.json index d65c11b6..098ca497 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,7 @@ }, "dependencies": { "rxfire": "^6.3.0", - "rxjs": "^7.1.0", + "rxjs": "^6.6.3 || ^7.0.1", "use-sync-external-store": "^1.5.0" }, "allowScripts": { diff --git a/tsconfig.json b/tsconfig.json index 362ab873..43bd47c3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,7 @@ // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs "include": ["src", "types"], "compilerOptions": { - "target": "es2024", + "target": "es2021", "module": "esnext", "lib": ["dom", "esnext"], "types": ["vitest/globals"], diff --git a/vite.config.ts b/vite.config.ts index bfff2a9b..c8f34740 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -18,16 +18,6 @@ const externals = [ // loads client-side in a Next.js App Router (strict ESM) context. Externalizing keeps // the shim's React 16/17 fallback intact while removing the require from our dist. 'use-sync-external-store/shim', - // Declared dependencies: let the consumer's bundler resolve (and dedupe/tree-shake) them instead of inlining a copy. - 'rxjs', - 'rxjs/operators', - 'rxfire/auth', - 'rxfire/database', - 'rxfire/firestore', - 'rxfire/functions', - 'rxfire/performance', - 'rxfire/remote-config', - 'rxfire/storage', 'firebase', 'firebase/app', 'firebase/firestore', From 7bb549a8f76a25ef52682840b26888fcc638137e Mon Sep 17 00:00:00 2001 From: Tyler Dixon Date: Wed, 4 Nov 2026 14:58:35 -0800 Subject: [PATCH 4/8] refactor: move runtime values out of the index barrel auth, database and firestore imported ReactFireError and checkIdField from index.ts, which re-exports every product, so Turbopack kept all of them. Move the four values to src/utils.ts and re-export them from index.ts. --- src/auth.tsx | 3 ++- src/database.tsx | 3 ++- src/firestore.tsx | 3 ++- src/index.ts | 30 +----------------------------- src/utils.ts | 30 ++++++++++++++++++++++++++++++ 5 files changed, 37 insertions(+), 32 deletions(-) create mode 100644 src/utils.ts diff --git a/src/auth.tsx b/src/auth.tsx index 82b3b2e8..bd149c3e 100644 --- a/src/auth.tsx +++ b/src/auth.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { user } from 'rxfire/auth'; -import { preloadObservable, ReactFireOptions, useAuth, useObservable, ObservableStatus, ReactFireError } from './index.js'; +import { preloadObservable, ReactFireOptions, useAuth, useObservable, ObservableStatus } from './index.js'; +import { ReactFireError } from './utils.js'; import { from, of, defer } from 'rxjs'; import { map, switchMap } from 'rxjs/operators'; import { useSuspenseEnabledFromConfigAndContext } from './firebaseApp.js'; diff --git a/src/database.tsx b/src/database.tsx index 5c5f998c..1d433b54 100644 --- a/src/database.tsx +++ b/src/database.tsx @@ -1,5 +1,6 @@ import { list, object, QueryChange, listVal, objectVal } from 'rxfire/database'; -import { ReactFireOptions, useObservable, checkIdField, ObservableStatus, ReactFireGlobals } from './index.js'; +import { ReactFireOptions, useObservable, ObservableStatus, ReactFireGlobals } from './index.js'; +import { checkIdField } from './utils.js'; import type { Query as DatabaseQuery, DatabaseReference } from 'firebase/database'; diff --git a/src/firestore.tsx b/src/firestore.tsx index 7313cc60..5e981f9a 100644 --- a/src/firestore.tsx +++ b/src/firestore.tsx @@ -1,5 +1,6 @@ import { collectionData, doc, docData, fromRef } from 'rxfire/firestore'; -import { ReactFireOptions, useObservable, checkIdField, ReactFireGlobals } from './index.js'; +import { ReactFireOptions, useObservable, ReactFireGlobals } from './index.js'; +import { checkIdField } from './utils.js'; import { preloadObservable, ObservableStatus } from './useObservable.js'; import { first } from 'rxjs/operators'; diff --git a/src/index.ts b/src/index.ts index 028a4a62..24c9434a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -9,18 +9,6 @@ export type ReactFireGlobals = { _reactFirePreloadedObservables: Map>; }; -export class ReactFireError extends Error { - readonly name = 'ReactFireError'; - - constructor(readonly code: string, message: string, public customData?: Record) { - super(message); - - // Fix For ES5 - // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work - Object.setPrototypeOf(this, ReactFireError.prototype); - } -} - export interface ReactFireOptions { idField?: string; initialData?: T | any; @@ -31,23 +19,7 @@ export interface ReactFireOptions { suspense?: boolean; } -export function checkOptions(options: ReactFireOptions, field: string) { - // make sure the field passed in is a valid key of ReactFire Options - if (field === 'idField' || field === 'initialData' || field === 'suspense') { - return options ? (options[field] as ReactFireOptions['idField'] | ReactFireOptions['initialData'] | ReactFireOptions['suspense']) : undefined; - } - - throw new Error(`Field "${field}" is not a valid key in ReactFireOptions`); -} - -export function checkinitialData(options: ReactFireOptions) { - return checkOptions(options, 'initialData'); -} - -export function checkIdField(options: ReactFireOptions) { - return checkOptions(options, 'idField'); -} - +export { ReactFireError, checkOptions, checkinitialData, checkIdField } from './utils.js'; export * from './auth.js'; export * from './database.js'; export * from './firebaseApp.js'; diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 00000000..bfe1efcb --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,30 @@ +import type { ReactFireOptions } from './index.js'; + +export class ReactFireError extends Error { + readonly name = 'ReactFireError'; + + constructor(readonly code: string, message: string, public customData?: Record) { + super(message); + + // Fix For ES5 + // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work + Object.setPrototypeOf(this, ReactFireError.prototype); + } +} + +export function checkOptions(options: ReactFireOptions, field: string) { + // make sure the field passed in is a valid key of ReactFire Options + if (field === 'idField' || field === 'initialData' || field === 'suspense') { + return options ? (options[field] as ReactFireOptions['idField'] | ReactFireOptions['initialData'] | ReactFireOptions['suspense']) : undefined; + } + + throw new Error(`Field "${field}" is not a valid key in ReactFireOptions`); +} + +export function checkinitialData(options: ReactFireOptions) { + return checkOptions(options, 'initialData'); +} + +export function checkIdField(options: ReactFireOptions) { + return checkOptions(options, 'idField'); +} From 2d644f78afe5f0374198c624243222d5e97dd8e2 Mon Sep 17 00:00:00 2001 From: Tyler Dixon Date: Fri, 6 Nov 2026 11:23:09 -0800 Subject: [PATCH 5/8] docs: regenerate reference docs --- docs/reference/classes/ReactFireError.md | 10 +++++----- docs/reference/functions/AuthCheck.md | 2 +- docs/reference/functions/ClaimsCheck.md | 2 +- docs/reference/functions/checkIdField.md | 2 +- docs/reference/functions/checkOptions.md | 2 +- docs/reference/functions/checkinitialData.md | 2 +- docs/reference/functions/preloadFirestoreDoc.md | 2 +- docs/reference/functions/preloadUser.md | 2 +- docs/reference/functions/useDatabaseList.md | 2 +- docs/reference/functions/useDatabaseListData.md | 2 +- docs/reference/functions/useDatabaseObject.md | 2 +- docs/reference/functions/useDatabaseObjectData.md | 2 +- docs/reference/functions/useFirestoreCollection.md | 2 +- .../functions/useFirestoreCollectionData.md | 2 +- docs/reference/functions/useFirestoreDoc.md | 2 +- docs/reference/functions/useFirestoreDocData.md | 2 +- .../reference/functions/useFirestoreDocDataOnce.md | 2 +- docs/reference/functions/useFirestoreDocOnce.md | 2 +- docs/reference/functions/useIdTokenResult.md | 2 +- docs/reference/functions/useSigninCheck.md | 2 +- docs/reference/functions/useUser.md | 2 +- docs/reference/interfaces/AuthCheckProps.md | 8 ++++---- docs/reference/interfaces/ClaimCheckErrors.md | 2 +- docs/reference/interfaces/ClaimsCheckProps.md | 10 +++++----- docs/reference/interfaces/ClaimsValidator.md | 4 ++-- docs/reference/interfaces/ReactFireOptions.md | 10 +++++----- .../interfaces/SignInCheckOptionsBasic.md | 12 ++++++------ .../interfaces/SignInCheckOptionsClaimsObject.md | 14 +++++++------- .../SignInCheckOptionsClaimsValidator.md | 14 +++++++------- docs/reference/type-aliases/SigninCheckResult.md | 2 +- 30 files changed, 63 insertions(+), 63 deletions(-) diff --git a/docs/reference/classes/ReactFireError.md b/docs/reference/classes/ReactFireError.md index 591ddb68..94da0f53 100644 --- a/docs/reference/classes/ReactFireError.md +++ b/docs/reference/classes/ReactFireError.md @@ -6,7 +6,7 @@ # Class: ReactFireError -Defined in: [src/index.ts:12](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L12) +Defined in: [src/utils.ts:3](https://github.com/FirebaseExtended/reactfire/blob/main/src/utils.ts#L3) ## Extends @@ -18,7 +18,7 @@ Defined in: [src/index.ts:12](https://github.com/FirebaseExtended/reactfire/blob > **new ReactFireError**(`code`, `message`, `customData?`): `ReactFireError` -Defined in: [src/index.ts:15](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L15) +Defined in: [src/utils.ts:6](https://github.com/FirebaseExtended/reactfire/blob/main/src/utils.ts#L6) #### Parameters @@ -60,7 +60,7 @@ Defined in: node\_modules/typescript/lib/lib.es2022.error.d.ts:24 > `readonly` **code**: `string` -Defined in: [src/index.ts:15](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L15) +Defined in: [src/utils.ts:6](https://github.com/FirebaseExtended/reactfire/blob/main/src/utils.ts#L6) *** @@ -68,7 +68,7 @@ Defined in: [src/index.ts:15](https://github.com/FirebaseExtended/reactfire/blob > `optional` **customData?**: `Record`\<`string`, `unknown`\> -Defined in: [src/index.ts:15](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L15) +Defined in: [src/utils.ts:6](https://github.com/FirebaseExtended/reactfire/blob/main/src/utils.ts#L6) *** @@ -88,7 +88,7 @@ Defined in: node\_modules/typescript/lib/lib.es5.d.ts:1075 > `readonly` **name**: `"ReactFireError"` = `'ReactFireError'` -Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L13) +Defined in: [src/utils.ts:4](https://github.com/FirebaseExtended/reactfire/blob/main/src/utils.ts#L4) #### Overrides diff --git a/docs/reference/functions/AuthCheck.md b/docs/reference/functions/AuthCheck.md index 686f070f..d3a490fc 100644 --- a/docs/reference/functions/AuthCheck.md +++ b/docs/reference/functions/AuthCheck.md @@ -8,7 +8,7 @@ > **AuthCheck**(`__namedParameters`): `ReactElement` -Defined in: [src/auth.tsx:260](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L260) +Defined in: [src/auth.tsx:261](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L261) ## Parameters diff --git a/docs/reference/functions/ClaimsCheck.md b/docs/reference/functions/ClaimsCheck.md index fa5ca95e..641e1904 100644 --- a/docs/reference/functions/ClaimsCheck.md +++ b/docs/reference/functions/ClaimsCheck.md @@ -8,7 +8,7 @@ > **ClaimsCheck**(`__namedParameters`): `Element` -Defined in: [src/auth.tsx:215](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L215) +Defined in: [src/auth.tsx:216](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L216) ## Parameters diff --git a/docs/reference/functions/checkIdField.md b/docs/reference/functions/checkIdField.md index 82d7c5a9..b348cc96 100644 --- a/docs/reference/functions/checkIdField.md +++ b/docs/reference/functions/checkIdField.md @@ -8,7 +8,7 @@ > **checkIdField**(`options`): `any` -Defined in: [src/index.ts:47](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L47) +Defined in: [src/utils.ts:28](https://github.com/FirebaseExtended/reactfire/blob/main/src/utils.ts#L28) ## Parameters diff --git a/docs/reference/functions/checkOptions.md b/docs/reference/functions/checkOptions.md index 4f4fdaf0..00b60b93 100644 --- a/docs/reference/functions/checkOptions.md +++ b/docs/reference/functions/checkOptions.md @@ -8,7 +8,7 @@ > **checkOptions**(`options`, `field`): `any` -Defined in: [src/index.ts:34](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L34) +Defined in: [src/utils.ts:15](https://github.com/FirebaseExtended/reactfire/blob/main/src/utils.ts#L15) ## Parameters diff --git a/docs/reference/functions/checkinitialData.md b/docs/reference/functions/checkinitialData.md index f2c78405..6ebdb7c5 100644 --- a/docs/reference/functions/checkinitialData.md +++ b/docs/reference/functions/checkinitialData.md @@ -8,7 +8,7 @@ > **checkinitialData**(`options`): `any` -Defined in: [src/index.ts:43](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L43) +Defined in: [src/utils.ts:24](https://github.com/FirebaseExtended/reactfire/blob/main/src/utils.ts#L24) ## Parameters diff --git a/docs/reference/functions/preloadFirestoreDoc.md b/docs/reference/functions/preloadFirestoreDoc.md index a9c7db3a..ad21eed6 100644 --- a/docs/reference/functions/preloadFirestoreDoc.md +++ b/docs/reference/functions/preloadFirestoreDoc.md @@ -8,7 +8,7 @@ > **preloadFirestoreDoc**(`refProvider`): `Promise`\<`SuspenseSubject`\<`DocumentSnapshot`\<`DocumentData`, `DocumentData`\>\>\> -Defined in: [src/firestore.tsx:28](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L28) +Defined in: [src/firestore.tsx:29](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L29) Preload a subscription to a Firestore document reference. diff --git a/docs/reference/functions/preloadUser.md b/docs/reference/functions/preloadUser.md index 65e598af..61b6bb2c 100644 --- a/docs/reference/functions/preloadUser.md +++ b/docs/reference/functions/preloadUser.md @@ -8,7 +8,7 @@ > **preloadUser**(`authResolver`): `Promise`\<`User` \| `null` \| `undefined`\> -Defined in: [src/auth.tsx:11](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L11) +Defined in: [src/auth.tsx:12](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L12) ## Parameters diff --git a/docs/reference/functions/useDatabaseList.md b/docs/reference/functions/useDatabaseList.md index 4c501bf7..4cc8b148 100644 --- a/docs/reference/functions/useDatabaseList.md +++ b/docs/reference/functions/useDatabaseList.md @@ -8,7 +8,7 @@ > **useDatabaseList**\<`T`\>(`ref`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`T`[] \| `QueryChange`[]\> -Defined in: [src/database.tsx:48](https://github.com/FirebaseExtended/reactfire/blob/main/src/database.tsx#L48) +Defined in: [src/database.tsx:49](https://github.com/FirebaseExtended/reactfire/blob/main/src/database.tsx#L49) Subscribe to a Realtime Database list diff --git a/docs/reference/functions/useDatabaseListData.md b/docs/reference/functions/useDatabaseListData.md index 41d5a441..d8ff3d7b 100644 --- a/docs/reference/functions/useDatabaseListData.md +++ b/docs/reference/functions/useDatabaseListData.md @@ -8,7 +8,7 @@ > **useDatabaseListData**\<`T`\>(`ref`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`T`[] \| `null`\> -Defined in: [src/database.tsx:58](https://github.com/FirebaseExtended/reactfire/blob/main/src/database.tsx#L58) +Defined in: [src/database.tsx:59](https://github.com/FirebaseExtended/reactfire/blob/main/src/database.tsx#L59) ## Type Parameters diff --git a/docs/reference/functions/useDatabaseObject.md b/docs/reference/functions/useDatabaseObject.md index 632d5bf2..ed1033f0 100644 --- a/docs/reference/functions/useDatabaseObject.md +++ b/docs/reference/functions/useDatabaseObject.md @@ -8,7 +8,7 @@ > **useDatabaseObject**\<`T`\>(`ref`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`T` \| `QueryChange`\> -Defined in: [src/database.tsx:27](https://github.com/FirebaseExtended/reactfire/blob/main/src/database.tsx#L27) +Defined in: [src/database.tsx:28](https://github.com/FirebaseExtended/reactfire/blob/main/src/database.tsx#L28) Subscribe to a Realtime Database object diff --git a/docs/reference/functions/useDatabaseObjectData.md b/docs/reference/functions/useDatabaseObjectData.md index ae86c498..0c4040f8 100644 --- a/docs/reference/functions/useDatabaseObjectData.md +++ b/docs/reference/functions/useDatabaseObjectData.md @@ -8,7 +8,7 @@ > **useDatabaseObjectData**\<`T`\>(`ref`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`T`\> -Defined in: [src/database.tsx:34](https://github.com/FirebaseExtended/reactfire/blob/main/src/database.tsx#L34) +Defined in: [src/database.tsx:35](https://github.com/FirebaseExtended/reactfire/blob/main/src/database.tsx#L35) ## Type Parameters diff --git a/docs/reference/functions/useFirestoreCollection.md b/docs/reference/functions/useFirestoreCollection.md index 8cc2a2e4..9a9b8074 100644 --- a/docs/reference/functions/useFirestoreCollection.md +++ b/docs/reference/functions/useFirestoreCollection.md @@ -8,7 +8,7 @@ > **useFirestoreCollection**\<`T`\>(`query`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`QuerySnapshot`\<`T`, `DocumentData`\>\> -Defined in: [src/firestore.tsx:86](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L86) +Defined in: [src/firestore.tsx:87](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L87) Subscribe to a Firestore collection diff --git a/docs/reference/functions/useFirestoreCollectionData.md b/docs/reference/functions/useFirestoreCollectionData.md index 206f7132..5a1ba62d 100644 --- a/docs/reference/functions/useFirestoreCollectionData.md +++ b/docs/reference/functions/useFirestoreCollectionData.md @@ -8,7 +8,7 @@ > **useFirestoreCollectionData**\<`T`\>(`query`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`T`[]\> -Defined in: [src/firestore.tsx:96](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L96) +Defined in: [src/firestore.tsx:97](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L97) Subscribe to a Firestore collection and unwrap the snapshot into an array. diff --git a/docs/reference/functions/useFirestoreDoc.md b/docs/reference/functions/useFirestoreDoc.md index f14bb8b4..821d9ec6 100644 --- a/docs/reference/functions/useFirestoreDoc.md +++ b/docs/reference/functions/useFirestoreDoc.md @@ -8,7 +8,7 @@ > **useFirestoreDoc**\<`T`\>(`ref`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`DocumentSnapshot`\<`T`, `DocumentData`\>\> -Defined in: [src/firestore.tsx:42](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L42) +Defined in: [src/firestore.tsx:43](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L43) Subscribe to Firestore Document changes diff --git a/docs/reference/functions/useFirestoreDocData.md b/docs/reference/functions/useFirestoreDocData.md index ffaaac8b..79f2ded5 100644 --- a/docs/reference/functions/useFirestoreDocData.md +++ b/docs/reference/functions/useFirestoreDocData.md @@ -8,7 +8,7 @@ > **useFirestoreDocData**\<`T`\>(`ref`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`T` \| `undefined`\> -Defined in: [src/firestore.tsx:62](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L62) +Defined in: [src/firestore.tsx:63](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L63) Subscribe to Firestore Document changes and unwrap the document into a plain object diff --git a/docs/reference/functions/useFirestoreDocDataOnce.md b/docs/reference/functions/useFirestoreDocDataOnce.md index 32da9e3e..d8c72cc4 100644 --- a/docs/reference/functions/useFirestoreDocDataOnce.md +++ b/docs/reference/functions/useFirestoreDocDataOnce.md @@ -8,7 +8,7 @@ > **useFirestoreDocDataOnce**\<`T`\>(`ref`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`T` \| `undefined`\> -Defined in: [src/firestore.tsx:74](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L74) +Defined in: [src/firestore.tsx:75](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L75) Get a Firestore document, unwrap the document into a plain object, and don't subscribe to changes diff --git a/docs/reference/functions/useFirestoreDocOnce.md b/docs/reference/functions/useFirestoreDocOnce.md index 6280573d..7ca61569 100644 --- a/docs/reference/functions/useFirestoreDocOnce.md +++ b/docs/reference/functions/useFirestoreDocOnce.md @@ -8,7 +8,7 @@ > **useFirestoreDocOnce**\<`T`\>(`ref`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`DocumentSnapshot`\<`T`, `DocumentData`\>\> -Defined in: [src/firestore.tsx:52](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L52) +Defined in: [src/firestore.tsx:53](https://github.com/FirebaseExtended/reactfire/blob/main/src/firestore.tsx#L53) Get a firestore document and don't subscribe to changes diff --git a/docs/reference/functions/useIdTokenResult.md b/docs/reference/functions/useIdTokenResult.md index 7293fc74..4061a34f 100644 --- a/docs/reference/functions/useIdTokenResult.md +++ b/docs/reference/functions/useIdTokenResult.md @@ -8,7 +8,7 @@ > **useIdTokenResult**(`user`, `forceRefresh?`, `options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`IdTokenResult`\> -Defined in: [src/auth.tsx:41](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L41) +Defined in: [src/auth.tsx:42](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L42) ## Parameters diff --git a/docs/reference/functions/useSigninCheck.md b/docs/reference/functions/useSigninCheck.md index 895405bc..86f822a0 100644 --- a/docs/reference/functions/useSigninCheck.md +++ b/docs/reference/functions/useSigninCheck.md @@ -8,7 +8,7 @@ > **useSigninCheck**(`options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<[`SigninCheckResult`](../type-aliases/SigninCheckResult.md)\> -Defined in: [src/auth.tsx:136](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L136) +Defined in: [src/auth.tsx:137](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L137) Subscribe to the signed-in status of a user. diff --git a/docs/reference/functions/useUser.md b/docs/reference/functions/useUser.md index 0f7277e6..892f5cc5 100644 --- a/docs/reference/functions/useUser.md +++ b/docs/reference/functions/useUser.md @@ -8,7 +8,7 @@ > **useUser**\<`T`\>(`options?`): [`ObservableStatus`](../interfaces/ObservableStatus.md)\<`User` \| `null`\> -Defined in: [src/auth.tsx:22](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L22) +Defined in: [src/auth.tsx:23](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L23) Subscribe to Firebase auth state changes, including token refresh diff --git a/docs/reference/interfaces/AuthCheckProps.md b/docs/reference/interfaces/AuthCheckProps.md index c5edcb62..a8a5581b 100644 --- a/docs/reference/interfaces/AuthCheckProps.md +++ b/docs/reference/interfaces/AuthCheckProps.md @@ -6,7 +6,7 @@ # Interface: AuthCheckProps -Defined in: [src/auth.tsx:54](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L54) +Defined in: [src/auth.tsx:55](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L55) ## Properties @@ -14,7 +14,7 @@ Defined in: [src/auth.tsx:54](https://github.com/FirebaseExtended/reactfire/blob > **children**: `ReactNode` -Defined in: [src/auth.tsx:56](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L56) +Defined in: [src/auth.tsx:57](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L57) *** @@ -22,7 +22,7 @@ Defined in: [src/auth.tsx:56](https://github.com/FirebaseExtended/reactfire/blob > **fallback**: `ReactNode` -Defined in: [src/auth.tsx:55](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L55) +Defined in: [src/auth.tsx:56](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L56) *** @@ -30,4 +30,4 @@ Defined in: [src/auth.tsx:55](https://github.com/FirebaseExtended/reactfire/blob > `optional` **requiredClaims?**: `Object` -Defined in: [src/auth.tsx:57](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L57) +Defined in: [src/auth.tsx:58](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L58) diff --git a/docs/reference/interfaces/ClaimCheckErrors.md b/docs/reference/interfaces/ClaimCheckErrors.md index ce0afa98..8df2fe3e 100644 --- a/docs/reference/interfaces/ClaimCheckErrors.md +++ b/docs/reference/interfaces/ClaimCheckErrors.md @@ -6,7 +6,7 @@ # Interface: ClaimCheckErrors -Defined in: [src/auth.tsx:67](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L67) +Defined in: [src/auth.tsx:68](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L68) ## Indexable diff --git a/docs/reference/interfaces/ClaimsCheckProps.md b/docs/reference/interfaces/ClaimsCheckProps.md index 34375923..ad84131d 100644 --- a/docs/reference/interfaces/ClaimsCheckProps.md +++ b/docs/reference/interfaces/ClaimsCheckProps.md @@ -6,7 +6,7 @@ # Interface: ClaimsCheckProps -Defined in: [src/auth.tsx:60](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L60) +Defined in: [src/auth.tsx:61](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L61) ## Properties @@ -14,7 +14,7 @@ Defined in: [src/auth.tsx:60](https://github.com/FirebaseExtended/reactfire/blob > **children**: `ReactNode` -Defined in: [src/auth.tsx:63](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L63) +Defined in: [src/auth.tsx:64](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L64) *** @@ -22,7 +22,7 @@ Defined in: [src/auth.tsx:63](https://github.com/FirebaseExtended/reactfire/blob > **fallback**: `ReactNode` -Defined in: [src/auth.tsx:62](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L62) +Defined in: [src/auth.tsx:63](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L63) *** @@ -30,7 +30,7 @@ Defined in: [src/auth.tsx:62](https://github.com/FirebaseExtended/reactfire/blob > **requiredClaims**: `object` -Defined in: [src/auth.tsx:64](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L64) +Defined in: [src/auth.tsx:65](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L65) #### Index Signature @@ -42,4 +42,4 @@ Defined in: [src/auth.tsx:64](https://github.com/FirebaseExtended/reactfire/blob > **user**: `User` -Defined in: [src/auth.tsx:61](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L61) +Defined in: [src/auth.tsx:62](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L62) diff --git a/docs/reference/interfaces/ClaimsValidator.md b/docs/reference/interfaces/ClaimsValidator.md index 436ddd45..9e640273 100644 --- a/docs/reference/interfaces/ClaimsValidator.md +++ b/docs/reference/interfaces/ClaimsValidator.md @@ -6,11 +6,11 @@ # Interface: ClaimsValidator() -Defined in: [src/auth.tsx:93](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L93) +Defined in: [src/auth.tsx:94](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L94) > **ClaimsValidator**(`claims`): `object` -Defined in: [src/auth.tsx:94](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L94) +Defined in: [src/auth.tsx:95](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L95) ## Parameters diff --git a/docs/reference/interfaces/ReactFireOptions.md b/docs/reference/interfaces/ReactFireOptions.md index 7ca63c5e..77a968f9 100644 --- a/docs/reference/interfaces/ReactFireOptions.md +++ b/docs/reference/interfaces/ReactFireOptions.md @@ -6,7 +6,7 @@ # Interface: ReactFireOptions\ -Defined in: [src/index.ts:24](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L24) +Defined in: [src/index.ts:12](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L12) ## Extended by @@ -24,7 +24,7 @@ Defined in: [src/index.ts:24](https://github.com/FirebaseExtended/reactfire/blob > `optional` **idField?**: `string` -Defined in: [src/index.ts:25](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L25) +Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L13) *** @@ -32,7 +32,7 @@ Defined in: [src/index.ts:25](https://github.com/FirebaseExtended/reactfire/blob > `optional` **initialData?**: `any` -Defined in: [src/index.ts:26](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L26) +Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L14) *** @@ -40,7 +40,7 @@ Defined in: [src/index.ts:26](https://github.com/FirebaseExtended/reactfire/blob > `optional` **startWithValue?**: `any` -Defined in: [src/index.ts:30](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L30) +Defined in: [src/index.ts:18](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L18) #### Deprecated @@ -52,4 +52,4 @@ use initialData instead > `optional` **suspense?**: `boolean` -Defined in: [src/index.ts:31](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L31) +Defined in: [src/index.ts:19](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L19) diff --git a/docs/reference/interfaces/SignInCheckOptionsBasic.md b/docs/reference/interfaces/SignInCheckOptionsBasic.md index 66967bf8..14ac589f 100644 --- a/docs/reference/interfaces/SignInCheckOptionsBasic.md +++ b/docs/reference/interfaces/SignInCheckOptionsBasic.md @@ -6,7 +6,7 @@ # Interface: SignInCheckOptionsBasic -Defined in: [src/auth.tsx:85](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L85) +Defined in: [src/auth.tsx:86](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L86) ## Extends @@ -23,7 +23,7 @@ Defined in: [src/auth.tsx:85](https://github.com/FirebaseExtended/reactfire/blob > `optional` **forceRefresh?**: `boolean` -Defined in: [src/auth.tsx:86](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L86) +Defined in: [src/auth.tsx:87](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L87) *** @@ -31,7 +31,7 @@ Defined in: [src/auth.tsx:86](https://github.com/FirebaseExtended/reactfire/blob > `optional` **idField?**: `string` -Defined in: [src/index.ts:25](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L25) +Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L13) #### Inherited from @@ -43,7 +43,7 @@ Defined in: [src/index.ts:25](https://github.com/FirebaseExtended/reactfire/blob > `optional` **initialData?**: `any` -Defined in: [src/index.ts:26](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L26) +Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L14) #### Inherited from @@ -55,7 +55,7 @@ Defined in: [src/index.ts:26](https://github.com/FirebaseExtended/reactfire/blob > `optional` **startWithValue?**: `any` -Defined in: [src/index.ts:30](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L30) +Defined in: [src/index.ts:18](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L18) #### Deprecated @@ -71,7 +71,7 @@ use initialData instead > `optional` **suspense?**: `boolean` -Defined in: [src/index.ts:31](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L31) +Defined in: [src/index.ts:19](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L19) #### Inherited from diff --git a/docs/reference/interfaces/SignInCheckOptionsClaimsObject.md b/docs/reference/interfaces/SignInCheckOptionsClaimsObject.md index 09a1eae0..e2ab0de7 100644 --- a/docs/reference/interfaces/SignInCheckOptionsClaimsObject.md +++ b/docs/reference/interfaces/SignInCheckOptionsClaimsObject.md @@ -6,7 +6,7 @@ # Interface: SignInCheckOptionsClaimsObject -Defined in: [src/auth.tsx:89](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L89) +Defined in: [src/auth.tsx:90](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L90) ## Extends @@ -18,7 +18,7 @@ Defined in: [src/auth.tsx:89](https://github.com/FirebaseExtended/reactfire/blob > `optional` **forceRefresh?**: `boolean` -Defined in: [src/auth.tsx:86](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L86) +Defined in: [src/auth.tsx:87](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L87) #### Inherited from @@ -30,7 +30,7 @@ Defined in: [src/auth.tsx:86](https://github.com/FirebaseExtended/reactfire/blob > `optional` **idField?**: `string` -Defined in: [src/index.ts:25](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L25) +Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L13) #### Inherited from @@ -42,7 +42,7 @@ Defined in: [src/index.ts:25](https://github.com/FirebaseExtended/reactfire/blob > `optional` **initialData?**: `any` -Defined in: [src/index.ts:26](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L26) +Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L14) #### Inherited from @@ -54,7 +54,7 @@ Defined in: [src/index.ts:26](https://github.com/FirebaseExtended/reactfire/blob > **requiredClaims**: `ParsedToken` -Defined in: [src/auth.tsx:90](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L90) +Defined in: [src/auth.tsx:91](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L91) *** @@ -62,7 +62,7 @@ Defined in: [src/auth.tsx:90](https://github.com/FirebaseExtended/reactfire/blob > `optional` **startWithValue?**: `any` -Defined in: [src/index.ts:30](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L30) +Defined in: [src/index.ts:18](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L18) #### Deprecated @@ -78,7 +78,7 @@ use initialData instead > `optional` **suspense?**: `boolean` -Defined in: [src/index.ts:31](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L31) +Defined in: [src/index.ts:19](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L19) #### Inherited from diff --git a/docs/reference/interfaces/SignInCheckOptionsClaimsValidator.md b/docs/reference/interfaces/SignInCheckOptionsClaimsValidator.md index 5ba7f609..214efd87 100644 --- a/docs/reference/interfaces/SignInCheckOptionsClaimsValidator.md +++ b/docs/reference/interfaces/SignInCheckOptionsClaimsValidator.md @@ -6,7 +6,7 @@ # Interface: SignInCheckOptionsClaimsValidator -Defined in: [src/auth.tsx:100](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L100) +Defined in: [src/auth.tsx:101](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L101) ## Extends @@ -18,7 +18,7 @@ Defined in: [src/auth.tsx:100](https://github.com/FirebaseExtended/reactfire/blo > `optional` **forceRefresh?**: `boolean` -Defined in: [src/auth.tsx:86](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L86) +Defined in: [src/auth.tsx:87](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L87) #### Inherited from @@ -30,7 +30,7 @@ Defined in: [src/auth.tsx:86](https://github.com/FirebaseExtended/reactfire/blob > `optional` **idField?**: `string` -Defined in: [src/index.ts:25](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L25) +Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L13) #### Inherited from @@ -42,7 +42,7 @@ Defined in: [src/index.ts:25](https://github.com/FirebaseExtended/reactfire/blob > `optional` **initialData?**: `any` -Defined in: [src/index.ts:26](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L26) +Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L14) #### Inherited from @@ -54,7 +54,7 @@ Defined in: [src/index.ts:26](https://github.com/FirebaseExtended/reactfire/blob > `optional` **startWithValue?**: `any` -Defined in: [src/index.ts:30](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L30) +Defined in: [src/index.ts:18](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L18) #### Deprecated @@ -70,7 +70,7 @@ use initialData instead > `optional` **suspense?**: `boolean` -Defined in: [src/index.ts:31](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L31) +Defined in: [src/index.ts:19](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L19) #### Inherited from @@ -82,4 +82,4 @@ Defined in: [src/index.ts:31](https://github.com/FirebaseExtended/reactfire/blob > **validateCustomClaims**: [`ClaimsValidator`](ClaimsValidator.md) -Defined in: [src/auth.tsx:101](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L101) +Defined in: [src/auth.tsx:102](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L102) diff --git a/docs/reference/type-aliases/SigninCheckResult.md b/docs/reference/type-aliases/SigninCheckResult.md index f6f71bd1..66736a74 100644 --- a/docs/reference/type-aliases/SigninCheckResult.md +++ b/docs/reference/type-aliases/SigninCheckResult.md @@ -8,4 +8,4 @@ > **SigninCheckResult** = \{ `errors`: \{ \}; `hasRequiredClaims`: `false`; `signedIn`: `false`; `user`: `null`; \} \| \{ `errors`: [`ClaimCheckErrors`](../interfaces/ClaimCheckErrors.md); `hasRequiredClaims`: `boolean`; `signedIn`: `true`; `user`: `User`; \} -Defined in: [src/auth.tsx:71](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L71) +Defined in: [src/auth.tsx:72](https://github.com/FirebaseExtended/reactfire/blob/main/src/auth.tsx#L72) From 1fa546cb0724ebcc00f5a92670f933b0dd93b492 Mon Sep 17 00:00:00 2001 From: Armando Navarro Date: Fri, 6 Nov 2026 13:12:43 -0800 Subject: [PATCH 6/8] fix(build): emit bundled dependencies under dist/vendor, not dist/node_modules Node resolves a file's module format from the nearest package.json and stops that search at a folder named node_modules. The vendored rxjs, rxfire and tslib files therefore had no "type": "module" scope and were read as CommonJS on Node without default module syntax detection (before 20.19 and 22.7) and under Yarn Plug'n'Play, so importing reactfire there failed with "is a CommonJS module". Renaming the output folder keeps the files inside this package's scope. Bundle sizes, attw and publint are unchanged. --- vite.config.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vite.config.ts b/vite.config.ts index c8f34740..8e1d5baf 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -74,7 +74,9 @@ export default defineConfig({ format: 'es', preserveModules: true, preserveModulesRoot: 'src', - entryFileNames: '[name].js', + // Bundled dependencies must not land under a folder named node_modules: Node stops its package.json + // scope lookup at that name, so the files would lose this package's "type": "module". + entryFileNames: chunk => `${chunk.name.replace(/^node_modules\//, 'vendor/')}.js`, }, { format: 'umd', From 718012f78a78fea80bd169a6d33a1e5c4ae3a4bf Mon Sep 17 00:00:00 2001 From: Tyler Dixon Date: Fri, 6 Nov 2026 14:05:43 -0800 Subject: [PATCH 7/8] chore(build): note index.ts holds no runtime values, drop dead lib.fileName Removing lib.fileName leaves dist/ byte-identical, since rollupOptions.output sets entryFileNames for every format. --- src/index.ts | 2 ++ vite.config.ts | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 24c9434a..02547a75 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,5 @@ +// Types and re-exports only. A runtime value defined here and imported by a product module brings back the +// import of ./index.js that made Turbopack bundle every Firebase product. import { SuspenseSubject } from './SuspenseSubject.js'; import type { Query as FirestoreQuery } from 'firebase/firestore'; diff --git a/vite.config.ts b/vite.config.ts index 8e1d5baf..b69d981e 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -63,7 +63,6 @@ export default defineConfig({ lib: { entry: resolve(__dirname, 'src/index.ts'), name: 'ReactFire', - fileName: 'index', }, rollupOptions: { external: externals, From 225fb26d776d4cde5ac33cedfa75a932dd400fba Mon Sep 17 00:00:00 2001 From: Tyler Dixon Date: Fri, 6 Nov 2026 14:06:00 -0800 Subject: [PATCH 8/8] docs: regenerate reference docs --- docs/reference/interfaces/ReactFireOptions.md | 10 +++++----- docs/reference/interfaces/SignInCheckOptionsBasic.md | 8 ++++---- .../interfaces/SignInCheckOptionsClaimsObject.md | 8 ++++---- .../interfaces/SignInCheckOptionsClaimsValidator.md | 8 ++++---- docs/reference/type-aliases/ReactFireGlobals.md | 8 ++++---- 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/docs/reference/interfaces/ReactFireOptions.md b/docs/reference/interfaces/ReactFireOptions.md index 77a968f9..0111f3e9 100644 --- a/docs/reference/interfaces/ReactFireOptions.md +++ b/docs/reference/interfaces/ReactFireOptions.md @@ -6,7 +6,7 @@ # Interface: ReactFireOptions\ -Defined in: [src/index.ts:12](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L12) +Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L14) ## Extended by @@ -24,7 +24,7 @@ Defined in: [src/index.ts:12](https://github.com/FirebaseExtended/reactfire/blob > `optional` **idField?**: `string` -Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L13) +Defined in: [src/index.ts:15](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L15) *** @@ -32,7 +32,7 @@ Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob > `optional` **initialData?**: `any` -Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L14) +Defined in: [src/index.ts:16](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L16) *** @@ -40,7 +40,7 @@ Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob > `optional` **startWithValue?**: `any` -Defined in: [src/index.ts:18](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L18) +Defined in: [src/index.ts:20](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L20) #### Deprecated @@ -52,4 +52,4 @@ use initialData instead > `optional` **suspense?**: `boolean` -Defined in: [src/index.ts:19](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L19) +Defined in: [src/index.ts:21](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L21) diff --git a/docs/reference/interfaces/SignInCheckOptionsBasic.md b/docs/reference/interfaces/SignInCheckOptionsBasic.md index 14ac589f..bbe6b416 100644 --- a/docs/reference/interfaces/SignInCheckOptionsBasic.md +++ b/docs/reference/interfaces/SignInCheckOptionsBasic.md @@ -31,7 +31,7 @@ Defined in: [src/auth.tsx:87](https://github.com/FirebaseExtended/reactfire/blob > `optional` **idField?**: `string` -Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L13) +Defined in: [src/index.ts:15](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L15) #### Inherited from @@ -43,7 +43,7 @@ Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob > `optional` **initialData?**: `any` -Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L14) +Defined in: [src/index.ts:16](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L16) #### Inherited from @@ -55,7 +55,7 @@ Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob > `optional` **startWithValue?**: `any` -Defined in: [src/index.ts:18](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L18) +Defined in: [src/index.ts:20](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L20) #### Deprecated @@ -71,7 +71,7 @@ use initialData instead > `optional` **suspense?**: `boolean` -Defined in: [src/index.ts:19](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L19) +Defined in: [src/index.ts:21](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L21) #### Inherited from diff --git a/docs/reference/interfaces/SignInCheckOptionsClaimsObject.md b/docs/reference/interfaces/SignInCheckOptionsClaimsObject.md index e2ab0de7..59555e6a 100644 --- a/docs/reference/interfaces/SignInCheckOptionsClaimsObject.md +++ b/docs/reference/interfaces/SignInCheckOptionsClaimsObject.md @@ -30,7 +30,7 @@ Defined in: [src/auth.tsx:87](https://github.com/FirebaseExtended/reactfire/blob > `optional` **idField?**: `string` -Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L13) +Defined in: [src/index.ts:15](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L15) #### Inherited from @@ -42,7 +42,7 @@ Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob > `optional` **initialData?**: `any` -Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L14) +Defined in: [src/index.ts:16](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L16) #### Inherited from @@ -62,7 +62,7 @@ Defined in: [src/auth.tsx:91](https://github.com/FirebaseExtended/reactfire/blob > `optional` **startWithValue?**: `any` -Defined in: [src/index.ts:18](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L18) +Defined in: [src/index.ts:20](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L20) #### Deprecated @@ -78,7 +78,7 @@ use initialData instead > `optional` **suspense?**: `boolean` -Defined in: [src/index.ts:19](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L19) +Defined in: [src/index.ts:21](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L21) #### Inherited from diff --git a/docs/reference/interfaces/SignInCheckOptionsClaimsValidator.md b/docs/reference/interfaces/SignInCheckOptionsClaimsValidator.md index 214efd87..00828e98 100644 --- a/docs/reference/interfaces/SignInCheckOptionsClaimsValidator.md +++ b/docs/reference/interfaces/SignInCheckOptionsClaimsValidator.md @@ -30,7 +30,7 @@ Defined in: [src/auth.tsx:87](https://github.com/FirebaseExtended/reactfire/blob > `optional` **idField?**: `string` -Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L13) +Defined in: [src/index.ts:15](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L15) #### Inherited from @@ -42,7 +42,7 @@ Defined in: [src/index.ts:13](https://github.com/FirebaseExtended/reactfire/blob > `optional` **initialData?**: `any` -Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L14) +Defined in: [src/index.ts:16](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L16) #### Inherited from @@ -54,7 +54,7 @@ Defined in: [src/index.ts:14](https://github.com/FirebaseExtended/reactfire/blob > `optional` **startWithValue?**: `any` -Defined in: [src/index.ts:18](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L18) +Defined in: [src/index.ts:20](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L20) #### Deprecated @@ -70,7 +70,7 @@ use initialData instead > `optional` **suspense?**: `boolean` -Defined in: [src/index.ts:19](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L19) +Defined in: [src/index.ts:21](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L21) #### Inherited from diff --git a/docs/reference/type-aliases/ReactFireGlobals.md b/docs/reference/type-aliases/ReactFireGlobals.md index 995ef49a..237782f7 100644 --- a/docs/reference/type-aliases/ReactFireGlobals.md +++ b/docs/reference/type-aliases/ReactFireGlobals.md @@ -8,7 +8,7 @@ > **ReactFireGlobals** = `object` -Defined in: [src/index.ts:6](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L6) +Defined in: [src/index.ts:8](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L8) ## Properties @@ -16,7 +16,7 @@ Defined in: [src/index.ts:6](https://github.com/FirebaseExtended/reactfire/blob/ > **\_reactFireDatabaseCachedQueries**: `DatabaseQuery`[] -Defined in: [src/index.ts:7](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L7) +Defined in: [src/index.ts:9](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L9) *** @@ -24,7 +24,7 @@ Defined in: [src/index.ts:7](https://github.com/FirebaseExtended/reactfire/blob/ > **\_reactFireFirestoreQueryCache**: `FirestoreQuery`[] -Defined in: [src/index.ts:8](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L8) +Defined in: [src/index.ts:10](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L10) *** @@ -32,4 +32,4 @@ Defined in: [src/index.ts:8](https://github.com/FirebaseExtended/reactfire/blob/ > **\_reactFirePreloadedObservables**: `Map`\<`string`, `SuspenseSubject`\<`any`\>\> -Defined in: [src/index.ts:9](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L9) +Defined in: [src/index.ts:11](https://github.com/FirebaseExtended/reactfire/blob/main/src/index.ts#L11)