@stamhoofd/backend-env 2.118.1 → 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 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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,iBAAe,IAAI,CAAC,QAAQ,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,QAAQ,CAAA;CAAE,iBAmEvG;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,wBAIE"}
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
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.signInternal = signInternal;
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 fs_1.promises.access(path);
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 Promise.resolve().then(() => tslib_1.__importStar(require('@stamhoofd/test-utils')));
23
- await builder.TestUtils.loadEnvironment();
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 Promise.resolve().then(() => tslib_1.__importStar(require('@stamhoofd/build-development-env')));
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(chalk_1.default.red('Warning: please delete your local .env.json file, as it is not used in development any longer.'));
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(fs_1.default.readFileSync(settings?.path ?? '.env.json', 'utf-8'));
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 crypto_1.default.createHmac('sha256', Buffer.from(STAMHOOFD.INTERNAL_SECRET_KEY, 'base64')).update(content.join(';')).digest('base64');
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 crypto_1.default.timingSafeEqual(Buffer.from(signature, 'base64'), Buffer.from(newSignature, 'base64'));
76
+ return crypto.timingSafeEqual(Buffer.from(signature, 'base64'), Buffer.from(newSignature, 'base64'));
80
77
  }
81
- exports.default = {
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":"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"}
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.118.1",
4
- "main": "./dist/index.js",
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 -b"
13
+ "build": "tsc --build tsconfig.build.json",
14
+ "lint": "eslint"
14
15
  },
15
16
  "publishConfig": {
16
17
  "access": "public"
17
18
  },
18
- "gitHead": "7461e7ca17f68233be8a8acf1943f2d7882244fd"
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
- };