@modern-js/runtime 2.16.1-alpha.1 → 2.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (233) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/router/runtime/index.js +1 -1
  3. package/dist/esm/router/runtime/index.js +1 -1
  4. package/dist/esm-node/router/runtime/index.js +1 -1
  5. package/package.json +9 -9
  6. package/dist/js/modern/cli/index.js +0 -72
  7. package/dist/js/modern/common.js +0 -4
  8. package/dist/js/modern/config.js +0 -0
  9. package/dist/js/modern/core/app-config.js +0 -10
  10. package/dist/js/modern/core/compatible.js +0 -285
  11. package/dist/js/modern/core/index.js +0 -16
  12. package/dist/js/modern/core/loader/index.js +0 -4
  13. package/dist/js/modern/core/loader/loaderManager.js +0 -165
  14. package/dist/js/modern/core/loader/useLoader.js +0 -114
  15. package/dist/js/modern/core/plugin.js +0 -58
  16. package/dist/js/modern/document/Body.js +0 -23
  17. package/dist/js/modern/document/DocumentContext.js +0 -9
  18. package/dist/js/modern/document/DocumentStructrueContext.js +0 -11
  19. package/dist/js/modern/document/Head.js +0 -27
  20. package/dist/js/modern/document/Html.js +0 -78
  21. package/dist/js/modern/document/Links.js +0 -10
  22. package/dist/js/modern/document/Root.js +0 -33
  23. package/dist/js/modern/document/Script.js +0 -20
  24. package/dist/js/modern/document/Scripts.js +0 -10
  25. package/dist/js/modern/document/cli/index.js +0 -228
  26. package/dist/js/modern/document/constants.js +0 -49
  27. package/dist/js/modern/document/index.js +0 -10
  28. package/dist/js/modern/exports/head.js +0 -6
  29. package/dist/js/modern/exports/loadable.js +0 -6
  30. package/dist/js/modern/exports/server.js +0 -4
  31. package/dist/js/modern/exports/styled.js +0 -6
  32. package/dist/js/modern/index.js +0 -22
  33. package/dist/js/modern/router/cli/index.js +0 -120
  34. package/dist/js/modern/router/index.js +0 -7
  35. package/dist/js/modern/router/runtime/DefaultNotFound.js +0 -14
  36. package/dist/js/modern/router/runtime/index.js +0 -9
  37. package/dist/js/modern/router/runtime/plugin.js +0 -104
  38. package/dist/js/modern/router/runtime/plugin.node.js +0 -149
  39. package/dist/js/modern/router/runtime/server.js +0 -1
  40. package/dist/js/modern/router/runtime/types.js +0 -0
  41. package/dist/js/modern/router/runtime/utils.js +0 -196
  42. package/dist/js/modern/router/runtime/withRouter.js +0 -36
  43. package/dist/js/modern/runtime-context.js +0 -7
  44. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +0 -130
  45. package/dist/js/modern/ssr/cli/index.js +0 -172
  46. package/dist/js/modern/ssr/index.js +0 -159
  47. package/dist/js/modern/ssr/index.node.js +0 -79
  48. package/dist/js/modern/ssr/prefetch.js +0 -69
  49. package/dist/js/modern/ssr/react/index.js +0 -6
  50. package/dist/js/modern/ssr/react/nossr/index.js +0 -14
  51. package/dist/js/modern/ssr/react/prerender/index.js +0 -108
  52. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  53. package/dist/js/modern/ssr/react/prerender/util.js +0 -96
  54. package/dist/js/modern/ssr/react/withCallback/index.js +0 -15
  55. package/dist/js/modern/ssr/serverRender/helmet.js +0 -44
  56. package/dist/js/modern/ssr/serverRender/index.js +0 -35
  57. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -36
  58. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -11
  59. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -61
  60. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +0 -58
  61. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +0 -24
  62. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +0 -94
  63. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +0 -12
  64. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +0 -22
  65. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  66. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +0 -171
  67. package/dist/js/modern/ssr/serverRender/renderToString/index.js +0 -52
  68. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +0 -48
  69. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +0 -8
  70. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +0 -11
  71. package/dist/js/modern/ssr/serverRender/renderToString/template.js +0 -58
  72. package/dist/js/modern/ssr/serverRender/renderToString/type.js +0 -9
  73. package/dist/js/modern/ssr/serverRender/types.js +0 -4
  74. package/dist/js/modern/ssr/serverRender/utils.js +0 -22
  75. package/dist/js/modern/ssr/utils.js +0 -81
  76. package/dist/js/modern/state/cli/index.js +0 -83
  77. package/dist/js/modern/state/index.js +0 -7
  78. package/dist/js/modern/state/plugins.js +0 -13
  79. package/dist/js/modern/state/runtime/index.js +0 -9
  80. package/dist/js/modern/state/runtime/plugin.js +0 -97
  81. package/dist/js/modern/state/types.js +0 -0
  82. package/dist/js/node/cli/index.js +0 -99
  83. package/dist/js/node/common.js +0 -27
  84. package/dist/js/node/config.js +0 -15
  85. package/dist/js/node/core/app-config.js +0 -34
  86. package/dist/js/node/core/compatible.js +0 -312
  87. package/dist/js/node/core/index.js +0 -47
  88. package/dist/js/node/core/loader/index.js +0 -33
  89. package/dist/js/node/core/loader/loaderManager.js +0 -195
  90. package/dist/js/node/core/loader/useLoader.js +0 -132
  91. package/dist/js/node/core/plugin.js +0 -80
  92. package/dist/js/node/document/Body.js +0 -43
  93. package/dist/js/node/document/DocumentContext.js +0 -38
  94. package/dist/js/node/document/DocumentStructrueContext.js +0 -40
  95. package/dist/js/node/document/Head.js +0 -51
  96. package/dist/js/node/document/Html.js +0 -101
  97. package/dist/js/node/document/Links.js +0 -33
  98. package/dist/js/node/document/Root.js +0 -57
  99. package/dist/js/node/document/Script.js +0 -40
  100. package/dist/js/node/document/Scripts.js +0 -33
  101. package/dist/js/node/document/cli/index.js +0 -240
  102. package/dist/js/node/document/constants.js +0 -86
  103. package/dist/js/node/document/index.js +0 -26
  104. package/dist/js/node/exports/head.js +0 -34
  105. package/dist/js/node/exports/loadable.js +0 -34
  106. package/dist/js/node/exports/server.js +0 -27
  107. package/dist/js/node/exports/styled.js +0 -34
  108. package/dist/js/node/index.js +0 -44
  109. package/dist/js/node/router/cli/index.js +0 -135
  110. package/dist/js/node/router/index.js +0 -37
  111. package/dist/js/node/router/runtime/DefaultNotFound.js +0 -37
  112. package/dist/js/node/router/runtime/index.js +0 -33
  113. package/dist/js/node/router/runtime/plugin.js +0 -127
  114. package/dist/js/node/router/runtime/plugin.node.js +0 -175
  115. package/dist/js/node/router/runtime/server.js +0 -17
  116. package/dist/js/node/router/runtime/types.js +0 -15
  117. package/dist/js/node/router/runtime/utils.js +0 -221
  118. package/dist/js/node/router/runtime/withRouter.js +0 -57
  119. package/dist/js/node/runtime-context.js +0 -31
  120. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +0 -139
  121. package/dist/js/node/ssr/cli/index.js +0 -190
  122. package/dist/js/node/ssr/index.js +0 -185
  123. package/dist/js/node/ssr/index.node.js +0 -107
  124. package/dist/js/node/ssr/prefetch.js +0 -90
  125. package/dist/js/node/ssr/react/index.js +0 -30
  126. package/dist/js/node/ssr/react/nossr/index.js +0 -43
  127. package/dist/js/node/ssr/react/prerender/index.js +0 -130
  128. package/dist/js/node/ssr/react/prerender/type.js +0 -15
  129. package/dist/js/node/ssr/react/prerender/util.js +0 -123
  130. package/dist/js/node/ssr/react/withCallback/index.js +0 -38
  131. package/dist/js/node/ssr/serverRender/helmet.js +0 -65
  132. package/dist/js/node/ssr/serverRender/index.js +0 -56
  133. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -65
  134. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -35
  135. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -87
  136. package/dist/js/node/ssr/serverRender/renderToStream/index.js +0 -87
  137. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +0 -47
  138. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +0 -111
  139. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +0 -35
  140. package/dist/js/node/ssr/serverRender/renderToStream/template.js +0 -45
  141. package/dist/js/node/ssr/serverRender/renderToStream/type.js +0 -15
  142. package/dist/js/node/ssr/serverRender/renderToString/entry.js +0 -196
  143. package/dist/js/node/ssr/serverRender/renderToString/index.js +0 -81
  144. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +0 -71
  145. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +0 -31
  146. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +0 -34
  147. package/dist/js/node/ssr/serverRender/renderToString/template.js +0 -82
  148. package/dist/js/node/ssr/serverRender/renderToString/type.js +0 -32
  149. package/dist/js/node/ssr/serverRender/types.js +0 -27
  150. package/dist/js/node/ssr/serverRender/utils.js +0 -46
  151. package/dist/js/node/ssr/utils.js +0 -106
  152. package/dist/js/node/state/cli/index.js +0 -100
  153. package/dist/js/node/state/index.js +0 -37
  154. package/dist/js/node/state/plugins.js +0 -45
  155. package/dist/js/node/state/runtime/index.js +0 -40
  156. package/dist/js/node/state/runtime/plugin.js +0 -121
  157. package/dist/js/node/state/types.js +0 -15
  158. package/dist/js/treeshaking/cli/index.js +0 -186
  159. package/dist/js/treeshaking/common.js +0 -4
  160. package/dist/js/treeshaking/config.js +0 -1
  161. package/dist/js/treeshaking/core/app-config.js +0 -9
  162. package/dist/js/treeshaking/core/compatible.js +0 -485
  163. package/dist/js/treeshaking/core/index.js +0 -7
  164. package/dist/js/treeshaking/core/loader/index.js +0 -2
  165. package/dist/js/treeshaking/core/loader/loaderManager.js +0 -406
  166. package/dist/js/treeshaking/core/loader/useLoader.js +0 -188
  167. package/dist/js/treeshaking/core/plugin.js +0 -176
  168. package/dist/js/treeshaking/document/Body.js +0 -18
  169. package/dist/js/treeshaking/document/DocumentContext.js +0 -7
  170. package/dist/js/treeshaking/document/DocumentStructrueContext.js +0 -9
  171. package/dist/js/treeshaking/document/Head.js +0 -24
  172. package/dist/js/treeshaking/document/Html.js +0 -99
  173. package/dist/js/treeshaking/document/Links.js +0 -8
  174. package/dist/js/treeshaking/document/Root.js +0 -26
  175. package/dist/js/treeshaking/document/Script.js +0 -15
  176. package/dist/js/treeshaking/document/Scripts.js +0 -8
  177. package/dist/js/treeshaking/document/cli/index.js +0 -393
  178. package/dist/js/treeshaking/document/constants.js +0 -35
  179. package/dist/js/treeshaking/document/index.js +0 -10
  180. package/dist/js/treeshaking/exports/head.js +0 -4
  181. package/dist/js/treeshaking/exports/loadable.js +0 -4
  182. package/dist/js/treeshaking/exports/server.js +0 -4
  183. package/dist/js/treeshaking/exports/styled.js +0 -4
  184. package/dist/js/treeshaking/index.js +0 -3
  185. package/dist/js/treeshaking/router/cli/index.js +0 -148
  186. package/dist/js/treeshaking/router/index.js +0 -4
  187. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +0 -14
  188. package/dist/js/treeshaking/router/runtime/index.js +0 -6
  189. package/dist/js/treeshaking/router/runtime/plugin.js +0 -132
  190. package/dist/js/treeshaking/router/runtime/plugin.node.js +0 -390
  191. package/dist/js/treeshaking/router/runtime/server.js +0 -1
  192. package/dist/js/treeshaking/router/runtime/types.js +0 -1
  193. package/dist/js/treeshaking/router/runtime/utils.js +0 -260
  194. package/dist/js/treeshaking/router/runtime/withRouter.js +0 -67
  195. package/dist/js/treeshaking/runtime-context.js +0 -4
  196. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +0 -122
  197. package/dist/js/treeshaking/ssr/cli/index.js +0 -217
  198. package/dist/js/treeshaking/ssr/index.js +0 -315
  199. package/dist/js/treeshaking/ssr/index.node.js +0 -240
  200. package/dist/js/treeshaking/ssr/prefetch.js +0 -199
  201. package/dist/js/treeshaking/ssr/react/index.js +0 -3
  202. package/dist/js/treeshaking/ssr/react/nossr/index.js +0 -58
  203. package/dist/js/treeshaking/ssr/react/prerender/index.js +0 -237
  204. package/dist/js/treeshaking/ssr/react/prerender/type.js +0 -1
  205. package/dist/js/treeshaking/ssr/react/prerender/util.js +0 -108
  206. package/dist/js/treeshaking/ssr/react/withCallback/index.js +0 -16
  207. package/dist/js/treeshaking/ssr/serverRender/helmet.js +0 -42
  208. package/dist/js/treeshaking/ssr/serverRender/index.js +0 -169
  209. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +0 -34
  210. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -7
  211. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +0 -115
  212. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +0 -165
  213. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +0 -22
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +0 -119
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +0 -11
  216. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +0 -63
  217. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +0 -1
  218. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +0 -393
  219. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +0 -165
  220. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +0 -56
  221. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +0 -10
  222. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +0 -9
  223. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +0 -156
  224. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +0 -7
  225. package/dist/js/treeshaking/ssr/serverRender/types.js +0 -2
  226. package/dist/js/treeshaking/ssr/serverRender/utils.js +0 -69
  227. package/dist/js/treeshaking/ssr/utils.js +0 -134
  228. package/dist/js/treeshaking/state/cli/index.js +0 -71
  229. package/dist/js/treeshaking/state/index.js +0 -4
  230. package/dist/js/treeshaking/state/plugins.js +0 -14
  231. package/dist/js/treeshaking/state/runtime/index.js +0 -5
  232. package/dist/js/treeshaking/state/runtime/plugin.js +0 -198
  233. package/dist/js/treeshaking/state/types.js +0 -1
@@ -1,108 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import withSideEffect from "react-side-effect";
21
- import React, { createElement } from "react";
22
- import {
23
- getOutermostProperty,
24
- aggKeysFromPropsList,
25
- exist,
26
- aggMatchesFromPropsList
27
- } from "./util";
28
- const PROP_NAMES = {
29
- INTERVAL: "interval",
30
- STALE_LIMIT: "staleLimit",
31
- LEVEL: "level",
32
- INCLUDES: "includes",
33
- EXCLUDES: "excludes",
34
- FALLBACK: "fallback",
35
- MATCHES: "matches"
36
- };
37
- const handleClientStateChange = () => {
38
- };
39
- const mapStateOnServer = (reduceProps) => {
40
- const defaultProps = {
41
- interval: 10,
42
- staleLimit: false,
43
- level: 0,
44
- includes: null,
45
- excludes: null,
46
- fallback: false,
47
- matches: null
48
- };
49
- return Object.keys(defaultProps).reduce((props, key) => {
50
- const propKey = key;
51
- const reduceProp = reduceProps[propKey];
52
- let nextProps = props;
53
- if (exist(reduceProp)) {
54
- nextProps = __spreadProps(__spreadValues({}, props), { [propKey]: reduceProp });
55
- }
56
- return nextProps;
57
- }, defaultProps);
58
- };
59
- const reducePropsToState = (propsList) => {
60
- const reduceProps = {
61
- interval: getOutermostProperty(propsList, PROP_NAMES.INTERVAL),
62
- staleLimit: getOutermostProperty(propsList, PROP_NAMES.STALE_LIMIT),
63
- level: getOutermostProperty(propsList, PROP_NAMES.LEVEL),
64
- includes: aggKeysFromPropsList(propsList, PROP_NAMES.INCLUDES),
65
- excludes: aggKeysFromPropsList(propsList, PROP_NAMES.EXCLUDES),
66
- fallback: getOutermostProperty(propsList, PROP_NAMES.FALLBACK),
67
- matches: aggMatchesFromPropsList(propsList, PROP_NAMES.MATCHES)
68
- };
69
- return reduceProps;
70
- };
71
- function factory(Component) {
72
- class Spr extends React.Component {
73
- static set canUseDOM(canUseDOM) {
74
- Component.canUseDOM = canUseDOM;
75
- }
76
- static get canUseDOM() {
77
- return Component.canUseDOM;
78
- }
79
- verify() {
80
- return true;
81
- }
82
- render() {
83
- const newProps = __spreadValues({}, this.props);
84
- const validate = this.verify();
85
- if (!validate) {
86
- throw new Error("invalid props, check usage");
87
- }
88
- return createElement(Component, __spreadValues({}, newProps));
89
- }
90
- }
91
- Spr.peek = Component.peek;
92
- Spr.rewind = Component.rewind;
93
- Spr.config = () => {
94
- const mappedState = Component.rewind();
95
- return mappedState;
96
- };
97
- return Spr;
98
- }
99
- const NullComponent = () => null;
100
- const SprSideEffects = withSideEffect(
101
- reducePropsToState,
102
- handleClientStateChange,
103
- mapStateOnServer
104
- )(NullComponent);
105
- const PreRender = factory(SprSideEffects);
106
- export {
107
- PreRender
108
- };
File without changes
@@ -1,96 +0,0 @@
1
- const REQUEST_META = ["header", "query"];
2
- const getInnermostProperty = function getInnermostProperty2(propsList, propName) {
3
- for (let i = propsList.length - 1; i >= 0; i--) {
4
- const props = propsList[i];
5
- if (props.hasOwnProperty(propName)) {
6
- return props[propName];
7
- }
8
- }
9
- return null;
10
- };
11
- const getOutermostProperty = function getOutermostProperty2(propsList, propName) {
12
- for (const props of propsList) {
13
- if (props.hasOwnProperty(propName)) {
14
- return props[propName];
15
- }
16
- }
17
- return null;
18
- };
19
- const aggKeysFromPropsList = function aggKeysFromPropsList2(propsList, propName) {
20
- const initResult = REQUEST_META.reduce(
21
- (result, next) => {
22
- const key = next;
23
- result[key] = [];
24
- return result;
25
- },
26
- {}
27
- );
28
- const res = propsList.filter((props) => usefulObject(props[propName])).reduce((result, next) => {
29
- REQUEST_META.forEach((key) => {
30
- const prop = next[propName];
31
- if ((prop == null ? void 0 : prop.hasOwnProperty(key)) && usefulArray(prop[key])) {
32
- result[key] = unique(result[key].concat(prop[key]));
33
- }
34
- });
35
- return result;
36
- }, initResult);
37
- return REQUEST_META.reduce((result, next) => {
38
- var _a;
39
- const key = next;
40
- if (result[key] && ((_a = result[key]) == null ? void 0 : _a.length) === 0) {
41
- delete result[key];
42
- }
43
- return result;
44
- }, res);
45
- };
46
- const aggMatchesFromPropsList = function aggMatchesFromPropsList2(propsList, propName) {
47
- const initResult = REQUEST_META.reduce(
48
- (result, next) => {
49
- const key = next;
50
- result[key] = {};
51
- return result;
52
- },
53
- {}
54
- );
55
- const res = propsList.filter((props) => usefulObject(props[propName])).reduce((result, next) => {
56
- REQUEST_META.forEach((key) => {
57
- const prop = next[propName];
58
- if ((prop == null ? void 0 : prop.hasOwnProperty(key)) && usefulObject(prop[key])) {
59
- result[key] = Object.assign(result[key], prop[key]);
60
- }
61
- });
62
- return result;
63
- }, initResult);
64
- return REQUEST_META.reduce((result, next) => {
65
- const key = next;
66
- if (result[key] && Object.keys(result[key]).length === 0) {
67
- delete result[key];
68
- }
69
- return result;
70
- }, res);
71
- };
72
- function unique(arr) {
73
- return Array.from(new Set(arr));
74
- }
75
- function usefulObject(target) {
76
- if (!exist(target)) {
77
- return false;
78
- }
79
- return target.constructor === Object && Object.keys(target).length > 0;
80
- }
81
- function usefulArray(target) {
82
- if (!exist(target)) {
83
- return false;
84
- }
85
- return Array.isArray(target) && target.length > 0;
86
- }
87
- function exist(target) {
88
- return target != null;
89
- }
90
- export {
91
- aggKeysFromPropsList,
92
- aggMatchesFromPropsList,
93
- exist,
94
- getInnermostProperty,
95
- getOutermostProperty
96
- };
@@ -1,15 +0,0 @@
1
- import { useRef, useLayoutEffect } from "react";
2
- const WithCallback = ({ callback, children }) => {
3
- const once = useRef(false);
4
- useLayoutEffect(() => {
5
- if (once.current) {
6
- return;
7
- }
8
- once.current = true;
9
- callback();
10
- }, [callback]);
11
- return children;
12
- };
13
- export {
14
- WithCallback
15
- };
@@ -1,44 +0,0 @@
1
- import { EOL } from "os";
2
- const RE_HTML_ATTR = /<html[^>]*>/;
3
- const RE_BODY_ATTR = /<body[^>]*>/;
4
- const RE_LAST_IN_HEAD = /<\/head>/;
5
- const RE_TITLE = /<title[^>]*>([\s\S\n\r]*?)<\/title>/;
6
- const TEST_TITLE_CONTENT = new RegExp("(?<=<title[^>]*>)([\\s\\S\\n\\r]*?)([.|\\S])([\\s\\S\\n\\r]*?)(?=<\\/title>)");
7
- function helmet(content, helmetData) {
8
- let result = content;
9
- const bodyAttributes = helmetData.bodyAttributes.toString();
10
- if (bodyAttributes) {
11
- result = result.replace(RE_BODY_ATTR, `<body ${bodyAttributes}>`);
12
- }
13
- const htmlAttributes = helmetData.htmlAttributes.toString();
14
- if (htmlAttributes) {
15
- result = result.replace(RE_HTML_ATTR, `<html ${htmlAttributes}>`);
16
- }
17
- const base = helmetData.base.toString();
18
- const link = helmetData.link.toString();
19
- const meta = helmetData.meta.toString();
20
- const noscript = helmetData.noscript.toString();
21
- const script = helmetData.script.toString();
22
- const style = helmetData.style.toString();
23
- const title = helmetData.title.toString();
24
- const existTitleTag = RE_TITLE.test(content);
25
- const shouldReplaceTitle = existTitleTag && TEST_TITLE_CONTENT.test(title.trim());
26
- if (shouldReplaceTitle) {
27
- result = result.replace(RE_TITLE, title);
28
- }
29
- const helmetStr = [
30
- base,
31
- link,
32
- meta,
33
- noscript,
34
- script,
35
- style,
36
- !existTitleTag ? title : ""
37
- ].reduce((pre, cur) => {
38
- return pre + (cur.length > 0 ? ` ${cur}${EOL}` : "");
39
- }, "");
40
- return result.replace(RE_LAST_IN_HEAD, `${helmetStr}</head>`);
41
- }
42
- export {
43
- helmet as default
44
- };
@@ -1,35 +0,0 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
- import { isReact18 } from "../utils";
22
- function serverRender(options) {
23
- return __async(this, null, function* () {
24
- if (isReact18() && options.config.mode === "stream") {
25
- const pipe = yield require("./renderToStream").render(options);
26
- return pipe;
27
- } else {
28
- const html = yield require("./renderToString").render(options);
29
- return html;
30
- }
31
- });
32
- }
33
- export {
34
- serverRender as default
35
- };
@@ -1,36 +0,0 @@
1
- import serialize from "serialize-javascript";
2
- import { buildTemplate } from "./buildTemplate.share";
3
- function buildShellAfterTemplate(afterAppTemplate, options) {
4
- const callbacks = [injectSSRDataScript];
5
- return buildTemplate(afterAppTemplate, callbacks);
6
- function injectSSRDataScript(template) {
7
- const ssrDataScript = buildSSRDataScript();
8
- return template.replace("<!--<?- SSRDataScript ?>-->", ssrDataScript);
9
- function buildSSRDataScript() {
10
- const { ssrContext, renderLevel } = options;
11
- const { request } = ssrContext;
12
- const SSRData = {
13
- context: {
14
- request: {
15
- params: request.params,
16
- query: request.query,
17
- pathname: request.pathname,
18
- host: request.host,
19
- url: request.url,
20
- headers: request.headers,
21
- cookieMap: request.cookieMap
22
- }
23
- },
24
- renderLevel
25
- };
26
- return `
27
- <script>window._SSR_DATA = ${serialize(SSRData, {
28
- isJSON: true
29
- })}<\/script>
30
- `;
31
- }
32
- }
33
- }
34
- export {
35
- buildShellAfterTemplate
36
- };
@@ -1,11 +0,0 @@
1
- const HEAD_REG_EXP = /<head(.|\n)*>(.|\n)*<\/head>/;
2
- function buildTemplate(template, callbacks) {
3
- return callbacks.reduce(
4
- (template2, buildTemplateCb) => buildTemplateCb(template2),
5
- template
6
- );
7
- }
8
- export {
9
- HEAD_REG_EXP,
10
- buildTemplate
11
- };
@@ -1,61 +0,0 @@
1
- import ReactHelmet from "react-helmet";
2
- import { matchRoutes } from "react-router-dom";
3
- import helmetReplace from "../helmet";
4
- import {
5
- HEAD_REG_EXP,
6
- buildTemplate
7
- } from "./buildTemplate.share";
8
- const CSS_CHUNKS_PLACEHOLDER = "<!--<?- chunksMap.css ?>-->";
9
- function getHeadTemplate(beforeEntryTemplate, context) {
10
- const callbacks = [
11
- (headTemplate2) => {
12
- const helmetData = ReactHelmet.renderStatic();
13
- return helmetData ? helmetReplace(headTemplate2, helmetData) : headTemplate2;
14
- },
15
- injectCss
16
- ];
17
- const [headTemplate = ""] = beforeEntryTemplate.match(HEAD_REG_EXP) || [];
18
- if (!headTemplate.length) {
19
- return "";
20
- }
21
- return buildTemplate(headTemplate, callbacks);
22
- function injectCss(headTemplate2) {
23
- return headTemplate2.replace(CSS_CHUNKS_PLACEHOLDER, getCssChunks());
24
- function getCssChunks() {
25
- const { routeManifest, routerContext, routes } = context;
26
- if (!routeManifest || !routerContext || !routes) {
27
- return "";
28
- }
29
- const { routeAssets } = routeManifest;
30
- const cssChunks = [];
31
- const matches = matchRoutes(routes, routerContext.location);
32
- matches == null ? void 0 : matches.forEach((match, index) => {
33
- if (!index) {
34
- return;
35
- }
36
- const routeId = match.route.id;
37
- if (routeId) {
38
- const routeManifest2 = routeAssets[routeId];
39
- if (routeManifest2) {
40
- const { assets = [] } = routeManifest2;
41
- const _cssChunks = assets.filter(
42
- (asset) => asset == null ? void 0 : asset.endsWith(".css")
43
- );
44
- cssChunks.push(..._cssChunks);
45
- }
46
- }
47
- });
48
- const styleLinks = cssChunks.map((chunk) => {
49
- return `<link href="${chunk}" rel="stylesheet" />`;
50
- });
51
- return `${styleLinks.join("")}`;
52
- }
53
- }
54
- }
55
- function buildShellBeforeTemplate(beforeAppTemplate, context) {
56
- const headTemplate = getHeadTemplate(beforeAppTemplate, context);
57
- return beforeAppTemplate.replace(HEAD_REG_EXP, headTemplate);
58
- }
59
- export {
60
- buildShellBeforeTemplate
61
- };
@@ -1,58 +0,0 @@
1
- var __async = (__this, __arguments, generator) => {
2
- return new Promise((resolve, reject) => {
3
- var fulfilled = (value) => {
4
- try {
5
- step(generator.next(value));
6
- } catch (e) {
7
- reject(e);
8
- }
9
- };
10
- var rejected = (value) => {
11
- try {
12
- step(generator.throw(value));
13
- } catch (e) {
14
- reject(e);
15
- }
16
- };
17
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
18
- step((generator = generator.apply(__this, __arguments)).next());
19
- });
20
- };
21
- import { createElement } from "react";
22
- import { run } from "@modern-js/utils/ssr";
23
- import { PreRender } from "../../react/prerender";
24
- import { time } from "../utils";
25
- import renderToPipe from "./renderToPipe";
26
- const render = ({ App, context }) => {
27
- const { ssrContext } = context;
28
- if (!ssrContext) {
29
- throw new Error(
30
- 'The "ssrContext" must not be undefined, but received undefined'
31
- );
32
- }
33
- return run(ssrContext.request.headers, () => __async(void 0, null, function* () {
34
- const end = time();
35
- const rootElement = createElement(App, {
36
- context: Object.assign(context || {}, {
37
- ssr: true
38
- })
39
- });
40
- const pipe = renderToPipe(rootElement, context, {
41
- onShellReady() {
42
- const cacheConfig = PreRender.config();
43
- if (cacheConfig) {
44
- ssrContext.cacheConfig = cacheConfig;
45
- }
46
- },
47
- onAllReady() {
48
- const cost = end();
49
- ssrContext.logger.debug("App Render To HTML cost = %d ms", cost);
50
- ssrContext.metrics.emitTimer("app.render.html.cost", cost);
51
- }
52
- });
53
- return pipe;
54
- }));
55
- };
56
- export {
57
- render
58
- };
@@ -1,24 +0,0 @@
1
- import { ChunkExtractor } from "@loadable/server";
2
- function getLoadableChunks({
3
- context,
4
- jsx
5
- }) {
6
- const { loadableStats, entryName } = context.ssrContext;
7
- if (!loadableStats) {
8
- return {
9
- jsx
10
- };
11
- }
12
- const extractor = new ChunkExtractor({
13
- stats: loadableStats,
14
- entrypoints: [entryName]
15
- });
16
- const collectedJsx = extractor.collectChunks(jsx);
17
- return {
18
- jsx: collectedJsx,
19
- chunkExtractor: extractor
20
- };
21
- }
22
- export {
23
- getLoadableChunks
24
- };
@@ -1,94 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { Transform } from "stream";
21
- import {
22
- renderToPipeableStream
23
- } from "react-dom/server";
24
- import { RenderLevel } from "../types";
25
- import { getTemplates } from "./template";
26
- function renderToPipe(rootElement, context, options) {
27
- let isShellStream = true;
28
- const { ssrContext } = context;
29
- const forUserPipe = (stream) => {
30
- return new Promise((resolve) => {
31
- const { pipe } = renderToPipeableStream(rootElement, __spreadProps(__spreadValues({}, options), {
32
- onShellReady() {
33
- var _a;
34
- const { shellAfter, shellBefore } = getTemplates(
35
- context,
36
- RenderLevel.SERVER_RENDER
37
- );
38
- (_a = options == null ? void 0 : options.onShellReady) == null ? void 0 : _a.call(options);
39
- const injectableTransform = new Transform({
40
- transform(chunk, _encoding, callback) {
41
- try {
42
- if (isShellStream) {
43
- this.push(joinChunk(shellBefore, chunk, shellAfter));
44
- isShellStream = false;
45
- } else {
46
- this.push(chunk);
47
- }
48
- callback();
49
- } catch (e) {
50
- if (e instanceof Error) {
51
- callback(e);
52
- } else {
53
- callback(new Error("Received unkown error when streaming"));
54
- }
55
- }
56
- }
57
- });
58
- resolve(pipe(injectableTransform).pipe(stream));
59
- },
60
- onShellError(error) {
61
- var _a;
62
- ssrContext.metrics.emitCounter(
63
- "app.render.streaming.shell.error",
64
- 1
65
- );
66
- const { shellAfter, shellBefore } = getTemplates(
67
- context,
68
- RenderLevel.CLIENT_RENDER
69
- );
70
- const fallbackHtml = `${shellBefore}${shellAfter}`;
71
- resolve(fallbackHtml);
72
- (_a = options == null ? void 0 : options.onShellError) == null ? void 0 : _a.call(options, error);
73
- },
74
- onError(error) {
75
- var _a;
76
- ssrContext.logger.error(
77
- "An error occurs during streaming SSR",
78
- error
79
- );
80
- ssrContext.metrics.emitCounter("app.render.streaming.error", 1);
81
- (_a = options == null ? void 0 : options.onError) == null ? void 0 : _a.call(options, error);
82
- }
83
- }));
84
- });
85
- };
86
- return forUserPipe;
87
- function joinChunk(before = "", chunk, after = "") {
88
- return `${before}${chunk.toString()}${after}`;
89
- }
90
- }
91
- var renderToPipe_default = renderToPipe;
92
- export {
93
- renderToPipe_default as default
94
- };
@@ -1,12 +0,0 @@
1
- import { ServerStyleSheet } from "styled-components";
2
- function getStyledComponentCss({ jsx }) {
3
- const sheet = new ServerStyleSheet();
4
- const collectedJsx = sheet.collectStyles(jsx);
5
- return {
6
- styleSheet: sheet,
7
- jsx: collectedJsx
8
- };
9
- }
10
- export {
11
- getStyledComponentCss
12
- };
@@ -1,22 +0,0 @@
1
- import { buildShellAfterTemplate } from "./buildTemplate.after";
2
- import { buildShellBeforeTemplate } from "./bulidTemplate.before";
3
- const HTML_SEPARATOR = "<!--<?- html ?>-->";
4
- const getTemplates = (context, renderLevel) => {
5
- const { ssrContext } = context;
6
- const [beforeAppTemplate = "", afterAppHtmlTemplate = ""] = ssrContext.template.split(HTML_SEPARATOR) || [];
7
- const builtBeforeTemplate = buildShellBeforeTemplate(
8
- beforeAppTemplate,
9
- context
10
- );
11
- const builtAfterTemplate = buildShellAfterTemplate(afterAppHtmlTemplate, {
12
- ssrContext,
13
- renderLevel
14
- });
15
- return {
16
- shellBefore: builtBeforeTemplate,
17
- shellAfter: builtAfterTemplate
18
- };
19
- };
20
- export {
21
- getTemplates
22
- };