diff --git a/.changeset/fast-brooms-tie.md b/.changeset/fast-brooms-tie.md new file mode 100644 index 00000000000..a3c59760336 --- /dev/null +++ b/.changeset/fast-brooms-tie.md @@ -0,0 +1,5 @@ +--- +"@firebase/rules-unit-testing": patch +--- + +Fix typing issues where Database/Firestore/Storage compat instances returned by RulesTestContext are not compatible with v9 modular APIs. diff --git a/packages/rules-unit-testing/src/public_types/index.ts b/packages/rules-unit-testing/src/public_types/index.ts index 52c2410dcb5..88d54fd8e25 100644 --- a/packages/rules-unit-testing/src/public_types/index.ts +++ b/packages/rules-unit-testing/src/public_types/index.ts @@ -18,6 +18,12 @@ import { FirebaseSignInProvider } from '@firebase/util'; import firebase from 'firebase/compat/app'; +// These import statements allow v9 compat instances (created by RulesTestContext) to be used in v9 +// modular APIs, e.g. `doc(context.firestore(), 'a/b')` in developer code. (a.k.a. "interop mode".) +import 'firebase/compat/database'; +import 'firebase/compat/firestore'; +import 'firebase/compat/storage'; + /** * More options for the mock user token to be used for testing, including developer-specfied custom * claims or optional overrides for Firebase Auth token payloads.