@bgord/bun 0.4.0 → 0.6.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/api-key-shield.d.ts +14 -13
- package/dist/api-key-shield.d.ts.map +1 -0
- package/dist/api-key-shield.js +19 -0
- package/dist/api-key-shield.js.map +1 -0
- package/dist/api-version.d.ts +6 -5
- package/dist/api-version.d.ts.map +1 -0
- package/dist/api-version.js +12 -0
- package/dist/api-version.js.map +1 -0
- package/dist/auth-shield.d.ts +31 -29
- package/dist/auth-shield.d.ts.map +1 -0
- package/dist/auth-shield.js +83 -0
- package/dist/auth-shield.js.map +1 -0
- package/dist/build-info-repository.d.ts +5 -3
- package/dist/build-info-repository.d.ts.map +1 -0
- package/dist/build-info-repository.js +18 -0
- package/dist/build-info-repository.js.map +1 -0
- package/dist/cache-resolver.d.ts +46 -0
- package/dist/cache-resolver.d.ts.map +1 -0
- package/dist/cache-resolver.js +44 -0
- package/dist/cache-resolver.js.map +1 -0
- package/dist/cache-response.d.ts +9 -12
- package/dist/cache-response.d.ts.map +1 -0
- package/dist/cache-response.js +25 -0
- package/dist/cache-response.js.map +1 -0
- package/dist/cache-static-files.d.ts +9 -8
- package/dist/cache-static-files.d.ts.map +1 -0
- package/dist/cache-static-files.js +25 -0
- package/dist/cache-static-files.js.map +1 -0
- package/dist/context.d.ts +14 -9
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +11 -0
- package/dist/context.js.map +1 -0
- package/dist/correlation-id.d.ts +4 -0
- package/dist/correlation-id.d.ts.map +1 -0
- package/dist/correlation-id.js +3 -0
- package/dist/correlation-id.js.map +1 -0
- package/dist/download-file.d.ts +13 -12
- package/dist/download-file.d.ts.map +1 -0
- package/dist/download-file.js +11 -0
- package/dist/download-file.js.map +1 -0
- package/dist/etag-extractor.d.ts +11 -15
- package/dist/etag-extractor.d.ts.map +1 -0
- package/dist/etag-extractor.js +18 -0
- package/dist/etag-extractor.js.map +1 -0
- package/dist/file-uploader.d.ts +13 -12
- package/dist/file-uploader.d.ts.map +1 -0
- package/dist/file-uploader.js +35 -0
- package/dist/file-uploader.js.map +1 -0
- package/dist/graceful-shutdown.d.ts +7 -6
- package/dist/graceful-shutdown.d.ts.map +1 -0
- package/dist/graceful-shutdown.js +32 -0
- package/dist/graceful-shutdown.js.map +1 -0
- package/dist/healthcheck.d.ts +22 -20
- package/dist/healthcheck.d.ts.map +1 -0
- package/dist/healthcheck.js +35 -0
- package/dist/healthcheck.js.map +1 -0
- package/dist/http-logger.d.ts +7 -7
- package/dist/http-logger.d.ts.map +1 -0
- package/dist/http-logger.js +89 -0
- package/dist/http-logger.js.map +1 -0
- package/dist/i18n.d.ts +22 -26
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +35 -0
- package/dist/i18n.js.map +1 -0
- package/dist/image-processor.d.ts +5 -4
- package/dist/image-processor.d.ts.map +1 -0
- package/dist/image-processor.js +5 -0
- package/dist/image-processor.js.map +1 -0
- package/dist/index.d.ts +37 -17
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/jobs.d.ts +1 -0
- package/dist/jobs.d.ts.map +1 -0
- package/dist/jobs.js +72 -0
- package/dist/jobs.js.map +1 -0
- package/dist/logger.d.ts +23 -7
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +87 -0
- package/dist/logger.js.map +1 -0
- package/dist/mailer.d.ts +10 -1
- package/dist/mailer.d.ts.map +1 -0
- package/dist/mailer.js +27 -0
- package/dist/mailer.js.map +1 -0
- package/dist/memory-consumption.d.ts +3 -2
- package/dist/memory-consumption.d.ts.map +1 -0
- package/dist/memory-consumption.js +8 -0
- package/dist/memory-consumption.js.map +1 -0
- package/dist/new-uuid.d.ts +4 -0
- package/dist/new-uuid.d.ts.map +1 -0
- package/dist/new-uuid.js +6 -0
- package/dist/new-uuid.js.map +1 -0
- package/dist/node-env.vo.d.ts +9 -0
- package/dist/node-env.vo.d.ts.map +1 -0
- package/dist/node-env.vo.js +10 -0
- package/dist/node-env.vo.js.map +1 -0
- package/dist/passwords.d.ts +21 -0
- package/dist/passwords.d.ts.map +1 -0
- package/dist/passwords.js +42 -0
- package/dist/passwords.js.map +1 -0
- package/dist/path.d.ts +4 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +3 -0
- package/dist/path.js.map +1 -0
- package/dist/port.d.ts +4 -0
- package/dist/port.d.ts.map +1 -0
- package/dist/port.js +3 -0
- package/dist/port.js.map +1 -0
- package/dist/prerequisites/binary.d.ts +4 -3
- package/dist/prerequisites/binary.d.ts.map +1 -0
- package/dist/prerequisites/binary.js +29 -0
- package/dist/prerequisites/binary.js.map +1 -0
- package/dist/prerequisites/bun.d.ts +7 -4
- package/dist/prerequisites/bun.d.ts.map +1 -0
- package/dist/prerequisites/bun.js +18 -0
- package/dist/prerequisites/bun.js.map +1 -0
- package/dist/prerequisites/index.d.ts +17 -0
- package/dist/prerequisites/index.d.ts.map +1 -0
- package/dist/prerequisites/index.js +17 -0
- package/dist/prerequisites/index.js.map +1 -0
- package/dist/prerequisites/jobs.d.ts +4 -2
- package/dist/prerequisites/jobs.d.ts.map +1 -0
- package/dist/prerequisites/jobs.js +16 -0
- package/dist/prerequisites/jobs.js.map +1 -0
- package/dist/prerequisites/log-file.d.ts +15 -0
- package/dist/prerequisites/log-file.d.ts.map +1 -0
- package/dist/prerequisites/log-file.js +22 -0
- package/dist/prerequisites/log-file.js.map +1 -0
- package/dist/prerequisites/mailer.d.ts +4 -2
- package/dist/prerequisites/mailer.d.ts.map +1 -0
- package/dist/prerequisites/mailer.js +21 -0
- package/dist/prerequisites/mailer.js.map +1 -0
- package/dist/prerequisites/memory.d.ts +6 -4
- package/dist/prerequisites/memory.d.ts.map +1 -0
- package/dist/prerequisites/memory.js +20 -0
- package/dist/prerequisites/memory.js.map +1 -0
- package/dist/prerequisites/node.d.ts +6 -4
- package/dist/prerequisites/node.d.ts.map +1 -0
- package/dist/prerequisites/node.js +23 -0
- package/dist/prerequisites/node.js.map +1 -0
- package/dist/prerequisites/outside-connectivity.d.ts +4 -2
- package/dist/prerequisites/outside-connectivity.d.ts.map +1 -0
- package/dist/prerequisites/outside-connectivity.js +21 -0
- package/dist/prerequisites/outside-connectivity.js.map +1 -0
- package/dist/prerequisites/path.d.ts +4 -2
- package/dist/prerequisites/path.d.ts.map +1 -0
- package/dist/prerequisites/path.js +26 -0
- package/dist/prerequisites/path.js.map +1 -0
- package/dist/prerequisites/port.d.ts +6 -4
- package/dist/prerequisites/port.d.ts.map +1 -0
- package/dist/prerequisites/port.js +26 -0
- package/dist/prerequisites/port.js.map +1 -0
- package/dist/prerequisites/ram.d.ts +6 -4
- package/dist/prerequisites/ram.d.ts.map +1 -0
- package/dist/prerequisites/ram.js +23 -0
- package/dist/prerequisites/ram.js.map +1 -0
- package/dist/prerequisites/self.d.ts +4 -2
- package/dist/prerequisites/self.d.ts.map +1 -0
- package/dist/prerequisites/self.js +15 -0
- package/dist/prerequisites/self.js.map +1 -0
- package/dist/prerequisites/space.d.ts +6 -4
- package/dist/prerequisites/space.d.ts.map +1 -0
- package/dist/prerequisites/space.js +26 -0
- package/dist/prerequisites/space.js.map +1 -0
- package/dist/prerequisites/ssl-certificate-expiry.d.ts +4 -2
- package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -0
- package/dist/prerequisites/ssl-certificate-expiry.js +24 -0
- package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -0
- package/dist/prerequisites/timezone-utc.d.ts +6 -4
- package/dist/prerequisites/timezone-utc.d.ts.map +1 -0
- package/dist/prerequisites/timezone-utc.js +22 -0
- package/dist/prerequisites/timezone-utc.js.map +1 -0
- package/dist/prerequisites/translations.d.ts +4 -2
- package/dist/prerequisites/translations.d.ts.map +1 -0
- package/dist/prerequisites/translations.js +59 -0
- package/dist/prerequisites/translations.js.map +1 -0
- package/dist/prerequisites.d.ts +2 -0
- package/dist/prerequisites.d.ts.map +1 -0
- package/dist/prerequisites.js +83 -0
- package/dist/prerequisites.js.map +1 -0
- package/dist/rate-limit-shield.d.ts +9 -8
- package/dist/rate-limit-shield.d.ts.map +1 -0
- package/dist/rate-limit-shield.js +18 -0
- package/dist/rate-limit-shield.js.map +1 -0
- package/dist/session-id.d.ts +7 -0
- package/dist/session-id.d.ts.map +1 -0
- package/dist/session-id.js +10 -0
- package/dist/session-id.js.map +1 -0
- package/dist/setup.d.ts +9 -7
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +39 -0
- package/dist/setup.js.map +1 -0
- package/dist/time-zone-offset.d.ts +15 -14
- package/dist/time-zone-offset.d.ts.map +1 -0
- package/dist/time-zone-offset.js +22 -0
- package/dist/time-zone-offset.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/uptime.d.ts +4 -4
- package/dist/uptime.d.ts.map +1 -0
- package/dist/uptime.js +10 -0
- package/dist/uptime.js.map +1 -0
- package/dist/username.d.ts +11 -0
- package/dist/username.d.ts.map +1 -0
- package/dist/username.js +13 -0
- package/dist/username.js.map +1 -0
- package/dist/uuid.d.ts +4 -3
- package/dist/uuid.d.ts.map +1 -0
- package/dist/uuid.js +4 -0
- package/dist/uuid.js.map +1 -0
- package/dist/weak-etag-extractor.d.ts +7 -0
- package/dist/weak-etag-extractor.d.ts.map +1 -0
- package/dist/weak-etag-extractor.js +18 -0
- package/dist/weak-etag-extractor.js.map +1 -0
- package/package.json +29 -28
- package/src/api-key-shield.ts +2 -2
- package/src/api-version.ts +3 -2
- package/src/auth-shield.ts +14 -23
- package/src/build-info-repository.ts +26 -0
- package/src/cache-resolver.ts +93 -0
- package/src/cache-response.ts +2 -5
- package/src/cache-static-files.ts +3 -3
- package/src/context.ts +9 -4
- package/src/correlation-id.ts +6 -0
- package/src/download-file.ts +2 -2
- package/src/etag-extractor.ts +5 -20
- package/src/file-uploader.ts +4 -4
- package/src/graceful-shutdown.ts +3 -3
- package/src/healthcheck.ts +30 -20
- package/src/http-logger.ts +10 -6
- package/src/i18n.ts +13 -47
- package/src/index.ts +26 -7
- package/src/jobs.ts +91 -0
- package/src/logger.ts +156 -0
- package/src/mailer.ts +48 -0
- package/src/memory-consumption.ts +9 -0
- package/src/new-uuid.ts +5 -0
- package/src/node-env.vo.ts +9 -0
- package/src/passwords.ts +55 -0
- package/src/path.ts +4 -0
- package/src/port.ts +4 -0
- package/src/prerequisites/binary.ts +44 -0
- package/src/prerequisites/bun.ts +32 -0
- package/src/prerequisites/index.ts +16 -0
- package/src/prerequisites/jobs.ts +28 -0
- package/src/prerequisites/log-file.ts +35 -0
- package/src/prerequisites/mailer.ts +32 -0
- package/src/prerequisites/memory.ts +34 -0
- package/src/prerequisites/node.ts +36 -0
- package/src/prerequisites/outside-connectivity.ts +31 -0
- package/src/prerequisites/path.ts +41 -0
- package/src/prerequisites/port.ts +44 -0
- package/src/prerequisites/ram.ts +35 -0
- package/src/prerequisites/self.ts +24 -0
- package/src/prerequisites/space.ts +39 -0
- package/src/prerequisites/ssl-certificate-expiry.ts +37 -0
- package/src/prerequisites/timezone-utc.ts +34 -0
- package/src/prerequisites/translations.ts +92 -0
- package/src/prerequisites.ts +105 -0
- package/src/rate-limit-shield.ts +3 -3
- package/src/session-id.ts +13 -0
- package/src/setup.ts +13 -5
- package/src/time-zone-offset.ts +11 -14
- package/src/uptime.ts +16 -0
- package/src/username.ts +20 -0
- package/src/uuid.ts +6 -0
- package/src/weak-etag-extractor.ts +19 -0
- package/src/image-processor.ts +0 -5
package/dist/etag-extractor.d.ts
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
export
|
|
3
|
-
ETag:
|
|
4
|
-
WeakETag:
|
|
5
|
-
};
|
|
6
|
-
export declare class ETagExtractor {
|
|
7
|
-
static attach: import("hono").MiddlewareHandler<{
|
|
8
|
-
Variables: EtagVariables;
|
|
9
|
-
}, string, {}>;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
static attach: import("hono").MiddlewareHandler<{
|
|
13
|
-
Variables: EtagVariables;
|
|
14
|
-
}, string, {}>;
|
|
15
|
-
}
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
export type EtagVariables = {
|
|
3
|
+
ETag: tools.ETag | null;
|
|
4
|
+
WeakETag: tools.WeakETag | null;
|
|
5
|
+
};
|
|
6
|
+
export declare class ETagExtractor {
|
|
7
|
+
static attach: import("hono").MiddlewareHandler<{
|
|
8
|
+
Variables: EtagVariables;
|
|
9
|
+
}, string, {}>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=etag-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"etag-extractor.d.ts","sourceRoot":"","sources":["../src/etag-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,qBAAa,aAAa;IACxB,MAAM,CAAC,MAAM;mBAAiC,aAAa;mBAWxD;CACJ"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { createMiddleware } from "hono/factory";
|
|
3
|
+
export class ETagExtractor {
|
|
4
|
+
static attach = createMiddleware(async (c, next) => {
|
|
5
|
+
try {
|
|
6
|
+
const header = String(c.req.header(tools.ETag.IF_MATCH_HEADER_NAME));
|
|
7
|
+
if (!header || header === "undefined")
|
|
8
|
+
c.set("ETag", null);
|
|
9
|
+
else
|
|
10
|
+
c.set("ETag", tools.ETag.fromHeader(header));
|
|
11
|
+
}
|
|
12
|
+
catch (error) {
|
|
13
|
+
c.set("ETag", null);
|
|
14
|
+
}
|
|
15
|
+
await next();
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=etag-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"etag-extractor.js","sourceRoot":"","sources":["../src/etag-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOhD,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAA+B,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC/E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAErE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,WAAW;gBAAE,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;;gBACtD,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;IACf,CAAC,CAAC,CAAC"}
|
package/dist/file-uploader.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { HTTPException } from "hono/http-exception";
|
|
3
|
-
export declare const InvalidFileMimeTypeError: HTTPException;
|
|
4
|
-
export declare const FileTooBigError: HTTPException;
|
|
5
|
-
|
|
6
|
-
mimeTypes: string[];
|
|
7
|
-
maxFilesSize:
|
|
8
|
-
};
|
|
9
|
-
export declare class FileUploader {
|
|
10
|
-
static validate(config: FileUploaderConfigType): import("hono").MiddlewareHandler<any, string, {}>[];
|
|
11
|
-
}
|
|
12
|
-
export {};
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { HTTPException } from "hono/http-exception";
|
|
3
|
+
export declare const InvalidFileMimeTypeError: HTTPException;
|
|
4
|
+
export declare const FileTooBigError: HTTPException;
|
|
5
|
+
type FileUploaderConfigType = {
|
|
6
|
+
mimeTypes: string[];
|
|
7
|
+
maxFilesSize: tools.SizeValueType;
|
|
8
|
+
};
|
|
9
|
+
export declare class FileUploader {
|
|
10
|
+
static validate(config: FileUploaderConfigType): import("hono").MiddlewareHandler<any, string, {}>[];
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=file-uploader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-uploader.d.ts","sourceRoot":"","sources":["../src/file-uploader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,eAAO,MAAM,wBAAwB,eAEnC,CAAC;AAEH,eAAO,MAAM,eAAe,eAE1B,CAAC;AAEH,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC;CACnC,CAAC;AAEF,qBAAa,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB;CA4B/C"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { bodyLimit } from "hono/body-limit";
|
|
3
|
+
import { createMiddleware } from "hono/factory";
|
|
4
|
+
import { HTTPException } from "hono/http-exception";
|
|
5
|
+
export const InvalidFileMimeTypeError = new HTTPException(400, {
|
|
6
|
+
message: "invalid_file_mime_type_error",
|
|
7
|
+
});
|
|
8
|
+
export const FileTooBigError = new HTTPException(400, {
|
|
9
|
+
message: "file_too_big_error",
|
|
10
|
+
});
|
|
11
|
+
export class FileUploader {
|
|
12
|
+
static validate(config) {
|
|
13
|
+
return [
|
|
14
|
+
bodyLimit({
|
|
15
|
+
maxSize: config.maxFilesSize,
|
|
16
|
+
onError: () => {
|
|
17
|
+
throw FileTooBigError;
|
|
18
|
+
},
|
|
19
|
+
}),
|
|
20
|
+
createMiddleware(async (c, next) => {
|
|
21
|
+
const body = await c.req.raw.clone().formData();
|
|
22
|
+
const file = body.get("file");
|
|
23
|
+
if (!(file instanceof File)) {
|
|
24
|
+
throw InvalidFileMimeTypeError;
|
|
25
|
+
}
|
|
26
|
+
const contentType = new tools.Mime(file.type);
|
|
27
|
+
const accepted = config.mimeTypes.some((acceptedMimeType) => new tools.Mime(acceptedMimeType).isSatisfiedBy(contentType));
|
|
28
|
+
if (!accepted)
|
|
29
|
+
throw InvalidFileMimeTypeError;
|
|
30
|
+
return next();
|
|
31
|
+
}),
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=file-uploader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-uploader.js","sourceRoot":"","sources":["../src/file-uploader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE;IAC7D,OAAO,EAAE,8BAA8B;CACxC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE;IACpD,OAAO,EAAE,oBAAoB;CAC9B,CAAC,CAAC;AAOH,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,QAAQ,CAAC,MAA8B;QAC5C,OAAO;YACL,SAAS,CAAC;gBACR,OAAO,EAAE,MAAM,CAAC,YAAY;gBAC5B,OAAO,EAAE,GAAG,EAAE;oBACZ,MAAM,eAAe,CAAC;gBACxB,CAAC;aACF,CAAC;YAEF,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;gBACjC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAEhD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAE9B,IAAI,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;oBAC5B,MAAM,wBAAwB,CAAC;gBACjC,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAC1D,IAAI,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAC5D,CAAC;gBAEF,IAAI,CAAC,QAAQ;oBAAE,MAAM,wBAAwB,CAAC;gBAC9C,OAAO,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
export declare class GracefulShutdown {
|
|
3
|
-
private static shutdown;
|
|
4
|
-
static applyTo(server: ServerType, callback?: () => any): void;
|
|
5
|
-
}
|
|
6
|
-
export {};
|
|
1
|
+
type ServerType = ReturnType<typeof Bun.serve>;
|
|
2
|
+
export declare class GracefulShutdown {
|
|
3
|
+
private static shutdown;
|
|
4
|
+
static applyTo(server: ServerType, callback?: () => any): void;
|
|
5
|
+
}
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=graceful-shutdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graceful-shutdown.d.ts","sourceRoot":"","sources":["../src/graceful-shutdown.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;AAE/C,qBAAa,gBAAgB;mBACN,QAAQ;IAO7B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,GAAE,MAAM,GAAgB;CA0BpE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
export class GracefulShutdown {
|
|
3
|
+
static async shutdown(server, callback = tools.noop) {
|
|
4
|
+
server.stop();
|
|
5
|
+
await callback();
|
|
6
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
7
|
+
console.log("HTTP server closed");
|
|
8
|
+
}
|
|
9
|
+
static applyTo(server, callback = tools.noop) {
|
|
10
|
+
process.on("SIGTERM", async () => {
|
|
11
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
12
|
+
console.log("SIGTERM signal received: closing HTTP server");
|
|
13
|
+
await GracefulShutdown.shutdown(server, callback);
|
|
14
|
+
process.exit(0);
|
|
15
|
+
});
|
|
16
|
+
process.on("SIGINT", async () => {
|
|
17
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
18
|
+
console.log("SIGINT signal received: closing HTTP server");
|
|
19
|
+
await GracefulShutdown.shutdown(server, callback);
|
|
20
|
+
process.exit(0);
|
|
21
|
+
});
|
|
22
|
+
process.on("unhandledRejection", async (event) => {
|
|
23
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
24
|
+
console.log("UnhandledPromiseRejectionWarning received: closing HTTP server");
|
|
25
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
26
|
+
console.log(JSON.stringify(event));
|
|
27
|
+
await GracefulShutdown.shutdown(server, callback);
|
|
28
|
+
process.exit(1);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=graceful-shutdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graceful-shutdown.js","sourceRoot":"","sources":["../src/graceful-shutdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAkB,EAAE,WAAsB,KAAK,CAAC,IAAI;QAChF,MAAM,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,QAAQ,EAAE,CAAC;QACjB,kDAAkD;QAClD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAkB,EAAE,WAAsB,KAAK,CAAC,IAAI;QACjE,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YAC/B,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC9B,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;YAC3D,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/C,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;YAE9E,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAEnC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/healthcheck.d.ts
CHANGED
|
@@ -1,20 +1,22 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { AbstractPrerequisite, BasePrerequisiteConfig, PrerequisiteLabelType, PrerequisiteStatusEnum } from "./prerequisites";
|
|
3
|
+
export declare class Healthcheck {
|
|
4
|
+
static build: (prerequisites: AbstractPrerequisite<BasePrerequisiteConfig>[]) => [import("hono/types").H<import("hono").Env, string, {}, Promise<Response & import("hono").TypedResponse<{
|
|
5
|
+
ok: PrerequisiteStatusEnum;
|
|
6
|
+
version: tools.BuildVersionType;
|
|
7
|
+
details: {
|
|
8
|
+
label: PrerequisiteLabelType;
|
|
9
|
+
status: PrerequisiteStatusEnum;
|
|
10
|
+
}[];
|
|
11
|
+
uptime: {
|
|
12
|
+
seconds: tools.TimestampType;
|
|
13
|
+
formatted: ReturnType<(typeof tools.DateFormatters)["relative"]>;
|
|
14
|
+
};
|
|
15
|
+
memory: {
|
|
16
|
+
bytes: tools.Size["bytes"];
|
|
17
|
+
formatted: ReturnType<tools.Size["format"]>;
|
|
18
|
+
};
|
|
19
|
+
durationMs: tools.TimestampType;
|
|
20
|
+
}, 200 | 424, "json">>>];
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=healthcheck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthcheck.d.ts","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AAmBzB,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,GAAI,eAAe,oBAAoB,CAAC,sBAAsB,CAAC,EAAE;YAdzE,sBAAsB;iBACjB,KAAK,CAAC,gBAAgB;;mBAEtB,qBAAqB;oBACpB,sBAAsB;;;;mCAjBU,2BACpC;;;mBAoBG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;uBACf,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;;6BAqCxC;CACN"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { createFactory } from "hono/factory";
|
|
3
|
+
import { BuildInfoRepository } from "./build-info-repository";
|
|
4
|
+
import { MemoryConsumption } from "./memory-consumption";
|
|
5
|
+
import { PrerequisiteStatusEnum, } from "./prerequisites";
|
|
6
|
+
import { Uptime } from "./uptime";
|
|
7
|
+
const handler = createFactory();
|
|
8
|
+
export class Healthcheck {
|
|
9
|
+
static build = (prerequisites) => handler.createHandlers(async (c) => {
|
|
10
|
+
const stopwatch = new tools.Stopwatch();
|
|
11
|
+
const build = await BuildInfoRepository.extract();
|
|
12
|
+
const details = [];
|
|
13
|
+
for (const prerequisite of prerequisites) {
|
|
14
|
+
const status = await prerequisite.verify();
|
|
15
|
+
details.push({ label: prerequisite.label, status });
|
|
16
|
+
}
|
|
17
|
+
const ok = details.every((result) => result.status !== PrerequisiteStatusEnum.failure)
|
|
18
|
+
? PrerequisiteStatusEnum.success
|
|
19
|
+
: PrerequisiteStatusEnum.failure;
|
|
20
|
+
const code = ok === PrerequisiteStatusEnum.success ? 200 : 424;
|
|
21
|
+
const result = {
|
|
22
|
+
ok,
|
|
23
|
+
details,
|
|
24
|
+
version: build.BUILD_VERSION ?? tools.BuildVersion.parse("unknown"),
|
|
25
|
+
uptime: Uptime.get(),
|
|
26
|
+
memory: {
|
|
27
|
+
bytes: MemoryConsumption.get().toBytes(),
|
|
28
|
+
formatted: MemoryConsumption.get().format(tools.SizeUnit.MB),
|
|
29
|
+
},
|
|
30
|
+
...stopwatch.stop(),
|
|
31
|
+
};
|
|
32
|
+
return c.json(result, code);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=healthcheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthcheck.js","sourceRoot":"","sources":["../src/healthcheck.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAIL,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AAEpD,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAgBhC,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,KAAK,GAAG,CAAC,aAA6D,EAAE,EAAE,CAC/E,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACjC,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAExC,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAElD,MAAM,OAAO,GAA+C,EAAE,CAAC;QAE/D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,sBAAsB,CAAC,OAAO,CAAC;YACpF,CAAC,CAAC,sBAAsB,CAAC,OAAO;YAChC,CAAC,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAEnC,MAAM,IAAI,GAAG,EAAE,KAAK,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAE/D,MAAM,MAAM,GAA0B;YACpC,EAAE;YACF,OAAO;YACP,OAAO,EAAE,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC;YACnE,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE;YACpB,MAAM,EAAE;gBACN,KAAK,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE;gBACxC,SAAS,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC7D;YACD,GAAG,SAAS,CAAC,IAAI,EAAE;SACpB,CAAC;QAEF,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC"}
|
package/dist/http-logger.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
private static
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { Logger } from "./logger";
|
|
2
|
+
export declare class HttpLogger {
|
|
3
|
+
private static simplify;
|
|
4
|
+
private static uninformativeHeaders;
|
|
5
|
+
static build: (logger: Logger) => import("hono").MiddlewareHandler<any, string, {}>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=http-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-logger.d.ts","sourceRoot":"","sources":["../src/http-logger.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ;IAQvB,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAoBjC;IAEF,MAAM,CAAC,KAAK,GAAI,QAAQ,MAAM,uDAoEzB;CACN"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { getConnInfo } from "hono/bun";
|
|
2
|
+
import { createMiddleware } from "hono/factory";
|
|
3
|
+
import _ from "lodash";
|
|
4
|
+
import { CacheHitEnum } from "./cache-resolver";
|
|
5
|
+
import { CacheResponse } from "./cache-response";
|
|
6
|
+
export class HttpLogger {
|
|
7
|
+
static simplify(response) {
|
|
8
|
+
const result = JSON.stringify(response, (_key, value) => Array.isArray(value) ? { type: "Array", length: value.length } : value);
|
|
9
|
+
return JSON.parse(result);
|
|
10
|
+
}
|
|
11
|
+
static uninformativeHeaders = [
|
|
12
|
+
"accept",
|
|
13
|
+
"accept-encoding",
|
|
14
|
+
"cache-control",
|
|
15
|
+
"connection",
|
|
16
|
+
"content-length",
|
|
17
|
+
"content-type",
|
|
18
|
+
"cookie",
|
|
19
|
+
"dnt",
|
|
20
|
+
"host",
|
|
21
|
+
"origin",
|
|
22
|
+
"pragma",
|
|
23
|
+
"sec-fetch-dest",
|
|
24
|
+
"sec-fetch-mode",
|
|
25
|
+
"sec-fetch-site",
|
|
26
|
+
"sec-fetch-user",
|
|
27
|
+
"sec-gpc",
|
|
28
|
+
"upgrade-insecure-requests",
|
|
29
|
+
"user-agent",
|
|
30
|
+
"if-none-match",
|
|
31
|
+
];
|
|
32
|
+
static build = (logger) => createMiddleware(async (c, next) => {
|
|
33
|
+
const correlationId = c.get("requestId");
|
|
34
|
+
const info = getConnInfo(c);
|
|
35
|
+
const url = c.req.url;
|
|
36
|
+
const method = c.req.method;
|
|
37
|
+
const client = {
|
|
38
|
+
ip: c.req.header("x-real-ip") || c.req.header("x-forwarded-for") || info.remote.address,
|
|
39
|
+
userAgent: c.req.header("user-agent"),
|
|
40
|
+
};
|
|
41
|
+
let body;
|
|
42
|
+
try {
|
|
43
|
+
body = await c.req.raw.clone().json();
|
|
44
|
+
}
|
|
45
|
+
catch (error) { }
|
|
46
|
+
const httpRequestBeforeMetadata = {
|
|
47
|
+
params: c.req.param(),
|
|
48
|
+
headers: _.omit(Object.fromEntries(c.req.raw.clone().headers), HttpLogger.uninformativeHeaders),
|
|
49
|
+
body,
|
|
50
|
+
query: c.req.queries(),
|
|
51
|
+
};
|
|
52
|
+
logger.http({
|
|
53
|
+
operation: "http_request_before",
|
|
54
|
+
correlationId,
|
|
55
|
+
message: "request",
|
|
56
|
+
method,
|
|
57
|
+
url,
|
|
58
|
+
client,
|
|
59
|
+
metadata: _.pickBy(httpRequestBeforeMetadata, (value) => !_.isEmpty(value)),
|
|
60
|
+
});
|
|
61
|
+
await next();
|
|
62
|
+
const cacheHitHeader = c.res.clone().headers.get(CacheResponse.CACHE_HIT_HEADER);
|
|
63
|
+
const cacheHit = cacheHitHeader === CacheHitEnum.hit ? CacheHitEnum.hit : undefined;
|
|
64
|
+
let response;
|
|
65
|
+
try {
|
|
66
|
+
response = await c.res.clone().json();
|
|
67
|
+
}
|
|
68
|
+
catch (error) { }
|
|
69
|
+
const httpRequestAfterMetadata = {
|
|
70
|
+
response,
|
|
71
|
+
cacheHit,
|
|
72
|
+
};
|
|
73
|
+
const serverTimingMs = c.res.clone().headers.get("Server-Timing");
|
|
74
|
+
const durationMsMatch = serverTimingMs?.match(/dur=([0-9]*\.?[0-9]+)/) ?? undefined;
|
|
75
|
+
const durationMs = durationMsMatch?.[1] ? Number(durationMsMatch[1]) : undefined;
|
|
76
|
+
logger.http({
|
|
77
|
+
operation: "http_request_after",
|
|
78
|
+
correlationId,
|
|
79
|
+
message: "response",
|
|
80
|
+
method,
|
|
81
|
+
url,
|
|
82
|
+
responseCode: c.res.status,
|
|
83
|
+
durationMs,
|
|
84
|
+
client,
|
|
85
|
+
metadata: HttpLogger.simplify(httpRequestAfterMetadata),
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=http-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-logger.js","sourceRoot":"","sources":["../src/http-logger.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n.d.ts
CHANGED
|
@@ -1,26 +1,22 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
static getTranslations(language: bgn.Schema.LanguageType, translationsPath: bgn.Schema.PathType): Promise<TranslationsType>;
|
|
24
|
-
static useTranslations(translations: TranslationsType): (key: TranslationsKeyType, variables?: TranslationVariableType) => string;
|
|
25
|
-
static getTranslationPathForLanguage(language: bgn.Schema.LanguageType, translationsPath?: any): bgn.Schema.PathType;
|
|
26
|
-
}
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { PathType } from "./path";
|
|
3
|
+
export type TranslationsKeyType = string;
|
|
4
|
+
export type TranslationsValueType = string;
|
|
5
|
+
export type TranslationsType = Record<TranslationsKeyType, TranslationsValueType>;
|
|
6
|
+
export type TranslationPlaceholderType = string;
|
|
7
|
+
export type TranslationPlaceholderValueType = string | number;
|
|
8
|
+
export type TranslationVariableType = Record<TranslationPlaceholderType, TranslationPlaceholderValueType>;
|
|
9
|
+
export type I18nConfigType = {
|
|
10
|
+
translationsPath?: PathType;
|
|
11
|
+
defaultLanguage?: tools.LanguageType;
|
|
12
|
+
supportedLanguages: Record<string, tools.LanguageType>;
|
|
13
|
+
};
|
|
14
|
+
export declare class I18n {
|
|
15
|
+
private translationsPath;
|
|
16
|
+
static DEFAULT_TRANSLATIONS_PATH: string;
|
|
17
|
+
constructor(translationsPath?: PathType);
|
|
18
|
+
getTranslations(language: tools.LanguageType): Promise<TranslationsType>;
|
|
19
|
+
useTranslations(translations: TranslationsType): (key: TranslationsKeyType, variables?: TranslationVariableType) => string;
|
|
20
|
+
getTranslationPathForLanguage(language: tools.LanguageType): PathType;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAQ,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AACzC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAElF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAChD,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,CAAC,CAAC;AAE1G,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,eAAe,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;IACrC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;CACxD,CAAC;AAEF,qBAAa,IAAI;IAGH,OAAO,CAAC,gBAAgB;IAFpC,MAAM,CAAC,yBAAyB,SAAoC;gBAEhD,gBAAgB,GAAE,QAAyC;IAEzE,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAW9E,eAAe,CAAC,YAAY,EAAE,gBAAgB,IAClB,KAAK,mBAAmB,EAAE,YAAY,uBAAuB;IAiBzF,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,GAAG,QAAQ;CAGtE"}
|
package/dist/i18n.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { Path } from "./path";
|
|
3
|
+
export class I18n {
|
|
4
|
+
translationsPath;
|
|
5
|
+
static DEFAULT_TRANSLATIONS_PATH = Path.parse("infra/translations");
|
|
6
|
+
constructor(translationsPath = I18n.DEFAULT_TRANSLATIONS_PATH) {
|
|
7
|
+
this.translationsPath = translationsPath;
|
|
8
|
+
}
|
|
9
|
+
async getTranslations(language) {
|
|
10
|
+
try {
|
|
11
|
+
return Bun.file(this.getTranslationPathForLanguage(language)).json();
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
// biome-ignore lint: lint/suspicious/noConsoleLog
|
|
15
|
+
console.log("I18n#getTranslations", error);
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
useTranslations(translations) {
|
|
20
|
+
return function translate(key, variables) {
|
|
21
|
+
const translation = translations[key];
|
|
22
|
+
if (!translation) {
|
|
23
|
+
console.warn(`[@bgord/node] missing translation for key: ${key}`);
|
|
24
|
+
return key;
|
|
25
|
+
}
|
|
26
|
+
if (!variables)
|
|
27
|
+
return translation;
|
|
28
|
+
return Object.entries(variables).reduce((result, [placeholder, value]) => result.replace(`{{${placeholder}}}`, String(value)), translation);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
getTranslationPathForLanguage(language) {
|
|
32
|
+
return Path.parse(path.join(this.translationsPath, `${language}.json`));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=i18n.js.map
|
package/dist/i18n.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,IAAI,EAAY,MAAM,QAAQ,CAAC;AAgBxC,MAAM,OAAO,IAAI;IAGK;IAFpB,MAAM,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEpE,YAAoB,mBAA6B,IAAI,CAAC,yBAAyB;QAA3D,qBAAgB,GAAhB,gBAAgB,CAA2C;IAAG,CAAC;IAEnF,KAAK,CAAC,eAAe,CAAC,QAA4B;QAChD,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,kDAAkD;YAClD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAE3C,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,eAAe,CAAC,YAA8B;QAC5C,OAAO,SAAS,SAAS,CAAC,GAAwB,EAAE,SAAmC;YACrF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,8CAA8C,GAAG,EAAE,CAAC,CAAC;gBAClE,OAAO,GAAG,CAAC;YACb,CAAC;YAED,IAAI,CAAC,SAAS;gBAAE,OAAO,WAAW,CAAC;YAEnC,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CACrC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,WAAW,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EACrF,WAAW,CACZ,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,6BAA6B,CAAC,QAA4B;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import sharp from "sharp";
|
|
2
|
-
export declare class ImageProcessor {
|
|
3
|
-
static sharp: typeof sharp;
|
|
4
|
-
}
|
|
1
|
+
import sharp from "sharp";
|
|
2
|
+
export declare class ImageProcessor {
|
|
3
|
+
static sharp: typeof sharp;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=image-processor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-processor.d.ts","sourceRoot":"","sources":["../src/image-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,qBAAa,cAAc;IACzB,MAAM,CAAC,KAAK,eAAS;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-processor.js","sourceRoot":"","sources":["../src/image-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,OAAO,cAAc;IACzB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,37 @@
|
|
|
1
|
-
export * from "./api-key-shield";
|
|
2
|
-
export * from "./api-version";
|
|
3
|
-
export * from "./auth-shield";
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./
|
|
7
|
-
export * from "./
|
|
8
|
-
export * from "./
|
|
9
|
-
export * from "./
|
|
10
|
-
export * from "./
|
|
11
|
-
export * from "./
|
|
12
|
-
export * from "./
|
|
13
|
-
export * from "./
|
|
14
|
-
export * from "./
|
|
15
|
-
export * from "./
|
|
16
|
-
export * from "./
|
|
17
|
-
export * from "./
|
|
1
|
+
export * from "./api-key-shield";
|
|
2
|
+
export * from "./api-version";
|
|
3
|
+
export * from "./auth-shield";
|
|
4
|
+
export * from "./build-info-repository";
|
|
5
|
+
export * from "./cache-resolver";
|
|
6
|
+
export * from "./cache-response";
|
|
7
|
+
export * from "./cache-static-files";
|
|
8
|
+
export * from "./context";
|
|
9
|
+
export * from "./correlation-id";
|
|
10
|
+
export * from "./download-file";
|
|
11
|
+
export * from "./etag-extractor";
|
|
12
|
+
export * from "./file-uploader";
|
|
13
|
+
export * from "./graceful-shutdown";
|
|
14
|
+
export * from "./healthcheck";
|
|
15
|
+
export * from "./http-logger";
|
|
16
|
+
export * from "./i18n";
|
|
17
|
+
export * from "./jobs";
|
|
18
|
+
export * from "./logger";
|
|
19
|
+
export * from "./mailer";
|
|
20
|
+
export * from "./memory-consumption";
|
|
21
|
+
export * from "./new-uuid";
|
|
22
|
+
export * from "./node-env.vo";
|
|
23
|
+
export * from "./passwords";
|
|
24
|
+
export * from "./path";
|
|
25
|
+
export * from "./port";
|
|
26
|
+
export * from "./prerequisites";
|
|
27
|
+
export * from "./prerequisites/index";
|
|
28
|
+
export * from "./rate-limit-shield";
|
|
29
|
+
export * from "./session-id";
|
|
30
|
+
export * from "./setup";
|
|
31
|
+
export * from "./time-zone-offset";
|
|
32
|
+
export * from "./uptime";
|
|
33
|
+
export * from "./username";
|
|
34
|
+
export * from "./uuid";
|
|
35
|
+
export * from "./weak-etag-extractor";
|
|
36
|
+
export { default as sharp } from "sharp";
|
|
37
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export * from "./api-key-shield";
|
|
2
|
+
export * from "./api-version";
|
|
3
|
+
export * from "./auth-shield";
|
|
4
|
+
export * from "./build-info-repository";
|
|
5
|
+
export * from "./cache-resolver";
|
|
6
|
+
export * from "./cache-response";
|
|
7
|
+
export * from "./cache-static-files";
|
|
8
|
+
export * from "./context";
|
|
9
|
+
export * from "./correlation-id";
|
|
10
|
+
export * from "./download-file";
|
|
11
|
+
export * from "./etag-extractor";
|
|
12
|
+
export * from "./file-uploader";
|
|
13
|
+
export * from "./graceful-shutdown";
|
|
14
|
+
export * from "./healthcheck";
|
|
15
|
+
export * from "./http-logger";
|
|
16
|
+
export * from "./i18n";
|
|
17
|
+
export * from "./jobs";
|
|
18
|
+
export * from "./logger";
|
|
19
|
+
export * from "./mailer";
|
|
20
|
+
export * from "./memory-consumption";
|
|
21
|
+
export * from "./new-uuid";
|
|
22
|
+
export * from "./node-env.vo";
|
|
23
|
+
export * from "./passwords";
|
|
24
|
+
export * from "./path";
|
|
25
|
+
export * from "./port";
|
|
26
|
+
export * from "./prerequisites";
|
|
27
|
+
export * from "./prerequisites/index";
|
|
28
|
+
export * from "./rate-limit-shield";
|
|
29
|
+
export * from "./session-id";
|
|
30
|
+
export * from "./setup";
|
|
31
|
+
export * from "./time-zone-offset";
|
|
32
|
+
export * from "./uptime";
|
|
33
|
+
export * from "./username";
|
|
34
|
+
export * from "./uuid";
|
|
35
|
+
export * from "./weak-etag-extractor";
|
|
36
|
+
export { default as sharp } from "sharp";
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/jobs.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AAEzD,oBAAY,mBAAmB;IAC7B,MAAM,IAAI;IACV,OAAO,IAAI;IACX,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,MAAM,IAAI;CACX;AAED,qBAAa,IAAI;IACf,MAAM,CAAC,SAAS;;;MAA0D;IAE1E,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB;IAIrC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO;CAGtD;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,qBAAa,UAAU;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,MAAM,CAAC,YAAY,EAAE,gBAAgB;IAsCrC,OAAO,CAAC,IAAI,EAAE,IAAI;CAWnB"}
|