@modern-js/runtime 2.48.3 → 2.48.4-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.
Files changed (232) hide show
  1. package/dist/cjs/ssr/index.js +1 -1
  2. package/dist/esm/ssr/index.js +1 -1
  3. package/dist/esm-node/ssr/index.js +1 -1
  4. package/dist/js/modern/cli/index.js +72 -0
  5. package/dist/js/modern/common.js +4 -0
  6. package/dist/js/modern/config.js +0 -0
  7. package/dist/js/modern/core/app-config.js +10 -0
  8. package/dist/js/modern/core/compatible.js +285 -0
  9. package/dist/js/modern/core/index.js +16 -0
  10. package/dist/js/modern/core/loader/index.js +4 -0
  11. package/dist/js/modern/core/loader/loaderManager.js +165 -0
  12. package/dist/js/modern/core/loader/useLoader.js +114 -0
  13. package/dist/js/modern/core/plugin.js +58 -0
  14. package/dist/js/modern/document/Body.js +23 -0
  15. package/dist/js/modern/document/DocumentContext.js +9 -0
  16. package/dist/js/modern/document/DocumentStructrueContext.js +11 -0
  17. package/dist/js/modern/document/Head.js +27 -0
  18. package/dist/js/modern/document/Html.js +78 -0
  19. package/dist/js/modern/document/Links.js +10 -0
  20. package/dist/js/modern/document/Root.js +33 -0
  21. package/dist/js/modern/document/Script.js +20 -0
  22. package/dist/js/modern/document/Scripts.js +10 -0
  23. package/dist/js/modern/document/cli/index.js +228 -0
  24. package/dist/js/modern/document/constants.js +49 -0
  25. package/dist/js/modern/document/index.js +10 -0
  26. package/dist/js/modern/exports/head.js +6 -0
  27. package/dist/js/modern/exports/loadable.js +6 -0
  28. package/dist/js/modern/exports/server.js +4 -0
  29. package/dist/js/modern/exports/styled.js +6 -0
  30. package/dist/js/modern/index.js +22 -0
  31. package/dist/js/modern/router/cli/index.js +120 -0
  32. package/dist/js/modern/router/index.js +7 -0
  33. package/dist/js/modern/router/runtime/DefaultNotFound.js +14 -0
  34. package/dist/js/modern/router/runtime/index.js +9 -0
  35. package/dist/js/modern/router/runtime/plugin.js +104 -0
  36. package/dist/js/modern/router/runtime/plugin.node.js +149 -0
  37. package/dist/js/modern/router/runtime/server.js +1 -0
  38. package/dist/js/modern/router/runtime/types.js +0 -0
  39. package/dist/js/modern/router/runtime/utils.js +196 -0
  40. package/dist/js/modern/router/runtime/withRouter.js +36 -0
  41. package/dist/js/modern/runtime-context.js +7 -0
  42. package/dist/js/modern/ssr/cli/babel-plugin-ssr-loader-id.js +130 -0
  43. package/dist/js/modern/ssr/cli/index.js +172 -0
  44. package/dist/js/modern/ssr/index.js +159 -0
  45. package/dist/js/modern/ssr/index.node.js +79 -0
  46. package/dist/js/modern/ssr/prefetch.js +69 -0
  47. package/dist/js/modern/ssr/react/index.js +6 -0
  48. package/dist/js/modern/ssr/react/nossr/index.js +14 -0
  49. package/dist/js/modern/ssr/react/prerender/index.js +108 -0
  50. package/dist/js/modern/ssr/react/prerender/type.js +0 -0
  51. package/dist/js/modern/ssr/react/prerender/util.js +96 -0
  52. package/dist/js/modern/ssr/react/withCallback/index.js +15 -0
  53. package/dist/js/modern/ssr/serverRender/helmet.js +44 -0
  54. package/dist/js/modern/ssr/serverRender/index.js +35 -0
  55. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +36 -0
  56. package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.share.js +11 -0
  57. package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +61 -0
  58. package/dist/js/modern/ssr/serverRender/renderToStream/index.js +58 -0
  59. package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +24 -0
  60. package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +94 -0
  61. package/dist/js/modern/ssr/serverRender/renderToStream/styledComponent.js +12 -0
  62. package/dist/js/modern/ssr/serverRender/renderToStream/template.js +22 -0
  63. package/dist/js/modern/ssr/serverRender/renderToStream/type.js +0 -0
  64. package/dist/js/modern/ssr/serverRender/renderToString/entry.js +171 -0
  65. package/dist/js/modern/ssr/serverRender/renderToString/index.js +52 -0
  66. package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +48 -0
  67. package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +8 -0
  68. package/dist/js/modern/ssr/serverRender/renderToString/styledComponent.js +11 -0
  69. package/dist/js/modern/ssr/serverRender/renderToString/template.js +58 -0
  70. package/dist/js/modern/ssr/serverRender/renderToString/type.js +9 -0
  71. package/dist/js/modern/ssr/serverRender/types.js +4 -0
  72. package/dist/js/modern/ssr/serverRender/utils.js +22 -0
  73. package/dist/js/modern/ssr/utils.js +81 -0
  74. package/dist/js/modern/state/cli/index.js +83 -0
  75. package/dist/js/modern/state/index.js +7 -0
  76. package/dist/js/modern/state/plugins.js +13 -0
  77. package/dist/js/modern/state/runtime/index.js +9 -0
  78. package/dist/js/modern/state/runtime/plugin.js +97 -0
  79. package/dist/js/modern/state/types.js +0 -0
  80. package/dist/js/node/cli/index.js +99 -0
  81. package/dist/js/node/common.js +27 -0
  82. package/dist/js/node/config.js +15 -0
  83. package/dist/js/node/core/app-config.js +34 -0
  84. package/dist/js/node/core/compatible.js +312 -0
  85. package/dist/js/node/core/index.js +47 -0
  86. package/dist/js/node/core/loader/index.js +33 -0
  87. package/dist/js/node/core/loader/loaderManager.js +195 -0
  88. package/dist/js/node/core/loader/useLoader.js +132 -0
  89. package/dist/js/node/core/plugin.js +80 -0
  90. package/dist/js/node/document/Body.js +43 -0
  91. package/dist/js/node/document/DocumentContext.js +38 -0
  92. package/dist/js/node/document/DocumentStructrueContext.js +40 -0
  93. package/dist/js/node/document/Head.js +51 -0
  94. package/dist/js/node/document/Html.js +101 -0
  95. package/dist/js/node/document/Links.js +33 -0
  96. package/dist/js/node/document/Root.js +57 -0
  97. package/dist/js/node/document/Script.js +40 -0
  98. package/dist/js/node/document/Scripts.js +33 -0
  99. package/dist/js/node/document/cli/index.js +240 -0
  100. package/dist/js/node/document/constants.js +86 -0
  101. package/dist/js/node/document/index.js +26 -0
  102. package/dist/js/node/exports/head.js +34 -0
  103. package/dist/js/node/exports/loadable.js +34 -0
  104. package/dist/js/node/exports/server.js +27 -0
  105. package/dist/js/node/exports/styled.js +34 -0
  106. package/dist/js/node/index.js +44 -0
  107. package/dist/js/node/router/cli/index.js +135 -0
  108. package/dist/js/node/router/index.js +37 -0
  109. package/dist/js/node/router/runtime/DefaultNotFound.js +37 -0
  110. package/dist/js/node/router/runtime/index.js +33 -0
  111. package/dist/js/node/router/runtime/plugin.js +127 -0
  112. package/dist/js/node/router/runtime/plugin.node.js +175 -0
  113. package/dist/js/node/router/runtime/server.js +17 -0
  114. package/dist/js/node/router/runtime/types.js +15 -0
  115. package/dist/js/node/router/runtime/utils.js +221 -0
  116. package/dist/js/node/router/runtime/withRouter.js +57 -0
  117. package/dist/js/node/runtime-context.js +31 -0
  118. package/dist/js/node/ssr/cli/babel-plugin-ssr-loader-id.js +139 -0
  119. package/dist/js/node/ssr/cli/index.js +190 -0
  120. package/dist/js/node/ssr/index.js +185 -0
  121. package/dist/js/node/ssr/index.node.js +107 -0
  122. package/dist/js/node/ssr/prefetch.js +90 -0
  123. package/dist/js/node/ssr/react/index.js +30 -0
  124. package/dist/js/node/ssr/react/nossr/index.js +43 -0
  125. package/dist/js/node/ssr/react/prerender/index.js +130 -0
  126. package/dist/js/node/ssr/react/prerender/type.js +15 -0
  127. package/dist/js/node/ssr/react/prerender/util.js +123 -0
  128. package/dist/js/node/ssr/react/withCallback/index.js +38 -0
  129. package/dist/js/node/ssr/serverRender/helmet.js +65 -0
  130. package/dist/js/node/ssr/serverRender/index.js +56 -0
  131. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +65 -0
  132. package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +35 -0
  133. package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +87 -0
  134. package/dist/js/node/ssr/serverRender/renderToStream/index.js +87 -0
  135. package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +47 -0
  136. package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +111 -0
  137. package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +35 -0
  138. package/dist/js/node/ssr/serverRender/renderToStream/template.js +45 -0
  139. package/dist/js/node/ssr/serverRender/renderToStream/type.js +15 -0
  140. package/dist/js/node/ssr/serverRender/renderToString/entry.js +196 -0
  141. package/dist/js/node/ssr/serverRender/renderToString/index.js +81 -0
  142. package/dist/js/node/ssr/serverRender/renderToString/loadable.js +71 -0
  143. package/dist/js/node/ssr/serverRender/renderToString/reduce.js +31 -0
  144. package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +34 -0
  145. package/dist/js/node/ssr/serverRender/renderToString/template.js +82 -0
  146. package/dist/js/node/ssr/serverRender/renderToString/type.js +32 -0
  147. package/dist/js/node/ssr/serverRender/types.js +27 -0
  148. package/dist/js/node/ssr/serverRender/utils.js +46 -0
  149. package/dist/js/node/ssr/utils.js +106 -0
  150. package/dist/js/node/state/cli/index.js +100 -0
  151. package/dist/js/node/state/index.js +37 -0
  152. package/dist/js/node/state/plugins.js +45 -0
  153. package/dist/js/node/state/runtime/index.js +40 -0
  154. package/dist/js/node/state/runtime/plugin.js +121 -0
  155. package/dist/js/node/state/types.js +15 -0
  156. package/dist/js/treeshaking/cli/index.js +186 -0
  157. package/dist/js/treeshaking/common.js +4 -0
  158. package/dist/js/treeshaking/config.js +1 -0
  159. package/dist/js/treeshaking/core/app-config.js +9 -0
  160. package/dist/js/treeshaking/core/compatible.js +485 -0
  161. package/dist/js/treeshaking/core/index.js +7 -0
  162. package/dist/js/treeshaking/core/loader/index.js +2 -0
  163. package/dist/js/treeshaking/core/loader/loaderManager.js +406 -0
  164. package/dist/js/treeshaking/core/loader/useLoader.js +188 -0
  165. package/dist/js/treeshaking/core/plugin.js +176 -0
  166. package/dist/js/treeshaking/document/Body.js +18 -0
  167. package/dist/js/treeshaking/document/DocumentContext.js +7 -0
  168. package/dist/js/treeshaking/document/DocumentStructrueContext.js +9 -0
  169. package/dist/js/treeshaking/document/Head.js +24 -0
  170. package/dist/js/treeshaking/document/Html.js +99 -0
  171. package/dist/js/treeshaking/document/Links.js +8 -0
  172. package/dist/js/treeshaking/document/Root.js +26 -0
  173. package/dist/js/treeshaking/document/Script.js +15 -0
  174. package/dist/js/treeshaking/document/Scripts.js +8 -0
  175. package/dist/js/treeshaking/document/cli/index.js +393 -0
  176. package/dist/js/treeshaking/document/constants.js +35 -0
  177. package/dist/js/treeshaking/document/index.js +10 -0
  178. package/dist/js/treeshaking/exports/head.js +4 -0
  179. package/dist/js/treeshaking/exports/loadable.js +4 -0
  180. package/dist/js/treeshaking/exports/server.js +4 -0
  181. package/dist/js/treeshaking/exports/styled.js +4 -0
  182. package/dist/js/treeshaking/index.js +3 -0
  183. package/dist/js/treeshaking/router/cli/index.js +148 -0
  184. package/dist/js/treeshaking/router/index.js +4 -0
  185. package/dist/js/treeshaking/router/runtime/DefaultNotFound.js +14 -0
  186. package/dist/js/treeshaking/router/runtime/index.js +6 -0
  187. package/dist/js/treeshaking/router/runtime/plugin.js +132 -0
  188. package/dist/js/treeshaking/router/runtime/plugin.node.js +390 -0
  189. package/dist/js/treeshaking/router/runtime/server.js +1 -0
  190. package/dist/js/treeshaking/router/runtime/types.js +1 -0
  191. package/dist/js/treeshaking/router/runtime/utils.js +260 -0
  192. package/dist/js/treeshaking/router/runtime/withRouter.js +67 -0
  193. package/dist/js/treeshaking/runtime-context.js +4 -0
  194. package/dist/js/treeshaking/ssr/cli/babel-plugin-ssr-loader-id.js +122 -0
  195. package/dist/js/treeshaking/ssr/cli/index.js +217 -0
  196. package/dist/js/treeshaking/ssr/index.js +315 -0
  197. package/dist/js/treeshaking/ssr/index.node.js +240 -0
  198. package/dist/js/treeshaking/ssr/prefetch.js +199 -0
  199. package/dist/js/treeshaking/ssr/react/index.js +3 -0
  200. package/dist/js/treeshaking/ssr/react/nossr/index.js +58 -0
  201. package/dist/js/treeshaking/ssr/react/prerender/index.js +237 -0
  202. package/dist/js/treeshaking/ssr/react/prerender/type.js +1 -0
  203. package/dist/js/treeshaking/ssr/react/prerender/util.js +108 -0
  204. package/dist/js/treeshaking/ssr/react/withCallback/index.js +16 -0
  205. package/dist/js/treeshaking/ssr/serverRender/helmet.js +42 -0
  206. package/dist/js/treeshaking/ssr/serverRender/index.js +169 -0
  207. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +34 -0
  208. package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.share.js +7 -0
  209. package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +115 -0
  210. package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +165 -0
  211. package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +22 -0
  212. package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +119 -0
  213. package/dist/js/treeshaking/ssr/serverRender/renderToStream/styledComponent.js +11 -0
  214. package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +63 -0
  215. package/dist/js/treeshaking/ssr/serverRender/renderToStream/type.js +1 -0
  216. package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +393 -0
  217. package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +165 -0
  218. package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +56 -0
  219. package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +10 -0
  220. package/dist/js/treeshaking/ssr/serverRender/renderToString/styledComponent.js +9 -0
  221. package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +156 -0
  222. package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +7 -0
  223. package/dist/js/treeshaking/ssr/serverRender/types.js +2 -0
  224. package/dist/js/treeshaking/ssr/serverRender/utils.js +69 -0
  225. package/dist/js/treeshaking/ssr/utils.js +134 -0
  226. package/dist/js/treeshaking/state/cli/index.js +71 -0
  227. package/dist/js/treeshaking/state/index.js +4 -0
  228. package/dist/js/treeshaking/state/plugins.js +14 -0
  229. package/dist/js/treeshaking/state/runtime/index.js +5 -0
  230. package/dist/js/treeshaking/state/runtime/plugin.js +198 -0
  231. package/dist/js/treeshaking/state/types.js +1 -0
  232. package/package.json +6 -6
@@ -0,0 +1,393 @@
1
+ function _arrayLikeToArray(arr, len) {
2
+ if (len == null || len > arr.length) len = arr.length;
3
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
4
+ return arr2;
5
+ }
6
+ function _arrayWithoutHoles(arr) {
7
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
8
+ }
9
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10
+ try {
11
+ var info = gen[key](arg);
12
+ var value = info.value;
13
+ } catch (error) {
14
+ reject(error);
15
+ return;
16
+ }
17
+ if (info.done) {
18
+ resolve(value);
19
+ } else {
20
+ Promise.resolve(value).then(_next, _throw);
21
+ }
22
+ }
23
+ function _asyncToGenerator(fn) {
24
+ return function() {
25
+ var self = this, args = arguments;
26
+ return new Promise(function(resolve, reject) {
27
+ var gen = fn.apply(self, args);
28
+ function _next(value) {
29
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
30
+ }
31
+ function _throw(err) {
32
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
33
+ }
34
+ _next(undefined);
35
+ });
36
+ };
37
+ }
38
+ function _defineProperty(obj, key, value) {
39
+ if (key in obj) {
40
+ Object.defineProperty(obj, key, {
41
+ value: value,
42
+ enumerable: true,
43
+ configurable: true,
44
+ writable: true
45
+ });
46
+ } else {
47
+ obj[key] = value;
48
+ }
49
+ return obj;
50
+ }
51
+ function _iterableToArray(iter) {
52
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
53
+ }
54
+ function _nonIterableSpread() {
55
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
56
+ }
57
+ function _objectSpread(target) {
58
+ for(var i = 1; i < arguments.length; i++){
59
+ var source = arguments[i] != null ? arguments[i] : {};
60
+ var ownKeys = Object.keys(source);
61
+ if (typeof Object.getOwnPropertySymbols === "function") {
62
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
63
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
64
+ }));
65
+ }
66
+ ownKeys.forEach(function(key) {
67
+ _defineProperty(target, key, source[key]);
68
+ });
69
+ }
70
+ return target;
71
+ }
72
+ function _toConsumableArray(arr) {
73
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
74
+ }
75
+ function _unsupportedIterableToArray(o, minLen) {
76
+ if (!o) return;
77
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
78
+ var n = Object.prototype.toString.call(o).slice(8, -1);
79
+ if (n === "Object" && o.constructor) n = o.constructor.name;
80
+ if (n === "Map" || n === "Set") return Array.from(n);
81
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
82
+ }
83
+ var __generator = this && this.__generator || function(thisArg, body) {
84
+ var f, y, t, g, _ = {
85
+ label: 0,
86
+ sent: function() {
87
+ if (t[0] & 1) throw t[1];
88
+ return t[1];
89
+ },
90
+ trys: [],
91
+ ops: []
92
+ };
93
+ return(g = {
94
+ next: verb(0),
95
+ "throw": verb(1),
96
+ "return": verb(2)
97
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
98
+ return this;
99
+ }), g);
100
+ function verb(n) {
101
+ return function(v) {
102
+ return step([
103
+ n,
104
+ v
105
+ ]);
106
+ };
107
+ }
108
+ function step(op) {
109
+ if (f) throw new TypeError("Generator is already executing.");
110
+ while(_)try {
111
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
112
+ if (y = 0, t) op = [
113
+ op[0] & 2,
114
+ t.value
115
+ ];
116
+ switch(op[0]){
117
+ case 0:
118
+ case 1:
119
+ t = op;
120
+ break;
121
+ case 4:
122
+ _.label++;
123
+ return {
124
+ value: op[1],
125
+ done: false
126
+ };
127
+ case 5:
128
+ _.label++;
129
+ y = op[1];
130
+ op = [
131
+ 0
132
+ ];
133
+ continue;
134
+ case 7:
135
+ op = _.ops.pop();
136
+ _.trys.pop();
137
+ continue;
138
+ default:
139
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
140
+ _ = 0;
141
+ continue;
142
+ }
143
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
144
+ _.label = op[1];
145
+ break;
146
+ }
147
+ if (op[0] === 6 && _.label < t[1]) {
148
+ _.label = t[1];
149
+ t = op;
150
+ break;
151
+ }
152
+ if (t && _.label < t[2]) {
153
+ _.label = t[2];
154
+ _.ops.push(op);
155
+ break;
156
+ }
157
+ if (t[2]) _.ops.pop();
158
+ _.trys.pop();
159
+ continue;
160
+ }
161
+ op = body.call(thisArg, _);
162
+ } catch (e) {
163
+ op = [
164
+ 6,
165
+ e
166
+ ];
167
+ y = 0;
168
+ } finally{
169
+ f = t = 0;
170
+ }
171
+ if (op[0] & 5) throw op[1];
172
+ return {
173
+ value: op[0] ? op[1] : void 0,
174
+ done: true
175
+ };
176
+ }
177
+ };
178
+ import path from "path";
179
+ import React from "react";
180
+ import ReactDomServer from "react-dom/server";
181
+ import { build } from "esbuild";
182
+ import { createDebugger, findExists, fs } from "@modern-js/utils";
183
+ import { DocumentContext } from "../DocumentContext";
184
+ import { DOCUMENT_SCRIPTS_PLACEHOLDER, DOCUMENT_LINKS_PLACEHOLDER, DOCUMENT_FILE_NAME, DOCUMENT_META_PLACEHOLDER, PLACEHOLDER_REPLACER_MAP, DOC_EXT, DOCUMENT_SSR_PLACEHOLDER, DOCUMENT_CHUNKSMAP_PLACEHOLDER, DOCUMENT_SSRDATASCRIPT_PLACEHOLDER, DOCUMENT_SCRIPT_PLACEHOLDER_START, DOCUMENT_SCRIPT_PLACEHOLDER_END, HTML_SEPARATOR } from "../constants";
185
+ var debug = createDebugger("html_genarate");
186
+ var getDocumenByEntryName = function getDocumenByEntryName(entrypoints, entryName, fallbackDir) {
187
+ var ref;
188
+ var entryDir = (ref = entrypoints.find(function(item) {
189
+ return item.entryName === entryName;
190
+ })) === null || ref === void 0 ? void 0 : ref.absoluteEntryDir;
191
+ var entryDirs = DOC_EXT.map(function(item) {
192
+ return "".concat(entryDir).concat(path.sep).concat(DOCUMENT_FILE_NAME, ".").concat(item);
193
+ });
194
+ var fallbackDirs = fallbackDir ? DOC_EXT.map(function(item) {
195
+ return [
196
+ fallbackDir,
197
+ "src",
198
+ "".concat(DOCUMENT_FILE_NAME, ".").concat(item)
199
+ ].join(path.sep);
200
+ }) : [];
201
+ var docFile = findExists(_toConsumableArray(entryDirs).concat(_toConsumableArray(fallbackDirs)));
202
+ return docFile || void 0;
203
+ };
204
+ var cli_default = function() {
205
+ return {
206
+ name: "@modern-js/plugin-document",
207
+ pre: [
208
+ "@modern-js/plugin-analyze"
209
+ ],
210
+ setup: function() {
211
+ var _ref = _asyncToGenerator(function(api) {
212
+ var documentEntry;
213
+ function getDocParams(params) {
214
+ var config = params.config, templateParameters = params.templateParameters, entryName = params.entryName;
215
+ return {
216
+ processEnv: process.env,
217
+ config: {
218
+ output: config.output
219
+ },
220
+ entryName: entryName,
221
+ templateParams: templateParameters
222
+ };
223
+ }
224
+ return __generator(this, function(_state) {
225
+ documentEntry = function(entryName, templateParameters) {
226
+ var ref = api.useAppContext(), entrypoints = ref.entrypoints, internalDirectory = ref.internalDirectory, appDirectory = ref.appDirectory;
227
+ var documentFilePath = getDocumenByEntryName(entrypoints, entryName, appDirectory);
228
+ if (!documentFilePath) {
229
+ return null;
230
+ }
231
+ return function() {
232
+ var _ref = _asyncToGenerator(function(param) {
233
+ var htmlWebpackPlugin, documentParams, tempTsConfigFile, userTsConfigFilePath, tsConfig, err, htmlOutputFile, Document, HTMLElement, html, scripts, links, metas, finalHtml;
234
+ return __generator(this, function(_state) {
235
+ switch(_state.label){
236
+ case 0:
237
+ htmlWebpackPlugin = param.htmlWebpackPlugin;
238
+ documentParams = getDocParams({
239
+ config: api.useConfigContext(),
240
+ entryName: entryName,
241
+ templateParameters: templateParameters
242
+ });
243
+ tempTsConfigFile = path.join(internalDirectory, "./document/_tempTsconfig.json");
244
+ userTsConfigFilePath = path.join(appDirectory, "tsconfig.json");
245
+ _state.label = 1;
246
+ case 1:
247
+ _state.trys.push([
248
+ 1,
249
+ 3,
250
+ ,
251
+ 4
252
+ ]);
253
+ return [
254
+ 4,
255
+ require(userTsConfigFilePath)
256
+ ];
257
+ case 2:
258
+ tsConfig = _state.sent();
259
+ return [
260
+ 3,
261
+ 4
262
+ ];
263
+ case 3:
264
+ err = _state.sent();
265
+ tsConfig = {};
266
+ return [
267
+ 3,
268
+ 4
269
+ ];
270
+ case 4:
271
+ if (tsConfig === null || tsConfig === void 0 ? void 0 : tsConfig.compilerOptions) {
272
+ tsConfig.compilerOptions.jsx = "react-jsx";
273
+ } else {
274
+ tsConfig.compilerOptions = {
275
+ jsx: "react-jsx"
276
+ };
277
+ }
278
+ fs.outputFileSync(tempTsConfigFile, JSON.stringify(tsConfig));
279
+ htmlOutputFile = path.join(internalDirectory, "./document/_".concat(entryName, ".html.js"));
280
+ return [
281
+ 4,
282
+ build({
283
+ entryPoints: [
284
+ documentFilePath
285
+ ],
286
+ outfile: htmlOutputFile,
287
+ platform: "node",
288
+ tsconfig: tempTsConfigFile,
289
+ target: "es6",
290
+ loader: {
291
+ ".ts": "ts",
292
+ ".tsx": "tsx"
293
+ },
294
+ bundle: true,
295
+ plugins: [
296
+ {
297
+ name: "make-all-packages-external",
298
+ setup: function setup(build2) {
299
+ build2.onResolve({
300
+ filter: /^[^./]|^\.[^./]|^\.\.[^/]/
301
+ }, function(args) {
302
+ var external = true;
303
+ if (args.kind === "entry-point") {
304
+ external = false;
305
+ }
306
+ return {
307
+ path: args.path,
308
+ external: external
309
+ };
310
+ });
311
+ }
312
+ }
313
+ ]
314
+ })
315
+ ];
316
+ case 5:
317
+ _state.sent();
318
+ delete require.cache[require.resolve(htmlOutputFile)];
319
+ return [
320
+ 4,
321
+ require(htmlOutputFile)
322
+ ];
323
+ case 6:
324
+ Document = _state.sent().default;
325
+ HTMLElement = React.createElement(DocumentContext.Provider, {
326
+ value: documentParams
327
+ }, React.createElement(Document, null));
328
+ html = ReactDomServer.renderToStaticMarkup(HTMLElement);
329
+ debug("entry %s's document jsx rendered html: %o", entryName, html);
330
+ scripts = [
331
+ htmlWebpackPlugin.tags.headTags.filter(function(item) {
332
+ return item.tagName === "script";
333
+ }).join(""),
334
+ htmlWebpackPlugin.tags.bodyTags.toString()
335
+ ].join("");
336
+ links = [
337
+ htmlWebpackPlugin.tags.headTags.filter(function(item) {
338
+ return item.tagName === "link";
339
+ }).join("")
340
+ ].join("");
341
+ metas = [
342
+ templateParameters.meta,
343
+ htmlWebpackPlugin.tags.headTags.filter(function(item) {
344
+ return item.tagName !== "script" && item.tagName !== "link";
345
+ }).join("")
346
+ ].join("");
347
+ if (html.includes(DOCUMENT_SCRIPT_PLACEHOLDER_START) && html.includes(DOCUMENT_SCRIPT_PLACEHOLDER_END)) {
348
+ html = html.replaceAll(new RegExp("".concat(DOCUMENT_SCRIPT_PLACEHOLDER_START, "(.*?)").concat(DOCUMENT_SCRIPT_PLACEHOLDER_END), "g"), function(_scriptStr, $1) {
349
+ return "<script>".concat(decodeURIComponent($1), "</script>");
350
+ });
351
+ }
352
+ finalHtml = "<!DOCTYPE html>".concat(html).replace(DOCUMENT_META_PLACEHOLDER, metas).replace(DOCUMENT_SSR_PLACEHOLDER, HTML_SEPARATOR).replace(DOCUMENT_SCRIPTS_PLACEHOLDER, scripts).replace(DOCUMENT_LINKS_PLACEHOLDER, links).replace(DOCUMENT_CHUNKSMAP_PLACEHOLDER, PLACEHOLDER_REPLACER_MAP[DOCUMENT_CHUNKSMAP_PLACEHOLDER]).replace(DOCUMENT_SSRDATASCRIPT_PLACEHOLDER, PLACEHOLDER_REPLACER_MAP[DOCUMENT_SSRDATASCRIPT_PLACEHOLDER]);
353
+ return [
354
+ 2,
355
+ finalHtml
356
+ ];
357
+ }
358
+ });
359
+ });
360
+ return function(_) {
361
+ return _ref.apply(this, arguments);
362
+ };
363
+ }();
364
+ };
365
+ return [
366
+ 2,
367
+ {
368
+ config: function() {
369
+ return {
370
+ tools: {
371
+ htmlPlugin: function(options, entry) {
372
+ var hackParameters = typeof (options === null || options === void 0 ? void 0 : options.templateParameters) === "function" ? options === null || options === void 0 ? void 0 : options.templateParameters({}, {}, {}, {}) : _objectSpread({}, options === null || options === void 0 ? void 0 : options.templateParameters);
373
+ var templateContent = documentEntry(entry.entryName, hackParameters);
374
+ var documentHtmlOptions = templateContent ? {
375
+ templateContent: templateContent,
376
+ inject: false
377
+ } : {};
378
+ return _objectSpread({}, options, documentHtmlOptions);
379
+ }
380
+ }
381
+ };
382
+ }
383
+ }
384
+ ];
385
+ });
386
+ });
387
+ return function(api) {
388
+ return _ref.apply(this, arguments);
389
+ };
390
+ }()
391
+ };
392
+ };
393
+ export { cli_default as default };
@@ -0,0 +1,35 @@
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ var DOC_EXT = [
15
+ "jsx",
16
+ "tsx",
17
+ "ts",
18
+ "js"
19
+ ];
20
+ var DOCUMENT_META_PLACEHOLDER = encodeURIComponent("<%= meta %>");
21
+ var HTML_SEPARATOR = "<!--<?- html ?>-->";
22
+ var HTML_CHUNKSMAP_SEPARATOR = "<!--<?- chunksMap.js ?>-->";
23
+ var HTML_SSRDATASCRIPT_SEPARATOR = "<!--<?- SSRDataScript ?>-->";
24
+ var DOCUMENT_SSR_PLACEHOLDER = encodeURIComponent(HTML_SEPARATOR);
25
+ var DOCUMENT_CHUNKSMAP_PLACEHOLDER = encodeURIComponent(HTML_CHUNKSMAP_SEPARATOR);
26
+ var DOCUMENT_SSRDATASCRIPT_PLACEHOLDER = encodeURIComponent(HTML_SSRDATASCRIPT_SEPARATOR);
27
+ var DOCUMENT_FILE_NAME = "Document";
28
+ var DOCUMENT_SCRIPTS_PLACEHOLDER = encodeURIComponent("<!-- chunk scripts placeholder -->");
29
+ var DOCUMENT_LINKS_PLACEHOLDER = encodeURIComponent("<!-- chunk links placeholder -->");
30
+ var DOCUMENT_NO_SCRIPTE_PLACEHOLDER = encodeURIComponent("<!-- no-script -->");
31
+ var DOCUMENT_SCRIPT_PLACEHOLDER_START = encodeURIComponent("<!-- script-start -->");
32
+ var DOCUMENT_SCRIPT_PLACEHOLDER_END = encodeURIComponent("<!-- script-end -->");
33
+ var _obj;
34
+ var PLACEHOLDER_REPLACER_MAP = (_obj = {}, _defineProperty(_obj, DOCUMENT_NO_SCRIPTE_PLACEHOLDER, "We're sorry but react app doesn't work properly without JavaScript enabled. Please enable it to continue."), _defineProperty(_obj, DOCUMENT_SSR_PLACEHOLDER, HTML_SEPARATOR), _defineProperty(_obj, DOCUMENT_CHUNKSMAP_PLACEHOLDER, HTML_CHUNKSMAP_SEPARATOR), _defineProperty(_obj, DOCUMENT_SSRDATASCRIPT_PLACEHOLDER, HTML_SSRDATASCRIPT_SEPARATOR), _obj);
35
+ export { DOCUMENT_CHUNKSMAP_PLACEHOLDER, DOCUMENT_FILE_NAME, DOCUMENT_LINKS_PLACEHOLDER, DOCUMENT_META_PLACEHOLDER, DOCUMENT_NO_SCRIPTE_PLACEHOLDER, DOCUMENT_SCRIPTS_PLACEHOLDER, DOCUMENT_SCRIPT_PLACEHOLDER_END, DOCUMENT_SCRIPT_PLACEHOLDER_START, DOCUMENT_SSRDATASCRIPT_PLACEHOLDER, DOCUMENT_SSR_PLACEHOLDER, DOC_EXT, HTML_CHUNKSMAP_SEPARATOR, HTML_SEPARATOR, HTML_SSRDATASCRIPT_SEPARATOR, PLACEHOLDER_REPLACER_MAP };
@@ -0,0 +1,10 @@
1
+ export * from "./Html";
2
+ export * from "./DocumentContext";
3
+ export * from "./DocumentStructrueContext";
4
+ export * from "./Head";
5
+ export * from "./Body";
6
+ export * from "./Root";
7
+ export * from "./Links";
8
+ export * from "./Scripts";
9
+ export * from "./Script";
10
+ export * from "./constants";
@@ -0,0 +1,4 @@
1
+ import head from "react-helmet";
2
+ var head_default = head;
3
+ export * from "react-helmet";
4
+ export { head_default as default };
@@ -0,0 +1,4 @@
1
+ import loadable from "@loadable/component";
2
+ var loadable_default = loadable;
3
+ export * from "@loadable/component";
4
+ export { loadable_default as default };
@@ -0,0 +1,4 @@
1
+ var hook = function(attacher) {
2
+ return attacher;
3
+ };
4
+ export { hook };
@@ -0,0 +1,4 @@
1
+ import styled from "styled-components";
2
+ var styled_default = styled;
3
+ export * from "styled-components";
4
+ export { styled_default as default };
@@ -0,0 +1,3 @@
1
+ import { isBrowser } from "./common";
2
+ import { createApp, createPlugin, useLoader, bootstrap, RuntimeReactContext, defineConfig, registerInit, useRuntimeContext } from "./core";
3
+ export { RuntimeReactContext, bootstrap, createApp, createPlugin, defineConfig, isBrowser, registerInit, useLoader, useRuntimeContext };
@@ -0,0 +1,148 @@
1
+ function _defineProperty(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _objectSpread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _defineProperty(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _objectSpreadProps(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ import { getEntryOptions, createRuntimeExportsUtils, PLUGIN_SCHEMAS } from "@modern-js/utils";
54
+ var PLUGIN_IDENTIFIER = "router";
55
+ var ROUTES_IDENTIFIER = "routes";
56
+ var isV5 = function(config) {
57
+ var ref, ref1;
58
+ return (config === null || config === void 0 ? void 0 : (ref = config.runtime) === null || ref === void 0 ? void 0 : (ref1 = ref.router) === null || ref1 === void 0 ? void 0 : ref1.mode) === "react-router-5";
59
+ };
60
+ var cli_default = function() {
61
+ return {
62
+ name: "@modern-js/plugin-router",
63
+ required: [
64
+ "@modern-js/runtime"
65
+ ],
66
+ setup: function(api) {
67
+ var runtimeConfigMap = /* @__PURE__ */ new Map();
68
+ var pluginsExportsUtils;
69
+ return {
70
+ config: function config() {
71
+ var appContext = api.useAppContext();
72
+ pluginsExportsUtils = createRuntimeExportsUtils(appContext.internalDirectory, "plugins");
73
+ return {
74
+ source: {
75
+ alias: {
76
+ "@modern-js/runtime/plugins": pluginsExportsUtils.getPath()
77
+ }
78
+ }
79
+ };
80
+ },
81
+ validateSchema: function validateSchema() {
82
+ return PLUGIN_SCHEMAS["@modern-js/plugin-router"];
83
+ },
84
+ modifyEntryImports: function modifyEntryImports(param) {
85
+ var entrypoint = param.entrypoint, imports = param.imports;
86
+ var entryName = entrypoint.entryName, fileSystemRoutes = entrypoint.fileSystemRoutes;
87
+ var userConfig = api.useResolvedConfigContext();
88
+ var packageName = api.useAppContext().packageName;
89
+ var runtimeConfig = getEntryOptions(entryName, userConfig.runtime, userConfig.runtimeByEntries, packageName);
90
+ runtimeConfigMap.set(entryName, runtimeConfig);
91
+ if (runtimeConfig === null || runtimeConfig === void 0 ? void 0 : runtimeConfig.router) {
92
+ if (!isV5(userConfig)) {
93
+ imports.push({
94
+ value: "@modern-js/runtime/plugins",
95
+ specifiers: [
96
+ {
97
+ imported: PLUGIN_IDENTIFIER
98
+ }
99
+ ]
100
+ });
101
+ }
102
+ } else if (fileSystemRoutes) {
103
+ throw new Error("should enable runtime.router for entry ".concat(entryName));
104
+ }
105
+ return {
106
+ entrypoint: entrypoint,
107
+ imports: imports
108
+ };
109
+ },
110
+ modifyEntryRuntimePlugins: function modifyEntryRuntimePlugins(param) {
111
+ var entrypoint = param.entrypoint, plugins = param.plugins;
112
+ var entryName = entrypoint.entryName, fileSystemRoutes = entrypoint.fileSystemRoutes;
113
+ var serverRoutes = api.useAppContext().serverRoutes;
114
+ var userConfig = api.useResolvedConfigContext();
115
+ var runtimeConfig = runtimeConfigMap.get(entryName);
116
+ if (runtimeConfig.router && !isV5(userConfig)) {
117
+ var serverBase = serverRoutes.filter(function(route) {
118
+ return route.entryName === entryName;
119
+ }).map(function(route) {
120
+ return route.urlPath;
121
+ }).sort(function(a, b) {
122
+ return a.length - b.length > 0 ? -1 : 1;
123
+ });
124
+ plugins.push({
125
+ name: PLUGIN_IDENTIFIER,
126
+ options: JSON.stringify(_objectSpreadProps(_objectSpread({
127
+ serverBase: serverBase
128
+ }, runtimeConfig.router), {
129
+ routesConfig: fileSystemRoutes ? "{ ".concat(ROUTES_IDENTIFIER, ", globalApp: App }") : void 0
130
+ })).replace(/"routesConfig"\s*:\s*"((\S|\s)+)"/g, '"routesConfig": $1,')
131
+ });
132
+ }
133
+ return {
134
+ entrypoint: entrypoint,
135
+ plugins: plugins
136
+ };
137
+ },
138
+ addRuntimeExports: function addRuntimeExports() {
139
+ var userConfig = api.useResolvedConfigContext();
140
+ if (!isV5(userConfig)) {
141
+ pluginsExportsUtils.addExport("export { default as router } from '@modern-js/runtime/router'");
142
+ }
143
+ }
144
+ };
145
+ }
146
+ };
147
+ };
148
+ export { cli_default as default };
@@ -0,0 +1,4 @@
1
+ import { default as default2 } from "./runtime";
2
+ import { default as default3 } from "./runtime";
3
+ export * from "./runtime";
4
+ export { default3 as default, default2 as router };
@@ -0,0 +1,14 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ var DefaultNotFound = function() {
3
+ return /* @__PURE__ */ jsx("div", {
4
+ style: {
5
+ margin: "150px auto",
6
+ textAlign: "center",
7
+ display: "flex",
8
+ alignItems: "center",
9
+ justifyContent: "center"
10
+ },
11
+ children: "404"
12
+ });
13
+ };
14
+ export { DefaultNotFound };
@@ -0,0 +1,6 @@
1
+ import { routerPlugin } from "./plugin";
2
+ var runtime_default = routerPlugin;
3
+ import { modifyRoutes } from "./plugin";
4
+ export * from "react-router-dom";
5
+ export * from "./withRouter";
6
+ export { runtime_default as default, modifyRoutes };