Skip to content

Commit 93001ef

Browse files
Merge
2 parents 75d91ff + f0f6d74 commit 93001ef

File tree

405 files changed

+18153
-6908
lines changed

Some content is hidden

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

405 files changed

+18153
-6908
lines changed

.changeset/big-cooks-drum.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@firebase/firestore': minor
3+
'firebase': minor
4+
---
5+
6+
Fix exports field to also point to Node ESM builds. This change requires Node.js version 10+.

.changeset/breezy-mangos-refuse.md

-5
This file was deleted.

.changeset/brown-dog-twirl.md

-5
This file was deleted.

.changeset/config.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
"firebase-compat-interop-test",
1717
"firebase-compat-typings-test",
1818
"@firebase/changelog-generator",
19-
"firebase-size-analysis"
19+
"firebase-size-analysis",
20+
"@firebase/api-documenter",
21+
"firebase-repo-scripts-prune-dts"
2022
],
2123
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
2224
"onlyUpdatePeerDependentsWhenOutOfRange": true,

.changeset/cyan-eagles-carry.md

-5
This file was deleted.

.changeset/dry-toes-hammer.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@firebase/auth-compat": minor
3+
"@firebase/auth": minor,
4+
"firebase": minor
5+
---
6+
7+
Fix behavior on subsequent calls to `getRedirectResult()`

.changeset/fresh-ways-think.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/auth": patch
3+
---
4+
5+
Fix the public `AuthError` typing, and update the `MultiFactorError` implementation to follow the new standard (all fields listed under `customData`)

.changeset/olive-coats-deliver.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/auth": patch
3+
---
4+
5+
Add the attribute `aria-hidden="true"` to the embedded iframe

.changeset/quiet-wolves-sing.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/auth": patch
3+
---
4+
5+
Make the library resilient against localStorage and sessionStorage permissions errors

.changeset/selfish-tools-obey.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"firebase": patch
3+
---
4+
5+
Fix compatability layer errors that were being thrown in Safari

.changeset/slimy-penguins-itch.md

-5
This file was deleted.

.changeset/small-scissors-try.md

-5
This file was deleted.

.changeset/stale-cows-leave.md

-5
This file was deleted.

.changeset/tasty-readers-check.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@firebase/firestore": patch
3+
---
4+
5+
Change the networking API to use XHR instead of `fetch()` for ReactNative.

.changeset/tender-pumpkins-love.md

-5
This file was deleted.

.github/CODEOWNERS

+5-3
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,10 @@
2525
# (secret team to avoid review requests)
2626
#
2727
# - @schmidt-sebastian
28-
# - @wilhuff
29-
# - @var-const
30-
# - @zxu123
28+
# - @thebrianchen
29+
# - @wu-hui
30+
# - @ehsannas
31+
# - @dconeybe
3132

3233

3334
# These owners will be the default owners for everything in the repo.
@@ -40,6 +41,7 @@ packages/database-types @schmidt-sebastian @jsdt @firebase/jssdk-global-approver
4041

4142
# Firestore Code
4243
packages/firestore @firebase/firestore-js-team @firebase/jssdk-global-approvers
44+
packages/firestore-compat @firebase/firestore-js-team @firebase/jssdk-global-approvers
4345
packages/webchannel-wrapper @firebase/firestore-js-team @firebase/jssdk-global-approvers
4446
packages/firestore-types @firebase/firestore-js-team @firebase/jssdk-global-approvers
4547
integration/firestore @firebase/firestore-js-team @firebase/jssdk-global-approvers

.github/workflows/canary-deploy.yml

+15
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches:
66
- master
7+
workflow_dispatch:
78

89
jobs:
910
deploy:
@@ -60,4 +61,18 @@ jobs:
6061
NPM_TOKEN_UTIL: ${{secrets.NPM_TOKEN_UTIL}}
6162
NPM_TOKEN_WEBCHANNEL_WRAPPER: ${{secrets.NPM_TOKEN_WEBCHANNEL_WRAPPER}}
6263
NPM_TOKEN_FIREBASE: ${{secrets.NPM_TOKEN_FIREBASE}}
64+
NPM_TOKEN_APP_COMPAT: ${{ secrets.NPM_TOKEN_APP_COMPAT }}
65+
NPM_TOKEN_INSTALLATIONS_COMPAT: ${{ secrets.NPM_TOKEN_INSTALLATIONS_COMPAT }}
66+
NPM_TOKEN_ANALYTICS_COMPAT: ${{ secrets.NPM_TOKEN_ANALYTICS_COMPAT }}
67+
NPM_TOKEN_AUTH_COMPAT: ${{ secrets.NPM_TOKEN_AUTH_COMPAT }}
68+
NPM_TOKEN_MESSAGING_INTEROP_TYPES: ${{ secrets.NPM_TOKEN_MESSAGING_INTEROP_TYPES }}
69+
NPM_TOKEN_FUNCTIONS_COMPAT: ${{ secrets.NPM_TOKEN_FUNCTIONS_COMPAT }}
70+
NPM_TOKEN_MESSAGING_COMPAT: ${{ secrets.NPM_TOKEN_MESSAGING_COMPAT }}
71+
NPM_TOKEN_PERFORMANCE_COMPAT: ${{ secrets.NPM_TOKEN_PERFORMANCE_COMPAT }}
72+
NPM_TOKEN_REMOTE_CONFIG_COMPAT: ${{ secrets.NPM_TOKEN_REMOTE_CONFIG_COMPAT }}
73+
NPM_TOKEN_DATABASE_COMPAT: ${{ secrets.NPM_TOKEN_DATABASE_COMPAT }}
74+
NPM_TOKEN_FIRESTORE_COMPAT: ${{ secrets.NPM_TOKEN_FIRESTORE_COMPAT }}
75+
NPM_TOKEN_STORAGE_COMPAT: ${{ secrets.NPM_TOKEN_STORAGE_COMPAT }}
76+
NPM_TOKEN_APP_CHECK_COMPAT: ${{ secrets.NPM_TOKEN_APP_CHECK_COMPAT }}
77+
NPM_TOKEN_API_DOCUMENTER: ${{ secrets.NPM_TOKEN_API_DOCUMENTER }}
6378
CI: true

.github/workflows/check-changeset.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ jobs:
2424
- name: Yarn install
2525
run: yarn
2626
- name: Run changeset script
27-
run: yarn ts-node-script scripts/ci/check_changeset.ts
27+
# pull master so changeset can diff against it
28+
run: |
29+
git pull -f --no-rebase origin master:master
30+
yarn ts-node-script scripts/ci/check_changeset.ts
2831
id: check-changeset
2932
- name: Print changeset checker output
3033
run: echo "${{steps.check-changeset.outputs.CHANGESET_ERROR_MESSAGE}}"

.github/workflows/e2e-test.yml

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: E2E Smoke Tests
2+
3+
# Allows REST trigger. Currently triggered by release-cli script during a staging run.
4+
on:
5+
workflow_dispatch:
6+
inputs:
7+
versionOrTag:
8+
description: 'release version or tag'
9+
required: true
10+
default: 'next'
11+
12+
jobs:
13+
test:
14+
name: Run E2E Smoke Tests
15+
runs-on: ubuntu-latest
16+
defaults:
17+
run:
18+
# Run any command steps in the /e2e subdir
19+
working-directory: './e2e'
20+
21+
steps:
22+
- name: Checkout Repo
23+
uses: actions/checkout@master
24+
- name: Set up Node (12)
25+
uses: actions/setup-node@v2
26+
with:
27+
node-version: 12.x
28+
- name: install Chrome stable
29+
run: |
30+
sudo apt-get update
31+
sudo apt-get install google-chrome-stable
32+
- name: Bump Node memory limit
33+
run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV
34+
- name: Write project config
35+
env:
36+
PROJECT_CONFIG: ${{ secrets.TEST_PROJECT_CONFIG }}
37+
TEST_ACCOUNT: ${{ secrets.TEST_ACCOUNT }}
38+
run: |
39+
echo "export const config = $PROJECT_CONFIG; export const testAccount = $TEST_ACCOUNT" > firebase-config.js
40+
- name: Yarn install
41+
run: |
42+
echo "Installing firebase@${{ github.event.inputs.versionOrTag }}"
43+
yarn add firebase@${{ github.event.inputs.versionOrTag }}
44+
yarn
45+
- name: Deploy "callTest" cloud function
46+
run: |
47+
pushd functions
48+
npm install
49+
popd
50+
npx firebase-tools deploy --only functions:callTest --project jscore-sandbox-141b5 --token $FIREBASE_CLI_TOKEN
51+
working-directory: ./config
52+
env:
53+
FIREBASE_CLI_TOKEN: ${{ secrets.FIREBASE_CLI_TOKEN }}
54+
- name: Run modular tests
55+
env:
56+
APP_CHECK_DEBUG_TOKEN: ${{ secrets.APP_CHECK_DEBUG_TOKEN }}
57+
run: xvfb-run yarn test:modular
58+
- name: Run compat tests
59+
env:
60+
APP_CHECK_DEBUG_TOKEN: ${{ secrets.APP_CHECK_DEBUG_TOKEN }}
61+
run: xvfb-run yarn test:compat
62+
- name: Tests succeeded
63+
if: success()
64+
run: node scripts/ci/notify-test-result.js success
65+
env:
66+
WEBHOOK_URL: ${{ secrets.JSCORE_CHAT_WEBHOOK_URL }}
67+
# run in root
68+
working-directory: '.'
69+
- name: Tests failed
70+
if: failure()
71+
run: node scripts/ci/notify-test-result.js fail
72+
env:
73+
WEBHOOK_URL: ${{ secrets.JSCORE_CHAT_WEBHOOK_URL }}
74+
# run in root
75+
working-directory: '.'

.github/workflows/format.yml

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Formatting Check (Run yarn format locally if this fails)
2+
3+
on: pull_request
4+
5+
env:
6+
GITHUB_PULL_REQUEST_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
7+
GITHUB_PULL_REQUEST_BASE_SHA: ${{ github.event.pull_request.base.sha }}
8+
9+
jobs:
10+
format:
11+
name: Run license and prettier formatting tasks
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout Repo
16+
uses: actions/checkout@master
17+
with:
18+
# get all history for the diff
19+
fetch-depth: 0
20+
- name: Set up Node (14)
21+
uses: actions/setup-node@v2
22+
with:
23+
node-version: 14.x
24+
- name: Yarn install
25+
run: yarn
26+
- name: Run formatting script
27+
run: yarn format
28+
- name: Check for changes (fail if so)
29+
run: git diff --exit-code
30+
- name: Formatting needs to be updated. See message below.
31+
if: ${{ failure() }}
32+
run: echo "Something was changed by formatting. Run \`yarn format\` locally to do a prettier/license pass. Use \`yarn format --help\` to see options."

.github/workflows/label-doc-changes.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
- name: Print if doc changed output
3030
run: echo "${{steps.check-doc-changes.outputs.DOC_CHANGED}}"
3131
- name: Add label if there are doc changes
32-
uses: actions-ecosystem/[email protected].0
32+
uses: actions-ecosystem/[email protected].3
3333
if: ${{steps.check-doc-changes.outputs.DOC_CHANGED == 'true'}}
3434
with:
3535
labels: doc-changes

.github/workflows/prerelease-manual-deploy.yml

+14
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,19 @@ jobs:
6464
NPM_TOKEN_UTIL: ${{secrets.NPM_TOKEN_UTIL}}
6565
NPM_TOKEN_WEBCHANNEL_WRAPPER: ${{secrets.NPM_TOKEN_WEBCHANNEL_WRAPPER}}
6666
NPM_TOKEN_FIREBASE: ${{secrets.NPM_TOKEN_FIREBASE}}
67+
NPM_TOKEN_APP_COMPAT: ${{ secrets.NPM_TOKEN_APP_COMPAT }}
68+
NPM_TOKEN_INSTALLATIONS_COMPAT: ${{ secrets.NPM_TOKEN_INSTALLATIONS_COMPAT }}
69+
NPM_TOKEN_ANALYTICS_COMPAT: ${{ secrets.NPM_TOKEN_ANALYTICS_COMPAT }}
70+
NPM_TOKEN_AUTH_COMPAT: ${{ secrets.NPM_TOKEN_AUTH_COMPAT }}
71+
NPM_TOKEN_MESSAGING_INTEROP_TYPES: ${{ secrets.NPM_TOKEN_MESSAGING_INTEROP_TYPES }}
72+
NPM_TOKEN_FUNCTIONS_COMPAT: ${{ secrets.NPM_TOKEN_FUNCTIONS_COMPAT }}
73+
NPM_TOKEN_MESSAGING_COMPAT: ${{ secrets.NPM_TOKEN_MESSAGING_COMPAT }}
74+
NPM_TOKEN_PERFORMANCE_COMPAT: ${{ secrets.NPM_TOKEN_PERFORMANCE_COMPAT }}
75+
NPM_TOKEN_REMOTE_CONFIG_COMPAT: ${{ secrets.NPM_TOKEN_REMOTE_CONFIG_COMPAT }}
76+
NPM_TOKEN_DATABASE_COMPAT: ${{ secrets.NPM_TOKEN_DATABASE_COMPAT }}
77+
NPM_TOKEN_FIRESTORE_COMPAT: ${{ secrets.NPM_TOKEN_FIRESTORE_COMPAT }}
78+
NPM_TOKEN_STORAGE_COMPAT: ${{ secrets.NPM_TOKEN_STORAGE_COMPAT }}
79+
NPM_TOKEN_APP_CHECK_COMPAT: ${{ secrets.NPM_TOKEN_APP_CHECK_COMPAT }}
80+
NPM_TOKEN_API_DOCUMENTER: ${{ secrets.NPM_TOKEN_API_DOCUMENTER }}
6781
CI: true
6882

.github/workflows/release-log.yml

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Log Release PR
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- release
7+
- v8-releasebranch
8+
9+
jobs:
10+
release:
11+
name: Send PR number to tracker endpoint
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout Repo
15+
uses: actions/checkout@master
16+
17+
- name: Setup Node.js 14.x
18+
uses: actions/setup-node@master
19+
with:
20+
node-version: 14.x
21+
22+
- name: Get PR number and send to tracker.
23+
run: node scripts/ci/log-changesets.js

.github/workflows/release.yml

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
name: Release
22

3-
on:
4-
push:
5-
branches:
6-
- release
3+
on: push
74

85
jobs:
96
release:
7+
if: github.ref == 'refs/heads/release' || endsWith(github.ref, '-releasebranch')
108
name: Release
119
runs-on: ubuntu-latest
1210
steps:
@@ -25,7 +23,10 @@ jobs:
2523
run: yarn
2624

2725
- name: Add a changeset for @firebase/app
28-
run: yarn ts-node-script scripts/ci/add_changeset.ts
26+
# pull master so changeset can diff against it
27+
run: |
28+
git pull -f --no-rebase origin master:master
29+
yarn ts-node-script scripts/ci/add_changeset.ts
2930
3031
- name: Create Release Pull Request
3132
uses: changesets/action@master

.github/workflows/test-all.yml

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
11
name: Test All Packages
22

33
on: push
4+
env:
5+
# make chromedriver detect installed Chrome version and download the corresponding driver
6+
DETECT_CHROMEDRIVER_VERSION: true
47

58
jobs:
69
test:
710
name: Node.js and Browser (Chrome) Tests
811
runs-on: ubuntu-latest
912

1013
steps:
14+
# install Chrome first, so the correct version of webdriver can be installed by chromedriver when setting up the repo
15+
- name: install Chrome stable
16+
run: |
17+
sudo apt-get update
18+
sudo apt-get install google-chrome-stable
1119
- uses: actions/checkout@v2
1220
- name: Set up Node (14)
1321
uses: actions/setup-node@v2
1422
with:
1523
node-version: 14.x
16-
- name: install Chrome stable
17-
run: |
18-
sudo apt-get update
19-
sudo apt-get install google-chrome-stable
2024
- name: Bump Node memory limit
2125
run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV
2226
- name: Test setup and yarn install

0 commit comments

Comments
 (0)