From f581d23f23fd0a04a8194d0fee3cc85a16d3d445 Mon Sep 17 00:00:00 2001 From: Maneesh Tewani Date: Mon, 10 Nov 2025 14:56:16 -0800 Subject: [PATCH 1/4] Removed unnecessary types --- common/api-review/data-connect.api.md | 12 +----------- packages/data-connect/src/api/DataConnect.ts | 4 +++- packages/data-connect/src/api/Reference.ts | 4 ++-- packages/data-connect/src/api/index.ts | 2 +- 4 files changed, 7 insertions(+), 15 deletions(-) diff --git a/common/api-review/data-connect.api.md b/common/api-review/data-connect.api.md index 27a9d4af201..e05b0add232 100644 --- a/common/api-review/data-connect.api.md +++ b/common/api-review/data-connect.api.md @@ -4,12 +4,9 @@ ```ts -import { AppCheckInternalComponentName } from '@firebase/app-check-interop-types'; import { FirebaseApp } from '@firebase/app'; -import { FirebaseAuthInternalName } from '@firebase/auth-interop-types'; import { FirebaseError } from '@firebase/util'; import { LogLevelString } from '@firebase/logger'; -import { Provider } from '@firebase/component'; // @public export type CallerSdkType = 'Base' | 'Generated' | 'TanstackReactCore' | 'GeneratedReact' | 'TanstackAngularCore' | 'GeneratedAngular'; @@ -53,7 +50,6 @@ export interface ConnectorConfig { // @public export class DataConnect { - constructor(app: FirebaseApp, dataConnectOptions: DataConnectOptions, _authProvider: Provider, _appCheckProvider: Provider); // (undocumented) readonly app: FirebaseApp; // (undocumented) @@ -97,12 +93,6 @@ export interface DataConnectOperationFailureResponseErrorInfo { readonly path: Array; } -// @public -export interface DataConnectOptions extends ConnectorConfig { - // (undocumented) - projectId: string; -} - // @public (undocumented) export interface DataConnectResult extends OpResult { // (undocumented) @@ -216,7 +206,7 @@ export type ReferenceType = typeof QUERY_STR | typeof MUTATION_STR; // @public export interface RefInfo { // (undocumented) - connectorConfig: DataConnectOptions; + connectorConfig: ConnectorConfig; // (undocumented) name: string; // (undocumented) diff --git a/packages/data-connect/src/api/DataConnect.ts b/packages/data-connect/src/api/DataConnect.ts index 15e713ba23b..378980b1fbb 100644 --- a/packages/data-connect/src/api/DataConnect.ts +++ b/packages/data-connect/src/api/DataConnect.ts @@ -104,7 +104,9 @@ export class DataConnect { _isUsingGeneratedSdk: boolean = false; _callerSdkType: CallerSdkType = CallerSdkTypeEnum.Base; private _appCheckTokenProvider?: AppCheckTokenProvider; - // @internal + /** + * @hideconstructor + */ constructor( public readonly app: FirebaseApp, // TODO(mtewani): Replace with _dataConnectOptions in the future diff --git a/packages/data-connect/src/api/Reference.ts b/packages/data-connect/src/api/Reference.ts index f9d7687dd18..1b1765bb741 100644 --- a/packages/data-connect/src/api/Reference.ts +++ b/packages/data-connect/src/api/Reference.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { DataConnect, DataConnectOptions } from './DataConnect'; +import { ConnectorConfig, DataConnect } from './DataConnect'; export const QUERY_STR = 'query'; export const MUTATION_STR = 'mutation'; export type ReferenceType = typeof QUERY_STR | typeof MUTATION_STR; @@ -48,7 +48,7 @@ export interface DataConnectResult extends OpResult { export interface RefInfo { name: string; variables: Variables; - connectorConfig: DataConnectOptions; + connectorConfig: ConnectorConfig; } /** * Serialized Ref as a result of `QueryResult.toJSON()` diff --git a/packages/data-connect/src/api/index.ts b/packages/data-connect/src/api/index.ts index 72ee8b313e5..034a29df42e 100644 --- a/packages/data-connect/src/api/index.ts +++ b/packages/data-connect/src/api/index.ts @@ -16,7 +16,7 @@ */ export * from '../network'; -export * from './DataConnect'; +export { ConnectorConfig, DataConnect, TransportOptions, areTransportOptionsEqual, connectDataConnectEmulator, getDataConnect, parseOptions, terminate, validateDCOptions } from './DataConnect'; export * from './Reference'; export * from './Mutation'; export * from './query'; From bc442f154af3babf15fae3e0b6e2ec4a4b39ab14 Mon Sep 17 00:00:00 2001 From: Maneesh Tewani Date: Tue, 11 Nov 2025 06:38:49 -0800 Subject: [PATCH 2/4] Fixed build and formatting issues --- packages/data-connect/src/api/DataConnect.ts | 1 + packages/data-connect/src/api/index.ts | 12 +++++++++++- packages/data-connect/src/core/QueryManager.ts | 1 - 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/data-connect/src/api/DataConnect.ts b/packages/data-connect/src/api/DataConnect.ts index 378980b1fbb..e3dd8419059 100644 --- a/packages/data-connect/src/api/DataConnect.ts +++ b/packages/data-connect/src/api/DataConnect.ts @@ -106,6 +106,7 @@ export class DataConnect { private _appCheckTokenProvider?: AppCheckTokenProvider; /** * @hideconstructor + * @internal */ constructor( public readonly app: FirebaseApp, diff --git a/packages/data-connect/src/api/index.ts b/packages/data-connect/src/api/index.ts index 034a29df42e..9bcd5d70751 100644 --- a/packages/data-connect/src/api/index.ts +++ b/packages/data-connect/src/api/index.ts @@ -16,7 +16,17 @@ */ export * from '../network'; -export { ConnectorConfig, DataConnect, TransportOptions, areTransportOptionsEqual, connectDataConnectEmulator, getDataConnect, parseOptions, terminate, validateDCOptions } from './DataConnect'; +export { + ConnectorConfig, + DataConnect, + TransportOptions, + areTransportOptionsEqual, + connectDataConnectEmulator, + getDataConnect, + parseOptions, + terminate, + validateDCOptions +} from './DataConnect'; export * from './Reference'; export * from './Mutation'; export * from './query'; diff --git a/packages/data-connect/src/core/QueryManager.ts b/packages/data-connect/src/core/QueryManager.ts index 109f1d105b4..abcc4b54a91 100644 --- a/packages/data-connect/src/core/QueryManager.ts +++ b/packages/data-connect/src/core/QueryManager.ts @@ -68,7 +68,6 @@ function getRefSerializer( name: queryRef.name, variables: queryRef.variables, connectorConfig: { - projectId: queryRef.dataConnect.app.options.projectId!, ...queryRef.dataConnect.getSettings() } }, From c4640e97da4979cb8fb690fc1107dbad8290c9f0 Mon Sep 17 00:00:00 2001 From: Maneesh Tewani Date: Tue, 11 Nov 2025 06:39:34 -0800 Subject: [PATCH 3/4] Create proud-trainers-live.md --- .changeset/proud-trainers-live.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/proud-trainers-live.md diff --git a/.changeset/proud-trainers-live.md b/.changeset/proud-trainers-live.md new file mode 100644 index 00000000000..81eaae10686 --- /dev/null +++ b/.changeset/proud-trainers-live.md @@ -0,0 +1,5 @@ +--- +"@firebase/data-connect": patch +--- + +Removed exposed internal DataConnect constructor. From c087753b0d12438be2df86089dfe1172f9b581df Mon Sep 17 00:00:00 2001 From: Maneesh Tewani Date: Tue, 11 Nov 2025 14:27:27 -0500 Subject: [PATCH 4/4] Fixed testing --- packages/data-connect/test/queries.test.ts | 5 ++--- packages/data-connect/test/unit/queries.test.ts | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/data-connect/test/queries.test.ts b/packages/data-connect/test/queries.test.ts index 24db1e4508f..226014fcc05 100644 --- a/packages/data-connect/test/queries.test.ts +++ b/packages/data-connect/test/queries.test.ts @@ -35,7 +35,7 @@ import { terminate } from '../src'; -import { getConnectionConfig, initDatabase, PROJECT_ID } from './util'; +import { getConnectionConfig, initDatabase } from './util'; use(chaiAsPromised); @@ -146,8 +146,7 @@ describe('DataConnect Tests', async () => { fetchTime: Date.now().toLocaleString(), refInfo: { connectorConfig: { - ...getConnectionConfig(), - projectId: PROJECT_ID + ...getConnectionConfig() }, name: taskListQuery.name, variables: { testId: TEST_ID } diff --git a/packages/data-connect/test/unit/queries.test.ts b/packages/data-connect/test/unit/queries.test.ts index 02d19bf856e..a621a1b6467 100644 --- a/packages/data-connect/test/unit/queries.test.ts +++ b/packages/data-connect/test/unit/queries.test.ts @@ -22,7 +22,8 @@ import chaiAsPromised from 'chai-as-promised'; import * as sinon from 'sinon'; import sinonChai from 'sinon-chai'; -import { DataConnectOptions, QueryRef, queryRef, subscribe } from '../../src'; +import { QueryRef, queryRef, subscribe } from '../../src'; +import { DataConnectOptions } from '../../src/api/DataConnect'; import { AuthTokenListener, AuthTokenProvider