@stamhoofd/backend-env 2.119.0 → 2.120.0
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/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -22
- package/dist/index.js.map +1 -1
- package/package.json +6 -5
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/index.ts +0 -97
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare function load(settings?: {
|
|
1
|
+
export declare function load(settings?: {
|
|
2
2
|
path?: string;
|
|
3
3
|
service?: 'redirecter' | 'api' | 'renderer' | 'backup';
|
|
4
4
|
}): Promise<void>;
|
|
@@ -6,8 +6,6 @@ export declare function signInternal(...content: string[]): string;
|
|
|
6
6
|
export declare function verifyInternalSignature(signature: string, ...content: string[]): boolean;
|
|
7
7
|
declare const _default: {
|
|
8
8
|
load: typeof load;
|
|
9
|
-
signInternal: typeof signInternal;
|
|
10
|
-
verifyInternalSignature: typeof verifyInternalSignature;
|
|
11
9
|
};
|
|
12
10
|
export default _default;
|
|
13
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,wBAAsB,IAAI,CAAC,QAAQ,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAA;CAAE,iBAqE9G;AAED,wBAAgB,YAAY,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,UAEhD;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,WAG9E;;;;AAED,wBAEE"}
|
package/dist/index.js
CHANGED
|
@@ -1,39 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
exports.verifyInternalSignature = verifyInternalSignature;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
-
const crypto_1 = tslib_1.__importDefault(require("crypto"));
|
|
8
|
-
const fs_1 = tslib_1.__importStar(require("fs"));
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import crypto from 'crypto';
|
|
3
|
+
import fs, { promises } from 'fs';
|
|
9
4
|
async function fileExists(path) {
|
|
10
5
|
try {
|
|
11
|
-
await
|
|
6
|
+
await promises.access(path);
|
|
12
7
|
return true;
|
|
13
8
|
}
|
|
14
9
|
catch {
|
|
15
10
|
return false;
|
|
16
11
|
}
|
|
17
12
|
}
|
|
18
|
-
async function load(settings) {
|
|
13
|
+
export async function load(settings) {
|
|
19
14
|
let env;
|
|
20
15
|
if (process.env.NODE_ENV && process.env.NODE_ENV === 'test') {
|
|
21
16
|
// Force load the cjs version of test-utils because the esm version gives issues with the json environment
|
|
22
|
-
const builder = await
|
|
23
|
-
|
|
17
|
+
const builder = await import('@stamhoofd/test-utils');
|
|
18
|
+
builder.TestUtils.loadEnvironment();
|
|
24
19
|
env = STAMHOOFD;
|
|
25
20
|
}
|
|
26
21
|
else if (!settings?.path && (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') && process.env.STAMHOOFD_ENV) {
|
|
27
|
-
const builder = await
|
|
22
|
+
const builder = await import('@stamhoofd/build-development-env');
|
|
28
23
|
env = await builder.build(process.env.STAMHOOFD_ENV ?? '', {
|
|
29
24
|
backend: settings?.service ?? 'api',
|
|
30
25
|
});
|
|
31
26
|
if (await fileExists(settings?.path ?? '.env.json')) {
|
|
32
|
-
console.warn(
|
|
27
|
+
console.warn(chalk.red('Warning: please delete your local .env.json file, as it is not used in development any longer.'));
|
|
33
28
|
}
|
|
34
29
|
}
|
|
35
30
|
else {
|
|
36
|
-
env = JSON.parse(
|
|
31
|
+
env = JSON.parse(fs.readFileSync(settings?.path ?? '.env.json', 'utf-8'));
|
|
37
32
|
}
|
|
38
33
|
// Read environment from file: .env.json
|
|
39
34
|
global.STAMHOOFD = env;
|
|
@@ -47,6 +42,7 @@ async function load(settings) {
|
|
|
47
42
|
}
|
|
48
43
|
if (settings?.service === 'api') {
|
|
49
44
|
if (!STAMHOOFD.domains) {
|
|
45
|
+
console.error('env', env);
|
|
50
46
|
throw new Error('Expected environment variable domains');
|
|
51
47
|
}
|
|
52
48
|
if (!STAMHOOFD.userMode || !['platform', 'organization'].includes(STAMHOOFD.userMode)) {
|
|
@@ -64,6 +60,7 @@ async function load(settings) {
|
|
|
64
60
|
process.env.DB_HOST = STAMHOOFD.DB_HOST + '';
|
|
65
61
|
process.env.DB_PASS = STAMHOOFD.DB_PASS + '';
|
|
66
62
|
process.env.DB_USER = STAMHOOFD.DB_USER + '';
|
|
63
|
+
process.env.DB_CHARSET = 'utf8mb4_0900_ai_ci';
|
|
67
64
|
// AWS
|
|
68
65
|
process.env.AWS_ACCESS_KEY_ID = STAMHOOFD.AWS_ACCESS_KEY_ID + '';
|
|
69
66
|
process.env.AWS_SECRET_ACCESS_KEY = STAMHOOFD.AWS_SECRET_ACCESS_KEY + '';
|
|
@@ -71,16 +68,14 @@ async function load(settings) {
|
|
|
71
68
|
// Database
|
|
72
69
|
process.env.DB_MULTIPLE_STATEMENTS = 'true';
|
|
73
70
|
}
|
|
74
|
-
function signInternal(...content) {
|
|
75
|
-
return
|
|
71
|
+
export function signInternal(...content) {
|
|
72
|
+
return crypto.createHmac('sha256', Buffer.from(STAMHOOFD.INTERNAL_SECRET_KEY, 'base64')).update(content.join(';')).digest('base64');
|
|
76
73
|
}
|
|
77
|
-
function verifyInternalSignature(signature, ...content) {
|
|
74
|
+
export function verifyInternalSignature(signature, ...content) {
|
|
78
75
|
const newSignature = signInternal(...content);
|
|
79
|
-
return
|
|
76
|
+
return crypto.timingSafeEqual(Buffer.from(signature, 'base64'), Buffer.from(newSignature, 'base64'));
|
|
80
77
|
}
|
|
81
|
-
|
|
78
|
+
export default {
|
|
82
79
|
load,
|
|
83
|
-
signInternal,
|
|
84
|
-
verifyInternalSignature,
|
|
85
80
|
};
|
|
86
81
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamhoofd/backend-env",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"
|
|
3
|
+
"version": "2.120.0",
|
|
4
|
+
"type": "module",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
|
+
"main": "./dist/index.js",
|
|
6
7
|
"license": "UNLICENCED",
|
|
7
8
|
"sideEffects": false,
|
|
8
9
|
"files": [
|
|
9
|
-
"src",
|
|
10
10
|
"dist"
|
|
11
11
|
],
|
|
12
12
|
"scripts": {
|
|
13
|
-
"build": "tsc
|
|
13
|
+
"build": "tsc --build tsconfig.build.json",
|
|
14
|
+
"lint": "eslint"
|
|
14
15
|
},
|
|
15
16
|
"publishConfig": {
|
|
16
17
|
"access": "public"
|
|
17
18
|
},
|
|
18
|
-
"gitHead": "
|
|
19
|
+
"gitHead": "f38f79c15ce16b0c8c14743ff3eb61feda5a18d4"
|
|
19
20
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../../../../environment.d.ts","../../../../jest-extended.d.ts","../../../stamhoofd.d.ts"],"version":"5.8.3"}
|
package/src/index.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import chalk from 'chalk';
|
|
2
|
-
import crypto from 'crypto';
|
|
3
|
-
import fs, { promises } from 'fs';
|
|
4
|
-
|
|
5
|
-
async function fileExists(path: string): Promise<boolean> {
|
|
6
|
-
try {
|
|
7
|
-
await promises.access(path);
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
catch {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
async function load(settings?: { path?: string; service?: 'redirecter' | 'api' | 'renderer' | 'backup' }) {
|
|
16
|
-
let env: any;
|
|
17
|
-
|
|
18
|
-
if (process.env.NODE_ENV && process.env.NODE_ENV === 'test') {
|
|
19
|
-
// Force load the cjs version of test-utils because the esm version gives issues with the json environment
|
|
20
|
-
const builder = await import('@stamhoofd/test-utils');
|
|
21
|
-
await builder.TestUtils.loadEnvironment();
|
|
22
|
-
env = STAMHOOFD;
|
|
23
|
-
}
|
|
24
|
-
else if (!settings?.path && (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') && process.env.STAMHOOFD_ENV) {
|
|
25
|
-
const builder = await import('@stamhoofd/build-development-env');
|
|
26
|
-
env = await builder.build(process.env.STAMHOOFD_ENV ?? '', {
|
|
27
|
-
backend: settings?.service ?? 'api',
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
if (await fileExists(settings?.path ?? '.env.json')) {
|
|
31
|
-
console.warn(chalk.red('Warning: please delete your local .env.json file, as it is not used in development any longer.'));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
env = JSON.parse(fs.readFileSync(settings?.path ?? '.env.json', 'utf-8'));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Read environment from file: .env.json
|
|
39
|
-
(global as any).STAMHOOFD = env;
|
|
40
|
-
|
|
41
|
-
// Mapping out environment for dependencies that need environment variables
|
|
42
|
-
process.env.NODE_ENV = STAMHOOFD.environment === 'production' ? 'production' : 'development';
|
|
43
|
-
|
|
44
|
-
if (settings?.service === 'redirecter') {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
if (settings?.service === 'renderer') {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
if (settings?.service === 'api') {
|
|
52
|
-
if (!STAMHOOFD.domains) {
|
|
53
|
-
throw new Error('Expected environment variable domains');
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (!STAMHOOFD.userMode || !['platform', 'organization'].includes(STAMHOOFD.userMode)) {
|
|
57
|
-
throw new Error('Expected environment variable userMode');
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
if (!STAMHOOFD.translationNamespace) {
|
|
61
|
-
throw new Error('Expected environment variable translationNamespace');
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (!STAMHOOFD.DB_DATABASE) {
|
|
66
|
-
throw new Error('Expected environment variable DB_DATABASE');
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Database
|
|
70
|
-
process.env.DB_DATABASE = STAMHOOFD.DB_DATABASE + '';
|
|
71
|
-
process.env.DB_HOST = STAMHOOFD.DB_HOST + '';
|
|
72
|
-
process.env.DB_PASS = STAMHOOFD.DB_PASS + '';
|
|
73
|
-
process.env.DB_USER = STAMHOOFD.DB_USER + '';
|
|
74
|
-
|
|
75
|
-
// AWS
|
|
76
|
-
process.env.AWS_ACCESS_KEY_ID = STAMHOOFD.AWS_ACCESS_KEY_ID + '';
|
|
77
|
-
process.env.AWS_SECRET_ACCESS_KEY = STAMHOOFD.AWS_SECRET_ACCESS_KEY + '';
|
|
78
|
-
process.env.AWS_REGION = STAMHOOFD.AWS_REGION + '';
|
|
79
|
-
|
|
80
|
-
// Database
|
|
81
|
-
process.env.DB_MULTIPLE_STATEMENTS = 'true';
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export function signInternal(...content: string[]) {
|
|
85
|
-
return crypto.createHmac('sha256', Buffer.from(STAMHOOFD.INTERNAL_SECRET_KEY, 'base64')).update(content.join(';')).digest('base64');
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export function verifyInternalSignature(signature: string, ...content: string[]) {
|
|
89
|
-
const newSignature = signInternal(...content);
|
|
90
|
-
return crypto.timingSafeEqual(Buffer.from(signature, 'base64'), Buffer.from(newSignature, 'base64'));
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export default {
|
|
94
|
-
load,
|
|
95
|
-
signInternal,
|
|
96
|
-
verifyInternalSignature,
|
|
97
|
-
};
|