@bgord/bun 0.8.0 → 0.8.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/README.md +1 -3
- package/dist/api-key-shield.middleware.d.ts +14 -0
- package/dist/api-key-shield.middleware.d.ts.map +1 -0
- package/dist/api-key-shield.middleware.js +19 -0
- package/dist/api-key-shield.middleware.js.map +1 -0
- package/dist/api-version.middleware.d.ts +6 -0
- package/dist/api-version.middleware.d.ts.map +1 -0
- package/dist/api-version.middleware.js +12 -0
- package/dist/api-version.middleware.js.map +1 -0
- package/dist/auth-shield.middleware.d.ts +31 -0
- package/dist/auth-shield.middleware.d.ts.map +1 -0
- package/dist/auth-shield.middleware.js +83 -0
- package/dist/auth-shield.middleware.js.map +1 -0
- package/dist/basic-auth.service.d.ts +14 -0
- package/dist/basic-auth.service.d.ts.map +1 -0
- package/dist/basic-auth.service.js +13 -0
- package/dist/basic-auth.service.js.map +1 -0
- package/dist/build-info-repository.service.d.ts +10 -0
- package/dist/build-info-repository.service.d.ts.map +1 -0
- package/dist/build-info-repository.service.js +18 -0
- package/dist/build-info-repository.service.js.map +1 -0
- package/dist/cache-resolver.service.d.ts +46 -0
- package/dist/cache-resolver.service.d.ts.map +1 -0
- package/dist/cache-resolver.service.js +44 -0
- package/dist/cache-resolver.service.js.map +1 -0
- package/dist/cache-response.middleware.d.ts +9 -0
- package/dist/cache-response.middleware.d.ts.map +1 -0
- package/dist/cache-response.middleware.js +25 -0
- package/dist/cache-response.middleware.js.map +1 -0
- package/dist/cache-static-files.middleware.d.ts +9 -0
- package/dist/cache-static-files.middleware.d.ts.map +1 -0
- package/dist/cache-static-files.middleware.js +25 -0
- package/dist/cache-static-files.middleware.js.map +1 -0
- package/dist/context.middleware.d.ts +14 -0
- package/dist/context.middleware.d.ts.map +1 -0
- package/dist/context.middleware.js +11 -0
- package/dist/context.middleware.js.map +1 -0
- package/dist/correlation-id.vo.d.ts +4 -0
- package/dist/correlation-id.vo.d.ts.map +1 -0
- package/dist/correlation-id.vo.js +3 -0
- package/dist/correlation-id.vo.js.map +1 -0
- package/dist/decorators.service.d.ts +12 -0
- package/dist/decorators.service.d.ts.map +1 -0
- package/dist/decorators.service.js +62 -0
- package/dist/decorators.service.js.map +1 -0
- package/dist/download-file.service.d.ts +13 -0
- package/dist/download-file.service.d.ts.map +1 -0
- package/dist/download-file.service.js +11 -0
- package/dist/download-file.service.js.map +1 -0
- package/dist/encryption.service.d.ts +25 -0
- package/dist/encryption.service.d.ts.map +1 -0
- package/dist/encryption.service.js +37 -0
- package/dist/encryption.service.js.map +1 -0
- package/dist/env-validator.service.d.ts +21 -0
- package/dist/env-validator.service.d.ts.map +1 -0
- package/dist/env-validator.service.js +28 -0
- package/dist/env-validator.service.js.map +1 -0
- package/dist/etag-extractor.middleware.d.ts +11 -0
- package/dist/etag-extractor.middleware.d.ts.map +1 -0
- package/dist/etag-extractor.middleware.js +18 -0
- package/dist/etag-extractor.middleware.js.map +1 -0
- package/dist/event-handler.service.d.ts +8 -0
- package/dist/event-handler.service.d.ts.map +1 -0
- package/dist/event-handler.service.js +21 -0
- package/dist/event-handler.service.js.map +1 -0
- package/dist/event-logger.service.d.ts +8 -0
- package/dist/event-logger.service.d.ts.map +1 -0
- package/dist/event-logger.service.js +19 -0
- package/dist/event-logger.service.js.map +1 -0
- package/dist/event.vo.d.ts +20 -0
- package/dist/event.vo.d.ts.map +1 -0
- package/dist/event.vo.js +23 -0
- package/dist/event.vo.js.map +1 -0
- package/dist/file-location.service.d.ts +32 -0
- package/dist/file-location.service.d.ts.map +1 -0
- package/dist/file-location.service.js +46 -0
- package/dist/file-location.service.js.map +1 -0
- package/dist/file-uploader.middleware.d.ts +13 -0
- package/dist/file-uploader.middleware.d.ts.map +1 -0
- package/dist/file-uploader.middleware.js +35 -0
- package/dist/file-uploader.middleware.js.map +1 -0
- package/dist/graceful-shutdown.service.d.ts +7 -0
- package/dist/graceful-shutdown.service.d.ts.map +1 -0
- package/dist/graceful-shutdown.service.js +32 -0
- package/dist/graceful-shutdown.service.js.map +1 -0
- package/dist/gzip.service.d.ts +13 -0
- package/dist/gzip.service.d.ts.map +1 -0
- package/dist/gzip.service.js +18 -0
- package/dist/gzip.service.js.map +1 -0
- package/dist/hcaptcha-shield.middleware.d.ts +23 -0
- package/dist/hcaptcha-shield.middleware.d.ts.map +1 -0
- package/dist/hcaptcha-shield.middleware.js +34 -0
- package/dist/hcaptcha-shield.middleware.js.map +1 -0
- package/dist/healthcheck.service.d.ts +22 -0
- package/dist/healthcheck.service.d.ts.map +1 -0
- package/dist/healthcheck.service.js +35 -0
- package/dist/healthcheck.service.js.map +1 -0
- package/dist/http-logger.middleware.d.ts +7 -0
- package/dist/http-logger.middleware.d.ts.map +1 -0
- package/dist/http-logger.middleware.js +89 -0
- package/dist/http-logger.middleware.js.map +1 -0
- package/dist/i18n.service.d.ts +22 -0
- package/dist/i18n.service.d.ts.map +1 -0
- package/dist/i18n.service.js +35 -0
- package/dist/i18n.service.js.map +1 -0
- package/dist/image-compressor.service.d.ts +15 -0
- package/dist/image-compressor.service.d.ts.map +1 -0
- package/dist/image-compressor.service.js +13 -0
- package/dist/image-compressor.service.js.map +1 -0
- package/dist/image-exif.service.d.ts +19 -0
- package/dist/image-exif.service.d.ts.map +1 -0
- package/dist/image-exif.service.js +21 -0
- package/dist/image-exif.service.js.map +1 -0
- package/dist/index.d.ts +50 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -50
- package/dist/index.js.map +1 -1
- package/dist/jobs.service.d.ts +33 -0
- package/dist/jobs.service.d.ts.map +1 -0
- package/dist/jobs.service.js +72 -0
- package/dist/jobs.service.js.map +1 -0
- package/dist/logger.service.d.ts +69 -0
- package/dist/logger.service.d.ts.map +1 -0
- package/dist/logger.service.js +87 -0
- package/dist/logger.service.js.map +1 -0
- package/dist/mailer.service.d.ts +38 -0
- package/dist/mailer.service.d.ts.map +1 -0
- package/dist/mailer.service.js +33 -0
- package/dist/mailer.service.js.map +1 -0
- package/dist/memory-consumption.service.d.ts +5 -0
- package/dist/memory-consumption.service.d.ts.map +1 -0
- package/dist/memory-consumption.service.js +8 -0
- package/dist/memory-consumption.service.js.map +1 -0
- package/dist/new-uuid.service.d.ts +4 -0
- package/dist/new-uuid.service.d.ts.map +1 -0
- package/dist/new-uuid.service.js +6 -0
- package/dist/new-uuid.service.js.map +1 -0
- package/dist/open-graph.service.d.ts +110 -0
- package/dist/open-graph.service.d.ts.map +1 -0
- package/dist/open-graph.service.js +172 -0
- package/dist/open-graph.service.js.map +1 -0
- package/dist/passwords.vo.d.ts +21 -0
- package/dist/passwords.vo.d.ts.map +1 -0
- package/dist/passwords.vo.js +42 -0
- package/dist/passwords.vo.js.map +1 -0
- package/dist/path.vo.d.ts +4 -0
- package/dist/path.vo.d.ts.map +1 -0
- package/dist/path.vo.js +3 -0
- package/dist/path.vo.js.map +1 -0
- package/dist/port.vo.d.ts +4 -0
- package/dist/port.vo.d.ts.map +1 -0
- package/dist/port.vo.js +3 -0
- package/dist/port.vo.js.map +1 -0
- package/dist/prerequisites/binary.d.ts +1 -1
- package/dist/prerequisites/binary.d.ts.map +1 -1
- package/dist/prerequisites/binary.js +1 -1
- package/dist/prerequisites/binary.js.map +1 -1
- package/dist/prerequisites/bun.d.ts +1 -1
- package/dist/prerequisites/bun.d.ts.map +1 -1
- package/dist/prerequisites/bun.js +1 -1
- package/dist/prerequisites/bun.js.map +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.d.ts +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.d.ts.map +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.js +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.js.map +1 -1
- package/dist/prerequisites/external-api.d.ts +1 -1
- package/dist/prerequisites/external-api.d.ts.map +1 -1
- package/dist/prerequisites/external-api.js +1 -1
- package/dist/prerequisites/external-api.js.map +1 -1
- package/dist/prerequisites/jobs.d.ts +2 -2
- package/dist/prerequisites/jobs.d.ts.map +1 -1
- package/dist/prerequisites/jobs.js +2 -2
- package/dist/prerequisites/jobs.js.map +1 -1
- package/dist/prerequisites/log-file.d.ts +2 -2
- package/dist/prerequisites/log-file.d.ts.map +1 -1
- package/dist/prerequisites/log-file.js +1 -1
- package/dist/prerequisites/log-file.js.map +1 -1
- package/dist/prerequisites/mailer.d.ts +2 -2
- package/dist/prerequisites/mailer.d.ts.map +1 -1
- package/dist/prerequisites/mailer.js +1 -1
- package/dist/prerequisites/mailer.js.map +1 -1
- package/dist/prerequisites/memory.d.ts +1 -1
- package/dist/prerequisites/memory.d.ts.map +1 -1
- package/dist/prerequisites/memory.js +2 -2
- package/dist/prerequisites/memory.js.map +1 -1
- package/dist/prerequisites/node.d.ts +1 -1
- package/dist/prerequisites/node.d.ts.map +1 -1
- package/dist/prerequisites/node.js +1 -1
- package/dist/prerequisites/node.js.map +1 -1
- package/dist/prerequisites/outside-connectivity.d.ts +1 -1
- package/dist/prerequisites/outside-connectivity.d.ts.map +1 -1
- package/dist/prerequisites/outside-connectivity.js +1 -1
- package/dist/prerequisites/outside-connectivity.js.map +1 -1
- package/dist/prerequisites/path.d.ts +1 -1
- package/dist/prerequisites/path.d.ts.map +1 -1
- package/dist/prerequisites/path.js +1 -1
- package/dist/prerequisites/path.js.map +1 -1
- package/dist/prerequisites/port.d.ts +2 -2
- package/dist/prerequisites/port.d.ts.map +1 -1
- package/dist/prerequisites/port.js +1 -1
- package/dist/prerequisites/port.js.map +1 -1
- package/dist/prerequisites/ram.d.ts +1 -1
- package/dist/prerequisites/ram.d.ts.map +1 -1
- package/dist/prerequisites/ram.js +1 -1
- package/dist/prerequisites/ram.js.map +1 -1
- package/dist/prerequisites/self.d.ts +1 -1
- package/dist/prerequisites/self.d.ts.map +1 -1
- package/dist/prerequisites/self.js +1 -1
- package/dist/prerequisites/self.js.map +1 -1
- package/dist/prerequisites/space.d.ts +1 -1
- package/dist/prerequisites/space.d.ts.map +1 -1
- package/dist/prerequisites/space.js +1 -1
- package/dist/prerequisites/space.js.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.d.ts +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.js +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -1
- package/dist/prerequisites/timezone-utc.d.ts +1 -1
- package/dist/prerequisites/timezone-utc.d.ts.map +1 -1
- package/dist/prerequisites/timezone-utc.js +1 -1
- package/dist/prerequisites/timezone-utc.js.map +1 -1
- package/dist/prerequisites/translations.d.ts +2 -2
- package/dist/prerequisites/translations.d.ts.map +1 -1
- package/dist/prerequisites/translations.js +2 -2
- package/dist/prerequisites/translations.js.map +1 -1
- package/dist/prerequisites.service.d.ts +49 -0
- package/dist/prerequisites.service.d.ts.map +1 -0
- package/dist/prerequisites.service.js +86 -0
- package/dist/prerequisites.service.js.map +1 -0
- package/dist/rate-limit-shield.middleware.d.ts +10 -0
- package/dist/rate-limit-shield.middleware.d.ts.map +1 -0
- package/dist/rate-limit-shield.middleware.js +21 -0
- package/dist/rate-limit-shield.middleware.js.map +1 -0
- package/dist/recaptcha-shield.middleware.d.ts +20 -0
- package/dist/recaptcha-shield.middleware.d.ts.map +1 -0
- package/dist/recaptcha-shield.middleware.js +50 -0
- package/dist/recaptcha-shield.middleware.js.map +1 -0
- package/dist/session-id.vo.d.ts +7 -0
- package/dist/session-id.vo.d.ts.map +1 -0
- package/dist/session-id.vo.js +10 -0
- package/dist/session-id.vo.js.map +1 -0
- package/dist/setup.service.d.ts +9 -0
- package/dist/setup.service.d.ts.map +1 -0
- package/dist/setup.service.js +39 -0
- package/dist/setup.service.js.map +1 -0
- package/dist/simulated-error.middleware.d.ts +4 -0
- package/dist/simulated-error.middleware.d.ts.map +1 -0
- package/dist/simulated-error.middleware.js +7 -0
- package/dist/simulated-error.middleware.js.map +1 -0
- package/dist/sitemap.service.d.ts +29 -0
- package/dist/sitemap.service.d.ts.map +1 -0
- package/dist/sitemap.service.js +57 -0
- package/dist/sitemap.service.js.map +1 -0
- package/dist/slower.middleware.d.ts +5 -0
- package/dist/slower.middleware.d.ts.map +1 -0
- package/dist/slower.middleware.js +8 -0
- package/dist/slower.middleware.js.map +1 -0
- package/dist/time-zone-offset.middleware.d.ts +15 -0
- package/dist/time-zone-offset.middleware.d.ts.map +1 -0
- package/dist/time-zone-offset.middleware.js +22 -0
- package/dist/time-zone-offset.middleware.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/uptime.service.d.ts +9 -0
- package/dist/uptime.service.d.ts.map +1 -0
- package/dist/uptime.service.js +10 -0
- package/dist/uptime.service.js.map +1 -0
- package/dist/url-wo-trailing-slash.vo.d.ts +4 -0
- package/dist/url-wo-trailing-slash.vo.d.ts.map +1 -0
- package/dist/url-wo-trailing-slash.vo.js +9 -0
- package/dist/url-wo-trailing-slash.vo.js.map +1 -0
- package/dist/username.vo.d.ts +11 -0
- package/dist/username.vo.d.ts.map +1 -0
- package/dist/username.vo.js +13 -0
- package/dist/username.vo.js.map +1 -0
- package/dist/uuid.vo.d.ts +4 -0
- package/dist/uuid.vo.d.ts.map +1 -0
- package/dist/uuid.vo.js +4 -0
- package/dist/uuid.vo.js.map +1 -0
- package/dist/weak-etag-extractor.middleware.d.ts +7 -0
- package/dist/weak-etag-extractor.middleware.d.ts.map +1 -0
- package/dist/weak-etag-extractor.middleware.js +18 -0
- package/dist/weak-etag-extractor.middleware.js.map +1 -0
- package/package.json +2 -2
- package/src/{api-version.ts → api-version.middleware.ts} +1 -1
- package/src/{auth-shield.ts → auth-shield.middleware.ts} +3 -3
- package/src/{cache-response.ts → cache-response.middleware.ts} +1 -1
- package/src/{context.ts → context.middleware.ts} +2 -2
- package/src/{correlation-id.ts → correlation-id.vo.ts} +1 -1
- package/src/{decorators.ts → decorators.service.ts} +1 -1
- package/src/{event-handler.ts → event-handler.service.ts} +2 -2
- package/src/{event-logger.ts → event-logger.service.ts} +1 -1
- package/src/{event.ts → event.vo.ts} +1 -1
- package/src/{file-location.ts → file-location.service.ts} +1 -1
- package/src/{healthcheck.ts → healthcheck.service.ts} +4 -4
- package/src/{http-logger.ts → http-logger.middleware.ts} +4 -4
- package/src/{i18n.ts → i18n.service.ts} +2 -2
- package/src/{image-compressor.ts → image-compressor.service.ts} +1 -1
- package/src/{image-exif.ts → image-exif.service.ts} +1 -1
- package/src/index.ts +50 -50
- package/src/{jobs.ts → jobs.service.ts} +3 -3
- package/src/{logger.ts → logger.service.ts} +2 -2
- package/src/{mailer.ts → mailer.service.ts} +2 -2
- package/src/{open-graph.ts → open-graph.service.ts} +3 -3
- package/src/prerequisites/binary.ts +1 -1
- package/src/prerequisites/bun.ts +1 -1
- package/src/prerequisites/dependency-vulnerabilities.ts +1 -1
- package/src/prerequisites/external-api.ts +1 -1
- package/src/prerequisites/jobs.ts +2 -2
- package/src/prerequisites/log-file.ts +2 -2
- package/src/prerequisites/mailer.ts +2 -2
- package/src/prerequisites/memory.ts +2 -2
- package/src/prerequisites/node.ts +1 -1
- package/src/prerequisites/outside-connectivity.ts +1 -1
- package/src/prerequisites/path.ts +1 -1
- package/src/prerequisites/port.ts +2 -2
- package/src/prerequisites/ram.ts +1 -1
- package/src/prerequisites/self.ts +1 -1
- package/src/prerequisites/space.ts +1 -1
- package/src/prerequisites/ssl-certificate-expiry.ts +1 -1
- package/src/prerequisites/timezone-utc.ts +1 -1
- package/src/prerequisites/translations.ts +2 -2
- package/src/{prerequisites.ts → prerequisites.service.ts} +1 -0
- package/src/{rate-limit-shield.ts → rate-limit-shield.middleware.ts} +8 -2
- package/src/{setup.ts → setup.service.ts} +8 -8
- package/src/{sitemap.ts → sitemap.service.ts} +2 -2
- package/src/{uuid.ts → uuid.vo.ts} +1 -1
- package/src/{weak-etag-extractor.ts → weak-etag-extractor.middleware.ts} +1 -1
- /package/src/{api-key-shield.ts → api-key-shield.middleware.ts} +0 -0
- /package/src/{basic-auth.ts → basic-auth.service.ts} +0 -0
- /package/src/{build-info-repository.ts → build-info-repository.service.ts} +0 -0
- /package/src/{cache-resolver.ts → cache-resolver.service.ts} +0 -0
- /package/src/{cache-static-files.ts → cache-static-files.middleware.ts} +0 -0
- /package/src/{download-file.ts → download-file.service.ts} +0 -0
- /package/src/{encryption.ts → encryption.service.ts} +0 -0
- /package/src/{env-validator.ts → env-validator.service.ts} +0 -0
- /package/src/{etag-extractor.ts → etag-extractor.middleware.ts} +0 -0
- /package/src/{file-uploader.ts → file-uploader.middleware.ts} +0 -0
- /package/src/{graceful-shutdown.ts → graceful-shutdown.service.ts} +0 -0
- /package/src/{gzip.ts → gzip.service.ts} +0 -0
- /package/src/{hcaptcha-shield.ts → hcaptcha-shield.middleware.ts} +0 -0
- /package/src/{memory-consumption.ts → memory-consumption.service.ts} +0 -0
- /package/src/{new-uuid.ts → new-uuid.service.ts} +0 -0
- /package/src/{passwords.ts → passwords.vo.ts} +0 -0
- /package/src/{path.ts → path.vo.ts} +0 -0
- /package/src/{port.ts → port.vo.ts} +0 -0
- /package/src/{recaptcha-shield.ts → recaptcha-shield.middleware.ts} +0 -0
- /package/src/{session-id.ts → session-id.vo.ts} +0 -0
- /package/src/{simulated-error.ts → simulated-error.middleware.ts} +0 -0
- /package/src/{slower.ts → slower.middleware.ts} +0 -0
- /package/src/{time-zone-offset.ts → time-zone-offset.middleware.ts} +0 -0
- /package/src/{uptime.ts → uptime.service.ts} +0 -0
- /package/src/{url-wo-trailing-slash.ts → url-wo-trailing-slash.vo.ts} +0 -0
- /package/src/{username.ts → username.vo.ts} +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import hcaptcha from "hcaptcha";
|
|
2
|
+
import { createMiddleware } from "hono/factory";
|
|
3
|
+
import { HTTPException } from "hono/http-exception";
|
|
4
|
+
import { z } from "zod/v4";
|
|
5
|
+
export const HCaptchaSecretKey = z.string().trim().length(42);
|
|
6
|
+
export const HCaptchaSiteKey = z.string().trim().length(36);
|
|
7
|
+
export const HCaptchaResponseToken = z.string().trim();
|
|
8
|
+
export const AccessDeniedHcaptchaError = new HTTPException(403, {
|
|
9
|
+
message: "access_denied_recaptcha",
|
|
10
|
+
});
|
|
11
|
+
export class HcaptchaShield {
|
|
12
|
+
secretKey;
|
|
13
|
+
mode;
|
|
14
|
+
LOCAL_HCAPTCHA_RESPONSE_PLACEHOLDER = "10000000-aaaa-bbbb-cccc-000000000001";
|
|
15
|
+
constructor(config) {
|
|
16
|
+
this.mode = config.mode;
|
|
17
|
+
this.secretKey = config.secretKey;
|
|
18
|
+
}
|
|
19
|
+
build = createMiddleware(async (c, next) => {
|
|
20
|
+
try {
|
|
21
|
+
const form = await c.req.formData();
|
|
22
|
+
const hcaptchaTokenFormData = form.get("h-captcha-response")?.toString();
|
|
23
|
+
const result = await hcaptcha.verify(this.secretKey, this.mode === "production" ? hcaptchaTokenFormData : this.LOCAL_HCAPTCHA_RESPONSE_PLACEHOLDER);
|
|
24
|
+
if (!result?.success) {
|
|
25
|
+
throw AccessDeniedHcaptchaError;
|
|
26
|
+
}
|
|
27
|
+
return next();
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
throw AccessDeniedHcaptchaError;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=hcaptcha-shield.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hcaptcha-shield.middleware.js","sourceRoot":"","sources":["../src/hcaptcha-shield.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAI9D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAG5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAKvD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE;IAC9D,OAAO,EAAE,yBAAyB;CACnC,CAAC,CAAC;AAOH,MAAM,OAAO,cAAc;IACR,SAAS,CAAwB;IACjC,IAAI,CAA2B;IAE/B,mCAAmC,GAAG,sCAAsC,CAAC;IAE9F,YAAY,MAAkC;QAC5C,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAEpC,MAAM,qBAAqB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAA+B,CAAC;YAEtG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAClC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,mCAAmC,CAC9F,CAAC;YAEF,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,MAAM,yBAAyB,CAAC;YAClC,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,yBAAyB,CAAC;QAClC,CAAC;IACH,CAAC,CAAC,CAAC;CACJ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import * as prereqs from "./prerequisites.service";
|
|
3
|
+
export declare class Healthcheck {
|
|
4
|
+
static build: (prerequisites: prereqs.AbstractPrerequisite<prereqs.BasePrerequisiteConfig>[]) => [import("hono/types").H<import("hono").Env, string, {}, Promise<Response & import("hono").TypedResponse<{
|
|
5
|
+
ok: prereqs.PrerequisiteStatusEnum;
|
|
6
|
+
version: tools.BuildVersionType;
|
|
7
|
+
details: {
|
|
8
|
+
label: prereqs.PrerequisiteLabelType;
|
|
9
|
+
status: prereqs.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.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthcheck.service.d.ts","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAKtC,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AAmBnD,qBAAa,WAAW;IACtB,MAAM,CAAC,KAAK,GAAI,eAAe,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE;YAdzF,OAAO,CAAC,sBAAsB;iBACzB,KAAK,CAAC,gBAAgB;;mBAEtB,OAAO,CAAC,qBAAqB;oBAC5B,OAAO,CAAC,sBAAsB;;;;mCAZE,2BAC5C;;;mBAeW,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.service";
|
|
4
|
+
import { MemoryConsumption } from "./memory-consumption.service";
|
|
5
|
+
import * as prereqs from "./prerequisites.service";
|
|
6
|
+
import { Uptime } from "./uptime.service";
|
|
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 !== prereqs.PrerequisiteStatusEnum.failure)
|
|
18
|
+
? prereqs.PrerequisiteStatusEnum.success
|
|
19
|
+
: prereqs.PrerequisiteStatusEnum.failure;
|
|
20
|
+
const code = ok === prereqs.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.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"healthcheck.service.js","sourceRoot":"","sources":["../src/healthcheck.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAoB,MAAM,kBAAkB,CAAC;AAE5D,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;AAgBhC,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,KAAK,GAAG,CAAC,aAA6E,EAAE,EAAE,CAC/F,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,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;YAC5F,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO;YACxC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAE3C,MAAM,IAAI,GAAG,EAAE,KAAK,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAEvE,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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Logger } from "./logger.service";
|
|
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.middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-logger.middleware.d.ts","sourceRoot":"","sources":["../src/http-logger.middleware.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,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.service";
|
|
5
|
+
import { CacheResponse } from "./cache-response.middleware";
|
|
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.middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-logger.middleware.js","sourceRoot":"","sources":["../src/http-logger.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,MAAM,OAAO,UAAU;IACb,MAAM,CAAC,QAAQ,CAAC,QAAiB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACtD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CACvE,CAAC;QAEF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAEO,MAAM,CAAC,oBAAoB,GAAG;QACpC,QAAQ;QACR,iBAAiB;QACjB,eAAe;QACf,YAAY;QACZ,gBAAgB;QAChB,cAAc;QACd,QAAQ;QACR,KAAK;QACL,MAAM;QACN,QAAQ;QACR,QAAQ;QACR,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,SAAS;QACT,2BAA2B;QAC3B,YAAY;QACZ,eAAe;KAChB,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG,CAAC,MAAc,EAAE,EAAE,CAChC,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,aAAa,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAsB,CAAC;QAC9D,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;QACtB,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAE5B,MAAM,MAAM,GAAG;YACb,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YACvF,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;SACtC,CAAC;QAEF,IAAI,IAAS,CAAC;QAEd,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;QAElB,MAAM,yBAAyB,GAAG;YAChC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE;YACrB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC;YAC/F,IAAI;YACJ,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE;SACvB,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,qBAAqB;YAChC,aAAa;YACb,OAAO,EAAE,SAAS;YAClB,MAAM;YACN,GAAG;YACH,MAAM;YACN,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC5E,CAAC,CAAC;QAEH,MAAM,IAAI,EAAE,CAAC;QAEb,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAEjF,MAAM,QAAQ,GAAG,cAAc,KAAK,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,IAAI,QAAa,CAAC;QAClB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC,CAAA,CAAC;QAElB,MAAM,wBAAwB,GAAG;YAC/B,QAAQ;YACR,QAAQ;SACT,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAElE,MAAM,eAAe,GAAG,cAAc,EAAE,KAAK,CAAC,uBAAuB,CAAC,IAAI,SAAS,CAAC;QAEpF,MAAM,UAAU,GAAG,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEjF,MAAM,CAAC,IAAI,CAAC;YACV,SAAS,EAAE,oBAAoB;YAC/B,aAAa;YACb,OAAO,EAAE,UAAU;YACnB,MAAM;YACN,GAAG;YACH,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YAC1B,UAAU;YACV,MAAM;YACN,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACxD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as tools from "@bgord/tools";
|
|
2
|
+
import { PathType } from "./path.vo";
|
|
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
|
+
supportedLanguages: Record<string, tools.LanguageType>;
|
|
11
|
+
translationsPath?: PathType;
|
|
12
|
+
defaultLanguage?: 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.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.service.d.ts","sourceRoot":"","sources":["../src/i18n.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAQ,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;AAElF,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAEhD,MAAM,MAAM,+BAA+B,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9D,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC,0BAA0B,EAAE,+BAA+B,CAAC,CAAC;AAE1G,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IACvD,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,eAAe,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;CACtC,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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { Path } from "./path.vo";
|
|
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.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.service.js","sourceRoot":"","sources":["../src/i18n.service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,IAAI,EAAY,MAAM,WAAW,CAAC;AAoB3C,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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import sharp from "sharp";
|
|
2
|
+
import { z } from "zod/v4";
|
|
3
|
+
import type { PathType } from "../src/path.vo";
|
|
4
|
+
export declare const ImageCompressionQuality: z.ZodDefault<z.ZodNumber>;
|
|
5
|
+
type ImageCompressionQualityType = z.infer<typeof ImageCompressionQuality>;
|
|
6
|
+
export type ImageCompressorConfigType = {
|
|
7
|
+
input: PathType;
|
|
8
|
+
output: PathType;
|
|
9
|
+
quality?: ImageCompressionQualityType;
|
|
10
|
+
};
|
|
11
|
+
export declare class ImageCompressor {
|
|
12
|
+
static compress(config: ImageCompressorConfigType): Promise<sharp.OutputInfo>;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=image-compressor.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-compressor.service.d.ts","sourceRoot":"","sources":["../src/image-compressor.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,eAAO,MAAM,uBAAuB,2BAA+C,CAAC;AAEpF,KAAK,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE3E,MAAM,MAAM,yBAAyB,GAAG;IACtC,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,2BAA2B,CAAC;CACvC,CAAC;AAEF,qBAAa,eAAe;WACb,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;CASpF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import sharp from "sharp";
|
|
2
|
+
import { z } from "zod/v4";
|
|
3
|
+
export const ImageCompressionQuality = z.number().int().min(1).max(100).default(85);
|
|
4
|
+
export class ImageCompressor {
|
|
5
|
+
static async compress(config) {
|
|
6
|
+
const quality = config.quality ?? 85;
|
|
7
|
+
const image = sharp(config.input);
|
|
8
|
+
const metadata = await image.metadata();
|
|
9
|
+
const format = metadata.format;
|
|
10
|
+
return image.toFormat(format, { quality }).toFile(config.output);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=image-compressor.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-compressor.service.js","sourceRoot":"","sources":["../src/image-compressor.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAI3B,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAUpF,MAAM,OAAO,eAAe;IAC1B,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAiC;QACrD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAErC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAgC,CAAC;QAEzD,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;CACF"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import * as tools from "@bgord/tools";
|
|
3
|
+
import sharp from "sharp";
|
|
4
|
+
import type { PathType } from "./path.vo";
|
|
5
|
+
export type ImageExifOutputType = {
|
|
6
|
+
width: tools.WidthType;
|
|
7
|
+
height: tools.HeightType;
|
|
8
|
+
name: path.ParsedPath["base"];
|
|
9
|
+
mimeType: tools.MimeRawType;
|
|
10
|
+
};
|
|
11
|
+
export type ImageExifClearConfigType = {
|
|
12
|
+
input: PathType;
|
|
13
|
+
output: PathType;
|
|
14
|
+
};
|
|
15
|
+
export declare class ImageEXIF {
|
|
16
|
+
static read(input: PathType): Promise<ImageExifOutputType>;
|
|
17
|
+
static clear(config: ImageExifClearConfigType): Promise<sharp.OutputInfo>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=image-exif.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-exif.service.d.ts","sourceRoot":"","sources":["../src/image-exif.service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,MAAM,EAAE,QAAQ,CAAC;CAClB,CAAC;AAEF,qBAAa,SAAS;WACP,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC;WAcnD,KAAK,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;CAGhF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import * as tools from "@bgord/tools";
|
|
3
|
+
import mime from "mime-types";
|
|
4
|
+
import sharp from "sharp";
|
|
5
|
+
export class ImageEXIF {
|
|
6
|
+
static async read(input) {
|
|
7
|
+
const image = sharp(input);
|
|
8
|
+
const metadata = await image.metadata();
|
|
9
|
+
const name = path.parse(input).base;
|
|
10
|
+
return {
|
|
11
|
+
width: tools.Width.parse(metadata.width),
|
|
12
|
+
height: tools.Height.parse(metadata.height),
|
|
13
|
+
name,
|
|
14
|
+
mimeType: String(mime.contentType(String(metadata.format))),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
static async clear(config) {
|
|
18
|
+
return sharp(config.input).rotate().toFile(config.output);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=image-exif.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image-exif.service.js","sourceRoot":"","sources":["../src/image-exif.service.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,IAAI,MAAM,YAAY,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAgB1B,MAAM,OAAO,SAAS;IACpB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAe;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QAExC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;QAEpC,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YACxC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3C,IAAI;YACJ,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAgC;QACjD,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
export * from "./api-key-shield";
|
|
2
|
-
export * from "./api-version";
|
|
3
|
-
export * from "./auth-shield";
|
|
4
|
-
export * from "./basic-auth";
|
|
5
|
-
export * from "./build-info-repository";
|
|
6
|
-
export * from "./cache-resolver";
|
|
7
|
-
export * from "./cache-response";
|
|
8
|
-
export * from "./cache-static-files";
|
|
9
|
-
export * from "./context";
|
|
10
|
-
export * from "./correlation-id";
|
|
11
|
-
export * from "./decorators";
|
|
12
|
-
export * from "./download-file";
|
|
13
|
-
export * from "./encryption";
|
|
14
|
-
export * from "./env-validator";
|
|
15
|
-
export * from "./etag-extractor";
|
|
16
|
-
export * from "./event";
|
|
17
|
-
export * from "./event-
|
|
18
|
-
export * from "./event
|
|
19
|
-
export * from "./file-location";
|
|
20
|
-
export * from "./file-uploader";
|
|
21
|
-
export * from "./graceful-shutdown";
|
|
22
|
-
export * from "./gzip";
|
|
23
|
-
export * from "./hcaptcha-shield";
|
|
24
|
-
export * from "./healthcheck";
|
|
25
|
-
export * from "./http-logger";
|
|
26
|
-
export * from "./i18n";
|
|
27
|
-
export * from "./image-compressor";
|
|
28
|
-
export * from "./image-exif";
|
|
29
|
-
export * from "./jobs";
|
|
30
|
-
export * from "./logger";
|
|
31
|
-
export * from "./mailer";
|
|
32
|
-
export * from "./memory-consumption";
|
|
33
|
-
export * from "./new-uuid";
|
|
1
|
+
export * from "./api-key-shield.middleware";
|
|
2
|
+
export * from "./api-version.middleware";
|
|
3
|
+
export * from "./auth-shield.middleware";
|
|
4
|
+
export * from "./basic-auth.service";
|
|
5
|
+
export * from "./build-info-repository.service";
|
|
6
|
+
export * from "./cache-resolver.service";
|
|
7
|
+
export * from "./cache-response.middleware";
|
|
8
|
+
export * from "./cache-static-files.middleware";
|
|
9
|
+
export * from "./context.middleware";
|
|
10
|
+
export * from "./correlation-id.vo";
|
|
11
|
+
export * from "./decorators.service";
|
|
12
|
+
export * from "./download-file.service";
|
|
13
|
+
export * from "./encryption.service";
|
|
14
|
+
export * from "./env-validator.service";
|
|
15
|
+
export * from "./etag-extractor.middleware";
|
|
16
|
+
export * from "./event-handler.service";
|
|
17
|
+
export * from "./event-logger.service";
|
|
18
|
+
export * from "./event.vo";
|
|
19
|
+
export * from "./file-location.service";
|
|
20
|
+
export * from "./file-uploader.middleware";
|
|
21
|
+
export * from "./graceful-shutdown.service";
|
|
22
|
+
export * from "./gzip.service";
|
|
23
|
+
export * from "./hcaptcha-shield.middleware";
|
|
24
|
+
export * from "./healthcheck.service";
|
|
25
|
+
export * from "./http-logger.middleware";
|
|
26
|
+
export * from "./i18n.service";
|
|
27
|
+
export * from "./image-compressor.service";
|
|
28
|
+
export * from "./image-exif.service";
|
|
29
|
+
export * from "./jobs.service";
|
|
30
|
+
export * from "./logger.service";
|
|
31
|
+
export * from "./mailer.service";
|
|
32
|
+
export * from "./memory-consumption.service";
|
|
33
|
+
export * from "./new-uuid.service";
|
|
34
34
|
export * from "./node-env.vo";
|
|
35
|
-
export * from "./open-graph";
|
|
36
|
-
export * from "./passwords";
|
|
37
|
-
export * from "./path";
|
|
35
|
+
export * from "./open-graph.service";
|
|
36
|
+
export * from "./passwords.vo";
|
|
37
|
+
export * from "./path.vo";
|
|
38
38
|
export * from "./policy.service";
|
|
39
|
-
export * from "./port";
|
|
39
|
+
export * from "./port.vo";
|
|
40
40
|
export * from "./prerequisites";
|
|
41
41
|
export * from "./prerequisites/index";
|
|
42
|
-
export * from "./rate-limit-shield";
|
|
43
|
-
export * from "./recaptcha-shield";
|
|
44
|
-
export * from "./session-id";
|
|
45
|
-
export * from "./setup";
|
|
46
|
-
export * from "./simulated-error";
|
|
47
|
-
export * from "./sitemap";
|
|
48
|
-
export * from "./slower";
|
|
49
|
-
export * from "./time-zone-offset";
|
|
50
|
-
export * from "./uptime";
|
|
51
|
-
export * from "./url-wo-trailing-slash";
|
|
52
|
-
export * from "./username";
|
|
53
|
-
export * from "./uuid";
|
|
54
|
-
export * from "./weak-etag-extractor";
|
|
42
|
+
export * from "./rate-limit-shield.middleware";
|
|
43
|
+
export * from "./recaptcha-shield.middleware";
|
|
44
|
+
export * from "./session-id.vo";
|
|
45
|
+
export * from "./setup.service";
|
|
46
|
+
export * from "./simulated-error.middleware";
|
|
47
|
+
export * from "./sitemap.service";
|
|
48
|
+
export * from "./slower.middleware";
|
|
49
|
+
export * from "./time-zone-offset.middleware";
|
|
50
|
+
export * from "./uptime.service";
|
|
51
|
+
export * from "./url-wo-trailing-slash.vo";
|
|
52
|
+
export * from "./username.vo";
|
|
53
|
+
export * from "./uuid.vo";
|
|
54
|
+
export * from "./weak-etag-extractor.middleware";
|
|
55
55
|
export { default as sharp } from "sharp";
|
|
56
56
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
export * from "./api-key-shield";
|
|
2
|
-
export * from "./api-version";
|
|
3
|
-
export * from "./auth-shield";
|
|
4
|
-
export * from "./basic-auth";
|
|
5
|
-
export * from "./build-info-repository";
|
|
6
|
-
export * from "./cache-resolver";
|
|
7
|
-
export * from "./cache-response";
|
|
8
|
-
export * from "./cache-static-files";
|
|
9
|
-
export * from "./context";
|
|
10
|
-
export * from "./correlation-id";
|
|
11
|
-
export * from "./decorators";
|
|
12
|
-
export * from "./download-file";
|
|
13
|
-
export * from "./encryption";
|
|
14
|
-
export * from "./env-validator";
|
|
15
|
-
export * from "./etag-extractor";
|
|
16
|
-
export * from "./event";
|
|
17
|
-
export * from "./event-
|
|
18
|
-
export * from "./event
|
|
19
|
-
export * from "./file-location";
|
|
20
|
-
export * from "./file-uploader";
|
|
21
|
-
export * from "./graceful-shutdown";
|
|
22
|
-
export * from "./gzip";
|
|
23
|
-
export * from "./hcaptcha-shield";
|
|
24
|
-
export * from "./healthcheck";
|
|
25
|
-
export * from "./http-logger";
|
|
26
|
-
export * from "./i18n";
|
|
27
|
-
export * from "./image-compressor";
|
|
28
|
-
export * from "./image-exif";
|
|
29
|
-
export * from "./jobs";
|
|
30
|
-
export * from "./logger";
|
|
31
|
-
export * from "./mailer";
|
|
32
|
-
export * from "./memory-consumption";
|
|
33
|
-
export * from "./new-uuid";
|
|
1
|
+
export * from "./api-key-shield.middleware";
|
|
2
|
+
export * from "./api-version.middleware";
|
|
3
|
+
export * from "./auth-shield.middleware";
|
|
4
|
+
export * from "./basic-auth.service";
|
|
5
|
+
export * from "./build-info-repository.service";
|
|
6
|
+
export * from "./cache-resolver.service";
|
|
7
|
+
export * from "./cache-response.middleware";
|
|
8
|
+
export * from "./cache-static-files.middleware";
|
|
9
|
+
export * from "./context.middleware";
|
|
10
|
+
export * from "./correlation-id.vo";
|
|
11
|
+
export * from "./decorators.service";
|
|
12
|
+
export * from "./download-file.service";
|
|
13
|
+
export * from "./encryption.service";
|
|
14
|
+
export * from "./env-validator.service";
|
|
15
|
+
export * from "./etag-extractor.middleware";
|
|
16
|
+
export * from "./event-handler.service";
|
|
17
|
+
export * from "./event-logger.service";
|
|
18
|
+
export * from "./event.vo";
|
|
19
|
+
export * from "./file-location.service";
|
|
20
|
+
export * from "./file-uploader.middleware";
|
|
21
|
+
export * from "./graceful-shutdown.service";
|
|
22
|
+
export * from "./gzip.service";
|
|
23
|
+
export * from "./hcaptcha-shield.middleware";
|
|
24
|
+
export * from "./healthcheck.service";
|
|
25
|
+
export * from "./http-logger.middleware";
|
|
26
|
+
export * from "./i18n.service";
|
|
27
|
+
export * from "./image-compressor.service";
|
|
28
|
+
export * from "./image-exif.service";
|
|
29
|
+
export * from "./jobs.service";
|
|
30
|
+
export * from "./logger.service";
|
|
31
|
+
export * from "./mailer.service";
|
|
32
|
+
export * from "./memory-consumption.service";
|
|
33
|
+
export * from "./new-uuid.service";
|
|
34
34
|
export * from "./node-env.vo";
|
|
35
|
-
export * from "./open-graph";
|
|
36
|
-
export * from "./passwords";
|
|
37
|
-
export * from "./path";
|
|
35
|
+
export * from "./open-graph.service";
|
|
36
|
+
export * from "./passwords.vo";
|
|
37
|
+
export * from "./path.vo";
|
|
38
38
|
export * from "./policy.service";
|
|
39
|
-
export * from "./port";
|
|
39
|
+
export * from "./port.vo";
|
|
40
40
|
export * from "./prerequisites";
|
|
41
41
|
export * from "./prerequisites/index";
|
|
42
|
-
export * from "./rate-limit-shield";
|
|
43
|
-
export * from "./recaptcha-shield";
|
|
44
|
-
export * from "./session-id";
|
|
45
|
-
export * from "./setup";
|
|
46
|
-
export * from "./simulated-error";
|
|
47
|
-
export * from "./sitemap";
|
|
48
|
-
export * from "./slower";
|
|
49
|
-
export * from "./time-zone-offset";
|
|
50
|
-
export * from "./uptime";
|
|
51
|
-
export * from "./url-wo-trailing-slash";
|
|
52
|
-
export * from "./username";
|
|
53
|
-
export * from "./uuid";
|
|
54
|
-
export * from "./weak-etag-extractor";
|
|
42
|
+
export * from "./rate-limit-shield.middleware";
|
|
43
|
+
export * from "./recaptcha-shield.middleware";
|
|
44
|
+
export * from "./session-id.vo";
|
|
45
|
+
export * from "./setup.service";
|
|
46
|
+
export * from "./simulated-error.middleware";
|
|
47
|
+
export * from "./sitemap.service";
|
|
48
|
+
export * from "./slower.middleware";
|
|
49
|
+
export * from "./time-zone-offset.middleware";
|
|
50
|
+
export * from "./uptime.service";
|
|
51
|
+
export * from "./url-wo-trailing-slash.vo";
|
|
52
|
+
export * from "./username.vo";
|
|
53
|
+
export * from "./uuid.vo";
|
|
54
|
+
export * from "./weak-etag-extractor.middleware";
|
|
55
55
|
export { default as sharp } from "sharp";
|
|
56
56
|
//# 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":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,OAAO,CAAC"}
|