@tramvai/module-mocker 4.8.6 → 4.9.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/lib/server.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from 'tslib';
2
- import { Module, provide, commandLineListTokens, Scope } from '@tramvai/core';
2
+ import { Module, provide, commandLineListTokens, DI_TOKEN, Scope } from '@tramvai/core';
3
3
  import { createPapiMethod } from '@tramvai/papi';
4
- import { LOGGER_TOKEN, ENV_MANAGER_TOKEN } from '@tramvai/tokens-common';
4
+ import { CONTEXT_TOKEN, CLIENT_ENV_REPOSITORY_TOKEN, LOGGER_TOKEN, ENV_MANAGER_TOKEN } from '@tramvai/tokens-common';
5
5
  import { FASTIFY_REQUEST, FASTIFY_RESPONSE } from '@tramvai/tokens-server-private';
6
6
  import { SERVER_MODULE_PAPI_PUBLIC_URL, SERVER_MODULE_PAPI_PUBLIC_ROUTE } from '@tramvai/tokens-server';
7
7
  import { FileSystemMockRepository, Mocker } from '@tinkoff/mocker';
@@ -37,7 +37,7 @@ MockerModule = MockerModule_1 = __decorate([
37
37
  provide({
38
38
  provide: commandLineListTokens.init,
39
39
  multi: true,
40
- useFactory: ({ mocker, mockerConfigFactory, envManager, papiPublicUrl, logger }) => {
40
+ useFactory: ({ di, mocker, mockerConfigFactory, envManager, papiPublicUrl, logger, }) => {
41
41
  const log = logger('mocker');
42
42
  return async function mockerInit() {
43
43
  const apis = {};
@@ -65,15 +65,31 @@ MockerModule = MockerModule_1 = __decorate([
65
65
  // заменяем env переменные, которые получит клиентский код
66
66
  // важно! не сработает для случаев, когда env из серверного кода попадает
67
67
  // в клиентский код через inline скрипт, например `FRONT_LOG_API`
68
+ // for backward compatibility
68
69
  envManager.updateClientUsed(clientMockedEnv);
69
70
  // на всякий случай заменяем env переменные в process
70
71
  process.env = Object.assign(process.env, serverMockedEnv);
72
+ di.register({
73
+ provide: commandLineListTokens.customerStart,
74
+ useFactory: ({ context, clientEnvRepository }) => {
75
+ return function mockerUpdateClientEnv() {
76
+ clientEnvRepository.update(clientMockedEnv);
77
+ // force client state update with fresh values
78
+ context.getStore('environment').setState(clientEnvRepository.getAll());
79
+ };
80
+ },
81
+ deps: {
82
+ context: CONTEXT_TOKEN,
83
+ clientEnvRepository: CLIENT_ENV_REPOSITORY_TOKEN,
84
+ },
85
+ });
71
86
  });
72
87
  mocker.setApis(apis);
73
88
  return mocker.init();
74
89
  };
75
90
  },
76
91
  deps: {
92
+ di: DI_TOKEN,
77
93
  mocker: MOCKER,
78
94
  logger: LOGGER_TOKEN,
79
95
  mockerConfigFactory: MOCKER_CONFIGURATION,
package/lib/server.js CHANGED
@@ -40,7 +40,7 @@ exports.MockerModule = MockerModule_1 = tslib.__decorate([
40
40
  core.provide({
41
41
  provide: core.commandLineListTokens.init,
42
42
  multi: true,
43
- useFactory: ({ mocker, mockerConfigFactory, envManager, papiPublicUrl, logger }) => {
43
+ useFactory: ({ di, mocker, mockerConfigFactory, envManager, papiPublicUrl, logger, }) => {
44
44
  const log = logger('mocker');
45
45
  return async function mockerInit() {
46
46
  const apis = {};
@@ -68,15 +68,31 @@ exports.MockerModule = MockerModule_1 = tslib.__decorate([
68
68
  // заменяем env переменные, которые получит клиентский код
69
69
  // важно! не сработает для случаев, когда env из серверного кода попадает
70
70
  // в клиентский код через inline скрипт, например `FRONT_LOG_API`
71
+ // for backward compatibility
71
72
  envManager.updateClientUsed(clientMockedEnv);
72
73
  // на всякий случай заменяем env переменные в process
73
74
  process.env = Object.assign(process.env, serverMockedEnv);
75
+ di.register({
76
+ provide: core.commandLineListTokens.customerStart,
77
+ useFactory: ({ context, clientEnvRepository }) => {
78
+ return function mockerUpdateClientEnv() {
79
+ clientEnvRepository.update(clientMockedEnv);
80
+ // force client state update with fresh values
81
+ context.getStore('environment').setState(clientEnvRepository.getAll());
82
+ };
83
+ },
84
+ deps: {
85
+ context: tokensCommon.CONTEXT_TOKEN,
86
+ clientEnvRepository: tokensCommon.CLIENT_ENV_REPOSITORY_TOKEN,
87
+ },
88
+ });
74
89
  });
75
90
  mocker.setApis(apis);
76
91
  return mocker.init();
77
92
  };
78
93
  },
79
94
  deps: {
95
+ di: core.DI_TOKEN,
80
96
  mocker: tokens.MOCKER,
81
97
  logger: tokensCommon.LOGGER_TOKEN,
82
98
  mockerConfigFactory: tokens.MOCKER_CONFIGURATION,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/module-mocker",
3
- "version": "4.8.6",
3
+ "version": "4.9.0",
4
4
  "description": "",
5
5
  "main": "./lib/server.js",
6
6
  "browser": "./lib/browser.js",
@@ -23,11 +23,11 @@
23
23
  "tslib": "^2.4.0"
24
24
  },
25
25
  "peerDependencies": {
26
- "@tramvai/core": "4.8.6",
27
- "@tramvai/papi": "4.8.6",
28
- "@tramvai/tokens-common": "4.8.6",
29
- "@tramvai/tokens-server": "4.8.6",
30
- "@tramvai/tokens-server-private": "4.8.6",
26
+ "@tramvai/core": "4.9.0",
27
+ "@tramvai/papi": "4.9.0",
28
+ "@tramvai/tokens-common": "4.9.0",
29
+ "@tramvai/tokens-server": "4.9.0",
30
+ "@tramvai/tokens-server-private": "4.9.0",
31
31
  "@tinkoff/dippy": "0.10.2"
32
32
  },
33
33
  "license": "Apache-2.0"