marko 5.37.1 → 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 +32 -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,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
- }