marko 5.37.5 → 6.0.0-3.11

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 (648) 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 +2111 -0
  8. package/dist/debug/dom.mjs +2088 -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 +9134 -490
  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 +34 -70
  124. package/tag-types/const.d.marko +7 -0
  125. package/tag-types/debug.d.marko +5 -0
  126. package/tag-types/define.d.marko +5 -0
  127. package/tag-types/do.d.marko +5 -0
  128. package/tag-types/effect.d.marko +5 -0
  129. package/tag-types/id.d.marko +3 -0
  130. package/tag-types/let.d.marko +8 -0
  131. package/tag-types/lifecycle.d.marko +7 -0
  132. package/tag-types/log.d.marko +5 -0
  133. package/tag-types/script.d.marko +5 -0
  134. package/README.md +0 -161
  135. package/bin/markoc +0 -2
  136. package/bin/markoc.js +0 -441
  137. package/browser-refresh.js +0 -5
  138. package/compiler-browser.marko +0 -15
  139. package/compiler.js +0 -7
  140. package/components-browser.marko +0 -15
  141. package/components.js +0 -7
  142. package/dist/build.json +0 -3
  143. package/dist/compiler/config.js +0 -45
  144. package/dist/compiler/index.js +0 -164
  145. package/dist/compiler/modules.js +0 -5
  146. package/dist/core-tags/components/init-components-tag.js +0 -54
  147. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  148. package/dist/core-tags/components/preserve-tag.js +0 -1
  149. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  150. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  151. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  152. package/dist/core-tags/core/await/index.d.marko +0 -10
  153. package/dist/core-tags/core/await/renderer.js +0 -249
  154. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  155. package/dist/index.js +0 -4
  156. package/dist/node-require/browser-refresh.js +0 -1
  157. package/dist/node-require/hot-reload.js +0 -45
  158. package/dist/node-require/index.js +0 -103
  159. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  160. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  161. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  162. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  163. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  164. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  165. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  166. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  167. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  168. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  169. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  170. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  171. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  172. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  173. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  174. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  175. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  176. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  177. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  178. package/dist/node_modules/@internal/components-util/index.js +0 -71
  179. package/dist/node_modules/@internal/components-util/package.json +0 -11
  180. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  181. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  182. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  183. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  184. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  185. package/dist/node_modules/@internal/loader/index.js +0 -23
  186. package/dist/node_modules/@internal/loader/package.json +0 -10
  187. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  188. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  189. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  190. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  191. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  192. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  193. package/dist/node_modules/@internal/require/index.js +0 -15
  194. package/dist/node_modules/@internal/require/package.json +0 -11
  195. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  196. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  197. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  198. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  199. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  200. package/dist/runtime/RenderResult.js +0 -112
  201. package/dist/runtime/components/Component.js +0 -663
  202. package/dist/runtime/components/ComponentDef.js +0 -169
  203. package/dist/runtime/components/ComponentsContext.js +0 -59
  204. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  205. package/dist/runtime/components/KeySequence.js +0 -16
  206. package/dist/runtime/components/ServerComponent.js +0 -73
  207. package/dist/runtime/components/State.js +0 -101
  208. package/dist/runtime/components/attach-detach.js +0 -60
  209. package/dist/runtime/components/defineComponent.js +0 -60
  210. package/dist/runtime/components/dom-data.js +0 -8
  211. package/dist/runtime/components/event-delegation.js +0 -144
  212. package/dist/runtime/components/index.js +0 -1
  213. package/dist/runtime/components/legacy/browser.json +0 -9
  214. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  215. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  216. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  217. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  218. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  219. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  220. package/dist/runtime/components/legacy/index.js +0 -1
  221. package/dist/runtime/components/legacy/jquery.js +0 -52
  222. package/dist/runtime/components/legacy/ready.js +0 -152
  223. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  224. package/dist/runtime/components/registry.js +0 -1
  225. package/dist/runtime/components/renderer.js +0 -236
  226. package/dist/runtime/components/update-manager.js +0 -94
  227. package/dist/runtime/createOut.js +0 -13
  228. package/dist/runtime/dom-insert.js +0 -77
  229. package/dist/runtime/events.js +0 -2
  230. package/dist/runtime/helpers/_change-case.js +0 -45
  231. package/dist/runtime/helpers/assign.js +0 -21
  232. package/dist/runtime/helpers/attr-tag.js +0 -43
  233. package/dist/runtime/helpers/class-value.js +0 -30
  234. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  235. package/dist/runtime/helpers/empty-component.js +0 -1
  236. package/dist/runtime/helpers/merge.js +0 -13
  237. package/dist/runtime/helpers/of-fallback.js +0 -4
  238. package/dist/runtime/helpers/render-tag.js +0 -20
  239. package/dist/runtime/helpers/serialize-noop.js +0 -5
  240. package/dist/runtime/helpers/style-value.js +0 -45
  241. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  242. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  243. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  244. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  245. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  246. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  247. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  248. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  249. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  250. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  251. package/dist/runtime/helpers/to-string.js +0 -5
  252. package/dist/runtime/html/AsyncStream.js +0 -805
  253. package/dist/runtime/html/BufferedWriter.js +0 -52
  254. package/dist/runtime/html/StringWriter.js +0 -73
  255. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  256. package/dist/runtime/html/helpers/attr.js +0 -80
  257. package/dist/runtime/html/helpers/attrs.js +0 -26
  258. package/dist/runtime/html/helpers/class-attr.js +0 -8
  259. package/dist/runtime/html/helpers/data-marko.js +0 -36
  260. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  261. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  262. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  263. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  264. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  265. package/dist/runtime/html/helpers/props-script.js +0 -32
  266. package/dist/runtime/html/helpers/style-attr.js +0 -8
  267. package/dist/runtime/html/hot-reload.js +0 -26
  268. package/dist/runtime/html/index.js +0 -33
  269. package/dist/runtime/html/marko-namespace.js +0 -3
  270. package/dist/runtime/renderable.js +0 -194
  271. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  272. package/dist/runtime/vdom/VComment.js +0 -24
  273. package/dist/runtime/vdom/VComponent.js +0 -17
  274. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  275. package/dist/runtime/vdom/VElement.js +0 -375
  276. package/dist/runtime/vdom/VFragment.js +0 -26
  277. package/dist/runtime/vdom/VNode.js +0 -100
  278. package/dist/runtime/vdom/VText.js +0 -25
  279. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  280. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  281. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  282. package/dist/runtime/vdom/hot-reload.js +0 -115
  283. package/dist/runtime/vdom/index.js +0 -30
  284. package/dist/runtime/vdom/is-text-only.js +0 -10
  285. package/dist/runtime/vdom/marko-namespace.js +0 -3
  286. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  287. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  288. package/dist/runtime/vdom/morphdom/index.js +0 -741
  289. package/dist/runtime/vdom/parse-html.js +0 -18
  290. package/dist/runtime/vdom/vdom.js +0 -88
  291. package/dist/taglib/index.js +0 -51
  292. package/dist/translator/cdata/index.js +0 -15
  293. package/dist/translator/cdata/index[html].js +0 -15
  294. package/dist/translator/cdata/index[vdom].js +0 -12
  295. package/dist/translator/class.js +0 -65
  296. package/dist/translator/comment/index.js +0 -15
  297. package/dist/translator/comment/index[html].js +0 -17
  298. package/dist/translator/comment/index[vdom].js +0 -3
  299. package/dist/translator/declaration/index.js +0 -15
  300. package/dist/translator/declaration/index[html].js +0 -12
  301. package/dist/translator/declaration/index[vdom].js +0 -3
  302. package/dist/translator/document-type/index.js +0 -15
  303. package/dist/translator/document-type/index[html].js +0 -12
  304. package/dist/translator/document-type/index[vdom].js +0 -3
  305. package/dist/translator/placeholder/index.js +0 -15
  306. package/dist/translator/placeholder/index[html].js +0 -93
  307. package/dist/translator/placeholder/index[vdom].js +0 -22
  308. package/dist/translator/scriptlet.js +0 -4
  309. package/dist/translator/tag/attribute/directives/class.js +0 -42
  310. package/dist/translator/tag/attribute/directives/index.js +0 -15
  311. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  312. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  313. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  314. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  315. package/dist/translator/tag/attribute/directives/style.js +0 -42
  316. package/dist/translator/tag/attribute/index.js +0 -150
  317. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  318. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  319. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  320. package/dist/translator/tag/attribute-tag.js +0 -149
  321. package/dist/translator/tag/custom-tag.js +0 -146
  322. package/dist/translator/tag/dynamic-tag.js +0 -74
  323. package/dist/translator/tag/index.js +0 -287
  324. package/dist/translator/tag/macro-tag.js +0 -7
  325. package/dist/translator/tag/native-tag.js +0 -27
  326. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  327. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  328. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  329. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  330. package/dist/translator/tag/util.js +0 -246
  331. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  332. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  333. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  334. package/dist/translator/taglib/core/conditional/util.js +0 -41
  335. package/dist/translator/taglib/core/index.js +0 -474
  336. package/dist/translator/taglib/core/macro/parse.js +0 -17
  337. package/dist/translator/taglib/core/macro/translate.js +0 -48
  338. package/dist/translator/taglib/core/parse-class.js +0 -79
  339. package/dist/translator/taglib/core/parse-export.js +0 -14
  340. package/dist/translator/taglib/core/parse-import.js +0 -14
  341. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  342. package/dist/translator/taglib/core/parse-static.js +0 -18
  343. package/dist/translator/taglib/core/transform-style.js +0 -66
  344. package/dist/translator/taglib/core/translate-await.js +0 -41
  345. package/dist/translator/taglib/core/translate-body.js +0 -17
  346. package/dist/translator/taglib/core/translate-for.js +0 -156
  347. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  348. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  349. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  350. package/dist/translator/taglib/core/translate-while.js +0 -32
  351. package/dist/translator/taglib/index.js +0 -6
  352. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  353. package/dist/translator/taglib/migrate/index.js +0 -5
  354. package/dist/translator/text/index.js +0 -10
  355. package/dist/translator/text/index[html].js +0 -12
  356. package/dist/translator/text/index[vdom].js +0 -20
  357. package/dist/translator/util/add-dependencies.js +0 -329
  358. package/dist/translator/util/escape-regexp.js +0 -4
  359. package/dist/translator/util/get-component-files.js +0 -86
  360. package/dist/translator/util/html-out-write.js +0 -15
  361. package/dist/translator/util/key-manager.js +0 -176
  362. package/dist/translator/util/optimize-html-writes.js +0 -52
  363. package/dist/translator/util/optimize-vdom-create.js +0 -164
  364. package/dist/translator/util/plugin-hooks.js +0 -22
  365. package/dist/translator/util/runtime-flags.js +0 -3
  366. package/dist/translator/util/vdom-out-write.js +0 -10
  367. package/dist/translator/util/with-previous-location.js +0 -6
  368. package/docs/10-awesome-marko-features.md +0 -291
  369. package/docs/body-content.md +0 -355
  370. package/docs/class-components.md +0 -1001
  371. package/docs/cloudflare-workers.md +0 -32
  372. package/docs/compiler-hooks.png +0 -0
  373. package/docs/compiler.md +0 -473
  374. package/docs/component-diagram.afdesign +0 -0
  375. package/docs/component-diagram.svg +0 -87
  376. package/docs/concise.md +0 -141
  377. package/docs/conditionals-and-lists.md +0 -72
  378. package/docs/core-tags.md +0 -325
  379. package/docs/custom-tags.md +0 -201
  380. package/docs/editor-plugins.md +0 -45
  381. package/docs/events.md +0 -131
  382. package/docs/express.md +0 -66
  383. package/docs/fastify.md +0 -65
  384. package/docs/getting-started.md +0 -95
  385. package/docs/http.md +0 -34
  386. package/docs/icons/js.svg +0 -4
  387. package/docs/icons/marko.svg +0 -1
  388. package/docs/icons/ts.svg +0 -1
  389. package/docs/installing.md +0 -51
  390. package/docs/koa.md +0 -35
  391. package/docs/lasso.md +0 -196
  392. package/docs/marko-5-upgrade.md +0 -59
  393. package/docs/marko-json.md +0 -248
  394. package/docs/marko-vs-react.md +0 -854
  395. package/docs/redux.md +0 -61
  396. package/docs/rendering.md +0 -268
  397. package/docs/rollup.md +0 -352
  398. package/docs/state.md +0 -105
  399. package/docs/structure.json +0 -49
  400. package/docs/styles.md +0 -29
  401. package/docs/syntax.md +0 -601
  402. package/docs/troubleshooting-streaming.md +0 -68
  403. package/docs/typescript.md +0 -406
  404. package/docs/vite.md +0 -86
  405. package/docs/webpack.md +0 -205
  406. package/docs/why-is-marko-fast.md +0 -239
  407. package/env.js +0 -7
  408. package/helpers/README.md +0 -3
  409. package/helpers/empty.js +0 -4
  410. package/helpers/notEmpty.js +0 -11
  411. package/index-browser.marko +0 -15
  412. package/index.d.ts +0 -375
  413. package/index.js +0 -7
  414. package/legacy-components-browser.marko +0 -15
  415. package/legacy-components.js +0 -7
  416. package/node-require.js +0 -8
  417. package/src/build.json +0 -3
  418. package/src/compiler/config.js +0 -45
  419. package/src/compiler/index.js +0 -164
  420. package/src/compiler/modules.js +0 -5
  421. package/src/core-tags/.eslintrc +0 -5
  422. package/src/core-tags/components/init-components-tag.js +0 -54
  423. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  424. package/src/core-tags/components/preserve-tag.js +0 -1
  425. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  426. package/src/core-tags/core/await/AsyncValue.js +0 -121
  427. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  428. package/src/core-tags/core/await/index.d.marko +0 -10
  429. package/src/core-tags/core/await/renderer.js +0 -249
  430. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  431. package/src/index.js +0 -4
  432. package/src/node-require/browser-refresh.js +0 -18
  433. package/src/node-require/hot-reload.js +0 -45
  434. package/src/node-require/index.js +0 -103
  435. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  436. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  437. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  438. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  439. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  440. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  441. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  442. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  443. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  444. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  445. package/src/node_modules/@internal/components-entry/index.js +0 -301
  446. package/src/node_modules/@internal/components-entry/package.json +0 -11
  447. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  448. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  449. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  450. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  451. package/src/node_modules/@internal/components-registry/index.js +0 -44
  452. package/src/node_modules/@internal/components-registry/package.json +0 -11
  453. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  454. package/src/node_modules/@internal/components-util/index.js +0 -75
  455. package/src/node_modules/@internal/components-util/package.json +0 -11
  456. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  457. package/src/node_modules/@internal/create-readable/index.js +0 -57
  458. package/src/node_modules/@internal/create-readable/package.json +0 -11
  459. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  460. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  461. package/src/node_modules/@internal/loader/index.js +0 -23
  462. package/src/node_modules/@internal/loader/package.json +0 -10
  463. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  464. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  465. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  466. package/src/node_modules/@internal/require/index-browser.js +0 -15
  467. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  468. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  469. package/src/node_modules/@internal/require/index.js +0 -15
  470. package/src/node_modules/@internal/require/package.json +0 -11
  471. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  472. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  473. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  474. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  475. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  476. package/src/runtime/.eslintrc +0 -5
  477. package/src/runtime/RenderResult.js +0 -112
  478. package/src/runtime/components/Component.js +0 -663
  479. package/src/runtime/components/ComponentDef.js +0 -169
  480. package/src/runtime/components/ComponentsContext.js +0 -59
  481. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  482. package/src/runtime/components/KeySequence.js +0 -16
  483. package/src/runtime/components/ServerComponent.js +0 -73
  484. package/src/runtime/components/State.js +0 -101
  485. package/src/runtime/components/attach-detach.js +0 -60
  486. package/src/runtime/components/defineComponent.js +0 -60
  487. package/src/runtime/components/dom-data.js +0 -8
  488. package/src/runtime/components/event-delegation.js +0 -144
  489. package/src/runtime/components/index.js +0 -1
  490. package/src/runtime/components/legacy/browser.json +0 -9
  491. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  492. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  493. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  494. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  495. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  496. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  497. package/src/runtime/components/legacy/index.js +0 -1
  498. package/src/runtime/components/legacy/jquery.js +0 -52
  499. package/src/runtime/components/legacy/ready.js +0 -152
  500. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  501. package/src/runtime/components/registry.js +0 -1
  502. package/src/runtime/components/renderer.js +0 -236
  503. package/src/runtime/components/update-manager.js +0 -94
  504. package/src/runtime/createOut.js +0 -13
  505. package/src/runtime/dom-insert.js +0 -77
  506. package/src/runtime/events.js +0 -2
  507. package/src/runtime/helpers/_change-case.js +0 -45
  508. package/src/runtime/helpers/assign.js +0 -21
  509. package/src/runtime/helpers/attr-tag.js +0 -43
  510. package/src/runtime/helpers/class-value.js +0 -30
  511. package/src/runtime/helpers/dynamic-tag.js +0 -181
  512. package/src/runtime/helpers/empty-component.js +0 -1
  513. package/src/runtime/helpers/merge.js +0 -13
  514. package/src/runtime/helpers/of-fallback.js +0 -4
  515. package/src/runtime/helpers/render-tag.js +0 -20
  516. package/src/runtime/helpers/serialize-noop.js +0 -5
  517. package/src/runtime/helpers/style-value.js +0 -45
  518. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  519. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  520. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  521. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  522. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  523. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  524. package/src/runtime/helpers/tags-compat/html.js +0 -3
  525. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  526. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  527. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  528. package/src/runtime/helpers/to-string.js +0 -5
  529. package/src/runtime/html/AsyncStream.js +0 -805
  530. package/src/runtime/html/BufferedWriter.js +0 -52
  531. package/src/runtime/html/StringWriter.js +0 -73
  532. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  533. package/src/runtime/html/helpers/attr.js +0 -80
  534. package/src/runtime/html/helpers/attrs.js +0 -26
  535. package/src/runtime/html/helpers/class-attr.js +0 -8
  536. package/src/runtime/html/helpers/data-marko.js +0 -36
  537. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  538. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  539. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  540. package/src/runtime/html/helpers/escape-xml.js +0 -21
  541. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  542. package/src/runtime/html/helpers/props-script.js +0 -32
  543. package/src/runtime/html/helpers/style-attr.js +0 -8
  544. package/src/runtime/html/hot-reload.js +0 -26
  545. package/src/runtime/html/index.js +0 -33
  546. package/src/runtime/html/marko-namespace.js +0 -3
  547. package/src/runtime/renderable.js +0 -194
  548. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  549. package/src/runtime/vdom/VComment.js +0 -24
  550. package/src/runtime/vdom/VComponent.js +0 -17
  551. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  552. package/src/runtime/vdom/VElement.js +0 -375
  553. package/src/runtime/vdom/VFragment.js +0 -26
  554. package/src/runtime/vdom/VNode.js +0 -100
  555. package/src/runtime/vdom/VText.js +0 -25
  556. package/src/runtime/vdom/helpers/attrs.js +0 -62
  557. package/src/runtime/vdom/helpers/const-element.js +0 -25
  558. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  559. package/src/runtime/vdom/hot-reload.js +0 -115
  560. package/src/runtime/vdom/index.js +0 -30
  561. package/src/runtime/vdom/is-text-only.js +0 -10
  562. package/src/runtime/vdom/marko-namespace.js +0 -3
  563. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  564. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  565. package/src/runtime/vdom/morphdom/index.js +0 -741
  566. package/src/runtime/vdom/parse-html.js +0 -18
  567. package/src/runtime/vdom/vdom.js +0 -88
  568. package/src/taglib/index.js +0 -51
  569. package/src/translator/cdata/index.js +0 -15
  570. package/src/translator/cdata/index[html].js +0 -15
  571. package/src/translator/cdata/index[vdom].js +0 -12
  572. package/src/translator/class.js +0 -65
  573. package/src/translator/comment/index.js +0 -15
  574. package/src/translator/comment/index[html].js +0 -17
  575. package/src/translator/comment/index[vdom].js +0 -3
  576. package/src/translator/declaration/index.js +0 -15
  577. package/src/translator/declaration/index[html].js +0 -12
  578. package/src/translator/declaration/index[vdom].js +0 -3
  579. package/src/translator/document-type/index.js +0 -15
  580. package/src/translator/document-type/index[html].js +0 -12
  581. package/src/translator/document-type/index[vdom].js +0 -3
  582. package/src/translator/index.js +0 -552
  583. package/src/translator/placeholder/index.js +0 -15
  584. package/src/translator/placeholder/index[html].js +0 -93
  585. package/src/translator/placeholder/index[vdom].js +0 -22
  586. package/src/translator/scriptlet.js +0 -4
  587. package/src/translator/tag/attribute/directives/class.js +0 -42
  588. package/src/translator/tag/attribute/directives/index.js +0 -15
  589. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  590. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  591. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  592. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  593. package/src/translator/tag/attribute/directives/style.js +0 -42
  594. package/src/translator/tag/attribute/index.js +0 -150
  595. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  596. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  597. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  598. package/src/translator/tag/attribute-tag.js +0 -149
  599. package/src/translator/tag/custom-tag.js +0 -146
  600. package/src/translator/tag/dynamic-tag.js +0 -74
  601. package/src/translator/tag/index.js +0 -287
  602. package/src/translator/tag/macro-tag.js +0 -7
  603. package/src/translator/tag/native-tag.js +0 -27
  604. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  605. package/src/translator/tag/native-tag[html]/index.js +0 -221
  606. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  607. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  608. package/src/translator/tag/util.js +0 -246
  609. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  610. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  611. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  612. package/src/translator/taglib/core/conditional/util.js +0 -41
  613. package/src/translator/taglib/core/index.js +0 -474
  614. package/src/translator/taglib/core/macro/parse.js +0 -17
  615. package/src/translator/taglib/core/macro/translate.js +0 -48
  616. package/src/translator/taglib/core/parse-class.js +0 -79
  617. package/src/translator/taglib/core/parse-export.js +0 -14
  618. package/src/translator/taglib/core/parse-import.js +0 -14
  619. package/src/translator/taglib/core/parse-module-code.js +0 -18
  620. package/src/translator/taglib/core/parse-static.js +0 -18
  621. package/src/translator/taglib/core/transform-style.js +0 -66
  622. package/src/translator/taglib/core/translate-await.js +0 -41
  623. package/src/translator/taglib/core/translate-body.js +0 -17
  624. package/src/translator/taglib/core/translate-for.js +0 -156
  625. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  626. package/src/translator/taglib/core/translate-include-content.js +0 -53
  627. package/src/translator/taglib/core/translate-server-only.js +0 -5
  628. package/src/translator/taglib/core/translate-while.js +0 -32
  629. package/src/translator/taglib/index.js +0 -7
  630. package/src/translator/taglib/migrate/all-templates.js +0 -46
  631. package/src/translator/taglib/migrate/index.js +0 -5
  632. package/src/translator/text/index.js +0 -10
  633. package/src/translator/text/index[html].js +0 -12
  634. package/src/translator/text/index[vdom].js +0 -20
  635. package/src/translator/util/add-dependencies.js +0 -329
  636. package/src/translator/util/escape-regexp.js +0 -4
  637. package/src/translator/util/get-component-files.js +0 -86
  638. package/src/translator/util/html-out-write.js +0 -15
  639. package/src/translator/util/key-manager.js +0 -176
  640. package/src/translator/util/optimize-html-writes.js +0 -52
  641. package/src/translator/util/optimize-vdom-create.js +0 -164
  642. package/src/translator/util/plugin-hooks.js +0 -22
  643. package/src/translator/util/runtime-flags.js +0 -3
  644. package/src/translator/util/vdom-out-write.js +0 -10
  645. package/src/translator/util/with-previous-location.js +0 -6
  646. package/tags-html.d.ts +0 -3855
  647. package/translator/index.d.ts +0 -7
  648. package/translator/package.json +0 -5
@@ -1,249 +0,0 @@
1
- "use strict";
2
- // eslint-disable-next-line no-constant-binary-expression
3
- var complain = "MARKO_DEBUG" && require("complain");
4
- var AsyncValue = require("./AsyncValue");
5
-
6
- function safeRenderBody(renderBody, targetOut, data) {
7
- try {
8
- renderBody(targetOut, data);
9
- } catch (err) {
10
- return err;
11
- }
12
- }
13
-
14
- function requestData(provider, timeout) {
15
- var asyncValue = new AsyncValue();
16
-
17
- if (typeof provider === "function") {
18
- // eslint-disable-next-line no-constant-condition
19
- if ("MARKO_DEBUG") {
20
- complain(
21
- "Passing a callback function to the <await> tag has been deprecated, please use a promise instead.",
22
- { level: 1, locationIndex: 3 },
23
- );
24
- }
25
-
26
- var callback = function (err, data) {
27
- if (err) {
28
- asyncValue.___reject(err);
29
- } else {
30
- asyncValue.___resolve(data);
31
- }
32
- };
33
-
34
- var value =
35
- provider.length === 1
36
- ? // one argument so only provide callback to function call
37
- provider(callback)
38
- : // two arguments so provide args and callback to function call
39
- provider(null, callback);
40
-
41
- if (value !== undefined) {
42
- asyncValue.___resolve(value);
43
- }
44
- } else {
45
- // Assume the provider is a data object...
46
- asyncValue.___resolve(provider);
47
- }
48
-
49
- if (timeout == null) {
50
- timeout = 10000;
51
- }
52
-
53
- var error;
54
- var errorMsg = "Timed out after " + timeout + "ms";
55
- // eslint-disable-next-line no-constant-condition
56
- if ("MARKO_DEBUG") {
57
- // Make sure we have a meaningful stack trace in development preparing the stacktrace upfront.
58
- // If we create it inside the setTimeout, we will end up with a short, not meaningful, stack trace
59
- // We only do it in development to avoid overhead in production
60
- error = new Error(errorMsg);
61
- }
62
- if (timeout > 0) {
63
- let timeoutId = setTimeout(function () {
64
- timeoutId = null;
65
- if (!error) error = new Error(errorMsg);
66
- error.code = "ERR_AWAIT_TIMEDOUT";
67
- error.name = "TimeoutError";
68
- asyncValue.___reject(error);
69
- }, timeout);
70
-
71
- asyncValue.___done(function () {
72
- if (timeoutId != null) {
73
- clearTimeout(timeoutId);
74
- }
75
- });
76
- }
77
-
78
- return asyncValue;
79
- }
80
-
81
- const LAST_OPTIONS = { last: true, name: "await:finish" };
82
-
83
- module.exports = function awaitTag(input, out) {
84
- var clientReorder =
85
- typeof document === "undefined" &&
86
- input.clientReorder === true &&
87
- !out.isVDOM;
88
-
89
- var name = input.name || input._name;
90
- var timeout = input.timeout;
91
- var provider = input._provider;
92
- var asyncValue = requestData(provider, timeout);
93
- var placeholderRenderer = input.placeholder && input.placeholder.renderBody;
94
-
95
- if (asyncValue.___settled) {
96
- renderContents(asyncValue.___error, asyncValue.___value, input, out);
97
- return;
98
- }
99
-
100
- var asyncOut;
101
- var clientReorderContext;
102
-
103
- var awaitInfo = {
104
- name: name,
105
- clientReorder: clientReorder,
106
- dataProvider: provider,
107
- };
108
-
109
- if (clientReorder) {
110
- awaitInfo.parent = out;
111
- awaitInfo.after = input.showAfter;
112
-
113
- clientReorderContext =
114
- out.global.___clientReorderContext ||
115
- (out.global.___clientReorderContext = {
116
- instances: [],
117
- nextId: 0,
118
- });
119
-
120
- /** SHOULD MATCH THE reorder-renderer.js IMPLEMENTATION */
121
- var reorderFunctionId =
122
- out.global.runtimeId !== "M" ? "af" + out.global.runtimeId : "af";
123
-
124
- var id = (awaitInfo.id =
125
- input.name ||
126
- (out.global.componentIdPrefix || 0) + clientReorderContext.nextId++);
127
- var placeholderIdAttrValue = reorderFunctionId + "ph" + id;
128
-
129
- if (placeholderRenderer) {
130
- out.write('<span id="' + placeholderIdAttrValue + '">');
131
- placeholderRenderer(out);
132
- out.write("</span>");
133
- } else {
134
- out.write('<noscript id="' + placeholderIdAttrValue + '"></noscript>');
135
- }
136
-
137
- // If `client-reorder` is enabled then we asynchronously render the await instance to a new
138
- // "out" instance so that we can Write to a temporary in-memory buffer.
139
- asyncOut = awaitInfo.out = out.createOut();
140
-
141
- var oldEmit = asyncOut.emit;
142
-
143
- // Since we are rendering the await instance to a new and separate out,
144
- // we want to proxy any child events to the main AsyncWriter in case anyone is interested
145
- // in those events. This is also needed for the following events to be handled correctly:
146
- //
147
- // - await:begin
148
- // - await:beforeRender
149
- // - await:finish
150
- //
151
- asyncOut.emit = function (event) {
152
- if (event !== "finish" && event !== "error") {
153
- // We don't want to proxy the finish and error events since those are
154
- // very specific to the AsyncWriter associated with the await instance
155
- out.emit.apply(out, arguments);
156
- }
157
-
158
- oldEmit.apply(asyncOut, arguments);
159
- };
160
-
161
- if (clientReorderContext.instances) {
162
- clientReorderContext.instances.push(awaitInfo);
163
- }
164
-
165
- out.emit("await:clientReorder", awaitInfo);
166
- } else {
167
- out.flush(); // Flush everything up to this await instance
168
- asyncOut = awaitInfo.out = out.beginAsync({
169
- timeout: 0, // We will use our code for controlling timeout
170
- name: name,
171
- });
172
- }
173
-
174
- var beforeRenderEmitted = false;
175
-
176
- out.emit("await:begin", awaitInfo);
177
-
178
- function renderBody(err, data) {
179
- if (awaitInfo.finished) {
180
- return;
181
- }
182
-
183
- if (err) {
184
- awaitInfo.error = err;
185
- }
186
-
187
- if (!beforeRenderEmitted) {
188
- beforeRenderEmitted = true;
189
- out.emit("await:beforeRender", awaitInfo);
190
- }
191
-
192
- renderContents(err, data, input, asyncOut);
193
-
194
- awaitInfo.finished = true;
195
-
196
- if (clientReorder) {
197
- asyncOut.end();
198
- out.flush();
199
- } else {
200
- // When using client reordering we want to delay
201
- // this event until after the code to move
202
- // the async fragment into place has been written
203
- let asyncLastOut = asyncOut.beginAsync(LAST_OPTIONS);
204
- asyncOut.onLast(function () {
205
- var oldWriter = asyncOut.writer;
206
- // We swap out the writer so that writing will happen to our `asyncLastOut`
207
- // even though we are still passing along the original `asyncOut`. We have
208
- // to pass along the original `asyncOut` because that has contextual
209
- // information (such as the rendered UI components)
210
- asyncOut.writer = asyncLastOut.writer;
211
- out.emit("await:finish", awaitInfo);
212
- asyncOut.writer = oldWriter;
213
- asyncLastOut.end();
214
- out.flush();
215
- });
216
-
217
- asyncOut.end();
218
- }
219
- }
220
-
221
- asyncValue.___done(renderBody);
222
- };
223
-
224
- function renderContents(err, data, input, out) {
225
- var resultRenderer = input.then && input.then.renderBody;
226
- var errorRenderer = input.catch && input.catch.renderBody;
227
-
228
- if (err) {
229
- if (input.catch) {
230
- if (errorRenderer) {
231
- try {
232
- errorRenderer(out, err);
233
- } catch (err2) {
234
- out.error(err2);
235
- }
236
- }
237
- } else {
238
- out.error(err);
239
- }
240
- } else {
241
- if (resultRenderer) {
242
- var renderBodyErr = safeRenderBody(resultRenderer, out, data);
243
-
244
- if (renderBodyErr) {
245
- return renderContents(renderBodyErr, data, input, out);
246
- }
247
- }
248
- }
249
- }
@@ -1,156 +0,0 @@
1
- "use strict";
2
-
3
- var escapeDoubleQuotes =
4
- require("../../../runtime/html/helpers/escape-quotes").___escapeDoubleQuotes;
5
-
6
- module.exports = function (input, out) {
7
- // We cannot call beginSync() when using renderSync(). In this case we will
8
- // ignore the await-reorderer tag.
9
- if (out.isSync()) {
10
- return;
11
- }
12
-
13
- var global = out.global;
14
-
15
- // We have already invoked an <await-reorderer>. We do not need to do this
16
- // work again.
17
- if (global.__awaitReordererInvoked) {
18
- return;
19
- }
20
-
21
- global.__awaitReordererInvoked = true;
22
-
23
- if (out.global.___clientReorderContext) {
24
- out.flush();
25
- }
26
-
27
- /** SHOULD MATCH THE renderer.js IMPLEMENTATION */
28
- var reorderFunctionId =
29
- out.global.runtimeId !== "M" ? "af" + out.global.runtimeId : "af";
30
-
31
- var asyncOut = out.beginAsync({
32
- last: true,
33
- timeout: -1,
34
- name: "await-reorderer",
35
- });
36
-
37
- out.onLast(function (next) {
38
- var awaitContext = global.___clientReorderContext;
39
- var remaining;
40
-
41
- // Validate that we have remaining <await> instances that need handled
42
- if (
43
- !awaitContext ||
44
- !awaitContext.instances ||
45
- !(remaining = awaitContext.instances.length)
46
- ) {
47
- asyncOut.end();
48
- next();
49
- return;
50
- }
51
-
52
- function handleAwait(awaitInfo) {
53
- let flushedScript = false;
54
- let flushedContent = false;
55
- let flushedPlaceholder = awaitInfo.parent._state.finished;
56
- if (flushedPlaceholder) {
57
- if (awaitInfo.out._state.finished) {
58
- writeResult(awaitInfo.out.___getResult());
59
- return;
60
- }
61
- } else {
62
- awaitInfo.parent.on("___toString", () => {
63
- flushedPlaceholder = true;
64
- if (!flushedScript && flushedContent) {
65
- flushedScript = true;
66
- asyncOut.script(
67
- `$${reorderFunctionId}(` +
68
- (typeof awaitInfo.id === "number"
69
- ? awaitInfo.id
70
- : '"' + awaitInfo.id + '"') +
71
- (awaitInfo.after ? ',"' + awaitInfo.after + '"' : "") +
72
- ")",
73
- );
74
- }
75
- });
76
- }
77
-
78
- awaitInfo.out
79
- .on("___toString", out.emit.bind(out, "___toString"))
80
- .on("finish", writeResult)
81
- .on("error", function (err) {
82
- asyncOut.error(err);
83
- });
84
-
85
- function writeResult(result) {
86
- flushedContent = true;
87
- if (!global._afRuntime) {
88
- // Minified version of ./client-reorder-runtime.js
89
- asyncOut.script(
90
- `function $${reorderFunctionId}(d,a,e,l,g,h,k,b,f,c){c=$${reorderFunctionId};if(a&&!c[a])(c[a+="$"]||(c[a]=[])).push(d);else{e=document;l=e.getElementById("${reorderFunctionId}"+d);g=e.getElementById("${reorderFunctionId}ph"+d);h=e.createDocumentFragment();k=l.childNodes;b=0;for(f=k.length;b<f;b++)h.appendChild(k.item(0));g&&g.parentNode.replaceChild(h,g);c[d]=1;if(a=c[d+"$"])for(b=0,f=a.length;b<f;b++)c(a[b])}}`,
91
- );
92
- global._afRuntime = true;
93
- }
94
-
95
- if (global.cspNonce) {
96
- asyncOut.write(
97
- '<style nonce="' +
98
- escapeDoubleQuotes(global.cspNonce) +
99
- '">' +
100
- `#${reorderFunctionId}` +
101
- awaitInfo.id +
102
- "{display:none;}" +
103
- "</style>" +
104
- `<div id="${reorderFunctionId}` +
105
- awaitInfo.id +
106
- '">' +
107
- result.toString() +
108
- "</div>",
109
- );
110
- } else {
111
- asyncOut.write(
112
- `<div id="${reorderFunctionId}` +
113
- awaitInfo.id +
114
- '" style="display:none">' +
115
- result.toString() +
116
- "</div>",
117
- );
118
- }
119
-
120
- if (!flushedScript && flushedPlaceholder) {
121
- flushedScript = true;
122
- asyncOut.script(
123
- `$${reorderFunctionId}(` +
124
- (typeof awaitInfo.id === "number"
125
- ? awaitInfo.id
126
- : '"' + awaitInfo.id + '"') +
127
- (awaitInfo.after ? ',"' + awaitInfo.after + '"' : "") +
128
- ")",
129
- );
130
- }
131
-
132
- awaitInfo.out.writer = asyncOut.writer;
133
-
134
- out.emit("await:finish", awaitInfo);
135
-
136
- out.flush();
137
-
138
- if (--remaining === 0) {
139
- asyncOut.end();
140
- next();
141
- }
142
- }
143
- }
144
-
145
- awaitContext.instances.forEach(handleAwait);
146
-
147
- out.on("await:clientReorder", function (awaitInfo) {
148
- remaining++;
149
- handleAwait(awaitInfo);
150
- });
151
-
152
- // Now that we have a listener attached, we want to receive any additional
153
- // out-of-sync instances via an event
154
- delete awaitContext.instances;
155
- });
156
- };
package/src/index.js DELETED
@@ -1,4 +0,0 @@
1
- "use strict";
2
-
3
- exports.createOut = require("./runtime/createOut");
4
- exports.load = require("@internal/loader");
@@ -1,18 +0,0 @@
1
- // eslint-disable-next-line no-constant-condition
2
- if ("MARKO_DEBUG") {
3
- const browserRefreshClient = require("browser-refresh-client");
4
- if (browserRefreshClient.isBrowserRefreshEnabled()) {
5
- const extensions = require(".").getExtensions();
6
- const hotReload = require("./hot-reload");
7
-
8
- browserRefreshClient
9
- .enableSpecialReload(
10
- `${extensions
11
- .map((ext) => `*${ext}`)
12
- .join(" ")} marko.json marko-tag.json`,
13
- )
14
- .onFileModified((path) => {
15
- hotReload.handleFileModified(path);
16
- });
17
- }
18
- }
@@ -1,45 +0,0 @@
1
- const fs = require("fs");
2
- const path = require("path");
3
- const compiler = require("../compiler");
4
- require("../runtime/html/hot-reload");
5
-
6
- exports.handleFileModified = function (filename) {
7
- if (!fs.existsSync(filename)) {
8
- console.log(
9
- "[marko/hot-reload] WARNING cannot resolve template path: ",
10
- filename,
11
- );
12
- return;
13
- }
14
-
15
- compiler.clearCaches();
16
- console.log(`[marko] File modified: ${cwdRelative(filename)}`);
17
-
18
- if (path.extname(filename) === ".json") {
19
- // If we taglib was modified then uncache *all* templates so that they will
20
- // all be reloaded
21
- for (const filename in require.cache) {
22
- if (path.extname(filename) === ".marko") {
23
- tryReload(filename);
24
- }
25
- }
26
- } else {
27
- tryReload(filename);
28
- }
29
- };
30
-
31
- function tryReload(filename) {
32
- try {
33
- delete require.cache[filename];
34
- require(filename);
35
- console.log(
36
- `[marko] Template successfully reloaded: ${cwdRelative(filename)}`,
37
- );
38
- } catch (e) {
39
- console.error(e);
40
- }
41
- }
42
-
43
- function cwdRelative(filename) {
44
- return path.relative(process.cwd(), filename);
45
- }
@@ -1,103 +0,0 @@
1
- "use strict";
2
- // eslint-disable-next-line no-constant-binary-expression
3
- const complain = "MARKO_DEBUG" && require("complain");
4
- const path = require("path");
5
- const resolveFrom = require("resolve-from");
6
- const requiredCompilerOptions = { modules: "cjs" };
7
- const defaultCompilerOptions = {
8
- // eslint-disable-next-line no-constant-condition
9
- sourceMaps: "MARKO_DEBUG" ? "inline" : false,
10
- meta: true,
11
- babelConfig: {
12
- babelrc: false,
13
- configFile: false,
14
- browserslistConfigFile: false,
15
- },
16
- };
17
- const MARKO_EXTENSIONS = Symbol("MARKO_EXTENSIONS");
18
-
19
- // eslint-disable-next-line no-constant-condition
20
- if ("MARKO_DEBUG") {
21
- complain(
22
- 'Using "marko/node-require" has been replaced with "@marko/compiler/register".',
23
- );
24
- }
25
-
26
- function normalizeExtension(extension) {
27
- if (extension.charAt(0) !== ".") {
28
- extension = "." + extension;
29
- }
30
- return extension;
31
- }
32
-
33
- function compile(templatePath, markoCompiler, userCompilerOptions) {
34
- return markoCompiler.compileFileSync(
35
- templatePath,
36
- Object.assign(
37
- {},
38
- defaultCompilerOptions,
39
- userCompilerOptions,
40
- requiredCompilerOptions,
41
- ),
42
- ).code;
43
- }
44
-
45
- function install(options) {
46
- options = options || {};
47
-
48
- var requireExtensions = options.require // options.require introduced for testing
49
- ? options.require.extensions
50
- : require.extensions;
51
-
52
- var compilerOptions = options.compilerOptions;
53
-
54
- var extensions = [];
55
-
56
- if (options.extension) {
57
- extensions.push(options.extension);
58
- }
59
-
60
- if (options.extensions) {
61
- extensions = extensions.concat(options.extensions);
62
- }
63
-
64
- if (extensions.length === 0) {
65
- extensions.push(".marko");
66
- }
67
-
68
- function markoRequireExtension(module, filename) {
69
- // Resolve the appropriate compiler relative to the location of the
70
- // marko template file on disk using the "resolve-from" module.
71
- var dirname = path.dirname(filename);
72
- var markoCompilerModulePath = resolveFrom(dirname, "@marko/compiler");
73
- var markoCompiler = require(markoCompilerModulePath);
74
-
75
- // Now use the appropriate Marko compiler to compile the Marko template
76
- // file to JavaScript source code:
77
- var compiledSrc = compile(filename, markoCompiler, compilerOptions);
78
-
79
- // Append ".js" to the filename since that is where we write the compiled
80
- // source code that is being loaded. This allows stack traces to match up.
81
- module._compile(compiledSrc, filename);
82
- }
83
-
84
- requireExtensions[MARKO_EXTENSIONS] =
85
- requireExtensions[MARKO_EXTENSIONS] ||
86
- (requireExtensions[MARKO_EXTENSIONS] = []);
87
-
88
- extensions.forEach((extension) => {
89
- extension = normalizeExtension(extension);
90
- requireExtensions[extension] = markoRequireExtension;
91
- requireExtensions[MARKO_EXTENSIONS].push(extension);
92
- });
93
- }
94
-
95
- install();
96
-
97
- exports.install = install;
98
-
99
- exports.getExtensions = function () {
100
- return require.extensions[MARKO_EXTENSIONS];
101
- };
102
-
103
- require("./browser-refresh");
@@ -1,23 +0,0 @@
1
- var ComponentDef = require("../../../runtime/components/ComponentDef");
2
-
3
- module.exports = function beginComponent(
4
- componentsContext,
5
- component,
6
- key,
7
- ownerComponentDef
8
- ) {
9
- var componentId = component.id;
10
- var componentDef = (componentsContext.___componentDef = new ComponentDef(
11
- component,
12
- componentId,
13
- componentsContext
14
- ));
15
- componentsContext.___globalContext.___renderedComponentsById[
16
- componentId
17
- ] = true;
18
- componentsContext.___components.push(componentDef);
19
-
20
- var out = componentsContext.___out;
21
- out.bc(component, key, ownerComponentDef && ownerComponentDef.___component);
22
- return componentDef;
23
- };
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- const ComponentDef = require("../../../runtime/components/ComponentDef");
4
-
5
- var FLAG_WILL_RERENDER_IN_BROWSER = 1;
6
- // var FLAG_HAS_RENDER_BODY = 2;
7
- var FLAG_OLD_HYDRATE_NO_CREATE = 8;
8
-
9
- module.exports = function beginComponent(
10
- componentsContext,
11
- component,
12
- key,
13
- ownerComponentDef,
14
- isSplitComponent,
15
- isImplicitComponent,
16
- existingComponentDef
17
- ) {
18
- var componentId = component.id;
19
-
20
- // existingComponentDef is only here to allow binding a conditional
21
- // widget. It should be removed when the legacy compat layer is removed.
22
- var componentDef =
23
- existingComponentDef ||
24
- (componentsContext.___componentDef = new ComponentDef(
25
- component,
26
- componentId,
27
- componentsContext
28
- ));
29
-
30
- var ownerIsRenderBoundary =
31
- ownerComponentDef && ownerComponentDef.___renderBoundary;
32
- var ownerWillRerender =
33
- ownerComponentDef &&
34
- ownerComponentDef.___flags & FLAG_WILL_RERENDER_IN_BROWSER;
35
- // On the server
36
- if (!componentsContext.___isPreserved && ownerWillRerender) {
37
- componentDef.___flags |= FLAG_WILL_RERENDER_IN_BROWSER;
38
- componentDef._wrr = true;
39
- return componentDef;
40
- }
41
-
42
- if (isImplicitComponent === true) {
43
- // We don't mount implicit components rendered on the server
44
- // unless the implicit component is nested within a UI component
45
- // that will re-render in the browser
46
- return componentDef;
47
- }
48
-
49
- componentsContext.___components.push(componentDef);
50
-
51
- let out = componentsContext.___out;
52
- let runtimeId = out.global.runtimeId;
53
-
54
- componentDef.___renderBoundary = true;
55
- componentDef.___parentPreserved = componentsContext.___isPreserved;
56
-
57
- if (isSplitComponent === false && out.global.noBrowserRerender !== true) {
58
- componentDef.___flags |= FLAG_WILL_RERENDER_IN_BROWSER;
59
- componentDef._wrr = true;
60
- componentsContext.___isPreserved = false;
61
- }
62
-
63
- if (out.global.oldHydrateNoCreate === true) {
64
- componentDef.___flags |= FLAG_OLD_HYDRATE_NO_CREATE;
65
- }
66
-
67
- if ((ownerIsRenderBoundary || ownerWillRerender) && key != null) {
68
- out.w(
69
- "<!--" +
70
- runtimeId +
71
- "^" +
72
- componentId +
73
- " " +
74
- ownerComponentDef.id +
75
- " " +
76
- key +
77
- "-->"
78
- );
79
- } else {
80
- out.w("<!--" + runtimeId + "#" + componentId + "-->");
81
- }
82
-
83
- return componentDef;
84
- };
@@ -1,11 +0,0 @@
1
- {
2
- "main": "./index.js",
3
- "browser": "./index-browser.js",
4
- "exports": {
5
- ".": {
6
- "worker": "./index.js",
7
- "browser": "./index-browser.js",
8
- "default": "./index.js"
9
- }
10
- }
11
- }