Skip to content

Remove Cyclic Dependencies #4160

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 51 commits into from
Dec 8, 2020
Merged
Show file tree
Hide file tree
Changes from 39 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
5599705
Move FieldMask
schmidt-sebastian Dec 3, 2020
b8efc13
Move normalizeTimestamp
schmidt-sebastian Dec 3, 2020
6af13ee
Move TypeOrder
schmidt-sebastian Dec 3, 2020
f315c89
Move query
schmidt-sebastian Dec 3, 2020
bf8f746
Move toDouble, toInteger
schmidt-sebastian Dec 3, 2020
fb16170
Move Serializer
schmidt-sebastian Dec 3, 2020
b682857
Move PersistenceTransaction
schmidt-sebastian Dec 3, 2020
6e32f92
Move ExponentialBackoff
schmidt-sebastian Dec 3, 2020
e2846a9
Move LocalStoreImpl
schmidt-sebastian Dec 3, 2020
8fcc47b
LruGarbageCollector
schmidt-sebastian Dec 3, 2020
3456d83
Move PRIMARY_LEASE_LOST_ERROR_MSG
schmidt-sebastian Dec 3, 2020
0fba935
BundleReader
schmidt-sebastian Dec 3, 2020
3e69755
Move BundleLoader
schmidt-sebastian Dec 3, 2020
a4758a0
IndexedDbBundleCache
schmidt-sebastian Dec 3, 2020
1b1a67d
IndexedDbIndexManager
schmidt-sebastian Dec 3, 2020
11df697
Clean up IndexedDbPersistence
schmidt-sebastian Dec 3, 2020
1159302
Remove unused imports
schmidt-sebastian Dec 3, 2020
e5b9a81
removeMutationBatch/DocumentKey
schmidt-sebastian Dec 3, 2020
b639a29
IndexedDbSchemaConverter
schmidt-sebastian Dec 3, 2020
a503100
IndexedDbBundleCache
schmidt-sebastian Dec 3, 2020
cccabf2
MemoryTargetCache
schmidt-sebastian Dec 3, 2020
0b518f0
Move FieldValue
schmidt-sebastian Dec 3, 2020
cb07140
Move FieldValue implementations
schmidt-sebastian Dec 3, 2020
d9c66ec
Fix Components
schmidt-sebastian Dec 3, 2020
c06dd59
Make Reference unique
schmidt-sebastian Dec 3, 2020
d03efd3
Move ensureClientConfigured/configureClient
schmidt-sebastian Dec 3, 2020
c2f951e
Move SnapshotMetadata
schmidt-sebastian Dec 3, 2020
2c0faa2
Fix lite/.../query.ts
schmidt-sebastian Dec 3, 2020
97b2189
Move UserDataWriter
schmidt-sebastian Dec 3, 2020
ec5ac56
Add onwarn
schmidt-sebastian Dec 3, 2020
fef7824
Cleanup
schmidt-sebastian Dec 3, 2020
7fb2de0
Fix unit tests
schmidt-sebastian Dec 3, 2020
2e666fe
Cleanup imports/exports
schmidt-sebastian Dec 3, 2020
fde4f7f
FieldValue exports
schmidt-sebastian Dec 3, 2020
f324093
Manual cleanup
schmidt-sebastian Dec 4, 2020
a1f8f77
Merge
schmidt-sebastian Dec 4, 2020
e66d39d
Add separate FieldMask
schmidt-sebastian Dec 4, 2020
57ff562
Add TypeOrder comment
schmidt-sebastian Dec 4, 2020
a4001fc
s/numberSerializer/valueSerializer
schmidt-sebastian Dec 4, 2020
618017d
AsyncQueue/AsyncQueueImpl
schmidt-sebastian Dec 5, 2020
a35b1d6
s/_methods/_impl
schmidt-sebastian Dec 5, 2020
a8e3409
getStore
schmidt-sebastian Dec 5, 2020
0294aa3
BATCHID_UNKNOWN
schmidt-sebastian Dec 5, 2020
6482dae
removeMutationBatch
schmidt-sebastian Dec 5, 2020
b15d996
DocumentKey
schmidt-sebastian Dec 5, 2020
045f33f
FirestoreService
schmidt-sebastian Dec 5, 2020
55fb014
Fix bad merge
schmidt-sebastian Dec 5, 2020
d41071c
Feedback
schmidt-sebastian Dec 8, 2020
9f9cfaf
Merge
schmidt-sebastian Dec 8, 2020
25d414c
Fix bundles
schmidt-sebastian Dec 8, 2020
d180871
Undo API Extractor
schmidt-sebastian Dec 8, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 2 additions & 3 deletions common/api-review/firestore-exp.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import { _FirebaseService } from '@firebase/app-types-exp';
import { LogLevelString as LogLevel } from '@firebase/logger';
import { Provider } from '@firebase/component';
import { SetOptions as SetOptions_2 } from '@firebase/firestore-types';
import { SnapshotMetadata as SnapshotMetadata_2 } from '@firebase/firestore-types';

// @public
export function addDoc<T>(reference: CollectionReference<T>, data: T): Promise<DocumentReference<T>>;
Expand Down Expand Up @@ -440,11 +439,11 @@ export interface SnapshotListenOptions {
}

// @public
export class SnapshotMetadata implements SnapshotMetadata_2 {
export class SnapshotMetadata {
constructor(hasPendingWrites: boolean, fromCache: boolean);
readonly fromCache: boolean;
readonly hasPendingWrites: boolean;
isEqual(other: SnapshotMetadata_2): boolean;
isEqual(other: SnapshotMetadata): boolean;
}

// @public
Expand Down
4 changes: 3 additions & 1 deletion common/api-review/firestore-lite.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,10 @@ export abstract class FieldValue {
abstract _toFieldTransform(context: ParseContext): FieldTransform | null;
}

// Warning: (ae-forgotten-export) The symbol "FirestoreService" needs to be exported by the entry point index.d.ts
//
// @public
export class FirebaseFirestore implements _FirebaseService {
export class FirebaseFirestore implements FirestoreService {
constructor(databaseIdOrApp: DatabaseId | FirebaseApp, authProvider: Provider<FirebaseAuthInternalName>);
get app(): FirebaseApp;
// Warning: (ae-forgotten-export) The symbol "CredentialsProvider" needs to be exported by the entry point index.d.ts
Expand Down
5 changes: 5 additions & 0 deletions package/.browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
last 2 chrome version
last 2 firefox version
last 2 safari version
last 2 edge version
last 2 ie version
8 changes: 8 additions & 0 deletions package/.changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/master/docs/common-questions.md)
5 changes: 5 additions & 0 deletions package/.changeset/afraid-socks-shop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@firebase/firestore": patch
---

Fixed a bug that prevented usage of FieldPaths with multiple special characters.
5 changes: 5 additions & 0 deletions package/.changeset/calm-shrimps-press.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@firebase/firestore": patch
---

Fixes an issue that returned invalid `DocumentReference`s in `QuerySnapshot`s.
37 changes: 37 additions & 0 deletions package/.changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
"changelog": ["../repo-scripts/changelog-generator", { "repo": "firebase/firebase-js-sdk"}],
"commit": false,
"linked": [],
"access": "public",
"baseBranch": "master",
"updateInternalDependencies": "patch",
"ignore": [
"firebase-namespace-integration-test",
"firebase-firestore-integration-test",
"firebase-messaging-integration-test",
"@firebase/app-exp",
"@firebase/app-types-exp",
"@firebase/auth-exp",
"@firebase/auth-compat",
"@firebase/auth-types-exp",
"@firebase/functions-compat",
"@firebase/functions-exp",
"@firebase/functions-types-exp",
"@firebase/installations-exp",
"@firebase/installations-types-exp",
"@firebase/performance-exp",
"@firebase/performance-types-exp",
"@firebase/remote-config-exp",
"@firebase/remote-config-types-exp",
"@firebase/remote-config-compat",
"firebase-exp",
"@firebase/app-compat",
"@firebase/changelog-generator",
"firebase-size-analysis"
],
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"onlyUpdatePeerDependentsWhenOutOfRange": true,
"useCalculatedVersionForSnapshots": true
}
}
5 changes: 5 additions & 0 deletions package/.changeset/early-dots-peel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@firebase/rules-unit-testing": patch
---

Fix assertFails not recognising database permission denied error
7 changes: 7 additions & 0 deletions package/.changeset/old-lobsters-pull.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
"firebase": minor
"@firebase/firestore-types": minor
"@firebase/firestore": minor
---

Release Firestore Bundles as a prototype patched feature.
6 changes: 6 additions & 0 deletions package/.changeset/wet-dolphins-play.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@firebase/auth": patch
"firebase": patch
---

Fix issue with IndexedDB retry logic causing uncaught errors
21 changes: 21 additions & 0 deletions package/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Shared editor configurations that track the way prettier formats source.
#
# To use this in vscode:
#
# ext install EditorConfig

root = true

# Source files look unixy by default
[*]
end_of_line = lf
insert_final_newline = true

# Javascript and Typescript look like Google-style
[*.{js,json,ts}]
charset = utf-8
indent_style = space
indent_size = 2

# Not currently supported by vscode, but is supported others, e.g. vim.
max_line_length = 80
1 change: 1 addition & 0 deletions package/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.json linguist-language=JSON-with-Comments
107 changes: 107 additions & 0 deletions package/.github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.

######################################################################################################
#
# Team structure and memberships
#
#######################################################################################################

# ===========================================================
# @firebase/jssdk-global-approvers
# ===========================================================
# Used for approving minor changes, large-scale refactorings, and emergency situations.
# (secret team to avoid review requests)
#
# - @Feiyang1
# - @hiranya911
# - @bojeil-google
# - @depoll
# - @hsubox76


# ===========================================================
# @firebase/firestore-js-team
# ===========================================================
# Used for approving firestore changes.
# (secret team to avoid review requests)
#
# - @schmidt-sebastian
# - @wilhuff
# - @var-const
# - @zxu123


# These owners will be the default owners for everything in the repo.
* @Feiyang1 @hiranya911 @hsubox76 @firebase/jssdk-global-approvers

# Database Code
packages/database @schmidt-sebastian @jsdt @firebase/jssdk-global-approvers
packages/database-types @schmidt-sebastian @jsdt @firebase/jssdk-global-approvers

# Firestore Code
packages/firestore @firebase/firestore-js-team @firebase/jssdk-global-approvers
packages/webchannel-wrapper @firebase/firestore-js-team @firebase/jssdk-global-approvers
packages/firestore-types @firebase/firestore-js-team @firebase/jssdk-global-approvers
integration/firestore @firebase/firestore-js-team @firebase/jssdk-global-approvers

# Storage Code
packages/storage @schmidt-sebastian @firebase/jssdk-global-approvers
packages/storage-types @schmidt-sebastian @firebase/jssdk-global-approvers

# Messaging Code
packages/messaging @zwu52 @firebase/jssdk-global-approvers
packages/messaging-types @zwu52 @firebase/jssdk-global-approvers
integration/messaging @zwu52 @firebase/jssdk-global-approvers

# Auth Code
packages/auth @bojeil-google @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers
packages/auth-types @bojeil-google @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers

# Testing Code
packages/testing @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers
packages/rules-unit-testing @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers

# RxFire Code
packages/rxfire @davideast @jamesdaniels @firebase/jssdk-global-approvers

# Installations
packages/installations @andirayo @ChaoqunCHEN @firebase/jssdk-global-approvers
packages/installations-types @andirayo @ChaoqunCHEN @firebase/jssdk-global-approvers

# Performance Code
packages/performance @alikn @zijianjoy @firebase/jssdk-global-approvers
packages/performance-types @alikn @zijianjoy @firebase/jssdk-global-approvers

# Analytics Code
packages/analytics @hsubox76 @Feiyang1 @firebase/jssdk-global-approvers
packages/analytics-types @hsubox76 @Feiyang1 @firebase/jssdk-global-approvers

# Remote Config Code
packages/remote-config @erikeldridge @firebase/jssdk-global-approvers
packages/remote-config-types @erikeldridge @firebase/jssdk-global-approvers

# Documentation Changes
packages/firebase/index.d.ts @firebase/firebase-techwriters @firebase/jssdk-global-approvers
scripts/docgen/content-sources/ @firebase/firebase-techwriters @firebase/jssdk-global-approvers

# Changeset
.changeset @firebase/firebase-techwriters @firebase/jssdk-changeset-approvers @firebase/firestore-js-team @firebase/jssdk-global-approvers

# Auth-Exp Code
packages-exp/auth-exp @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers
packages-exp/auth-types-exp @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers
packages-exp/auth-compat-exp @avolkovi @samhorlbeck @yuchenshi @firebase/jssdk-global-approvers

# Installations-Exp Code
packages/installations-exp @andirayo @ChaoqunCHEN @firebase/jssdk-global-approvers
packages/installations-types-exp @andirayo @ChaoqunCHEN @firebase/jssdk-global-approvers

# Perf-Exp Code
packages/performance-exp @alikn @zijianjoy @firebase/jssdk-global-approvers
packages/performance-types-exp @alikn @zijianjoy @firebase/jssdk-global-approvers

# RC-Exp Code
packages/remote-config-exp @erikeldridge @firebase/jssdk-global-approvers
packages/remote-config-types-exp @erikeldridge @firebase/jssdk-global-approvers
packages/remote-config-compat @erikeldridge @firebase/jssdk-global-approvers
44 changes: 44 additions & 0 deletions package/.github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<!-- Step 1 [READ THIS] -->
<!--
Are you in the right place?
* For issues or feature requests related to __the code in this repository__
file a Github issue.
* If this is a __feature request__ make sure the issue title starts with "FR:".
* For general technical questions, post a question on [StackOverflow](http://stackoverflow.com/)
with the firebase tag.
* For general Firebase discussion, use the [firebase-talk](https://groups.google.com/forum/#!forum/firebase-talk)
google group.
* For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
[Firebase support channel](https://firebase.google.com/support/).
-->

<!-- Step 2 -->

### [REQUIRED] Describe your environment

* Operating System version: _____
* Browser version: _____
* Firebase SDK version: _____
* Firebase Product: _____ (auth, database, storage, etc)

<!-- Step 3 -->

### [REQUIRED] Describe the problem

#### Steps to reproduce:
<!--
What happened? How can we make the problem occur?
This could be a description, log/console output, etc.
-->
#### Relevant Code:

<!--
Reproduce the issue on StackBlitz and provide your forked URL
or give us some sample code below
-->
https://stackblitz.com/fork/firebase-issue-sandbox

```javascript
// TODO(you): code here to reproduce the problem
```
19 changes: 19 additions & 0 deletions package/.github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Hey there! So you want to contribute to a Firebase SDK?
Before you file this pull request, please read these guidelines:

### Discussion

* Read the contribution guidelines (CONTRIBUTING.md).
* If this has been discussed in an issue, make sure to link to the issue here.
If not, go file an issue about this **before creating a pull request** to discuss.

### Testing

* Make sure all existing tests in the repository pass after your change.
* If you fixed a bug or added a feature, add a new test to cover your code.

### API Changes

* At this time we cannot accept changes that affect the public API. If you'd like to help
us make Firebase APIs better, please propose your change in an issue so that we
can discuss it together.
61 changes: 61 additions & 0 deletions package/.github/workflows/canary-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Canary Deploy

on:
push:
branches:
- master

jobs:
deploy:
name: Canary Deploy
runs-on: ubuntu-latest

steps:
- name: Checkout Repo
uses: actions/checkout@master
with:
# Canary release script requires git history and tags.
fetch-depth: 0
- name: Set up Node (10)
uses: actions/setup-node@v1
with:
node-version: 10.x
- name: Yarn install
run: yarn
- name: Deploy canary
run: yarn release canary
env:
NPM_TOKEN_ANALYTICS: ${{secrets.NPM_TOKEN_ANALYTICS}}
NPM_TOKEN_ANALYTICS_INTEROP_TYPES: ${{secrets.NPM_TOKEN_ANALYTICS_INTEROP_TYPES}}
NPM_TOKEN_ANALYTICS_TYPES: ${{secrets.NPM_TOKEN_ANALYTICS_TYPES}}
NPM_TOKEN_APP: ${{secrets.NPM_TOKEN_APP}}
NPM_TOKEN_APP_TYPES: ${{secrets.NPM_TOKEN_APP_TYPES}}
NPM_TOKEN_AUTH: ${{secrets.NPM_TOKEN_AUTH}}
NPM_TOKEN_AUTH_INTEROP_TYPES: ${{secrets.NPM_TOKEN_AUTH_INTEROP_TYPES}}
NPM_TOKEN_AUTH_TYPES: ${{secrets.NPM_TOKEN_AUTH_TYPES}}
NPM_TOKEN_COMPONENT: ${{secrets.NPM_TOKEN_COMPONENT}}
NPM_TOKEN_DATABASE: ${{secrets.NPM_TOKEN_DATABASE}}
NPM_TOKEN_DATABASE_TYPES: ${{secrets.NPM_TOKEN_DATABASE_TYPES}}
NPM_TOKEN_FIRESTORE: ${{secrets.NPM_TOKEN_FIRESTORE}}
NPM_TOKEN_FIRESTORE_TYPES: ${{secrets.NPM_TOKEN_FIRESTORE_TYPES}}
NPM_TOKEN_FUNCTIONS: ${{secrets.NPM_TOKEN_FUNCTIONS}}
NPM_TOKEN_FUNCTIONS_TYPES: ${{secrets.NPM_TOKEN_FUNCTIONS_TYPES}}
NPM_TOKEN_INSTALLATIONS: ${{secrets.NPM_TOKEN_INSTALLATIONS}}
NPM_TOKEN_INSTALLATIONS_TYPES: ${{secrets.NPM_TOKEN_INSTALLATIONS_TYPES}}
NPM_TOKEN_LOGGER: ${{secrets.NPM_TOKEN_LOGGER}}
NPM_TOKEN_MESSAGING: ${{secrets.NPM_TOKEN_MESSAGING}}
NPM_TOKEN_MESSAGING_TYPES: ${{secrets.NPM_TOKEN_MESSAGING_TYPES}}
NPM_TOKEN_PERFORMANCE: ${{secrets.NPM_TOKEN_PERFORMANCE}}
NPM_TOKEN_PERFORMANCE_TYPES: ${{secrets.NPM_TOKEN_PERFORMANCE_TYPES}}
NPM_TOKEN_POLYFILL: ${{secrets.NPM_TOKEN_POLYFILL}}
NPM_TOKEN_REMOTE_CONFIG: ${{secrets.NPM_TOKEN_REMOTE_CONFIG}}
NPM_TOKEN_REMOTE_CONFIG_TYPES: ${{secrets.NPM_TOKEN_REMOTE_CONFIG_TYPES}}
NPM_TOKEN_RULES_UNIT_TESTING: ${{secrets.NPM_TOKEN_RULES_UNIT_TESTING}}
NPM_TOKEN_STORAGE: ${{secrets.NPM_TOKEN_STORAGE}}
NPM_TOKEN_STORAGE_TYPES: ${{secrets.NPM_TOKEN_STORAGE_TYPES}}
NPM_TOKEN_TESTING: ${{secrets.NPM_TOKEN_TESTING}}
NPM_TOKEN_UTIL: ${{secrets.NPM_TOKEN_UTIL}}
NPM_TOKEN_WEBCHANNEL_WRAPPER: ${{secrets.NPM_TOKEN_WEBCHANNEL_WRAPPER}}
NPM_TOKEN_FIREBASE: ${{secrets.NPM_TOKEN_FIREBASE}}
NPM_TOKEN_RXFIRE: ${{secrets.NPM_TOKEN_RXFIRE}}
CI: true
Loading