@sima-land/isomorph 10.1.0 → 11.0.0-alpha.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/LICENSE +201 -0
- package/dist/cache/types.d.ts +7 -0
- package/dist/cache/types.js +3 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/config/browser.d.ts +6 -0
- package/dist/config/browser.js +13 -0
- package/dist/config/browser.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.js +20 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/node.d.ts +6 -0
- package/dist/config/node.js +19 -0
- package/dist/config/node.js.map +1 -0
- package/dist/config/types.d.ts +7 -0
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/utils.d.ts +5 -0
- package/dist/config/utils.js +12 -0
- package/dist/config/utils.js.map +1 -0
- package/dist/container/application.d.ts +25 -0
- package/dist/container/application.js +63 -0
- package/dist/container/application.js.map +1 -0
- package/dist/container/index.d.ts +18 -0
- package/dist/container/index.js +74 -0
- package/dist/container/index.js.map +1 -0
- package/dist/container/types.d.ts +14 -0
- package/dist/container/types.js +3 -0
- package/dist/container/types.js.map +1 -0
- package/dist/error-tracker/browser.d.ts +8 -0
- package/dist/error-tracker/browser.js +40 -0
- package/dist/error-tracker/browser.js.map +1 -0
- package/dist/error-tracker/node.d.ts +8 -0
- package/dist/error-tracker/node.js +40 -0
- package/dist/error-tracker/node.js.map +1 -0
- package/dist/error-tracker/types.d.ts +18 -0
- package/dist/error-tracker/types.js +3 -0
- package/dist/error-tracker/types.js.map +1 -0
- package/dist/error-tracker/utils.d.ts +12 -0
- package/dist/error-tracker/utils.js +19 -0
- package/dist/error-tracker/utils.js.map +1 -0
- package/dist/http-client/middleware/cookie.d.ts +19 -0
- package/dist/http-client/middleware/cookie.js +62 -0
- package/dist/http-client/middleware/cookie.js.map +1 -0
- package/dist/http-client/middleware/tracing.d.ts +32 -0
- package/dist/http-client/middleware/tracing.js +67 -0
- package/dist/http-client/middleware/tracing.js.map +1 -0
- package/dist/http-client/types.d.ts +6 -0
- package/dist/http-client/types.js +3 -0
- package/dist/http-client/types.js.map +1 -0
- package/dist/http-client/utils.d.ts +36 -0
- package/dist/http-client/utils.js +49 -0
- package/dist/http-client/utils.js.map +1 -0
- package/dist/http-server/constants.d.ts +4 -0
- package/dist/http-server/constants.js +8 -0
- package/dist/http-server/constants.js.map +1 -0
- package/dist/http-server/handler/health-check.d.ts +6 -0
- package/dist/http-server/handler/health-check.js +15 -0
- package/dist/http-server/handler/health-check.js.map +1 -0
- package/dist/http-server/middleware/logging.d.ts +10 -0
- package/dist/http-server/middleware/logging.js +31 -0
- package/dist/http-server/middleware/logging.js.map +1 -0
- package/dist/http-server/middleware/metrics.d.ts +23 -0
- package/dist/http-server/middleware/metrics.js +60 -0
- package/dist/http-server/middleware/metrics.js.map +1 -0
- package/dist/http-server/middleware/tracing.d.ts +8 -0
- package/dist/http-server/middleware/tracing.js +32 -0
- package/dist/http-server/middleware/tracing.js.map +1 -0
- package/dist/http-server/types.d.ts +25 -0
- package/dist/http-server/types.js +3 -0
- package/dist/http-server/types.js.map +1 -0
- package/dist/http-server/utils.d.ts +26 -0
- package/dist/http-server/utils.js +88 -0
- package/dist/http-server/utils.js.map +1 -0
- package/dist/logger/handler/console.d.ts +8 -0
- package/dist/logger/handler/console.js +36 -0
- package/dist/logger/handler/console.js.map +1 -0
- package/dist/logger/handler/sentry.d.ts +8 -0
- package/dist/logger/handler/sentry.js +36 -0
- package/dist/logger/handler/sentry.js.map +1 -0
- package/dist/logger/index.d.ts +6 -0
- package/dist/logger/index.js +31 -0
- package/dist/logger/index.js.map +1 -0
- package/dist/logger/types.d.ts +24 -0
- package/dist/logger/types.js +3 -0
- package/dist/logger/types.js.map +1 -0
- package/dist/metrics/constants.d.ts +4 -0
- package/dist/metrics/constants.js +8 -0
- package/dist/metrics/constants.js.map +1 -0
- package/dist/metrics/node.d.ts +18 -0
- package/dist/metrics/node.js +74 -0
- package/dist/metrics/node.js.map +1 -0
- package/dist/preset/index.d.ts +7 -0
- package/dist/preset/index.js +23 -0
- package/dist/preset/index.js.map +1 -0
- package/dist/preset/node/index.d.ts +15 -0
- package/dist/preset/node/index.js +90 -0
- package/dist/preset/node/index.js.map +1 -0
- package/dist/preset/node/response.d.ts +12 -0
- package/dist/preset/node/response.js +52 -0
- package/dist/preset/node/response.js.map +1 -0
- package/dist/preset/types.d.ts +7 -0
- package/dist/preset/types.js +3 -0
- package/dist/preset/types.js.map +1 -0
- package/dist/saga-runner/index.d.ts +8 -0
- package/dist/saga-runner/index.js +77 -0
- package/dist/saga-runner/index.js.map +1 -0
- package/dist/saga-runner/types.d.ts +10 -0
- package/dist/saga-runner/types.js +3 -0
- package/dist/saga-runner/types.js.map +1 -0
- package/dist/tokens.d.ts +40 -0
- package/dist/tokens.js +43 -0
- package/dist/tokens.js.map +1 -0
- package/dist/tracer/node.d.ts +10 -0
- package/dist/tracer/node.js +38 -0
- package/dist/tracer/node.js.map +1 -0
- package/dist/tracer/types.d.ts +2 -0
- package/dist/tracer/types.js +3 -0
- package/dist/tracer/types.js.map +1 -0
- package/{browser → dist/utils/browser}/analytics/data-layer.d.ts +0 -0
- package/{browser → dist/utils/browser}/analytics/data-layer.js +1 -2
- package/dist/utils/browser/analytics/data-layer.js.map +1 -0
- package/{browser → dist/utils/browser}/analytics/oko.d.ts +0 -0
- package/{browser → dist/utils/browser}/analytics/oko.js +6 -7
- package/dist/utils/browser/analytics/oko.js.map +1 -0
- package/dist/utils/browser/storage/index.d.ts +4 -0
- package/dist/utils/browser/storage/index.js +63 -0
- package/dist/utils/browser/storage/index.js.map +1 -0
- package/dist/utils/number.d.ts +6 -0
- package/dist/utils/number.js +13 -0
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/react/error-handlers/index.d.ts +38 -0
- package/dist/utils/react/error-handlers/index.js +47 -0
- package/dist/utils/react/error-handlers/index.js.map +1 -0
- package/dist/utils/redux/remote-data.d.ts +23 -0
- package/dist/utils/redux/remote-data.js +28 -0
- package/dist/utils/redux/remote-data.js.map +1 -0
- package/dist/utils/redux-saga/take-chain.d.ts +24 -0
- package/dist/utils/redux-saga/take-chain.js +56 -0
- package/dist/utils/redux-saga/take-chain.js.map +1 -0
- package/dist/utils/webpack/module-federation/index.d.ts +21 -0
- package/dist/utils/webpack/module-federation/index.js +74 -0
- package/dist/utils/webpack/module-federation/index.js.map +1 -0
- package/dist/utils/webpack/module-federation/types.d.ts +26 -0
- package/dist/utils/webpack/module-federation/types.js +3 -0
- package/dist/utils/webpack/module-federation/types.js.map +1 -0
- package/dist/utils/webpack/module-federation/utils.d.ts +15 -0
- package/dist/utils/webpack/module-federation/utils.js +36 -0
- package/dist/utils/webpack/module-federation/utils.js.map +1 -0
- package/package.json +49 -63
- package/readme.md +23 -0
- package/src/cache/types.ts +7 -0
- package/src/config/browser.ts +10 -0
- package/src/config/index.ts +18 -0
- package/src/config/node.ts +18 -0
- package/src/config/types.ts +9 -0
- package/src/config/utils.ts +7 -0
- package/src/container/application.ts +91 -0
- package/src/container/index.ts +79 -0
- package/src/container/types.ts +17 -0
- package/src/error-tracker/browser.ts +14 -0
- package/src/error-tracker/node.ts +14 -0
- package/src/error-tracker/types.ts +22 -0
- package/src/error-tracker/utils.ts +18 -0
- package/src/http-client/middleware/cookie.ts +73 -0
- package/src/{helpers/api/middlewares/trace-request-middleware.ts → http-client/middleware/tracing.ts} +28 -35
- package/src/http-client/types.ts +8 -0
- package/src/http-client/utils.ts +76 -0
- package/src/http-server/constants.ts +4 -0
- package/src/http-server/handler/health-check.ts +13 -0
- package/src/http-server/middleware/logging.ts +34 -0
- package/src/http-server/middleware/metrics.ts +87 -0
- package/src/http-server/middleware/tracing.ts +35 -0
- package/src/http-server/types.ts +29 -0
- package/src/http-server/utils.ts +105 -0
- package/src/logger/handler/console.ts +35 -0
- package/src/logger/handler/sentry.ts +38 -0
- package/src/logger/index.ts +31 -0
- package/src/logger/types.ts +28 -0
- package/src/metrics/constants.ts +4 -0
- package/src/metrics/node.ts +54 -0
- package/src/preset/index.ts +24 -0
- package/src/preset/node/index.ts +101 -0
- package/src/preset/node/response.ts +57 -0
- package/src/preset/types.ts +9 -0
- package/src/saga-runner/index.ts +59 -0
- package/src/saga-runner/types.ts +13 -0
- package/src/tokens.ts +54 -0
- package/src/tracer/node.ts +40 -0
- package/src/tracer/types.ts +3 -0
- package/src/utils/browser/analytics/__test__/data-layer.test.ts +50 -0
- package/src/utils/browser/analytics/__test__/oko.test.tsx +143 -0
- package/src/{browser → utils/browser}/analytics/data-layer.ts +0 -0
- package/src/{browser → utils/browser}/analytics/oko.ts +6 -4
- package/src/utils/browser/storage/index.ts +75 -0
- package/src/utils/number.ts +8 -0
- package/src/utils/react/error-handlers/__test__/__snapshots__/index.test.tsx.snap +27 -0
- package/src/utils/react/error-handlers/__test__/index.test.tsx +64 -0
- package/src/utils/react/error-handlers/index.tsx +62 -0
- package/src/utils/redux/__test__/remote-data.test.ts +50 -0
- package/src/utils/redux/remote-data.ts +34 -0
- package/src/utils/redux-saga/__test__/take-chain.test.ts +141 -0
- package/src/utils/redux-saga/take-chain.ts +65 -0
- package/src/utils/webpack/module-federation/__test__/index.test.ts +246 -0
- package/src/utils/webpack/module-federation/index.ts +92 -0
- package/src/utils/webpack/module-federation/types.ts +44 -0
- package/src/utils/webpack/module-federation/utils.ts +43 -0
- package/browser/analytics/data-layer.js.map +0 -1
- package/browser/analytics/oko.js.map +0 -1
- package/cache/helpers.d.ts +0 -4
- package/cache/helpers.js +0 -39
- package/cache/helpers.js.map +0 -1
- package/cache/local-storage.d.ts +0 -34
- package/cache/local-storage.js +0 -90
- package/cache/local-storage.js.map +0 -1
- package/cache/redis.d.ts +0 -10
- package/cache/redis.js +0 -54
- package/cache/redis.js.map +0 -1
- package/cache/wrap-in-trace.d.ts +0 -8
- package/cache/wrap-in-trace.js +0 -68
- package/cache/wrap-in-trace.js.map +0 -1
- package/config/create.d.ts +0 -8
- package/config/create.js +0 -32
- package/config/create.js.map +0 -1
- package/config/helpers.d.ts +0 -11
- package/config/helpers.js +0 -71
- package/config/helpers.js.map +0 -1
- package/config/validate.d.ts +0 -18
- package/config/validate.js +0 -107
- package/config/validate.js.map +0 -1
- package/container/create-inject.d.ts +0 -7
- package/container/create-inject.js +0 -36
- package/container/create-inject.js.map +0 -1
- package/container/get-dependencies.d.ts +0 -13
- package/container/get-dependencies.js +0 -54
- package/container/get-dependencies.js.map +0 -1
- package/container/index.d.ts +0 -15
- package/container/index.js +0 -175
- package/container/index.js.map +0 -1
- package/container/is-container.d.ts +0 -7
- package/container/is-container.js +0 -17
- package/container/is-container.js.map +0 -1
- package/container/service-not-found-error.d.ts +0 -10
- package/container/service-not-found-error.js +0 -18
- package/container/service-not-found-error.js.map +0 -1
- package/create-proxy/create-proxy-middleware/index.d.ts +0 -16
- package/create-proxy/create-proxy-middleware/index.js +0 -47
- package/create-proxy/create-proxy-middleware/index.js.map +0 -1
- package/create-proxy/index.d.ts +0 -12
- package/create-proxy/index.js +0 -25
- package/create-proxy/index.js.map +0 -1
- package/create-response-sender/index.d.ts +0 -8
- package/create-response-sender/index.js +0 -42
- package/create-response-sender/index.js.map +0 -1
- package/get-dynamic-data/index.d.ts +0 -8
- package/get-dynamic-data/index.js +0 -23
- package/get-dynamic-data/index.js.map +0 -1
- package/graceful-shutdown/index.d.ts +0 -26
- package/graceful-shutdown/index.js +0 -87
- package/graceful-shutdown/index.js.map +0 -1
- package/helpers/add-error-handling/index.d.ts +0 -1
- package/helpers/add-error-handling/index.js +0 -42
- package/helpers/add-error-handling/index.js.map +0 -1
- package/helpers/api/create-enhancer.d.ts +0 -12
- package/helpers/api/create-enhancer.js +0 -52
- package/helpers/api/create-enhancer.js.map +0 -1
- package/helpers/api/create-instance.d.ts +0 -11
- package/helpers/api/create-instance.js +0 -39
- package/helpers/api/create-instance.js.map +0 -1
- package/helpers/api/middlewares/collect-cookie-middleware.d.ts +0 -10
- package/helpers/api/middlewares/collect-cookie-middleware.js +0 -39
- package/helpers/api/middlewares/collect-cookie-middleware.js.map +0 -1
- package/helpers/api/middlewares/count-api-response-time.d.ts +0 -12
- package/helpers/api/middlewares/count-api-response-time.js +0 -39
- package/helpers/api/middlewares/count-api-response-time.js.map +0 -1
- package/helpers/api/middlewares/error-handlers-middlewares.d.ts +0 -5
- package/helpers/api/middlewares/error-handlers-middlewares.js +0 -114
- package/helpers/api/middlewares/error-handlers-middlewares.js.map +0 -1
- package/helpers/api/middlewares/helpers.d.ts +0 -11
- package/helpers/api/middlewares/helpers.js +0 -27
- package/helpers/api/middlewares/helpers.js.map +0 -1
- package/helpers/api/middlewares/pass-headers-middleware.d.ts +0 -3
- package/helpers/api/middlewares/pass-headers-middleware.js +0 -27
- package/helpers/api/middlewares/pass-headers-middleware.js.map +0 -1
- package/helpers/api/middlewares/prepare-request-headers.d.ts +0 -5
- package/helpers/api/middlewares/prepare-request-headers.js +0 -20
- package/helpers/api/middlewares/prepare-request-headers.js.map +0 -1
- package/helpers/api/middlewares/set-http-agents-middleware.d.ts +0 -15
- package/helpers/api/middlewares/set-http-agents-middleware.js +0 -34
- package/helpers/api/middlewares/set-http-agents-middleware.js.map +0 -1
- package/helpers/api/middlewares/stages-trace-middleware.d.ts +0 -17
- package/helpers/api/middlewares/stages-trace-middleware.js +0 -57
- package/helpers/api/middlewares/stages-trace-middleware.js.map +0 -1
- package/helpers/api/middlewares/trace-request-middleware.d.ts +0 -24
- package/helpers/api/middlewares/trace-request-middleware.js +0 -69
- package/helpers/api/middlewares/trace-request-middleware.js.map +0 -1
- package/helpers/api/server-adapter/__fixtures__/fake-keys.d.ts +0 -10
- package/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -61
- package/helpers/api/server-adapter/__fixtures__/fake-keys.js.map +0 -1
- package/helpers/api/server-adapter/constants.d.ts +0 -5
- package/helpers/api/server-adapter/constants.js +0 -16
- package/helpers/api/server-adapter/constants.js.map +0 -1
- package/helpers/api/server-adapter/helpers.d.ts +0 -26
- package/helpers/api/server-adapter/helpers.js +0 -208
- package/helpers/api/server-adapter/helpers.js.map +0 -1
- package/helpers/api/server-adapter/index.d.ts +0 -10
- package/helpers/api/server-adapter/index.js +0 -118
- package/helpers/api/server-adapter/index.js.map +0 -1
- package/helpers/development/use-dot-env.d.ts +0 -6
- package/helpers/development/use-dot-env.js +0 -11
- package/helpers/development/use-dot-env.js.map +0 -1
- package/helpers/get-params/index.d.ts +0 -4
- package/helpers/get-params/index.js +0 -51
- package/helpers/get-params/index.js.map +0 -1
- package/helpers/http/request-getters.d.ts +0 -5
- package/helpers/http/request-getters.js +0 -49
- package/helpers/http/request-getters.js.map +0 -1
- package/helpers/http/statuses-validator.d.ts +0 -3
- package/helpers/http/statuses-validator.js +0 -25
- package/helpers/http/statuses-validator.js.map +0 -1
- package/helpers/logger/create-pino-instance/index.d.ts +0 -6
- package/helpers/logger/create-pino-instance/index.js +0 -39
- package/helpers/logger/create-pino-instance/index.js.map +0 -1
- package/helpers/logger/format-time/index.d.ts +0 -6
- package/helpers/logger/format-time/index.js +0 -9
- package/helpers/logger/format-time/index.js.map +0 -1
- package/helpers/metrics/index.d.ts +0 -23
- package/helpers/metrics/index.js +0 -42
- package/helpers/metrics/index.js.map +0 -1
- package/helpers/prometheus/index.d.ts +0 -4
- package/helpers/prometheus/index.js +0 -13
- package/helpers/prometheus/index.js.map +0 -1
- package/helpers/prometheus/measure-middleware.d.ts +0 -5
- package/helpers/prometheus/measure-middleware.js +0 -69
- package/helpers/prometheus/measure-middleware.js.map +0 -1
- package/helpers/prometheus/metric-adapter.d.ts +0 -36
- package/helpers/prometheus/metric-adapter.js +0 -98
- package/helpers/prometheus/metric-adapter.js.map +0 -1
- package/helpers/react/error-handlers/index.d.ts +0 -40
- package/helpers/react/error-handlers/index.js +0 -52
- package/helpers/react/error-handlers/index.js.map +0 -1
- package/helpers/redux/constants.d.ts +0 -5
- package/helpers/redux/constants.js +0 -14
- package/helpers/redux/constants.js.map +0 -1
- package/helpers/redux/create-compose-middleware.d.ts +0 -15
- package/helpers/redux/create-compose-middleware.js +0 -23
- package/helpers/redux/create-compose-middleware.js.map +0 -1
- package/helpers/redux/get-dev-compose-creator.d.ts +0 -6
- package/helpers/redux/get-dev-compose-creator.js +0 -13
- package/helpers/redux/get-dev-compose-creator.js.map +0 -1
- package/helpers/redux/prepare-on-ready.d.ts +0 -9
- package/helpers/redux/prepare-on-ready.js +0 -16
- package/helpers/redux/prepare-on-ready.js.map +0 -1
- package/helpers/redux/remote-data.d.ts +0 -40
- package/helpers/redux/remote-data.js +0 -91
- package/helpers/redux/remote-data.js.map +0 -1
- package/helpers/redux/selector/statuses.d.ts +0 -23
- package/helpers/redux/selector/statuses.js +0 -34
- package/helpers/redux/selector/statuses.js.map +0 -1
- package/helpers/redux/wait-on-store-readiness.d.ts +0 -11
- package/helpers/redux/wait-on-store-readiness.js +0 -29
- package/helpers/redux/wait-on-store-readiness.js.map +0 -1
- package/helpers/render/get-react-markup-data.d.ts +0 -14
- package/helpers/render/get-react-markup-data.js +0 -20
- package/helpers/render/get-react-markup-data.js.map +0 -1
- package/helpers/render/index.d.ts +0 -21
- package/helpers/render/index.js +0 -72
- package/helpers/render/index.js.map +0 -1
- package/helpers/render/render-app.d.ts +0 -12
- package/helpers/render/render-app.js +0 -12
- package/helpers/render/render-app.js.map +0 -1
- package/helpers/saga/__fixtures__/do-safe-request.d.ts +0 -43
- package/helpers/saga/__fixtures__/do-safe-request.js +0 -50
- package/helpers/saga/__fixtures__/do-safe-request.js.map +0 -1
- package/helpers/saga/cache-result.d.ts +0 -46
- package/helpers/saga/cache-result.js +0 -71
- package/helpers/saga/cache-result.js.map +0 -1
- package/helpers/saga/create-store.d.ts +0 -20
- package/helpers/saga/create-store.js +0 -106
- package/helpers/saga/create-store.js.map +0 -1
- package/helpers/saga/do-safe-request.d.ts +0 -38
- package/helpers/saga/do-safe-request.js +0 -45
- package/helpers/saga/do-safe-request.js.map +0 -1
- package/helpers/saga/safe-request.d.ts +0 -7
- package/helpers/saga/safe-request.js +0 -15
- package/helpers/saga/safe-request.js.map +0 -1
- package/helpers/saga/take-chain.d.ts +0 -20
- package/helpers/saga/take-chain.js +0 -56
- package/helpers/saga/take-chain.js.map +0 -1
- package/helpers/tracer/create-child-tracing-middleware.d.ts +0 -7
- package/helpers/tracer/create-child-tracing-middleware.js +0 -40
- package/helpers/tracer/create-child-tracing-middleware.js.map +0 -1
- package/helpers/tracer/index.d.ts +0 -24
- package/helpers/tracer/index.js +0 -144
- package/helpers/tracer/index.js.map +0 -1
- package/helpers/utils/check-feature-by-segment.d.ts +0 -2
- package/helpers/utils/check-feature-by-segment.js +0 -31
- package/helpers/utils/check-feature-by-segment.js.map +0 -1
- package/helpers/utils/format-object-keys.d.ts +0 -6
- package/helpers/utils/format-object-keys.js +0 -27
- package/helpers/utils/format-object-keys.js.map +0 -1
- package/helpers/utils/get-ms-from-hrt.d.ts +0 -2
- package/helpers/utils/get-ms-from-hrt.js +0 -22
- package/helpers/utils/get-ms-from-hrt.js.map +0 -1
- package/helpers/utils/is-match-pattern-list.d.ts +0 -8
- package/helpers/utils/is-match-pattern-list.js +0 -16
- package/helpers/utils/is-match-pattern-list.js.map +0 -1
- package/helpers/utils/is-not-empty-array.d.ts +0 -2
- package/helpers/utils/is-not-empty-array.js +0 -12
- package/helpers/utils/is-not-empty-array.js.map +0 -1
- package/helpers/utils/is-not-empty-string.d.ts +0 -2
- package/helpers/utils/is-not-empty-string.js +0 -15
- package/helpers/utils/is-not-empty-string.js.map +0 -1
- package/helpers/utils/is-numeric.d.ts +0 -7
- package/helpers/utils/is-numeric.js +0 -16
- package/helpers/utils/is-numeric.js.map +0 -1
- package/helpers/utils/wrap-in-measure-event.d.ts +0 -9
- package/helpers/utils/wrap-in-measure-event.js +0 -50
- package/helpers/utils/wrap-in-measure-event.js.map +0 -1
- package/logger/create-logger-middleware/index.d.ts +0 -14
- package/logger/create-logger-middleware/index.js +0 -41
- package/logger/create-logger-middleware/index.js.map +0 -1
- package/logger/create-sentry-instance/index.d.ts +0 -29
- package/logger/create-sentry-instance/index.js +0 -63
- package/logger/create-sentry-instance/index.js.map +0 -1
- package/logger/create-sentry-middleware/index.d.ts +0 -14
- package/logger/create-sentry-middleware/index.js +0 -19
- package/logger/create-sentry-middleware/index.js.map +0 -1
- package/logger/handler-creators/index.d.ts +0 -5
- package/logger/handler-creators/index.js +0 -41
- package/logger/handler-creators/index.js.map +0 -1
- package/logger/initialize-sentry-creator/index.d.ts +0 -17
- package/logger/initialize-sentry-creator/index.js +0 -35
- package/logger/initialize-sentry-creator/index.js.map +0 -1
- package/logger/sentry-logger/index.d.ts +0 -9
- package/logger/sentry-logger/index.js +0 -36
- package/logger/sentry-logger/index.js.map +0 -1
- package/module-federation/__example__/webpack-config.example.d.ts +0 -366
- package/module-federation/__example__/webpack-config.example.js +0 -58
- package/module-federation/__example__/webpack-config.example.js.map +0 -1
- package/module-federation/enhanced-module-federation-plugin.d.ts +0 -69
- package/module-federation/enhanced-module-federation-plugin.js +0 -97
- package/module-federation/enhanced-module-federation-plugin.js.map +0 -1
- package/module-federation/utils/index.d.ts +0 -16
- package/module-federation/utils/index.js +0 -33
- package/module-federation/utils/index.js.map +0 -1
- package/observe-middleware/index.d.ts +0 -9
- package/observe-middleware/index.js +0 -67
- package/observe-middleware/index.js.map +0 -1
- package/set-header-middleware/create.d.ts +0 -10
- package/set-header-middleware/create.js +0 -16
- package/set-header-middleware/create.js.map +0 -1
- package/src/cache/helpers.js +0 -32
- package/src/cache/local-storage.ts +0 -92
- package/src/cache/redis.js +0 -79
- package/src/cache/wrap-in-trace.js +0 -57
- package/src/config/create.js +0 -33
- package/src/config/helpers.js +0 -71
- package/src/config/validate.js +0 -114
- package/src/container/create-inject.js +0 -32
- package/src/container/get-dependencies.js +0 -46
- package/src/container/index.js +0 -188
- package/src/container/is-container.js +0 -14
- package/src/container/service-not-found-error.js +0 -14
- package/src/create-proxy/create-proxy-middleware/index.js +0 -47
- package/src/create-proxy/index.js +0 -27
- package/src/create-response-sender/index.js +0 -48
- package/src/get-dynamic-data/index.js +0 -26
- package/src/graceful-shutdown/index.js +0 -97
- package/src/helpers/add-error-handling/index.js +0 -24
- package/src/helpers/api/create-enhancer.js +0 -52
- package/src/helpers/api/create-instance.js +0 -42
- package/src/helpers/api/middlewares/collect-cookie-middleware.js +0 -27
- package/src/helpers/api/middlewares/count-api-response-time.js +0 -31
- package/src/helpers/api/middlewares/error-handlers-middlewares.js +0 -124
- package/src/helpers/api/middlewares/helpers.js +0 -26
- package/src/helpers/api/middlewares/pass-headers-middleware.js +0 -19
- package/src/helpers/api/middlewares/prepare-request-headers.js +0 -18
- package/src/helpers/api/middlewares/set-http-agents-middleware.js +0 -22
- package/src/helpers/api/middlewares/stages-trace-middleware.js +0 -46
- package/src/helpers/api/server-adapter/__fixtures__/fake-keys.js +0 -58
- package/src/helpers/api/server-adapter/constants.js +0 -12
- package/src/helpers/api/server-adapter/helpers.js +0 -244
- package/src/helpers/api/server-adapter/index.js +0 -155
- package/src/helpers/development/use-dot-env.js +0 -9
- package/src/helpers/get-params/index.js +0 -59
- package/src/helpers/http/request-getters.js +0 -42
- package/src/helpers/http/statuses-validator.js +0 -20
- package/src/helpers/logger/create-pino-instance/index.js +0 -41
- package/src/helpers/logger/format-time/index.js +0 -6
- package/src/helpers/metrics/index.js +0 -40
- package/src/helpers/prometheus/index.js +0 -9
- package/src/helpers/prometheus/measure-middleware.js +0 -73
- package/src/helpers/prometheus/metric-adapter.js +0 -99
- package/src/helpers/react/error-handlers/index.tsx +0 -68
- package/src/helpers/redux/constants.js +0 -10
- package/src/helpers/redux/create-compose-middleware.js +0 -24
- package/src/helpers/redux/get-dev-compose-creator.js +0 -9
- package/src/helpers/redux/prepare-on-ready.js +0 -16
- package/src/helpers/redux/remote-data.js +0 -124
- package/src/helpers/redux/selector/statuses.js +0 -30
- package/src/helpers/redux/wait-on-store-readiness.js +0 -40
- package/src/helpers/render/get-react-markup-data.js +0 -18
- package/src/helpers/render/index.js +0 -69
- package/src/helpers/render/render-app.js +0 -15
- package/src/helpers/saga/__fixtures__/do-safe-request.js +0 -49
- package/src/helpers/saga/cache-result.js +0 -77
- package/src/helpers/saga/create-store.js +0 -102
- package/src/helpers/saga/do-safe-request.js +0 -47
- package/src/helpers/saga/safe-request.js +0 -11
- package/src/helpers/saga/take-chain.js +0 -53
- package/src/helpers/tracer/create-child-tracing-middleware.js +0 -42
- package/src/helpers/tracer/index.js +0 -171
- package/src/helpers/utils/check-feature-by-segment.js +0 -32
- package/src/helpers/utils/format-object-keys.js +0 -23
- package/src/helpers/utils/get-ms-from-hrt.js +0 -16
- package/src/helpers/utils/is-match-pattern-list.js +0 -13
- package/src/helpers/utils/is-not-empty-array.js +0 -8
- package/src/helpers/utils/is-not-empty-string.js +0 -11
- package/src/helpers/utils/is-numeric.ts +0 -12
- package/src/helpers/utils/wrap-in-measure-event.js +0 -35
- package/src/logger/create-logger-middleware/index.js +0 -46
- package/src/logger/create-sentry-instance/index.js +0 -74
- package/src/logger/create-sentry-middleware/index.js +0 -16
- package/src/logger/handler-creators/index.js +0 -38
- package/src/logger/initialize-sentry-creator/index.js +0 -43
- package/src/logger/sentry-logger/index.js +0 -33
- package/src/module-federation/__example__/webpack-config.example.js +0 -64
- package/src/module-federation/enhanced-module-federation-plugin.js +0 -119
- package/src/module-federation/utils/index.js +0 -39
- package/src/observe-middleware/index.js +0 -70
- package/src/set-header-middleware/create.js +0 -17
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
export = EnhancedModuleFederationPlugin;
|
|
2
|
-
/** @typedef {string} RemoteName Имя удаленного сервиса (обычно совпадает с именем в git). */
|
|
3
|
-
/**
|
|
4
|
-
* @typedef {Object} RemoteProperty Опции подключения удаленного сервиса.
|
|
5
|
-
* @property {RemoteName} name Имя удаленного сервиса.
|
|
6
|
-
* @property {string} remoteEntryPath Статический путь к remoteEntry удаленного сервиса.
|
|
7
|
-
* @property {string} [version] Версия удаленного сервиса в формате semver.
|
|
8
|
-
*/
|
|
9
|
-
/** @typedef {import('webpack').ModuleFederationPluginOptions} MFPluginOriginalOptions Опции. */
|
|
10
|
-
/**
|
|
11
|
-
* @typedef EnhancedModuleFederationPluginOptions Опции.
|
|
12
|
-
* @param {string} name Имя сервиса.
|
|
13
|
-
* @param {string} filename Имя удаленной точки входа.
|
|
14
|
-
* @param {Object<string, RemoteName | RemoteProperty>} [remotes] Удаленные сервисы.
|
|
15
|
-
* @param {MFPluginOriginalOptions.exposes} [exposes] Предоставляемые сервисы.
|
|
16
|
-
* @param {MFPluginOriginalOptions.shared} [shared] Общие зависимости.
|
|
17
|
-
* @param {string} [remoteEntriesGlobalKey = '__RemoteEntriesList__'] Ключ свойства в глобальном объекте,
|
|
18
|
-
* в котором хранится карта точек входа в удаленные сервисы.
|
|
19
|
-
* @param {string} [containersGlobalKey = '__FederationContainers__'] Ключ свойства в глобальном объекте,
|
|
20
|
-
* в который добавляются контейнеры удаленных сервисов.
|
|
21
|
-
* @param {boolean} [useInDevelopment = false] Требуется ли подключение ModuleFederationPlugin в среде разработки.
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* Создает плагин ModuleFederation с опциями, необходимыми для оркестрации удаленных модулей на клиенте.
|
|
25
|
-
* Плагин ModuleFederation будет добавлен в production режиме.
|
|
26
|
-
*/
|
|
27
|
-
declare class EnhancedModuleFederationPlugin {
|
|
28
|
-
/**
|
|
29
|
-
* @param {EnhancedModuleFederationPluginOptions} options Опции.
|
|
30
|
-
*/
|
|
31
|
-
constructor(options: any);
|
|
32
|
-
_options: any;
|
|
33
|
-
/**
|
|
34
|
-
* @param {import('webpack').Compiler} compiler Компилятор.
|
|
35
|
-
*/
|
|
36
|
-
apply(compiler: import('webpack').Compiler): void;
|
|
37
|
-
}
|
|
38
|
-
declare namespace EnhancedModuleFederationPlugin {
|
|
39
|
-
export { RemoteName, RemoteProperty, MFPluginOriginalOptions, EnhancedModuleFederationPluginOptions };
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Имя удаленного сервиса (обычно совпадает с именем в git).
|
|
43
|
-
*/
|
|
44
|
-
type RemoteName = string;
|
|
45
|
-
/**
|
|
46
|
-
* Опции подключения удаленного сервиса.
|
|
47
|
-
*/
|
|
48
|
-
type RemoteProperty = {
|
|
49
|
-
/**
|
|
50
|
-
* Имя удаленного сервиса.
|
|
51
|
-
*/
|
|
52
|
-
name: RemoteName;
|
|
53
|
-
/**
|
|
54
|
-
* Статический путь к remoteEntry удаленного сервиса.
|
|
55
|
-
*/
|
|
56
|
-
remoteEntryPath: string;
|
|
57
|
-
/**
|
|
58
|
-
* Версия удаленного сервиса в формате semver.
|
|
59
|
-
*/
|
|
60
|
-
version?: string | undefined;
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Опции.
|
|
64
|
-
*/
|
|
65
|
-
type MFPluginOriginalOptions = import('webpack').ModuleFederationPluginOptions;
|
|
66
|
-
/**
|
|
67
|
-
* Опции.
|
|
68
|
-
*/
|
|
69
|
-
type EnhancedModuleFederationPluginOptions = any;
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
const { ModuleFederationPlugin } = require('webpack').container;
|
|
14
|
-
const WebpackError = require('webpack').WebpackError;
|
|
15
|
-
const { createExternalConfig } = require('./utils');
|
|
16
|
-
const LIBRARY_ERROR_TEXT = [
|
|
17
|
-
'Property "library" set internally as "global" and not overridden.',
|
|
18
|
-
'For override global variable name use "containersGlobalKey" property.',
|
|
19
|
-
'For override "library" type use ModuleFederationPlugin.',
|
|
20
|
-
].join(' ');
|
|
21
|
-
const REMOTE_ERROR_TEXT = [
|
|
22
|
-
'The value of the remote element must be a string,',
|
|
23
|
-
'or an object with field `name` for dynamic resolution of `remoteEntry`.',
|
|
24
|
-
'Set `remoteEntryPath` field to object for a static path to `remoteEntry`.',
|
|
25
|
-
].join(' ');
|
|
26
|
-
/** @typedef {string} RemoteName Имя удаленного сервиса (обычно совпадает с именем в git). */
|
|
27
|
-
/**
|
|
28
|
-
* @typedef {Object} RemoteProperty Опции подключения удаленного сервиса.
|
|
29
|
-
* @property {RemoteName} name Имя удаленного сервиса.
|
|
30
|
-
* @property {string} remoteEntryPath Статический путь к remoteEntry удаленного сервиса.
|
|
31
|
-
* @property {string} [version] Версия удаленного сервиса в формате semver.
|
|
32
|
-
*/
|
|
33
|
-
/** @typedef {import('webpack').ModuleFederationPluginOptions} MFPluginOriginalOptions Опции. */
|
|
34
|
-
/**
|
|
35
|
-
* @typedef EnhancedModuleFederationPluginOptions Опции.
|
|
36
|
-
* @param {string} name Имя сервиса.
|
|
37
|
-
* @param {string} filename Имя удаленной точки входа.
|
|
38
|
-
* @param {Object<string, RemoteName | RemoteProperty>} [remotes] Удаленные сервисы.
|
|
39
|
-
* @param {MFPluginOriginalOptions.exposes} [exposes] Предоставляемые сервисы.
|
|
40
|
-
* @param {MFPluginOriginalOptions.shared} [shared] Общие зависимости.
|
|
41
|
-
* @param {string} [remoteEntriesGlobalKey = '__RemoteEntriesList__'] Ключ свойства в глобальном объекте,
|
|
42
|
-
* в котором хранится карта точек входа в удаленные сервисы.
|
|
43
|
-
* @param {string} [containersGlobalKey = '__FederationContainers__'] Ключ свойства в глобальном объекте,
|
|
44
|
-
* в который добавляются контейнеры удаленных сервисов.
|
|
45
|
-
* @param {boolean} [useInDevelopment = false] Требуется ли подключение ModuleFederationPlugin в среде разработки.
|
|
46
|
-
*/
|
|
47
|
-
/**
|
|
48
|
-
* Создает плагин ModuleFederation с опциями, необходимыми для оркестрации удаленных модулей на клиенте.
|
|
49
|
-
* Плагин ModuleFederation будет добавлен в production режиме.
|
|
50
|
-
*/
|
|
51
|
-
class EnhancedModuleFederationPlugin {
|
|
52
|
-
/**
|
|
53
|
-
* @param {EnhancedModuleFederationPluginOptions} options Опции.
|
|
54
|
-
*/
|
|
55
|
-
constructor(options) {
|
|
56
|
-
const { name, library, remotes, remoteEntriesGlobalKey = '__RemoteEntriesList__', containersGlobalKey = '__FederationContainers__', } = options;
|
|
57
|
-
if (library) {
|
|
58
|
-
throw new WebpackError(LIBRARY_ERROR_TEXT);
|
|
59
|
-
}
|
|
60
|
-
if (remotes) {
|
|
61
|
-
Object.values(remotes).forEach(value => {
|
|
62
|
-
if (typeof value !== 'string' && !(value === null || value === void 0 ? void 0 : value.name)) {
|
|
63
|
-
throw new WebpackError(REMOTE_ERROR_TEXT);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
this._options = Object.assign(Object.assign({}, options), { remoteEntriesGlobalKey,
|
|
68
|
-
containersGlobalKey, library: {
|
|
69
|
-
type: 'global',
|
|
70
|
-
name: [containersGlobalKey, name],
|
|
71
|
-
} });
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* @param {import('webpack').Compiler} compiler Компилятор.
|
|
75
|
-
*/
|
|
76
|
-
apply(compiler) {
|
|
77
|
-
const _a = this._options, { remotes, remoteEntriesGlobalKey, containersGlobalKey, useInDevelopment = false } = _a, originalOptions = __rest(_a, ["remotes", "remoteEntriesGlobalKey", "containersGlobalKey", "useInDevelopment"]);
|
|
78
|
-
const configuredRemotes = {};
|
|
79
|
-
remotes && Object.entries(remotes).forEach(([key, value]) => {
|
|
80
|
-
const serviceName = (value === null || value === void 0 ? void 0 : value.name) || value;
|
|
81
|
-
const remoteEntryPath = value === null || value === void 0 ? void 0 : value.remoteEntryPath;
|
|
82
|
-
configuredRemotes[key] = { external: createExternalConfig({
|
|
83
|
-
serviceName,
|
|
84
|
-
remoteEntryPath,
|
|
85
|
-
remoteEntriesGlobalKey,
|
|
86
|
-
containersGlobalKey,
|
|
87
|
-
}) };
|
|
88
|
-
});
|
|
89
|
-
compiler.hooks.environment.tap('EnhancedModuleFederationPlugin', () => {
|
|
90
|
-
if (useInDevelopment || compiler.options.mode === 'production') {
|
|
91
|
-
new ModuleFederationPlugin(Object.assign(Object.assign({}, remotes && { remotes: configuredRemotes }), originalOptions)).apply(compiler);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
module.exports = EnhancedModuleFederationPlugin;
|
|
97
|
-
//# sourceMappingURL=enhanced-module-federation-plugin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-module-federation-plugin.js","sourceRoot":"","sources":["../../src/module-federation/enhanced-module-federation-plugin.js"],"names":[],"mappings":";;;;;;;;;;;;AAAA,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;AAChE,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;AACrD,MAAM,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAEpD,MAAM,kBAAkB,GAAG;IACzB,mEAAmE;IACnE,uEAAuE;IACvE,yDAAyD;CAC1D,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,MAAM,iBAAiB,GAAG;IACxB,mDAAmD;IACnD,yEAAyE;IACzE,2EAA2E;CAC5E,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,6FAA6F;AAE7F;;;;;GAKG;AAEH,gGAAgG;AAEhG;;;;;;;;;;;;GAYG;AAEH;;;GAGG;AACH,MAAM,8BAA8B;IAClC;;OAEG;IACH,YAAa,OAAO;QAClB,MAAM,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,sBAAsB,GAAG,uBAAuB,EAChD,mBAAmB,GAAG,0BAA0B,GACjD,GAAG,OAAO,CAAC;QAEZ,IAAI,OAAO,EAAE;YACX,MAAM,IAAI,YAAY,CAAC,kBAAkB,CAAC,CAAC;SAC5C;QAED,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA,EAAE;oBAC7C,MAAM,IAAI,YAAY,CAAC,iBAAiB,CAAC,CAAC;iBAC3C;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,QAAQ,mCACR,OAAO,KACV,sBAAsB;YACtB,mBAAmB,EACnB,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC;aAClC,GACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAE,QAAQ;QACb,MAAM,KAMF,IAAI,CAAC,QAAQ,EANX,EACJ,OAAO,EACP,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GAAG,KAAK,OAET,EADZ,eAAe,cALd,gFAML,CAAgB,CAAC;QAElB,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAE7B,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC1D,MAAM,WAAW,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,KAAK,CAAC;YACzC,MAAM,eAAe,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,CAAC;YAE/C,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,oBAAoB,CAAC;oBACxD,WAAW;oBACX,eAAe;oBACf,sBAAsB;oBACtB,mBAAmB;iBACpB,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACpE,IAAI,gBAAgB,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE;gBAC9D,IAAI,sBAAsB,iCACrB,OAAO,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,GACzC,eAAe,EAClB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACpB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,8BAA8B,CAAC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Возвращает скрипт инициализации удаленного модуля.
|
|
3
|
-
* @param {Object} params Параметры.
|
|
4
|
-
* @param {string} params.serviceName Имя сервиса, содержащего удаленные модули.
|
|
5
|
-
* @param {string} params.remoteEntriesGlobalKey Глобальная переменная,
|
|
6
|
-
* в которой хранятся пути к удаленным точкам входа.
|
|
7
|
-
* @param {string} params.containersGlobalKey Глобальная переменная, в которую добавляются удаленные контейнеры.
|
|
8
|
-
* @param {string} params.remoteEntryPath Путь к remoteEntry, если его не надо получать в рантайме.
|
|
9
|
-
* @return {string} Скрипт инициализации.
|
|
10
|
-
*/
|
|
11
|
-
export function createExternalConfig({ serviceName, remoteEntryPath, remoteEntriesGlobalKey, containersGlobalKey, }: {
|
|
12
|
-
serviceName: string;
|
|
13
|
-
remoteEntriesGlobalKey: string;
|
|
14
|
-
containersGlobalKey: string;
|
|
15
|
-
remoteEntryPath: string;
|
|
16
|
-
}): string;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Возвращает скрипт инициализации удаленного модуля.
|
|
4
|
-
* @param {Object} params Параметры.
|
|
5
|
-
* @param {string} params.serviceName Имя сервиса, содержащего удаленные модули.
|
|
6
|
-
* @param {string} params.remoteEntriesGlobalKey Глобальная переменная,
|
|
7
|
-
* в которой хранятся пути к удаленным точкам входа.
|
|
8
|
-
* @param {string} params.containersGlobalKey Глобальная переменная, в которую добавляются удаленные контейнеры.
|
|
9
|
-
* @param {string} params.remoteEntryPath Путь к remoteEntry, если его не надо получать в рантайме.
|
|
10
|
-
* @return {string} Скрипт инициализации.
|
|
11
|
-
*/
|
|
12
|
-
const createExternalConfig = ({ serviceName, remoteEntryPath, remoteEntriesGlobalKey, containersGlobalKey, }) => `promise new Promise((resolve, reject) => {
|
|
13
|
-
if (window['${remoteEntriesGlobalKey}']) {
|
|
14
|
-
const scriptElement = document.createElement('script');
|
|
15
|
-
scriptElement.onload = () => {
|
|
16
|
-
scriptElement.remove();
|
|
17
|
-
resolve(window['${containersGlobalKey}']['${serviceName}']);
|
|
18
|
-
};
|
|
19
|
-
scriptElement.onerror = () => {
|
|
20
|
-
scriptElement.remove();
|
|
21
|
-
reject(new Error('Failed loading remoteEntry for "${serviceName}".'));
|
|
22
|
-
};
|
|
23
|
-
scriptElement.src = ${remoteEntryPath
|
|
24
|
-
? `'${remoteEntryPath}'`
|
|
25
|
-
: `window['${remoteEntriesGlobalKey}']['${serviceName}']`};
|
|
26
|
-
scriptElement.async = true;
|
|
27
|
-
document.head.append(scriptElement);
|
|
28
|
-
} else {
|
|
29
|
-
reject(new ReferenceError('Object "${remoteEntriesGlobalKey}" unavailable.'));
|
|
30
|
-
}
|
|
31
|
-
})`;
|
|
32
|
-
module.exports = { createExternalConfig };
|
|
33
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/module-federation/utils/index.js"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AACH,MAAM,oBAAoB,GAAG,CAAC,EAC5B,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,EAAE,EAAE,CACD;gBACY,sBAAsB;;;;wBAId,mBAAmB,OAAO,WAAW;;;;0DAIH,WAAW;;0BAE3C,eAAe;IACjC,CAAC,CAAC,IAAI,eAAe,GAAG;IACxB,CAAC,CAAC,WAAW,sBAAsB,OAAO,WAAW,IACzD;;;;yCAIqC,sBAAsB;;GAE5D,CAAC;AAEJ,MAAM,CAAC,OAAO,GAAG,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export function defaultStartSubscriber({ callback }: Function): any;
|
|
2
|
-
export function defaultFinishSubscriber({ response, callback }: {
|
|
3
|
-
response: import('http').ServerResponse;
|
|
4
|
-
callback: Function;
|
|
5
|
-
}): import('http').ServerResponse;
|
|
6
|
-
export function createObserveMiddleware({ onStart, onFinish, startSubscriber, finishSubscriber, }?: {
|
|
7
|
-
onStart: Function;
|
|
8
|
-
onFinish: Function;
|
|
9
|
-
}): Function;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createObserveMiddleware = exports.defaultFinishSubscriber = exports.defaultStartSubscriber = void 0;
|
|
7
|
-
const isFunction_1 = __importDefault(require("lodash/isFunction"));
|
|
8
|
-
const get_ms_from_hrt_1 = __importDefault(require("../helpers/utils/get-ms-from-hrt"));
|
|
9
|
-
/**
|
|
10
|
-
* Немедленно выполняет функцию-обработчик при старте middleware.
|
|
11
|
-
* @param {Function} callback Функция обработчик.
|
|
12
|
-
* @return {*} Результат выполнения функции-обработчика.
|
|
13
|
-
*/
|
|
14
|
-
const defaultStartSubscriber = ({ callback }) => callback();
|
|
15
|
-
exports.defaultStartSubscriber = defaultStartSubscriber;
|
|
16
|
-
/**
|
|
17
|
-
* Подписчик на событие завершения процесса.
|
|
18
|
-
* @param {Object} param Параметры.
|
|
19
|
-
* @param {import('http').ServerResponse} param.response Ответ сервера.
|
|
20
|
-
* @param {Function} param.callback Функция-обработчик события.
|
|
21
|
-
* @return {import('http').ServerResponse} Имеет ли событие другие обработчики.
|
|
22
|
-
*/
|
|
23
|
-
const defaultFinishSubscriber = ({ response, callback }) => response.once('finish', callback);
|
|
24
|
-
exports.defaultFinishSubscriber = defaultFinishSubscriber;
|
|
25
|
-
/**
|
|
26
|
-
* Возвращает новую функцию - промежуточный слой для Express-приложения.
|
|
27
|
-
* @param {Object} options Опции.
|
|
28
|
-
* @param {Function} options.onStart Сработает при старте запроса, получит временную отметку старта, запрос и ответ.
|
|
29
|
-
* @param {Function} options.onFinish Сработает при отправке ответа, получит временную отметку старта, запрос и ответ.
|
|
30
|
-
* @return {Function} Функция - промежуточный слой для Express.
|
|
31
|
-
*/
|
|
32
|
-
const createObserveMiddleware = ({ onStart, onFinish, startSubscriber = exports.defaultStartSubscriber, finishSubscriber = exports.defaultFinishSubscriber, } = {}) => {
|
|
33
|
-
const hasStartHandler = isFunction_1.default(onStart);
|
|
34
|
-
const hasFinishHandler = isFunction_1.default(onFinish);
|
|
35
|
-
const hasStartSubscriber = isFunction_1.default(startSubscriber);
|
|
36
|
-
const hasFinishSubscriber = isFunction_1.default(finishSubscriber);
|
|
37
|
-
return (request, response, next) => {
|
|
38
|
-
let startTime = process.hrtime();
|
|
39
|
-
if (hasStartSubscriber) {
|
|
40
|
-
startSubscriber({
|
|
41
|
-
request,
|
|
42
|
-
response,
|
|
43
|
-
callback: () => {
|
|
44
|
-
startTime = process.hrtime();
|
|
45
|
-
if (hasStartHandler) {
|
|
46
|
-
onStart(get_ms_from_hrt_1.default(startTime), request, response);
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
if (hasFinishSubscriber) {
|
|
52
|
-
finishSubscriber({
|
|
53
|
-
request,
|
|
54
|
-
response,
|
|
55
|
-
callback: () => {
|
|
56
|
-
const duration = process.hrtime(startTime);
|
|
57
|
-
if (hasFinishHandler) {
|
|
58
|
-
onFinish(get_ms_from_hrt_1.default(duration), request, response);
|
|
59
|
-
}
|
|
60
|
-
},
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
next();
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
exports.createObserveMiddleware = createObserveMiddleware;
|
|
67
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/observe-middleware/index.js"],"names":[],"mappings":";;;;;;AAAA,mEAA2C;AAC3C,uFAA4D;AAE5D;;;;GAIG;AACI,MAAM,sBAAsB,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;AAAtD,QAAA,sBAAsB,0BAAgC;AAEnE;;;;;;GAMG;AACI,MAAM,uBAAuB,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAAxF,QAAA,uBAAuB,2BAAiE;AAErG;;;;;;GAMG;AACI,MAAM,uBAAuB,GAAG,CACrC,EACE,OAAO,EACP,QAAQ,EACR,eAAe,GAAG,8BAAsB,EACxC,gBAAgB,GAAG,+BAAuB,GAC3C,GAAG,EAAE,EACN,EAAE;IACF,MAAM,eAAe,GAAG,oBAAU,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,oBAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,kBAAkB,GAAG,oBAAU,CAAC,eAAe,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,oBAAU,CAAC,gBAAgB,CAAC,CAAC;IAEzD,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QACjC,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,kBAAkB,EAAE;YACtB,eAAe,CAAC;gBACd,OAAO;gBACP,QAAQ;gBACR,QAAQ,EAAE,GAAG,EAAE;oBACb,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC7B,IAAI,eAAe,EAAE;wBACnB,OAAO,CAAC,yBAAY,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;qBACrD;gBACH,CAAC;aACF,CAAC,CAAC;SACJ;QAED,IAAI,mBAAmB,EAAE;YACvB,gBAAgB,CAAC;gBACf,OAAO;gBACP,QAAQ;gBACR,QAAQ,EAAE,GAAG,EAAE;oBACb,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC3C,IAAI,gBAAgB,EAAE;wBACpB,QAAQ,CAAC,yBAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;qBACrD;gBACH,CAAC;aACF,CAAC,CAAC;SACJ;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC,CAAC;AA3CW,QAAA,uBAAuB,2BA2ClC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export default createSetHeaderMiddleware;
|
|
2
|
-
/**
|
|
3
|
-
* Фабрика для промежуточного слоя устанавливающего заголовки.
|
|
4
|
-
* @param {Object} dependencies Объект зависимостей.
|
|
5
|
-
* @param {Object} [dependencies.headers] Объект заголовков.
|
|
6
|
-
* @return {Function} Промежуточный слой приложения для установки заголовков со ссылками на клиентские ресурсы.
|
|
7
|
-
*/
|
|
8
|
-
declare function createSetHeaderMiddleware({ headers, }: {
|
|
9
|
-
headers?: Object | undefined;
|
|
10
|
-
}): Function;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
/**
|
|
4
|
-
* Фабрика для промежуточного слоя устанавливающего заголовки.
|
|
5
|
-
* @param {Object} dependencies Объект зависимостей.
|
|
6
|
-
* @param {Object} [dependencies.headers] Объект заголовков.
|
|
7
|
-
* @return {Function} Промежуточный слой приложения для установки заголовков со ссылками на клиентские ресурсы.
|
|
8
|
-
*/
|
|
9
|
-
const createSetHeaderMiddleware = ({ headers = {}, }) => (request, response, next) => {
|
|
10
|
-
Object.entries(headers).forEach(([key, value]) => {
|
|
11
|
-
response.set({ [key]: value });
|
|
12
|
-
});
|
|
13
|
-
next();
|
|
14
|
-
};
|
|
15
|
-
exports.default = createSetHeaderMiddleware;
|
|
16
|
-
//# sourceMappingURL=create.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/set-header-middleware/create.js"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,MAAM,yBAAyB,GAAG,CAAC,EACjC,OAAO,GAAG,EAAE,GACb,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAChC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,IAAI,EAAE,CAAC;AACT,CAAC,CAAC;AAEF,kBAAe,yBAAyB,CAAC"}
|
package/src/cache/helpers.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import localStorageCache from './local-storage';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Создаёт обработчик события подключения к redis для установки статуса готовности кэша к работе.
|
|
5
|
-
* @param {Object} cache Объект кэша.
|
|
6
|
-
* @return {Function} Функция устанавливающая статус кэша.
|
|
7
|
-
*/
|
|
8
|
-
export const getOnConnectCallback = cache => () => cache.status = true;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Создаёт обработчик события переподключения к redis для установки статуса готовности кэша к работе.
|
|
12
|
-
* @param {Object} cache Объект кэша.
|
|
13
|
-
* @return {Function} Функция устанавливающая статус кэша.
|
|
14
|
-
*/
|
|
15
|
-
export const getOnReconnectingCallback = cache => () => cache.status = false;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Переподключение после ошибки.
|
|
19
|
-
* @param {string} code Код ошибки.
|
|
20
|
-
* @return {boolean} Сходится ли код ошибки с ECONNREFUSED.
|
|
21
|
-
*/
|
|
22
|
-
export const reconnectOnError = ({ code }) => {
|
|
23
|
-
const targetError = 'ECONNREFUSED';
|
|
24
|
-
return code === targetError;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Определяет есть ли в localStorage нужная информация.
|
|
29
|
-
* @param {string} key Ключ.
|
|
30
|
-
* @return {boolean} Признак наличия ключа.
|
|
31
|
-
*/
|
|
32
|
-
export const keyInLocalStorageExists = key => localStorageCache.status && key in localStorage;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Определяет доступен ли кэш.
|
|
3
|
-
* @return Флаг доступности кэш.
|
|
4
|
-
*/
|
|
5
|
-
export const isAvailable = (): boolean => {
|
|
6
|
-
try {
|
|
7
|
-
const testKey = `local_storage_test_key::${Date.now()}`;
|
|
8
|
-
|
|
9
|
-
window.localStorage.setItem(testKey, testKey);
|
|
10
|
-
window.localStorage.removeItem(testKey);
|
|
11
|
-
|
|
12
|
-
return true;
|
|
13
|
-
} catch {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Возвращает объект.
|
|
20
|
-
* @param key Ключ.
|
|
21
|
-
* @return Запрашиваемое значение.
|
|
22
|
-
*/
|
|
23
|
-
export const getItem = (key: string): unknown => {
|
|
24
|
-
const { value, expire } = JSON.parse(localStorage.getItem(key) || '{}');
|
|
25
|
-
const now = Date.now();
|
|
26
|
-
const isExpired = expire
|
|
27
|
-
? now > expire
|
|
28
|
-
: true;
|
|
29
|
-
|
|
30
|
-
isExpired && localStorage.removeItem(key);
|
|
31
|
-
|
|
32
|
-
return isExpired ? null : value;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Добавляет значение.
|
|
37
|
-
* @param key Ключ.
|
|
38
|
-
* @param value Значение.
|
|
39
|
-
* @param duration Время жизни значения в секундах.
|
|
40
|
-
*/
|
|
41
|
-
export const setItem = (key: string, value: any, duration = 3600) => {
|
|
42
|
-
const now = Date.now();
|
|
43
|
-
const durationMs = duration * 1000;
|
|
44
|
-
const expire = now + durationMs;
|
|
45
|
-
|
|
46
|
-
localStorage.setItem(key, JSON.stringify({
|
|
47
|
-
value,
|
|
48
|
-
expire,
|
|
49
|
-
}));
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Определяет, превышена ли квота.
|
|
54
|
-
* @param error Информация об ошибке.
|
|
55
|
-
* @return Признак превышения квоты.
|
|
56
|
-
*/
|
|
57
|
-
export const isQuotaExceeded = (error: any): boolean => {
|
|
58
|
-
let quotaExceeded = false;
|
|
59
|
-
|
|
60
|
-
if (error) {
|
|
61
|
-
if (error.code) {
|
|
62
|
-
switch (error.code) {
|
|
63
|
-
case 22:
|
|
64
|
-
quotaExceeded = true;
|
|
65
|
-
break;
|
|
66
|
-
case 1014:
|
|
67
|
-
// Firefox
|
|
68
|
-
if (error.name === 'NS_ERROR_DOM_QUOTA_REACHED') {
|
|
69
|
-
quotaExceeded = true;
|
|
70
|
-
}
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
} else if (error.number === -2147024882) {
|
|
74
|
-
// IE 8
|
|
75
|
-
quotaExceeded = true;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return quotaExceeded;
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Набор методов для работы с кэшем.
|
|
84
|
-
*/
|
|
85
|
-
const LocalStorageCache = {
|
|
86
|
-
get: getItem,
|
|
87
|
-
set: setItem,
|
|
88
|
-
status: isAvailable(),
|
|
89
|
-
quotaExceeded: isQuotaExceeded,
|
|
90
|
-
} as const;
|
|
91
|
-
|
|
92
|
-
export default LocalStorageCache;
|
package/src/cache/redis.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import Redis from 'ioredis';
|
|
2
|
-
import { promisify } from 'util';
|
|
3
|
-
import { createService } from '../container/index';
|
|
4
|
-
import {
|
|
5
|
-
reconnectOnError,
|
|
6
|
-
getOnConnectCallback,
|
|
7
|
-
getOnReconnectingCallback,
|
|
8
|
-
} from './helpers';
|
|
9
|
-
import isFunction from 'lodash/isFunction';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Кэширует данные в Redis.
|
|
13
|
-
* @param {Object} config Объект с параметрами Redis.
|
|
14
|
-
* @param {Function} [reconnectAfterError] Переподключение после ошибки.
|
|
15
|
-
* @param {Function} [getRepeatStrategy] Устанавливает время для повтора перезаписи в redis.
|
|
16
|
-
* @param {Function} [getOnJoinCallback] Коллбэк функция при коннект статусе.
|
|
17
|
-
* @param {Function} [getAfterReconnectingCallback] Коллбэк функция при реконнект статусе.
|
|
18
|
-
* @return {Object} Объект с методами для работы с Redis.
|
|
19
|
-
*/
|
|
20
|
-
export const createRedisCache = (
|
|
21
|
-
config,
|
|
22
|
-
reconnectAfterError = reconnectOnError,
|
|
23
|
-
getRepeatStrategy,
|
|
24
|
-
getOnJoinCallback = getOnConnectCallback,
|
|
25
|
-
getAfterReconnectingCallback = getOnReconnectingCallback
|
|
26
|
-
) => {
|
|
27
|
-
const {
|
|
28
|
-
cacheConfig = {},
|
|
29
|
-
recDelay,
|
|
30
|
-
defaultCacheDuration,
|
|
31
|
-
redisEnabled,
|
|
32
|
-
sentinelEnabled,
|
|
33
|
-
sentinelConfig,
|
|
34
|
-
} = config || {};
|
|
35
|
-
const cache = { status: null };
|
|
36
|
-
|
|
37
|
-
if (redisEnabled || sentinelEnabled) {
|
|
38
|
-
const client = new Redis(
|
|
39
|
-
redisEnabled ? {
|
|
40
|
-
reconnectOnError: reconnectAfterError,
|
|
41
|
-
retryStrategy: isFunction(getRepeatStrategy) ? getRepeatStrategy(recDelay) : undefined,
|
|
42
|
-
...cacheConfig,
|
|
43
|
-
} : sentinelConfig
|
|
44
|
-
);
|
|
45
|
-
|
|
46
|
-
client.on('connect', getOnJoinCallback(cache));
|
|
47
|
-
client.on('reconnecting', getAfterReconnectingCallback(cache));
|
|
48
|
-
|
|
49
|
-
const getAsync = promisify(client.get).bind(client);
|
|
50
|
-
cache.set = (key, value, duration = defaultCacheDuration) => client.set(key, value, 'EX', duration);
|
|
51
|
-
cache.get = key => getAsync(key);
|
|
52
|
-
}
|
|
53
|
-
return cache;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Преобразует опции сервиса в аргументы функции.
|
|
58
|
-
* @param {Object} param Параметры.
|
|
59
|
-
* @param {Object} param.config Объект с параметрами Redis.
|
|
60
|
-
* @param {Function} param.reconnectAfterError Переподключение после ошибки.
|
|
61
|
-
* @param {Function} param.getRepeatStrategy Время для повтора перезаписи в redis.
|
|
62
|
-
* @param {Function} param.getOnJoinCallback Устанавливает статус кэша.
|
|
63
|
-
* @param {Function} param.getAfterReconnectingCallback Устанавливает статус кэша.
|
|
64
|
-
* @return {Object} Config Объект с параметрами Redis.
|
|
65
|
-
*/
|
|
66
|
-
export const mapServiceOptionsToArgs = ({
|
|
67
|
-
config,
|
|
68
|
-
reconnectAfterError,
|
|
69
|
-
getRepeatStrategy,
|
|
70
|
-
getOnJoinCallback,
|
|
71
|
-
getAfterReconnectingCallback,
|
|
72
|
-
}) => [
|
|
73
|
-
config,
|
|
74
|
-
reconnectAfterError,
|
|
75
|
-
getRepeatStrategy,
|
|
76
|
-
getOnJoinCallback,
|
|
77
|
-
getAfterReconnectingCallback,
|
|
78
|
-
];
|
|
79
|
-
export default createService(createRedisCache, mapServiceOptionsToArgs);
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { createService } from '../container';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Обертка методов кэша.
|
|
5
|
-
* @param {Object} tracer Экземпляр jaeger-трейсера.
|
|
6
|
-
* @param {Object} context Контекст спана.
|
|
7
|
-
* @param {Object} cache Кэш.
|
|
8
|
-
* @return {Object} Объект с методами кэша.
|
|
9
|
-
*/
|
|
10
|
-
export const wrapInTrace = (tracer, context, cache) => ({
|
|
11
|
-
/**
|
|
12
|
-
* Получение ключа из кэша.
|
|
13
|
-
* @param {string} key Ключ.
|
|
14
|
-
* @return {Promise} Промис для получения ответа.
|
|
15
|
-
*/
|
|
16
|
-
get: async key => {
|
|
17
|
-
const span = tracer.startSpan(`Redis GET ${key}`, {
|
|
18
|
-
childOf: context,
|
|
19
|
-
});
|
|
20
|
-
const result = await cache.get(key);
|
|
21
|
-
span.finish();
|
|
22
|
-
return result;
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Задаем значение в кэш.
|
|
27
|
-
* @param {string} key Ключ.
|
|
28
|
-
* @param {string} value Новое значение.
|
|
29
|
-
* @param {number} duration Длительность.
|
|
30
|
-
*/
|
|
31
|
-
set: (key, value, duration = 3600) => {
|
|
32
|
-
const span = tracer.startSpan(`Redis SET ${key}`, {
|
|
33
|
-
childOf: context,
|
|
34
|
-
});
|
|
35
|
-
cache.set(key, value, duration);
|
|
36
|
-
span.finish();
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Геттер статуса кэша.
|
|
41
|
-
* @return {string} Статус кэша.
|
|
42
|
-
*/
|
|
43
|
-
get status () {
|
|
44
|
-
return cache.status;
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Преобразует опции сервиса в аргументы функции.
|
|
50
|
-
* @param {Object} param Параметры.
|
|
51
|
-
* @param {Object} param.tracer Экземпляр jaeger-трейсера.
|
|
52
|
-
* @param {Object} param.context Контекст спана.
|
|
53
|
-
* @param {Object} param.cache Кэш.
|
|
54
|
-
* @return {Object} Config Объект с параметрами Redis.
|
|
55
|
-
*/
|
|
56
|
-
export const mapServiceOptionsToArgs = ({ tracer, context = {}, cache }) => [tracer, context, cache];
|
|
57
|
-
export default createService(wrapInTrace, mapServiceOptionsToArgs);
|
package/src/config/create.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import isFunction from 'lodash/isFunction';
|
|
2
|
-
import isPlainObject from 'lodash/isPlainObject';
|
|
3
|
-
import formatObjectKeys from '../helpers/utils/format-object-keys';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Собирает объект конфигурации из переданных параметров.
|
|
7
|
-
* @param {Object} data Объект с данными, которые нужно добавить в конфигурацию.
|
|
8
|
-
* @param {Object} base Базовый объект на основе которого строится конфигурация.
|
|
9
|
-
* @param {boolean} needFormatKeys Признак форматирования ключей объекта.
|
|
10
|
-
* @return {Object} Объект конфигурации.
|
|
11
|
-
*/
|
|
12
|
-
export default function createConfig (
|
|
13
|
-
data = {},
|
|
14
|
-
base = { ...process.env },
|
|
15
|
-
needFormatKeys = true
|
|
16
|
-
) {
|
|
17
|
-
if (!isPlainObject(data)) {
|
|
18
|
-
throw new TypeError('Параметр "data" должен быть чистым объектом');
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
if (!isPlainObject(base)) {
|
|
22
|
-
throw new TypeError('Параметр "base" должен быть чистым объектом');
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return Object.entries(data).reduce((config, current) => {
|
|
26
|
-
const [key, value] = current;
|
|
27
|
-
|
|
28
|
-
if (!(key in config)) {
|
|
29
|
-
config[key] = isFunction(value) ? value(base) : value;
|
|
30
|
-
}
|
|
31
|
-
return config;
|
|
32
|
-
}, needFormatKeys ? formatObjectKeys({ ...base }) : base);
|
|
33
|
-
}
|