marko 4.25.0 → 4.26.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 (317) hide show
  1. package/bin/markoc.js +18 -18
  2. package/dist/compiler/CompileContext.js +3 -8
  3. package/dist/core-tags/components/init-components-tag.js +1 -52
  4. package/dist/core-tags/components/package.json +1 -3
  5. package/dist/core-tags/components/preferred-script-location-tag.js +2 -2
  6. package/dist/core-tags/components/preserve-tag.js +1 -27
  7. package/dist/core-tags/core/await/AsyncValue.js +20 -20
  8. package/dist/core-tags/core/await/renderer.js +11 -12
  9. package/dist/core-tags/core/await/reorderer-renderer.js +11 -6
  10. package/dist/index.js +1 -39
  11. package/dist/node-require/index.js +11 -0
  12. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +12 -0
  13. package/dist/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +14 -14
  14. package/dist/node_modules/@internal/components-beginComponent/package.json +11 -0
  15. package/dist/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +47 -47
  16. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  17. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  18. package/dist/node_modules/@internal/components-endComponent/index.js +11 -0
  19. package/dist/node_modules/@internal/components-endComponent/package.json +11 -0
  20. package/dist/node_modules/@internal/components-entry/index-browser.js +9 -0
  21. package/dist/node_modules/@internal/components-entry/index.js +285 -0
  22. package/dist/node_modules/@internal/components-entry/package.json +11 -0
  23. package/dist/{runtime/components/legacy → node_modules/@internal/components-entry-legacy}/index-browser.js +14 -15
  24. package/dist/node_modules/@internal/components-entry-legacy/index.js +14 -0
  25. package/dist/node_modules/@internal/components-entry-legacy/package.json +11 -0
  26. package/dist/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +180 -79
  27. package/dist/node_modules/@internal/components-registry/index.js +34 -0
  28. package/dist/node_modules/@internal/components-registry/package.json +11 -0
  29. package/dist/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +23 -24
  30. package/dist/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +10 -12
  31. package/dist/node_modules/@internal/components-util/package.json +11 -0
  32. package/dist/node_modules/@internal/create-readable/index-browser.js +25 -0
  33. package/dist/node_modules/@internal/create-readable/index.js +52 -0
  34. package/dist/node_modules/@internal/create-readable/package.json +11 -0
  35. package/dist/node_modules/@internal/init-components-tag/index.js +52 -0
  36. package/dist/node_modules/@internal/init-components-tag/package.json +11 -0
  37. package/dist/{loader/index-default.js → node_modules/@internal/loader/index.js} +1 -1
  38. package/dist/node_modules/@internal/loader/package.json +11 -0
  39. package/dist/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +8 -8
  40. package/dist/node_modules/@internal/preserve-tag/index.js +27 -0
  41. package/dist/node_modules/@internal/preserve-tag/package.json +11 -0
  42. package/dist/node_modules/@internal/set-immediate/index-browser.js +17 -0
  43. package/dist/node_modules/@internal/set-immediate/index-worker.js +2 -0
  44. package/dist/node_modules/@internal/set-immediate/index.js +2 -0
  45. package/dist/node_modules/@internal/set-immediate/package.json +11 -0
  46. package/dist/runtime/RenderResult.js +24 -19
  47. package/dist/runtime/components/Component.js +154 -151
  48. package/dist/runtime/components/ComponentDef.js +28 -28
  49. package/dist/runtime/components/ComponentsContext.js +19 -19
  50. package/dist/runtime/components/GlobalComponentsContext.js +4 -4
  51. package/dist/runtime/components/KeySequence.js +3 -3
  52. package/dist/runtime/components/ServerComponent.js +13 -13
  53. package/dist/runtime/components/State.js +28 -28
  54. package/dist/runtime/components/attach-detach.js +9 -9
  55. package/dist/runtime/components/defineComponent.js +5 -5
  56. package/dist/runtime/components/dom-data.js +6 -6
  57. package/dist/runtime/components/event-delegation.js +15 -16
  58. package/dist/runtime/components/index.js +1 -285
  59. package/dist/runtime/components/legacy/browser.json +1 -1
  60. package/dist/runtime/components/legacy/defineComponent-legacy.js +1 -1
  61. package/dist/runtime/components/legacy/defineRenderer-legacy.js +18 -19
  62. package/dist/runtime/components/legacy/defineWidget-legacy.js +1 -18
  63. package/dist/runtime/components/legacy/dependencies/html.js +1 -1
  64. package/dist/runtime/components/legacy/dependencies/index.js +9 -9
  65. package/dist/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
  66. package/dist/runtime/components/legacy/index.js +1 -14
  67. package/dist/runtime/components/legacy/renderer-legacy.js +43 -43
  68. package/dist/runtime/components/registry.js +1 -34
  69. package/dist/runtime/components/renderer.js +38 -38
  70. package/dist/runtime/components/update-manager.js +10 -10
  71. package/dist/runtime/createOut.js +1 -1
  72. package/dist/runtime/dom-insert.js +6 -6
  73. package/dist/runtime/helpers/_change-case.js +2 -2
  74. package/dist/runtime/helpers/assign.js +3 -2
  75. package/dist/runtime/helpers/dynamic-tag.js +14 -16
  76. package/dist/runtime/helpers/load-template.js +1 -1
  77. package/dist/runtime/helpers/merge.js +3 -1
  78. package/dist/runtime/helpers/style-value.js +2 -2
  79. package/dist/runtime/html/AsyncStream.js +61 -52
  80. package/dist/runtime/html/BufferedWriter.js +5 -1
  81. package/dist/runtime/html/StringWriter.js +7 -3
  82. package/dist/runtime/html/helpers/_dynamic-attr.js +2 -2
  83. package/dist/runtime/html/helpers/attr.js +4 -4
  84. package/dist/runtime/html/helpers/attrs.js +3 -3
  85. package/dist/runtime/html/helpers/data-marko.js +4 -6
  86. package/dist/runtime/html/helpers/escape-quotes.js +2 -2
  87. package/dist/runtime/html/helpers/escape-xml.js +1 -1
  88. package/dist/runtime/html/helpers/props-script.js +1 -1
  89. package/dist/runtime/html/index.js +15 -12
  90. package/dist/runtime/renderable.js +5 -5
  91. package/dist/runtime/vdom/AsyncVDOMBuilder.js +102 -103
  92. package/dist/runtime/vdom/VComment.js +7 -7
  93. package/dist/runtime/vdom/VComponent.js +5 -5
  94. package/dist/runtime/vdom/VDocumentFragment.js +8 -8
  95. package/dist/runtime/vdom/VElement.js +55 -54
  96. package/dist/runtime/vdom/VFragment.js +9 -9
  97. package/dist/runtime/vdom/VNode.js +30 -30
  98. package/dist/runtime/vdom/VText.js +7 -7
  99. package/dist/runtime/vdom/helpers/v-element.js +1 -1
  100. package/dist/runtime/vdom/helpers/v-text.js +1 -1
  101. package/dist/runtime/vdom/index.js +12 -22
  102. package/dist/runtime/vdom/morphdom/fragment.js +5 -5
  103. package/dist/runtime/vdom/morphdom/helpers.js +3 -3
  104. package/dist/runtime/vdom/morphdom/index.js +72 -68
  105. package/dist/runtime/vdom/morphdom/specialElHandlers.js +8 -8
  106. package/dist/runtime/vdom/preserve-attrs.js +1 -1
  107. package/dist/runtime/vdom/vdom.js +19 -21
  108. package/docs/body-content.md +2 -2
  109. package/docs/class-components.md +3 -3
  110. package/docs/express.md +1 -1
  111. package/docs/lasso.md +3 -6
  112. package/docs/marko-v4.md +5 -5
  113. package/docs/redux.md +1 -1
  114. package/docs/server-side-rendering.md +2 -2
  115. package/docs/why-is-marko-fast.md +2 -10
  116. package/package.json +1 -1
  117. package/src/browser-refresh.js +2 -2
  118. package/src/compiler/CodeWriter.js +1 -3
  119. package/src/compiler/CompileContext.js +3 -8
  120. package/src/compiler/Compiler.js +4 -4
  121. package/src/compiler/HtmlJsParser.js +1 -1
  122. package/src/compiler/Migrator.js +1 -1
  123. package/src/compiler/Parser.js +3 -3
  124. package/src/compiler/ast/CustomTag.js +9 -11
  125. package/src/compiler/ast/HtmlAttribute/html/generateCode.js +2 -2
  126. package/src/compiler/ast/HtmlAttribute/index.js +1 -1
  127. package/src/compiler/ast/HtmlElement/vdom/HtmlElementVDOM.js +1 -1
  128. package/src/compiler/ast/HtmlElement/vdom/generateCode.js +1 -1
  129. package/src/compiler/ast/TemplateRoot.js +1 -1
  130. package/src/compiler/ast/Text/html/generateCode.js +3 -3
  131. package/src/compiler/ast/Text/vdom/generateCode.js +1 -1
  132. package/src/compiler/index.js +4 -4
  133. package/src/compiler/modules.js +4 -4
  134. package/src/compiler/util/finger-print.js +1 -1
  135. package/src/compiler/util/parseExpression.js +1 -1
  136. package/src/compiler/util/parseStatement.js +1 -1
  137. package/src/compiler/util/removeDashes.js +1 -1
  138. package/src/compiler/util/safeVarName.js +1 -1
  139. package/src/compiler/util/tokenizer.js +1 -1
  140. package/src/core-tags/cache/cached-fragment-tag-transformer.js +1 -1
  141. package/src/core-tags/cache/cached-fragment-tag.js +4 -4
  142. package/src/core-tags/cache/default-cache-manager.js +3 -3
  143. package/src/core-tags/components/TransformHelper/ComponentArgsCompiler.js +1 -1
  144. package/src/core-tags/components/TransformHelper/convertToComponent.js +1 -1
  145. package/src/core-tags/components/TransformHelper/handleComponentPreserveAttrs.js +1 -1
  146. package/src/core-tags/components/init-components-tag.js +1 -54
  147. package/src/core-tags/components/package.json +1 -3
  148. package/src/core-tags/components/preferred-script-location-tag.js +1 -1
  149. package/src/core-tags/components/preserve-tag.js +1 -27
  150. package/src/core-tags/components/util/getTransformHelper.js +1 -1
  151. package/src/core-tags/core/await/AsyncValue.js +3 -3
  152. package/src/core-tags/core/await/noop-render.js +1 -1
  153. package/src/core-tags/core/await/renderer.js +8 -7
  154. package/src/core-tags/core/await/reorderer-renderer.js +35 -14
  155. package/src/core-tags/core/await/transformer.js +1 -1
  156. package/src/core-tags/core/core-transformer.js +2 -2
  157. package/src/core-tags/migrate/all-tags/index.js +1 -1
  158. package/src/core-tags/migrate/all-templates/index.js +1 -1
  159. package/src/core-tags/migrate/include-tag.js +3 -2
  160. package/src/core-tags/migrate/util/parseFor.js +3 -2
  161. package/src/core-tags/migrate/util/printJS.js +1 -1
  162. package/src/defineRenderer.js +1 -1
  163. package/src/express.js +1 -1
  164. package/src/hot-reload.js +5 -5
  165. package/src/index.js +1 -41
  166. package/src/legacy-helpers/notEmpty.js +1 -1
  167. package/src/node-require/index.js +12 -1
  168. package/src/{runtime/components/beginComponent-browser.js → node_modules/@internal/components-beginComponent/index-browser.js} +1 -1
  169. package/src/{runtime/components/beginComponent.js → node_modules/@internal/components-beginComponent/index.js} +2 -2
  170. package/src/node_modules/@internal/components-beginComponent/package.json +11 -0
  171. package/src/{runtime/components/legacy/defineWidget-legacy-browser.js → node_modules/@internal/components-define-widget-legacy/index-browser.js} +21 -23
  172. package/src/node_modules/@internal/components-define-widget-legacy/index.js +18 -0
  173. package/src/node_modules/@internal/components-define-widget-legacy/package.json +11 -0
  174. package/src/{runtime/components/endComponent.js → node_modules/@internal/components-endComponent/index.js} +1 -1
  175. package/src/node_modules/@internal/components-endComponent/package.json +11 -0
  176. package/src/node_modules/@internal/components-entry/index-browser.js +9 -0
  177. package/src/node_modules/@internal/components-entry/index.js +301 -0
  178. package/src/node_modules/@internal/components-entry/package.json +11 -0
  179. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +74 -0
  180. package/src/node_modules/@internal/components-entry-legacy/index.js +15 -0
  181. package/src/node_modules/@internal/components-entry-legacy/package.json +11 -0
  182. package/src/{runtime/components/init-components-browser.js → node_modules/@internal/components-registry/index-browser.js} +240 -75
  183. package/src/node_modules/@internal/components-registry/index.js +44 -0
  184. package/src/node_modules/@internal/components-registry/package.json +11 -0
  185. package/src/{runtime/components/util-browser.js → node_modules/@internal/components-util/index-browser.js} +11 -10
  186. package/src/{runtime/components/util.js → node_modules/@internal/components-util/index.js} +0 -2
  187. package/src/node_modules/@internal/components-util/package.json +11 -0
  188. package/src/node_modules/@internal/create-readable/index-browser.js +30 -0
  189. package/src/node_modules/@internal/create-readable/index.js +57 -0
  190. package/src/node_modules/@internal/create-readable/package.json +11 -0
  191. package/src/node_modules/@internal/init-components-tag/index.js +54 -0
  192. package/src/node_modules/@internal/init-components-tag/package.json +11 -0
  193. package/src/{loader/index-default.js → node_modules/@internal/loader/index.js} +2 -2
  194. package/src/node_modules/@internal/loader/package.json +11 -0
  195. package/src/node_modules/@internal/preserve-tag/index.js +27 -0
  196. package/src/node_modules/@internal/preserve-tag/package.json +11 -0
  197. package/src/node_modules/@internal/set-immediate/index-browser.js +17 -0
  198. package/src/node_modules/@internal/set-immediate/index-worker.js +2 -0
  199. package/src/node_modules/@internal/set-immediate/index.js +2 -0
  200. package/src/node_modules/@internal/set-immediate/package.json +11 -0
  201. package/src/runtime/RenderResult.js +20 -18
  202. package/src/runtime/components/Component.js +44 -41
  203. package/src/runtime/components/ComponentDef.js +9 -9
  204. package/src/runtime/components/ComponentsContext.js +4 -5
  205. package/src/runtime/components/GlobalComponentsContext.js +2 -1
  206. package/src/runtime/components/KeySequence.js +1 -1
  207. package/src/runtime/components/State.js +6 -6
  208. package/src/runtime/components/attach-detach.js +4 -4
  209. package/src/runtime/components/defineComponent.js +1 -1
  210. package/src/runtime/components/event-delegation.js +10 -10
  211. package/src/runtime/components/index.js +1 -301
  212. package/src/runtime/components/jquery.js +2 -2
  213. package/src/runtime/components/legacy/browser.json +1 -1
  214. package/src/runtime/components/legacy/defineRenderer-legacy.js +5 -6
  215. package/src/runtime/components/legacy/defineWidget-legacy.js +1 -18
  216. package/src/runtime/components/legacy/dependencies/html.js +1 -1
  217. package/src/runtime/components/legacy/dependencies/index.js +3 -3
  218. package/src/runtime/components/legacy/helper-getWidgetFromOut.js +3 -3
  219. package/src/runtime/components/legacy/index.js +1 -15
  220. package/src/runtime/components/legacy/renderer-legacy.js +7 -7
  221. package/src/runtime/components/ready.js +2 -2
  222. package/src/runtime/components/registry.js +1 -44
  223. package/src/runtime/components/renderer.js +4 -4
  224. package/src/runtime/components/update-manager.js +1 -1
  225. package/src/runtime/dom-insert.js +8 -8
  226. package/src/runtime/helpers/_weak-map.js +2 -2
  227. package/src/runtime/helpers/assign.js +3 -1
  228. package/src/runtime/helpers/bind-component.js +2 -2
  229. package/src/runtime/helpers/dynamic-tag.js +2 -4
  230. package/src/runtime/helpers/for-in.js +1 -1
  231. package/src/runtime/helpers/load-nested-tag.js +1 -1
  232. package/src/runtime/helpers/load-template.js +1 -1
  233. package/src/runtime/helpers/merge.js +3 -1
  234. package/src/runtime/helpers/noop.js +1 -1
  235. package/src/runtime/helpers/style-value.js +1 -1
  236. package/src/runtime/helpers/to-string.js +1 -1
  237. package/src/runtime/html/AsyncStream.js +90 -76
  238. package/src/runtime/html/BufferedWriter.js +6 -2
  239. package/src/runtime/html/StringWriter.js +15 -9
  240. package/src/runtime/html/helpers/attrs.js +3 -3
  241. package/src/runtime/html/helpers/data-marko.js +0 -2
  242. package/src/runtime/html/helpers/escape-quotes.js +1 -1
  243. package/src/runtime/html/helpers/escape-xml.js +1 -1
  244. package/src/runtime/html/index.js +23 -13
  245. package/src/runtime/queueMicrotask.js +2 -2
  246. package/src/runtime/renderable.js +9 -9
  247. package/src/runtime/vdom/AsyncVDOMBuilder.js +46 -51
  248. package/src/runtime/vdom/VComment.js +3 -3
  249. package/src/runtime/vdom/VDocumentFragment.js +3 -3
  250. package/src/runtime/vdom/VElement.js +17 -13
  251. package/src/runtime/vdom/VFragment.js +1 -1
  252. package/src/runtime/vdom/VNode.js +2 -2
  253. package/src/runtime/vdom/VText.js +3 -3
  254. package/src/runtime/vdom/helpers/attrs.js +1 -1
  255. package/src/runtime/vdom/helpers/const.js +2 -2
  256. package/src/runtime/vdom/helpers/v-element.js +1 -1
  257. package/src/runtime/vdom/helpers/v-text.js +1 -1
  258. package/src/runtime/vdom/index.js +21 -23
  259. package/src/runtime/vdom/morphdom/fragment.js +8 -7
  260. package/src/runtime/vdom/morphdom/index.js +19 -9
  261. package/src/runtime/vdom/morphdom/specialElHandlers.js +6 -6
  262. package/src/runtime/vdom/parse-html.js +4 -4
  263. package/src/runtime/vdom/preserve-attrs.js +1 -1
  264. package/src/runtime/vdom/vdom.js +5 -7
  265. package/src/taglib/taglib-finder/index.js +1 -1
  266. package/src/taglib/taglib-loader/Tag.js +5 -5
  267. package/src/taglib/taglib-loader/Taglib.js +2 -2
  268. package/src/taglib/taglib-loader/json-file-reader.js +1 -1
  269. package/src/taglib/taglib-loader/loadAttributeFromProps.js +1 -1
  270. package/src/taglib/taglib-loader/loadTagFromProps.js +5 -6
  271. package/src/taglib/taglib-loader/tag-def-from-code.js +2 -1
  272. package/src/taglib/taglib-lookup/TaglibLookup.js +2 -2
  273. package/src/taglib/taglib-lookup/index.js +1 -1
  274. package/dist/core-tags/core/await/client-reorder-browser.js +0 -1
  275. package/dist/core-tags/core/await/client-reorder-runtime.min.js +0 -5
  276. package/dist/core-tags/core/await/client-reorder.js +0 -11
  277. package/dist/core-tags/core/await/package.json +0 -6
  278. package/dist/index-browser.js +0 -4
  279. package/dist/loader/index.js +0 -7
  280. package/dist/loader/package.json +0 -5
  281. package/dist/node-require/index-browser.js +0 -1
  282. package/dist/package.json +0 -5
  283. package/dist/runtime/components/beginComponent-browser.js +0 -12
  284. package/dist/runtime/components/endComponent.js +0 -11
  285. package/dist/runtime/components/index-browser.js +0 -14
  286. package/dist/runtime/components/init-components.js +0 -1
  287. package/dist/runtime/components/legacy/package.json +0 -6
  288. package/dist/runtime/components/package.json +0 -12
  289. package/dist/runtime/components/registry-browser.js +0 -73
  290. package/dist/runtime/html/Template.js +0 -63
  291. package/dist/runtime/package.json +0 -5
  292. package/dist/runtime/setImmediate.js +0 -19
  293. package/src/core-tags/core/await/client-reorder-browser.js +0 -1
  294. package/src/core-tags/core/await/client-reorder-runtime.min.js +0 -1
  295. package/src/core-tags/core/await/client-reorder.js +0 -14
  296. package/src/core-tags/core/await/package.json +0 -6
  297. package/src/index-browser.js +0 -3
  298. package/src/loader/index.js +0 -7
  299. package/src/loader/package.json +0 -5
  300. package/src/node-require/index-browser.js +0 -1
  301. package/src/package.json +0 -5
  302. package/src/runtime/components/index-browser.js +0 -15
  303. package/src/runtime/components/init-components.js +0 -1
  304. package/src/runtime/components/legacy/index-browser.js +0 -73
  305. package/src/runtime/components/legacy/package.json +0 -6
  306. package/src/runtime/components/package.json +0 -12
  307. package/src/runtime/components/registry-browser.js +0 -103
  308. package/src/runtime/html/Template.js +0 -62
  309. package/src/runtime/package.json +0 -5
  310. package/src/runtime/setImmediate.js +0 -21
  311. /package/dist/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
  312. /package/dist/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
  313. /package/dist/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
  314. /package/src/{runtime/components/endComponent-browser.js → node_modules/@internal/components-endComponent/index-browser.js} +0 -0
  315. /package/src/{core-tags/components/init-components-tag-browser.js → node_modules/@internal/init-components-tag/index-browser.js} +0 -0
  316. /package/src/{loader → node_modules/@internal/loader}/index-browser.js +0 -0
  317. /package/src/{core-tags/components/preserve-tag-browser.js → node_modules/@internal/preserve-tag/index-browser.js} +0 -0
@@ -1,285 +1 @@
1
- "use strict";
2
-
3
- var warp10 = require("warp10");
4
- var safeJSONRegExp = /<\/|\u2028|\u2029/g;
5
- var IGNORE_GLOBAL_TYPES = new Set(["undefined", "function", "symbol"]);
6
- var DEFAULT_RUNTIME_ID = "M";
7
-
8
- var FLAG_WILL_RERENDER_IN_BROWSER = 1;
9
- var FLAG_HAS_RENDER_BODY = 2;
10
- var FLAG_IS_LEGACY = 4;
11
- var FLAG_OLD_HYDRATE_NO_CREATE = 8;
12
-
13
- function safeJSONReplacer(match) {
14
- if (match === "</") {
15
- return "\\u003C/";
16
- } else {
17
- return "\\u" + match.charCodeAt(0).toString(16);
18
- }
19
- }
20
-
21
- function isNotEmpty(obj) {
22
- var keys = Object.keys(obj);
23
- for (var i = keys.length; i--;) {
24
- if (obj[keys[i]] !== undefined) {
25
- return true;
26
- }
27
- }
28
-
29
- return false;
30
- }
31
- function safeStringify(data) {
32
- return JSON.stringify(warp10.stringifyPrepare(data)).replace(safeJSONRegExp, safeJSONReplacer);
33
- }
34
-
35
- function getSerializedGlobals($global) {
36
- let serializedGlobalsLookup = $global.serializedGlobals;
37
- if (serializedGlobalsLookup) {
38
- let serializedGlobals;
39
- let keys = Object.keys(serializedGlobalsLookup);
40
- for (let i = keys.length; i--;) {
41
- let key = keys[i];
42
- if (serializedGlobalsLookup[key]) {
43
- let value = $global[key];
44
- if (!IGNORE_GLOBAL_TYPES.has(typeof value)) {
45
- if (serializedGlobals === undefined) {
46
- serializedGlobals = {};
47
- }
48
- serializedGlobals[key] = value;
49
- }
50
- }
51
- }
52
-
53
- return serializedGlobals;
54
- }
55
- }
56
-
57
- function addComponentsFromContext(componentsContext, componentsToHydrate) {
58
- var components = componentsContext.h_;
59
-
60
- var len = components.length;
61
-
62
- for (var i = 0; i < len; i++) {
63
- var componentDef = components[i];
64
- var id = componentDef.id;
65
- var component = componentDef.n_;
66
- var flags = componentDef._N_;
67
- var isLegacy = componentDef.ar_;
68
-
69
- var state = component.state;
70
- var input = component.input || 0;
71
- var typeName = component.typeName;
72
- var customEvents = component.U_;
73
- var scope = component.M_;
74
- var bubblingDomEvents = component.T_;
75
-
76
- var needsState;
77
- var serializedProps;
78
- var renderBody;
79
-
80
- if (isLegacy) {
81
- flags |= FLAG_IS_LEGACY;
82
- renderBody = component._U_;
83
-
84
- if (component.widgetConfig && isNotEmpty(component.widgetConfig)) {
85
- serializedProps = component.widgetConfig;
86
- }
87
-
88
- needsState = true;
89
- } else {
90
- if (input && input.renderBody) {
91
- renderBody = input.renderBody;
92
- input.renderBody = undefined;
93
- }
94
-
95
- if (!(flags & FLAG_WILL_RERENDER_IN_BROWSER) || flags & FLAG_OLD_HYDRATE_NO_CREATE) {
96
- component.P_ = undefined; // We don't use `delete` to avoid V8 deoptimization
97
- component.W_ = undefined; // We don't use `delete` to avoid V8 deoptimization
98
- component.typeName = undefined;
99
- component.id = undefined;
100
- component.U_ = undefined;
101
- component.M_ = undefined;
102
- component.T_ = undefined;
103
- component.aa_ = undefined;
104
- component.ab_ = undefined;
105
- component.___ = undefined;
106
-
107
- needsState = true;
108
-
109
- if (isNotEmpty(component)) {
110
- serializedProps = component;
111
- }
112
- }
113
- }
114
-
115
- var undefinedPropNames = undefined;
116
-
117
- if (needsState && state) {
118
- // Update state properties with an `undefined` value to have a `null`
119
- // value so that the property name will be serialized down to the browser.
120
- // This ensures that we add the proper getter/setter for the state property.
121
- const stateKeys = Object.keys(state);
122
- for (let i = stateKeys.length; i--;) {
123
- const stateKey = stateKeys[i];
124
-
125
- if (state[stateKey] === undefined) {
126
- if (undefinedPropNames) {
127
- undefinedPropNames.push(stateKey);
128
- } else {
129
- undefinedPropNames = [stateKey];
130
- }
131
- }
132
- }
133
- }
134
-
135
- if (typeof renderBody === "function") {
136
- flags |= FLAG_HAS_RENDER_BODY;
137
- renderBody = undefined;
138
- }
139
-
140
- var extra = {
141
- b: bubblingDomEvents,
142
- d: componentDef._K_,
143
- e: customEvents,
144
- f: flags || undefined,
145
- p: customEvents && scope, // Only serialize scope if we need to attach custom events
146
- s: needsState && state,
147
- u: undefinedPropNames,
148
- w: serializedProps,
149
- r: renderBody
150
- };
151
-
152
- var parts = [id, typeName];
153
- var hasExtra = isNotEmpty(extra);
154
-
155
- if (input) {
156
- parts.push(input);
157
-
158
- if (hasExtra) {
159
- parts.push(extra);
160
- }
161
- } else if (hasExtra) {
162
- parts.push(0, extra); // empty input;
163
- }
164
-
165
- componentsToHydrate.push(parts);
166
- }
167
-
168
- components.length = 0;
169
-
170
- // Also add any components from nested contexts
171
- var nestedContexts = componentsContext._V_;
172
- if (nestedContexts !== undefined) {
173
- nestedContexts.forEach(function (nestedContext) {
174
- addComponentsFromContext(nestedContext, componentsToHydrate);
175
- });
176
- }
177
- }
178
-
179
- function getInitComponentsData(out, componentDefs) {
180
- const len = componentDefs.length;
181
- const $global = out.global;
182
- const isLast = $global.j_;
183
- const didSerializeComponents = $global.as_;
184
- const prefix = $global.componentIdPrefix || $global.widgetIdPrefix;
185
-
186
- if (len === 0) {
187
- if (isLast && didSerializeComponents) {
188
- return { p: prefix, l: 1 };
189
- }
190
-
191
- return;
192
- }
193
-
194
- const TYPE_INDEX = 1;
195
- const typesLookup = $global.at_ || ($global.at_ = new Map());
196
- let newTypes;
197
-
198
- for (let i = 0; i < len; i++) {
199
- const componentDef = componentDefs[i];
200
- const typeName = componentDef[TYPE_INDEX];
201
- let typeIndex = typesLookup.get(typeName);
202
-
203
- if (typeIndex === undefined) {
204
- typeIndex = typesLookup.size;
205
- typesLookup.set(typeName, typeIndex);
206
-
207
- if (newTypes) {
208
- newTypes.push(typeName);
209
- } else {
210
- newTypes = [typeName];
211
- }
212
- }
213
-
214
- componentDef[TYPE_INDEX] = typeIndex;
215
- }
216
-
217
- let serializedGlobals;
218
-
219
- if (!didSerializeComponents) {
220
- $global.as_ = true;
221
- serializedGlobals = getSerializedGlobals($global);
222
- }
223
-
224
- return {
225
- p: prefix,
226
- l: isLast && 1,
227
- g: serializedGlobals,
228
- w: componentDefs,
229
- t: newTypes
230
- };
231
- }
232
-
233
- function getInitComponentsDataFromOut(out) {
234
- const componentsContext = out.h_;
235
-
236
- if (componentsContext === null) {
237
- return;
238
- }
239
-
240
- const $global = out.global;
241
- const runtimeId = $global.runtimeId;
242
- const componentsToHydrate = [];
243
- addComponentsFromContext(componentsContext, componentsToHydrate);
244
-
245
- $global.j_ = true;
246
- const data = getInitComponentsData(out, componentsToHydrate);
247
- $global.j_ = undefined;
248
-
249
- if (runtimeId !== DEFAULT_RUNTIME_ID && data) {
250
- data.r = runtimeId;
251
- }
252
-
253
- return data;
254
- }
255
-
256
- function writeInitComponentsCode(out) {
257
- out.script(exports.g_(out));
258
- }
259
-
260
- exports.g_ = function getInitComponentsCode(out, componentDefs) {
261
- const initComponentsData = arguments.length === 2 ? getInitComponentsData(out, componentDefs) : getInitComponentsDataFromOut(out);
262
-
263
- if (initComponentsData === undefined) {
264
- return "";
265
- }
266
-
267
- const runtimeId = out.global.runtimeId;
268
- const componentGlobalKey = runtimeId === DEFAULT_RUNTIME_ID ? "MC" : runtimeId + "_C";
269
-
270
- return `$${componentGlobalKey}=(window.$${componentGlobalKey}||[]).concat(${safeStringify(initComponentsData)})`;
271
- };
272
-
273
- exports.f_ = addComponentsFromContext;
274
- exports.writeInitComponentsCode = writeInitComponentsCode;
275
-
276
- /**
277
- * Returns an object that can be sent to the browser using JSON.stringify. The parsed object should be
278
- * passed to require('marko-components').initComponents(...);
279
- *
280
- * @param {ComponentsContext|AsyncWriter} componentsContext A ComponentsContext or an AsyncWriter
281
- * @return {Object} An object with information about the rendered components that can be serialized to JSON. The object should be treated as opaque
282
- */
283
- exports.getRenderedComponents = function (out) {
284
- return warp10.stringifyPrepare(getInitComponentsDataFromOut(out));
285
- };
1
+ module.exports = require("@internal/components-entry");
@@ -2,7 +2,7 @@
2
2
  "dependencies": [
3
3
  {
4
4
  "type": "require",
5
- "path": "./index-browser",
5
+ "path": "./index",
6
6
  "run": true
7
7
  }
8
8
  ]
@@ -9,7 +9,7 @@ var defineWidget;
9
9
 
10
10
  module.exports = function defineComponent(def) {
11
11
 
12
- if (def._d_) {
12
+ if (def.A_) {
13
13
  return def;
14
14
  }
15
15
  // eslint-disable-next-line no-constant-condition
@@ -1,11 +1,10 @@
1
1
  var complain;
2
- var marko = require("../../../");
3
2
  var makeRenderable = require("../../renderable");
4
- var getComponentsContext = require("../ComponentsContext").u_;
5
- var componentsUtil = require("../util");
6
- var componentLookup = componentsUtil.I_;
3
+ var getComponentsContext = require("../ComponentsContext").U_;
4
+ var componentLookup = require("@internal/components-util")._n_;
7
5
  var modernRenderer = require("../renderer");
8
- var resolveComponentKey = modernRenderer.ay_;
6
+ var loader = require("@internal/loader");
7
+ var resolveComponentKey = modernRenderer.aX_;
9
8
 
10
9
  module.exports = function defineRenderer(renderingLogic) {
11
10
  var renderer = renderingLogic.renderer;
@@ -13,14 +12,14 @@ module.exports = function defineRenderer(renderingLogic) {
13
12
  // eslint-disable-next-line no-constant-condition
14
13
 
15
14
 
16
- if (renderer && renderer.az_) {
15
+ if (renderer && renderer.aY_) {
17
16
  return renderer;
18
17
  }
19
18
 
20
19
  var template = renderingLogic.template;
21
20
 
22
21
  if (typeof template === "string") {
23
- template = marko.load(template);
22
+ template = loader(template);
24
23
  }
25
24
 
26
25
  if (!renderer) {
@@ -43,13 +42,13 @@ module.exports = function defineRenderer(renderingLogic) {
43
42
  // takes care of re-using existing components.
44
43
  renderer = function renderer(input, out) {
45
44
  var componentsContext = getComponentsContext(out);
46
- var globalComponentsContext = componentsContext.k_;
47
- var component = globalComponentsContext._w_;
48
- var isReceivingNewInput = !component || component.aA_;
45
+ var globalComponentsContext = componentsContext.r_;
46
+ var component = globalComponentsContext.aB_;
47
+ var isReceivingNewInput = !component || component._k_;
49
48
  var parentComponentDef;
50
49
 
51
50
  if (component) {
52
- component.aA_ = false;
51
+ component._k_ = false;
53
52
  }
54
53
 
55
54
  // Render the template associated with the component using the final template
@@ -61,14 +60,14 @@ module.exports = function defineRenderer(renderingLogic) {
61
60
  var id;
62
61
 
63
62
  if (!component && componentLookup) {
64
- var key = out.o_;
63
+ var key = out.ab_;
65
64
 
66
- if ((parentComponentDef = componentsContext.p_) && key != null) {
65
+ if ((parentComponentDef = componentsContext.q_) && key != null) {
67
66
  id = resolveComponentKey(key.toString(), parentComponentDef);
68
67
  } else if (parentComponentDef) {
69
- id = parentComponentDef._R_();
68
+ id = parentComponentDef.aO_();
70
69
  } else {
71
- id = globalComponentsContext._R_();
70
+ id = globalComponentsContext.aO_();
72
71
  }
73
72
 
74
73
  component = componentLookup[id];
@@ -101,9 +100,9 @@ module.exports = function defineRenderer(renderingLogic) {
101
100
  widgetBody = newProps.renderBody;
102
101
  }
103
102
  } else if (component) {
104
- newProps = newProps || component.aB_;
105
- widgetBody = component._U_;
106
- widgetState = component._y_;
103
+ newProps = newProps || component.Q_;
104
+ widgetBody = component.___;
105
+ widgetState = component.aD_;
107
106
  widgetConfig = component.widgetConfig;
108
107
  }
109
108
 
@@ -131,7 +130,7 @@ module.exports = function defineRenderer(renderingLogic) {
131
130
  };
132
131
  }
133
132
 
134
- renderer.az_ = true;
133
+ renderer.aY_ = true;
135
134
  renderer.createOut = template ? template.createOut : renderingLogic.createOut;
136
135
  renderer.template = template;
137
136
 
@@ -1,18 +1 @@
1
- module.exports = function defineWidget(def, renderer) {
2
- if (def._d_) {
3
- return def;
4
- }
5
-
6
- if (renderer) {
7
- return {
8
- _d_: true,
9
- _isWidget: true,
10
- renderer: renderer,
11
- render: renderer.render,
12
- renderSync: renderer.renderSync,
13
- template: renderer.template
14
- };
15
- } else {
16
- return { _d_: true, _isWidget: true };
17
- }
18
- };
1
+ module.exports = require("@internal/components-define-widget-legacy");
@@ -1,3 +1,3 @@
1
1
  var patch = require("./").patch;
2
- var Template = require("../../../html/Template");
2
+ var Template = require("../../../html").Template;
3
3
  patch(Template);
@@ -4,14 +4,14 @@ var env = process.env.NODE_ENV;
4
4
  var production = !env || env !== "development";
5
5
 
6
6
  function getRootDeps(template, context) {
7
- if (production && template.aL_) {
8
- return template.aL_;
7
+ if (production && template.aZ_) {
8
+ return template.aZ_;
9
9
  }
10
10
 
11
11
  attachDepsAndComponentsToTemplate(template, context);
12
12
 
13
- var deps = template.aL_ = Object.keys(template.aM_).map(key => template.aM_[key]);
14
- var initModule = getInitModule(template.path, template.h_);
13
+ var deps = template.aZ_ = Object.keys(template.b__).map(key => template.b__[key]);
14
+ var initModule = getInitModule(template.path, template.t_);
15
15
 
16
16
  if (initModule) deps.push(initModule);
17
17
 
@@ -42,10 +42,10 @@ function attachDepsAndComponentsToTemplate(target, context) {
42
42
  }
43
43
 
44
44
  if (typeof template.createOut !== "function") return;
45
- if (production && target.aM_) return;
45
+ if (production && target.b__) return;
46
46
 
47
- var deps = target.aM_ = {};
48
- var components = target.h_ = {};
47
+ var deps = target.b__ = {};
48
+ var components = target.t_ = {};
49
49
 
50
50
  if (!template.meta) {
51
51
  // eslint-disable-next-line no-console
@@ -88,8 +88,8 @@ function attachDepsAndComponentsToTemplate(target, context) {
88
88
 
89
89
  attachDepsAndComponentsToTemplate(tag, context);
90
90
 
91
- if (tag.aM_) Object.assign(deps, tag.aM_);
92
- if (tag.h_) Object.assign(components, tag.h_);
91
+ if (tag.b__) Object.assign(deps, tag.b__);
92
+ if (tag.t_) Object.assign(components, tag.t_);
93
93
  });
94
94
  }
95
95
  }
@@ -1,8 +1,8 @@
1
- var getComponentsContext = require("../ComponentsContext").u_;
1
+ var getComponentsContext = require("../ComponentsContext").U_;
2
2
 
3
3
  module.exports = function (out) {
4
4
  var componentsContext = getComponentsContext(out);
5
- var componentDef = componentsContext && componentsContext.aN_ || {};
6
- componentDef._c = componentDef.n_;
5
+ var componentDef = componentsContext && componentsContext.ba_ || {};
6
+ componentDef._c = componentDef.v_;
7
7
  return componentDef;
8
8
  };
@@ -1,14 +1 @@
1
- var modernMarko = require("../");
2
-
3
- // legacy api
4
- exports.defineComponent = require("./defineComponent-legacy");
5
- exports.defineWidget = require("./defineWidget-legacy");
6
- exports.defineRenderer = require("./defineRenderer-legacy");
7
- exports.makeRenderable = exports.renderable = require("../../renderable");
8
-
9
- // server only
10
- exports.writeInitWidgetsCode = modernMarko.writeInitComponentsCode;
11
- exports.getRenderedWidgets = exports.getRenderedWidgetIds = modernMarko.getRenderedComponents;
12
- exports.getInitWidgetsCode = function (out) {
13
- return modernMarko.g_(out);
14
- };
1
+ module.exports = require("@internal/components-entry-legacy");
@@ -1,12 +1,12 @@
1
- var getComponentsContext = require("../ComponentsContext").u_;
2
- var componentsUtil = require("../util");
3
- var componentLookup = componentsUtil.I_;
4
- var registry = require("../registry");
1
+ var getComponentsContext = require("../ComponentsContext").U_;
2
+ var componentsUtil = require("@internal/components-util");
3
+ var componentLookup = componentsUtil._n_;
4
+ var registry = require("@internal/components-registry");
5
5
  var modernRenderer = require("../renderer");
6
- var resolveComponentKey = modernRenderer.ay_;
7
- var trackAsyncComponents = modernRenderer.aP_;
8
- var beginComponent = require("../beginComponent");
9
- var endComponent = require("../endComponent");
6
+ var resolveComponentKey = modernRenderer.aX_;
7
+ var trackAsyncComponents = modernRenderer.bb_;
8
+ var beginComponent = require("@internal/components-beginComponent");
9
+ var endComponent = require("@internal/components-endComponent");
10
10
  var complain;
11
11
 
12
12
  function createRendererFunc(templateRenderFunc, componentProps) {
@@ -22,38 +22,38 @@ function createRendererFunc(templateRenderFunc, componentProps) {
22
22
  var widgetConfig = input.widgetConfig;
23
23
 
24
24
  var componentsContext = getComponentsContext(out);
25
- var globalComponentsContext = componentsContext.k_;
25
+ var globalComponentsContext = componentsContext.r_;
26
26
 
27
- var component = globalComponentsContext._w_;
27
+ var component = globalComponentsContext.aB_;
28
28
 
29
29
  var isRerender = component !== undefined;
30
30
  var id = assignedId;
31
31
  var isExisting;
32
- var parentComponentDef = componentsContext.p_;
33
- var ownerComponentDef = out.m_;
32
+ var parentComponentDef = componentsContext.q_;
33
+ var ownerComponentDef = out.aa_;
34
34
  var ownerComponentId = ownerComponentDef && ownerComponentDef.id;
35
- var key = out.o_;
36
- var customEvents = out.aQ_;
35
+ var key = out.ab_;
36
+ var customEvents = out.bc_;
37
37
 
38
- out.m_ = null;
38
+ out.aa_ = null;
39
39
 
40
40
  if (component) {
41
41
  id = component.id;
42
42
  isExisting = true;
43
- globalComponentsContext._w_ = null;
43
+ globalComponentsContext.aB_ = null;
44
44
  } else {
45
45
  if (key != null) {
46
46
  id = id || resolveComponentKey(key.toString(), parentComponentDef);
47
47
  } else if (parentComponentDef) {
48
- id = parentComponentDef._R_();
48
+ id = parentComponentDef.aO_();
49
49
  } else {
50
- id = globalComponentsContext._R_();
50
+ id = globalComponentsContext.aO_();
51
51
  }
52
52
  }
53
53
 
54
- if (registry.aR_ && typeName) {
54
+ if (registry._J_ && typeName) {
55
55
  if (renderingLogic) delete renderingLogic.onRender;
56
- component = registry._T_(renderingLogic, id, input, out, typeName, customEvents, ownerComponentId);
56
+ component = registry._G_(renderingLogic, id, input, out, typeName, customEvents, ownerComponentId);
57
57
  if (isSplit || widgetState) {
58
58
  component.input = null;
59
59
  } else if (input.widgetProps) {
@@ -76,7 +76,7 @@ function createRendererFunc(templateRenderFunc, componentProps) {
76
76
  isExisting = false;
77
77
  // We need to create a new instance of the component
78
78
  if (typeName) {
79
- component = registry._T_(typeName, id);
79
+ component = registry._G_(typeName, id);
80
80
  }
81
81
  }
82
82
  }
@@ -88,10 +88,10 @@ function createRendererFunc(templateRenderFunc, componentProps) {
88
88
  isFakeComponent = true;
89
89
  component = {
90
90
  id: id,
91
- q_: {}
91
+ N_: {}
92
92
  };
93
93
  } else {
94
- component.___ = true;
94
+ component._c_ = true;
95
95
 
96
96
  if (widgetState) {
97
97
  component.state = widgetState;
@@ -99,25 +99,25 @@ function createRendererFunc(templateRenderFunc, componentProps) {
99
99
  }
100
100
 
101
101
  component.widgetConfig = widgetConfig;
102
- component._U_ = widgetBody || component._U_;
102
+ component.___ = widgetBody || component.___;
103
103
 
104
104
  var componentDef = beginComponent(componentsContext, component, key, ownerComponentDef, isSplit, isFakeComponent);
105
- var parentLegacyComponentDef = componentsContext.aN_;
106
- componentsContext.aN_ = componentDef;
105
+ var parentLegacyComponentDef = componentsContext.ba_;
106
+ componentsContext.ba_ = componentDef;
107
107
 
108
108
  // This is a hack, but we have to swap out the component instance stored with this node
109
- var vComponentNode = out.r_;
109
+ var vComponentNode = out.ac_;
110
110
 
111
- componentDef.n_ = isFakeComponent ? null : component;
112
- componentDef._L_ = isExisting;
113
- componentDef.ar_ = true;
111
+ componentDef.v_ = isFakeComponent ? null : component;
112
+ componentDef._u_ = isExisting;
113
+ componentDef.B_ = true;
114
114
 
115
115
  componentDef.t = function (typeName) {
116
116
  if (typeName) {
117
- if (registry.aR_) {
117
+ if (registry._J_) {
118
118
  var oldComponent = component;
119
119
  if (renderingLogic) delete renderingLogic.onRender;
120
- component = registry._T_(renderingLogic || {}, id, input, out, typeName, customEvents, ownerComponentId);
120
+ component = registry._G_(renderingLogic || {}, id, input, out, typeName, customEvents, ownerComponentId);
121
121
  if (isSplit || widgetState) {
122
122
  component.input = null;
123
123
  } else if (input.widgetProps) {
@@ -127,32 +127,32 @@ function createRendererFunc(templateRenderFunc, componentProps) {
127
127
  Object.assign(component, oldComponent);
128
128
  beginComponent(componentsContext, component, key, ownerComponentDef, isSplit, false, this);
129
129
  } else {
130
- vComponentNode.n_ = component = registry._T_(typeName, component.id);
130
+ vComponentNode.v_ = component = registry._G_(typeName, component.id);
131
131
  }
132
- this.n_ = component;
132
+ this.v_ = component;
133
133
  }
134
134
  };
135
135
 
136
- if (!registry.aR_) {
137
- component.aJ_ && component.aJ_();
136
+ if (!registry._J_) {
137
+ component.O_ && component.O_();
138
138
  }
139
139
 
140
140
  // Render the template associated with the component using the final template
141
141
  // data that we constructed
142
142
  templateRenderFunc(input, out, componentDef, componentDef, component);
143
143
 
144
- if (customEvents && componentDef.n_) {
145
- if (registry.aR_) {
146
- componentDef.U_ = customEvents;
147
- componentDef.M_ = ownerComponentId;
144
+ if (customEvents && componentDef.v_) {
145
+ if (registry._J_) {
146
+ componentDef.X_ = customEvents;
147
+ componentDef.Y_ = ownerComponentId;
148
148
  } else {
149
- componentDef.n_._A_(customEvents, ownerComponentId);
149
+ componentDef.v_.aE_(customEvents, ownerComponentId);
150
150
  }
151
151
  }
152
152
 
153
153
  endComponent(out, componentDef);
154
- componentsContext.p_ = parentComponentDef;
155
- componentsContext.aN_ = parentLegacyComponentDef;
154
+ componentsContext.q_ = parentComponentDef;
155
+ componentsContext.ba_ = parentLegacyComponentDef;
156
156
  };
157
157
  }
158
158