extensions icon indicating copy to clipboard operation
extensions copied to clipboard

🐛 [firestore-bigquery-export] Version 0.1.57 fails to install in functions project

Open aronsuarez opened this issue 10 months ago • 2 comments

[REQUIRED] Step 2: Describe your configuration

  • Extension name: firestore-bigquery-export
  • Extension version: 0.1.57

[REQUIRED] Step 3: Describe the problem

I install the extension via "firebase ext:sdk:install firebase/firestore-bigquery-export" the build steps fail, because the event callback functions are existing twice in the code.

Go back to 0.1.56 solves the issue.

Steps to reproduce:

Install the plugin in a firebase functions project with "firebase ext:sdk:install firebase/firestore-bigquery-export"

Expected result

Extension will be installed

Actual result

Build step fails

aronsuarez avatar Feb 03 '25 11:02 aronsuarez

Hi there, do you have the exact error message you recieved?

cabljac avatar Feb 11 '25 15:02 cabljac

No, because I'm now on 0.1.56 but I can share the functions that existing twice on 0.1.57 when the package is generated

This is the file path: generated > extensions > firebase > firestore-bigquery-export > 0.1.57 > index.ts

This functions existing twice in the index.ts file when I install 0.1.57, even when i delete the generated folder.

/**
   * Occurs when a trigger has been called within the Extension, and will include data such as the context of the trigger request.
   */
  onStart<T = unknown>(callback: EventCallback<T>, options?: SimpleEventarcTriggerOptions) {
    this.events.push("firebase.extensions.firestore-counter.v1.onStart");
    return onCustomEventPublished({
        ...options,
        "eventType": "firebase.extensions.firestore-counter.v1.onStart",
        "channel": `projects/locations/${this.params._EVENT_ARC_REGION}/channels/firebase`,
        "region": `${this.params._EVENT_ARC_REGION}`
    },
    callback);
  }

  /**
   * Occurs when image resizing completes successfully. The event will contain further details about specific formats and sizes.
   */
  onSuccess<T = unknown>(callback: EventCallback<T>, options?: SimpleEventarcTriggerOptions) {
    this.events.push("firebase.extensions.firestore-counter.v1.onSuccess");
    return onCustomEventPublished({
        ...options,
        "eventType": "firebase.extensions.firestore-counter.v1.onSuccess",
        "channel": `projects/locations/${this.params._EVENT_ARC_REGION}/channels/firebase`,
        "region": `${this.params._EVENT_ARC_REGION}`
    },
    callback);
  }

  /**
   * Occurs when an issue has been experienced in the Extension. This will include any error data that has been included within the Error Exception.
   */
  onError<T = unknown>(callback: EventCallback<T>, options?: SimpleEventarcTriggerOptions) {
    this.events.push("firebase.extensions.firestore-counter.v1.onError");
    return onCustomEventPublished({
        ...options,
        "eventType": "firebase.extensions.firestore-counter.v1.onError",
        "channel": `projects/locations/${this.params._EVENT_ARC_REGION}/channels/firebase`,
        "region": `${this.params._EVENT_ARC_REGION}`
    },
    callback);
  }

  /**
   * Occurs when the function is settled. Provides no customized data other than the context.
   */
  onCompletion<T = unknown>(callback: EventCallback<T>, options?: SimpleEventarcTriggerOptions) {
    this.events.push("firebase.extensions.firestore-counter.v1.onCompletion");
    return onCustomEventPublished({
        ...options,
        "eventType": "firebase.extensions.firestore-counter.v1.onCompletion",
        "channel": `projects/locations/${this.params._EVENT_ARC_REGION}/channels/firebase`,
        "region": `${this.params._EVENT_ARC_REGION}`
    },
    callback);
  }

I hope this helps

aronsuarez avatar Feb 22 '25 21:02 aronsuarez