marko 5.37.0 → 6.0.0-3.4

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 (638) hide show
  1. package/dist/common/attr-tag.d.ts +8 -0
  2. package/dist/common/compat-meta.d.ts +2 -0
  3. package/dist/common/for.d.ts +5 -0
  4. package/dist/common/helpers.d.ts +7 -0
  5. package/dist/common/meta.d.ts +2 -0
  6. package/dist/common/types.d.ts +105 -0
  7. package/dist/debug/dom.js +2112 -0
  8. package/dist/debug/dom.mjs +2089 -0
  9. package/dist/debug/html.js +2740 -0
  10. package/dist/debug/html.mjs +2663 -0
  11. package/dist/dom/abort-signal.d.ts +3 -0
  12. package/dist/dom/compat.d.ts +20 -0
  13. package/dist/dom/control-flow.d.ts +14 -0
  14. package/dist/dom/controllable.d.ts +12 -0
  15. package/dist/dom/dom.d.ts +19 -0
  16. package/dist/dom/event.d.ts +4 -0
  17. package/dist/dom/parse-html.d.ts +5 -0
  18. package/dist/dom/queue.d.ts +10 -0
  19. package/dist/dom/reconcile.d.ts +2 -0
  20. package/dist/dom/renderer.d.ts +21 -0
  21. package/dist/dom/resolve-cursor-position.d.ts +1 -0
  22. package/dist/dom/resume.d.ts +9 -0
  23. package/dist/dom/schedule.d.ts +2 -0
  24. package/dist/dom/scope.d.ts +7 -0
  25. package/dist/dom/signals.d.ts +39 -0
  26. package/dist/dom/template.d.ts +3 -0
  27. package/dist/dom/walker.d.ts +4 -0
  28. package/dist/dom.d.ts +15 -0
  29. package/dist/dom.js +1370 -0
  30. package/dist/dom.mjs +1350 -0
  31. package/dist/html/attrs.d.ts +14 -0
  32. package/dist/html/compat.d.ts +14 -0
  33. package/dist/html/content.d.ts +5 -0
  34. package/dist/html/dynamic-tag.d.ts +12 -0
  35. package/dist/html/for.d.ts +4 -0
  36. package/dist/html/inlined-runtimes.d.ts +2 -0
  37. package/dist/html/serializer.d.ts +14 -0
  38. package/dist/html/template.d.ts +3 -0
  39. package/dist/html/writer.d.ts +114 -0
  40. package/dist/html.d.ts +9 -0
  41. package/dist/html.js +1818 -0
  42. package/dist/html.mjs +1744 -0
  43. package/dist/translator/core/attrs.d.ts +3 -0
  44. package/dist/translator/core/client.d.ts +14 -0
  45. package/dist/translator/core/const.d.ts +3 -0
  46. package/dist/translator/core/debug.d.ts +3 -0
  47. package/dist/translator/core/define.d.ts +3 -0
  48. package/dist/translator/core/effect.d.ts +3 -0
  49. package/dist/translator/core/export.d.ts +3 -0
  50. package/dist/translator/core/for.d.ts +67 -0
  51. package/dist/translator/core/html-comment.d.ts +12 -0
  52. package/dist/translator/core/html-script.d.ts +9 -0
  53. package/dist/translator/core/html-style.d.ts +9 -0
  54. package/dist/translator/core/id.d.ts +3 -0
  55. package/dist/translator/core/if.d.ts +53 -0
  56. package/dist/translator/core/import.d.ts +3 -0
  57. package/dist/translator/core/index.d.ts +152 -0
  58. package/dist/translator/core/let.d.ts +8 -0
  59. package/dist/translator/core/lifecycle.d.ts +10 -0
  60. package/dist/translator/core/log.d.ts +3 -0
  61. package/dist/translator/core/return.d.ts +6 -0
  62. package/dist/translator/core/script.d.ts +3 -0
  63. package/dist/translator/core/server.d.ts +14 -0
  64. package/dist/translator/core/static.d.ts +14 -0
  65. package/dist/translator/core/style.d.ts +3 -0
  66. package/dist/translator/index.d.ts +201 -0
  67. package/dist/translator/index.js +9143 -489
  68. package/dist/translator/util/assert.d.ts +3 -0
  69. package/dist/translator/util/binding-has-downstream-expressions.d.ts +2 -0
  70. package/dist/translator/util/entry-builder.d.ts +19 -0
  71. package/dist/translator/util/evaluate.d.ts +11 -0
  72. package/dist/translator/util/for-each-identifier.d.ts +2 -0
  73. package/dist/translator/util/get-defined-binding-expression.d.ts +3 -0
  74. package/dist/translator/util/get-known-attr-values.d.ts +2 -0
  75. package/dist/translator/util/get-parent-tag.d.ts +2 -0
  76. package/dist/translator/util/get-root.d.ts +7 -0
  77. package/dist/translator/util/get-tag-name.d.ts +2 -0
  78. package/dist/translator/util/is-core-tag.d.ts +10 -0
  79. package/dist/translator/util/is-stateful.d.ts +3 -0
  80. package/dist/translator/util/is-static.d.ts +2 -0
  81. package/dist/translator/util/marko-config.d.ts +4 -0
  82. package/dist/translator/util/nested-attribute-tags.d.ts +17 -0
  83. package/dist/translator/util/normalize-string-expression.d.ts +3 -0
  84. package/dist/translator/util/optional.d.ts +20 -0
  85. package/dist/translator/util/plugin-hooks.d.ts +4 -0
  86. package/dist/translator/util/references.d.ts +84 -0
  87. package/dist/translator/util/runtime-info.d.ts +5 -0
  88. package/dist/translator/util/runtime.d.ts +15 -0
  89. package/dist/translator/util/scope-read.d.ts +6 -0
  90. package/dist/translator/util/sections.d.ts +51 -0
  91. package/dist/translator/util/signals.d.ts +61 -0
  92. package/dist/translator/util/simplify-fn.d.ts +5 -0
  93. package/dist/translator/util/state.d.ts +3 -0
  94. package/dist/translator/util/tag-name-type.d.ts +16 -0
  95. package/dist/translator/util/to-first-expression-or-block.d.ts +3 -0
  96. package/dist/translator/util/to-first-statement-or-block.d.ts +2 -0
  97. package/dist/translator/util/to-property-name.d.ts +7 -0
  98. package/dist/translator/util/translate-attrs.d.ts +12 -0
  99. package/dist/translator/util/translate-var.d.ts +2 -0
  100. package/dist/translator/util/traverse.d.ts +9 -0
  101. package/dist/translator/util/visitors.d.ts +11 -0
  102. package/dist/translator/util/walks.d.ts +15 -0
  103. package/dist/translator/util/with-previous-location.d.ts +2 -0
  104. package/dist/translator/util/writer.d.ts +13 -0
  105. package/dist/translator/visitors/cdata.d.ts +7 -0
  106. package/dist/translator/visitors/comment.d.ts +7 -0
  107. package/dist/translator/visitors/declaration.d.ts +7 -0
  108. package/dist/translator/visitors/document-type.d.ts +7 -0
  109. package/dist/translator/visitors/function.d.ts +19 -0
  110. package/dist/translator/visitors/import-declaration.d.ts +8 -0
  111. package/dist/translator/visitors/placeholder.d.ts +22 -0
  112. package/dist/translator/visitors/program/dom.d.ts +7 -0
  113. package/dist/translator/visitors/program/html.d.ts +8 -0
  114. package/dist/translator/visitors/program/index.d.ts +39 -0
  115. package/dist/translator/visitors/referenced-identifier.d.ts +7 -0
  116. package/dist/translator/visitors/scriptlet.d.ts +8 -0
  117. package/dist/translator/visitors/tag/attribute-tag.d.ts +11 -0
  118. package/dist/translator/visitors/tag/custom-tag.d.ts +19 -0
  119. package/dist/translator/visitors/tag/dynamic-tag.d.ts +18 -0
  120. package/dist/translator/visitors/tag/index.d.ts +15 -0
  121. package/dist/translator/visitors/tag/native-tag.d.ts +25 -0
  122. package/dist/translator/visitors/text.d.ts +7 -0
  123. package/package.json +33 -74
  124. package/README.md +0 -161
  125. package/bin/markoc +0 -2
  126. package/bin/markoc.js +0 -441
  127. package/browser-refresh.js +0 -5
  128. package/compiler-browser.marko +0 -15
  129. package/compiler.js +0 -7
  130. package/components-browser.marko +0 -15
  131. package/components.js +0 -7
  132. package/dist/build.json +0 -3
  133. package/dist/compiler/config.js +0 -45
  134. package/dist/compiler/index.js +0 -164
  135. package/dist/compiler/modules.js +0 -5
  136. package/dist/core-tags/components/init-components-tag.js +0 -54
  137. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  138. package/dist/core-tags/components/preserve-tag.js +0 -1
  139. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  140. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  141. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  142. package/dist/core-tags/core/await/index.d.marko +0 -10
  143. package/dist/core-tags/core/await/renderer.js +0 -249
  144. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  145. package/dist/index.js +0 -4
  146. package/dist/node-require/browser-refresh.js +0 -18
  147. package/dist/node-require/hot-reload.js +0 -45
  148. package/dist/node-require/index.js +0 -103
  149. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  150. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  151. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  152. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  153. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  154. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  155. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  156. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  157. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  158. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  159. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  160. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  161. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  162. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  163. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  164. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  165. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  166. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  167. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  168. package/dist/node_modules/@internal/components-util/index.js +0 -75
  169. package/dist/node_modules/@internal/components-util/package.json +0 -11
  170. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  171. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  172. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  173. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  174. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  175. package/dist/node_modules/@internal/loader/index.js +0 -23
  176. package/dist/node_modules/@internal/loader/package.json +0 -10
  177. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  178. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  179. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  180. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  181. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  182. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  183. package/dist/node_modules/@internal/require/index.js +0 -15
  184. package/dist/node_modules/@internal/require/package.json +0 -11
  185. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  186. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  187. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  188. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  189. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  190. package/dist/runtime/RenderResult.js +0 -112
  191. package/dist/runtime/components/Component.js +0 -663
  192. package/dist/runtime/components/ComponentDef.js +0 -169
  193. package/dist/runtime/components/ComponentsContext.js +0 -59
  194. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  195. package/dist/runtime/components/KeySequence.js +0 -16
  196. package/dist/runtime/components/ServerComponent.js +0 -73
  197. package/dist/runtime/components/State.js +0 -101
  198. package/dist/runtime/components/attach-detach.js +0 -60
  199. package/dist/runtime/components/defineComponent.js +0 -60
  200. package/dist/runtime/components/dom-data.js +0 -8
  201. package/dist/runtime/components/event-delegation.js +0 -144
  202. package/dist/runtime/components/index.js +0 -1
  203. package/dist/runtime/components/legacy/browser.json +0 -9
  204. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  205. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  206. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  207. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  208. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  209. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  210. package/dist/runtime/components/legacy/index.js +0 -1
  211. package/dist/runtime/components/legacy/jquery.js +0 -52
  212. package/dist/runtime/components/legacy/ready.js +0 -152
  213. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  214. package/dist/runtime/components/registry.js +0 -1
  215. package/dist/runtime/components/renderer.js +0 -236
  216. package/dist/runtime/components/update-manager.js +0 -94
  217. package/dist/runtime/createOut.js +0 -13
  218. package/dist/runtime/dom-insert.js +0 -77
  219. package/dist/runtime/events.js +0 -2
  220. package/dist/runtime/helpers/_change-case.js +0 -45
  221. package/dist/runtime/helpers/assign.js +0 -21
  222. package/dist/runtime/helpers/attr-tag.js +0 -43
  223. package/dist/runtime/helpers/class-value.js +0 -30
  224. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  225. package/dist/runtime/helpers/empty-component.js +0 -1
  226. package/dist/runtime/helpers/merge.js +0 -13
  227. package/dist/runtime/helpers/of-fallback.js +0 -4
  228. package/dist/runtime/helpers/render-tag.js +0 -20
  229. package/dist/runtime/helpers/serialize-noop.js +0 -5
  230. package/dist/runtime/helpers/style-value.js +0 -45
  231. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  232. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  233. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  234. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  235. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  236. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  237. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  238. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  239. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  240. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  241. package/dist/runtime/helpers/to-string.js +0 -5
  242. package/dist/runtime/html/AsyncStream.js +0 -805
  243. package/dist/runtime/html/BufferedWriter.js +0 -52
  244. package/dist/runtime/html/StringWriter.js +0 -73
  245. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  246. package/dist/runtime/html/helpers/attr.js +0 -80
  247. package/dist/runtime/html/helpers/attrs.js +0 -26
  248. package/dist/runtime/html/helpers/class-attr.js +0 -8
  249. package/dist/runtime/html/helpers/data-marko.js +0 -36
  250. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  251. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  252. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  253. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  254. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  255. package/dist/runtime/html/helpers/props-script.js +0 -32
  256. package/dist/runtime/html/helpers/style-attr.js +0 -8
  257. package/dist/runtime/html/hot-reload.js +0 -26
  258. package/dist/runtime/html/index.js +0 -33
  259. package/dist/runtime/html/marko-namespace.js +0 -3
  260. package/dist/runtime/renderable.js +0 -194
  261. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  262. package/dist/runtime/vdom/VComment.js +0 -24
  263. package/dist/runtime/vdom/VComponent.js +0 -17
  264. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  265. package/dist/runtime/vdom/VElement.js +0 -375
  266. package/dist/runtime/vdom/VFragment.js +0 -26
  267. package/dist/runtime/vdom/VNode.js +0 -100
  268. package/dist/runtime/vdom/VText.js +0 -25
  269. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  270. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  271. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  272. package/dist/runtime/vdom/hot-reload.js +0 -115
  273. package/dist/runtime/vdom/index.js +0 -30
  274. package/dist/runtime/vdom/is-text-only.js +0 -10
  275. package/dist/runtime/vdom/marko-namespace.js +0 -3
  276. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  277. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  278. package/dist/runtime/vdom/morphdom/index.js +0 -741
  279. package/dist/runtime/vdom/parse-html.js +0 -18
  280. package/dist/runtime/vdom/vdom.js +0 -88
  281. package/dist/taglib/index.js +0 -51
  282. package/dist/translator/cdata/index.js +0 -15
  283. package/dist/translator/cdata/index[html].js +0 -15
  284. package/dist/translator/cdata/index[vdom].js +0 -12
  285. package/dist/translator/class.js +0 -65
  286. package/dist/translator/comment/index.js +0 -15
  287. package/dist/translator/comment/index[html].js +0 -17
  288. package/dist/translator/comment/index[vdom].js +0 -3
  289. package/dist/translator/declaration/index.js +0 -15
  290. package/dist/translator/declaration/index[html].js +0 -12
  291. package/dist/translator/declaration/index[vdom].js +0 -3
  292. package/dist/translator/document-type/index.js +0 -15
  293. package/dist/translator/document-type/index[html].js +0 -12
  294. package/dist/translator/document-type/index[vdom].js +0 -3
  295. package/dist/translator/placeholder/index.js +0 -15
  296. package/dist/translator/placeholder/index[html].js +0 -93
  297. package/dist/translator/placeholder/index[vdom].js +0 -22
  298. package/dist/translator/scriptlet.js +0 -4
  299. package/dist/translator/tag/attribute/directives/class.js +0 -42
  300. package/dist/translator/tag/attribute/directives/index.js +0 -15
  301. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  302. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  303. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  304. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  305. package/dist/translator/tag/attribute/directives/style.js +0 -42
  306. package/dist/translator/tag/attribute/index.js +0 -150
  307. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  308. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  309. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  310. package/dist/translator/tag/attribute-tag.js +0 -149
  311. package/dist/translator/tag/custom-tag.js +0 -146
  312. package/dist/translator/tag/dynamic-tag.js +0 -74
  313. package/dist/translator/tag/index.js +0 -287
  314. package/dist/translator/tag/macro-tag.js +0 -7
  315. package/dist/translator/tag/native-tag.js +0 -27
  316. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  317. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  318. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  319. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  320. package/dist/translator/tag/util.js +0 -246
  321. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  322. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  323. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  324. package/dist/translator/taglib/core/conditional/util.js +0 -41
  325. package/dist/translator/taglib/core/index.js +0 -474
  326. package/dist/translator/taglib/core/macro/parse.js +0 -17
  327. package/dist/translator/taglib/core/macro/translate.js +0 -48
  328. package/dist/translator/taglib/core/parse-class.js +0 -79
  329. package/dist/translator/taglib/core/parse-export.js +0 -14
  330. package/dist/translator/taglib/core/parse-import.js +0 -14
  331. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  332. package/dist/translator/taglib/core/parse-static.js +0 -18
  333. package/dist/translator/taglib/core/transform-style.js +0 -66
  334. package/dist/translator/taglib/core/translate-await.js +0 -41
  335. package/dist/translator/taglib/core/translate-body.js +0 -17
  336. package/dist/translator/taglib/core/translate-for.js +0 -156
  337. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  338. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  339. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  340. package/dist/translator/taglib/core/translate-while.js +0 -32
  341. package/dist/translator/taglib/index.js +0 -6
  342. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  343. package/dist/translator/taglib/migrate/index.js +0 -5
  344. package/dist/translator/text/index.js +0 -10
  345. package/dist/translator/text/index[html].js +0 -12
  346. package/dist/translator/text/index[vdom].js +0 -20
  347. package/dist/translator/util/add-dependencies.js +0 -329
  348. package/dist/translator/util/escape-regexp.js +0 -4
  349. package/dist/translator/util/get-component-files.js +0 -86
  350. package/dist/translator/util/html-out-write.js +0 -15
  351. package/dist/translator/util/key-manager.js +0 -176
  352. package/dist/translator/util/optimize-html-writes.js +0 -52
  353. package/dist/translator/util/optimize-vdom-create.js +0 -164
  354. package/dist/translator/util/plugin-hooks.js +0 -22
  355. package/dist/translator/util/runtime-flags.js +0 -3
  356. package/dist/translator/util/vdom-out-write.js +0 -10
  357. package/dist/translator/util/with-previous-location.js +0 -6
  358. package/docs/10-awesome-marko-features.md +0 -291
  359. package/docs/body-content.md +0 -355
  360. package/docs/class-components.md +0 -1001
  361. package/docs/cloudflare-workers.md +0 -32
  362. package/docs/compiler-hooks.png +0 -0
  363. package/docs/compiler.md +0 -473
  364. package/docs/component-diagram.afdesign +0 -0
  365. package/docs/component-diagram.svg +0 -87
  366. package/docs/concise.md +0 -141
  367. package/docs/conditionals-and-lists.md +0 -72
  368. package/docs/core-tags.md +0 -325
  369. package/docs/custom-tags.md +0 -201
  370. package/docs/editor-plugins.md +0 -45
  371. package/docs/events.md +0 -131
  372. package/docs/express.md +0 -66
  373. package/docs/fastify.md +0 -65
  374. package/docs/getting-started.md +0 -95
  375. package/docs/http.md +0 -34
  376. package/docs/icons/js.svg +0 -4
  377. package/docs/icons/marko.svg +0 -1
  378. package/docs/icons/ts.svg +0 -1
  379. package/docs/installing.md +0 -51
  380. package/docs/koa.md +0 -35
  381. package/docs/lasso.md +0 -196
  382. package/docs/marko-5-upgrade.md +0 -59
  383. package/docs/marko-json.md +0 -248
  384. package/docs/marko-vs-react.md +0 -854
  385. package/docs/redux.md +0 -61
  386. package/docs/rendering.md +0 -268
  387. package/docs/rollup.md +0 -352
  388. package/docs/state.md +0 -105
  389. package/docs/structure.json +0 -49
  390. package/docs/styles.md +0 -29
  391. package/docs/syntax.md +0 -601
  392. package/docs/troubleshooting-streaming.md +0 -68
  393. package/docs/typescript.md +0 -406
  394. package/docs/vite.md +0 -86
  395. package/docs/webpack.md +0 -205
  396. package/docs/why-is-marko-fast.md +0 -239
  397. package/env.js +0 -7
  398. package/helpers/README.md +0 -3
  399. package/helpers/empty.js +0 -4
  400. package/helpers/notEmpty.js +0 -11
  401. package/index-browser.marko +0 -15
  402. package/index.d.ts +0 -375
  403. package/index.js +0 -7
  404. package/legacy-components-browser.marko +0 -15
  405. package/legacy-components.js +0 -7
  406. package/node-require.js +0 -8
  407. package/src/build.json +0 -3
  408. package/src/compiler/config.js +0 -45
  409. package/src/compiler/index.js +0 -164
  410. package/src/compiler/modules.js +0 -5
  411. package/src/core-tags/.eslintrc +0 -5
  412. package/src/core-tags/components/init-components-tag.js +0 -54
  413. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  414. package/src/core-tags/components/preserve-tag.js +0 -1
  415. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  416. package/src/core-tags/core/await/AsyncValue.js +0 -121
  417. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  418. package/src/core-tags/core/await/index.d.marko +0 -10
  419. package/src/core-tags/core/await/renderer.js +0 -249
  420. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  421. package/src/index.js +0 -4
  422. package/src/node-require/browser-refresh.js +0 -18
  423. package/src/node-require/hot-reload.js +0 -45
  424. package/src/node-require/index.js +0 -103
  425. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  426. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  427. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  428. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  429. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  430. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  431. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  432. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  433. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  434. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  435. package/src/node_modules/@internal/components-entry/index.js +0 -301
  436. package/src/node_modules/@internal/components-entry/package.json +0 -11
  437. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  438. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  439. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  440. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  441. package/src/node_modules/@internal/components-registry/index.js +0 -44
  442. package/src/node_modules/@internal/components-registry/package.json +0 -11
  443. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  444. package/src/node_modules/@internal/components-util/index.js +0 -75
  445. package/src/node_modules/@internal/components-util/package.json +0 -11
  446. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  447. package/src/node_modules/@internal/create-readable/index.js +0 -57
  448. package/src/node_modules/@internal/create-readable/package.json +0 -11
  449. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  450. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  451. package/src/node_modules/@internal/loader/index.js +0 -23
  452. package/src/node_modules/@internal/loader/package.json +0 -10
  453. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  454. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  455. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  456. package/src/node_modules/@internal/require/index-browser.js +0 -15
  457. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  458. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  459. package/src/node_modules/@internal/require/index.js +0 -15
  460. package/src/node_modules/@internal/require/package.json +0 -11
  461. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  462. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  463. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  464. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  465. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  466. package/src/runtime/.eslintrc +0 -5
  467. package/src/runtime/RenderResult.js +0 -112
  468. package/src/runtime/components/Component.js +0 -663
  469. package/src/runtime/components/ComponentDef.js +0 -169
  470. package/src/runtime/components/ComponentsContext.js +0 -59
  471. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  472. package/src/runtime/components/KeySequence.js +0 -16
  473. package/src/runtime/components/ServerComponent.js +0 -73
  474. package/src/runtime/components/State.js +0 -101
  475. package/src/runtime/components/attach-detach.js +0 -60
  476. package/src/runtime/components/defineComponent.js +0 -60
  477. package/src/runtime/components/dom-data.js +0 -8
  478. package/src/runtime/components/event-delegation.js +0 -144
  479. package/src/runtime/components/index.js +0 -1
  480. package/src/runtime/components/legacy/browser.json +0 -9
  481. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  482. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  483. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  484. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  485. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  486. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  487. package/src/runtime/components/legacy/index.js +0 -1
  488. package/src/runtime/components/legacy/jquery.js +0 -52
  489. package/src/runtime/components/legacy/ready.js +0 -152
  490. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  491. package/src/runtime/components/registry.js +0 -1
  492. package/src/runtime/components/renderer.js +0 -236
  493. package/src/runtime/components/update-manager.js +0 -94
  494. package/src/runtime/createOut.js +0 -13
  495. package/src/runtime/dom-insert.js +0 -77
  496. package/src/runtime/events.js +0 -2
  497. package/src/runtime/helpers/_change-case.js +0 -45
  498. package/src/runtime/helpers/assign.js +0 -21
  499. package/src/runtime/helpers/attr-tag.js +0 -43
  500. package/src/runtime/helpers/class-value.js +0 -30
  501. package/src/runtime/helpers/dynamic-tag.js +0 -181
  502. package/src/runtime/helpers/empty-component.js +0 -1
  503. package/src/runtime/helpers/merge.js +0 -13
  504. package/src/runtime/helpers/of-fallback.js +0 -4
  505. package/src/runtime/helpers/render-tag.js +0 -20
  506. package/src/runtime/helpers/serialize-noop.js +0 -5
  507. package/src/runtime/helpers/style-value.js +0 -45
  508. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  509. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  510. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  511. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  512. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  513. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  514. package/src/runtime/helpers/tags-compat/html.js +0 -3
  515. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  516. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  517. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  518. package/src/runtime/helpers/to-string.js +0 -5
  519. package/src/runtime/html/AsyncStream.js +0 -805
  520. package/src/runtime/html/BufferedWriter.js +0 -52
  521. package/src/runtime/html/StringWriter.js +0 -73
  522. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  523. package/src/runtime/html/helpers/attr.js +0 -80
  524. package/src/runtime/html/helpers/attrs.js +0 -26
  525. package/src/runtime/html/helpers/class-attr.js +0 -8
  526. package/src/runtime/html/helpers/data-marko.js +0 -36
  527. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  528. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  529. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  530. package/src/runtime/html/helpers/escape-xml.js +0 -21
  531. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  532. package/src/runtime/html/helpers/props-script.js +0 -32
  533. package/src/runtime/html/helpers/style-attr.js +0 -8
  534. package/src/runtime/html/hot-reload.js +0 -26
  535. package/src/runtime/html/index.js +0 -33
  536. package/src/runtime/html/marko-namespace.js +0 -3
  537. package/src/runtime/renderable.js +0 -194
  538. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  539. package/src/runtime/vdom/VComment.js +0 -24
  540. package/src/runtime/vdom/VComponent.js +0 -17
  541. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  542. package/src/runtime/vdom/VElement.js +0 -375
  543. package/src/runtime/vdom/VFragment.js +0 -26
  544. package/src/runtime/vdom/VNode.js +0 -100
  545. package/src/runtime/vdom/VText.js +0 -25
  546. package/src/runtime/vdom/helpers/attrs.js +0 -62
  547. package/src/runtime/vdom/helpers/const-element.js +0 -25
  548. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  549. package/src/runtime/vdom/hot-reload.js +0 -115
  550. package/src/runtime/vdom/index.js +0 -30
  551. package/src/runtime/vdom/is-text-only.js +0 -10
  552. package/src/runtime/vdom/marko-namespace.js +0 -3
  553. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  554. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  555. package/src/runtime/vdom/morphdom/index.js +0 -741
  556. package/src/runtime/vdom/parse-html.js +0 -18
  557. package/src/runtime/vdom/vdom.js +0 -88
  558. package/src/taglib/index.js +0 -51
  559. package/src/translator/cdata/index.js +0 -15
  560. package/src/translator/cdata/index[html].js +0 -15
  561. package/src/translator/cdata/index[vdom].js +0 -12
  562. package/src/translator/class.js +0 -65
  563. package/src/translator/comment/index.js +0 -15
  564. package/src/translator/comment/index[html].js +0 -17
  565. package/src/translator/comment/index[vdom].js +0 -3
  566. package/src/translator/declaration/index.js +0 -15
  567. package/src/translator/declaration/index[html].js +0 -12
  568. package/src/translator/declaration/index[vdom].js +0 -3
  569. package/src/translator/document-type/index.js +0 -15
  570. package/src/translator/document-type/index[html].js +0 -12
  571. package/src/translator/document-type/index[vdom].js +0 -3
  572. package/src/translator/index.js +0 -551
  573. package/src/translator/placeholder/index.js +0 -15
  574. package/src/translator/placeholder/index[html].js +0 -93
  575. package/src/translator/placeholder/index[vdom].js +0 -22
  576. package/src/translator/scriptlet.js +0 -4
  577. package/src/translator/tag/attribute/directives/class.js +0 -42
  578. package/src/translator/tag/attribute/directives/index.js +0 -15
  579. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  580. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  581. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  582. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  583. package/src/translator/tag/attribute/directives/style.js +0 -42
  584. package/src/translator/tag/attribute/index.js +0 -150
  585. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  586. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  587. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  588. package/src/translator/tag/attribute-tag.js +0 -149
  589. package/src/translator/tag/custom-tag.js +0 -146
  590. package/src/translator/tag/dynamic-tag.js +0 -74
  591. package/src/translator/tag/index.js +0 -287
  592. package/src/translator/tag/macro-tag.js +0 -7
  593. package/src/translator/tag/native-tag.js +0 -27
  594. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  595. package/src/translator/tag/native-tag[html]/index.js +0 -221
  596. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  597. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  598. package/src/translator/tag/util.js +0 -246
  599. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  600. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  601. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  602. package/src/translator/taglib/core/conditional/util.js +0 -41
  603. package/src/translator/taglib/core/index.js +0 -474
  604. package/src/translator/taglib/core/macro/parse.js +0 -17
  605. package/src/translator/taglib/core/macro/translate.js +0 -48
  606. package/src/translator/taglib/core/parse-class.js +0 -79
  607. package/src/translator/taglib/core/parse-export.js +0 -14
  608. package/src/translator/taglib/core/parse-import.js +0 -14
  609. package/src/translator/taglib/core/parse-module-code.js +0 -18
  610. package/src/translator/taglib/core/parse-static.js +0 -18
  611. package/src/translator/taglib/core/transform-style.js +0 -66
  612. package/src/translator/taglib/core/translate-await.js +0 -41
  613. package/src/translator/taglib/core/translate-body.js +0 -17
  614. package/src/translator/taglib/core/translate-for.js +0 -156
  615. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  616. package/src/translator/taglib/core/translate-include-content.js +0 -53
  617. package/src/translator/taglib/core/translate-server-only.js +0 -5
  618. package/src/translator/taglib/core/translate-while.js +0 -32
  619. package/src/translator/taglib/index.js +0 -7
  620. package/src/translator/taglib/migrate/all-templates.js +0 -46
  621. package/src/translator/taglib/migrate/index.js +0 -5
  622. package/src/translator/text/index.js +0 -10
  623. package/src/translator/text/index[html].js +0 -12
  624. package/src/translator/text/index[vdom].js +0 -20
  625. package/src/translator/util/add-dependencies.js +0 -329
  626. package/src/translator/util/escape-regexp.js +0 -4
  627. package/src/translator/util/get-component-files.js +0 -86
  628. package/src/translator/util/html-out-write.js +0 -15
  629. package/src/translator/util/key-manager.js +0 -176
  630. package/src/translator/util/optimize-html-writes.js +0 -52
  631. package/src/translator/util/optimize-vdom-create.js +0 -164
  632. package/src/translator/util/plugin-hooks.js +0 -22
  633. package/src/translator/util/runtime-flags.js +0 -3
  634. package/src/translator/util/vdom-out-write.js +0 -10
  635. package/src/translator/util/with-previous-location.js +0 -6
  636. package/tags-html.d.ts +0 -3855
  637. package/translator/index.d.ts +0 -7
  638. package/translator/package.json +0 -5
@@ -1,231 +0,0 @@
1
- "use strict";var beginComponent = require("@internal/components-beginComponent");
2
- var endComponent = require("@internal/components-endComponent");
3
- var registry = require("@internal/components-registry");
4
- var componentsUtil = require("@internal/components-util");
5
- var getComponentsContext =
6
- require("../ComponentsContext").___getComponentsContext;
7
- var componentLookup = componentsUtil.___componentLookup;
8
- var modernRenderer = require("../renderer");
9
- var resolveComponentKey = modernRenderer.___resolveComponentKey;
10
- var trackAsyncComponents = modernRenderer.___trackAsyncComponents;
11
- // eslint-disable-next-line no-constant-binary-expression
12
- var complain = "MARKO_DEBUG" && require("complain");
13
-
14
- function createRendererFunc(templateRenderFunc, componentProps) {
15
- var typeName = componentProps.t;
16
- //var assignedId = componentProps.id;
17
- var isSplit = componentProps.s === true;
18
- var isImplicit = componentProps.i === true;
19
-
20
- return function renderer(input, out, assignedId, renderingLogic) {
21
- trackAsyncComponents(out);
22
-
23
- var componentsContext = getComponentsContext(out);
24
- var parentLegacyComponentDef = componentsContext.___legacyComponentDef;
25
-
26
- if (isImplicit && parentLegacyComponentDef) {
27
- templateRenderFunc(
28
- input,
29
- out,
30
- parentLegacyComponentDef,
31
- parentLegacyComponentDef.___component,
32
- parentLegacyComponentDef.___component.___rawState,
33
- out.global
34
- );
35
- return;
36
- }
37
-
38
- var widgetBody = input.renderBody;
39
- var widgetState = input.widgetState;
40
- var widgetConfig = input.widgetConfig;
41
- var globalComponentsContext = componentsContext.___globalContext;
42
- var component = globalComponentsContext.___rerenderComponent;
43
-
44
- var isRerender = component !== undefined;
45
- var id = assignedId;
46
- var isExisting;
47
- var parentComponentDef = componentsContext.___componentDef;
48
- var ownerComponentDef = out.___assignedComponentDef;
49
- var ownerComponentId = ownerComponentDef && ownerComponentDef.id;
50
- var key = out.___assignedKey;
51
- var customEvents = out.___assignedCustomEvents;
52
-
53
- out.___assignedComponentDef = null;
54
-
55
- if (component) {
56
- id = component.id;
57
- isExisting = true;
58
- globalComponentsContext.___rerenderComponent = null;
59
- } else {
60
- if (key != null) {
61
- id = id || resolveComponentKey(key.toString(), parentComponentDef);
62
- } else if (parentComponentDef) {
63
- id = parentComponentDef.___nextComponentId();
64
- } else {
65
- id = globalComponentsContext.___nextComponentId();
66
- }
67
- }
68
-
69
- if (registry.___isServer && typeName) {
70
- if (renderingLogic) delete renderingLogic.onRender;
71
- component = registry.___createComponent(
72
- renderingLogic,
73
- id,
74
- input,
75
- out,
76
- typeName,
77
- customEvents,
78
- ownerComponentId
79
- );
80
- if (isSplit || widgetState) {
81
- component.input = null;
82
- } else if (input.widgetProps) {
83
- // eslint-disable-next-line no-constant-condition
84
- if ("MARKO_DEBUG") {
85
- complain(
86
- "Possible performance impact: this widget does not contain state, but is marked as a stateful widget. This will result in additional hydration data serialized. In order for marko to identify this as a split widget, w-bind should use a widget.js with defineWidget rather than index.js with defineComponent.",
87
- { location: typeName, level: 1 }
88
- );
89
- }
90
- component.input = input.widgetProps;
91
- }
92
- } else {
93
- if (!component) {
94
- if (isRerender) {
95
- // Look in in the DOM to see if a component with the same ID and type already exists.
96
- component = componentLookup[id];
97
- if (component && component.___type !== typeName) {
98
- component = undefined;
99
- }
100
- }
101
-
102
- if (component) {
103
- isExisting = true;
104
- } else {
105
- isExisting = false;
106
- // We need to create a new instance of the component
107
- if (typeName) {
108
- component = registry.___createComponent(typeName, id);
109
- }
110
- }
111
- }
112
- }
113
-
114
- var isFakeComponent = false;
115
-
116
- if (!component) {
117
- isFakeComponent = true;
118
- component = {
119
- id: id,
120
- ___keyedElements: {}
121
- };
122
- } else {
123
- component.___updateQueued = true;
124
-
125
- if (widgetState) {
126
- component.state = widgetState;
127
- }
128
- }
129
-
130
- component.widgetConfig = widgetConfig;
131
- component.___widgetBody = widgetBody || component.___widgetBody;
132
-
133
- var componentDef = beginComponent(
134
- componentsContext,
135
- component,
136
- key,
137
- ownerComponentDef,
138
- isSplit,
139
- isFakeComponent
140
- );
141
- componentsContext.___legacyComponentDef = componentDef;
142
-
143
- // This is a hack, but we have to swap out the component instance stored with this node
144
- var vComponentNode = out.___parent;
145
-
146
- componentDef.___component = isFakeComponent ? null : component;
147
- componentDef.___isExisting = isExisting;
148
- componentDef.___isLegacy = true;
149
-
150
- componentDef.t = function (typeName) {
151
- if (typeName) {
152
- if (registry.___isServer) {
153
- var oldComponent = component;
154
- if (renderingLogic) delete renderingLogic.onRender;
155
- component = registry.___createComponent(
156
- renderingLogic || {},
157
- id,
158
- input,
159
- out,
160
- typeName,
161
- customEvents,
162
- ownerComponentId
163
- );
164
- if (isSplit || widgetState) {
165
- component.input = null;
166
- } else if (input.widgetProps) {
167
- // eslint-disable-next-line no-constant-condition
168
- if ("MARKO_DEBUG") {
169
- complain(
170
- "Possible performance impact: this widget does not contain state, but is marked as a stateful widget. This will result in additional hydration data serialized. In order for marko to identify this as a split widget, w-bind should use a widget.js with defineWidget rather than index.js with defineComponent.",
171
- { location: typeName, level: 1 }
172
- );
173
- }
174
- component.input = input.widgetProps;
175
- }
176
- Object.assign(component, oldComponent);
177
- beginComponent(
178
- componentsContext,
179
- component,
180
- key,
181
- ownerComponentDef,
182
- isSplit,
183
- false,
184
- this
185
- );
186
- } else {
187
- vComponentNode.___component = component = registry.___createComponent(
188
- typeName,
189
- component.id
190
- );
191
- }
192
- this.___component = component;
193
- }
194
-
195
- return component;
196
- };
197
-
198
- if (!registry.___isServer) {
199
- component.___legacyRender && component.___legacyRender();
200
- }
201
-
202
- // Render the template associated with the component using the final template
203
- // data that we constructed
204
- templateRenderFunc(
205
- input,
206
- out,
207
- componentDef,
208
- component,
209
- component.___rawState,
210
- out.global
211
- );
212
-
213
- if (customEvents && componentDef.___component) {
214
- if (registry.___isServer) {
215
- componentDef.___customEvents = customEvents;
216
- componentDef.___scope = ownerComponentId;
217
- } else {
218
- componentDef.___component.___setCustomEvents(
219
- customEvents,
220
- ownerComponentId
221
- );
222
- }
223
- }
224
-
225
- endComponent(out, componentDef);
226
- componentsContext.___componentDef = parentComponentDef;
227
- componentsContext.___legacyComponentDef = parentLegacyComponentDef;
228
- };
229
- }
230
-
231
- module.exports = createRendererFunc;
@@ -1 +0,0 @@
1
- "use strict";module.exports = require("@internal/components-registry");
@@ -1,236 +0,0 @@
1
- "use strict";var copyProps = require("raptor-util/copyProps");
2
- var beginComponent = require("@internal/components-beginComponent");
3
- var endComponent = require("@internal/components-endComponent");
4
- var registry = require("@internal/components-registry");
5
- var componentsUtil = require("@internal/components-util");
6
- var componentLookup = componentsUtil.___componentLookup;
7
-
8
- var ComponentsContext = require("./ComponentsContext");
9
- var getComponentsContext = ComponentsContext.___getComponentsContext;
10
- var isServer = componentsUtil.___isServer === true;
11
-
12
- var COMPONENT_BEGIN_ASYNC_ADDED_KEY = "$wa";
13
-
14
- function resolveComponentKey(key, parentComponentDef) {
15
- if (key[0] === "#") {
16
- return key.substring(1);
17
- } else {
18
- return parentComponentDef.id + "-" + parentComponentDef.___nextKey(key);
19
- }
20
- }
21
-
22
- function trackAsyncComponents(out) {
23
- if (out.isSync() || out.global[COMPONENT_BEGIN_ASYNC_ADDED_KEY]) {
24
- return;
25
- }
26
-
27
- out.on("beginAsync", handleBeginAsync);
28
- out.on("beginDetachedAsync", handleBeginDetachedAsync);
29
- out.global[COMPONENT_BEGIN_ASYNC_ADDED_KEY] = true;
30
- }
31
-
32
- function handleBeginAsync(event) {
33
- var parentOut = event.parentOut;
34
- var asyncOut = event.out;
35
- var componentsContext = parentOut.___components;
36
-
37
- if (componentsContext !== undefined) {
38
- // We are going to start a nested ComponentsContext
39
- asyncOut.___components = new ComponentsContext(asyncOut, componentsContext);
40
- }
41
- // Carry along the component arguments
42
- asyncOut.c(
43
- parentOut.___assignedComponentDef,
44
- parentOut.___assignedKey,
45
- parentOut.___assignedCustomEvents
46
- );
47
- }
48
-
49
- function handleBeginDetachedAsync(event) {
50
- var asyncOut = event.out;
51
- handleBeginAsync(event);
52
- asyncOut.on("beginAsync", handleBeginAsync);
53
- asyncOut.on("beginDetachedAsync", handleBeginDetachedAsync);
54
- }
55
-
56
- function createRendererFunc(
57
- templateRenderFunc,
58
- componentProps,
59
- renderingLogic)
60
- {
61
- var onInput = renderingLogic && renderingLogic.onInput;
62
- var typeName = componentProps.t;
63
- var isSplit = componentProps.s === true;
64
- var isImplicitComponent = componentProps.i === true;
65
-
66
- var shouldApplySplitMixins = renderingLogic && isSplit;
67
-
68
- // eslint-disable-next-line no-constant-condition
69
- if ("MARKO_DEBUG") {
70
- if (!componentProps.d) {
71
- throw new Error(
72
- "Component was compiled in a different NODE_ENV than the Marko runtime is using."
73
- );
74
- }
75
- } else if (componentProps.d) {
76
- throw new Error("Runtime/NODE_ENV Mismatch");
77
- }
78
-
79
- return function renderer(input, out) {
80
- trackAsyncComponents(out);
81
-
82
- var componentsContext = getComponentsContext(out);
83
- var globalComponentsContext = componentsContext.___globalContext;
84
-
85
- var component = globalComponentsContext.___rerenderComponent;
86
- var isRerender = component !== undefined;
87
- var id;
88
- var isExisting;
89
- var customEvents;
90
- var parentComponentDef = componentsContext.___componentDef;
91
- var ownerComponentDef = out.___assignedComponentDef;
92
- var ownerComponentId = ownerComponentDef && ownerComponentDef.id;
93
- var key = out.___assignedKey;
94
-
95
- if (component) {
96
- // If component is provided then we are currently rendering
97
- // the top-level UI component as part of a re-render
98
- id = component.id; // We will use the ID of the component being re-rendered
99
- isExisting = true; // This is a re-render so we know the component is already in the DOM
100
- globalComponentsContext.___rerenderComponent = null;
101
- } else {
102
- // Otherwise, we are rendering a nested UI component. We will need
103
- // to match up the UI component with the component already in the
104
- // DOM (if any) so we will need to resolve the component ID from
105
- // the assigned key. We also need to handle any custom event bindings
106
- // that were provided.
107
- if (parentComponentDef) {
108
- // console.log('componentArgs:', componentArgs);
109
- customEvents = out.___assignedCustomEvents;
110
-
111
- if (key != null) {
112
- id = resolveComponentKey(key.toString(), parentComponentDef);
113
- } else {
114
- id = parentComponentDef.___nextComponentId();
115
- }
116
- } else {
117
- id = globalComponentsContext.___nextComponentId();
118
- }
119
- }
120
-
121
- if (isServer) {
122
- // If we are rendering on the server then things are simplier since
123
- // we don't need to match up the UI component with a previously
124
- // rendered component already mounted to the DOM. We also create
125
- // a lightweight ServerComponent
126
- component = registry.___createComponent(
127
- renderingLogic,
128
- id,
129
- input,
130
- out,
131
- typeName,
132
- customEvents,
133
- ownerComponentId
134
- );
135
-
136
- // This is the final input after running the lifecycle methods.
137
- // We will be passing the input to the template for the `input` param
138
- input = component.___updatedInput;
139
- } else {
140
- if (!component) {
141
- if (
142
- isRerender && (
143
- component = componentLookup[id]) &&
144
- component.___type !== typeName)
145
- {
146
- // Destroy the existing component since
147
- component.destroy();
148
- component = undefined;
149
- }
150
-
151
- if (component) {
152
- isExisting = true;
153
- } else {
154
- isExisting = false;
155
- // We need to create a new instance of the component
156
- component = registry.___createComponent(typeName, id);
157
-
158
- if (shouldApplySplitMixins === true) {
159
- shouldApplySplitMixins = false;
160
-
161
- var renderingLogicProps =
162
- typeof renderingLogic == "function" ?
163
- renderingLogic.prototype :
164
- renderingLogic;
165
-
166
- copyProps(renderingLogicProps, component.constructor.prototype);
167
- }
168
- }
169
-
170
- // Set this flag to prevent the component from being queued for update
171
- // based on the new input. The component is about to be rerendered
172
- // so we don't want to queue it up as a result of calling `setInput()`
173
- component.___updateQueued = true;
174
-
175
- if (customEvents) {
176
- component.___setCustomEvents(customEvents, ownerComponentId);
177
- }
178
-
179
- if (isExisting === false) {
180
- component.___emitCreate(input, out);
181
- }
182
-
183
- input = component.___setInput(input, onInput, out);
184
-
185
- if (isExisting === true) {
186
- if (
187
- component.___isDirty === false ||
188
- component.shouldUpdate(input, component.___state) === false)
189
- {
190
- // We put a placeholder element in the output stream to ensure that the existing
191
- // DOM node is matched up correctly when using morphdom. We flag the VElement
192
- // node to track that it is a preserve marker
193
- out.___preserveComponent(component);
194
- globalComponentsContext.___renderedComponentsById[id] = true;
195
- component.___reset(); // The component is no longer dirty so reset internal flags
196
- return;
197
- }
198
- }
199
- }
200
-
201
- component.___global = out.global;
202
- component.___emitRender(out);
203
- }
204
-
205
- var componentDef = beginComponent(
206
- componentsContext,
207
- component,
208
- key,
209
- ownerComponentDef,
210
- isSplit,
211
- isImplicitComponent
212
- );
213
-
214
- componentDef.___isExisting = isExisting;
215
-
216
- // Render the template associated with the component using the final template
217
- // data that we constructed
218
- templateRenderFunc(
219
- input,
220
- out,
221
- componentDef,
222
- component,
223
- component.___rawState,
224
- out.global
225
- );
226
-
227
- endComponent(out, componentDef);
228
- componentsContext.___componentDef = parentComponentDef;
229
- };
230
- }
231
-
232
- module.exports = createRendererFunc;
233
-
234
- // exports used by the legacy renderer
235
- createRendererFunc.___resolveComponentKey = resolveComponentKey;
236
- createRendererFunc.___trackAsyncComponents = trackAsyncComponents;
@@ -1,94 +0,0 @@
1
- "use strict";
2
-
3
- var updatesScheduled = false;
4
- var batchStack = []; // A stack of batched updates
5
- var unbatchedQueue = []; // Used for scheduled batched updates
6
-
7
- var setImmediate = require("@internal/set-immediate").___setImmediate;
8
-
9
- /**
10
- * This function is called when we schedule the update of "unbatched"
11
- * updates to components.
12
- */
13
- function updateUnbatchedComponents() {
14
- if (unbatchedQueue.length) {
15
- try {
16
- updateComponents(unbatchedQueue);
17
- } finally {
18
- // Reset the flag now that this scheduled batch update
19
- // is complete so that we can later schedule another
20
- // batched update if needed
21
- updatesScheduled = false;
22
- }
23
- }
24
- }
25
-
26
- function scheduleUpdates() {
27
- if (updatesScheduled) {
28
- // We have already scheduled a batched update for the
29
- // nextTick so nothing to do
30
- return;
31
- }
32
-
33
- updatesScheduled = true;
34
-
35
- setImmediate(updateUnbatchedComponents);
36
- }
37
-
38
- function updateComponents(queue) {
39
- // Loop over the components in the queue and update them.
40
- // NOTE: It is okay if the queue grows during the iteration
41
- // since we will still get to them at the end
42
- for (var i = 0; i < queue.length; i++) {
43
- var component = queue[i];
44
- component.___update(); // Do the actual component update
45
- }
46
-
47
- // Clear out the queue by setting the length to zero
48
- queue.length = 0;
49
- }
50
-
51
- function batchUpdate(func) {
52
- // If the batched update stack is empty then this
53
- // is the outer batched update. After the outer
54
- // batched update completes we invoke the "afterUpdate"
55
- // event listeners.
56
- var batch = [];
57
-
58
- batchStack.push(batch);
59
-
60
- try {
61
- func();
62
- } finally {
63
- try {
64
- // Update all of the components that where queued up
65
- // in this batch (if any)
66
- updateComponents(batch);
67
- } finally {
68
- // Now that we have completed the update of all the components
69
- // in this batch we need to remove it off the top of the stack
70
- batchStack.length--;
71
- }
72
- }
73
- }
74
-
75
- function queueComponentUpdate(component) {
76
- var batchStackLen = batchStack.length;
77
-
78
- if (batchStackLen) {
79
- // When a batch update is started we push a new batch on to a stack.
80
- // If the stack has a non-zero length then we know that a batch has
81
- // been started so we can just queue the component on the top batch. When
82
- // the batch is ended this component will be updated.
83
- batchStack[batchStackLen - 1].push(component);
84
- } else {
85
- // We are not within a batched update. We need to schedule a batch update
86
- // for the nextTick (if that hasn't been done already) and we will
87
- // add the component to the unbatched queue
88
- scheduleUpdates();
89
- unbatchedQueue.push(component);
90
- }
91
- }
92
-
93
- exports.___queueComponentUpdate = queueComponentUpdate;
94
- exports.___batchUpdate = batchUpdate;
@@ -1,13 +0,0 @@
1
- "use strict";var actualCreateOut;
2
-
3
- function setCreateOut(createOutFunc) {
4
- actualCreateOut = createOutFunc;
5
- }
6
-
7
- function createOut(globalData) {
8
- return actualCreateOut(globalData);
9
- }
10
-
11
- createOut.___setCreateOut = setCreateOut;
12
-
13
- module.exports = createOut;
@@ -1,77 +0,0 @@
1
- "use strict";var extend = require("raptor-util/extend");
2
- var componentsUtil = require("@internal/components-util");
3
- var destroyComponentForNode = componentsUtil.___destroyComponentForNode;
4
- var destroyNodeRecursive = componentsUtil.___destroyNodeRecursive;
5
- var helpers = require("./vdom/morphdom/helpers");
6
-
7
- var insertBefore = helpers.___insertBefore;
8
- var insertAfter = helpers.___insertAfter;
9
- var removeChild = helpers.___removeChild;
10
-
11
- function resolveEl(el) {
12
- if (typeof el == "string") {
13
- var elId = el;
14
- el = document.getElementById(elId);
15
- if (!el) {
16
- throw Error("Not found: " + elId);
17
- }
18
- }
19
- return el;
20
- }
21
-
22
- function beforeRemove(referenceEl) {
23
- destroyNodeRecursive(referenceEl);
24
- destroyComponentForNode(referenceEl);
25
- }
26
-
27
- module.exports = function (target, getEl, afterInsert) {
28
- extend(target, {
29
- appendTo: function (referenceEl) {
30
- referenceEl = resolveEl(referenceEl);
31
- var el = getEl(this, referenceEl);
32
- insertBefore(el, null, referenceEl);
33
- return afterInsert(this, referenceEl);
34
- },
35
- prependTo: function (referenceEl) {
36
- referenceEl = resolveEl(referenceEl);
37
- var el = getEl(this, referenceEl);
38
- insertBefore(el, referenceEl.firstChild || null, referenceEl);
39
- return afterInsert(this, referenceEl);
40
- },
41
- replace: function (referenceEl) {
42
- referenceEl = resolveEl(referenceEl);
43
- var el = getEl(this, referenceEl);
44
- beforeRemove(referenceEl);
45
- insertBefore(el, referenceEl, referenceEl.parentNode);
46
- removeChild(referenceEl);
47
- return afterInsert(this, referenceEl);
48
- },
49
- replaceChildrenOf: function (referenceEl) {
50
- referenceEl = resolveEl(referenceEl);
51
- var el = getEl(this, referenceEl);
52
-
53
- var curChild = referenceEl.firstChild;
54
- while (curChild) {
55
- var nextSibling = curChild.nextSibling; // Just in case the DOM changes while removing
56
- beforeRemove(curChild);
57
- curChild = nextSibling;
58
- }
59
-
60
- referenceEl.innerHTML = "";
61
- insertBefore(el, null, referenceEl);
62
- return afterInsert(this, referenceEl);
63
- },
64
- insertBefore: function (referenceEl) {
65
- referenceEl = resolveEl(referenceEl);
66
- var el = getEl(this, referenceEl);
67
- insertBefore(el, referenceEl, referenceEl.parentNode);
68
- return afterInsert(this, referenceEl);
69
- },
70
- insertAfter: function (referenceEl) {
71
- referenceEl = resolveEl(referenceEl);
72
- var el = getEl(this, referenceEl);
73
- insertAfter(el, referenceEl, referenceEl.parentNode);
74
- return afterInsert(this, referenceEl);
75
- }
76
- });
77
- };
@@ -1,2 +0,0 @@
1
- "use strict";var EventEmitter = require("events-light");
2
- module.exports = new EventEmitter();
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- var camelToDashLookup = Object.create(null);
4
- var dashToCamelLookup = Object.create(null);
5
-
6
- /**
7
- * Helper for converting camelCase to dash-case.
8
- */
9
- exports.___camelToDashCase = function camelToDashCase(name) {
10
- var nameDashed = camelToDashLookup[name];
11
- if (!nameDashed) {
12
- nameDashed = camelToDashLookup[name] = name.
13
- replace(/([A-Z])/g, "-$1").
14
- toLowerCase();
15
-
16
- if (nameDashed !== name) {
17
- dashToCamelLookup[nameDashed] = name;
18
- }
19
- }
20
-
21
- return nameDashed;
22
- };
23
-
24
- /**
25
- * Helper for converting dash-case to camelCase.
26
- */
27
- exports.___dashToCamelCase = function dashToCamelCase(name) {
28
- var nameCamel = dashToCamelLookup[name];
29
- if (!nameCamel) {
30
- nameCamel = dashToCamelLookup[name] = name.replace(
31
- /-([a-z])/g,
32
- matchToUpperCase
33
- );
34
-
35
- if (nameCamel !== name) {
36
- camelToDashLookup[nameCamel] = name;
37
- }
38
- }
39
-
40
- return nameCamel;
41
- };
42
-
43
- function matchToUpperCase(_, char) {
44
- return char.toUpperCase();
45
- }