AI Slop Code RIsk Monitor

invertase/react-native-firebase

🔥 A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services.

11.8 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for invertase/react-native-firebase, a TypeScript project with 12,315 GitHub stars. SynthScan examined 260,936 lines of code across 1561 source files, recording 586 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 11.8 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

11.8
Adjusted Signal
11.8
Raw Pattern Score
100%
Time Factor
2026-10-08
Last Push
12.3K
Stars
TypeScript
Language
260.9K
Lines of Code
1.6K
Files
586
Pattern Hits
2026-10-12
Scan Date
0.14
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 7.7/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 357 finding(s).

Hallucinated Dependency & Supply Chain Risk 40.0/100 · MEDIUM

Are imports declared and package/API names verified? 229 finding(s).

Agent Over-Engineering Ratio 4.3/100 · LOW

Are wrappers, guards, and repeated structures necessary? 216 finding(s).

PR Review Velocity Impact 39.2/100 · MEDIUM

Which changes need focused human review? 586 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 218HIGH 0MEDIUM 25LOW 343

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 586 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Hallucination Indicators218 hits · 2660 pts
SeverityFileLineSnippetContext
CRITICAL⚡packages/database/e2e/query/query.e2e.js23 queryBefore._modifiers._modifiers.length.should.equal(0);CODE
CRITICAL⚡packages/database/e2e/query/query.e2e.js26 queryBefore._modifiers._modifiers.length.should.equal(0);CODE
CRITICAL⚡packages/database/e2e/query/query.e2e.js27 queryAfter._modifiers._modifiers.length.should.equal(1);CODE
CRITICAL⚡packages/database/e2e/query/query.e2e.js30 queryAfter._modifiers._modifiers.length.should.equal(1);CODE
CRITICAL⚡packages/database/e2e/query/query.e2e.js31 queryAfterAfter._modifiers._modifiers.length.should.equal(3); // adds startAt endAt internallyCODE
CRITICAL⚡packages/app/e2e/utilsStatics.e2e.js26 FilePath.MAIN_BUNDLE.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/utilsStatics.e2e.js31 FilePath.CACHES_DIRECTORY.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/utilsStatics.e2e.js32 FilePath.DOCUMENT_DIRECTORY.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/utilsStatics.e2e.js35 FilePath.EXTERNAL_DIRECTORY.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/utilsStatics.e2e.js41 FilePath.EXTERNAL_STORAGE_DIRECTORY.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/utilsStatics.e2e.js46 FilePath.TEMP_DIRECTORY.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/utilsStatics.e2e.js47 FilePath.LIBRARY_DIRECTORY.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/utilsStatics.e2e.js48 FilePath.PICTURES_DIRECTORY.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/utilsStatics.e2e.js49 FilePath.MOVIES_DIRECTORY.should.be.a.String();CODE
CRITICALpackages/app/e2e/app.e2e.js52 modular.SDK_VERSION.should.be.a.String();CODE
CRITICALpackages/app/e2e/app.e2e.js172 config.authDomain.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/app.constants.e2e.js44 app.appConfig.should.be.a.Object();CODE
CRITICAL⚡packages/app/e2e/app.constants.e2e.js45 app.appConfig.name.should.be.a.String();CODE
CRITICAL⚡packages/app/e2e/app.constants.e2e.js46 app.options.should.be.a.Object();CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js183 data.createdAt.constructor.name.should.equal('Timestamp');CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js189 data.nested.updatedAt.constructor.name.should.equal('Timestamp');CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js190 data.nested.updatedAt.seconds.should.equal(updatedAt.seconds);CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js191 data.nested.updatedAt.nanoseconds.should.equal(updatedAt.nanoseconds);CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js192 data.nested.linkedRef.path.should.equal(linkedRef.path);CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js2649 data.nextDay.constructor.name.should.equal('Timestamp');CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js2651 data.prevHour.constructor.name.should.equal('Timestamp');CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js2653 data.dayBucket.constructor.name.should.equal('Timestamp');CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js2654 data.fromEpochMs.constructor.name.should.equal('Timestamp');CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js2694 data.now.constructor.name.should.equal('Timestamp');CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js2696 data.receiverNow.constructor.name.should.equal('Timestamp');CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js2699 data.fromSec.constructor.name.should.equal('Timestamp');CODE
CRITICAL⚡packages/firestore/e2e/Pipeline.e2e.js2701 data.fromMicros.constructor.name.should.equal('Timestamp');CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js1676 data.randomValue.should.be.a.Number();CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js2269 data.firstScore.should.be.a.Number();CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js2270 data.lastScore.should.be.a.Number();CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js2338 eng.firstName.should.be.a.String();CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js2339 eng.lastName.should.be.a.String();CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js2439 data.globalDayBucket.constructor.name.should.equal('Timestamp');CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js2440 data.fluentDayBucket.constructor.name.should.equal('Timestamp');CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js2728 data.numType.should.be.a.String();CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js2729 data.collId.should.be.a.String();CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js3124 snapshot.results.length.should.be.greaterThan(0);CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js4132 snapshot.results.length.should.be.greaterThan(0);CODE
CRITICALpackages/firestore/e2e/Pipeline.e2e.js4133 snapshot.results.length.should.be.lessThanOrEqual(10);CODE
CRITICALpackages/firestore/e2e/SnapshotMetadata.e2e.js34 colRef.metadata.fromCache.should.be.Boolean();CODE
CRITICALpackages/firestore/e2e/SnapshotMetadata.e2e.js35 docRef.metadata.fromCache.should.be.Boolean();CODE
CRITICALpackages/firestore/e2e/SnapshotMetadata.e2e.js46 colRef.metadata.hasPendingWrites.should.be.Boolean();CODE
CRITICALpackages/firestore/e2e/SnapshotMetadata.e2e.js47 docRef.metadata.hasPendingWrites.should.be.Boolean();CODE
CRITICALpackages/firestore/e2e/FieldValue.e2e.js125 snapshot.data().foo.seconds.should.be.a.Number();CODE
CRITICALpackages/firestore/e2e/FieldValue.e2e.js137 snapshot1.data().foo.nanoseconds.should.be.a.Number();CODE
CRITICALpackages/firestore/e2e/FieldValue.e2e.js142 snapshot2.data().foo.nanoseconds.should.be.a.Number();CODE
CRITICALpackages/firestore/e2e/DocumentChange.e2e.js41 docChange.doc.constructor.name.should.eql('DocumentSnapshot');CODE
CRITICALpackages/firestore/e2e/QuerySnapshot.e2e.js51 snapshot.docs.length.should.be.aboveOrEqual(1);CODE
CRITICALpackages/firestore/e2e/QuerySnapshot.e2e.js76 snapshot.metadata.constructor.name.should.eql('SnapshotMetadata');CODE
CRITICALpackages/firestore/e2e/QuerySnapshot.e2e.js83 snapshot.query.constructor.name.should.eql('CollectionReference');CODE
CRITICALpackages/firestore/e2e/withConverter.e2e.js69 post.should.not.be.an.instanceof(Post);CODE
CRITICALpackages/firestore/e2e/withConverter.e2e.js384 data.createdAt.should.be.an.instanceOf(Timestamp);CODE
CRITICALpackages/firestore/e2e/withConverter.e2e.js385 data.updatedAt.should.be.an.instanceOf(Timestamp);CODE
CRITICAL…es/firestore/e2e/CollectionReference/properties.e2e.js29 instance.firestore.app.name.should.eql('[DEFAULT]');CODE
CRITICAL⚡packages/firestore/e2e/DocumentSnapshot/data.e2e.js93 data.string.should.be.a.String();CODE
158 more matches not shown…
Hyper-Verbose Identifiers216 hits · 230 pts
SeverityFileLineSnippetContext
LOWtests/.detoxrc.js12function androidReversePortsFromEnv() {CODE
LOWtests/app.js272 after(async function flushNativeCoverageProfile() {CODE
LOWtests/local-tests/firestore/document-reference.tsx6export function DocumentReferenceTestComponent() {CODE
LOWtests/local-tests/firestore/onSnapshotInSync.js31export function FirestoreOnSnapshotInSyncTest() {CODE
LOWtests/local-tests/auth/nativeAppleSignIn.ts36export function isNativeAppleSignInAvailable(): boolean {CODE
LOWtests/local-tests/auth/nativeAppleSignIn.ts40export async function performAppleSignInRequest(): Promise<NativeAppleSignInResult> {CODE
LOWtests/local-tests/auth/apple-full-name.tsx70export function AppleFullNameTestComponent() {CODE
LOWtests/local-tests/functions/https-callable.tsx14export function HttpsCallableTestComponent(): React.JSX.Element {CODE
LOWtests/local-tests/functions/streaming-callable.tsx14export function StreamingCallableTestComponent(): React.JSX.Element {CODE
LOWtests/scripts/capture-native-coverage-baseline.js195function parseJacocoPackagesMetrics(xmlPath) {CODE
LOWtests/scripts/pull-native-coverage.js53function androidCoverageFileExists(deviceId) {CODE
LOWtests/scripts/pull-native-coverage.js94async function pullAndroidCoverageWithRetry(deviceId, options = {}) {CODE
LOWtests/scripts/pull-native-coverage.js181function deleteProcessedAndroidCoverageEc(ecFilePath) {CODE
LOWtests/e2e/firebase.test.js54function logCloudPressureAnalysisPointer(context) {CODE
LOWtests/e2e/firebase.test.js63function platformFromDetoxConfigurationName(name) {CODE
LOWtests/e2e/firebase.test.js118function staticPrefixedJetControlPort(pk) {CODE
LOWtests/e2e/firebase.test.js234function resolveDetoxConfigurationName() {CODE
LOWtests/e2e/firebase.test.js423function resolveAndroidEmulatorPort(serial) {CODE
LOWtests/e2e/firebase.test.js586function forceStopAndroidTestingApps(label) {CODE
LOWtests/e2e/firebase.test.js604async function waitForAndroidInstrumentationStopped(label, timeoutMs = 30000) {CODE
LOWtests/e2e/firebase.test.js634function clearStaleMacOsTestingForSharedJetPort(label) {CODE
LOWtests/e2e/firebase.test.js660async function ensureAndroidJetHostClear(label = 'android-jet-host-clear') {CODE
LOWtests/e2e/firebase.test.js682async function waitForColdBootEmulatorRegistered(serial, avdName, timeoutMs) {CODE
LOWtests/e2e/firebase.test.js762async function waitForAndroidEmulatorReady() {CODE
LOW⚡tests/e2e/firebase.test.js1029function hasJetReconnectDesyncSignal(output) {CODE
LOW⚡tests/e2e/firebase.test.js1039function isJetReconnectDesyncFailure(output) {CODE
LOW⚡tests/e2e/firebase.test.js1043function isRetryableJetSessionFailure(output) {CODE
LOWtests/e2e/firebase.test.js1071function isRetryableCloudQuotaFailure(jetOutput) {CODE
LOWtests/e2e/firebase.test.js1294async function awaitJetExitWithStallGuard(jetSession, stallMs = jetAwaitExitStallTimeoutMs()) {CODE
LOWtests/e2e/androidReadyPolicy.js13function shouldSkipAndroidSettleAndLoad(isCI) {CODE
LOW⚡tests/e2e/detoxLatencyPolicy.js44function androidAdbSerialAppearTimeoutMs() {CODE
LOW⚡tests/e2e/detoxLatencyPolicy.js53function androidAdbInstallTimeoutMs() {CODE
LOW⚡tests/e2e/detoxLatencyPolicy.js58function jetAwaitExitStallTimeoutMs() {CODE
LOW⚡tests/e2e/androidAdbRange.js16function isAdbEmulatorConsolePortInRange(port) {CODE
LOW⚡tests/e2e/androidAdbRange.js24function emulatorConsolePortOutOfAdbRange(serial) {CODE
LOW⚡tests/e2e/androidAdbRange.js30function shouldFailFastQemuWithoutAdb(serial, deviceState) {CODE
LOWtests/e2e/androidAdbRange.js75function shouldColdBootAndroidOnLaunchRetry(messageOrErr) {CODE
LOWtest-expo/app/phone-number-verification.tsx7export default function PhoneNumberVerificationScreen() {CODE
LOWtest-expo/app/app-check.tsx12function getOrInitializeAppCheck(): AppCheck {CODE
LOWscripts/version.js54function resolveTestsMacosFmtPodspecPath(candidates = TESTS_MACOS_FMT_PODSPEC_CANDIDATES) {CODE
LOWscripts/version.js65function assertTestsMacosFmtAtLeastFloor() {CODE
LOWscripts/jest-ai-mocks-global-setup.js59function getArgvTestPathIgnorePatterns() {CODE
LOWpackages/database/lib/index.ts291export function setPersistenceCacheSizeBytes(db: Database, bytes: number): Promise<void> {CODE
LOWpackages/database/lib/web/RNFBDatabaseModule.ts81function snapshotWithPreviousChildToObject(CODE
LOWpackages/database/lib/web/RNFBDatabaseModule.ts106function getCachedDatabaseInstance(appName: string, dbURL: string): WebDatabase {CODE
LOWpackages/database/lib/web/RNFBDatabaseModule.ts123function getCachedOnDisconnectInstance(refValue: WebDatabaseReference): WebOnDisconnect {CODE
LOWpackages/database/e2e/helpers.js114exports.waitForNativeDbListenerReady = async function waitForNativeDbListenerReady(CODE
LOWpackages/database/e2e/helpers.js131exports.waitForNativeDbListenerRegistration = async function waitForNativeDbListenerRegistration(CODE
LOWpackages/crashlytics/lib/index.ts186export function didCrashOnPreviousExecution(crashlytics: Crashlytics): Promise<boolean> {CODE
LOWpackages/crashlytics/lib/index.ts221export function setCrashlyticsCollectionEnabled(CODE
LOWpackages/app/firebase_spm.rb178def rnfirebase_build_setting_list(current)CODE
LOWpackages/app/firebase_spm.rb194def rnfirebase_spm_package_requirement(version)CODE
LOWpackages/app/firebase_spm.rb350def rnfirebase_add_spm_embed_phase(installer)CODE
LOWpackages/app/firebase_spm.rb601def rnfirebase_run_spm_user_project_hooks(installer)CODE
LOWpackages/app/firebase_spm.rb873def rnfirebase_add_spm_core_to_app_target(installer)CODE
LOWpackages/app/firebase_spm.rb1002def rnfirebase_remove_spm_core_from_app_target(installer)CODE
LOWpackages/app/firebase_spm.rb1088def rnfirebase_fix_spm_archive_signature_collision(installer)CODE
LOWpackages/app/firebase_spm.rb1177def rnfirebase_apply_spm_build_settings(installer)CODE
LOWpackages/app/__tests__/harnessCommittedDefaults.test.ts111function listTrackedHarnessTestSources(): string[] {CODE
LOWpackages/app/__tests__/expoPluginPackageExports.test.ts32function discoverPackageNamesWithAppPlugin(): string[] {CODE
156 more matches not shown…
Over-Commented Block97 hits · 92 pts
SeverityFileLineSnippetContext
LOWjest.config.js1module.exports = {COMMENT
LOWtests/globals.js21import shouldMatchers from 'should';COMMENT
LOWtests/local-tests/auth/gcloud-enable-totp-in-project.sh1#!/bin/bashCOMMENT
LOWtest-expo/src/keepNativeGraph.ts1import { getApp } from '@react-native-firebase/app';COMMENT
LOWscripts/fetch_ai_mock_responses.ts1// Copyright (c) 2016-present Invertase Limited & ContributorsCOMMENT
LOWscripts/update-firebase-sdk-versions.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/run-full-tests.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/jest-ai-mocks-global-setup.js1// Copyright (c) 2016-present Invertase Limited & ContributorsCOMMENT
LOWscripts/repro-android-build-flake.sh1#!/bin/bashCOMMENT
LOWscripts/e2e/export-slot-env.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/e2e/check-e2e-resources.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/e2e/start-packager.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/e2e/release-e2e-resources.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/e2e/lib/e2e-slot-env.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/e2e/lib/e2e-startup-failfast.sh1#!/usr/bin/env bashCOMMENT
LOWscripts/e2e/lib/e2e-resource-env.sh1#!/usr/bin/env bashCOMMENT
LOW…ckages/database/ios/RNFBDatabase/RNFBDatabaseModule.mm21#import "RNFBDatabaseModule.h"COMMENT
LOWpackages/crashlytics/ios_config.sh1#!/usr/bin/env bashCOMMENT
LOW…ashlytics/ios/RNFBCrashlytics/RNFBCrashlyticsModule.mm21#import <React/RCTConvert.h>COMMENT
LOW…tics/ios/RNFBCrashlytics/RNFBCrashlyticsInitProvider.m21#elif __has_include(<FirebaseCore/FirebaseCore.h>)COMMENT
LOW…tics/ios/RNFBCrashlytics/RNFBCrashlyticsInitProvider.h21// RNFBCrashlyticsModule.mm (Objective-C++), which only ever calls the threeCOMMENT
LOWpackages/app/firebase_spm.rb1# frozen_string_literal: trueCOMMENT
LOWpackages/app/firebase_spm.rb41 abslCOMMENT
LOWpackages/app/firebase_spm.rb61 # source of truth) the first time it's needed, then cached for the restCOMMENT
LOWpackages/app/firebase_spm.rb81 # resolved with. Called once, from `firebase_dependency` itself, theCOMMENT
LOWpackages/app/firebase_spm.rb141#COMMENT
LOWpackages/app/firebase_spm.rb161# Returns true only when `$RNFirebaseDisableSPM` has been explicitly set to `true`.COMMENT
LOWpackages/app/firebase_spm.rb281 # includes every pod .framework (dynamic Firebase SPM products and staticCOMMENT
LOWpackages/app/firebase_spm.rb321 changedCOMMENT
LOWpackages/app/firebase_spm.rb381# runs. "Needs it" uses the exact same target-selection criterionCOMMENT
LOWpackages/app/firebase_spm.rb421endCOMMENT
LOWpackages/app/firebase_spm.rb441# `pod install` prints as a plain, readable message with no Ruby backtrace --COMMENT
LOWpackages/app/firebase_spm.rb661 endCOMMENT
LOWpackages/app/firebase_spm.rb681# skipped every native target, then integrate wrote `[CP] Embed PodsCOMMENT
LOWpackages/app/firebase_spm.rb861# for a secondary app instance, it's a strict requirement for all RNFB apps.COMMENT
LOWpackages/app/firebase_spm.rb881 project_modified = falseCOMMENT
LOWpackages/app/firebase_spm.rb941 # the healing path) only tells Xcode the target *depends* on it -- itCOMMENT
LOWpackages/app/firebase_spm.rb981# `rnfirebase_hook_cocoapods_post_install!` above -- so you normally neverCOMMENT
LOWpackages/app/firebase_spm.rb1041 project.root_object.package_references.delete(pkg)COMMENT
LOWpackages/app/firebase_spm.rb1061#COMMENT
LOWpackages/app/firebase_spm.rb1121# `rnfirebase_hook_cocoapods_post_install!` above -- so you normally neverCOMMENT
LOWpackages/app/firebase_spm.rb1141# `FirebaseSharedSwift`) aren't exposed as public products. ExplicitCOMMENT
LOWpackages/app/firebase_spm.rb1161# above already links `FirebaseCore` into the app target as a direct SPMCOMMENT
LOWpackages/app/ios_config.sh1#!/usr/bin/env bashCOMMENT
LOWpackages/app/firebase_json.rb1# frozen_string_literal: trueCOMMENT
LOWpackages/app/ios/RNFBApp/RNFBSharedUtils.h21#if __has_include(<FirebaseCore/FirebaseCore.h>)COMMENT
LOWpackages/app/ios/RNFBApp/RNFBAppModule.mm21#import <FirebaseCore/FirebaseCore.h>COMMENT
LOWpackages/app/__tests__/firebase_spm_test.rb181# element type of `AbstractTarget#build_configurations`. Exposes both `name`COMMENT
LOW…ckages/app/__tests__/firebase_spm_embed_script_test.rb1# frozen_string_literal: trueCOMMENT
LOWpackages/app/__tests__/run_with_coverage.rb1# frozen_string_literal: trueCOMMENT
LOWpackages/app/__tests__/firebase_spm_shape_test.rb1# frozen_string_literal: trueCOMMENT
LOWpackages/app/__tests__/firebase_spm_shape_test.rb21#COMMENT
LOW…ests__/iosTurboModuleConstantsReturnTypeParity.test.ts1import fs from 'fs';COMMENT
LOW…e/firebase/common/ReactNativeFirebaseEventEmitter.java41 private static final String TAG = "RNFB_EMITTER";COMMENT
LOW…e/firebase/common/ReactNativeFirebaseEventEmitter.java61 // Host identity we moved past while converging onto pending/attached; late attaches of thisCOMMENT
LOW…e/firebase/common/ReactNativeFirebaseEventEmitter.java81 return sharedInstance;COMMENT
LOWpackages/app/lib/internal/web/memidb/lib/scheduling.js1// When running within Node.js (including jsdom), we want to use setImmediateCOMMENT
LOW…estore/ios/RNFBFirestore/RNFBFirestoreDocumentModule.h21#import <FirebaseCore/FirebaseCore.h>COMMENT
LOW…ore/ios/RNFBFirestore/RNFBFirestoreTransactionModule.h21#import <FirebaseCore/FirebaseCore.h>COMMENT
LOW…tore/ios/RNFBFirestore/RNFBFirestoreCollectionModule.h21#import <FirebaseCore/FirebaseCore.h>COMMENT
37 more matches not shown…
Modern AI Meta-Vocabulary23 hits · 59 pts
SeverityFileLineSnippetContext
MEDIUMscripts/e2e/lib/e2e-slot-env.sh302 # Process-local / orchestration leftovers apply() clears — export if re-set forCOMMENT
MEDIUM.github/workflows/scripts/android-e2e-detox.sh2# android-emulator-runner executes each script: line via sh -c; keep orchestration here.COMMENT
MEDIUMokf-bundle/monorepo-tooling/prepare-and-cache.md214**Bundling premise:** per [running e2e § Rules #3](../testing/running-e2e.md#rules) (canonical owner). The inner loop isCODE
MEDIUMokf-bundle/monorepo-tooling/prepare-and-cache.md230### Tier C — event-driven e2e rerun (spike)COMMENT
MEDIUMokf-bundle/monorepo-tooling/prepare-and-cache.md240Chain: `lib` edit → `nx watch` rebuilds `dist` → Metro re-bundles → **`update-done`** → host `POST`s a re-run action to CODE
MEDIUMokf-bundle/monorepo-tooling/architecture-decisions.md156## MonoTool-AD-9 — Dev watch rebuilds prepare; e2e TDD rerun is event-driven off Metro — **Deferred**COMMENT
MEDIUMokf-bundle/monorepo-tooling/index.md15In scope: `lerna`/`nx` task orchestration and caching, `react-native-builder-bob` outputs, the `packages/*` build graph,CODE
MEDIUMokf-bundle/monorepo-tooling/work-queue.md32| [MonoTool-AD-9](architecture-decisions.md#monotool-ad-9--dev-watch-rebuilds-prepare-e2e-tdd-rerun-is-event-driven-off-CODE
MEDIUM⚡okf-bundle/monorepo-tooling/work-queue.md358- **Status:** Deferred — no incremental dev-watch/hot-reload loop exists today; **off the critical path** for MT1/MT2/MTCODE
MEDIUM⚡okf-bundle/monorepo-tooling/work-queue.md361 - Note: the OKF debug/release correction already landed separately as `docs: correct assertion about JS bundles in devCODE
MEDIUM⚡okf-bundle/monorepo-tooling/work-queue.md362 - Analyze the event-driven e2e rerun (Metro `update-done`/`onBundleBuilt` → Jet `POST /rerun` on `8091`; [design Tier CODE
MEDIUMokf-bundle/testing/e2e-parallel-design.md517### Host orchestrationCOMMENT
MEDIUMokf-bundle/testing/running-e2e.md966. **One e2e at a time (default)** — never overlap `:test-cover` runs on one host unless each run uses a distinct port/dCODE
MEDIUMokf-bundle/testing/running-e2e.md166#### Test-runner host orchestration (log triage only)COMMENT
MEDIUMokf-bundle/testing/running-e2e.md168**No commands to run from this section** — for interpreting `:test-cover` logs and CI artifacts only. Patch workflow: [dCODE
MEDIUMokf-bundle/testing/coverage-design.md257- **Transfer:** patched test-runner/mocha-remote WS only (`coverage-ready` → `pull-coverage` → `coverage-data` → `coveraCODE
MEDIUMokf-bundle/ci-workflows/android.md71| Defer `server.run()` until host `POST /launch-ready` on control port **8091** (`RNFB_JET_DEFER_RUN=1`) | Jet patch + `CODE
MEDIUMokf-bundle/ci-workflows/detox-patches.md31Related patches: `jet`, `mocha-remote-client`, `mocha-remote-server` — WS reconnect grace, coverage handshake, client keCODE
MEDIUMokf-bundle/ci-workflows/index.md15* [Test-runner orchestration (log triage)](../testing/running-e2e.md#test-runner-host-orchestration-log-triage-only) — pCOMMENT
MEDIUMokf-bundle/ci-workflows/ios.md187### E2E test app orchestration (Detox + Jet)COMMENT
MEDIUMokf-bundle/ci-workflows/ios.md228| Defer `server.run()` until host `POST /launch-ready` on control port **8091** (`RNFB_JET_DEFER_RUN=1`) | Jet patch + `CODE
MEDIUMokf-bundle/ci-workflows/ios.md285# Detox orchestration inside the app processCOMMENT
MEDIUMokf-bundle/ci-workflows/ios.md380# Disconnect resource context (+ orchestrate phase when defer-run enabled)COMMENT
Structural Annotation Overuse10 hits · 15 pts
SeverityFileLineSnippetContext
LOWCONTRIBUTING.md103### Step 1: Clone the repositoryCOMMENT
LOWCONTRIBUTING.md110### Step 2: Install test project dependenciesCOMMENT
LOWtests/README.md34### Step 1: Install test project dependenciesCOMMENT
LOWtests/README.md44### Step 2: Start Packager ScriptCOMMENT
LOWtests/README.md60### Step 3: Build Native AppCOMMENT
LOWtests/README.md81### Step 4: Setting up android emulator and iOS simulator and Firestore emulatorCOMMENT
LOWtests/README.md97### Step 5: Finally, run the testsCOMMENT
LOWpackages/auth/ios/RNFBAuth/RNFBAuthHelper.m845 // NOTE: This variable has NO PURPOSE AT ALL, it isCOMMENT
LOWpackages/auth/ios/RNFBAuth/RNFBAuthHelper.m1510 // NOTE: This variable has NO PURPOSE AT ALL, it isCOMMENT
LOWpackages/auth/ios/RNFBAuth/RNFBAuthHelper.m1642 // NOTE: This variable has NO PURPOSE ATCOMMENT
Example Usage Blocks8 hits · 12 pts
SeverityFileLineSnippetContext
LOWscripts/update-firebase-sdk-versions.sh9# Usage:COMMENT
LOWscripts/run-full-tests.sh4# Usage:COMMENT
LOWscripts/repro-android-build-flake.sh5# Usage:COMMENT
LOWscripts/e2e/export-slot-env.sh5# Usage:COMMENT
LOWscripts/e2e/start-emulator-slotted.sh5# Usage:COMMENT
LOWscripts/e2e/check-e2e-resources.sh17# Usage:COMMENT
LOWscripts/e2e/start-packager.sh9# Usage:COMMENT
LOWscripts/e2e/release-e2e-resources.sh7# Usage:COMMENT
Fake / Example Data11 hits · 11 pts
SeverityFileLineSnippetContext
LOWpackages/firestore/e2e/Pipeline.e2e.js1706 phone: '555-0200',CODE
LOWpackages/firestore/e2e/Pipeline.e2e.js1835 data.fullName.should.equal('John Doe');CODE
LOWpackages/auth/__tests__/auth.test.ts260 currentUser: { email: 'user@example.com' },CODE
LOWpackages/auth/__tests__/auth.test.ts268 expect(generateQrCodeUrl).toHaveBeenCalledWith('secret-key', 'user@example.com', '[DEFAULT]');CODE
LOWpackages/auth/__tests__/auth.test.ts279 currentUser: { email: 'user@example.com' },CODE
LOWpackages/auth/__tests__/auth.test.ts288 'user@example.com',CODE
LOWpackages/auth/__tests__/auth.test.ts300 currentUser: { email: 'user@example.com' },CODE
LOW⚡packages/auth/e2e/phone.e2e.js1// const TEST_EMAIL = 'test@test.com';COMMENT
LOWpackages/auth/e2e/user.e2e.js1const TEST_EMAIL = 'test@test.com';CODE
LOWpackages/analytics/type-test.ts150initiateOnDeviceConversionMeasurementWithEmailAddress(analytics, 'user@example.com');CODE
LOWpackages/analytics/lib/index.ts1841 * @param {string} emailAddress - Email address, properly formatted complete with domain name e.g, 'user@example.com'.COMMENT
Self-Referential Comments2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMpackages/app/firebase_spm.rb688# This file is `require`d from each RNFB podspec, which CocoaPods evaluatesCOMMENT
MEDIUMpackages/app/ios_config.sh23# This file is installed as an Xcode build script in the project fileCOMMENT
Verbosity Indicators1 hit · 2 pts
SeverityFileLineSnippetContext
LOW…ive/java/io/invertase/firebase/common/SharedUtils.java116 * We need to check if app is in foreground otherwise the app will crash.COMMENT