Closer/firestore-tests/tsconfig.json

14 lines
279 B
JSON
Raw Permalink Normal View History

{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
feat: strict E2EE — encryption migration, Firestore rules enforcement, version 2 protocol (batch v0.2.11) - Add CoupleAnswerMigrationDataSource: one-time per-user rewrite of all historical answer-bearing fields (daily answers, thread answers/messages, ThisOrThat, DesireSync, HowWell, Wheel) to ciphertext - Add EncryptionUpgradeScreen + ViewModel: handles version-0→1→2 migration, recovery phrase display, partner coordination - Add FieldEncryptorTest: round-trip, cross-couple binding, null-key, plaintext-not-leaked - CoupleEncryptionManager: STRICT_ENCRYPTION_VERSION=2, requireAead() throws on missing key, setupLegacyCouple, pendingRecoveryPhrase/acknowledge - CoupleKeyStore: pending recovery phrase storage/clear - FieldEncryptor: switch from android.util.Base64 to java.util.Base64 - All data sources: use requireAead() (throws instead of silent plaintext fallback), encrypt all answer-bearing writes - FirestoreCoupleDataSource: beginEncryptionMigration (atomic version-0→1 claim), markEncryptionMigrationComplete (per-user + version-2 promotion) - CoupleRepositoryImpl: require wrappedKey on invite acceptance (no more optional) - HomeScreen/ViewModel: route to EncryptionUpgradeScreen for version-0 or unmigrated version-1 couples - Firestore rules: isCiphertext validator, isEncryptedAnswerPayload, isStartingEncryptionMigration, isCompletingOwnEncryptionMigration, isUpdatingRecoveryWrap, isUpdatingCoupleRhythm; enforce ciphertext on all answer/message writes; game collection rules (this_or_that, desire_sync, how_well, wheel) with per-user answer ownership; couple doc update split into 4 mutually exclusive paths; invite doc requires createdAt + wrappedKey fields; isImmutable uses diff().hasAny() instead of field equality - Firestore rules tests: encryption migration scenarios, plaintext rejection, per-user answer ownership, game collection ciphertext enforcement - firebase.json: emulator port 8180 - .gitignore: firestore-tests/node_modules
2026-06-19 20:53:52 -05:00
"lib": ["ES2020", "DOM"],
"strict": true,
"esModuleInterop": true,
"resolveJsonModule": true,
"outDir": "./dist"
},
"include": ["**/*.ts"],
"exclude": ["node_modules", "dist"]
}