@bgord/bun 0.7.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.d.ts +8 -0
- package/dist/basic-auth.d.ts.map +1 -1
- package/dist/basic-auth.js +9 -0
- package/dist/basic-auth.js.map +1 -1
- 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.d.ts.map +1 -1
- 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.d.ts +4 -0
- package/dist/decorators.d.ts.map +1 -0
- package/dist/decorators.js +62 -0
- package/dist/decorators.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.d.ts +8 -3
- package/dist/encryption.d.ts.map +1 -0
- package/dist/encryption.js +37 -0
- package/dist/encryption.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.d.ts +8 -0
- package/dist/event-handler.d.ts.map +1 -0
- package/dist/event-handler.js +21 -0
- package/dist/event-handler.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.d.ts +8 -0
- package/dist/event-logger.d.ts.map +1 -0
- package/dist/event-logger.js +19 -0
- package/dist/event-logger.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.d.ts +7 -46
- package/dist/event.d.ts.map +1 -0
- package/dist/event.js +23 -0
- package/dist/event.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.d.ts +10 -9
- package/dist/file-location.d.ts.map +1 -0
- package/dist/file-location.js +46 -0
- package/dist/file-location.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.d.ts +1 -0
- package/dist/gzip.d.ts.map +1 -0
- package/dist/gzip.js +18 -0
- package/dist/gzip.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.d.ts +12 -13
- package/dist/hcaptcha-shield.d.ts.map +1 -0
- package/dist/hcaptcha-shield.js +34 -0
- package/dist/hcaptcha-shield.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.d.ts +5 -5
- package/dist/healthcheck.d.ts.map +1 -1
- package/dist/healthcheck.js +5 -5
- package/dist/healthcheck.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/i18n.js.map +1 -1
- 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.d.ts +9 -4
- package/dist/image-compressor.d.ts.map +1 -0
- package/dist/image-compressor.js +13 -0
- package/dist/image-compressor.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.d.ts +10 -9
- package/dist/image-exif.d.ts.map +1 -0
- package/dist/image-exif.js +21 -0
- package/dist/image-exif.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 +51 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +51 -34
- package/dist/index.js.map +1 -1
- package/dist/jobs.d.ts.map +1 -1
- package/dist/jobs.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.d.ts.map +1 -1
- package/dist/logger.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/mailer.js.map +1 -1
- 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/node-env.vo.d.ts.map +1 -1
- package/dist/node-env.vo.js.map +1 -1
- package/dist/open-graph.d.ts +31 -12
- package/dist/open-graph.d.ts.map +1 -0
- package/dist/open-graph.js +172 -0
- package/dist/open-graph.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.d.ts.map +1 -1
- package/dist/passwords.js.map +1 -1
- 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.d.ts.map +1 -1
- 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/policy.service.d.ts +12 -0
- package/dist/policy.service.d.ts.map +1 -0
- package/dist/policy.service.js +14 -0
- package/dist/policy.service.js.map +1 -0
- package/dist/port.d.ts.map +1 -1
- 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 +5 -5
- package/dist/prerequisites/binary.d.ts.map +1 -1
- package/dist/prerequisites/binary.js +4 -4
- package/dist/prerequisites/binary.js.map +1 -1
- package/dist/prerequisites/bun.d.ts +5 -5
- package/dist/prerequisites/bun.d.ts.map +1 -1
- package/dist/prerequisites/bun.js +5 -3
- package/dist/prerequisites/bun.js.map +1 -1
- package/dist/prerequisites/dependency-vulnerabilities.d.ts +13 -0
- package/dist/prerequisites/dependency-vulnerabilities.d.ts.map +1 -0
- package/dist/prerequisites/dependency-vulnerabilities.js +30 -0
- package/dist/prerequisites/dependency-vulnerabilities.js.map +1 -0
- package/dist/prerequisites/external-api.d.ts +14 -0
- package/dist/prerequisites/external-api.d.ts.map +1 -0
- package/dist/prerequisites/external-api.js +21 -0
- package/dist/prerequisites/external-api.js.map +1 -0
- package/dist/prerequisites/index.d.ts +2 -0
- package/dist/prerequisites/index.d.ts.map +1 -1
- package/dist/prerequisites/index.js +2 -0
- package/dist/prerequisites/index.js.map +1 -1
- package/dist/prerequisites/jobs.d.ts +6 -6
- package/dist/prerequisites/jobs.d.ts.map +1 -1
- package/dist/prerequisites/jobs.js +5 -5
- package/dist/prerequisites/jobs.js.map +1 -1
- package/dist/prerequisites/log-file.d.ts +6 -6
- package/dist/prerequisites/log-file.d.ts.map +1 -1
- package/dist/prerequisites/log-file.js +4 -4
- package/dist/prerequisites/log-file.js.map +1 -1
- package/dist/prerequisites/mailer.d.ts +6 -6
- package/dist/prerequisites/mailer.d.ts.map +1 -1
- package/dist/prerequisites/mailer.js +4 -4
- package/dist/prerequisites/mailer.js.map +1 -1
- package/dist/prerequisites/memory.d.ts +5 -5
- package/dist/prerequisites/memory.d.ts.map +1 -1
- package/dist/prerequisites/memory.js +5 -5
- package/dist/prerequisites/memory.js.map +1 -1
- package/dist/prerequisites/node.d.ts +5 -5
- package/dist/prerequisites/node.d.ts.map +1 -1
- package/dist/prerequisites/node.js +4 -4
- package/dist/prerequisites/node.js.map +1 -1
- package/dist/prerequisites/outside-connectivity.d.ts +5 -5
- package/dist/prerequisites/outside-connectivity.d.ts.map +1 -1
- package/dist/prerequisites/outside-connectivity.js +4 -4
- package/dist/prerequisites/outside-connectivity.js.map +1 -1
- package/dist/prerequisites/path.d.ts +5 -5
- package/dist/prerequisites/path.d.ts.map +1 -1
- package/dist/prerequisites/path.js +4 -4
- package/dist/prerequisites/path.js.map +1 -1
- package/dist/prerequisites/port.d.ts +6 -6
- package/dist/prerequisites/port.d.ts.map +1 -1
- package/dist/prerequisites/port.js +6 -6
- package/dist/prerequisites/port.js.map +1 -1
- package/dist/prerequisites/ram.d.ts +5 -5
- package/dist/prerequisites/ram.d.ts.map +1 -1
- package/dist/prerequisites/ram.js +4 -4
- package/dist/prerequisites/ram.js.map +1 -1
- package/dist/prerequisites/self.d.ts +5 -5
- package/dist/prerequisites/self.d.ts.map +1 -1
- package/dist/prerequisites/self.js +4 -4
- package/dist/prerequisites/self.js.map +1 -1
- package/dist/prerequisites/space.d.ts +5 -5
- package/dist/prerequisites/space.d.ts.map +1 -1
- package/dist/prerequisites/space.js +4 -4
- package/dist/prerequisites/space.js.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.d.ts +5 -5
- package/dist/prerequisites/ssl-certificate-expiry.d.ts.map +1 -1
- package/dist/prerequisites/ssl-certificate-expiry.js +5 -5
- package/dist/prerequisites/ssl-certificate-expiry.js.map +1 -1
- package/dist/prerequisites/timezone-utc.d.ts +5 -5
- package/dist/prerequisites/timezone-utc.d.ts.map +1 -1
- package/dist/prerequisites/timezone-utc.js +4 -4
- package/dist/prerequisites/timezone-utc.js.map +1 -1
- package/dist/prerequisites/translations.d.ts +8 -8
- package/dist/prerequisites/translations.d.ts.map +1 -1
- package/dist/prerequisites/translations.js +8 -8
- package/dist/prerequisites/translations.js.map +1 -1
- package/dist/prerequisites.d.ts +2 -0
- package/dist/prerequisites.d.ts.map +1 -1
- package/dist/prerequisites.js +2 -0
- package/dist/prerequisites.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.d.ts +13 -5
- package/dist/recaptcha-shield.d.ts.map +1 -0
- package/dist/recaptcha-shield.js +50 -0
- package/dist/recaptcha-shield.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.js +1 -1
- package/dist/setup.js.map +1 -1
- 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.d.ts +2 -2
- package/dist/simulated-error.d.ts.map +1 -0
- package/dist/simulated-error.js +7 -0
- package/dist/simulated-error.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.d.ts +19 -27
- package/dist/sitemap.d.ts.map +1 -0
- package/dist/sitemap.js +57 -0
- package/dist/sitemap.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.d.ts +3 -6
- package/dist/slower.d.ts.map +1 -0
- package/dist/slower.js +8 -0
- package/dist/slower.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.d.ts +4 -0
- package/dist/url-wo-trailing-slash.d.ts.map +1 -0
- package/dist/url-wo-trailing-slash.js +9 -0
- package/dist/url-wo-trailing-slash.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.d.ts.map +1 -1
- 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 +5 -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/basic-auth.service.ts +26 -0
- 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} +2 -1
- package/src/decorators.service.ts +78 -0
- package/src/encryption.service.ts +60 -0
- package/src/event-handler.service.ts +20 -0
- package/src/event-logger.service.ts +24 -0
- package/src/event.vo.ts +29 -0
- package/src/file-location.service.ts +70 -0
- package/src/gzip.service.ts +23 -0
- package/src/hcaptcha-shield.middleware.ts +57 -0
- package/src/{healthcheck.ts → healthcheck.service.ts} +12 -17
- package/src/{http-logger.ts → http-logger.middleware.ts} +4 -4
- package/src/{i18n.ts → i18n.service.ts} +6 -2
- package/src/image-compressor.service.ts +26 -0
- package/src/image-exif.service.ts +38 -0
- package/src/index.ts +51 -34
- package/src/{jobs.ts → jobs.service.ts} +4 -3
- package/src/{logger.ts → logger.service.ts} +8 -2
- package/src/{mailer.ts → mailer.service.ts} +11 -2
- package/src/node-env.vo.ts +1 -0
- package/src/open-graph.service.ts +259 -0
- package/src/{passwords.ts → passwords.vo.ts} +1 -0
- package/src/{path.ts → path.vo.ts} +1 -0
- package/src/policy.service.ts +25 -0
- package/src/{port.ts → port.vo.ts} +1 -0
- package/src/prerequisites/binary.ts +6 -10
- package/src/prerequisites/bun.ts +7 -10
- package/src/prerequisites/dependency-vulnerabilities.ts +54 -0
- package/src/prerequisites/external-api.ts +27 -0
- package/src/prerequisites/index.ts +2 -0
- package/src/prerequisites/jobs.ts +7 -13
- package/src/prerequisites/log-file.ts +7 -12
- package/src/prerequisites/mailer.ts +7 -12
- package/src/prerequisites/memory.ts +7 -12
- package/src/prerequisites/node.ts +6 -11
- package/src/prerequisites/outside-connectivity.ts +6 -11
- package/src/prerequisites/path.ts +6 -11
- package/src/prerequisites/port.ts +9 -15
- package/src/prerequisites/ram.ts +6 -11
- package/src/prerequisites/self.ts +6 -11
- package/src/prerequisites/space.ts +6 -11
- package/src/prerequisites/ssl-certificate-expiry.ts +7 -12
- package/src/prerequisites/timezone-utc.ts +6 -11
- package/src/prerequisites/translations.ts +14 -19
- package/src/{prerequisites.ts → prerequisites.service.ts} +3 -0
- package/src/{rate-limit-shield.ts → rate-limit-shield.middleware.ts} +8 -2
- package/src/recaptcha-shield.middleware.ts +76 -0
- package/src/{setup.ts → setup.service.ts} +9 -9
- package/src/simulated-error.middleware.ts +8 -0
- package/src/sitemap.service.ts +98 -0
- package/src/slower.middleware.ts +10 -0
- package/src/url-wo-trailing-slash.vo.ts +11 -0
- package/src/{uuid.ts → uuid.vo.ts} +2 -1
- package/src/{weak-etag-extractor.ts → weak-etag-extractor.middleware.ts} +1 -1
- package/src/basic-auth.ts +0 -7
- /package/src/{api-key-shield.ts → api-key-shield.middleware.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/{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/{memory-consumption.ts → memory-consumption.service.ts} +0 -0
- /package/src/{new-uuid.ts → new-uuid.service.ts} +0 -0
- /package/src/{session-id.ts → session-id.vo.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/{username.ts → username.vo.ts} +0 -0
|
@@ -1,35 +1,31 @@
|
|
|
1
1
|
import bun from "bun";
|
|
2
2
|
import { z } from "zod/v4";
|
|
3
3
|
|
|
4
|
-
import
|
|
5
|
-
AbstractPrerequisite,
|
|
6
|
-
PrerequisiteLabelType,
|
|
7
|
-
PrerequisiteStatusEnum,
|
|
8
|
-
PrerequisiteStrategyEnum,
|
|
9
|
-
} from "../prerequisites";
|
|
4
|
+
import * as prereqs from "../prerequisites.service";
|
|
10
5
|
|
|
11
6
|
const PrerequisiteBinaryValue = z
|
|
12
7
|
.string()
|
|
13
8
|
.min(1)
|
|
14
9
|
.max(64)
|
|
15
10
|
.refine((value) => !value.includes(" "));
|
|
11
|
+
|
|
16
12
|
type PrerequisiteBinaryValueType = z.infer<typeof PrerequisiteBinaryValue>;
|
|
17
13
|
|
|
18
14
|
type PrerequisiteBinaryConfigType = {
|
|
19
15
|
binary: PrerequisiteBinaryValueType;
|
|
20
|
-
label: PrerequisiteLabelType;
|
|
16
|
+
label: prereqs.PrerequisiteLabelType;
|
|
21
17
|
enabled?: boolean;
|
|
22
18
|
};
|
|
23
19
|
|
|
24
|
-
export class PrerequisiteBinary extends AbstractPrerequisite<PrerequisiteBinaryConfigType> {
|
|
25
|
-
readonly strategy = PrerequisiteStrategyEnum.binary;
|
|
20
|
+
export class PrerequisiteBinary extends prereqs.AbstractPrerequisite<PrerequisiteBinaryConfigType> {
|
|
21
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.binary;
|
|
26
22
|
|
|
27
23
|
constructor(readonly config: PrerequisiteBinaryConfigType) {
|
|
28
24
|
super(config);
|
|
29
25
|
}
|
|
30
26
|
|
|
31
27
|
async verify() {
|
|
32
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
28
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
33
29
|
|
|
34
30
|
try {
|
|
35
31
|
const binary = PrerequisiteBinaryValue.parse(this.config.binary);
|
package/src/prerequisites/bun.ts
CHANGED
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
AbstractPrerequisite,
|
|
5
|
-
PrerequisiteLabelType,
|
|
6
|
-
PrerequisiteStatusEnum,
|
|
7
|
-
PrerequisiteStrategyEnum,
|
|
8
|
-
} from "../prerequisites";
|
|
3
|
+
import * as prereqs from "../prerequisites.service";
|
|
9
4
|
|
|
10
5
|
type PrerequisiteBunConfigType = {
|
|
11
6
|
version: tools.PackageVersion;
|
|
12
|
-
label: PrerequisiteLabelType;
|
|
7
|
+
label: prereqs.PrerequisiteLabelType;
|
|
13
8
|
enabled?: boolean;
|
|
14
9
|
current: string;
|
|
15
10
|
};
|
|
16
11
|
|
|
17
|
-
export class PrerequisiteBun extends AbstractPrerequisite<PrerequisiteBunConfigType> {
|
|
18
|
-
readonly strategy = PrerequisiteStrategyEnum.bun;
|
|
12
|
+
export class PrerequisiteBun extends prereqs.AbstractPrerequisite<PrerequisiteBunConfigType> {
|
|
13
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.bun;
|
|
19
14
|
|
|
20
15
|
constructor(readonly config: PrerequisiteBunConfigType) {
|
|
21
16
|
super(config);
|
|
22
17
|
}
|
|
23
18
|
|
|
24
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
19
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
20
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
21
|
+
|
|
25
22
|
const current = tools.PackageVersion.fromString(this.config.current);
|
|
26
23
|
|
|
27
24
|
if (current.isGreaterThanOrEqual(this.config.version)) {
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import bun from "bun";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
AbstractPrerequisite,
|
|
5
|
+
PrerequisiteLabelType,
|
|
6
|
+
PrerequisiteStatusEnum,
|
|
7
|
+
PrerequisiteStrategyEnum,
|
|
8
|
+
} from "../prerequisites.service";
|
|
9
|
+
|
|
10
|
+
type PrerequisiteDependencyVulnerabilityConfigType = {
|
|
11
|
+
label: PrerequisiteLabelType;
|
|
12
|
+
enabled?: boolean;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
type BunAuditOutput = {
|
|
16
|
+
[packageName: string]: {
|
|
17
|
+
severity: "low" | "moderate" | "high" | "critical";
|
|
18
|
+
}[];
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export class PrerequisiteDependencyVulnerabilities extends AbstractPrerequisite<PrerequisiteDependencyVulnerabilityConfigType> {
|
|
22
|
+
readonly strategy = PrerequisiteStrategyEnum.dependencyVulnerabilities;
|
|
23
|
+
|
|
24
|
+
constructor(readonly config: PrerequisiteDependencyVulnerabilityConfigType) {
|
|
25
|
+
super(config);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
29
|
+
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
const result = await bun.$`bun audit --json`;
|
|
33
|
+
|
|
34
|
+
if (result.exitCode !== 0) return this.reject();
|
|
35
|
+
|
|
36
|
+
const audit = JSON.parse(result.stdout.toString()) as BunAuditOutput;
|
|
37
|
+
|
|
38
|
+
const criticalVulnerabilitiesCount = Object.values(audit).filter((name) =>
|
|
39
|
+
name.some((vulnerability) => vulnerability.severity === "critical"),
|
|
40
|
+
).length;
|
|
41
|
+
|
|
42
|
+
const highVulnerabilitiesCount = Object.values(audit).filter((name) =>
|
|
43
|
+
name.some((vulnerability) => vulnerability.severity === "high"),
|
|
44
|
+
).length;
|
|
45
|
+
|
|
46
|
+
if (criticalVulnerabilitiesCount > 0 || highVulnerabilitiesCount > 0) {
|
|
47
|
+
return this.reject();
|
|
48
|
+
}
|
|
49
|
+
return this.pass();
|
|
50
|
+
} catch (error) {
|
|
51
|
+
return this.reject();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as prereqs from "../prerequisites.service";
|
|
2
|
+
|
|
3
|
+
type PrerequisiteExternalApiConnectivityConfigType = {
|
|
4
|
+
label: prereqs.PrerequisiteLabelType;
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
request: () => Promise<Response>;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export class PrerequisiteExternalApi extends prereqs.AbstractPrerequisite<PrerequisiteExternalApiConnectivityConfigType> {
|
|
10
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.externalApi;
|
|
11
|
+
|
|
12
|
+
constructor(readonly config: PrerequisiteExternalApiConnectivityConfigType) {
|
|
13
|
+
super(config);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
17
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
18
|
+
|
|
19
|
+
try {
|
|
20
|
+
const result = await this.config.request();
|
|
21
|
+
|
|
22
|
+
return result.ok ? this.pass() : this.reject();
|
|
23
|
+
} catch (error) {
|
|
24
|
+
return this.reject();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -1,27 +1,21 @@
|
|
|
1
|
-
import { Jobs, MultipleJobsType } from "../jobs";
|
|
2
|
-
|
|
3
|
-
import {
|
|
4
|
-
AbstractPrerequisite,
|
|
5
|
-
PrerequisiteLabelType,
|
|
6
|
-
PrerequisiteStatusEnum,
|
|
7
|
-
PrerequisiteStrategyEnum,
|
|
8
|
-
} from "../prerequisites";
|
|
1
|
+
import { Jobs, MultipleJobsType } from "../jobs.service";
|
|
2
|
+
import * as prereqs from "../prerequisites.service";
|
|
9
3
|
|
|
10
4
|
type PrerequisiteJobsConfigType = {
|
|
11
5
|
jobs: MultipleJobsType;
|
|
12
|
-
label: PrerequisiteLabelType;
|
|
6
|
+
label: prereqs.PrerequisiteLabelType;
|
|
13
7
|
enabled?: boolean;
|
|
14
8
|
};
|
|
15
9
|
|
|
16
|
-
export class PrerequisiteJobs extends AbstractPrerequisite<PrerequisiteJobsConfigType> {
|
|
17
|
-
readonly strategy = PrerequisiteStrategyEnum.jobs;
|
|
10
|
+
export class PrerequisiteJobs extends prereqs.AbstractPrerequisite<PrerequisiteJobsConfigType> {
|
|
11
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.jobs;
|
|
18
12
|
|
|
19
13
|
constructor(readonly config: PrerequisiteJobsConfigType) {
|
|
20
14
|
super(config);
|
|
21
15
|
}
|
|
22
16
|
|
|
23
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
24
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
17
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
18
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
25
19
|
|
|
26
20
|
return Jobs.areAllRunning(this.config.jobs) ? this.pass() : this.reject();
|
|
27
21
|
}
|
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
import { Logger } from "../logger";
|
|
2
|
-
import
|
|
3
|
-
AbstractPrerequisite,
|
|
4
|
-
PrerequisiteLabelType,
|
|
5
|
-
PrerequisiteStatusEnum,
|
|
6
|
-
PrerequisiteStrategyEnum,
|
|
7
|
-
} from "../prerequisites";
|
|
1
|
+
import { Logger } from "../logger.service";
|
|
2
|
+
import * as prereqs from "../prerequisites.service";
|
|
8
3
|
|
|
9
4
|
type PrerequisiteLogFileConfigType = {
|
|
10
5
|
logger: Logger;
|
|
11
|
-
label: PrerequisiteLabelType;
|
|
6
|
+
label: prereqs.PrerequisiteLabelType;
|
|
12
7
|
enabled?: boolean;
|
|
13
8
|
};
|
|
14
9
|
|
|
15
|
-
export class PrerequisiteLogFile extends AbstractPrerequisite<PrerequisiteLogFileConfigType> {
|
|
16
|
-
readonly strategy = PrerequisiteStrategyEnum.logFile;
|
|
10
|
+
export class PrerequisiteLogFile extends prereqs.AbstractPrerequisite<PrerequisiteLogFileConfigType> {
|
|
11
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.logFile;
|
|
17
12
|
|
|
18
13
|
constructor(readonly config: PrerequisiteLogFileConfigType) {
|
|
19
14
|
super(config);
|
|
20
15
|
}
|
|
21
16
|
|
|
22
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
23
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
17
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
18
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
24
19
|
|
|
25
20
|
try {
|
|
26
21
|
const path = this.config.logger.getProductionLogFilePath();
|
|
@@ -1,26 +1,21 @@
|
|
|
1
|
-
import { Mailer } from "../mailer";
|
|
2
|
-
import
|
|
3
|
-
AbstractPrerequisite,
|
|
4
|
-
PrerequisiteLabelType,
|
|
5
|
-
PrerequisiteStatusEnum,
|
|
6
|
-
PrerequisiteStrategyEnum,
|
|
7
|
-
} from "../prerequisites";
|
|
1
|
+
import { Mailer } from "../mailer.service";
|
|
2
|
+
import * as prereqs from "../prerequisites.service";
|
|
8
3
|
|
|
9
4
|
type PrerequisiteMailerConfigType = {
|
|
10
5
|
mailer: Mailer;
|
|
11
|
-
label: PrerequisiteLabelType;
|
|
6
|
+
label: prereqs.PrerequisiteLabelType;
|
|
12
7
|
enabled?: boolean;
|
|
13
8
|
};
|
|
14
9
|
|
|
15
|
-
export class PrerequisiteMailer extends AbstractPrerequisite<PrerequisiteMailerConfigType> {
|
|
16
|
-
readonly strategy = PrerequisiteStrategyEnum.mailer;
|
|
10
|
+
export class PrerequisiteMailer extends prereqs.AbstractPrerequisite<PrerequisiteMailerConfigType> {
|
|
11
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.mailer;
|
|
17
12
|
|
|
18
13
|
constructor(readonly config: PrerequisiteMailerConfigType) {
|
|
19
14
|
super(config);
|
|
20
15
|
}
|
|
21
16
|
|
|
22
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
23
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
17
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
18
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
24
19
|
|
|
25
20
|
try {
|
|
26
21
|
await this.config.mailer.verify();
|
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
|
-
import { MemoryConsumption } from "../memory-consumption";
|
|
3
2
|
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
PrerequisiteLabelType,
|
|
7
|
-
PrerequisiteStatusEnum,
|
|
8
|
-
PrerequisiteStrategyEnum,
|
|
9
|
-
} from "../prerequisites";
|
|
3
|
+
import { MemoryConsumption } from "../memory-consumption.service";
|
|
4
|
+
import * as prereqs from "../prerequisites.service";
|
|
10
5
|
|
|
11
6
|
type PrerequisiteMemoryConfigType = {
|
|
12
7
|
maximum: tools.Size;
|
|
13
|
-
label: PrerequisiteLabelType;
|
|
8
|
+
label: prereqs.PrerequisiteLabelType;
|
|
14
9
|
enabled?: boolean;
|
|
15
10
|
};
|
|
16
11
|
|
|
17
|
-
export class PrerequisiteMemory extends AbstractPrerequisite<PrerequisiteMemoryConfigType> {
|
|
18
|
-
readonly strategy = PrerequisiteStrategyEnum.memory;
|
|
12
|
+
export class PrerequisiteMemory extends prereqs.AbstractPrerequisite<PrerequisiteMemoryConfigType> {
|
|
13
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.memory;
|
|
19
14
|
|
|
20
15
|
constructor(readonly config: PrerequisiteMemoryConfigType) {
|
|
21
16
|
super(config);
|
|
22
17
|
}
|
|
23
18
|
|
|
24
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
25
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
19
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
20
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
26
21
|
|
|
27
22
|
const memoryConsumption = MemoryConsumption.get();
|
|
28
23
|
|
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
2
|
import bun from "bun";
|
|
3
3
|
|
|
4
|
-
import
|
|
5
|
-
AbstractPrerequisite,
|
|
6
|
-
PrerequisiteLabelType,
|
|
7
|
-
PrerequisiteStatusEnum,
|
|
8
|
-
PrerequisiteStrategyEnum,
|
|
9
|
-
} from "../prerequisites";
|
|
4
|
+
import * as prereqs from "../prerequisites.service";
|
|
10
5
|
|
|
11
6
|
type PrerequisiteNodeConfigType = {
|
|
12
7
|
version: tools.PackageVersion;
|
|
13
|
-
label: PrerequisiteLabelType;
|
|
8
|
+
label: prereqs.PrerequisiteLabelType;
|
|
14
9
|
enabled?: boolean;
|
|
15
10
|
};
|
|
16
11
|
|
|
17
|
-
export class PrerequisiteNode extends AbstractPrerequisite<PrerequisiteNodeConfigType> {
|
|
18
|
-
readonly strategy = PrerequisiteStrategyEnum.node;
|
|
12
|
+
export class PrerequisiteNode extends prereqs.AbstractPrerequisite<PrerequisiteNodeConfigType> {
|
|
13
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.node;
|
|
19
14
|
|
|
20
15
|
constructor(readonly config: PrerequisiteNodeConfigType) {
|
|
21
16
|
super(config);
|
|
22
17
|
}
|
|
23
18
|
|
|
24
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
25
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
19
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
20
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
26
21
|
|
|
27
22
|
const { stdout } = await bun.$`node -v`;
|
|
28
23
|
const version = stdout.toString().trim();
|
|
@@ -1,24 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
AbstractPrerequisite,
|
|
3
|
-
PrerequisiteLabelType,
|
|
4
|
-
PrerequisiteStatusEnum,
|
|
5
|
-
PrerequisiteStrategyEnum,
|
|
6
|
-
} from "../prerequisites";
|
|
1
|
+
import * as prereqs from "../prerequisites.service";
|
|
7
2
|
|
|
8
3
|
type PrerequisiteOutsideConnectivityConfigType = {
|
|
9
|
-
label: PrerequisiteLabelType;
|
|
4
|
+
label: prereqs.PrerequisiteLabelType;
|
|
10
5
|
enabled?: boolean;
|
|
11
6
|
};
|
|
12
7
|
|
|
13
|
-
export class PrerequisiteOutsideConnectivity extends AbstractPrerequisite<PrerequisiteOutsideConnectivityConfigType> {
|
|
14
|
-
readonly strategy = PrerequisiteStrategyEnum.outsideConnectivity;
|
|
8
|
+
export class PrerequisiteOutsideConnectivity extends prereqs.AbstractPrerequisite<PrerequisiteOutsideConnectivityConfigType> {
|
|
9
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.outsideConnectivity;
|
|
15
10
|
|
|
16
11
|
constructor(readonly config: PrerequisiteOutsideConnectivityConfigType) {
|
|
17
12
|
super(config);
|
|
18
13
|
}
|
|
19
14
|
|
|
20
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
21
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
15
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
16
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
22
17
|
|
|
23
18
|
try {
|
|
24
19
|
const result = await fetch("https://google.com");
|
|
@@ -1,29 +1,24 @@
|
|
|
1
1
|
import { constants } from "node:fs";
|
|
2
2
|
import fsp from "node:fs/promises";
|
|
3
3
|
|
|
4
|
-
import
|
|
5
|
-
AbstractPrerequisite,
|
|
6
|
-
PrerequisiteLabelType,
|
|
7
|
-
PrerequisiteStatusEnum,
|
|
8
|
-
PrerequisiteStrategyEnum,
|
|
9
|
-
} from "../prerequisites";
|
|
4
|
+
import * as prereqs from "../prerequisites.service";
|
|
10
5
|
|
|
11
6
|
type PrerequisitePathConfigType = {
|
|
12
7
|
path: string;
|
|
13
8
|
access?: { write?: boolean; execute?: boolean };
|
|
14
|
-
label: PrerequisiteLabelType;
|
|
9
|
+
label: prereqs.PrerequisiteLabelType;
|
|
15
10
|
enabled?: boolean;
|
|
16
11
|
};
|
|
17
12
|
|
|
18
|
-
export class PrerequisitePath extends AbstractPrerequisite<PrerequisitePathConfigType> {
|
|
19
|
-
readonly strategy = PrerequisiteStrategyEnum.path;
|
|
13
|
+
export class PrerequisitePath extends prereqs.AbstractPrerequisite<PrerequisitePathConfigType> {
|
|
14
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.path;
|
|
20
15
|
|
|
21
16
|
constructor(readonly config: PrerequisitePathConfigType) {
|
|
22
17
|
super(config);
|
|
23
18
|
}
|
|
24
19
|
|
|
25
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
26
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
20
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
21
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
27
22
|
|
|
28
23
|
const write = this.config.access?.write ?? false;
|
|
29
24
|
const execute = this.config.access?.execute ?? false;
|
|
@@ -1,29 +1,23 @@
|
|
|
1
1
|
import net from "node:net";
|
|
2
2
|
|
|
3
|
-
import type { PortType } from "../port";
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
AbstractPrerequisite,
|
|
7
|
-
PrerequisiteLabelType,
|
|
8
|
-
PrerequisiteStatusEnum,
|
|
9
|
-
PrerequisiteStrategyEnum,
|
|
10
|
-
} from "../prerequisites";
|
|
3
|
+
import type { PortType } from "../port.vo";
|
|
4
|
+
import * as prereqs from "../prerequisites.service";
|
|
11
5
|
|
|
12
6
|
type PrerequisitePortConfigType = {
|
|
13
7
|
port: PortType;
|
|
14
|
-
label: PrerequisiteLabelType;
|
|
8
|
+
label: prereqs.PrerequisiteLabelType;
|
|
15
9
|
enabled?: boolean;
|
|
16
10
|
};
|
|
17
11
|
|
|
18
|
-
export class PrerequisitePort extends AbstractPrerequisite<PrerequisitePortConfigType> {
|
|
19
|
-
readonly strategy = PrerequisiteStrategyEnum.port;
|
|
12
|
+
export class PrerequisitePort extends prereqs.AbstractPrerequisite<PrerequisitePortConfigType> {
|
|
13
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.port;
|
|
20
14
|
|
|
21
15
|
constructor(readonly config: PrerequisitePortConfigType) {
|
|
22
16
|
super(config);
|
|
23
17
|
}
|
|
24
18
|
|
|
25
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
26
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
19
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
20
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
27
21
|
|
|
28
22
|
return new Promise((resolve) => {
|
|
29
23
|
const server = net.createServer();
|
|
@@ -31,13 +25,13 @@ export class PrerequisitePort extends AbstractPrerequisite<PrerequisitePortConfi
|
|
|
31
25
|
server.listen(this.config.port, () =>
|
|
32
26
|
server.close(() => {
|
|
33
27
|
this.pass();
|
|
34
|
-
return resolve(PrerequisiteStatusEnum.success);
|
|
28
|
+
return resolve(prereqs.PrerequisiteStatusEnum.success);
|
|
35
29
|
}),
|
|
36
30
|
);
|
|
37
31
|
|
|
38
32
|
server.on("error", () => {
|
|
39
33
|
this.reject();
|
|
40
|
-
return resolve(PrerequisiteStatusEnum.failure);
|
|
34
|
+
return resolve(prereqs.PrerequisiteStatusEnum.failure);
|
|
41
35
|
});
|
|
42
36
|
});
|
|
43
37
|
}
|
package/src/prerequisites/ram.ts
CHANGED
|
@@ -1,28 +1,23 @@
|
|
|
1
1
|
import os from "node:os";
|
|
2
2
|
import * as tools from "@bgord/tools";
|
|
3
3
|
|
|
4
|
-
import
|
|
5
|
-
AbstractPrerequisite,
|
|
6
|
-
PrerequisiteLabelType,
|
|
7
|
-
PrerequisiteStatusEnum,
|
|
8
|
-
PrerequisiteStrategyEnum,
|
|
9
|
-
} from "../prerequisites";
|
|
4
|
+
import * as prereqs from "../prerequisites.service";
|
|
10
5
|
|
|
11
6
|
type PrerequisiteRAMConfigType = {
|
|
12
7
|
minimum: tools.Size;
|
|
13
|
-
label: PrerequisiteLabelType;
|
|
8
|
+
label: prereqs.PrerequisiteLabelType;
|
|
14
9
|
enabled?: boolean;
|
|
15
10
|
};
|
|
16
11
|
|
|
17
|
-
export class PrerequisiteRAM extends AbstractPrerequisite<PrerequisiteRAMConfigType> {
|
|
18
|
-
readonly strategy = PrerequisiteStrategyEnum.RAM;
|
|
12
|
+
export class PrerequisiteRAM extends prereqs.AbstractPrerequisite<PrerequisiteRAMConfigType> {
|
|
13
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.RAM;
|
|
19
14
|
|
|
20
15
|
constructor(readonly config: PrerequisiteRAMConfigType) {
|
|
21
16
|
super(config);
|
|
22
17
|
}
|
|
23
18
|
|
|
24
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
25
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
19
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
20
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
26
21
|
|
|
27
22
|
const freeRAM = new tools.Size({
|
|
28
23
|
unit: tools.SizeUnit.b,
|
|
@@ -1,24 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
AbstractPrerequisite,
|
|
3
|
-
PrerequisiteLabelType,
|
|
4
|
-
PrerequisiteStatusEnum,
|
|
5
|
-
PrerequisiteStrategyEnum,
|
|
6
|
-
} from "../prerequisites";
|
|
1
|
+
import * as prereqs from "../prerequisites.service";
|
|
7
2
|
|
|
8
3
|
type PrerequisiteSelfConfigType = {
|
|
9
|
-
label: PrerequisiteLabelType;
|
|
4
|
+
label: prereqs.PrerequisiteLabelType;
|
|
10
5
|
enabled?: boolean;
|
|
11
6
|
};
|
|
12
7
|
|
|
13
|
-
export class PrerequisiteSelf extends AbstractPrerequisite<PrerequisiteSelfConfigType> {
|
|
14
|
-
readonly strategy = PrerequisiteStrategyEnum.self;
|
|
8
|
+
export class PrerequisiteSelf extends prereqs.AbstractPrerequisite<PrerequisiteSelfConfigType> {
|
|
9
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.self;
|
|
15
10
|
|
|
16
11
|
constructor(readonly config: PrerequisiteSelfConfigType) {
|
|
17
12
|
super(config);
|
|
18
13
|
}
|
|
19
14
|
|
|
20
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
21
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
15
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
16
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
22
17
|
return this.pass();
|
|
23
18
|
}
|
|
24
19
|
}
|
|
@@ -2,28 +2,23 @@ import path from "node:path";
|
|
|
2
2
|
import * as tools from "@bgord/tools";
|
|
3
3
|
import checkDiskSpace from "check-disk-space";
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
AbstractPrerequisite,
|
|
7
|
-
PrerequisiteLabelType,
|
|
8
|
-
PrerequisiteStatusEnum,
|
|
9
|
-
PrerequisiteStrategyEnum,
|
|
10
|
-
} from "../prerequisites";
|
|
5
|
+
import * as prereqs from "../prerequisites.service";
|
|
11
6
|
|
|
12
7
|
type PrerequisiteSpaceConfigType = {
|
|
13
8
|
minimum: tools.Size;
|
|
14
|
-
label: PrerequisiteLabelType;
|
|
9
|
+
label: prereqs.PrerequisiteLabelType;
|
|
15
10
|
enabled?: boolean;
|
|
16
11
|
};
|
|
17
12
|
|
|
18
|
-
export class PrerequisiteSpace extends AbstractPrerequisite<PrerequisiteSpaceConfigType> {
|
|
19
|
-
readonly strategy = PrerequisiteStrategyEnum.space;
|
|
13
|
+
export class PrerequisiteSpace extends prereqs.AbstractPrerequisite<PrerequisiteSpaceConfigType> {
|
|
14
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.space;
|
|
20
15
|
|
|
21
16
|
constructor(readonly config: PrerequisiteSpaceConfigType) {
|
|
22
17
|
super(config);
|
|
23
18
|
}
|
|
24
19
|
|
|
25
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
26
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
20
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
21
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
27
22
|
|
|
28
23
|
const fsRoot = path.sep;
|
|
29
24
|
const bytes = await checkDiskSpace(fsRoot);
|
|
@@ -1,33 +1,28 @@
|
|
|
1
1
|
import sslChecker from "ssl-checker";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
AbstractPrerequisite,
|
|
5
|
-
PrerequisiteLabelType,
|
|
6
|
-
PrerequisiteStatusEnum,
|
|
7
|
-
PrerequisiteStrategyEnum,
|
|
8
|
-
} from "../prerequisites";
|
|
3
|
+
import * as prereqs from "../prerequisites.service";
|
|
9
4
|
|
|
10
5
|
type PrerequisiteSSLCertificateExpiryConfigType = {
|
|
11
6
|
host: string;
|
|
12
7
|
validDaysMinimum: number;
|
|
13
|
-
label: PrerequisiteLabelType;
|
|
8
|
+
label: prereqs.PrerequisiteLabelType;
|
|
14
9
|
enabled?: boolean;
|
|
15
10
|
};
|
|
16
11
|
|
|
17
|
-
export class PrerequisiteSSLCertificateExpiry extends AbstractPrerequisite<PrerequisiteSSLCertificateExpiryConfigType> {
|
|
18
|
-
readonly strategy = PrerequisiteStrategyEnum.sslCertificateExpiry;
|
|
12
|
+
export class PrerequisiteSSLCertificateExpiry extends prereqs.AbstractPrerequisite<PrerequisiteSSLCertificateExpiryConfigType> {
|
|
13
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.sslCertificateExpiry;
|
|
19
14
|
|
|
20
15
|
constructor(readonly config: PrerequisiteSSLCertificateExpiryConfigType) {
|
|
21
16
|
super(config);
|
|
22
17
|
}
|
|
23
18
|
|
|
24
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
25
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
19
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
20
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
26
21
|
|
|
27
22
|
try {
|
|
28
23
|
const result = await sslChecker(this.config.host);
|
|
29
24
|
|
|
30
|
-
if (!result.valid) return PrerequisiteStatusEnum.failure;
|
|
25
|
+
if (!result.valid) return prereqs.PrerequisiteStatusEnum.failure;
|
|
31
26
|
|
|
32
27
|
return result.daysRemaining <= this.config.validDaysMinimum ? this.reject() : this.pass();
|
|
33
28
|
} catch (error) {
|
|
@@ -1,30 +1,25 @@
|
|
|
1
1
|
import * as tools from "@bgord/tools";
|
|
2
2
|
import { z } from "zod/v4";
|
|
3
3
|
|
|
4
|
-
import
|
|
5
|
-
AbstractPrerequisite,
|
|
6
|
-
PrerequisiteLabelType,
|
|
7
|
-
PrerequisiteStatusEnum,
|
|
8
|
-
PrerequisiteStrategyEnum,
|
|
9
|
-
} from "../prerequisites";
|
|
4
|
+
import * as prereqs from "../prerequisites.service";
|
|
10
5
|
|
|
11
6
|
type PrerequisiteTimezoneUtcConfigType = {
|
|
12
7
|
timezone: tools.TimezoneType;
|
|
13
|
-
label: PrerequisiteLabelType;
|
|
8
|
+
label: prereqs.PrerequisiteLabelType;
|
|
14
9
|
enabled?: boolean;
|
|
15
10
|
};
|
|
16
11
|
|
|
17
12
|
export const TimezoneUtc = z.literal("UTC");
|
|
18
13
|
|
|
19
|
-
export class PrerequisiteTimezoneUTC extends AbstractPrerequisite<PrerequisiteTimezoneUtcConfigType> {
|
|
20
|
-
readonly strategy = PrerequisiteStrategyEnum.timezoneUTC;
|
|
14
|
+
export class PrerequisiteTimezoneUTC extends prereqs.AbstractPrerequisite<PrerequisiteTimezoneUtcConfigType> {
|
|
15
|
+
readonly strategy = prereqs.PrerequisiteStrategyEnum.timezoneUTC;
|
|
21
16
|
|
|
22
17
|
constructor(readonly config: PrerequisiteTimezoneUtcConfigType) {
|
|
23
18
|
super(config);
|
|
24
19
|
}
|
|
25
20
|
|
|
26
|
-
async verify(): Promise<PrerequisiteStatusEnum> {
|
|
27
|
-
if (!this.enabled) return PrerequisiteStatusEnum.undetermined;
|
|
21
|
+
async verify(): Promise<prereqs.PrerequisiteStatusEnum> {
|
|
22
|
+
if (!this.enabled) return prereqs.PrerequisiteStatusEnum.undetermined;
|
|
28
23
|
|
|
29
24
|
try {
|
|
30
25
|
TimezoneUtc.parse(this.config.timezone);
|