jimpex 7.0.2 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +93 -0
- package/LICENSE +1 -1
- package/README.md +447 -435
- package/dist/app/index.d.mts +14 -0
- package/dist/app/index.d.ts +14 -0
- package/dist/app/index.js +23 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/jimpex.d.mts +14 -0
- package/dist/app/jimpex.d.ts +14 -0
- package/dist/app/jimpex.js +665 -0
- package/dist/app/jimpex.js.map +1 -0
- package/dist/controllers/common/config.d.mts +79 -0
- package/dist/controllers/common/config.d.ts +79 -0
- package/dist/controllers/common/config.js +107 -0
- package/dist/controllers/common/config.js.map +1 -0
- package/dist/controllers/common/health.d.mts +83 -0
- package/dist/controllers/common/health.d.ts +83 -0
- package/dist/controllers/common/health.js +115 -0
- package/dist/controllers/common/health.js.map +1 -0
- package/dist/controllers/common/index.d.mts +21 -0
- package/dist/controllers/common/index.d.ts +21 -0
- package/dist/controllers/common/index.js +27 -0
- package/dist/controllers/common/index.js.map +1 -0
- package/dist/controllers/common/statics.d.mts +215 -0
- package/dist/controllers/common/statics.d.ts +215 -0
- package/dist/controllers/common/statics.js +253 -0
- package/dist/controllers/common/statics.js.map +1 -0
- package/dist/controllers/index.d.mts +24 -0
- package/dist/controllers/index.d.ts +24 -0
- package/dist/controllers/index.js +25 -0
- package/dist/controllers/index.js.map +1 -0
- package/dist/controllers/utils/gateway.d.mts +725 -0
- package/dist/controllers/utils/gateway.d.ts +725 -0
- package/dist/controllers/utils/gateway.js +577 -0
- package/dist/controllers/utils/gateway.js.map +1 -0
- package/dist/controllers/utils/index.d.mts +17 -0
- package/dist/controllers/utils/index.d.ts +17 -0
- package/dist/controllers/utils/index.js +23 -0
- package/dist/controllers/utils/index.js.map +1 -0
- package/dist/esm/app/index.js +2 -0
- package/dist/esm/app/index.js.map +1 -0
- package/dist/esm/app/jimpex.js +636 -0
- package/dist/esm/app/jimpex.js.map +1 -0
- package/dist/esm/chunk-2B2CG5KL.js +11 -0
- package/dist/esm/chunk-2B2CG5KL.js.map +1 -0
- package/dist/esm/controllers/common/config.js +80 -0
- package/dist/esm/controllers/common/config.js.map +1 -0
- package/dist/esm/controllers/common/health.js +88 -0
- package/dist/esm/controllers/common/health.js.map +1 -0
- package/dist/esm/controllers/common/index.js +4 -0
- package/dist/esm/controllers/common/index.js.map +1 -0
- package/dist/esm/controllers/common/statics.js +220 -0
- package/dist/esm/controllers/common/statics.js.map +1 -0
- package/dist/esm/controllers/index.js +3 -0
- package/dist/esm/controllers/index.js.map +1 -0
- package/dist/esm/controllers/utils/gateway.js +556 -0
- package/dist/esm/controllers/utils/gateway.js.map +1 -0
- package/dist/esm/controllers/utils/index.js +2 -0
- package/dist/esm/controllers/utils/index.js.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/middlewares/common/errorHandler.js +116 -0
- package/dist/esm/middlewares/common/errorHandler.js.map +1 -0
- package/dist/esm/middlewares/common/forceHTTPS.js +53 -0
- package/dist/esm/middlewares/common/forceHTTPS.js.map +1 -0
- package/dist/esm/middlewares/common/hsts.js +74 -0
- package/dist/esm/middlewares/common/hsts.js.map +1 -0
- package/dist/esm/middlewares/common/index.js +4 -0
- package/dist/esm/middlewares/common/index.js.map +1 -0
- package/dist/esm/middlewares/html/fastHTML.js +158 -0
- package/dist/esm/middlewares/html/fastHTML.js.map +1 -0
- package/dist/esm/middlewares/html/index.js +3 -0
- package/dist/esm/middlewares/html/index.js.map +1 -0
- package/dist/esm/middlewares/html/showHTML.js +100 -0
- package/dist/esm/middlewares/html/showHTML.js.map +1 -0
- package/dist/esm/middlewares/index.js +4 -0
- package/dist/esm/middlewares/index.js.map +1 -0
- package/dist/esm/middlewares/utils/index.js +2 -0
- package/dist/esm/middlewares/utils/index.js.map +1 -0
- package/dist/esm/middlewares/utils/versionValidator.js +135 -0
- package/dist/esm/middlewares/utils/versionValidator.js.map +1 -0
- package/dist/esm/services/common/appError.js +98 -0
- package/dist/esm/services/common/appError.js.map +1 -0
- package/dist/esm/services/common/httpError.js +28 -0
- package/dist/esm/services/common/httpError.js.map +1 -0
- package/dist/esm/services/common/index.js +17 -0
- package/dist/esm/services/common/index.js.map +1 -0
- package/dist/esm/services/common/sendFile.js +27 -0
- package/dist/esm/services/common/sendFile.js.map +1 -0
- package/dist/esm/services/frontend/frontendFs.js +66 -0
- package/dist/esm/services/frontend/frontendFs.js.map +1 -0
- package/dist/esm/services/frontend/index.js +11 -0
- package/dist/esm/services/frontend/index.js.map +1 -0
- package/dist/esm/services/html/htmlGenerator.js +194 -0
- package/dist/esm/services/html/htmlGenerator.js.map +1 -0
- package/dist/esm/services/html/index.js +11 -0
- package/dist/esm/services/html/index.js.map +1 -0
- package/dist/esm/services/http/apiClient.js +97 -0
- package/dist/esm/services/http/apiClient.js.map +1 -0
- package/dist/esm/services/http/http.js +174 -0
- package/dist/esm/services/http/http.js.map +1 -0
- package/dist/esm/services/http/index.js +17 -0
- package/dist/esm/services/http/index.js.map +1 -0
- package/dist/esm/services/http/responsesBuilder.js +152 -0
- package/dist/esm/services/http/responsesBuilder.js.map +1 -0
- package/dist/esm/services/index.js +6 -0
- package/dist/esm/services/index.js.map +1 -0
- package/dist/esm/services/utils/ensureBearerToken.js +94 -0
- package/dist/esm/services/utils/ensureBearerToken.js.map +1 -0
- package/dist/esm/services/utils/index.js +11 -0
- package/dist/esm/services/utils/index.js.map +1 -0
- package/dist/esm/types/events.js +1 -0
- package/dist/esm/types/events.js.map +1 -0
- package/dist/esm/types/express.js +1 -0
- package/dist/esm/types/express.js.map +1 -0
- package/dist/esm/types/http.js +1 -0
- package/dist/esm/types/http.js.map +1 -0
- package/dist/esm/types/index.js +7 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/options.js +1 -0
- package/dist/esm/types/options.js.map +1 -0
- package/dist/esm/types/utils.js +1 -0
- package/dist/esm/types/utils.js.map +1 -0
- package/dist/esm/types/wootils.js +1 -0
- package/dist/esm/types/wootils.js.map +1 -0
- package/dist/esm/utils/fns/index.js +5 -0
- package/dist/esm/utils/fns/index.js.map +1 -0
- package/dist/esm/utils/fns/others.js +6 -0
- package/dist/esm/utils/fns/others.js.map +1 -0
- package/dist/esm/utils/fns/routes.js +25 -0
- package/dist/esm/utils/fns/routes.js.map +1 -0
- package/dist/esm/utils/fns/statuses.js +6 -0
- package/dist/esm/utils/fns/statuses.js.map +1 -0
- package/dist/esm/utils/fns/text.js +6 -0
- package/dist/esm/utils/fns/text.js.map +1 -0
- package/dist/esm/utils/index.js +3 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/wrappers.js +41 -0
- package/dist/esm/utils/wrappers.js.map +1 -0
- package/dist/index-b2a04c78.d.ts +1282 -0
- package/dist/index-efeb437e.d.ts +1282 -0
- package/dist/index.d.mts +46 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/middlewares/common/errorHandler.d.mts +132 -0
- package/dist/middlewares/common/errorHandler.d.ts +132 -0
- package/dist/middlewares/common/errorHandler.js +143 -0
- package/dist/middlewares/common/errorHandler.js.map +1 -0
- package/dist/middlewares/common/forceHTTPS.d.mts +69 -0
- package/dist/middlewares/common/forceHTTPS.d.ts +69 -0
- package/dist/middlewares/common/forceHTTPS.js +80 -0
- package/dist/middlewares/common/forceHTTPS.js.map +1 -0
- package/dist/middlewares/common/hsts.d.mts +110 -0
- package/dist/middlewares/common/hsts.d.ts +110 -0
- package/dist/middlewares/common/hsts.js +101 -0
- package/dist/middlewares/common/hsts.js.map +1 -0
- package/dist/middlewares/common/index.d.mts +22 -0
- package/dist/middlewares/common/index.d.ts +22 -0
- package/dist/middlewares/common/index.js +27 -0
- package/dist/middlewares/common/index.js.map +1 -0
- package/dist/middlewares/html/fastHTML.d.mts +180 -0
- package/dist/middlewares/html/fastHTML.d.ts +180 -0
- package/dist/middlewares/html/fastHTML.js +185 -0
- package/dist/middlewares/html/fastHTML.js.map +1 -0
- package/dist/middlewares/html/index.d.mts +21 -0
- package/dist/middlewares/html/index.d.ts +21 -0
- package/dist/middlewares/html/index.js +25 -0
- package/dist/middlewares/html/index.js.map +1 -0
- package/dist/middlewares/html/showHTML.d.mts +127 -0
- package/dist/middlewares/html/showHTML.d.ts +127 -0
- package/dist/middlewares/html/showHTML.js +127 -0
- package/dist/middlewares/html/showHTML.js.map +1 -0
- package/dist/middlewares/index.d.mts +30 -0
- package/dist/middlewares/index.d.ts +30 -0
- package/dist/middlewares/index.js +27 -0
- package/dist/middlewares/index.js.map +1 -0
- package/dist/middlewares/utils/index.d.mts +20 -0
- package/dist/middlewares/utils/index.d.ts +20 -0
- package/dist/middlewares/utils/index.js +23 -0
- package/dist/middlewares/utils/index.js.map +1 -0
- package/dist/middlewares/utils/versionValidator.d.mts +215 -0
- package/dist/middlewares/utils/versionValidator.d.ts +215 -0
- package/dist/middlewares/utils/versionValidator.js +162 -0
- package/dist/middlewares/utils/versionValidator.js.map +1 -0
- package/dist/services/common/appError.d.mts +139 -0
- package/dist/services/common/appError.d.ts +139 -0
- package/dist/services/common/appError.js +126 -0
- package/dist/services/common/appError.js.map +1 -0
- package/dist/services/common/httpError.d.mts +80 -0
- package/dist/services/common/httpError.d.ts +80 -0
- package/dist/services/common/httpError.js +53 -0
- package/dist/services/common/httpError.js.map +1 -0
- package/dist/services/common/index.d.mts +47 -0
- package/dist/services/common/index.d.ts +47 -0
- package/dist/services/common/index.js +44 -0
- package/dist/services/common/index.js.map +1 -0
- package/dist/services/common/sendFile.d.mts +102 -0
- package/dist/services/common/sendFile.d.ts +102 -0
- package/dist/services/common/sendFile.js +51 -0
- package/dist/services/common/sendFile.js.map +1 -0
- package/dist/services/frontend/frontendFs.d.mts +96 -0
- package/dist/services/frontend/frontendFs.d.ts +96 -0
- package/dist/services/frontend/frontendFs.js +103 -0
- package/dist/services/frontend/frontendFs.js.map +1 -0
- package/dist/services/frontend/index.d.mts +40 -0
- package/dist/services/frontend/index.d.ts +40 -0
- package/dist/services/frontend/index.js +36 -0
- package/dist/services/frontend/index.js.map +1 -0
- package/dist/services/html/htmlGenerator.d.mts +237 -0
- package/dist/services/html/htmlGenerator.d.ts +237 -0
- package/dist/services/html/htmlGenerator.js +221 -0
- package/dist/services/html/htmlGenerator.js.map +1 -0
- package/dist/services/html/index.d.mts +43 -0
- package/dist/services/html/index.d.ts +43 -0
- package/dist/services/html/index.js +36 -0
- package/dist/services/html/index.js.map +1 -0
- package/dist/services/http/apiClient.d.mts +170 -0
- package/dist/services/http/apiClient.d.ts +170 -0
- package/dist/services/http/apiClient.js +122 -0
- package/dist/services/http/apiClient.js.map +1 -0
- package/dist/services/http/http.d.mts +176 -0
- package/dist/services/http/http.d.ts +176 -0
- package/dist/services/http/http.js +211 -0
- package/dist/services/http/http.js.map +1 -0
- package/dist/services/http/index.d.mts +51 -0
- package/dist/services/http/index.d.ts +51 -0
- package/dist/services/http/index.js +44 -0
- package/dist/services/http/index.js.map +1 -0
- package/dist/services/http/responsesBuilder.d.mts +179 -0
- package/dist/services/http/responsesBuilder.d.ts +179 -0
- package/dist/services/http/responsesBuilder.js +179 -0
- package/dist/services/http/responsesBuilder.js.map +1 -0
- package/dist/services/index.d.mts +33 -0
- package/dist/services/index.d.ts +33 -0
- package/dist/services/index.js +31 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/utils/ensureBearerToken.d.mts +158 -0
- package/dist/services/utils/ensureBearerToken.d.ts +158 -0
- package/dist/services/utils/ensureBearerToken.js +121 -0
- package/dist/services/utils/ensureBearerToken.js.map +1 -0
- package/dist/services/utils/index.d.mts +44 -0
- package/dist/services/utils/index.d.ts +44 -0
- package/dist/services/utils/index.js +36 -0
- package/dist/services/utils/index.js.map +1 -0
- package/dist/types/events.d.mts +14 -0
- package/dist/types/events.d.ts +14 -0
- package/dist/types/events.js +17 -0
- package/dist/types/events.js.map +1 -0
- package/dist/types/express.d.mts +10 -0
- package/dist/types/express.d.ts +10 -0
- package/dist/types/express.js +17 -0
- package/dist/types/express.js.map +1 -0
- package/dist/types/http.d.mts +79 -0
- package/dist/types/http.d.ts +79 -0
- package/dist/types/http.js +17 -0
- package/dist/types/http.js.map +1 -0
- package/dist/types/index.d.mts +14 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.js +33 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/options.d.mts +14 -0
- package/dist/types/options.d.ts +14 -0
- package/dist/types/options.js +17 -0
- package/dist/types/options.js.map +1 -0
- package/dist/types/utils.d.mts +48 -0
- package/dist/types/utils.d.ts +48 -0
- package/dist/types/utils.js +17 -0
- package/dist/types/utils.js.map +1 -0
- package/dist/types/wootils.d.mts +4 -0
- package/dist/types/wootils.d.ts +4 -0
- package/dist/types/wootils.js +17 -0
- package/dist/types/wootils.js.map +1 -0
- package/dist/utils/fns/index.d.mts +5 -0
- package/dist/utils/fns/index.d.ts +5 -0
- package/dist/utils/fns/index.js +29 -0
- package/dist/utils/fns/index.js.map +1 -0
- package/dist/utils/fns/others.d.mts +17 -0
- package/dist/utils/fns/others.d.ts +17 -0
- package/dist/utils/fns/others.js +29 -0
- package/dist/utils/fns/others.js.map +1 -0
- package/dist/utils/fns/routes.d.mts +39 -0
- package/dist/utils/fns/routes.d.ts +39 -0
- package/dist/utils/fns/routes.js +51 -0
- package/dist/utils/fns/routes.js.map +1 -0
- package/dist/utils/fns/statuses.d.mts +45 -0
- package/dist/utils/fns/statuses.d.ts +45 -0
- package/dist/utils/fns/statuses.js +39 -0
- package/dist/utils/fns/statuses.js.map +1 -0
- package/dist/utils/fns/text.d.mts +9 -0
- package/dist/utils/fns/text.d.ts +9 -0
- package/dist/utils/fns/text.js +29 -0
- package/dist/utils/fns/text.js.map +1 -0
- package/dist/utils/index.d.mts +19 -0
- package/dist/utils/index.d.ts +19 -0
- package/dist/utils/index.js +25 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/wrappers.d.mts +14 -0
- package/dist/utils/wrappers.d.ts +14 -0
- package/dist/utils/wrappers.js +68 -0
- package/dist/utils/wrappers.js.map +1 -0
- package/examples/basic/404.html +12 -0
- package/examples/basic/README.md +30 -0
- package/examples/basic/app.ts +18 -0
- package/examples/basic/controller.ts +45 -0
- package/examples/basic/index.ts +19 -0
- package/examples/basic/middleware.ts +13 -0
- package/examples/basic/service.ts +11 -0
- package/package.json +60 -39
- package/src/app/index.ts +1 -0
- package/src/app/jimpex.ts +743 -0
- package/src/controllers/common/config.ts +115 -0
- package/src/controllers/common/health.ts +128 -0
- package/src/controllers/common/index.ts +3 -0
- package/src/controllers/common/statics.ts +380 -0
- package/src/controllers/index.ts +2 -0
- package/src/controllers/utils/gateway.ts +1186 -0
- package/src/controllers/utils/index.ts +1 -0
- package/src/index.ts +6 -0
- package/src/middlewares/common/errorHandler.ts +203 -0
- package/src/middlewares/common/forceHTTPS.ts +83 -0
- package/src/middlewares/common/hsts.ts +135 -0
- package/src/middlewares/common/index.ts +3 -0
- package/src/middlewares/html/fastHTML.ts +255 -0
- package/src/middlewares/html/index.ts +2 -0
- package/src/middlewares/html/showHTML.ts +165 -0
- package/src/middlewares/index.ts +3 -0
- package/src/middlewares/utils/index.ts +1 -0
- package/src/middlewares/utils/versionValidator.ts +289 -0
- package/src/services/common/appError.ts +158 -0
- package/src/services/common/httpError.ts +74 -0
- package/src/services/common/index.ts +29 -0
- package/src/services/common/sendFile.ts +106 -0
- package/src/services/frontend/frontendFs.ts +101 -0
- package/src/services/frontend/index.ts +21 -0
- package/src/services/html/htmlGenerator.ts +356 -0
- package/src/services/html/index.ts +21 -0
- package/src/services/http/apiClient.ts +221 -0
- package/src/services/http/http.ts +286 -0
- package/src/services/http/index.ts +29 -0
- package/src/services/http/responsesBuilder.ts +265 -0
- package/src/services/index.ts +5 -0
- package/src/services/utils/ensureBearerToken.ts +202 -0
- package/src/services/utils/index.ts +21 -0
- package/src/types/events.ts +303 -0
- package/src/types/express.ts +21 -0
- package/src/types/http.ts +77 -0
- package/src/types/index.ts +6 -0
- package/src/types/options.ts +248 -0
- package/src/types/utils.ts +52 -0
- package/src/types/wootils.ts +4 -0
- package/src/utils/fns/index.ts +4 -0
- package/src/utils/fns/others.ts +15 -0
- package/src/utils/fns/routes.ts +64 -0
- package/src/utils/fns/statuses.ts +44 -0
- package/src/utils/fns/text.ts +8 -0
- package/src/utils/index.ts +2 -0
- package/src/utils/wrappers.ts +537 -0
- package/tsconfig.json +5 -8
- package/tsup.config.ts +10 -0
- package/src/app/index.js +0 -692
- package/src/constants/eventNames.js +0 -48
- package/src/constants/index.js +0 -7
- package/src/controllers/common/configuration.js +0 -116
- package/src/controllers/common/health.js +0 -79
- package/src/controllers/common/index.js +0 -7
- package/src/controllers/common/statics.js +0 -336
- package/src/controllers/index.js +0 -9
- package/src/controllers/utils/gateway.js +0 -1039
- package/src/controllers/utils/index.js +0 -3
- package/src/index.js +0 -30
- package/src/middlewares/common/errorHandler.js +0 -185
- package/src/middlewares/common/forceHTTPS.js +0 -80
- package/src/middlewares/common/hsts.js +0 -122
- package/src/middlewares/common/index.js +0 -7
- package/src/middlewares/html/fastHTML.js +0 -298
- package/src/middlewares/html/index.js +0 -5
- package/src/middlewares/html/showHTML.js +0 -167
- package/src/middlewares/index.js +0 -11
- package/src/middlewares/utils/index.js +0 -3
- package/src/middlewares/utils/versionValidator.js +0 -261
- package/src/services/common/appError.js +0 -136
- package/src/services/common/httpError.js +0 -60
- package/src/services/common/index.js +0 -25
- package/src/services/common/sendFile.js +0 -68
- package/src/services/frontend/frontendFs.js +0 -85
- package/src/services/frontend/index.js +0 -17
- package/src/services/html/htmlGenerator.js +0 -391
- package/src/services/html/index.js +0 -17
- package/src/services/http/apiClient.js +0 -148
- package/src/services/http/http.js +0 -256
- package/src/services/http/index.js +0 -25
- package/src/services/http/responsesBuilder.js +0 -193
- package/src/services/index.js +0 -15
- package/src/services/utils/ensureBearerToken.js +0 -147
- package/src/services/utils/index.js +0 -19
- package/src/types.js +0 -377
- package/src/utils/functions.js +0 -78
- package/src/utils/wrappers.js +0 -131
- package/types/app/index.d.ts +0 -417
- package/types/constants/eventNames.d.ts +0 -93
- package/types/constants/index.d.ts +0 -2
- package/types/controllers/common/configuration.d.ts +0 -71
- package/types/controllers/common/health.d.ts +0 -55
- package/types/controllers/common/index.d.ts +0 -4
- package/types/controllers/common/statics.d.ts +0 -271
- package/types/controllers/index.d.ts +0 -3
- package/types/controllers/utils/gateway.d.ts +0 -947
- package/types/controllers/utils/index.d.ts +0 -2
- package/types/index.d.ts +0 -15
- package/types/middlewares/common/errorHandler.d.ts +0 -143
- package/types/middlewares/common/forceHTTPS.d.ts +0 -64
- package/types/middlewares/common/hsts.d.ts +0 -111
- package/types/middlewares/common/index.d.ts +0 -4
- package/types/middlewares/html/fastHTML.d.ts +0 -238
- package/types/middlewares/html/index.d.ts +0 -3
- package/types/middlewares/html/showHTML.d.ts +0 -128
- package/types/middlewares/index.d.ts +0 -4
- package/types/middlewares/utils/index.d.ts +0 -2
- package/types/middlewares/utils/versionValidator.d.ts +0 -247
- package/types/services/common/appError.d.ts +0 -89
- package/types/services/common/httpError.d.ts +0 -37
- package/types/services/common/index.d.ts +0 -18
- package/types/services/common/sendFile.d.ts +0 -56
- package/types/services/frontend/frontendFs.d.ts +0 -72
- package/types/services/frontend/index.d.ts +0 -3
- package/types/services/html/htmlGenerator.d.ts +0 -298
- package/types/services/html/index.d.ts +0 -3
- package/types/services/http/apiClient.d.ts +0 -141
- package/types/services/http/http.d.ts +0 -159
- package/types/services/http/index.d.ts +0 -18
- package/types/services/http/responsesBuilder.d.ts +0 -140
- package/types/services/index.d.ts +0 -6
- package/types/services/utils/ensureBearerToken.d.ts +0 -137
- package/types/services/utils/index.d.ts +0 -16
- package/types/types.d.ts +0 -280
- package/types/utils/functions.d.ts +0 -55
- package/types/utils/wrappers.d.ts +0 -127
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var __publicField = (obj, key, value) => {
|
|
31
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
32
|
+
return value;
|
|
33
|
+
};
|
|
34
|
+
var frontendFs_exports = {};
|
|
35
|
+
__export(frontendFs_exports, {
|
|
36
|
+
FrontendFs: () => FrontendFs,
|
|
37
|
+
frontendFsProvider: () => frontendFsProvider
|
|
38
|
+
});
|
|
39
|
+
module.exports = __toCommonJS(frontendFs_exports);
|
|
40
|
+
var import_promises = __toESM(require("fs/promises"));
|
|
41
|
+
var import_utils = require("../../utils");
|
|
42
|
+
class FrontendFs {
|
|
43
|
+
/**
|
|
44
|
+
* @param options The options to construct the service.
|
|
45
|
+
*/
|
|
46
|
+
constructor({ inject: { pathUtils } }) {
|
|
47
|
+
/**
|
|
48
|
+
* The service that generates the relative paths.
|
|
49
|
+
*/
|
|
50
|
+
__publicField(this, "_pathUtils");
|
|
51
|
+
this._pathUtils = pathUtils;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Deletes a file from the file system.
|
|
55
|
+
*
|
|
56
|
+
* @param filepath The path to the file.
|
|
57
|
+
*/
|
|
58
|
+
delete(filepath) {
|
|
59
|
+
return import_promises.default.unlink(this.getAppPath(filepath));
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Reads a file from the file system.
|
|
63
|
+
*
|
|
64
|
+
* @param filepath The path to the file.
|
|
65
|
+
* @param encoding The text encoding in which the file should be read.
|
|
66
|
+
*/
|
|
67
|
+
read(filepath, encoding = "utf-8") {
|
|
68
|
+
return import_promises.default.readFile(this.getAppPath(filepath), encoding);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Writes a file on the file system.
|
|
72
|
+
*
|
|
73
|
+
* @param filepath The path to the file.
|
|
74
|
+
* @param content The contents of the file.
|
|
75
|
+
*/
|
|
76
|
+
write(filepath, content) {
|
|
77
|
+
return import_promises.default.writeFile(this.getAppPath(filepath), content);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Utility method to get the path of a file relative to the application executable.
|
|
81
|
+
*
|
|
82
|
+
* @param filepath The path to the file.
|
|
83
|
+
*/
|
|
84
|
+
getAppPath(filepath) {
|
|
85
|
+
return this._pathUtils.joinFrom("app", filepath);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
const frontendFsProvider = (0, import_utils.provider)((app) => {
|
|
89
|
+
app.set(
|
|
90
|
+
"frontendFs",
|
|
91
|
+
() => new FrontendFs({
|
|
92
|
+
inject: {
|
|
93
|
+
pathUtils: app.get("pathUtils")
|
|
94
|
+
}
|
|
95
|
+
})
|
|
96
|
+
);
|
|
97
|
+
});
|
|
98
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
99
|
+
0 && (module.exports = {
|
|
100
|
+
FrontendFs,
|
|
101
|
+
frontendFsProvider
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=frontendFs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/services/frontend/frontendFs.ts"],"sourcesContent":["import fs from 'fs/promises';\nimport { provider } from '../../utils';\nimport type { PathUtils } from '../../types';\n/**\n * The options to construct a {@link FrontendFs}.\n *\n * @group Services/FrontendFs\n */\nexport type FrontendFsOptions = {\n /**\n * A dictionary with the dependencies to inject.\n */\n inject: {\n pathUtils: PathUtils;\n };\n};\n/**\n * This service allows the application to easily work with the filesystem. The idea behind\n * centralizing this functionalities into a service is that is pretty common to have\n * bundling tools to generate the frontend, and on that process files can have different\n * paths or not even be generated all. The service can be extended/overwritten to\n * accommodate any requirements and avoid having to update or add `if`s to every `fs` call\n * the application does.\n * Another _'feature'_ of this service is that all the paths are relative to the directory\n * where the app executable is located, so you don't have to remember the relative path\n * from the place you are accessing a file to the place where it's located.\n *\n * @group Services\n * @group Services/FrontendFs\n */\nexport class FrontendFs {\n /**\n * The service that generates the relative paths.\n */\n protected readonly _pathUtils: PathUtils;\n /**\n * @param options The options to construct the service.\n */\n constructor({ inject: { pathUtils } }: FrontendFsOptions) {\n this._pathUtils = pathUtils;\n }\n /**\n * Deletes a file from the file system.\n *\n * @param filepath The path to the file.\n */\n delete(filepath: string): Promise<void> {\n return fs.unlink(this.getAppPath(filepath));\n }\n /**\n * Reads a file from the file system.\n *\n * @param filepath The path to the file.\n * @param encoding The text encoding in which the file should be read.\n */\n read(filepath: string, encoding: BufferEncoding = 'utf-8'): Promise<string> {\n return fs.readFile(this.getAppPath(filepath), encoding);\n }\n /**\n * Writes a file on the file system.\n *\n * @param filepath The path to the file.\n * @param content The contents of the file.\n */\n write(filepath: string, content: Parameters<typeof fs.writeFile>[1]): Promise<void> {\n return fs.writeFile(this.getAppPath(filepath), content);\n }\n /**\n * Utility method to get the path of a file relative to the application executable.\n *\n * @param filepath The path to the file.\n */\n protected getAppPath(filepath: string): string {\n return this._pathUtils.joinFrom('app', filepath);\n }\n}\n/**\n * The service provider that once registered on the container will set an instance of\n * {@link FrontendFs} as the `frontendFs` service.\n *\n * @example\n *\n * // Register it on the container\n * container.register(frontendFsProvider);\n * // Getting access to the service instance\n * const frontendFs = container.get<FrontendFs>('frontendFs');\n *\n * @group Providers\n * @group Services/FrontendFs\n */\nexport const frontendFsProvider = provider((app) => {\n app.set(\n 'frontendFs',\n () =>\n new FrontendFs({\n inject: {\n pathUtils: app.get<PathUtils>('pathUtils'),\n },\n }),\n );\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAe;AACf,mBAAyB;AA6BlB,MAAM,WAAW;AAAA;AAAA;AAAA;AAAA,EAQtB,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAsB;AAJ1D;AAAA;AAAA;AAAA,wBAAmB;AAKjB,SAAK,aAAa;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,UAAiC;AACtC,WAAO,gBAAAA,QAAG,OAAO,KAAK,WAAW,QAAQ,CAAC;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,KAAK,UAAkB,WAA2B,SAA0B;AAC1E,WAAO,gBAAAA,QAAG,SAAS,KAAK,WAAW,QAAQ,GAAG,QAAQ;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,UAAkB,SAA4D;AAClF,WAAO,gBAAAA,QAAG,UAAU,KAAK,WAAW,QAAQ,GAAG,OAAO;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMU,WAAW,UAA0B;AAC7C,WAAO,KAAK,WAAW,SAAS,OAAO,QAAQ;AAAA,EACjD;AACF;AAeO,MAAM,yBAAqB,uBAAS,CAAC,QAAQ;AAClD,MAAI;AAAA,IACF;AAAA,IACA,MACE,IAAI,WAAW;AAAA,MACb,QAAQ;AAAA,QACN,WAAW,IAAI,IAAe,WAAW;AAAA,MAC3C;AAAA,IACF,CAAC;AAAA,EACL;AACF,CAAC;","names":["fs"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex } from '../../index-efeb437e.js';
|
|
3
|
+
export { FrontendFs, FrontendFsOptions, frontendFsProvider } from './frontendFs.mjs';
|
|
4
|
+
import '../../types/express.mjs';
|
|
5
|
+
import 'express';
|
|
6
|
+
import '../../types/http.mjs';
|
|
7
|
+
import 'https';
|
|
8
|
+
import 'http';
|
|
9
|
+
import 'spdy';
|
|
10
|
+
import 'node-fetch';
|
|
11
|
+
import '../../types/utils.mjs';
|
|
12
|
+
import '@homer0/path-utils';
|
|
13
|
+
import '@homer0/simple-logger';
|
|
14
|
+
import '@homer0/simple-config';
|
|
15
|
+
import '@homer0/events-hub';
|
|
16
|
+
import 'fs/promises';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Registers all the frontend services on the container.
|
|
20
|
+
*
|
|
21
|
+
* - {@link FrontendFs | frontendFs}
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
*
|
|
25
|
+
* // Register the collection on the container
|
|
26
|
+
* container.register(frontendServicesProvider);
|
|
27
|
+
* // Getting access to one the services instance
|
|
28
|
+
* const frontendFs = container.get<FrontendFs>('frontendFs');
|
|
29
|
+
*
|
|
30
|
+
* @group Providers
|
|
31
|
+
*/
|
|
32
|
+
declare const frontendServicesProvider: {
|
|
33
|
+
frontendFsProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
34
|
+
} & Record<string, _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>> & {
|
|
35
|
+
provider: true;
|
|
36
|
+
} & {
|
|
37
|
+
register: _homer0_jimple.ProviderRegisterFn<Jimpex>;
|
|
38
|
+
} & Record<string, unknown>;
|
|
39
|
+
|
|
40
|
+
export { frontendServicesProvider };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex } from '../../index-b2a04c78.js';
|
|
3
|
+
export { FrontendFs, FrontendFsOptions, frontendFsProvider } from './frontendFs.js';
|
|
4
|
+
import '../../types/express.js';
|
|
5
|
+
import 'express';
|
|
6
|
+
import '../../types/http.js';
|
|
7
|
+
import 'https';
|
|
8
|
+
import 'http';
|
|
9
|
+
import 'spdy';
|
|
10
|
+
import 'node-fetch';
|
|
11
|
+
import '../../types/utils.js';
|
|
12
|
+
import '@homer0/path-utils';
|
|
13
|
+
import '@homer0/simple-logger';
|
|
14
|
+
import '@homer0/simple-config';
|
|
15
|
+
import '@homer0/events-hub';
|
|
16
|
+
import 'fs/promises';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Registers all the frontend services on the container.
|
|
20
|
+
*
|
|
21
|
+
* - {@link FrontendFs | frontendFs}
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
*
|
|
25
|
+
* // Register the collection on the container
|
|
26
|
+
* container.register(frontendServicesProvider);
|
|
27
|
+
* // Getting access to one the services instance
|
|
28
|
+
* const frontendFs = container.get<FrontendFs>('frontendFs');
|
|
29
|
+
*
|
|
30
|
+
* @group Providers
|
|
31
|
+
*/
|
|
32
|
+
declare const frontendServicesProvider: {
|
|
33
|
+
frontendFsProvider: _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
34
|
+
} & Record<string, _homer0_jimple.Resource<"provider", "register", _homer0_jimple.ProviderRegisterFn<Jimpex>>> & {
|
|
35
|
+
provider: true;
|
|
36
|
+
} & {
|
|
37
|
+
register: _homer0_jimple.ProviderRegisterFn<Jimpex>;
|
|
38
|
+
} & Record<string, unknown>;
|
|
39
|
+
|
|
40
|
+
export { frontendServicesProvider };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var frontend_exports = {};
|
|
21
|
+
__export(frontend_exports, {
|
|
22
|
+
frontendServicesProvider: () => frontendServicesProvider
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(frontend_exports);
|
|
25
|
+
var import_utils = require("../../utils");
|
|
26
|
+
var import_frontendFs = require("./frontendFs");
|
|
27
|
+
__reExport(frontend_exports, require("./frontendFs"), module.exports);
|
|
28
|
+
const frontendServicesProvider = (0, import_utils.providers)({
|
|
29
|
+
frontendFsProvider: import_frontendFs.frontendFsProvider
|
|
30
|
+
});
|
|
31
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
32
|
+
0 && (module.exports = {
|
|
33
|
+
frontendServicesProvider,
|
|
34
|
+
...require("./frontendFs")
|
|
35
|
+
});
|
|
36
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/services/frontend/index.ts"],"sourcesContent":["import { providers } from '../../utils';\nimport { frontendFsProvider } from './frontendFs';\n/**\n * Registers all the frontend services on the container.\n *\n * - {@link FrontendFs | frontendFs}\n *\n * @example\n *\n * // Register the collection on the container\n * container.register(frontendServicesProvider);\n * // Getting access to one the services instance\n * const frontendFs = container.get<FrontendFs>('frontendFs');\n *\n * @group Providers\n */\nexport const frontendServicesProvider = providers({\n frontendFsProvider,\n});\n\nexport * from './frontendFs';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,wBAAmC;AAmBnC,6BAAc,yBApBd;AAgBO,MAAM,+BAA2B,wBAAU;AAAA,EAChD;AACF,CAAC;","names":[]}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import * as _homer0_jimple from '@homer0/jimple';
|
|
2
|
+
import { J as Jimpex } from '../../index-efeb437e.js';
|
|
3
|
+
import { SimpleLogger } from '@homer0/simple-logger';
|
|
4
|
+
import { SimpleConfig } from '@homer0/simple-config';
|
|
5
|
+
import { FrontendFs } from '../frontend/frontendFs.mjs';
|
|
6
|
+
import { DeferredPromise } from '@homer0/deferred';
|
|
7
|
+
import '../../types/express.mjs';
|
|
8
|
+
import 'express';
|
|
9
|
+
import '../../types/http.mjs';
|
|
10
|
+
import 'https';
|
|
11
|
+
import 'http';
|
|
12
|
+
import 'spdy';
|
|
13
|
+
import 'node-fetch';
|
|
14
|
+
import '../../types/utils.mjs';
|
|
15
|
+
import '@homer0/path-utils';
|
|
16
|
+
import '@homer0/events-hub';
|
|
17
|
+
import 'fs/promises';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The options to customize a {@link HTMLGenerator} instance.
|
|
21
|
+
*
|
|
22
|
+
* @group Services/HTMLGenerator
|
|
23
|
+
*/
|
|
24
|
+
type HTMLGeneratorOptions = {
|
|
25
|
+
/**
|
|
26
|
+
* The name of the file it should use as template.
|
|
27
|
+
*
|
|
28
|
+
* @default 'index.tpl.html'
|
|
29
|
+
*/
|
|
30
|
+
template: string;
|
|
31
|
+
/**
|
|
32
|
+
* The name of the generated file.
|
|
33
|
+
*
|
|
34
|
+
* @default 'index.html'
|
|
35
|
+
*/
|
|
36
|
+
file: string;
|
|
37
|
+
/**
|
|
38
|
+
* If `true`, it won't log messages on the terminal when generating the file.
|
|
39
|
+
*
|
|
40
|
+
* @default false
|
|
41
|
+
*/
|
|
42
|
+
silent: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Whether or not to delete the tempalte after generating the file.
|
|
45
|
+
*
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
deleteTemplateAfter: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* The placeholder string where the information will be written.
|
|
51
|
+
*
|
|
52
|
+
* @default /\{\{appConfi(?:guration)?\}\}/
|
|
53
|
+
*/
|
|
54
|
+
replacePlaceholder: string | RegExp;
|
|
55
|
+
/**
|
|
56
|
+
* A regular expression for dynamic placeholders that will be replaced by values when
|
|
57
|
+
* the file is generated.
|
|
58
|
+
*
|
|
59
|
+
* @default /\{\{(.*?)\}\}/gi
|
|
60
|
+
*/
|
|
61
|
+
placeholderExpression: RegExp;
|
|
62
|
+
/**
|
|
63
|
+
* The name of the variable that will have the information on the file.
|
|
64
|
+
*
|
|
65
|
+
* @default 'appConfig'
|
|
66
|
+
*/
|
|
67
|
+
variableName: string;
|
|
68
|
+
/**
|
|
69
|
+
* A list of settings from the app configuration that will be used as the information to
|
|
70
|
+
* inject on the file.
|
|
71
|
+
*
|
|
72
|
+
* @default ['features', 'version', 'postMessagesPrefix']
|
|
73
|
+
*/
|
|
74
|
+
configKeys: string[];
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* An external service that can be used to provide the values the generator will replace
|
|
78
|
+
* in the template.
|
|
79
|
+
*
|
|
80
|
+
* @group Services/HTMLGenerator
|
|
81
|
+
*/
|
|
82
|
+
type HTMLGeneratorValuesService = {
|
|
83
|
+
/**
|
|
84
|
+
* A function that will be called to get the values to replace in the template.
|
|
85
|
+
*
|
|
86
|
+
* @param options The service customization options.
|
|
87
|
+
*/
|
|
88
|
+
getValues: (options: HTMLGeneratorOptions) => Promise<Record<string, unknown>>;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* The options to construct a {@link HTMLGenerator}.
|
|
92
|
+
*
|
|
93
|
+
* @group Services/HTMLGenerator
|
|
94
|
+
*/
|
|
95
|
+
type HTMLGeneratorConstructorOptions = Partial<HTMLGeneratorOptions> & {
|
|
96
|
+
/**
|
|
97
|
+
* A dictionary with the dependencies to inject.
|
|
98
|
+
*/
|
|
99
|
+
inject: {
|
|
100
|
+
config: SimpleConfig;
|
|
101
|
+
logger: SimpleLogger;
|
|
102
|
+
frontendFs: FrontendFs;
|
|
103
|
+
/**
|
|
104
|
+
* A service that can provide the values to replace in the template. If specified, the
|
|
105
|
+
* values from `configKeys` will be ignored.
|
|
106
|
+
*/
|
|
107
|
+
valuesService?: HTMLGeneratorValuesService;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Custom options for the provider that will register an instance of {@link HTMLGenerator}
|
|
112
|
+
* as a service.
|
|
113
|
+
*
|
|
114
|
+
* @group Services/HTMLGenerator
|
|
115
|
+
*/
|
|
116
|
+
type HTMLGeneratorProviderOptions = Partial<HTMLGeneratorOptions> & {
|
|
117
|
+
/**
|
|
118
|
+
* The name that will be used to register the service on the container. This is to allow
|
|
119
|
+
* multiple "instances" of the service to be created.
|
|
120
|
+
*
|
|
121
|
+
* @default 'htmlGenerator'
|
|
122
|
+
*/
|
|
123
|
+
serviceName?: string;
|
|
124
|
+
/**
|
|
125
|
+
* The name of a service that the generator will use in order to read the values that
|
|
126
|
+
* will be replaced on the template. If the service is available, the values from
|
|
127
|
+
* `configKeys` will be ignored.
|
|
128
|
+
*
|
|
129
|
+
* @default 'htmlGeneratorValues'
|
|
130
|
+
*/
|
|
131
|
+
valuesServiceName?: string;
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* This is a utility service that generates an HTML file with custom information when the
|
|
135
|
+
* application is started.
|
|
136
|
+
*
|
|
137
|
+
* @group Services
|
|
138
|
+
* @group Services/HTMLGenerator
|
|
139
|
+
*/
|
|
140
|
+
declare class HTMLGenerator {
|
|
141
|
+
/**
|
|
142
|
+
* The service customization options.
|
|
143
|
+
*/
|
|
144
|
+
protected readonly _options: HTMLGeneratorOptions;
|
|
145
|
+
/**
|
|
146
|
+
* The application configuration service, to get the settings specified by the
|
|
147
|
+
* `configKeys` option.
|
|
148
|
+
*/
|
|
149
|
+
protected readonly _config: SimpleConfig;
|
|
150
|
+
/**
|
|
151
|
+
* The service that logs messages on the terminal, in case the `silent` option is `false`.
|
|
152
|
+
*/
|
|
153
|
+
protected readonly _logger: SimpleLogger;
|
|
154
|
+
/**
|
|
155
|
+
* The service that interacts with the filesystem.
|
|
156
|
+
*/
|
|
157
|
+
protected readonly _frontendFs: FrontendFs;
|
|
158
|
+
/**
|
|
159
|
+
* A service that can provide values to be replaced in the template.
|
|
160
|
+
*/
|
|
161
|
+
protected readonly _valuesService?: HTMLGeneratorValuesService;
|
|
162
|
+
/**
|
|
163
|
+
* Whether or not the file was already generated.
|
|
164
|
+
*/
|
|
165
|
+
protected _fileReady: boolean;
|
|
166
|
+
/**
|
|
167
|
+
* A deferred promise to return when another service asks if the file has been
|
|
168
|
+
* generated. Once this sevice finishes generating the file, the promise will be
|
|
169
|
+
* resolved for all implementations that hold a reference to this deferred.
|
|
170
|
+
*/
|
|
171
|
+
protected _fileDeferred?: DeferredPromise<void>;
|
|
172
|
+
/**
|
|
173
|
+
* @param options The options to construct the class.
|
|
174
|
+
* @throws If `valuesService` is specified but it doesn't have a `getValues`
|
|
175
|
+
* method.
|
|
176
|
+
*/
|
|
177
|
+
constructor({ inject: { config, logger, frontendFs, valuesService }, ...options }: HTMLGeneratorConstructorOptions);
|
|
178
|
+
/**
|
|
179
|
+
* Gets a promise that will be resolved when the file has been generated.
|
|
180
|
+
*/
|
|
181
|
+
whenReady(): Promise<void>;
|
|
182
|
+
/**
|
|
183
|
+
* Generates the HTML file.
|
|
184
|
+
*/
|
|
185
|
+
generateHTML(): Promise<void>;
|
|
186
|
+
/**
|
|
187
|
+
* Gets the customization options.
|
|
188
|
+
*/
|
|
189
|
+
get options(): Readonly<HTMLGeneratorOptions>;
|
|
190
|
+
/**
|
|
191
|
+
* Helper method to get the values that will be replaced in the template. If a "values
|
|
192
|
+
* service" was specified in the constructor, it will get the values from there,
|
|
193
|
+
* otherwise, it will use the `configKeys` option to get the values from the
|
|
194
|
+
* application configuration.
|
|
195
|
+
*/
|
|
196
|
+
protected _getValues(): Promise<Record<string, unknown>>;
|
|
197
|
+
/**
|
|
198
|
+
* Processes the HTML template by replacing the placeholders with the actual values.
|
|
199
|
+
*
|
|
200
|
+
* @param template The template for the HTML file.
|
|
201
|
+
* @param values The values dictionary that should be replaced in the template.
|
|
202
|
+
*/
|
|
203
|
+
protected _processHTML(template: string, values: Record<string, unknown>): string;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* The service provider that once registered on the container will set an instance of
|
|
207
|
+
* {@link HTMLGenerator} as the `htmlGenerator` service. it will also hook itself to the
|
|
208
|
+
* `after-start` event of the application in order to trigger the generator of the HTML
|
|
209
|
+
* file.
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
*
|
|
213
|
+
* <caption>Basic usage</caption>
|
|
214
|
+
*
|
|
215
|
+
* // Register it on the container
|
|
216
|
+
* container.register(htmlGeneratorProvider);
|
|
217
|
+
* // Getting access to the service instance
|
|
218
|
+
* const htmlGenerator = container.get<HTMLGenerator>('htmlGenerator');
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
*
|
|
222
|
+
* <caption>Using with custom options</caption>
|
|
223
|
+
*
|
|
224
|
+
* container.register(
|
|
225
|
+
* htmlGeneratorProvider({
|
|
226
|
+
* serviceName: 'myHtmlGenerator',
|
|
227
|
+
* valuesServiceName: 'myValuesService',
|
|
228
|
+
* template: 'my-template.tpl.html',
|
|
229
|
+
* }),
|
|
230
|
+
* );
|
|
231
|
+
*
|
|
232
|
+
* @group Providers
|
|
233
|
+
* @group Services/HTMLGenerator
|
|
234
|
+
*/
|
|
235
|
+
declare const htmlGeneratorProvider: _homer0_jimple.ResourceCreator<"provider", "register", (options?: HTMLGeneratorProviderOptions) => (app: Jimpex) => void, _homer0_jimple.ProviderRegisterFn<Jimpex>>;
|
|
236
|
+
|
|
237
|
+
export { HTMLGenerator, HTMLGeneratorConstructorOptions, HTMLGeneratorOptions, HTMLGeneratorProviderOptions, HTMLGeneratorValuesService, htmlGeneratorProvider };
|