@my-devkit/firebase 1.0.174 → 1.0.176
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-factory.d.ts +2 -2
- package/dist/app-factory.js +21 -9
- package/dist/app-factory.js.map +1 -1
- package/package.json +1 -1
- package/src/app-factory.ts +27 -10
package/dist/app-factory.d.ts
CHANGED
|
@@ -3,11 +3,11 @@ import { QueryDocumentSnapshot } from 'firebase-admin/firestore';
|
|
|
3
3
|
import { MemoryOption, SupportedRegion } from 'firebase-functions/v2';
|
|
4
4
|
import { FirestoreEvent } from 'firebase-functions/v2/firestore';
|
|
5
5
|
import { HttpsFunction } from 'firebase-functions/v2/https';
|
|
6
|
-
import { ScheduleFunction } from 'firebase-functions/v2/scheduler';
|
|
7
6
|
import { Bus } from './bus';
|
|
8
7
|
import { ExecutionMode } from './execution-mode-enum';
|
|
9
8
|
import { Type } from './interfaces';
|
|
10
9
|
export declare class AppFactory {
|
|
10
|
+
private static functionInRegion;
|
|
11
11
|
private static firestore;
|
|
12
12
|
private static auth;
|
|
13
13
|
private static publicPaths;
|
|
@@ -18,7 +18,7 @@ export declare class AppFactory {
|
|
|
18
18
|
static initializeApp(options: AppFactory.Options): void;
|
|
19
19
|
static createHttpsFunction(name: string, module: Type): HttpsFunction;
|
|
20
20
|
static createOnCallGenkit(name: string, flow: any): CallableFunction;
|
|
21
|
-
static createScheduledJob<C extends Command>(name: string, module: Type, schedule: string, timeZone: string, commandType: new () => C):
|
|
21
|
+
static createScheduledJob<C extends Command>(name: string, module: Type, schedule: string, timeZone: string, commandType: new () => C): import("firebase-functions/v1").CloudFunction<unknown>;
|
|
22
22
|
static createEventListener(name: string, module: Type, mode?: ExecutionMode): import("firebase-functions/core").CloudFunction<FirestoreEvent<import("firebase-functions/v2/firestore").QueryDocumentSnapshot, Record<string, string>>>;
|
|
23
23
|
private static registerEventPersisterHandler;
|
|
24
24
|
private static registerControllers;
|
package/dist/app-factory.js
CHANGED
|
@@ -15,10 +15,10 @@ const app_1 = require("firebase-admin/app");
|
|
|
15
15
|
const auth_1 = require("firebase-admin/auth");
|
|
16
16
|
const firestore_1 = require("firebase-admin/firestore");
|
|
17
17
|
const params_1 = require("firebase-functions/params");
|
|
18
|
+
const v1_1 = require("firebase-functions/v1");
|
|
18
19
|
const v2_1 = require("firebase-functions/v2");
|
|
19
20
|
const firestore_2 = require("firebase-functions/v2/firestore");
|
|
20
21
|
const https_1 = require("firebase-functions/v2/https");
|
|
21
|
-
const scheduler_1 = require("firebase-functions/v2/scheduler");
|
|
22
22
|
const bus_1 = require("./bus");
|
|
23
23
|
const constants_1 = require("./constants");
|
|
24
24
|
const context_1 = require("./context");
|
|
@@ -42,6 +42,12 @@ class AppFactory {
|
|
|
42
42
|
this.firestore.settings({});
|
|
43
43
|
this.apiKey = (0, params_1.defineSecret)('GOOGLE_GENAI_API_KEY');
|
|
44
44
|
this.auth = (0, auth_1.getAuth)(app);
|
|
45
|
+
// THIS PART SHOULD BE REMOVED ONCE COMPLETELY UPGRADED TO V2
|
|
46
|
+
const runtimeOptions = {
|
|
47
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
48
|
+
memory: '1GB'
|
|
49
|
+
};
|
|
50
|
+
this.functionInRegion = (0, v1_1.region)(this.isEmulator ? 'functions' : options.region).runWith(runtimeOptions);
|
|
45
51
|
}
|
|
46
52
|
static createHttpsFunction(name, module) {
|
|
47
53
|
if (!this.isActive(name)) {
|
|
@@ -67,7 +73,7 @@ class AppFactory {
|
|
|
67
73
|
static createOnCallGenkit(name, flow) {
|
|
68
74
|
if (!this.isActive(name))
|
|
69
75
|
return null;
|
|
70
|
-
core_1.Logger.info(`Cold start Genkit callable function ${name}
|
|
76
|
+
core_1.Logger.info(`Cold start Genkit callable function ${name}`);
|
|
71
77
|
return (0, https_1.onCallGenkit)({
|
|
72
78
|
secrets: [this.apiKey],
|
|
73
79
|
region: this.options.region,
|
|
@@ -81,13 +87,19 @@ class AppFactory {
|
|
|
81
87
|
const bus = new bus_1.Bus();
|
|
82
88
|
this.registerEventPersisterHandler(bus);
|
|
83
89
|
this.registerHandlers(bus, module);
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
// V2 gets errors on deployed environment (PERMISSION_DENIED...)
|
|
91
|
+
// return onSchedule({
|
|
92
|
+
// schedule,
|
|
93
|
+
// timeZone,
|
|
94
|
+
// memory: this.options.memory,
|
|
95
|
+
// timeoutSeconds: this.options.timeoutSeconds,
|
|
96
|
+
// region: this.options.region
|
|
97
|
+
// }, this.getFunctionCommandHandler(bus, commandType));
|
|
98
|
+
return this.functionInRegion
|
|
99
|
+
.pubsub
|
|
100
|
+
.schedule(schedule)
|
|
101
|
+
.timeZone(timeZone)
|
|
102
|
+
.onRun(this.getFunctionCommandHandler(bus, commandType));
|
|
91
103
|
}
|
|
92
104
|
static createEventListener(name, module, mode = execution_mode_enum_1.ExecutionMode.Asynchronous) {
|
|
93
105
|
if (!this.isActive(name))
|
package/dist/app-factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-factory.js","sourceRoot":"","sources":["../src/app-factory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAA4E;AAC5E,4CAAmD;AACnD,8CAAoD;AACpD,wDAA0F;AAC1F,sDAAyD;AACzD,8CAA8E;
|
|
1
|
+
{"version":3,"file":"app-factory.js","sourceRoot":"","sources":["../src/app-factory.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/app-factory.ts
CHANGED
|
@@ -3,12 +3,13 @@ import { initializeApp } from 'firebase-admin/app';
|
|
|
3
3
|
import { Auth, getAuth } from 'firebase-admin/auth';
|
|
4
4
|
import { Firestore, getFirestore, QueryDocumentSnapshot } from 'firebase-admin/firestore';
|
|
5
5
|
import { defineSecret } from 'firebase-functions/params';
|
|
6
|
+
import { FunctionBuilder, region } from 'firebase-functions/v1';
|
|
6
7
|
import { logger, MemoryOption, SupportedRegion } from 'firebase-functions/v2';
|
|
7
8
|
|
|
8
9
|
import { SecretParam } from 'firebase-functions/lib/params/types';
|
|
10
|
+
import { RuntimeOptions } from 'firebase-functions/lib/v1/function-configuration';
|
|
9
11
|
import { FirestoreEvent, onDocumentCreated } from 'firebase-functions/v2/firestore';
|
|
10
12
|
import { HttpsFunction, onCallGenkit, onRequest } from 'firebase-functions/v2/https';
|
|
11
|
-
import { onSchedule, ScheduleFunction } from 'firebase-functions/v2/scheduler';
|
|
12
13
|
import { Bus } from './bus';
|
|
13
14
|
import { MODULE_METADATA } from './constants';
|
|
14
15
|
import { Context } from './context';
|
|
@@ -19,6 +20,7 @@ import { reflect } from './reflect';
|
|
|
19
20
|
import { Server } from './server';
|
|
20
21
|
|
|
21
22
|
export class AppFactory {
|
|
23
|
+
private static functionInRegion: FunctionBuilder;
|
|
22
24
|
private static firestore: Firestore;
|
|
23
25
|
private static auth: Auth;
|
|
24
26
|
private static publicPaths: string[];
|
|
@@ -47,6 +49,14 @@ export class AppFactory {
|
|
|
47
49
|
this.apiKey = defineSecret('GOOGLE_GENAI_API_KEY');
|
|
48
50
|
|
|
49
51
|
this.auth = getAuth(app);
|
|
52
|
+
|
|
53
|
+
// THIS PART SHOULD BE REMOVED ONCE COMPLETELY UPGRADED TO V2
|
|
54
|
+
const runtimeOptions: RuntimeOptions = {
|
|
55
|
+
timeoutSeconds: options.timeoutSeconds,
|
|
56
|
+
memory: '1GB'
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
this.functionInRegion = region(this.isEmulator ? 'functions' : options.region).runWith(runtimeOptions);
|
|
50
60
|
}
|
|
51
61
|
|
|
52
62
|
public static createHttpsFunction(name: string, module: Type): HttpsFunction {
|
|
@@ -82,7 +92,7 @@ export class AppFactory {
|
|
|
82
92
|
if (!this.isActive(name))
|
|
83
93
|
return null;
|
|
84
94
|
|
|
85
|
-
Logger.info(`Cold start Genkit callable function ${name}
|
|
95
|
+
Logger.info(`Cold start Genkit callable function ${name}`);
|
|
86
96
|
|
|
87
97
|
return onCallGenkit({
|
|
88
98
|
secrets: [this.apiKey],
|
|
@@ -97,7 +107,7 @@ export class AppFactory {
|
|
|
97
107
|
schedule: string,
|
|
98
108
|
timeZone: string,
|
|
99
109
|
commandType: new () => C
|
|
100
|
-
)
|
|
110
|
+
) {
|
|
101
111
|
if (!this.isActive(name))
|
|
102
112
|
return null;
|
|
103
113
|
|
|
@@ -109,13 +119,20 @@ export class AppFactory {
|
|
|
109
119
|
|
|
110
120
|
this.registerHandlers(bus, module);
|
|
111
121
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
122
|
+
// V2 gets errors on deployed environment (PERMISSION_DENIED...)
|
|
123
|
+
// return onSchedule({
|
|
124
|
+
// schedule,
|
|
125
|
+
// timeZone,
|
|
126
|
+
// memory: this.options.memory,
|
|
127
|
+
// timeoutSeconds: this.options.timeoutSeconds,
|
|
128
|
+
// region: this.options.region
|
|
129
|
+
// }, this.getFunctionCommandHandler(bus, commandType));
|
|
130
|
+
|
|
131
|
+
return this.functionInRegion
|
|
132
|
+
.pubsub
|
|
133
|
+
.schedule(schedule)
|
|
134
|
+
.timeZone(timeZone)
|
|
135
|
+
.onRun(this.getFunctionCommandHandler(bus, commandType));
|
|
119
136
|
}
|
|
120
137
|
|
|
121
138
|
public static createEventListener(name: string, module: Type, mode: ExecutionMode = ExecutionMode.Asynchronous) {
|