Skip to content

Commit c675a2a

Browse files
Before build fix
1 parent 65c05e2 commit c675a2a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+447
-503
lines changed

packages/firestore/index.console.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
* limitations under the License.
1616
*/
1717

18-
import './src/platform_browser/browser_init';
18+
// TODO(mrschmidt): Once imported into Google3, fix
19+
// third_party/javascript/firebase/src/packages/firestore/tools/console.build.js
1920

2021
export { Firestore, FirestoreDatabase } from './src/api/database';
2122
export {

packages/firestore/index.memory.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import { MemoryComponentProvider } from './src/core/component_provider';
2323
import { configureForFirebase } from './src/platform/config';
2424

2525
import './register-module';
26-
import './src/platform_browser/browser_init';
2726

2827
import { name, version } from './package.json';
2928

packages/firestore/index.node.memory.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import { Firestore } from './src/api/database';
2222
import { MemoryComponentProvider } from './src/core/component_provider';
2323
import { configureForFirebase } from './src/platform/config';
2424
import './register-module';
25-
import './src/platform_node/node_init';
2625

2726
import { name, version } from './package.json';
2827

packages/firestore/index.node.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import { IndexedDbComponentProvider } from './src/core/component_provider';
2222
import { configureForFirebase } from './src/platform/config';
2323

2424
import './register-module';
25-
import './src/platform_node/node_init';
2625

2726
import { name, version } from './package.json';
2827

packages/firestore/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import { configureForFirebase } from './src/platform/config';
2424
import { name, version } from './package.json';
2525

2626
import './register-module';
27-
import './src/platform_browser/browser_init';
2827

2928
/**
3029
* Registers the main Firestore build with the components framework.

packages/firestore/lite/index.node.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ import { Firestore } from './src/api/database';
2020
import { version } from '../package.json';
2121
import { Component, ComponentType } from '@firebase/component';
2222

23-
import '../src/platform_node/node_init';
24-
2523
export {
2624
Firestore,
2725
initializeFirestore,

packages/firestore/lite/src/api/database.ts

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import {
3333
newDatastore,
3434
terminateDatastore
3535
} from '../../../src/remote/datastore';
36-
import { PlatformSupport } from '../../../src/platform/platform';
36+
import { loadConnection, newSerializer } from '../../../src/platform/platform';
3737
import { Deferred } from '../../../src/util/promise';
3838
import { cast } from './util';
3939

@@ -83,19 +83,11 @@ export class Firestore implements firestore.FirebaseFirestore {
8383

8484
// Kick off initializing the datastore but don't actually wait for it.
8585
// eslint-disable-next-line @typescript-eslint/no-floating-promises
86-
PlatformSupport.getPlatform()
87-
.loadConnection(databaseInfo)
88-
.then(connection => {
89-
const serializer = PlatformSupport.getPlatform().newSerializer(
90-
databaseInfo.databaseId
91-
);
92-
const datastore = newDatastore(
93-
connection,
94-
this._credentials,
95-
serializer
96-
);
97-
this._datastoreDeferred.resolve(datastore);
98-
});
86+
loadConnection(databaseInfo).then(connection => {
87+
const serializer = newSerializer(databaseInfo.databaseId);
88+
const datastore = newDatastore(connection, this._credentials, serializer);
89+
this._datastoreDeferred.resolve(datastore);
90+
});
9991
}
10092

10193
_ensureClientConfigured(): Promise<Datastore> {

packages/firestore/lite/src/api/reference.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import {
3535
} from '../../../src/remote/datastore';
3636
import { hardAssert } from '../../../src/util/assert';
3737
import { DeleteMutation, Precondition } from '../../../src/model/mutation';
38-
import { PlatformSupport } from '../../../src/platform/platform';
38+
import { newSerializer } from '../../../src/platform/platform';
3939
import { applyFirestoreDataConverter } from '../../../src/api/database';
4040
import { DatabaseId } from '../../../src/core/database_info';
4141
import { FieldPath } from './field_path';
@@ -422,7 +422,7 @@ export function newUserDataReader(
422422
databaseId: DatabaseId,
423423
settings: firestore.Settings
424424
): UserDataReader {
425-
const serializer = PlatformSupport.getPlatform().newSerializer(databaseId);
425+
const serializer = newSerializer(databaseId);
426426
return new UserDataReader(
427427
databaseId,
428428
!!settings.ignoreUndefinedProperties,

packages/firestore/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@
6767
"devDependencies": {
6868
"@firebase/app-exp": "0.x",
6969
"@firebase/app-types-exp": "0.x",
70+
"@rollup/plugin-alias": "3.1.1",
7071
"@types/json-stable-stringify": "1.0.32",
7172
"json-stable-stringify": "1.0.1",
7273
"protobufjs": "6.9.0",

packages/firestore/rollup.config.es2017.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import * as path from 'path';
1919

2020
import json from 'rollup-plugin-json';
21+
import alias from '@rollup/plugin-alias';
2122
import typescriptPlugin from 'rollup-plugin-typescript2';
2223
import replace from 'rollup-plugin-replace';
2324
import copy from 'rollup-plugin-copy-assets';
@@ -61,6 +62,14 @@ import {
6162
// MARK: Browser builds
6263

6364
const browserBuildPlugins = [
65+
alias({
66+
entries: [
67+
{
68+
find: /(.*)\/platform\/platform(.*)/,
69+
replacement: '$1/platform_browser/browser_platform$2'
70+
}
71+
]
72+
}),
6473
typescriptPlugin({
6574
typescript,
6675
tsconfigOverride: {
@@ -103,6 +112,14 @@ const browserBuilds = [
103112
// MARK: Node builds
104113

105114
const nodeBuildPlugins = [
115+
alias({
116+
entries: [
117+
{
118+
find: /(.*)\/platform\/platform(.*)/,
119+
replacement: '$1/platform_node/node_platform$2'
120+
}
121+
]
122+
}),
106123
typescriptPlugin({
107124
typescript,
108125
tsconfigOverride: {

packages/firestore/rollup.config.lite.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717

1818
import json from 'rollup-plugin-json';
19+
import alias from '@rollup/plugin-alias';
1920
import typescriptPlugin from 'rollup-plugin-typescript2';
2021
import typescript from 'typescript';
2122

@@ -25,6 +26,14 @@ import pkg from './lite/package.json';
2526
import path from 'path';
2627

2728
const defaultPlugins = [
29+
alias({
30+
entries: [
31+
{
32+
find: /(.*)\/platform\/platform(.*)/,
33+
replacement: '$1/platform_node/node_platform$2'
34+
}
35+
]
36+
}),
2837
typescriptPlugin({
2938
typescript,
3039
tsconfigOverride: {

packages/firestore/rollup.shared.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ const browserDeps = Object.keys(
3131
const nodeDeps = [...browserDeps, 'util', 'path'];
3232

3333
/** Resolves the external dependencies for the browser build. */
34-
export function resolveBrowserExterns(id) {
34+
export function resolveBrowserExterns(id, importedFrom) {
3535
return browserDeps.some(dep => id === dep || id.startsWith(`${dep}/`));
3636
}
3737

3838
/** Resolves the external dependencies for the Node build. */
39-
export function resolveNodeExterns(id) {
39+
export function resolveNodeExterns(id, importedFrom) {
4040
return nodeDeps.some(dep => id === dep || id.startsWith(`${dep}/`));
4141
}
4242

packages/firestore/src/api/blob.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* limitations under the License.
1616
*/
1717

18-
import { PlatformSupport } from '../platform/platform';
18+
import { isBase64Available } from '../platform/platform';
1919
import { Code, FirestoreError } from '../util/error';
2020
import {
2121
invalidClassError,
@@ -36,7 +36,7 @@ function assertUint8ArrayAvailable(): void {
3636

3737
/** Helper function to assert Base64 functions are available at runtime. */
3838
function assertBase64Available(): void {
39-
if (!PlatformSupport.getPlatform().base64Available) {
39+
if (!isBase64Available()) {
4040
throw new FirestoreError(
4141
Code.UNIMPLEMENTED,
4242
'Blobs are unavailable in Firestore in this environment.'

packages/firestore/src/api/database.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ import { DeleteMutation, Mutation, Precondition } from '../model/mutation';
4646
import { FieldPath, ResourcePath } from '../model/path';
4747
import { isServerTimestamp } from '../model/server_timestamps';
4848
import { refValue } from '../model/values';
49-
import { PlatformSupport } from '../platform/platform';
5049
import { debugAssert, fail } from '../util/assert';
5150
import { AsyncObserver } from '../util/async_observer';
5251
import { AsyncQueue } from '../util/async_queue';
@@ -529,7 +528,6 @@ export class Firestore implements firestore.FirebaseFirestore, FirebaseService {
529528
const databaseInfo = this.makeDatabaseInfo();
530529

531530
this._firestoreClient = new FirestoreClient(
532-
PlatformSupport.getPlatform(),
533531
databaseInfo,
534532
this._credentials,
535533
this._queue

packages/firestore/src/api/user_data_reader.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import { Blob } from './blob';
4242
import { BaseFieldPath, fromDotSeparatedString } from './field_path';
4343
import { DeleteFieldValueImpl, SerializableFieldValue } from './field_value';
4444
import { GeoPoint } from './geo_point';
45-
import { PlatformSupport } from '../platform/platform';
45+
import { newSerializer } from '../platform/platform';
4646

4747
const RESERVED_FIELD_REGEX = /^__.*__$/;
4848

@@ -302,8 +302,7 @@ export class UserDataReader {
302302
private readonly ignoreUndefinedProperties: boolean,
303303
serializer?: JsonProtoSerializer
304304
) {
305-
this.serializer =
306-
serializer || PlatformSupport.getPlatform().newSerializer(databaseId);
305+
this.serializer = serializer || newSerializer(databaseId);
307306
}
308307

309308
/** Parse document data from a set() call. */

packages/firestore/src/core/component_provider.ts

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,12 @@ import { RemoteStore } from '../remote/remote_store';
2727
import { EventManager } from './event_manager';
2828
import { AsyncQueue } from '../util/async_queue';
2929
import { DatabaseInfo } from './database_info';
30-
import { Platform } from '../platform/platform';
30+
import {
31+
getDocument,
32+
getWindow,
33+
newConnectivityMonitor,
34+
newSerializer
35+
} from '../platform/platform';
3136
import { Datastore } from '../remote/datastore';
3237
import { User } from '../auth/user';
3338
import { PersistenceSettings } from './firestore_client';
@@ -51,7 +56,6 @@ const MEMORY_ONLY_PERSISTENCE_ERROR_MESSAGE =
5156
export interface ComponentConfiguration {
5257
asyncQueue: AsyncQueue;
5358
databaseInfo: DatabaseInfo;
54-
platform: Platform;
5559
datastore: Datastore;
5660
clientId: ClientId;
5761
initialUser: User;
@@ -152,7 +156,7 @@ export class MemoryComponentProvider implements ComponentProvider {
152156
onlineState,
153157
OnlineStateSource.RemoteStore
154158
),
155-
cfg.platform.newConnectivityMonitor()
159+
newConnectivityMonitor()
156160
);
157161
}
158162

@@ -250,14 +254,15 @@ export class IndexedDbComponentProvider extends MemoryComponentProvider {
250254
const persistenceKey = IndexedDbPersistence.buildStoragePrefix(
251255
cfg.databaseInfo
252256
);
253-
const serializer = cfg.platform.newSerializer(cfg.databaseInfo.databaseId);
257+
const serializer = newSerializer(cfg.databaseInfo.databaseId);
254258
return new IndexedDbPersistence(
255259
cfg.persistenceSettings.synchronizeTabs,
256260
persistenceKey,
257261
cfg.clientId,
258-
cfg.platform,
259262
LruParams.withCacheSize(cfg.persistenceSettings.cacheSizeBytes),
260263
cfg.asyncQueue,
264+
getWindow(),
265+
getDocument(),
261266
serializer,
262267
this.sharedClientState,
263268
cfg.persistenceSettings.forceOwningTab
@@ -269,7 +274,8 @@ export class IndexedDbComponentProvider extends MemoryComponentProvider {
269274
cfg.persistenceSettings.durable &&
270275
cfg.persistenceSettings.synchronizeTabs
271276
) {
272-
if (!WebStorageSharedClientState.isAvailable(cfg.platform)) {
277+
const window = getWindow();
278+
if (!WebStorageSharedClientState.isAvailable(window)) {
273279
throw new FirestoreError(
274280
Code.UNIMPLEMENTED,
275281
'IndexedDB persistence is only available on platforms that support LocalStorage.'
@@ -279,8 +285,8 @@ export class IndexedDbComponentProvider extends MemoryComponentProvider {
279285
cfg.databaseInfo
280286
);
281287
return new WebStorageSharedClientState(
288+
window,
282289
cfg.asyncQueue,
283-
cfg.platform,
284290
persistenceKey,
285291
cfg.clientId,
286292
cfg.initialUser

packages/firestore/src/core/firestore_client.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { GarbageCollectionScheduler, Persistence } from '../local/persistence';
2222
import { Document, NoDocument } from '../model/document';
2323
import { DocumentKey } from '../model/document_key';
2424
import { Mutation } from '../model/mutation';
25-
import { Platform } from '../platform/platform';
25+
import { loadConnection, newSerializer } from '../platform/platform';
2626
import { newDatastore } from '../remote/datastore';
2727
import { RemoteStore } from '../remote/remote_store';
2828
import { AsyncQueue, wrapInUserErrorIfRecoverable } from '../util/async_queue';
@@ -93,7 +93,6 @@ export class FirestoreClient {
9393
private readonly clientId = AutoId.newId();
9494

9595
constructor(
96-
private platform: Platform,
9796
private databaseInfo: DatabaseInfo,
9897
private credentials: CredentialsProvider,
9998
/**
@@ -235,16 +234,13 @@ export class FirestoreClient {
235234
// Datastore (without duplicating the initializing logic once per
236235
// provider).
237236

238-
const connection = await this.platform.loadConnection(this.databaseInfo);
239-
const serializer = this.platform.newSerializer(
240-
this.databaseInfo.databaseId
241-
);
237+
const connection = await loadConnection(this.databaseInfo);
238+
const serializer = newSerializer(this.databaseInfo.databaseId);
242239
const datastore = newDatastore(connection, this.credentials, serializer);
243240

244241
await componentProvider.initialize({
245242
asyncQueue: this.asyncQueue,
246243
databaseInfo: this.databaseInfo,
247-
platform: this.platform,
248244
datastore,
249245
clientId: this.clientId,
250246
initialUser: user,

0 commit comments

Comments
 (0)