@dereekb/firebase-server 9.5.3 → 9.5.4
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/CHANGELOG.md +4 -0
- package/package.json +7 -7
- package/src/lib/env/env.service.d.ts +4 -0
- package/src/lib/env/env.service.js.map +1 -1
- package/src/lib/nest/env/env.service.d.ts +7 -2
- package/src/lib/nest/env/env.service.js +8 -2
- package/src/lib/nest/env/env.service.js.map +1 -1
- package/test/CHANGELOG.md +4 -0
- package/test/package.json +10 -10
- package/test/src/lib/firebase/firebase.admin.nest.d.ts +13 -1
- package/test/src/lib/firebase/firebase.admin.nest.js +11 -1
- package/test/src/lib/firebase/firebase.admin.nest.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.5.4](https://github.com/dereekb/dbx-components/compare/v9.5.3-dev...v9.5.4) (2022-08-30)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.5.3](https://github.com/dereekb/dbx-components/compare/v9.5.2-dev...v9.5.3) (2022-08-29)
|
|
6
10
|
|
|
7
11
|
|
package/package.json
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server",
|
|
3
|
-
"version": "9.5.
|
|
3
|
+
"version": "9.5.4",
|
|
4
4
|
"devDependencies": {
|
|
5
5
|
"firebase-functions-test": "2.0.2"
|
|
6
6
|
},
|
|
7
7
|
"peerDependencies": {
|
|
8
8
|
"jsonwebtoken": "^8.0.0",
|
|
9
|
-
"@dereekb/firebase": "9.5.
|
|
9
|
+
"@dereekb/firebase": "9.5.4",
|
|
10
10
|
"rxjs": "^7.5.0",
|
|
11
11
|
"firebase": "^9.9.2",
|
|
12
|
-
"@dereekb/util": "9.5.
|
|
12
|
+
"@dereekb/util": "9.5.4",
|
|
13
13
|
"lodash.isequal": "^4.5.0",
|
|
14
14
|
"make-error": "^1.3.0",
|
|
15
15
|
"ts-essentials": "^9.1.2",
|
|
16
16
|
"extra-set": "^2.2.11",
|
|
17
|
-
"@dereekb/rxjs": "9.5.
|
|
17
|
+
"@dereekb/rxjs": "9.5.4",
|
|
18
18
|
"ms": "^3.0.0-canary.1",
|
|
19
|
-
"@dereekb/model": "9.5.
|
|
19
|
+
"@dereekb/model": "9.5.4",
|
|
20
20
|
"class-transformer": "^0.5.1",
|
|
21
21
|
"class-validator": "^0.13.2",
|
|
22
|
-
"@dereekb/date": "9.5.
|
|
22
|
+
"@dereekb/date": "9.5.4",
|
|
23
23
|
"date-fns": "^2.29.0",
|
|
24
24
|
"date-fns-tz": "^1.3.0",
|
|
25
25
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"@nestjs/common": "^9.0.0",
|
|
31
31
|
"@nestjs/core": "^9.0.0",
|
|
32
32
|
"@nestjs/platform-express": "^9.0.0",
|
|
33
|
-
"@dereekb/nestjs": "9.5.
|
|
33
|
+
"@dereekb/nestjs": "9.5.4",
|
|
34
34
|
"@nestjs/config": "^2.0.1",
|
|
35
35
|
"tslib": "^2.0.0"
|
|
36
36
|
},
|
|
@@ -7,5 +7,9 @@ export interface FirebaseServerEnvServiceRef<S extends FirebaseServerEnvService
|
|
|
7
7
|
export declare abstract class FirebaseServerEnvService {
|
|
8
8
|
abstract readonly isTestingEnv: boolean;
|
|
9
9
|
abstract readonly isProduction: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated use isDeveloperToolsEnabled instead.
|
|
12
|
+
*/
|
|
10
13
|
abstract readonly isDevelopmentToolsEnabled: boolean;
|
|
14
|
+
abstract readonly developerToolsEnabled: boolean;
|
|
11
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.service.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/env/env.service.ts"],"names":[],"mappings":";;;AAOA,MAAsB,wBAAwB;
|
|
1
|
+
{"version":3,"file":"env.service.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/env/env.service.ts"],"names":[],"mappings":";;;AAOA,MAAsB,wBAAwB;CAQ7C;AARD,4DAQC"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { FirebaseServerEnvService } from '../../env';
|
|
1
2
|
import { FirebaseServerEnvironmentConfig } from './env.config';
|
|
2
|
-
export declare class DefaultFirebaseServerEnvService {
|
|
3
|
+
export declare class DefaultFirebaseServerEnvService implements FirebaseServerEnvService {
|
|
3
4
|
readonly env: FirebaseServerEnvironmentConfig;
|
|
4
5
|
constructor(env: FirebaseServerEnvironmentConfig);
|
|
5
6
|
get isTestingEnv(): boolean;
|
|
6
7
|
get isProduction(): boolean;
|
|
7
|
-
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated use isDeveloperToolsEnabled instead.
|
|
10
|
+
*/
|
|
11
|
+
get isDevelopmentToolsEnabled(): boolean;
|
|
12
|
+
get developerToolsEnabled(): boolean;
|
|
8
13
|
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DefaultFirebaseServerEnvService = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
|
-
const env_1 = require("../../env
|
|
6
|
+
const env_1 = require("../../env");
|
|
7
7
|
const env_nest_1 = require("./env.nest");
|
|
8
8
|
let DefaultFirebaseServerEnvService = class DefaultFirebaseServerEnvService {
|
|
9
9
|
constructor(env) {
|
|
@@ -15,8 +15,14 @@ let DefaultFirebaseServerEnvService = class DefaultFirebaseServerEnvService {
|
|
|
15
15
|
get isProduction() {
|
|
16
16
|
return this.env.production;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* @deprecated use isDeveloperToolsEnabled instead.
|
|
20
|
+
*/
|
|
18
21
|
get isDevelopmentToolsEnabled() {
|
|
19
|
-
return
|
|
22
|
+
return this.developerToolsEnabled;
|
|
23
|
+
}
|
|
24
|
+
get developerToolsEnabled() {
|
|
25
|
+
return Boolean(!this.isProduction && this.env.developerToolsEnabled);
|
|
20
26
|
}
|
|
21
27
|
};
|
|
22
28
|
DefaultFirebaseServerEnvService = tslib_1.__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.service.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/env/env.service.ts"],"names":[],"mappings":";;;;AAAA,2CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"env.service.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/env/env.service.ts"],"names":[],"mappings":";;;;AAAA,2CAAoD;AACpD,mCAAoE;AAEpE,yCAAuD;AAGvD,IAAa,+BAA+B,GAA5C,MAAa,+BAA+B;IAC1C,YAAwD,GAAoC;QAApC,QAAG,GAAH,GAAG,CAAiC;IAAG,CAAC;IAEhG,IAAI,YAAY;QACd,OAAO,IAAA,mBAAa,GAAE,CAAC;IACzB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvE,CAAC;CACF,CAAA;AArBY,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;IAEE,mBAAA,IAAA,eAAM,EAAC,oCAAyB,CAAC,CAAA;;GADnC,+BAA+B,CAqB3C;AArBY,0EAA+B"}
|
package/test/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [9.5.4](https://github.com/dereekb/dbx-components/compare/v9.5.3-dev...v9.5.4) (2022-08-30)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [9.5.3](https://github.com/dereekb/dbx-components/compare/v9.5.2-dev...v9.5.3) (2022-08-29)
|
|
6
10
|
|
|
7
11
|
|
package/test/package.json
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "9.5.
|
|
3
|
+
"version": "9.5.4",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"main": "./src/index.js",
|
|
6
6
|
"typings": "./src/index.d.ts",
|
|
7
7
|
"dependencies": {},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@dereekb/firebase": "9.5.
|
|
9
|
+
"@dereekb/firebase": "9.5.4",
|
|
10
10
|
"rxjs": "^7.5.0",
|
|
11
11
|
"firebase": "^9.9.2",
|
|
12
|
-
"@dereekb/util": "9.5.
|
|
12
|
+
"@dereekb/util": "9.5.4",
|
|
13
13
|
"lodash.isequal": "^4.5.0",
|
|
14
14
|
"make-error": "^1.3.0",
|
|
15
15
|
"ts-essentials": "^9.1.2",
|
|
16
16
|
"extra-set": "^2.2.11",
|
|
17
|
-
"@dereekb/rxjs": "9.5.
|
|
17
|
+
"@dereekb/rxjs": "9.5.4",
|
|
18
18
|
"ms": "^3.0.0-canary.1",
|
|
19
|
-
"@dereekb/model": "9.5.
|
|
19
|
+
"@dereekb/model": "9.5.4",
|
|
20
20
|
"class-transformer": "^0.5.1",
|
|
21
21
|
"class-validator": "^0.13.2",
|
|
22
|
-
"@dereekb/date": "9.5.
|
|
22
|
+
"@dereekb/date": "9.5.4",
|
|
23
23
|
"date-fns": "^2.29.0",
|
|
24
24
|
"date-fns-tz": "^1.3.0",
|
|
25
25
|
"rrule": "git+https://git@github.com/dereekb/rrule#2b13b1ea881059ba2ecfec380e12ef244ef54570",
|
|
26
26
|
"@vvo/tzdb": "^6.56.0",
|
|
27
|
-
"@dereekb/util/test": "9.5.
|
|
27
|
+
"@dereekb/util/test": "9.5.4",
|
|
28
28
|
"firebase-admin": "^11.0.0",
|
|
29
29
|
"jsonwebtoken": "^8.0.0",
|
|
30
30
|
"firebase-functions": "^3.22.0",
|
|
31
31
|
"@nestjs/common": "^9.0.0",
|
|
32
32
|
"@google-cloud/firestore": "^5.0.2",
|
|
33
|
-
"@dereekb/firebase/test": "9.5.
|
|
34
|
-
"@dereekb/firebase-server": "9.5.
|
|
33
|
+
"@dereekb/firebase/test": "9.5.4",
|
|
34
|
+
"@dereekb/firebase-server": "9.5.4",
|
|
35
35
|
"@nestjs/core": "^9.0.0",
|
|
36
36
|
"@nestjs/platform-express": "^9.0.0",
|
|
37
|
-
"@dereekb/nestjs": "9.5.
|
|
37
|
+
"@dereekb/nestjs": "9.5.4",
|
|
38
38
|
"@nestjs/config": "^2.0.1",
|
|
39
39
|
"tslib": "^2.0.0"
|
|
40
40
|
}
|
|
@@ -2,7 +2,7 @@ import { AbstractChildJestTestContextFixture, JestBuildTestsWithContextFunction,
|
|
|
2
2
|
import { AbstractFirebaseAdminTestContextInstanceChild, FirebaseAdminTestContextInstance } from './firebase.admin';
|
|
3
3
|
import { Abstract, INestApplicationContext, Provider, Type } from '@nestjs/common';
|
|
4
4
|
import { StorageBucketId } from '@dereekb/firebase';
|
|
5
|
-
import { NestAppPromiseGetter } from '@dereekb/firebase-server';
|
|
5
|
+
import { FirebaseServerEnvironmentConfig, NestAppPromiseGetter } from '@dereekb/firebase-server';
|
|
6
6
|
import { TestingModule } from '@nestjs/testing';
|
|
7
7
|
import { ArrayOrValue, ClassType, Getter } from '@dereekb/util';
|
|
8
8
|
export interface FirebaseAdminNestTestContext {
|
|
@@ -37,6 +37,18 @@ export interface FirebaseAdminNestTestConfig<PI extends FirebaseAdminTestContext
|
|
|
37
37
|
* Root module to import.
|
|
38
38
|
*/
|
|
39
39
|
nestModules: ArrayOrValue<ClassType>;
|
|
40
|
+
/**
|
|
41
|
+
* Whether or not to inject the firebase env service provider (and firebaseServerEnvTokenProvider()) by default.
|
|
42
|
+
*
|
|
43
|
+
* If false will affect the default envConfig value.
|
|
44
|
+
*/
|
|
45
|
+
injectFirebaseServerEnvServiceProvider?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* (Optional) FirebaseServerEnvironmentConfig. Overrides the default which sets production=false.
|
|
48
|
+
*
|
|
49
|
+
* If injectFirebaseServerEnvServiceProvider is false then this requires a value to be provided in order to be injected.
|
|
50
|
+
*/
|
|
51
|
+
envConfig?: FirebaseServerEnvironmentConfig;
|
|
40
52
|
/**
|
|
41
53
|
* Whether or not to inject the firebase server provider (firebaseServerAppTokenProvider()).
|
|
42
54
|
*
|
|
@@ -41,7 +41,7 @@ class FirebaseAdminNestRootModule {
|
|
|
41
41
|
}
|
|
42
42
|
exports.FirebaseAdminNestRootModule = FirebaseAdminNestRootModule;
|
|
43
43
|
function firebaseAdminNestContextWithFixture(config, f, buildTests) {
|
|
44
|
-
const { nestModules, makeProviders = () => [], forceStorageBucket = false, defaultStorageBucket: inputDefaultStorageBucket, injectFirebaseServerAppTokenProvider, makeFixture = (parent) => new FirebaseAdminNestTestContextFixture(parent), makeInstance = (instance, nest) => new FirebaseAdminNestTestContextInstance(instance, nest), initInstance } = config;
|
|
44
|
+
const { nestModules, makeProviders = () => [], forceStorageBucket = false, defaultStorageBucket: inputDefaultStorageBucket, envConfig, injectFirebaseServerAppTokenProvider, injectFirebaseServerEnvServiceProvider, makeFixture = (parent) => new FirebaseAdminNestTestContextFixture(parent), makeInstance = (instance, nest) => new FirebaseAdminNestTestContextInstance(instance, nest), initInstance } = config;
|
|
45
45
|
(0, test_1.useJestContextFixture)({
|
|
46
46
|
fixture: makeFixture(f),
|
|
47
47
|
/**
|
|
@@ -55,6 +55,16 @@ function firebaseAdminNestContextWithFixture(config, f, buildTests) {
|
|
|
55
55
|
const imports = (0, util_1.asArray)(nestModules);
|
|
56
56
|
const providers = (_a = makeProviders(f.instance)) !== null && _a !== void 0 ? _a : [];
|
|
57
57
|
const defaultStorageBucket = inputDefaultStorageBucket !== null && inputDefaultStorageBucket !== void 0 ? inputDefaultStorageBucket : f.instance.app.options.storageBucket;
|
|
58
|
+
// Inject the firebaseServerEnvTokenProvider and optionally the FirebaseServerEnvService
|
|
59
|
+
if (injectFirebaseServerEnvServiceProvider !== false || envConfig != null) {
|
|
60
|
+
providers.push((0, firebase_server_1.firebaseServerEnvTokenProvider)(envConfig || { production: false }));
|
|
61
|
+
if (injectFirebaseServerEnvServiceProvider !== false) {
|
|
62
|
+
providers.push({
|
|
63
|
+
provide: firebase_server_1.FirebaseServerEnvService,
|
|
64
|
+
useClass: firebase_server_1.DefaultFirebaseServerEnvService
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
58
68
|
// Inject the firebaseServerAppTokenProvider
|
|
59
69
|
if (injectFirebaseServerAppTokenProvider) {
|
|
60
70
|
providers.push((0, firebase_server_1.firebaseServerAppTokenProvider)((0, util_1.asGetter)(f.instance.app)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.nest.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.ts"],"names":[],"mappings":";;;;AAAA,6CAAmL;AACnL,qDAAoJ;AAGpJ,
|
|
1
|
+
{"version":3,"file":"firebase.admin.nest.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.nest.ts"],"names":[],"mappings":"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"}
|