Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: firebase/firebase-functions
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v3.18.1
Choose a base ref
...
head repository: firebase/firebase-functions
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v3.19.0
Choose a head ref
  • 7 commits
  • 28 files changed
  • 5 contributors

Commits on Feb 18, 2022

  1. Copy the full SHA
    795a805 View commit details

Commits on Feb 23, 2022

  1. Copy the full SHA
    1629793 View commit details
  2. Copy the full SHA
    2b83e1d View commit details

Commits on Mar 4, 2022

  1. Fix handler typo in billing alerts (#1045)

    * fixing typo
    
    * changing var name & fixing describe title
    
    * updating alerttype
    colerogers authored Mar 4, 2022
    Copy the full SHA
    c09761a View commit details

Commits on Mar 7, 2022

  1. Migrate endpoint annotation eventTrigger.eventFilters to list of filt…

    …ers (#1052)
    
    Previously, `eventFilter` attribute was an object:
    
    ```
    eventTrigger: {
      eventType: "an.event",
      eventFilter: {
        resource: "my-storage-bucket",
        appId: "12345",
      }
    }
    ```
    
    We now prefer eventFilter as a list:
    
    ```
    eventTrigger: {
      eventType: "an.event",
      eventFilter: [
      {
        attribute: "resource",
        value: "my-storage-bucket",
      }.
      {
        attribute: "appId",
        value: "12345",
      }.
      ]
    }
    ```
    
    Most of the change in this PR is in tests. Few other minor changes I've squeezed in here:
    
    1. Added a changelog entry for #1037
    2. Deleted obsolete src/common/manifest.ts file
    3. Small refactoring of alerts/crashlytics spec to make this migration easier.
    taeold authored Mar 7, 2022
    Copy the full SHA
    f45e45f View commit details

Commits on Mar 11, 2022

  1. Fix bug where RTDB trigger for instances w/ "ref" in the db name were…

    … incorrectly parsed.
    
    Fixes #1055
    rhodgkins authored Mar 11, 2022
    Copy the full SHA
    0a1c7ab View commit details

Commits on Mar 16, 2022

  1. 3.19.0

    google-oss-bot committed Mar 16, 2022
    Copy the full SHA
    307fe69 View commit details
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
- Expose stack YAML via \_\_/functions.yaml endpoint instead (#1036).
- Add support for more regions and memory for v2 functions (#1037).
- Fixes bug where some RTDB instance names were incorrectly parsed (#1056).
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "firebase-functions",
"version": "3.18.1",
"version": "3.19.0",
"description": "Firebase SDK for Cloud Functions",
"keywords": [
"firebase",
@@ -149,7 +149,7 @@
"format:fix": "prettier --write '**/*.{json,md,ts,yml,yaml}'",
"lint": "tslint --config tslint.json --project tsconfig.json ",
"lint:fix": "tslint --config tslint.json --fix --project tsconfig.json",
"test": "mocha --file ./mocha/setup.ts spec/**/*.spec.ts ",
"test": "mocha --file ./mocha/setup.ts \"spec/**/*.spec.ts\"",
"test:bin": "./scripts/bin-test/run.sh"
},
"dependencies": {
7 changes: 6 additions & 1 deletion spec/runtime/loader.spec.ts
Original file line number Diff line number Diff line change
@@ -122,7 +122,12 @@ describe('extractStack', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'google.pubsub.topic.publish',
eventFilters: { resource: 'projects/my-project/topics/my-topic' },
eventFilters: [
{
attribute: 'resource',
value: 'projects/my-project/topics/my-topic',
},
],
retry: false,
},
labels: {},
36 changes: 24 additions & 12 deletions spec/v1/cloud-functions.spec.ts
Original file line number Diff line number Diff line change
@@ -62,9 +62,12 @@ describe('makeCloudFunction', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'mock.provider.mock.event',
eventFilters: {
resource: 'resource',
},
eventFilters: [
{
attribute: 'resource',
value: 'resource',
},
],
retry: false,
},
labels: {},
@@ -86,9 +89,12 @@ describe('makeCloudFunction', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'providers/provider/eventTypes/event',
eventFilters: {
resource: 'resource',
},
eventFilters: [
{
attribute: 'resource',
value: 'resource',
},
],
retry: false,
},
labels: {},
@@ -119,9 +125,12 @@ describe('makeCloudFunction', () => {
serviceAccountEmail: 'foo@google.com',
eventTrigger: {
eventType: 'mock.provider.mock.event',
eventFilters: {
resource: 'resource',
},
eventFilters: [
{
attribute: 'resource',
value: 'resource',
},
],
retry: false,
},
secretEnvironmentVariables: [{ secret: 'MY_SECRET', key: 'MY_SECRET' }],
@@ -143,9 +152,12 @@ describe('makeCloudFunction', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'mock.provider.mock.event',
eventFilters: {
resource: 'resource',
},
eventFilters: [
{
attribute: 'resource',
value: 'resource',
},
],
retry: true,
},
labels: {},
9 changes: 6 additions & 3 deletions spec/v1/providers/analytics.spec.ts
Original file line number Diff line number Diff line change
@@ -72,9 +72,12 @@ describe('Analytics Functions', () => {
expect(cloudFunction.__endpoint).to.deep.equal({
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource: 'projects/project1/events/first_open',
},
eventFilters: [
{
attribute: 'resource',
value: 'projects/project1/events/first_open',
},
],
eventType:
'providers/google.firebase.analytics/eventTypes/event.log',
retry: false,
9 changes: 6 additions & 3 deletions spec/v1/providers/auth.spec.ts
Original file line number Diff line number Diff line change
@@ -64,9 +64,12 @@ describe('Auth Functions', () => {
return {
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource: `projects/${project}`,
},
eventFilters: [
{
attribute: 'resource',
value: `projects/${project}`,
},
],
eventType: `providers/firebase.auth/eventTypes/${eventType}`,
retry: false,
},
25 changes: 22 additions & 3 deletions spec/v1/providers/database.spec.ts
Original file line number Diff line number Diff line change
@@ -45,9 +45,12 @@ describe('Database Functions', () => {
return {
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource,
},
eventFilters: [
{
attribute: 'resource',
value: resource,
},
],
eventType: `providers/google.firebase.database/eventTypes/${eventType}`,
retry: false,
},
@@ -526,6 +529,22 @@ describe('Database Functions', () => {
expect(path).to.equal('/bar');
});

it('should return the correct instance and path strings if root path is /refs', () => {
const [instance, path] = database.extractInstanceAndPath(
'projects/_/instances/foo/refs/refs'
);
expect(instance).to.equal('https://foo.firebaseio.com');
expect(path).to.equal('/refs');
});

it('should return the correct instance and path strings if a child path contain /refs', () => {
const [instance, path] = database.extractInstanceAndPath(
'projects/_/instances/foo/refs/root/refs'
);
expect(instance).to.equal('https://foo.firebaseio.com');
expect(path).to.equal('/root/refs');
});

it('should return the correct multi-region instance and path strings if domain is present', () => {
const [instance, path] = database.extractInstanceAndPath(
'projects/_/instances/foo/refs/bar',
9 changes: 6 additions & 3 deletions spec/v1/providers/firestore.spec.ts
Original file line number Diff line number Diff line change
@@ -107,9 +107,12 @@ describe('Firestore Functions', () => {
return {
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource,
},
eventFilters: [
{
attribute: 'resource',
value: resource,
},
],
eventType: `providers/cloud.firestore/eventTypes/${eventType}`,
retry: false,
},
9 changes: 6 additions & 3 deletions spec/v1/providers/pubsub.spec.ts
Original file line number Diff line number Diff line change
@@ -108,9 +108,12 @@ describe('Pubsub Functions', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'google.pubsub.topic.publish',
eventFilters: {
resource: 'projects/project1/topics/toppy',
},
eventFilters: [
{
attribute: 'resource',
value: 'projects/project1/topics/toppy',
},
],
retry: false,
},
labels: {},
9 changes: 6 additions & 3 deletions spec/v1/providers/remoteConfig.spec.ts
Original file line number Diff line number Diff line change
@@ -68,9 +68,12 @@ describe('RemoteConfig Functions', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'google.firebase.remoteconfig.update',
eventFilters: {
resource: 'projects/project1',
},
eventFilters: [
{
attribute: 'resource',
value: 'projects/project1',
},
],
retry: false,
},
labels: {},
9 changes: 6 additions & 3 deletions spec/v1/providers/storage.spec.ts
Original file line number Diff line number Diff line change
@@ -42,9 +42,12 @@ describe('Storage Functions', () => {
return {
platform: 'gcfv1',
eventTrigger: {
eventFilters: {
resource: `projects/_/buckets/${bucket}`,
},
eventFilters: [
{
attribute: 'resource',
value: `projects/_/buckets/${bucket}`,
},
],
eventType: `google.storage.object.${eventType}`,
retry: false,
},
9 changes: 6 additions & 3 deletions spec/v1/providers/testLab.spec.ts
Original file line number Diff line number Diff line change
@@ -50,9 +50,12 @@ describe('Test Lab Functions', () => {
platform: 'gcfv1',
eventTrigger: {
eventType: 'google.testing.testMatrix.complete',
eventFilters: {
resource: 'projects/project1/testMatrices/{matrix}',
},
eventFilters: [
{
attribute: 'resource',
value: 'projects/project1/testMatrices/{matrix}',
},
],
retry: false,
},
labels: {},
69 changes: 48 additions & 21 deletions spec/v2/providers/alerts/alerts.spec.ts
Original file line number Diff line number Diff line change
@@ -16,9 +16,12 @@ describe('alerts', () => {
labels: {},
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
],
retry: false,
},
});
@@ -38,10 +41,16 @@ describe('alerts', () => {
...FULL_ENDPOINT,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
appId: APPID,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
{
attribute: 'appid',
value: APPID,
},
],
retry: false,
},
});
@@ -72,9 +81,12 @@ describe('alerts', () => {
labels: {},
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
],
retry: false,
},
});
@@ -87,9 +99,12 @@ describe('alerts', () => {
...FULL_ENDPOINT,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
],
retry: false,
},
});
@@ -102,10 +117,16 @@ describe('alerts', () => {
...FULL_ENDPOINT,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
appId: APPID,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
{
attribute: 'appid',
value: APPID,
},
],
retry: false,
},
});
@@ -132,10 +153,16 @@ describe('alerts', () => {
minInstances: 3,
eventTrigger: {
eventType: alerts.eventType,
eventFilters: {
alertType: ALERT_TYPE,
appId: APPID,
},
eventFilters: [
{
attribute: 'alerttype',
value: ALERT_TYPE,
},
{
attribute: 'appid',
value: APPID,
},
],
retry: false,
},
});
Loading