From 8b9027586dc1371bf47a0e872a7d66eaee4ed3e3 Mon Sep 17 00:00:00 2001 From: Yuchen Shi Date: Wed, 15 Sep 2021 17:23:31 -0700 Subject: [PATCH 1/2] Fix RUTv2 compat instances not working with modular. --- packages/rules-unit-testing/src/public_types/index.ts | 6 ++++++ 1 file changed, 6 insertions(+) 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. From 20d10b304135dc42a2b3aad8bbad0fadd712c468 Mon Sep 17 00:00:00 2001 From: Yuchen Shi Date: Wed, 15 Sep 2021 17:27:28 -0700 Subject: [PATCH 2/2] Create fast-brooms-tie.md --- .changeset/fast-brooms-tie.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/fast-brooms-tie.md 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.