@stamhoofd/backend-env 2.85.4 → 2.86.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,7 +1,7 @@
1
1
  declare function load(settings?: {
2
2
  path?: string;
3
- service?: 'redirecter' | 'api' | 'admin' | 'renderer' | 'backup';
4
- }): void;
3
+ service?: 'redirecter' | 'api' | 'renderer' | 'backup';
4
+ }): Promise<void>;
5
5
  export declare function signInternal(...content: string[]): string;
6
6
  export declare function verifyInternalSignature(signature: string, ...content: string[]): boolean;
7
7
  declare const _default: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,iBAAS,IAAI,CAAC,QAAQ,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAA;CAAE,QAyC3G;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":"AAeA,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,iBA4DvG;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"}
package/dist/index.js CHANGED
@@ -5,9 +5,33 @@ exports.verifyInternalSignature = verifyInternalSignature;
5
5
  const tslib_1 = require("tslib");
6
6
  const crypto_1 = tslib_1.__importDefault(require("crypto"));
7
7
  const fs_1 = tslib_1.__importDefault(require("fs"));
8
- function load(settings) {
8
+ const fs_2 = require("fs");
9
+ const chalk_1 = tslib_1.__importDefault(require("chalk"));
10
+ async function fileExists(path) {
11
+ try {
12
+ await fs_2.promises.access(path);
13
+ return true;
14
+ }
15
+ catch {
16
+ return false;
17
+ }
18
+ }
19
+ async function load(settings) {
20
+ let env;
21
+ if (!settings?.path && (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') && process.env.STAMHOOFD_ENV) {
22
+ const builder = await Promise.resolve().then(() => tslib_1.__importStar(require('@stamhoofd/build-development-env')));
23
+ env = await builder.build(process.env.STAMHOOFD_ENV ?? '', {
24
+ backend: settings?.service ?? 'api',
25
+ });
26
+ if (await fileExists(settings?.path ?? '.env.json')) {
27
+ console.warn(chalk_1.default.red('Warning: please delete your local .env.json file, as it is not used in development any longer.'));
28
+ }
29
+ }
30
+ else {
31
+ env = JSON.parse(fs_1.default.readFileSync(settings?.path ?? '.env.json', 'utf-8'));
32
+ }
9
33
  // Read environment from file: .env.json
10
- global.STAMHOOFD = JSON.parse(fs_1.default.readFileSync(settings?.path ?? '.env.json', 'utf-8'));
34
+ global.STAMHOOFD = env;
11
35
  // Mapping out environment for dependencies that need environment variables
12
36
  process.env.NODE_ENV = STAMHOOFD.environment === 'production' ? 'production' : 'development';
13
37
  if (settings?.service === 'redirecter') {
@@ -27,6 +51,9 @@ function load(settings) {
27
51
  throw new Error('Expected environment variable translationNamespace');
28
52
  }
29
53
  }
54
+ if (!STAMHOOFD.DB_DATABASE) {
55
+ throw new Error('Expected environment variable DB_DATABASE');
56
+ }
30
57
  // Database
31
58
  process.env.DB_DATABASE = STAMHOOFD.DB_DATABASE + '';
32
59
  process.env.DB_HOST = STAMHOOFD.DB_HOST + '';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AA8CA,oCAEC;AAED,0DAGC;;AArDD,4DAA4B;AAC5B,oDAAoB;AAEpB,SAAS,IAAI,CAAC,QAA8F;IACxG,wCAAwC;IACvC,MAAc,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,IAAI,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhG,2EAA2E;IAC3E,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;IAE7F,IAAI,QAAQ,EAAE,OAAO,KAAK,YAAY,EAAE,CAAC;QACrC,OAAO;IACX,CAAC;IACD,IAAI,QAAQ,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;QACnC,OAAO;IACX,CAAC;IAED,IAAI,QAAQ,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC9D,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAED,WAAW;IACX,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,GAAG,EAAE,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;IAE7C,MAAM;IACN,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,GAAG,EAAE,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,SAAS,CAAC,qBAAqB,GAAG,EAAE,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC;IAEnD,WAAW;IACX,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,MAAM,CAAC;AAChD,CAAC;AAED,SAAgB,YAAY,CAAC,GAAG,OAAiB;IAC7C,OAAO,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxI,CAAC;AAED,SAAgB,uBAAuB,CAAC,SAAiB,EAAE,GAAG,OAAiB;IAC3E,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9C,OAAO,gBAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,kBAAe;IACX,IAAI;IACJ,YAAY;IACZ,uBAAuB;CAC1B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/backend-env",
3
- "version": "2.85.4",
3
+ "version": "2.86.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -15,5 +15,5 @@
15
15
  "publishConfig": {
16
16
  "access": "public"
17
17
  },
18
- "gitHead": "ecceacc395d167a6761f1425e77cfc06a31fe8a9"
18
+ "gitHead": "e7db435d283a81bee4f7d26c2ccc61ee1df0524c"
19
19
  }
package/src/index.ts CHANGED
@@ -1,9 +1,36 @@
1
1
  import crypto from 'crypto';
2
2
  import fs from 'fs';
3
+ import { promises } from 'fs';
4
+ import chalk from 'chalk';
5
+
6
+ async function fileExists(path: string): Promise<boolean> {
7
+ try {
8
+ await promises.access(path);
9
+ return true;
10
+ }
11
+ catch {
12
+ return false;
13
+ }
14
+ }
15
+
16
+ async function load(settings?: { path?: string; service?: 'redirecter' | 'api' | 'renderer' | 'backup' }) {
17
+ let env: any;
18
+ if (!settings?.path && (!process.env.NODE_ENV || process.env.NODE_ENV === 'development') && process.env.STAMHOOFD_ENV) {
19
+ const builder = await import('@stamhoofd/build-development-env');
20
+ env = await builder.build(process.env.STAMHOOFD_ENV ?? '', {
21
+ backend: settings?.service ?? 'api',
22
+ });
23
+
24
+ if (await fileExists(settings?.path ?? '.env.json')) {
25
+ console.warn(chalk.red('Warning: please delete your local .env.json file, as it is not used in development any longer.'));
26
+ }
27
+ }
28
+ else {
29
+ env = JSON.parse(fs.readFileSync(settings?.path ?? '.env.json', 'utf-8'));
30
+ }
3
31
 
4
- function load(settings?: { path?: string; service?: 'redirecter' | 'api' | 'admin' | 'renderer' | 'backup' }) {
5
32
  // Read environment from file: .env.json
6
- (global as any).STAMHOOFD = JSON.parse(fs.readFileSync(settings?.path ?? '.env.json', 'utf-8'));
33
+ (global as any).STAMHOOFD = env;
7
34
 
8
35
  // Mapping out environment for dependencies that need environment variables
9
36
  process.env.NODE_ENV = STAMHOOFD.environment === 'production' ? 'production' : 'development';
@@ -29,6 +56,10 @@ function load(settings?: { path?: string; service?: 'redirecter' | 'api' | 'admi
29
56
  }
30
57
  }
31
58
 
59
+ if (!STAMHOOFD.DB_DATABASE) {
60
+ throw new Error('Expected environment variable DB_DATABASE');
61
+ }
62
+
32
63
  // Database
33
64
  process.env.DB_DATABASE = STAMHOOFD.DB_DATABASE + '';
34
65
  process.env.DB_HOST = STAMHOOFD.DB_HOST + '';