@moreapp/common-nodejs 0.13.4 → 0.14.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/MailService.d.ts
CHANGED
|
@@ -12,14 +12,16 @@ export interface Attachment {
|
|
|
12
12
|
type MailSendResponse = {
|
|
13
13
|
id: string;
|
|
14
14
|
};
|
|
15
|
+
type LanguageCode = "nl" | "en" | "es" | "de" | "pt" | "fr" | "ca";
|
|
15
16
|
export declare class MailService {
|
|
16
17
|
readonly service: string;
|
|
17
18
|
readonly baseUrl: string;
|
|
18
19
|
readonly username: string;
|
|
19
20
|
readonly password: string;
|
|
20
21
|
constructor(service: string, baseUrl: string, username: string, password: string);
|
|
21
|
-
sendTemplatedMail(emailAddress: string, template: string, language:
|
|
22
|
+
sendTemplatedMail(emailAddress: string, template: string, language: LanguageCode, customerId?: number, variables?: Record<string, unknown>): Promise<MailSendResponse | undefined>;
|
|
22
23
|
sendRawMail(customerId: number, recipients: Recipient[], subject: string, body: string, attachments: Attachment[], fromName?: string, replyTo?: string, meta?: Record<string, unknown>): Promise<MailSendResponse | undefined>;
|
|
24
|
+
private toNotificationServiceLanguageCode;
|
|
23
25
|
private sendMail;
|
|
24
26
|
}
|
|
25
27
|
export {};
|
package/dist/MailService.js
CHANGED
|
@@ -34,7 +34,7 @@ class MailService {
|
|
|
34
34
|
type: "template",
|
|
35
35
|
template,
|
|
36
36
|
variables: variables ?? {},
|
|
37
|
-
language,
|
|
37
|
+
language: this.toNotificationServiceLanguageCode(language),
|
|
38
38
|
attachments: [],
|
|
39
39
|
},
|
|
40
40
|
});
|
|
@@ -54,6 +54,24 @@ class MailService {
|
|
|
54
54
|
meta,
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
+
toNotificationServiceLanguageCode(languageCode) {
|
|
58
|
+
switch (languageCode) {
|
|
59
|
+
case "nl":
|
|
60
|
+
return "nl-NL";
|
|
61
|
+
case "en":
|
|
62
|
+
return "en-GB";
|
|
63
|
+
case "es":
|
|
64
|
+
return "es-ES";
|
|
65
|
+
case "de":
|
|
66
|
+
return "de-DE";
|
|
67
|
+
case "pt":
|
|
68
|
+
return "pt-PT";
|
|
69
|
+
case "fr":
|
|
70
|
+
return "fr-FR";
|
|
71
|
+
case "ca":
|
|
72
|
+
return "ca";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
57
75
|
async sendMail(mailRequest) {
|
|
58
76
|
if ((0, lodash_1.isEmpty)(mailRequest.recipients)) {
|
|
59
77
|
logger_1.logger.info("No recipients, not sending mail");
|
|
@@ -110,7 +110,7 @@ const newService = () => new MailService_1.MailService("some-service-name", base
|
|
|
110
110
|
content: {
|
|
111
111
|
type: "template",
|
|
112
112
|
template: "welcome",
|
|
113
|
-
language: "en",
|
|
113
|
+
language: "en-GB",
|
|
114
114
|
variables: { firstName: "Someone" },
|
|
115
115
|
attachments: [],
|
|
116
116
|
},
|
|
@@ -134,7 +134,7 @@ const newService = () => new MailService_1.MailService("some-service-name", base
|
|
|
134
134
|
content: {
|
|
135
135
|
type: "template",
|
|
136
136
|
template: "welcome",
|
|
137
|
-
language: "en",
|
|
137
|
+
language: "en-GB",
|
|
138
138
|
variables: {},
|
|
139
139
|
attachments: [],
|
|
140
140
|
},
|
|
@@ -34,6 +34,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.shutdown = exports.start = void 0;
|
|
37
|
+
const node_module_1 = require("node:module");
|
|
38
|
+
const node_url_1 = require("node:url");
|
|
39
|
+
const node_worker_threads_1 = require("node:worker_threads");
|
|
37
40
|
const api_1 = require("@opentelemetry/api");
|
|
38
41
|
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
39
42
|
const instrumentation_1 = require("@opentelemetry/instrumentation");
|
|
@@ -49,12 +52,26 @@ const environmentVariable_1 = require("../utils/environmentVariable");
|
|
|
49
52
|
const exporter_trace_otlp_grpc_1 = require("@opentelemetry/exporter-trace-otlp-grpc");
|
|
50
53
|
const lodash_1 = require("lodash");
|
|
51
54
|
let provider;
|
|
55
|
+
let esmHookRegistered = false;
|
|
56
|
+
/**
|
|
57
|
+
* OpenTelemetry instrumentations patch libraries through `require()`, which doesn't cover libraries loaded with
|
|
58
|
+
* `import` (e.g. `import express from "express"` in an ESM project). This loader hook makes sure those get patched too.
|
|
59
|
+
*/
|
|
60
|
+
const registerEsmHook = () => {
|
|
61
|
+
// With `--require`, Node also runs the preload in its loader hooks thread, where registering again is not needed
|
|
62
|
+
if (esmHookRegistered || !node_worker_threads_1.isMainThread) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
(0, node_module_1.register)("@opentelemetry/instrumentation/hook.mjs", (0, node_url_1.pathToFileURL)(__filename));
|
|
66
|
+
esmHookRegistered = true;
|
|
67
|
+
};
|
|
52
68
|
const start = (serviceName, { http = {
|
|
53
69
|
portsToInstrument: [3000],
|
|
54
70
|
}, extraInstrumentations = [], debug = false, }) => {
|
|
55
71
|
if (debug) {
|
|
56
72
|
api_1.diag.setLogger(new api_1.DiagConsoleLogger(), api_1.DiagLogLevel.DEBUG);
|
|
57
73
|
}
|
|
74
|
+
registerEsmHook();
|
|
58
75
|
provider = new sdk_trace_node_1.NodeTracerProvider({
|
|
59
76
|
resource: (0, resources_1.resourceFromAttributes)({
|
|
60
77
|
[semantic_conventions_1.ATTR_SERVICE_NAME]: serviceName,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@moreapp/common-nodejs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -30,45 +30,45 @@
|
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@opentelemetry/api": "1.9.1",
|
|
33
|
-
"@opentelemetry/core": "2.
|
|
34
|
-
"@opentelemetry/exporter-trace-otlp-grpc": "0.
|
|
35
|
-
"@opentelemetry/instrumentation": "0.
|
|
36
|
-
"@opentelemetry/instrumentation-dns": "0.
|
|
37
|
-
"@opentelemetry/instrumentation-express": "0.
|
|
38
|
-
"@opentelemetry/instrumentation-http": "0.
|
|
39
|
-
"@opentelemetry/instrumentation-winston": "0.
|
|
40
|
-
"@opentelemetry/resources": "2.
|
|
41
|
-
"@opentelemetry/sdk-node": "0.
|
|
42
|
-
"@opentelemetry/sdk-trace-base": "2.
|
|
43
|
-
"@opentelemetry/sdk-trace-node": "2.
|
|
33
|
+
"@opentelemetry/core": "2.11.0",
|
|
34
|
+
"@opentelemetry/exporter-trace-otlp-grpc": "0.222.0",
|
|
35
|
+
"@opentelemetry/instrumentation": "0.222.0",
|
|
36
|
+
"@opentelemetry/instrumentation-dns": "0.65.0",
|
|
37
|
+
"@opentelemetry/instrumentation-express": "0.70.0",
|
|
38
|
+
"@opentelemetry/instrumentation-http": "0.222.0",
|
|
39
|
+
"@opentelemetry/instrumentation-winston": "0.66.0",
|
|
40
|
+
"@opentelemetry/resources": "2.11.0",
|
|
41
|
+
"@opentelemetry/sdk-node": "0.222.0",
|
|
42
|
+
"@opentelemetry/sdk-trace-base": "2.11.0",
|
|
43
|
+
"@opentelemetry/sdk-trace-node": "2.11.0",
|
|
44
44
|
"@opentelemetry/semantic-conventions": "1.43.0",
|
|
45
|
-
"axios": "1.
|
|
45
|
+
"axios": "1.20.0",
|
|
46
46
|
"content-disposition-parser": "1.0.2",
|
|
47
|
-
"date-and-time": "4.5.
|
|
47
|
+
"date-and-time": "4.5.2",
|
|
48
48
|
"express": "5.2.1",
|
|
49
49
|
"lodash": "4.18.1",
|
|
50
50
|
"prom-client": "15.1.3",
|
|
51
51
|
"winston": "3.19.0",
|
|
52
|
-
"zod": "4.
|
|
52
|
+
"zod": "4.6.5"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/express": "5.0.6",
|
|
56
56
|
"@types/lodash": "4.17.25",
|
|
57
|
-
"@types/node": "24.13.
|
|
58
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
59
|
-
"@typescript-eslint/parser": "8.
|
|
57
|
+
"@types/node": "24.13.4",
|
|
58
|
+
"@typescript-eslint/eslint-plugin": "8.70.0",
|
|
59
|
+
"@typescript-eslint/parser": "8.70.0",
|
|
60
60
|
"@vitest/coverage-v8": "4.1.11",
|
|
61
61
|
"@vitest/ui": "4.1.11",
|
|
62
62
|
"eslint": "9.39.5",
|
|
63
63
|
"eslint-config-prettier": "10.1.8",
|
|
64
64
|
"eslint-plugin-prettier": "5.5.6",
|
|
65
65
|
"husky": "9.1.7",
|
|
66
|
-
"lint-staged": "17.
|
|
66
|
+
"lint-staged": "17.5.1",
|
|
67
67
|
"nock": "14.0.17",
|
|
68
68
|
"prettier": "3.9.6",
|
|
69
69
|
"ts-node": "10.9.2",
|
|
70
70
|
"typescript": "6.0.3",
|
|
71
|
-
"typescript-eslint": "8.
|
|
71
|
+
"typescript-eslint": "8.70.0",
|
|
72
72
|
"vitest": "4.1.11",
|
|
73
73
|
"vitest-mock-extended": "5.1.1"
|
|
74
74
|
},
|