@tramvai/module-common 1.71.0 → 1.72.2

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.
@@ -9,6 +9,7 @@ import { Hooks } from '@tinkoff/hook-runner';
9
9
  import { REQUEST_MANAGER_TOKEN, REQUEST, COMBINE_REDUCERS, STORE_TOKEN, RESPONSE_MANAGER_TOKEN, RESPONSE, ACTION_EXECUTION_TOKEN, LOGGER_TOKEN, PUBSUB_FACTORY_TOKEN, PUBSUB_TOKEN, ROOT_PUBSUB_TOKEN, ACTION_REGISTRY_TOKEN, ACTION_CONDITIONALS, CONTEXT_TOKEN, ACTION_PAGE_RUNNER_TOKEN, DISPATCHER_TOKEN, DISPATCHER_CONTEXT_TOKEN, STORE_MIDDLEWARE, CREATE_CACHE_TOKEN, CLEAR_CACHE_TOKEN, REGISTER_CLEAR_CACHE_TOKEN, HOOK_TOKEN, COMPONENT_REGISTRY_TOKEN, BUNDLE_MANAGER_TOKEN, ADDITIONAL_BUNDLE_TOKEN, INITIAL_APP_STATE_TOKEN as INITIAL_APP_STATE_TOKEN$1 } from '@tramvai/tokens-common';
10
10
  export * from '@tramvai/tokens-common';
11
11
  import { fileSystemPagesEnabled, getAllFileSystemPages, isFileSystemPageComponent } from '@tramvai/experiments';
12
+ import hoistNonReactStatics from 'hoist-non-react-statics';
12
13
  import pathOr from '@tinkoff/utils/object/pathOr';
13
14
  import flatten from '@tinkoff/utils/array/flatten';
14
15
  import { createEvent, createReducer, convertAction, createDispatcher, devTools, Provider } from '@tramvai/state';
@@ -77,6 +78,11 @@ class BundleManager {
77
78
  const component = typeof componentOrLoader.load === 'function'
78
79
  ? (await componentOrLoader.load()).default
79
80
  : componentOrLoader;
81
+ // manually hoist static properties from preloaded component to loadable wrapper,
82
+ // this open access to current page component static properties outside before rendering
83
+ if (componentOrLoader !== component) {
84
+ hoistNonReactStatics(componentOrLoader, component);
85
+ }
80
86
  // allow page components to register any other components
81
87
  if (component.components) {
82
88
  eachObj((cmp, name) => {
package/lib/index.es.js CHANGED
@@ -9,6 +9,7 @@ import { Hooks } from '@tinkoff/hook-runner';
9
9
  import { REQUEST_MANAGER_TOKEN, REQUEST, COMBINE_REDUCERS, CONTEXT_TOKEN, RESPONSE_MANAGER_TOKEN, RESPONSE, ACTION_EXECUTION_TOKEN, LOGGER_TOKEN, PUBSUB_FACTORY_TOKEN, PUBSUB_TOKEN, ROOT_PUBSUB_TOKEN, ACTION_REGISTRY_TOKEN, ACTION_CONDITIONALS, STORE_TOKEN, ACTION_PAGE_RUNNER_TOKEN, DISPATCHER_TOKEN, DISPATCHER_CONTEXT_TOKEN, STORE_MIDDLEWARE, CLEAR_CACHE_TOKEN, CREATE_CACHE_TOKEN, REGISTER_CLEAR_CACHE_TOKEN, HOOK_TOKEN, COMPONENT_REGISTRY_TOKEN, BUNDLE_MANAGER_TOKEN, ADDITIONAL_BUNDLE_TOKEN } from '@tramvai/tokens-common';
10
10
  export * from '@tramvai/tokens-common';
11
11
  import { fileSystemPagesEnabled, getAllFileSystemPages, isFileSystemPageComponent } from '@tramvai/experiments';
12
+ import hoistNonReactStatics from 'hoist-non-react-statics';
12
13
  import pathOr from '@tinkoff/utils/object/pathOr';
13
14
  import flatten from '@tinkoff/utils/array/flatten';
14
15
  import { createEvent, createReducer, convertAction, createDispatcher, devTools, Provider } from '@tramvai/state';
@@ -79,6 +80,11 @@ class BundleManager {
79
80
  const component = typeof componentOrLoader.load === 'function'
80
81
  ? (await componentOrLoader.load()).default
81
82
  : componentOrLoader;
83
+ // manually hoist static properties from preloaded component to loadable wrapper,
84
+ // this open access to current page component static properties outside before rendering
85
+ if (componentOrLoader !== component) {
86
+ hoistNonReactStatics(componentOrLoader, component);
87
+ }
82
88
  // allow page components to register any other components
83
89
  if (component.components) {
84
90
  eachObj((cmp, name) => {
package/lib/index.js CHANGED
@@ -11,6 +11,7 @@ var moduleLog = require('@tramvai/module-log');
11
11
  var hookRunner = require('@tinkoff/hook-runner');
12
12
  var tokensCommon = require('@tramvai/tokens-common');
13
13
  var experiments = require('@tramvai/experiments');
14
+ var hoistNonReactStatics = require('hoist-non-react-statics');
14
15
  var pathOr = require('@tinkoff/utils/object/pathOr');
15
16
  var flatten = require('@tinkoff/utils/array/flatten');
16
17
  var state = require('@tramvai/state');
@@ -37,6 +38,7 @@ var tokensChildApp = require('@tramvai/tokens-child-app');
37
38
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
38
39
 
39
40
  var eachObj__default = /*#__PURE__*/_interopDefaultLegacy(eachObj);
41
+ var hoistNonReactStatics__default = /*#__PURE__*/_interopDefaultLegacy(hoistNonReactStatics);
40
42
  var pathOr__default = /*#__PURE__*/_interopDefaultLegacy(pathOr);
41
43
  var flatten__default = /*#__PURE__*/_interopDefaultLegacy(flatten);
42
44
  var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
@@ -97,6 +99,11 @@ class BundleManager {
97
99
  const component = typeof componentOrLoader.load === 'function'
98
100
  ? (await componentOrLoader.load()).default
99
101
  : componentOrLoader;
102
+ // manually hoist static properties from preloaded component to loadable wrapper,
103
+ // this open access to current page component static properties outside before rendering
104
+ if (componentOrLoader !== component) {
105
+ hoistNonReactStatics__default["default"](componentOrLoader, component);
106
+ }
100
107
  // allow page components to register any other components
101
108
  if (component.components) {
102
109
  eachObj__default["default"]((cmp, name) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/module-common",
3
- "version": "1.71.0",
3
+ "version": "1.72.2",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -31,24 +31,25 @@
31
31
  "@tinkoff/errors": "0.2.18",
32
32
  "@tinkoff/pubsub": "0.4.23",
33
33
  "@tinkoff/url": "0.7.37",
34
- "@tramvai/module-cookie": "1.71.0",
35
- "@tramvai/module-environment": "1.71.0",
36
- "@tramvai/module-log": "1.71.0",
37
- "@tramvai/tokens-child-app": "1.71.0",
38
- "@tramvai/tokens-common": "1.71.0",
39
- "@tramvai/tokens-render": "1.71.0",
40
- "@tramvai/experiments": "1.71.0",
34
+ "@tramvai/module-cookie": "1.72.2",
35
+ "@tramvai/module-environment": "1.72.2",
36
+ "@tramvai/module-log": "1.72.2",
37
+ "@tramvai/tokens-child-app": "1.72.2",
38
+ "@tramvai/tokens-common": "1.72.2",
39
+ "@tramvai/tokens-render": "1.72.2",
40
+ "@tramvai/experiments": "1.72.2",
41
41
  "@tinkoff/hook-runner": "0.3.21",
42
+ "hoist-non-react-statics": "^3.3.1",
42
43
  "lru-cache": "^6.0.0"
43
44
  },
44
45
  "peerDependencies": {
45
46
  "@tinkoff/utils": "^2.1.2",
46
- "@tramvai/cli": "1.71.0",
47
- "@tramvai/core": "1.71.0",
48
- "@tramvai/papi": "1.71.0",
49
- "@tramvai/state": "1.71.0",
50
- "@tramvai/tokens-metrics": "1.71.0",
51
- "@tramvai/tokens-server": "1.71.0",
47
+ "@tramvai/cli": "1.72.2",
48
+ "@tramvai/core": "1.72.2",
49
+ "@tramvai/papi": "1.72.2",
50
+ "@tramvai/state": "1.72.2",
51
+ "@tramvai/tokens-metrics": "1.72.2",
52
+ "@tramvai/tokens-server": "1.72.2",
52
53
  "@tinkoff/dippy": "0.7.38",
53
54
  "react": ">=16.8.0",
54
55
  "tslib": "^2.0.3"