@contember/engine-server 1.2.0-alpha.9 → 1.2.0-beta.1
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/src/MasterContainer.d.ts +6 -6
- package/dist/src/MasterContainer.d.ts.map +1 -1
- package/dist/src/MasterContainer.js +10 -13
- package/dist/src/MasterContainer.js.map +1 -1
- package/dist/src/bootstrap/Initializer.d.ts.map +1 -1
- package/dist/src/bootstrap/Initializer.js +3 -15
- package/dist/src/bootstrap/Initializer.js.map +1 -1
- package/dist/src/config/configSchema.d.ts +81 -0
- package/dist/src/config/configSchema.d.ts.map +1 -1
- package/dist/src/config/configSchema.js +16 -2
- package/dist/src/config/configSchema.js.map +1 -1
- package/dist/src/config/configTemplate.d.ts.map +1 -1
- package/dist/src/config/configTemplate.js +29 -24
- package/dist/src/config/configTemplate.js.map +1 -1
- package/dist/src/project/ProjectContainer.d.ts +8 -2
- package/dist/src/project/ProjectContainer.d.ts.map +1 -1
- package/dist/src/project/ProjectContainer.js +20 -5
- package/dist/src/project/ProjectContainer.js.map +1 -1
- package/dist/src/project/ProjectContainerResolver.d.ts +2 -3
- package/dist/src/project/ProjectContainerResolver.d.ts.map +1 -1
- package/dist/src/project/ProjectContainerResolver.js +3 -4
- package/dist/src/project/ProjectContainerResolver.js.map +1 -1
- package/dist/src/project/ProjectInitializer.d.ts +3 -2
- package/dist/src/project/ProjectInitializer.d.ts.map +1 -1
- package/dist/src/project/ProjectInitializer.js +3 -3
- package/dist/src/project/ProjectInitializer.js.map +1 -1
- package/dist/src/project/ProjectSchemaResolver.d.ts +2 -7
- package/dist/src/project/ProjectSchemaResolver.d.ts.map +1 -1
- package/dist/src/project/ProjectSchemaResolver.js +2 -16
- package/dist/src/project/ProjectSchemaResolver.js.map +1 -1
- package/dist/src/projectGroup/ProjectGroupContainer.d.ts +3 -1
- package/dist/src/projectGroup/ProjectGroupContainer.d.ts.map +1 -1
- package/dist/src/projectGroup/ProjectGroupContainer.js +10 -8
- package/dist/src/projectGroup/ProjectGroupContainer.js.map +1 -1
- package/dist/src/start.js +16 -13
- package/dist/src/start.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/src/utils/sentry.d.ts +8 -9
- package/dist/src/utils/sentry.d.ts.map +1 -1
- package/dist/src/utils/sentry.js +44 -29
- package/dist/src/utils/sentry.js.map +1 -1
- package/dist/src/utils/serverStartup.d.ts +3 -1
- package/dist/src/utils/serverStartup.d.ts.map +1 -1
- package/dist/src/utils/serverStartup.js +49 -12
- package/dist/src/utils/serverStartup.js.map +1 -1
- package/dist/src/utils/serverTermination.d.ts +2 -1
- package/dist/src/utils/serverTermination.d.ts.map +1 -1
- package/dist/src/utils/serverTermination.js +4 -6
- package/dist/src/utils/serverTermination.js.map +1 -1
- package/dist/tests/cases/configResolver.test.d.ts +2 -0
- package/dist/tests/cases/configResolver.test.d.ts.map +1 -0
- package/dist/tests/cases/configResolver.test.js +67 -0
- package/dist/tests/cases/configResolver.test.js.map +1 -0
- package/dist/tests/src/tester.js +2 -2
- package/dist/tests/src/tester.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -21
- package/src/MasterContainer.ts +17 -15
- package/src/bootstrap/Initializer.ts +3 -16
- package/src/config/configSchema.ts +44 -21
- package/src/config/configTemplate.ts +29 -24
- package/src/project/ProjectContainer.ts +23 -4
- package/src/project/ProjectContainerResolver.ts +4 -4
- package/src/project/ProjectInitializer.ts +4 -3
- package/src/project/ProjectSchemaResolver.ts +1 -18
- package/src/projectGroup/ProjectGroupContainer.ts +12 -7
- package/src/start.ts +24 -17
- package/src/tsconfig.json +6 -15
- package/src/utils/sentry.ts +45 -35
- package/src/utils/serverStartup.ts +46 -10
- package/src/utils/serverTermination.ts +5 -6
- package/tests/cases/configResolver.test.ts +67 -0
- package/tests/src/tester.ts +1 -1
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { LogEntry, LoggerHandler, LogLevel } from '@contember/logger';
|
|
2
|
+
export declare class SentryLoggerHandler implements LoggerHandler {
|
|
3
|
+
private readonly logLevel;
|
|
4
|
+
constructor(logLevel: LogLevel);
|
|
5
|
+
getMinLevel(): number;
|
|
6
|
+
handle(entry: LogEntry): void;
|
|
7
|
+
close(): void;
|
|
8
8
|
}
|
|
9
|
-
export declare const
|
|
10
|
-
export {};
|
|
9
|
+
export declare const createSentryLoggerHandler: (dsn?: string) => null | LoggerHandler;
|
|
11
10
|
//# sourceMappingURL=sentry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../../src/utils/sentry.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"sentry.d.ts","sourceRoot":"","sources":["../../../src/utils/sentry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAa,MAAM,mBAAmB,CAAA;AAEhF,qBAAa,mBAAoB,YAAW,aAAa;IAEvD,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAIpC,WAAW,IAAI,MAAM;IAIrB,MAAM,CAAC,KAAK,EAAE,QAAQ;IA0BtB,KAAK,IAAI,IAAI;CAEb;AAED,eAAO,MAAM,yBAAyB,SAAU,MAAM,KAAG,IAAI,GAAG,aAW/D,CAAA"}
|
package/dist/src/utils/sentry.js
CHANGED
|
@@ -23,43 +23,58 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.createSentryLoggerHandler = exports.SentryLoggerHandler = void 0;
|
|
27
27
|
const Sentry = __importStar(require("@sentry/node"));
|
|
28
|
-
const
|
|
28
|
+
const engine_http_1 = require("@contember/engine-http");
|
|
29
|
+
const logger_1 = require("@contember/logger");
|
|
30
|
+
class SentryLoggerHandler {
|
|
31
|
+
constructor(logLevel) {
|
|
32
|
+
this.logLevel = logLevel;
|
|
33
|
+
}
|
|
34
|
+
getMinLevel() {
|
|
35
|
+
return this.logLevel.value;
|
|
36
|
+
}
|
|
37
|
+
handle(entry) {
|
|
38
|
+
if (!entry.error || entry.level.value < this.logLevel.value) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
Sentry.captureException(entry.error, scope => {
|
|
42
|
+
var _a, _b, _c;
|
|
43
|
+
scope.setTag('project', (_a = entry.loggerAttributes.project) !== null && _a !== void 0 ? _a : entry.ownAttributes.project);
|
|
44
|
+
scope.setTag('module', (_b = entry.loggerAttributes.module) !== null && _b !== void 0 ? _b : entry.ownAttributes.module);
|
|
45
|
+
scope.setLevel('error');
|
|
46
|
+
scope.setUser({
|
|
47
|
+
id: (_c = entry.loggerAttributes.user) !== null && _c !== void 0 ? _c : entry.ownAttributes.user,
|
|
48
|
+
});
|
|
49
|
+
scope.setExtra('requestId', entry.loggerAttributes.requestId);
|
|
50
|
+
scope.addEventProcessor(event => {
|
|
51
|
+
var _a, _b;
|
|
52
|
+
return {
|
|
53
|
+
...event,
|
|
54
|
+
request: {
|
|
55
|
+
url: (_a = entry.loggerAttributes.url) !== null && _a !== void 0 ? _a : entry.ownAttributes.url,
|
|
56
|
+
data: (_b = entry.loggerAttributes[engine_http_1.LoggerRequestSymbol]) === null || _b === void 0 ? void 0 : _b.body,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
return scope;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
close() {
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.SentryLoggerHandler = SentryLoggerHandler;
|
|
67
|
+
const createSentryLoggerHandler = (dsn) => {
|
|
29
68
|
if (!dsn) {
|
|
30
|
-
return;
|
|
69
|
+
return null;
|
|
31
70
|
}
|
|
32
|
-
// eslint-disable-next-line no-console
|
|
33
|
-
console.log(`Intializing sentry with dsn: ${dsn}`);
|
|
34
71
|
Sentry.init({
|
|
35
72
|
dsn: dsn,
|
|
36
73
|
integrations: integrations => {
|
|
37
74
|
return integrations.filter(integration => integration.name !== 'Console' && integration.name !== 'Http');
|
|
38
75
|
},
|
|
39
76
|
});
|
|
77
|
+
return new SentryLoggerHandler(logger_1.LogLevels.warn);
|
|
40
78
|
};
|
|
41
|
-
exports.
|
|
42
|
-
const logSentryError = (error, context) => {
|
|
43
|
-
Sentry.withScope(scope => {
|
|
44
|
-
if (context.project) {
|
|
45
|
-
scope.setTag('project', context.project);
|
|
46
|
-
}
|
|
47
|
-
scope.setTag('module', context.module);
|
|
48
|
-
scope.setLevel('error');
|
|
49
|
-
scope.setUser({
|
|
50
|
-
id: context.user,
|
|
51
|
-
});
|
|
52
|
-
scope.addEventProcessor(event => {
|
|
53
|
-
return {
|
|
54
|
-
...event,
|
|
55
|
-
request: {
|
|
56
|
-
url: context.url,
|
|
57
|
-
data: context.body,
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
});
|
|
61
|
-
Sentry.captureException(error);
|
|
62
|
-
});
|
|
63
|
-
};
|
|
64
|
-
exports.logSentryError = logSentryError;
|
|
79
|
+
exports.createSentryLoggerHandler = createSentryLoggerHandler;
|
|
65
80
|
//# sourceMappingURL=sentry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../../src/utils/sentry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAsC;
|
|
1
|
+
{"version":3,"file":"sentry.js","sourceRoot":"","sources":["../../../src/utils/sentry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAsC;AACtC,wDAA4D;AAC5D,8CAAgF;AAEhF,MAAa,mBAAmB;IAC/B,YACkB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAEpC,CAAC;IAED,WAAW;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC3B,CAAC;IAED,MAAM,CAAC,KAAe;QACrB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YAC5D,OAAM;SACN;QACD,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;;YAC5C,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,MAAA,KAAK,CAAC,gBAAgB,CAAC,OAAO,mCAAI,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YACtF,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAA,KAAK,CAAC,gBAAgB,CAAC,MAAM,mCAAI,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAA;YACnF,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YACvB,KAAK,CAAC,OAAO,CAAC;gBACb,EAAE,EAAE,MAAA,KAAK,CAAC,gBAAgB,CAAC,IAAI,mCAAI,KAAK,CAAC,aAAa,CAAC,IAAI;aAC3D,CAAC,CAAA;YACF,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAA;YAE7D,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;;gBAC/B,OAAO;oBACN,GAAG,KAAK;oBACR,OAAO,EAAE;wBACR,GAAG,EAAE,MAAA,KAAK,CAAC,gBAAgB,CAAC,GAAG,mCAAI,KAAK,CAAC,aAAa,CAAC,GAAG;wBAC1D,IAAI,EAAE,MAAA,KAAK,CAAC,gBAAgB,CAAC,iCAAmB,CAAC,0CAAE,IAAI;qBACvD;iBACD,CAAA;YACF,CAAC,CAAC,CAAA;YACF,OAAO,KAAK,CAAA;QACb,CAAC,CAAC,CAAA;IACH,CAAC;IAED,KAAK;IACL,CAAC;CACD;AAtCD,kDAsCC;AAEM,MAAM,yBAAyB,GAAG,CAAC,GAAY,EAAwB,EAAE;IAC/E,IAAI,CAAC,GAAG,EAAE;QACT,OAAO,IAAI,CAAA;KACX;IACD,MAAM,CAAC,IAAI,CAAC;QACX,GAAG,EAAE,GAAG;QACR,YAAY,EAAE,YAAY,CAAC,EAAE;YAC5B,OAAO,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,CAAA;QACzG,CAAC;KACD,CAAC,CAAA;IACF,OAAO,IAAI,mBAAmB,CAAC,kBAAS,CAAC,IAAI,CAAC,CAAA;AAC/C,CAAC,CAAA;AAXY,QAAA,yBAAyB,6BAWrC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Plugin } from '@contember/engine-plugins';
|
|
2
2
|
import { Type } from '@contember/typesafe';
|
|
3
|
+
import { Logger } from '@contember/logger';
|
|
3
4
|
export declare const getServerVersion: () => string;
|
|
4
5
|
export declare const isDebugMode: () => boolean;
|
|
5
6
|
export declare const printStartInfo: ({ version, isDebug }: {
|
|
6
7
|
version: string;
|
|
7
8
|
isDebug: boolean;
|
|
8
|
-
}) => void;
|
|
9
|
+
}, logger: Logger) => void;
|
|
9
10
|
export declare const resolveServerConfig: <T extends {
|
|
10
11
|
readonly port: number;
|
|
11
12
|
readonly http: {
|
|
@@ -28,4 +29,5 @@ export declare const resolveServerConfig: <T extends {
|
|
|
28
29
|
projectConfigResolver: import("../config/projectConfigResolver").ProjectConfigResolver;
|
|
29
30
|
tenantConfigResolver: import("..").TenantConfigResolver;
|
|
30
31
|
}>;
|
|
32
|
+
export declare const createDefaultLogger: () => Logger;
|
|
31
33
|
//# sourceMappingURL=serverStartup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverStartup.d.ts","sourceRoot":"","sources":["../../../src/utils/serverStartup.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"serverStartup.d.ts","sourceRoot":"","sources":["../../../src/utils/serverStartup.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEnE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAC1C,OAAO,EAAyC,MAAM,EAAuC,MAAM,mBAAmB,CAAA;AAEtH,eAAO,MAAM,gBAAgB,QAAO,MAKnC,CAAA;AAED,eAAO,MAAM,WAAW,QAAO,OAAiD,CAAA;AAEhF,eAAO,MAAM,cAAc;aAAqC,MAAM;aAAW,OAAO;WAAY,MAAM,SAOzG,CAAA;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;aAA8E,MAAM,EAAE;;;;;;EAcrH,CAAA;AAED,eAAO,MAAM,mBAAmB,QAAO,MAqCtC,CAAA"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveServerConfig = exports.printStartInfo = exports.isDebugMode = exports.getServerVersion = void 0;
|
|
4
|
-
const
|
|
3
|
+
exports.createDefaultLogger = exports.resolveServerConfig = exports.printStartInfo = exports.isDebugMode = exports.getServerVersion = void 0;
|
|
4
|
+
const node_path_1 = require("node:path");
|
|
5
5
|
const config_1 = require("../config/config");
|
|
6
|
+
const logger_1 = require("@contember/logger");
|
|
6
7
|
const getServerVersion = () => {
|
|
7
|
-
const packageJsonFile = process.env.CONTEMBER_PACKAGE_JSON || (0,
|
|
8
|
+
const packageJsonFile = process.env.CONTEMBER_PACKAGE_JSON || (0, node_path_1.join)(__dirname, '../../../package.json');
|
|
8
9
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
9
10
|
const version = require(packageJsonFile).version;
|
|
10
11
|
return version;
|
|
@@ -12,16 +13,12 @@ const getServerVersion = () => {
|
|
|
12
13
|
exports.getServerVersion = getServerVersion;
|
|
13
14
|
const isDebugMode = () => process.env.NODE_ENV === 'development';
|
|
14
15
|
exports.isDebugMode = isDebugMode;
|
|
15
|
-
const printStartInfo = ({ version, isDebug }) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
// eslint-disable-next-line no-console
|
|
19
|
-
console.log(`NODE_ENV is set to ${process.env.NODE_ENV}`);
|
|
16
|
+
const printStartInfo = ({ version, isDebug }, logger) => {
|
|
17
|
+
logger.info(`Starting Contember ${version}`);
|
|
18
|
+
logger.info(`NODE_ENV is set to ${process.env.NODE_ENV}`);
|
|
20
19
|
if (isDebug) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// eslint-disable-next-line no-console
|
|
24
|
-
console.log('NEVER USE debug mode in production environment');
|
|
20
|
+
logger.warn('Starting Contember in debug mode');
|
|
21
|
+
logger.warn('NEVER USE debug mode in production environment');
|
|
25
22
|
}
|
|
26
23
|
};
|
|
27
24
|
exports.printStartInfo = printStartInfo;
|
|
@@ -39,4 +36,44 @@ const resolveServerConfig = async ({ plugins, serverConfigSchema }) => {
|
|
|
39
36
|
return await (0, config_1.readConfig)(configSources, configProcessors, serverConfigSchema);
|
|
40
37
|
};
|
|
41
38
|
exports.resolveServerConfig = resolveServerConfig;
|
|
39
|
+
const createDefaultLogger = () => {
|
|
40
|
+
var _a, _b;
|
|
41
|
+
const isDebug = (0, exports.isDebugMode)();
|
|
42
|
+
const loggerType = (_a = process.env.CONTEMBER_LOGGER_FORMAT) !== null && _a !== void 0 ? _a : (isDebug ? 'pretty' : 'json');
|
|
43
|
+
const stream = process.stderr;
|
|
44
|
+
const handler = loggerType === 'pretty'
|
|
45
|
+
? new logger_1.PrettyPrintLoggerHandler(stream, {
|
|
46
|
+
formatters: {
|
|
47
|
+
pid: () => undefined,
|
|
48
|
+
loggerId: () => undefined,
|
|
49
|
+
uri: ({ attributes, chalk }) => {
|
|
50
|
+
const color = attributes.status === undefined
|
|
51
|
+
? chalk.cyan
|
|
52
|
+
: attributes.status < 300
|
|
53
|
+
? chalk.green
|
|
54
|
+
: chalk.yellowBright;
|
|
55
|
+
const timeInfo = attributes.totalTimeMs !== undefined ? ` ${attributes.totalTimeMs}ms` : '';
|
|
56
|
+
const statusInfo = attributes.status !== undefined ? ` [${attributes.status}]` : '';
|
|
57
|
+
return { line: color(`${attributes.method}${statusInfo} ${attributes.uri}${timeInfo} ${chalk.white.dim('#' + attributes.requestId)}`) };
|
|
58
|
+
},
|
|
59
|
+
method: () => undefined,
|
|
60
|
+
requestId: () => undefined,
|
|
61
|
+
timeLabel: () => undefined,
|
|
62
|
+
status: () => undefined,
|
|
63
|
+
totalTimeMs: () => undefined,
|
|
64
|
+
events: ({ formattedValue }) => formattedValue === '[]' ? undefined : formattedValue,
|
|
65
|
+
},
|
|
66
|
+
})
|
|
67
|
+
: new logger_1.JsonStreamLoggerHandler(stream);
|
|
68
|
+
const logLevel = (_b = process.env.CONTEMBER_LOGGER_LEVEL) !== null && _b !== void 0 ? _b : 'info';
|
|
69
|
+
return (0, logger_1.createLogger)(handler, {
|
|
70
|
+
pid: process.pid,
|
|
71
|
+
loggerId: Math.random().toString().substring(2),
|
|
72
|
+
}, {
|
|
73
|
+
fingerCrossedOptions: {
|
|
74
|
+
logAlwaysLevel: logger_1.LogLevels[logLevel],
|
|
75
|
+
},
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
exports.createDefaultLogger = createDefaultLogger;
|
|
42
79
|
//# sourceMappingURL=serverStartup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverStartup.js","sourceRoot":"","sources":["../../../src/utils/serverStartup.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"serverStartup.js","sourceRoot":"","sources":["../../../src/utils/serverStartup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Logger } from '@contember/logger';
|
|
1
2
|
declare const signals: {
|
|
2
3
|
SIGHUP: number;
|
|
3
4
|
SIGINT: number;
|
|
@@ -7,6 +8,6 @@ export declare type TerminationJob = (args: {
|
|
|
7
8
|
signal: keyof typeof signals;
|
|
8
9
|
code: number;
|
|
9
10
|
}) => Promise<void>;
|
|
10
|
-
export declare const listenOnProcessTermination: (jobs: TerminationJob[]) => void;
|
|
11
|
+
export declare const listenOnProcessTermination: (jobs: TerminationJob[], logger: Logger) => void;
|
|
11
12
|
export {};
|
|
12
13
|
//# sourceMappingURL=serverTermination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverTermination.d.ts","sourceRoot":"","sources":["../../../src/utils/serverTermination.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serverTermination.d.ts","sourceRoot":"","sources":["../../../src/utils/serverTermination.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE1C,QAAA,MAAM,OAAO;;;;CAIZ,CAAA;AACD,oBAAY,cAAc,GAAG,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,OAAO,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AACpG,eAAO,MAAM,0BAA0B,SAAU,cAAc,EAAE,UAAU,MAAM,SAShF,CAAA"}
|
|
@@ -4,20 +4,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.listenOnProcessTermination = void 0;
|
|
7
|
-
const
|
|
7
|
+
const node_cluster_1 = __importDefault(require("node:cluster"));
|
|
8
8
|
const signals = {
|
|
9
9
|
SIGHUP: 1,
|
|
10
10
|
SIGINT: 2,
|
|
11
11
|
SIGTERM: 15,
|
|
12
12
|
};
|
|
13
|
-
const listenOnProcessTermination = (jobs) => {
|
|
13
|
+
const listenOnProcessTermination = (jobs, logger) => {
|
|
14
14
|
for (const [signal, code] of Object.entries(signals)) {
|
|
15
15
|
process.on(signal, async () => {
|
|
16
|
-
|
|
17
|
-
console.log(`Process ${process.pid} received a ${signal} signal, executing ${jobs.length} termination jobs`);
|
|
16
|
+
logger.info(`Process ${process.pid} received a ${signal} signal, executing ${jobs.length} termination jobs`);
|
|
18
17
|
await Promise.allSettled(jobs.map(it => it({ signal: signal, code })));
|
|
19
|
-
|
|
20
|
-
console.log(cluster_1.default.isMaster ? `All terminated, exiting` : 'All terminated, exiting a worker');
|
|
18
|
+
logger.info(node_cluster_1.default.isMaster ? `All terminated, exiting` : 'All terminated, exiting a worker');
|
|
21
19
|
process.exit(128 + code);
|
|
22
20
|
});
|
|
23
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverTermination.js","sourceRoot":"","sources":["../../../src/utils/serverTermination.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"serverTermination.js","sourceRoot":"","sources":["../../../src/utils/serverTermination.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAkC;AAGlC,MAAM,OAAO,GAAG;IACf,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC;IACT,OAAO,EAAE,EAAE;CACX,CAAA;AAEM,MAAM,0BAA0B,GAAG,CAAC,IAAsB,EAAE,MAAc,EAAE,EAAE;IACpF,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACrD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;YAC7B,MAAM,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,GAAG,eAAe,MAAM,sBAAsB,IAAI,CAAC,MAAM,mBAAmB,CAAC,CAAA;YAC5G,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAA8B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9F,MAAM,CAAC,IAAI,CAAC,sBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAA;YAC9F,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;KACF;AACF,CAAC,CAAA;AATY,QAAA,0BAA0B,8BAStC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configResolver.test.d.ts","sourceRoot":"","sources":["../../../tests/cases/configResolver.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const tenantConfigResolver_1 = require("../../src/config/tenantConfigResolver");
|
|
5
|
+
const configTemplate_1 = require("../../src/config/configTemplate");
|
|
6
|
+
const projectConfigResolver_1 = require("../../src/config/projectConfigResolver");
|
|
7
|
+
const env = {
|
|
8
|
+
DEFAULT_DB_POOL_IDLE_TIMEOUT_MS: '60000',
|
|
9
|
+
DEFAULT_DB_POOL_MAX_CONNECTIONS: '1000',
|
|
10
|
+
DEFAULT_DB_POOL_MAX_CONNECTING: '10',
|
|
11
|
+
DEFAULT_DB_CONNECTION_TIMEOUT_MS: '5000',
|
|
12
|
+
};
|
|
13
|
+
const tenantConfig = {
|
|
14
|
+
db: {
|
|
15
|
+
host: 'c0.cluster-abc.eu-west-1.rds.amazonaws.com',
|
|
16
|
+
port: 5432,
|
|
17
|
+
user: 'u_test_e',
|
|
18
|
+
password: 'PASSWD',
|
|
19
|
+
database: 'p_test_e',
|
|
20
|
+
read: { host: 'c0.cluster-ro-abc.eu-west-1.rds.amazonaws.com' },
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
(0, vitest_1.it)('resolves tenant config config', () => {
|
|
24
|
+
const tenantResolver = (0, tenantConfigResolver_1.createTenantConfigResolver)(env, configTemplate_1.configTemplate.tenant);
|
|
25
|
+
const resolvedTenantConfig = tenantResolver('test', tenantConfig);
|
|
26
|
+
vitest_1.assert.deepEqual(resolvedTenantConfig, {
|
|
27
|
+
db: {
|
|
28
|
+
host: 'c0.cluster-abc.eu-west-1.rds.amazonaws.com',
|
|
29
|
+
port: 5432,
|
|
30
|
+
user: 'u_test_e',
|
|
31
|
+
password: 'PASSWD',
|
|
32
|
+
database: 'p_test_e',
|
|
33
|
+
connectionTimeoutMs: 5000,
|
|
34
|
+
pool: { maxConnections: 1000, maxConnecting: 10, idleTimeoutMs: 60000 },
|
|
35
|
+
read: { host: 'c0.cluster-ro-abc.eu-west-1.rds.amazonaws.com' },
|
|
36
|
+
}, mailer: {}, credentials: {}, secrets: {},
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
(0, vitest_1.it)('resolves project config config', () => {
|
|
40
|
+
const tenantResolver = (0, tenantConfigResolver_1.createTenantConfigResolver)(env, configTemplate_1.configTemplate.tenant);
|
|
41
|
+
const resolvedTenantConfig = tenantResolver('test', tenantConfig);
|
|
42
|
+
const projectConfigResolver = (0, projectConfigResolver_1.createProjectConfigResolver)(env, configTemplate_1.configTemplate, []);
|
|
43
|
+
const resolvedProjectConfig = projectConfigResolver('test-p', {
|
|
44
|
+
db: {
|
|
45
|
+
useTenantDb: true,
|
|
46
|
+
systemSchema: 'system_test_e',
|
|
47
|
+
}, s3: { prefix: 'test-e/test-e' }, stages: { live: { schema: 'content_test_e_live' } },
|
|
48
|
+
}, {}, resolvedTenantConfig);
|
|
49
|
+
vitest_1.assert.deepEqual(resolvedProjectConfig, {
|
|
50
|
+
name: 'Test p',
|
|
51
|
+
slug: 'test-p',
|
|
52
|
+
stages: [{ name: 'Live', slug: 'live', schema: 'content_test_e_live' }],
|
|
53
|
+
db: {
|
|
54
|
+
host: 'c0.cluster-abc.eu-west-1.rds.amazonaws.com',
|
|
55
|
+
port: 5432,
|
|
56
|
+
user: 'u_test_e',
|
|
57
|
+
password: 'PASSWD',
|
|
58
|
+
database: 'p_test_e',
|
|
59
|
+
connectionTimeoutMs: 5000,
|
|
60
|
+
pool: { maxConnections: 1000, maxConnecting: 10, idleTimeoutMs: 60000 },
|
|
61
|
+
read: { host: 'c0.cluster-ro-abc.eu-west-1.rds.amazonaws.com' },
|
|
62
|
+
useTenantDb: true,
|
|
63
|
+
systemSchema: 'system_test_e',
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=configResolver.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configResolver.test.js","sourceRoot":"","sources":["../../../tests/cases/configResolver.test.ts"],"names":[],"mappings":";;AAAA,mCAAmC;AACnC,gFAAkF;AAClF,oEAAgE;AAChE,kFAAoF;AAEpF,MAAM,GAAG,GAAG;IACX,+BAA+B,EAAE,OAAO;IACxC,+BAA+B,EAAE,MAAM;IACvC,8BAA8B,EAAE,IAAI;IACpC,gCAAgC,EAAE,MAAM;CACxC,CAAA;AACD,MAAM,YAAY,GAAG;IACpB,EAAE,EAAE;QACH,IAAI,EAAE,4CAA4C;QAClD,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,EAAE,IAAI,EAAE,+CAA+C,EAAE;KAC/D;CACD,CAAA;AACD,IAAA,WAAE,EAAC,+BAA+B,EAAE,GAAG,EAAE;IACxC,MAAM,cAAc,GAAG,IAAA,iDAA0B,EAAC,GAAG,EAAE,+BAAc,CAAC,MAAM,CAAC,CAAA;IAC7E,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACjE,eAAM,CAAC,SAAS,CAAC,oBAAoB,EAAE;QACtC,EAAE,EAAE;YACH,IAAI,EAAE,4CAA4C;YAClD,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,UAAU;YACpB,mBAAmB,EAAE,IAAI;YACzB,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;YACvE,IAAI,EAAE,EAAE,IAAI,EAAE,+CAA+C,EAAE;SAC/D,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;KAC3C,CAAC,CAAA;AACH,CAAC,CAAC,CAAA;AACF,IAAA,WAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;IACzC,MAAM,cAAc,GAAG,IAAA,iDAA0B,EAAC,GAAG,EAAE,+BAAc,CAAC,MAAM,CAAC,CAAA;IAC7E,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IAEjE,MAAM,qBAAqB,GAAG,IAAA,mDAA2B,EAAC,GAAG,EAAE,+BAAc,EAAE,EAAE,CAAC,CAAA;IAClF,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,QAAQ,EAAE;QAC7D,EAAE,EAAE;YACH,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,eAAe;SAC7B,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE;KACvF,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAA;IAE5B,eAAM,CAAC,SAAS,CAAC,qBAA4B,EAAE;QAC9C,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QACvE,EAAE,EAAE;YACH,IAAI,EAAE,4CAA4C;YAClD,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,UAAU;YACpB,mBAAmB,EAAE,IAAI;YACzB,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE;YACvE,IAAI,EAAE,EAAE,IAAI,EAAE,+CAA+C,EAAE;YAC/D,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,eAAe;SAC7B;KACD,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
|
package/dist/tests/src/tester.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createTester = exports.executeGraphql = exports.gql = exports.apiUrl = exports.loginToken = exports.rootToken = void 0;
|
|
7
|
-
const
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
8
|
const supertest_1 = __importDefault(require("supertest"));
|
|
9
9
|
const schema_migrations_1 = require("@contember/schema-migrations");
|
|
10
10
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
@@ -14,7 +14,7 @@ exports.loginToken = String(process.env.CONTEMBER_LOGIN_TOKEN);
|
|
|
14
14
|
exports.apiUrl = String(process.env.CONTEMBER_API_URL);
|
|
15
15
|
// Used to allow prettier formatting of GraphQL queries
|
|
16
16
|
const gql = (strings) => {
|
|
17
|
-
|
|
17
|
+
node_assert_1.default.strictEqual(strings.length, 1);
|
|
18
18
|
return strings[0];
|
|
19
19
|
};
|
|
20
20
|
exports.gql = gql;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tester.js","sourceRoot":"","sources":["../../../tests/src/tester.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"tester.js","sourceRoot":"","sources":["../../../tests/src/tester.ts"],"names":[],"mappings":"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"}
|