@dereekb/firebase-server 9.8.0 → 9.9.2
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 +27 -0
- package/README.md +4 -5
- package/mailgun/package.json +42 -0
- package/mailgun/src/index.d.ts +1 -0
- package/mailgun/src/index.js +5 -0
- package/mailgun/src/index.js.map +1 -0
- package/mailgun/src/lib/auth.mailgun.d.ts +17 -0
- package/mailgun/src/lib/auth.mailgun.js +35 -0
- package/mailgun/src/lib/auth.mailgun.js.map +1 -0
- package/mailgun/src/lib/index.d.ts +1 -0
- package/mailgun/src/lib/index.js +5 -0
- package/mailgun/src/lib/index.js.map +1 -0
- package/package.json +16 -11
- package/src/lib/auth/auth.service.d.ts +28 -16
- package/src/lib/auth/auth.service.js +10 -5
- package/src/lib/auth/auth.service.js.map +1 -1
- package/src/lib/env/env.service.d.ts +1 -1
- package/src/lib/env/env.service.js.map +1 -1
- package/src/lib/env/index.d.ts +0 -1
- package/src/lib/env/index.js +0 -1
- package/src/lib/env/index.js.map +1 -1
- package/src/lib/nest/app.d.ts +2 -2
- package/src/lib/nest/app.js +2 -1
- package/src/lib/nest/app.js.map +1 -1
- package/src/lib/nest/env/env.config.d.ts +3 -19
- package/src/lib/nest/env/env.nest.d.ts +7 -4
- package/src/lib/nest/env/env.nest.js +8 -10
- package/src/lib/nest/env/env.nest.js.map +1 -1
- package/src/lib/nest/env/env.service.d.ts +3 -8
- package/src/lib/nest/env/env.service.js +4 -19
- package/src/lib/nest/env/env.service.js.map +1 -1
- package/test/package.json +11 -11
- package/test/src/lib/firebase/firebase.admin.auth.d.ts +13 -1
- package/test/src/lib/firebase/firebase.admin.auth.js +21 -3
- package/test/src/lib/firebase/firebase.admin.auth.js.map +1 -1
- package/test/src/lib/firebase/firebase.admin.nest.d.ts +6 -5
- package/test/src/lib/firebase/firebase.admin.nest.js +6 -5
- package/test/src/lib/firebase/firebase.admin.nest.js.map +1 -1
- package/src/lib/env/env.d.ts +0 -4
- package/src/lib/env/env.js +0 -11
- package/src/lib/env/env.js.map +0 -1
- package/test/CHANGELOG.md +0 -553
- package/test/README.md +0 -11
|
@@ -2,33 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultFirebaseServerEnvService = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
+
const nestjs_1 = require("@dereekb/nestjs");
|
|
5
6
|
const common_1 = require("@nestjs/common");
|
|
6
|
-
|
|
7
|
-
const env_nest_1 = require("./env.nest");
|
|
8
|
-
let DefaultFirebaseServerEnvService = class DefaultFirebaseServerEnvService {
|
|
9
|
-
constructor(env) {
|
|
10
|
-
this.env = env;
|
|
11
|
-
}
|
|
12
|
-
get isTestingEnv() {
|
|
13
|
-
return (0, env_1.isTestNodeEnv)();
|
|
14
|
-
}
|
|
15
|
-
get isProduction() {
|
|
16
|
-
return this.env.production;
|
|
17
|
-
}
|
|
7
|
+
let DefaultFirebaseServerEnvService = class DefaultFirebaseServerEnvService extends nestjs_1.ServerEnvironmentService {
|
|
18
8
|
/**
|
|
19
|
-
* @deprecated use isDeveloperToolsEnabled instead.
|
|
9
|
+
* @deprecated use isDeveloperToolsEnabled instead.z
|
|
20
10
|
*/
|
|
21
11
|
get isDevelopmentToolsEnabled() {
|
|
22
12
|
return this.developerToolsEnabled;
|
|
23
13
|
}
|
|
24
|
-
get developerToolsEnabled() {
|
|
25
|
-
return Boolean(!this.isProduction && this.env.developerToolsEnabled);
|
|
26
|
-
}
|
|
27
14
|
};
|
|
28
15
|
DefaultFirebaseServerEnvService = tslib_1.__decorate([
|
|
29
|
-
(0, common_1.Injectable)()
|
|
30
|
-
tslib_1.__param(0, (0, common_1.Inject)(env_nest_1.FIREBASE_SERVER_ENV_TOKEN)),
|
|
31
|
-
tslib_1.__metadata("design:paramtypes", [Object])
|
|
16
|
+
(0, common_1.Injectable)()
|
|
32
17
|
], DefaultFirebaseServerEnvService);
|
|
33
18
|
exports.DefaultFirebaseServerEnvService = DefaultFirebaseServerEnvService;
|
|
34
19
|
//# sourceMappingURL=env.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.service.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/env/env.service.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"env.service.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/src/lib/nest/env/env.service.ts"],"names":[],"mappings":";;;;AAAA,4CAA2D;AAC3D,2CAA4C;AAI5C,IAAa,+BAA+B,GAA5C,MAAa,+BAAgC,SAAQ,iCAAwB;IAC3E;;OAEG;IACH,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;CACF,CAAA;AAPY,+BAA+B;IAD3C,IAAA,mBAAU,GAAE;GACA,+BAA+B,CAO3C;AAPY,0EAA+B"}
|
package/test/package.json
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/firebase-server/test",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.9.2",
|
|
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.
|
|
9
|
+
"@dereekb/firebase": "9.9.2",
|
|
10
10
|
"rxjs": "^7.5.0",
|
|
11
11
|
"firebase": "^9.9.2",
|
|
12
|
-
"@dereekb/util": "9.
|
|
12
|
+
"@dereekb/util": "9.9.2",
|
|
13
13
|
"lodash.isequal": "^4.5.0",
|
|
14
14
|
"make-error": "^1.3.0",
|
|
15
|
+
"class-validator": "^0.13.2",
|
|
15
16
|
"ts-essentials": "^9.1.2",
|
|
16
17
|
"extra-set": "^2.2.11",
|
|
17
|
-
"@dereekb/rxjs": "9.
|
|
18
|
+
"@dereekb/rxjs": "9.9.2",
|
|
18
19
|
"ms": "^3.0.0-canary.1",
|
|
19
|
-
"@dereekb/model": "9.
|
|
20
|
+
"@dereekb/model": "9.9.2",
|
|
20
21
|
"class-transformer": "^0.5.1",
|
|
21
|
-
"
|
|
22
|
-
"@dereekb/date": "9.8.0",
|
|
22
|
+
"@dereekb/date": "9.9.2",
|
|
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.
|
|
27
|
+
"@dereekb/util/test": "9.9.2",
|
|
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.
|
|
34
|
-
"@dereekb/firebase-server": "9.
|
|
33
|
+
"@dereekb/firebase/test": "9.9.2",
|
|
34
|
+
"@dereekb/firebase-server": "9.9.2",
|
|
35
35
|
"@nestjs/core": "^9.0.0",
|
|
36
36
|
"@nestjs/platform-express": "^9.0.0",
|
|
37
|
-
"@dereekb/nestjs": "9.
|
|
37
|
+
"@dereekb/nestjs": "9.9.2",
|
|
38
38
|
"@nestjs/config": "^2.0.1",
|
|
39
39
|
"tslib": "^2.0.0"
|
|
40
40
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FirebaseAuthUserId } from '@dereekb/firebase';
|
|
2
|
-
import { Factory, GetterOrValue, PromiseOrValue } from '@dereekb/util';
|
|
2
|
+
import { Factory, GetterOrValue, PromiseOrValue, EmailAddress, E164PhoneNumber } from '@dereekb/util';
|
|
3
3
|
import { AbstractChildJestTestContextFixture, JestTestContextFixture } from '@dereekb/util/test';
|
|
4
4
|
import { FirebaseAdminTestContext } from './firebase.admin';
|
|
5
5
|
import { CreateRequest } from 'firebase-admin/lib/auth/auth-config';
|
|
@@ -36,6 +36,10 @@ export declare class AuthorizedUserTestContextInstance<PI extends FirebaseAdminT
|
|
|
36
36
|
readonly testContext: PI;
|
|
37
37
|
constructor(uid: FirebaseAuthUserId, testContext: PI);
|
|
38
38
|
loadUserRecord(): Promise<UserRecord>;
|
|
39
|
+
loadUserEmailAndPhone(): Promise<{
|
|
40
|
+
email: EmailAddress;
|
|
41
|
+
phone?: E164PhoneNumber;
|
|
42
|
+
}>;
|
|
39
43
|
loadIdToken(): Promise<string>;
|
|
40
44
|
loadDecodedIdToken(): Promise<DecodedIdToken>;
|
|
41
45
|
makeContextOptions(): Promise<ContextOptions>;
|
|
@@ -89,11 +93,19 @@ export declare type AuthorizedUserTestContextFactoryConfig<PI extends FirebaseAd
|
|
|
89
93
|
export interface AuthorizedUserTestContextFactoryParams<PI extends FirebaseAdminTestContext = FirebaseAdminTestContext, PF extends JestTestContextFixture<PI> = JestTestContextFixture<PI>> {
|
|
90
94
|
f: PF;
|
|
91
95
|
user?: CreateRequest;
|
|
96
|
+
/**
|
|
97
|
+
* Whether or not to add contact info. Is false by default.
|
|
98
|
+
*
|
|
99
|
+
* Any generated contact info will be overwritten by the input template.
|
|
100
|
+
*/
|
|
101
|
+
addContactInfo?: boolean;
|
|
92
102
|
/**
|
|
93
103
|
* Optional template details.
|
|
94
104
|
*/
|
|
95
105
|
template?: AuthorizedUserTestContextDetailsTemplate;
|
|
96
106
|
}
|
|
107
|
+
export declare const AUTHORIZED_USER_RANDOM_EMAIL_FACTORY: import("@dereekb/util").RandomEmailFactory;
|
|
108
|
+
export declare const AUTHORIZED_USER_RANDOM_PHONE_NUMBER_FACTORY: import("@dereekb/util").RandomPhoneNumberFactory;
|
|
97
109
|
/**
|
|
98
110
|
* Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
|
|
99
111
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.testFirestoreClaimsFromUserRecord = exports.decodeEncodedCreateCustomTokenResult = exports.createEncodedTestFirestoreTokenForUserRecord = exports.createTestFirestoreTokenForUserRecord = exports.createTestFunctionContextAuthData = exports.createTestFunctionContextOptions = exports.testUidFactory = exports.authorizedUserContextFactory = exports.authorizedUserContext = exports.AuthorizedUserTestContextInstance = exports.AuthorizedUserTestContextFixture = void 0;
|
|
3
|
+
exports.testFirestoreClaimsFromUserRecord = exports.decodeEncodedCreateCustomTokenResult = exports.createEncodedTestFirestoreTokenForUserRecord = exports.createTestFirestoreTokenForUserRecord = exports.createTestFunctionContextAuthData = exports.createTestFunctionContextOptions = exports.testUidFactory = exports.authorizedUserContextFactory = exports.AUTHORIZED_USER_RANDOM_PHONE_NUMBER_FACTORY = exports.AUTHORIZED_USER_RANDOM_EMAIL_FACTORY = exports.authorizedUserContext = exports.AuthorizedUserTestContextInstance = exports.AuthorizedUserTestContextFixture = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const util_1 = require("@dereekb/util");
|
|
6
6
|
const test_1 = require("@dereekb/util/test");
|
|
@@ -35,6 +35,15 @@ class AuthorizedUserTestContextInstance {
|
|
|
35
35
|
loadUserRecord() {
|
|
36
36
|
return this.testContext.auth.getUser(this.uid);
|
|
37
37
|
}
|
|
38
|
+
loadUserEmailAndPhone() {
|
|
39
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const record = yield this.loadUserRecord();
|
|
41
|
+
return {
|
|
42
|
+
email: record.email,
|
|
43
|
+
phone: record.phoneNumber
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
}
|
|
38
47
|
loadIdToken() {
|
|
39
48
|
return this.loadUserRecord().then((record) => createEncodedTestFirestoreTokenForUserRecord(this.testContext.auth, record));
|
|
40
49
|
}
|
|
@@ -59,6 +68,8 @@ function authorizedUserContext(config, buildTests) {
|
|
|
59
68
|
authorizedUserContextFactory(config)({ f: config.f }, buildTests);
|
|
60
69
|
}
|
|
61
70
|
exports.authorizedUserContext = authorizedUserContext;
|
|
71
|
+
exports.AUTHORIZED_USER_RANDOM_EMAIL_FACTORY = (0, util_1.randomEmailFactory)();
|
|
72
|
+
exports.AUTHORIZED_USER_RANDOM_PHONE_NUMBER_FACTORY = (0, util_1.randomPhoneNumberFactory)();
|
|
62
73
|
/**
|
|
63
74
|
* Creates a new Jest Context that has a random user for authorization for use in firebase server tests.
|
|
64
75
|
*/
|
|
@@ -66,7 +77,7 @@ function authorizedUserContextFactory(config) {
|
|
|
66
77
|
const { uid: uidGetter, makeInstance = (uid, testInstance) => new AuthorizedUserTestContextInstance(uid, testInstance), makeFixture = (f) => new AuthorizedUserTestContextFixture(f), makeUserDetails = () => ({}), initUser } = config;
|
|
67
78
|
const makeUid = uidGetter ? (0, util_1.asGetter)(uidGetter) : exports.testUidFactory;
|
|
68
79
|
return (params, buildTests) => {
|
|
69
|
-
const { f, user: inputUser } = params;
|
|
80
|
+
const { f, user: inputUser, addContactInfo } = params;
|
|
70
81
|
return (0, test_1.useJestContextFixture)({
|
|
71
82
|
fixture: makeFixture(f),
|
|
72
83
|
buildTests,
|
|
@@ -74,7 +85,14 @@ function authorizedUserContextFactory(config) {
|
|
|
74
85
|
const uid = (inputUser === null || inputUser === void 0 ? void 0 : inputUser.uid) || makeUid();
|
|
75
86
|
const { details, claims } = Object.assign(Object.assign({}, makeUserDetails(uid, params)), params.template);
|
|
76
87
|
const auth = f.instance.auth;
|
|
77
|
-
|
|
88
|
+
let email;
|
|
89
|
+
let phoneNumber;
|
|
90
|
+
if (addContactInfo) {
|
|
91
|
+
email = (0, exports.AUTHORIZED_USER_RANDOM_EMAIL_FACTORY)();
|
|
92
|
+
phoneNumber = (0, exports.AUTHORIZED_USER_RANDOM_PHONE_NUMBER_FACTORY)();
|
|
93
|
+
}
|
|
94
|
+
const userRecord = yield auth.createUser(Object.assign(Object.assign({ uid, displayName: 'Test Person', email,
|
|
95
|
+
phoneNumber }, details), inputUser));
|
|
78
96
|
if (claims) {
|
|
79
97
|
yield auth.setCustomUserClaims(uid, claims);
|
|
80
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":";;;;AACA,
|
|
1
|
+
{"version":3,"file":"firebase.admin.auth.js","sourceRoot":"","sources":["../../../../../../../packages/firebase-server/test/src/lib/firebase/firebase.admin.auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,10 @@ 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 {
|
|
5
|
+
import { NestAppPromiseGetter } from '@dereekb/firebase-server';
|
|
6
6
|
import { TestingModule } from '@nestjs/testing';
|
|
7
7
|
import { ArrayOrValue, ClassType, Getter } from '@dereekb/util';
|
|
8
|
+
import { ServerEnvironmentConfig } from '@dereekb/nestjs';
|
|
8
9
|
export interface FirebaseAdminNestTestContext {
|
|
9
10
|
readonly nest: TestingModule;
|
|
10
11
|
readonly nestAppPromiseGetter: NestAppPromiseGetter;
|
|
@@ -38,17 +39,17 @@ export interface FirebaseAdminNestTestConfig<PI extends FirebaseAdminTestContext
|
|
|
38
39
|
*/
|
|
39
40
|
nestModules: ArrayOrValue<ClassType>;
|
|
40
41
|
/**
|
|
41
|
-
* Whether or not to inject the
|
|
42
|
+
* Whether or not to inject the env service provider (and serverEnvTokenProvider()) by default.
|
|
42
43
|
*
|
|
43
44
|
* If false will affect the default envConfig value.
|
|
44
45
|
*/
|
|
45
|
-
|
|
46
|
+
injectServerEnvServiceProvider?: boolean;
|
|
46
47
|
/**
|
|
47
|
-
* (Optional)
|
|
48
|
+
* (Optional) ServerEnvironmentServiceConfig. Overrides the default which sets production=false.
|
|
48
49
|
*
|
|
49
50
|
* If injectFirebaseServerEnvServiceProvider is false then this requires a value to be provided in order to be injected.
|
|
50
51
|
*/
|
|
51
|
-
envConfig?:
|
|
52
|
+
envConfig?: ServerEnvironmentConfig;
|
|
52
53
|
/**
|
|
53
54
|
* Whether or not to inject the firebase server provider (firebaseServerAppTokenProvider()).
|
|
54
55
|
*
|
|
@@ -7,6 +7,7 @@ const firebase_admin_1 = require("./firebase.admin");
|
|
|
7
7
|
const firebase_server_1 = require("@dereekb/firebase-server");
|
|
8
8
|
const testing_1 = require("@nestjs/testing");
|
|
9
9
|
const util_1 = require("@dereekb/util");
|
|
10
|
+
const nestjs_1 = require("@dereekb/nestjs");
|
|
10
11
|
class FirebaseAdminNestTestContextFixture extends test_1.AbstractChildJestTestContextFixture {
|
|
11
12
|
// MARK: Forwarded
|
|
12
13
|
get nest() {
|
|
@@ -41,7 +42,7 @@ class FirebaseAdminNestRootModule {
|
|
|
41
42
|
}
|
|
42
43
|
exports.FirebaseAdminNestRootModule = FirebaseAdminNestRootModule;
|
|
43
44
|
function firebaseAdminNestContextWithFixture(config, f, buildTests) {
|
|
44
|
-
const { nestModules, makeProviders = () => [], forceStorageBucket = false, defaultStorageBucket: inputDefaultStorageBucket, envConfig, injectFirebaseServerAppTokenProvider,
|
|
45
|
+
const { nestModules, makeProviders = () => [], forceStorageBucket = false, defaultStorageBucket: inputDefaultStorageBucket, envConfig, injectFirebaseServerAppTokenProvider, injectServerEnvServiceProvider, makeFixture = (parent) => new FirebaseAdminNestTestContextFixture(parent), makeInstance = (instance, nest) => new FirebaseAdminNestTestContextInstance(instance, nest), initInstance } = config;
|
|
45
46
|
(0, test_1.useJestContextFixture)({
|
|
46
47
|
fixture: makeFixture(f),
|
|
47
48
|
/**
|
|
@@ -55,10 +56,10 @@ function firebaseAdminNestContextWithFixture(config, f, buildTests) {
|
|
|
55
56
|
const imports = (0, util_1.asArray)(nestModules);
|
|
56
57
|
const providers = (_a = makeProviders(f.instance)) !== null && _a !== void 0 ? _a : [];
|
|
57
58
|
const defaultStorageBucket = inputDefaultStorageBucket !== null && inputDefaultStorageBucket !== void 0 ? inputDefaultStorageBucket : f.instance.app.options.storageBucket;
|
|
58
|
-
// Inject the
|
|
59
|
-
if (
|
|
60
|
-
providers.push((0,
|
|
61
|
-
if (
|
|
59
|
+
// Inject the serverEnvTokenProvider and optionally the FirebaseServerEnvService
|
|
60
|
+
if (injectServerEnvServiceProvider !== false || envConfig != null) {
|
|
61
|
+
providers.push((0, nestjs_1.serverEnvTokenProvider)(envConfig || { production: false }));
|
|
62
|
+
if (injectServerEnvServiceProvider !== false) {
|
|
62
63
|
providers.push({
|
|
63
64
|
provide: firebase_server_1.FirebaseServerEnvService,
|
|
64
65
|
useClass: firebase_server_1.DefaultFirebaseServerEnvService
|
|
@@ -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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"}
|
package/src/lib/env/env.d.ts
DELETED
package/src/lib/env/env.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isTestNodeEnv = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Checks process.env.NODE_ENV for "test"
|
|
6
|
-
*/
|
|
7
|
-
function isTestNodeEnv() {
|
|
8
|
-
return process.env.NODE_ENV === 'test';
|
|
9
|
-
}
|
|
10
|
-
exports.isTestNodeEnv = isTestNodeEnv;
|
|
11
|
-
//# sourceMappingURL=env.js.map
|
package/src/lib/env/env.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../../../packages/firebase-server/src/lib/env/env.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC;AACzC,CAAC;AAFD,sCAEC"}
|