Skip to content

Commit 131c6cd

Browse files
Merge branch 'master' into mrschmidt/unsubscribe
2 parents 9686261 + 3d43b00 commit 131c6cd

File tree

302 files changed

+16921
-5661
lines changed

Some content is hidden

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

302 files changed

+16921
-5661
lines changed

.changeset/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Changesets
2+
3+
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4+
with multi-package repos, or single-package repos to help you version and publish your code. You can
5+
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6+
7+
We have a quick list of common questions to get you started engaging with this project in
8+
[our documentation](https://github.com/changesets/changesets/blob/master/docs/common-questions.md)

.changeset/config.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
3+
"changelog": ["@changesets/changelog-github", { "repo": "firebase/firebase-js-sdk"}],
4+
"commit": false,
5+
"linked": [],
6+
"access": "restricted",
7+
"baseBranch": "master",
8+
"updateInternalDependencies": "patch",
9+
"ignore": [
10+
"firebase-browserify-test",
11+
"firebase-package-typings-test",
12+
"firebase-firestore-integration-test",
13+
"firebase-messaging-selenium-test",
14+
"firebase-typescript-test",
15+
"firebase-webpack-test",
16+
"@firebase/app-exp",
17+
"@firebase/app-types-exp",
18+
"@firebase/functions-exp",
19+
"@firebase/functions-types-exp",
20+
"firebase-exp"
21+
],
22+
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
23+
"onlyUpdatePeerDependentsWhenOutOfRange": true,
24+
"useCalculatedVersionForSnapshots": true
25+
}
26+
}

.changeset/firebsae-messaging.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
---
3+
4+
Update testing policy. Since this is neither a major nor minor update use an empty changeset.

.changeset/perfect-carpets-chew.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
3+
---

.changeset/poor-eggs-bow.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
---

.changeset/popular-beds-yell.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2+
---
3+
---

.changeset/popular-beds-yell2.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
2+
---
3+
---

.changeset/quiet-coats-type.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'firebase': minor
3+
'@firebase/firestore': minor
4+
'@firebase/firestore-types': minor
5+
---
6+
7+
Added support for `set()` with merge options when using `FirestoreDataConverter`.

.changeset/twelve-pets-joke.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
3+
---

.github/workflows/changesets.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Changeset Check
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
8+
jobs:
9+
release:
10+
name: Changeset Check
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout Repo
14+
uses: actions/checkout@master
15+
with:
16+
## fetch all history for all branches and tags, so we can compare with master
17+
fetch-depth: 0
18+
19+
- name: Setup Node.js 12.x
20+
uses: actions/setup-node@master
21+
with:
22+
node-version: 12.x
23+
24+
- name: Install Dependencies
25+
run: yarn
26+
27+
- name: Check if any Changeset file exists
28+
run: yarn changeset status --since=origin/master

.github/workflows/release.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches:
6+
- release
7+
8+
jobs:
9+
release:
10+
name: Release
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout Repo
14+
uses: actions/checkout@master
15+
with:
16+
# This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits
17+
fetch-depth: 0
18+
19+
- name: Setup Node.js 12.x
20+
uses: actions/setup-node@master
21+
with:
22+
node-version: 12.x
23+
24+
- name: Install Dependencies
25+
run: yarn
26+
27+
- name: Create Release Pull Request
28+
uses: changesets/action@master
29+
env:
30+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

CONTRIBUTING.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,40 @@ Before you start working on a larger contribution, you should get in touch with
9797
```
9898

9999
* In GitHub, send a pull request to `firebase-js-sdk:master`.
100+
* Add changeset. See [Adding changeset to PR](#adding-changeset-to-pr)
100101
* All pull requests must be reviewed by a member of the Firebase JS SDK team, who will merge it when/if they feel it is good to go.
101102

102103
That's it! Thank you for your contribution!
103104
105+
#### Adding changeset to PR
106+
Every PR that would trigger a release should include a changeset file. To make
107+
this process easy, a message will be sent to every PR with a link that you can
108+
click to add changeset files in the Github UI directly.
109+
[Example message](https://github.com/firebase/firebase-js-sdk/pull/3284#issuecomment-649718617).
110+
111+
#### What to include in the changset file
112+
113+
You should include the version bump for your package as well as the description
114+
for the change. Valid version bump types are `patch`, `minor` and `major`.
115+
Please always include the `firebase` package with the same version bump type as
116+
your package. This is to ensure that the version of the `firebase` package will
117+
be bumped correctly. For example,
118+
119+
```
120+
---
121+
"@firebase/storage": minor
122+
"firebase": minor
123+
---
124+
125+
This is a test.
126+
```
127+
128+
#### Multiple changeset files
129+
130+
If your PR touches multiple SDKs or addresses multiple issues that require
131+
different version bump or different description, you can create multiple
132+
changeset files in the PR.
133+
104134
## <a name="docs"></a> Updating Documentation
105135
106136
Reference docs for the Firebase [JS SDK](https://firebase.google.com/docs/reference/js/) and [Node (client) SDK](https://firebase.google.com/docs/reference/node/) are generated by [Typedoc](https://typedoc.org/).

common/api-review/app-exp.api.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ export function _registerComponent(component: Component): boolean;
5858
// @public
5959
export function registerVersion(libraryKeyOrName: string, version: string, variant?: string): void;
6060

61+
// @internal (undocumented)
62+
export function _removeServiceInstance<T extends Name>(app: FirebaseApp, name: T, instanceIdentifier?: string): void;
63+
6164
// @public
6265
export const SDK_VERSION: string;
6366

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
## API Report File for "@firebase/functions-exp"
2+
3+
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4+
5+
```ts
6+
7+
import { FirebaseApp } from '@firebase/app-types-exp';
8+
import { Functions } from '@firebase/functions-types-exp';
9+
import { HttpsCallable } from '@firebase/functions-types-exp';
10+
import { HttpsCallableOptions } from '@firebase/functions-types-exp';
11+
12+
// @public
13+
export function getFunctions(app: FirebaseApp, region?: string): Functions;
14+
15+
// @public
16+
export function httpsCallable(functionsInstance: Functions, name: string, options?: HttpsCallableOptions): HttpsCallable;
17+
18+
// @public
19+
export function useFunctionsEmulator(functionsInstance: Functions, origin: string): void;
20+
21+
22+
// (No @packageDocumentation comment for this package)
23+
24+
```

config/webpack.test.js

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2017 Google Inc.
3+
* Copyright 2017 Google LLC
44
*
55
* Licensed under the Apache License, Version 2.0 (the "License");
66
* you may not use this file except in compliance with the License.
@@ -18,6 +18,12 @@
1818
const path = require('path');
1919
const webpack = require('webpack');
2020

21+
/**
22+
* A regular expression used to replace Firestore's platform specific modules,
23+
* which are located under 'packages/firestore/src/platform/'.
24+
*/
25+
const FIRESTORE_PLATFORM_RE = /^(.*)\/platform\/([^.\/]*)(\.ts)?$/;
26+
2127
module.exports = {
2228
mode: 'development',
2329
devtool: 'source-map',
@@ -77,6 +83,15 @@ module.exports = {
7783
extensions: ['.js', '.ts']
7884
},
7985
plugins: [
86+
new webpack.NormalModuleReplacementPlugin(
87+
FIRESTORE_PLATFORM_RE,
88+
resource => {
89+
resource.request = resource.request.replace(
90+
FIRESTORE_PLATFORM_RE,
91+
'$1/platform/browser/$2.ts'
92+
);
93+
}
94+
),
8095
new webpack.EnvironmentPlugin([
8196
'RTDB_EMULATOR_PORT',
8297
'RTDB_EMULATOR_NAMESPACE'

integration/browserify/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@
77
"test": "karma start --single-run",
88
"test:ci": "node ../../scripts/run_tests_in_ci.js"
99
},
10-
"dependencies": {
11-
"firebase": "7.14.6"
12-
},
1310
"devDependencies": {
11+
"firebase": "7.15.5",
1412
"@babel/core": "7.9.6",
1513
"@babel/preset-env": "7.9.6",
1614
"browserify": "16.5.1",

integration/firebase-typings/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,8 @@
66
"test": "tsc",
77
"test:ci": "node ../../scripts/run_tests_in_ci.js"
88
},
9-
"dependencies": {
10-
"firebase": "7.14.6"
11-
},
129
"devDependencies": {
10+
"firebase": "7.15.5",
1311
"typescript": "3.8.3"
1412
}
1513
}

integration/firestore/gulpfile.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2017 Google Inc.
3+
* Copyright 2017 Google LLC
44
*
55
* Licensed under the Apache License, Version 2.0 (the "License");
66
* you may not use this file except in compliance with the License.
@@ -51,6 +51,7 @@ function copyTests() {
5151
testBase + '/integration/api/*.ts',
5252
testBase + '/integration/util/events_accumulator.ts',
5353
testBase + '/integration/util/helpers.ts',
54+
testBase + '/integration/util/settings.ts',
5455
testBase + '/util/equality_matcher.ts',
5556
testBase + '/util/promise.ts'
5657
],

integration/messaging/download-browsers.js

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2017 Google Inc.
3+
* Copyright 2017 Google LLC
44
*
55
* Licensed under the Apache License, Version 2.0 (the "License");
66
* you may not use this file except in compliance with the License.
@@ -18,14 +18,9 @@
1818
const seleniumAssistant = require('selenium-assistant');
1919

2020
console.log('Starting browser download - this may take some time.');
21-
Promise.all([
22-
seleniumAssistant.downloadLocalBrowser('chrome', 'stable', 48),
23-
seleniumAssistant.downloadLocalBrowser('chrome', 'beta', 48),
24-
seleniumAssistant.downloadLocalBrowser('chrome', 'unstable', 48),
25-
seleniumAssistant.downloadLocalBrowser('firefox', 'stable', 48),
26-
seleniumAssistant.downloadLocalBrowser('firefox', 'beta', 48),
27-
seleniumAssistant.downloadLocalBrowser('firefox', 'unstable', 48)
28-
])
21+
// TODO: enable firefox testing once figure out how to give notification permission with SE webdriver.
22+
// TODO: Run the integration test against multiple major chrome versions to ensure backward compatibility
23+
Promise.all([seleniumAssistant.downloadLocalBrowser('chrome', 'stable', 80)])
2924
.then(() => {
3025
console.log('Browser download complete.');
3126
})

integration/messaging/package.json

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,13 @@
44
"version": "0.2.1",
55
"scripts": {
66
"pretest:manual": "node ./download-browsers.js",
7-
"test": "echo 'Tests disabled due to flakiness'",
7+
"test": "mocha --exit",
88
"test:manual": "mocha --exit"
99
},
10-
"dependencies": {
11-
"firebase": "7.14.6"
12-
},
1310
"devDependencies": {
11+
"firebase": "7.15.5",
1412
"chai": "4.2.0",
15-
"chromedriver": "80.0.2",
13+
"chromedriver": "^83.0.0",
1614
"express": "4.17.1",
1715
"geckodriver": "1.19.1",
1816
"mocha": "7.1.2",

0 commit comments

Comments
 (0)