marko 5.37.6 → 6.0.0-3.12

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/index.d.ts +30 -261
  124. package/package.json +40 -67
  125. package/tag-types/const.d.marko +7 -0
  126. package/tag-types/debug.d.marko +5 -0
  127. package/tag-types/define.d.marko +5 -0
  128. package/tag-types/do.d.marko +5 -0
  129. package/tag-types/effect.d.marko +5 -0
  130. package/tag-types/id.d.marko +3 -0
  131. package/tag-types/let.d.marko +8 -0
  132. package/tag-types/lifecycle.d.marko +7 -0
  133. package/tag-types/log.d.marko +5 -0
  134. package/tag-types/script.d.marko +5 -0
  135. package/tags-html.d.ts +85 -5
  136. package/README.md +0 -161
  137. package/bin/markoc +0 -2
  138. package/bin/markoc.js +0 -441
  139. package/browser-refresh.js +0 -5
  140. package/compiler-browser.marko +0 -15
  141. package/compiler.js +0 -7
  142. package/components-browser.marko +0 -15
  143. package/components.js +0 -7
  144. package/dist/build.json +0 -3
  145. package/dist/compiler/config.js +0 -45
  146. package/dist/compiler/index.js +0 -164
  147. package/dist/compiler/modules.js +0 -5
  148. package/dist/core-tags/components/init-components-tag.js +0 -54
  149. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  150. package/dist/core-tags/components/preserve-tag.js +0 -1
  151. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  152. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  153. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  154. package/dist/core-tags/core/await/index.d.marko +0 -10
  155. package/dist/core-tags/core/await/renderer.js +0 -249
  156. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  157. package/dist/index.js +0 -4
  158. package/dist/node-require/browser-refresh.js +0 -1
  159. package/dist/node-require/hot-reload.js +0 -45
  160. package/dist/node-require/index.js +0 -103
  161. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  162. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  163. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  164. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  165. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  166. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  167. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  168. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  169. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  170. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  171. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  172. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  173. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  174. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  175. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  176. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  177. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  178. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  179. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  180. package/dist/node_modules/@internal/components-util/index.js +0 -71
  181. package/dist/node_modules/@internal/components-util/package.json +0 -11
  182. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  183. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  184. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  185. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  186. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  187. package/dist/node_modules/@internal/loader/index.js +0 -23
  188. package/dist/node_modules/@internal/loader/package.json +0 -10
  189. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  190. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  191. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  192. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  193. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  194. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  195. package/dist/node_modules/@internal/require/index.js +0 -15
  196. package/dist/node_modules/@internal/require/package.json +0 -11
  197. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  198. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  199. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  200. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  201. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  202. package/dist/runtime/RenderResult.js +0 -112
  203. package/dist/runtime/components/Component.js +0 -663
  204. package/dist/runtime/components/ComponentDef.js +0 -169
  205. package/dist/runtime/components/ComponentsContext.js +0 -59
  206. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  207. package/dist/runtime/components/KeySequence.js +0 -16
  208. package/dist/runtime/components/ServerComponent.js +0 -73
  209. package/dist/runtime/components/State.js +0 -101
  210. package/dist/runtime/components/attach-detach.js +0 -60
  211. package/dist/runtime/components/defineComponent.js +0 -60
  212. package/dist/runtime/components/dom-data.js +0 -8
  213. package/dist/runtime/components/event-delegation.js +0 -144
  214. package/dist/runtime/components/index.js +0 -1
  215. package/dist/runtime/components/legacy/browser.json +0 -9
  216. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  217. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  218. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  219. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  220. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  221. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  222. package/dist/runtime/components/legacy/index.js +0 -1
  223. package/dist/runtime/components/legacy/jquery.js +0 -52
  224. package/dist/runtime/components/legacy/ready.js +0 -152
  225. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  226. package/dist/runtime/components/registry.js +0 -1
  227. package/dist/runtime/components/renderer.js +0 -236
  228. package/dist/runtime/components/update-manager.js +0 -94
  229. package/dist/runtime/createOut.js +0 -13
  230. package/dist/runtime/dom-insert.js +0 -77
  231. package/dist/runtime/events.js +0 -2
  232. package/dist/runtime/helpers/_change-case.js +0 -45
  233. package/dist/runtime/helpers/assign.js +0 -21
  234. package/dist/runtime/helpers/attr-tag.js +0 -43
  235. package/dist/runtime/helpers/class-value.js +0 -30
  236. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  237. package/dist/runtime/helpers/empty-component.js +0 -1
  238. package/dist/runtime/helpers/merge.js +0 -13
  239. package/dist/runtime/helpers/of-fallback.js +0 -4
  240. package/dist/runtime/helpers/render-tag.js +0 -20
  241. package/dist/runtime/helpers/serialize-noop.js +0 -5
  242. package/dist/runtime/helpers/style-value.js +0 -45
  243. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  244. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  245. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  246. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  247. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  248. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  249. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  250. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  251. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  252. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  253. package/dist/runtime/helpers/to-string.js +0 -5
  254. package/dist/runtime/html/AsyncStream.js +0 -805
  255. package/dist/runtime/html/BufferedWriter.js +0 -52
  256. package/dist/runtime/html/StringWriter.js +0 -73
  257. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  258. package/dist/runtime/html/helpers/attr.js +0 -80
  259. package/dist/runtime/html/helpers/attrs.js +0 -26
  260. package/dist/runtime/html/helpers/class-attr.js +0 -8
  261. package/dist/runtime/html/helpers/data-marko.js +0 -36
  262. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  263. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  264. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  265. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  266. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  267. package/dist/runtime/html/helpers/props-script.js +0 -32
  268. package/dist/runtime/html/helpers/style-attr.js +0 -8
  269. package/dist/runtime/html/hot-reload.js +0 -26
  270. package/dist/runtime/html/index.js +0 -33
  271. package/dist/runtime/html/marko-namespace.js +0 -3
  272. package/dist/runtime/renderable.js +0 -194
  273. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  274. package/dist/runtime/vdom/VComment.js +0 -24
  275. package/dist/runtime/vdom/VComponent.js +0 -17
  276. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  277. package/dist/runtime/vdom/VElement.js +0 -375
  278. package/dist/runtime/vdom/VFragment.js +0 -26
  279. package/dist/runtime/vdom/VNode.js +0 -100
  280. package/dist/runtime/vdom/VText.js +0 -25
  281. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  282. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  283. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  284. package/dist/runtime/vdom/hot-reload.js +0 -115
  285. package/dist/runtime/vdom/index.js +0 -30
  286. package/dist/runtime/vdom/is-text-only.js +0 -10
  287. package/dist/runtime/vdom/marko-namespace.js +0 -3
  288. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  289. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  290. package/dist/runtime/vdom/morphdom/index.js +0 -741
  291. package/dist/runtime/vdom/parse-html.js +0 -18
  292. package/dist/runtime/vdom/vdom.js +0 -88
  293. package/dist/taglib/index.js +0 -51
  294. package/dist/translator/cdata/index.js +0 -15
  295. package/dist/translator/cdata/index[html].js +0 -15
  296. package/dist/translator/cdata/index[vdom].js +0 -12
  297. package/dist/translator/class.js +0 -65
  298. package/dist/translator/comment/index.js +0 -15
  299. package/dist/translator/comment/index[html].js +0 -17
  300. package/dist/translator/comment/index[vdom].js +0 -3
  301. package/dist/translator/declaration/index.js +0 -15
  302. package/dist/translator/declaration/index[html].js +0 -12
  303. package/dist/translator/declaration/index[vdom].js +0 -3
  304. package/dist/translator/document-type/index.js +0 -15
  305. package/dist/translator/document-type/index[html].js +0 -12
  306. package/dist/translator/document-type/index[vdom].js +0 -3
  307. package/dist/translator/placeholder/index.js +0 -15
  308. package/dist/translator/placeholder/index[html].js +0 -93
  309. package/dist/translator/placeholder/index[vdom].js +0 -22
  310. package/dist/translator/scriptlet.js +0 -4
  311. package/dist/translator/tag/attribute/directives/class.js +0 -42
  312. package/dist/translator/tag/attribute/directives/index.js +0 -15
  313. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  314. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  315. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  316. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  317. package/dist/translator/tag/attribute/directives/style.js +0 -42
  318. package/dist/translator/tag/attribute/index.js +0 -150
  319. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  320. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  321. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  322. package/dist/translator/tag/attribute-tag.js +0 -149
  323. package/dist/translator/tag/custom-tag.js +0 -146
  324. package/dist/translator/tag/dynamic-tag.js +0 -74
  325. package/dist/translator/tag/index.js +0 -287
  326. package/dist/translator/tag/macro-tag.js +0 -7
  327. package/dist/translator/tag/native-tag.js +0 -27
  328. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  329. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  330. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  331. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  332. package/dist/translator/tag/util.js +0 -246
  333. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  334. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  335. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  336. package/dist/translator/taglib/core/conditional/util.js +0 -41
  337. package/dist/translator/taglib/core/index.js +0 -474
  338. package/dist/translator/taglib/core/macro/parse.js +0 -17
  339. package/dist/translator/taglib/core/macro/translate.js +0 -48
  340. package/dist/translator/taglib/core/parse-class.js +0 -79
  341. package/dist/translator/taglib/core/parse-export.js +0 -14
  342. package/dist/translator/taglib/core/parse-import.js +0 -14
  343. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  344. package/dist/translator/taglib/core/parse-static.js +0 -18
  345. package/dist/translator/taglib/core/transform-style.js +0 -66
  346. package/dist/translator/taglib/core/translate-await.js +0 -41
  347. package/dist/translator/taglib/core/translate-body.js +0 -17
  348. package/dist/translator/taglib/core/translate-for.js +0 -156
  349. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  350. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  351. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  352. package/dist/translator/taglib/core/translate-while.js +0 -32
  353. package/dist/translator/taglib/index.js +0 -6
  354. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  355. package/dist/translator/taglib/migrate/index.js +0 -5
  356. package/dist/translator/text/index.js +0 -10
  357. package/dist/translator/text/index[html].js +0 -12
  358. package/dist/translator/text/index[vdom].js +0 -20
  359. package/dist/translator/util/add-dependencies.js +0 -329
  360. package/dist/translator/util/escape-regexp.js +0 -4
  361. package/dist/translator/util/get-component-files.js +0 -86
  362. package/dist/translator/util/html-out-write.js +0 -15
  363. package/dist/translator/util/key-manager.js +0 -176
  364. package/dist/translator/util/optimize-html-writes.js +0 -52
  365. package/dist/translator/util/optimize-vdom-create.js +0 -164
  366. package/dist/translator/util/plugin-hooks.js +0 -22
  367. package/dist/translator/util/runtime-flags.js +0 -3
  368. package/dist/translator/util/vdom-out-write.js +0 -10
  369. package/dist/translator/util/with-previous-location.js +0 -6
  370. package/docs/10-awesome-marko-features.md +0 -291
  371. package/docs/body-content.md +0 -355
  372. package/docs/class-components.md +0 -1001
  373. package/docs/cloudflare-workers.md +0 -32
  374. package/docs/compiler-hooks.png +0 -0
  375. package/docs/compiler.md +0 -473
  376. package/docs/component-diagram.afdesign +0 -0
  377. package/docs/component-diagram.svg +0 -87
  378. package/docs/concise.md +0 -141
  379. package/docs/conditionals-and-lists.md +0 -72
  380. package/docs/core-tags.md +0 -325
  381. package/docs/custom-tags.md +0 -201
  382. package/docs/editor-plugins.md +0 -45
  383. package/docs/events.md +0 -131
  384. package/docs/express.md +0 -66
  385. package/docs/fastify.md +0 -65
  386. package/docs/getting-started.md +0 -95
  387. package/docs/http.md +0 -34
  388. package/docs/icons/js.svg +0 -4
  389. package/docs/icons/marko.svg +0 -1
  390. package/docs/icons/ts.svg +0 -1
  391. package/docs/installing.md +0 -51
  392. package/docs/koa.md +0 -35
  393. package/docs/lasso.md +0 -196
  394. package/docs/marko-5-upgrade.md +0 -59
  395. package/docs/marko-json.md +0 -248
  396. package/docs/marko-vs-react.md +0 -854
  397. package/docs/redux.md +0 -61
  398. package/docs/rendering.md +0 -268
  399. package/docs/rollup.md +0 -352
  400. package/docs/state.md +0 -105
  401. package/docs/structure.json +0 -49
  402. package/docs/styles.md +0 -29
  403. package/docs/syntax.md +0 -601
  404. package/docs/troubleshooting-streaming.md +0 -68
  405. package/docs/typescript.md +0 -406
  406. package/docs/vite.md +0 -86
  407. package/docs/webpack.md +0 -205
  408. package/docs/why-is-marko-fast.md +0 -239
  409. package/env.js +0 -7
  410. package/helpers/README.md +0 -3
  411. package/helpers/empty.js +0 -4
  412. package/helpers/notEmpty.js +0 -11
  413. package/index-browser.marko +0 -15
  414. package/index.js +0 -7
  415. package/legacy-components-browser.marko +0 -15
  416. package/legacy-components.js +0 -7
  417. package/node-require.js +0 -8
  418. package/src/build.json +0 -3
  419. package/src/compiler/config.js +0 -45
  420. package/src/compiler/index.js +0 -164
  421. package/src/compiler/modules.js +0 -5
  422. package/src/core-tags/.eslintrc +0 -5
  423. package/src/core-tags/components/init-components-tag.js +0 -54
  424. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  425. package/src/core-tags/components/preserve-tag.js +0 -1
  426. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  427. package/src/core-tags/core/await/AsyncValue.js +0 -121
  428. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  429. package/src/core-tags/core/await/index.d.marko +0 -10
  430. package/src/core-tags/core/await/renderer.js +0 -249
  431. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  432. package/src/index.js +0 -4
  433. package/src/node-require/browser-refresh.js +0 -18
  434. package/src/node-require/hot-reload.js +0 -45
  435. package/src/node-require/index.js +0 -103
  436. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  437. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  438. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  439. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  440. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  441. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  442. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  443. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  444. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  445. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  446. package/src/node_modules/@internal/components-entry/index.js +0 -301
  447. package/src/node_modules/@internal/components-entry/package.json +0 -11
  448. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  449. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  450. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  451. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  452. package/src/node_modules/@internal/components-registry/index.js +0 -44
  453. package/src/node_modules/@internal/components-registry/package.json +0 -11
  454. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  455. package/src/node_modules/@internal/components-util/index.js +0 -75
  456. package/src/node_modules/@internal/components-util/package.json +0 -11
  457. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  458. package/src/node_modules/@internal/create-readable/index.js +0 -57
  459. package/src/node_modules/@internal/create-readable/package.json +0 -11
  460. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  461. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  462. package/src/node_modules/@internal/loader/index.js +0 -23
  463. package/src/node_modules/@internal/loader/package.json +0 -10
  464. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  465. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  466. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  467. package/src/node_modules/@internal/require/index-browser.js +0 -15
  468. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  469. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  470. package/src/node_modules/@internal/require/index.js +0 -15
  471. package/src/node_modules/@internal/require/package.json +0 -11
  472. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  473. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  474. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  475. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  476. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  477. package/src/runtime/.eslintrc +0 -5
  478. package/src/runtime/RenderResult.js +0 -112
  479. package/src/runtime/components/Component.js +0 -663
  480. package/src/runtime/components/ComponentDef.js +0 -169
  481. package/src/runtime/components/ComponentsContext.js +0 -59
  482. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  483. package/src/runtime/components/KeySequence.js +0 -16
  484. package/src/runtime/components/ServerComponent.js +0 -73
  485. package/src/runtime/components/State.js +0 -101
  486. package/src/runtime/components/attach-detach.js +0 -60
  487. package/src/runtime/components/defineComponent.js +0 -60
  488. package/src/runtime/components/dom-data.js +0 -8
  489. package/src/runtime/components/event-delegation.js +0 -144
  490. package/src/runtime/components/index.js +0 -1
  491. package/src/runtime/components/legacy/browser.json +0 -9
  492. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  493. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  494. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  495. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  496. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  497. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  498. package/src/runtime/components/legacy/index.js +0 -1
  499. package/src/runtime/components/legacy/jquery.js +0 -52
  500. package/src/runtime/components/legacy/ready.js +0 -152
  501. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  502. package/src/runtime/components/registry.js +0 -1
  503. package/src/runtime/components/renderer.js +0 -236
  504. package/src/runtime/components/update-manager.js +0 -94
  505. package/src/runtime/createOut.js +0 -13
  506. package/src/runtime/dom-insert.js +0 -77
  507. package/src/runtime/events.js +0 -2
  508. package/src/runtime/helpers/_change-case.js +0 -45
  509. package/src/runtime/helpers/assign.js +0 -21
  510. package/src/runtime/helpers/attr-tag.js +0 -43
  511. package/src/runtime/helpers/class-value.js +0 -30
  512. package/src/runtime/helpers/dynamic-tag.js +0 -181
  513. package/src/runtime/helpers/empty-component.js +0 -1
  514. package/src/runtime/helpers/merge.js +0 -13
  515. package/src/runtime/helpers/of-fallback.js +0 -4
  516. package/src/runtime/helpers/render-tag.js +0 -20
  517. package/src/runtime/helpers/serialize-noop.js +0 -5
  518. package/src/runtime/helpers/style-value.js +0 -45
  519. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  520. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  521. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  522. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  523. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  524. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  525. package/src/runtime/helpers/tags-compat/html.js +0 -3
  526. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  527. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  528. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  529. package/src/runtime/helpers/to-string.js +0 -5
  530. package/src/runtime/html/AsyncStream.js +0 -805
  531. package/src/runtime/html/BufferedWriter.js +0 -52
  532. package/src/runtime/html/StringWriter.js +0 -73
  533. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  534. package/src/runtime/html/helpers/attr.js +0 -80
  535. package/src/runtime/html/helpers/attrs.js +0 -26
  536. package/src/runtime/html/helpers/class-attr.js +0 -8
  537. package/src/runtime/html/helpers/data-marko.js +0 -36
  538. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  539. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  540. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  541. package/src/runtime/html/helpers/escape-xml.js +0 -21
  542. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  543. package/src/runtime/html/helpers/props-script.js +0 -32
  544. package/src/runtime/html/helpers/style-attr.js +0 -8
  545. package/src/runtime/html/hot-reload.js +0 -26
  546. package/src/runtime/html/index.js +0 -33
  547. package/src/runtime/html/marko-namespace.js +0 -3
  548. package/src/runtime/renderable.js +0 -194
  549. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  550. package/src/runtime/vdom/VComment.js +0 -24
  551. package/src/runtime/vdom/VComponent.js +0 -17
  552. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  553. package/src/runtime/vdom/VElement.js +0 -375
  554. package/src/runtime/vdom/VFragment.js +0 -26
  555. package/src/runtime/vdom/VNode.js +0 -100
  556. package/src/runtime/vdom/VText.js +0 -25
  557. package/src/runtime/vdom/helpers/attrs.js +0 -62
  558. package/src/runtime/vdom/helpers/const-element.js +0 -25
  559. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  560. package/src/runtime/vdom/hot-reload.js +0 -115
  561. package/src/runtime/vdom/index.js +0 -30
  562. package/src/runtime/vdom/is-text-only.js +0 -10
  563. package/src/runtime/vdom/marko-namespace.js +0 -3
  564. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  565. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  566. package/src/runtime/vdom/morphdom/index.js +0 -741
  567. package/src/runtime/vdom/parse-html.js +0 -18
  568. package/src/runtime/vdom/vdom.js +0 -88
  569. package/src/taglib/index.js +0 -51
  570. package/src/translator/cdata/index.js +0 -15
  571. package/src/translator/cdata/index[html].js +0 -15
  572. package/src/translator/cdata/index[vdom].js +0 -12
  573. package/src/translator/class.js +0 -65
  574. package/src/translator/comment/index.js +0 -15
  575. package/src/translator/comment/index[html].js +0 -17
  576. package/src/translator/comment/index[vdom].js +0 -3
  577. package/src/translator/declaration/index.js +0 -15
  578. package/src/translator/declaration/index[html].js +0 -12
  579. package/src/translator/declaration/index[vdom].js +0 -3
  580. package/src/translator/document-type/index.js +0 -15
  581. package/src/translator/document-type/index[html].js +0 -12
  582. package/src/translator/document-type/index[vdom].js +0 -3
  583. package/src/translator/index.js +0 -552
  584. package/src/translator/placeholder/index.js +0 -15
  585. package/src/translator/placeholder/index[html].js +0 -93
  586. package/src/translator/placeholder/index[vdom].js +0 -22
  587. package/src/translator/scriptlet.js +0 -4
  588. package/src/translator/tag/attribute/directives/class.js +0 -42
  589. package/src/translator/tag/attribute/directives/index.js +0 -15
  590. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  591. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  592. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  593. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  594. package/src/translator/tag/attribute/directives/style.js +0 -42
  595. package/src/translator/tag/attribute/index.js +0 -150
  596. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  597. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  598. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  599. package/src/translator/tag/attribute-tag.js +0 -149
  600. package/src/translator/tag/custom-tag.js +0 -146
  601. package/src/translator/tag/dynamic-tag.js +0 -74
  602. package/src/translator/tag/index.js +0 -287
  603. package/src/translator/tag/macro-tag.js +0 -7
  604. package/src/translator/tag/native-tag.js +0 -27
  605. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  606. package/src/translator/tag/native-tag[html]/index.js +0 -221
  607. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  608. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  609. package/src/translator/tag/util.js +0 -246
  610. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  611. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  612. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  613. package/src/translator/taglib/core/conditional/util.js +0 -41
  614. package/src/translator/taglib/core/index.js +0 -474
  615. package/src/translator/taglib/core/macro/parse.js +0 -17
  616. package/src/translator/taglib/core/macro/translate.js +0 -48
  617. package/src/translator/taglib/core/parse-class.js +0 -79
  618. package/src/translator/taglib/core/parse-export.js +0 -14
  619. package/src/translator/taglib/core/parse-import.js +0 -14
  620. package/src/translator/taglib/core/parse-module-code.js +0 -18
  621. package/src/translator/taglib/core/parse-static.js +0 -18
  622. package/src/translator/taglib/core/transform-style.js +0 -66
  623. package/src/translator/taglib/core/translate-await.js +0 -41
  624. package/src/translator/taglib/core/translate-body.js +0 -17
  625. package/src/translator/taglib/core/translate-for.js +0 -156
  626. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  627. package/src/translator/taglib/core/translate-include-content.js +0 -53
  628. package/src/translator/taglib/core/translate-server-only.js +0 -5
  629. package/src/translator/taglib/core/translate-while.js +0 -32
  630. package/src/translator/taglib/index.js +0 -7
  631. package/src/translator/taglib/migrate/all-templates.js +0 -46
  632. package/src/translator/taglib/migrate/index.js +0 -5
  633. package/src/translator/text/index.js +0 -10
  634. package/src/translator/text/index[html].js +0 -12
  635. package/src/translator/text/index[vdom].js +0 -20
  636. package/src/translator/util/add-dependencies.js +0 -329
  637. package/src/translator/util/escape-regexp.js +0 -4
  638. package/src/translator/util/get-component-files.js +0 -86
  639. package/src/translator/util/html-out-write.js +0 -15
  640. package/src/translator/util/key-manager.js +0 -176
  641. package/src/translator/util/optimize-html-writes.js +0 -52
  642. package/src/translator/util/optimize-vdom-create.js +0 -164
  643. package/src/translator/util/plugin-hooks.js +0 -22
  644. package/src/translator/util/runtime-flags.js +0 -3
  645. package/src/translator/util/vdom-out-write.js +0 -10
  646. package/src/translator/util/with-previous-location.js +0 -6
  647. package/translator/index.d.ts +0 -7
  648. package/translator/package.json +0 -5
@@ -0,0 +1,39 @@
1
+ import { types as t } from "@marko/compiler";
2
+ export declare let currentProgramPath: t.NodePath<t.Program>;
3
+ export declare let cleanIdentifier: t.Identifier;
4
+ export declare let htmlRendererIdentifier: t.Identifier;
5
+ export declare let scopeIdentifier: t.Identifier;
6
+ export declare function isScopeIdentifier(node: t.Node): node is t.Identifier;
7
+ export type TemplateExport = {
8
+ id: string;
9
+ props: {
10
+ [prop: string]: TemplateExport;
11
+ } | undefined;
12
+ };
13
+ export type TemplateExports = TemplateExport["props"];
14
+ declare module "@marko/compiler/dist/types" {
15
+ interface ProgramExtra {
16
+ domExports?: {
17
+ template: string;
18
+ walks: string;
19
+ setup: string;
20
+ params: TemplateExport | undefined;
21
+ closures: string;
22
+ };
23
+ }
24
+ }
25
+ declare const _default: {
26
+ migrate: {
27
+ enter(this: unknown, program: t.NodePath<t.Program>): void;
28
+ exit(this: unknown): void;
29
+ };
30
+ analyze: {
31
+ enter(this: unknown, program: t.NodePath<t.Program>): void;
32
+ exit(this: unknown, program: t.NodePath<t.Program>): void;
33
+ };
34
+ translate: {
35
+ enter(this: unknown, program: t.NodePath<t.Program>): void;
36
+ exit(this: unknown, program: t.NodePath<t.Program>): void;
37
+ };
38
+ };
39
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ migrate(this: unknown, identifier: t.NodePath<t.Identifier>): void;
4
+ analyze(this: unknown, identifier: t.NodePath<t.Identifier>): void;
5
+ translate(this: unknown, identifier: t.NodePath<t.Identifier>): void;
6
+ };
7
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ analyze(this: unknown, scriptlet: t.NodePath<t.MarkoScriptlet>): void;
4
+ translate: {
5
+ exit(this: unknown, scriptlet: t.NodePath<t.MarkoScriptlet>): void;
6
+ };
7
+ };
8
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ analyze: {
4
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
5
+ };
6
+ translate: {
7
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
8
+ exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
9
+ };
10
+ };
11
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { type Binding } from "../../util/references";
3
+ declare const kChildScopeBinding: unique symbol;
4
+ declare module "@marko/compiler/dist/types" {
5
+ interface MarkoTagExtra {
6
+ [kChildScopeBinding]?: Binding;
7
+ }
8
+ }
9
+ declare const _default: {
10
+ analyze: {
11
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
12
+ };
13
+ translate: {
14
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
15
+ exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
16
+ };
17
+ };
18
+ export default _default;
19
+ export declare function getTagRelativePath(tag: t.NodePath<t.MarkoTag>): string;
@@ -0,0 +1,18 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { type Binding } from "../../util/references";
3
+ declare const kDOMBinding: unique symbol;
4
+ declare module "@marko/compiler/dist/types" {
5
+ interface MarkoTagExtra {
6
+ [kDOMBinding]?: Binding;
7
+ }
8
+ }
9
+ declare const _default: {
10
+ analyze: {
11
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
12
+ };
13
+ translate: {
14
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
15
+ exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
16
+ };
17
+ };
18
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ transform: {
4
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
5
+ };
6
+ analyze: {
7
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
8
+ exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
9
+ };
10
+ translate: {
11
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
12
+ exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
13
+ };
14
+ };
15
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { type Binding } from "../../util/references";
3
+ export declare const kNativeTagBinding: unique symbol;
4
+ export declare const kSerializeMarker: unique symbol;
5
+ declare const kGetterId: unique symbol;
6
+ declare module "@marko/compiler/dist/types" {
7
+ interface NodeExtra {
8
+ [kNativeTagBinding]?: Binding;
9
+ [kSerializeMarker]?: boolean;
10
+ [kGetterId]?: string;
11
+ }
12
+ }
13
+ declare const _default: {
14
+ transform: {
15
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
16
+ };
17
+ analyze: {
18
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
19
+ };
20
+ translate: {
21
+ enter(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
22
+ exit(this: unknown, tag: t.NodePath<t.MarkoTag>): void;
23
+ };
24
+ };
25
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ translate: {
4
+ exit(this: unknown, text: t.NodePath<t.MarkoText>): void;
5
+ };
6
+ };
7
+ export default _default;
package/index.d.ts CHANGED
@@ -13,72 +13,27 @@ declare global {
13
13
  namespace Marko {
14
14
  /** A mutable global object for the current render. */
15
15
  export interface Global {
16
- /** A list of globals that should be serialized to the browser. */
17
- serializedGlobals?: Record<string, boolean>;
16
+ [x: PropertyKey]: unknown;
17
+ /** An AbortSignal instance that, when aborted, stops further streamed content. */
18
+ signal?: AbortSignal;
18
19
  /** A CSP Nonce to add to each script output from Marko. */
19
20
  cspNonce?: string;
21
+ /** Used for rendering multiple Marko templates in a single hydrated page. */
22
+ renderId?: string;
20
23
  /** Used to uniquely identify a instance of a Marko runtime. */
21
24
  runtimeId?: string;
22
- /** Used for rendering multiple Marko templates in a single hydrated page. */
23
- componentIdPrefix?: string;
24
- [attr: PropertyKey]: unknown;
25
+ /** A list of globals that should be serialized to the browser. */
26
+ serializedGlobals?:
27
+ | (string | number)[]
28
+ | Record<string | number, boolean>;
25
29
  }
26
30
 
27
31
  export type TemplateInput<Input> = Input & {
32
+ /** Data available within all rendered templates as `$global`. */
28
33
  $global?: Global;
29
34
  };
30
35
 
31
- export interface Out<Component extends Marko.Component = Marko.Component>
32
- extends PromiseLike<RenderResult<Component>> {
33
- /** The underlying ReadableStream Marko is writing into. */
34
- stream: unknown;
35
- /** A mutable global object for the current render. */
36
- global: Global;
37
- /** Disable all async rendering. Will error if something beings async. */
38
- sync(): void;
39
- /** Returns true if async rendering is disabled. */
40
- isSync(): boolean;
41
- /** Write unescaped text at the current stream position. */
42
- write(val: string | void): this;
43
- /** Write javascript content to be merged with the scripts Marko sends out on the next flush. */
44
- script(val: string | void): this;
45
- /** Returns the currently rendered html content. */
46
- toString(): string;
47
- /** Starts a new async/forked stream. */
48
- beginAsync(options?: {
49
- name?: string;
50
- timeout?: number;
51
- last?: boolean;
52
- }): Out;
53
- /** Marks the current stream as complete (async streams may still be executing). */
54
- end(val?: string | void): this;
55
- emit(eventName: PropertyKey, ...args: any[]): boolean;
56
- on(eventName: PropertyKey, listener: (...args: any[]) => any): this;
57
- once(eventName: PropertyKey, listener: (...args: any[]) => any): this;
58
- prependListener(
59
- eventName: PropertyKey,
60
- listener: (...args: any[]) => any,
61
- ): this;
62
- removeListener(
63
- eventName: PropertyKey,
64
- listener: (...args: any[]) => any,
65
- ): this;
66
- /** Register a callback executed when the last async out has completed. */
67
- onLast(listener: (next: () => void) => unknown): this;
68
- /** Pipe Marko's stream to another stream. */
69
- pipe(stream: unknown): this;
70
- /** Emits an error on the stream. */
71
- error(e: Error): this;
72
- /** Schedules a Marko to flush buffered html to the underlying stream. */
73
- flush(): this;
74
- /** Creates a detached out stream (used for out of order flushing). */
75
- createOut(): Out;
76
- /** Write escaped text at the current stream position. */
77
- text(val: string | void): void;
78
- }
79
-
80
36
  /** Body content created from by a component, typically held in an object with a renderBody property. */
81
-
82
37
  export interface Body<
83
38
  in Params extends readonly any[] = [],
84
39
  out Return = void,
@@ -99,122 +54,8 @@ declare global {
99
54
  export type BodyParameters<B> =
100
55
  B extends Body<infer Params, any> ? Params : never;
101
56
 
102
- export class Component<Input = unknown, State = unknown>
103
- implements Emitter
104
- {
105
- /** A unique id for this instance. */
106
- public readonly id: string;
107
- /** The top level element rendered by this instance. */
108
- public readonly el: Element | void;
109
- /** The attributes passed to this instance. */
110
- public readonly input: Input;
111
- /** @deprecated */
112
- public readonly els: Element[];
113
- /** Mutable state that when changed causes a rerender. */
114
- state: State;
115
-
116
- /** Returns the amount of event handlers listening to a specific event. */
117
- listenerCount(eventName: PropertyKey): number;
118
- /**
119
- * Used to wrap an existing event emitted and ensure that all events are
120
- * cleaned up once this component is destroyed
121
- * */
122
- subscribeTo(
123
- emitter: unknown,
124
- ): Omit<Emitter, "listenerCount" | "prependListener" | "emit">;
125
- /** Emits an event on the component instance. */
126
- emit(eventName: PropertyKey, ...args: any[]): boolean;
127
- /** Listen to an event on the component instance. */
128
- on(eventName: PropertyKey, listener: (...args: any[]) => any): this;
129
- /** Listen to an event on the component instance once. */
130
- once(eventName: PropertyKey, listener: (...args: any[]) => any): this;
131
- /** Listen to an event on the component instance before all other listeners. */
132
- prependListener(
133
- eventName: PropertyKey,
134
- listener: (...args: any[]) => any,
135
- ): this;
136
- /** Remove a listener from the component instance. */
137
- removeListener(
138
- eventName: PropertyKey,
139
- listener: (...args: any[]) => any,
140
- ): this;
141
- /** Remove all listeners from the component instance. */
142
- removeAllListeners(eventName?: PropertyKey): this;
143
- /** Removes the component instance from the DOM and cleans up all active event handlers including all children. */
144
- destroy(): void;
145
- /** Schedule an update (similar to if a state had been changed). */
146
- forceUpdate(): void;
147
- /** Generates a unique id derived from the current unique instance id (similar to :scoped in the template). */
148
- elId(key?: string, index?: number): string;
149
- /** @alias elId */
150
- getElId(key?: string, index?: number): string;
151
- /** Gets an element reference by its `key` attribute in the template. */
152
- getEl<T extends Element | void = Element | void>(
153
- key?: string,
154
- index?: number,
155
- ): T;
156
- /** Gets all element references by their `key` attribute in the template. */
157
- getEls<T extends Element[] = Element[]>(key: string): T;
158
- /** Gets a component reference by its `key` attribute in the template. */
159
- getComponent<T extends Component | void = Component | void>(
160
- key: string,
161
- index?: number,
162
- ): T;
163
- /** Gets all component references by their `key` attribute in the template. */
164
- getComponents<T extends Component[] = Component[]>(key: string): T;
165
- /** True if this instance has been removed from the dom. */
166
- /** True if this instance is scheduled to rerender. */
167
- isDestroyed(): boolean;
168
- /** Replace the entire state object with a new one, removing old properties. */
169
- replaceState(state: this["state"]): void;
170
- /**
171
- * Update a property on this.state (should prefer mutating this.state directly).
172
- * When passed an object as the first argument, it will be merged into the state.
173
- */
174
- setState<Key extends PropertyKey>(
175
- name: Key & keyof this["state"],
176
- value: (this["state"] & Record<PropertyKey, unknown>)[Key],
177
- ): void;
178
- setState(value: Partial<this["state"]>): void;
179
-
180
- /** Schedules an update related to a specific state property and optionally updates the value. */
181
- setStateDirty<Key extends PropertyKey>(
182
- name: Key & keyof this["state"],
183
- value?: (this["state"] & Record<PropertyKey, unknown>)[Key],
184
- ): void;
185
- /** Synchronously flush any scheduled updates. */
186
- update(): void;
187
- /** Appends the dom for the current instance to a parent DOM element. */
188
- appendTo(target: ParentNode): this;
189
- /** Inserts the dom for the current instance after a sibling DOM element. */
190
- insertAfter(target: ChildNode): this;
191
- /** Inserts the dom for the current instance before a sibling DOM element. */
192
- insertBefore(target: ChildNode): this;
193
- /** Prepends the dom for the current instance to a parent DOM element. */
194
- prependTo(target: ParentNode): this;
195
- /** Replaces an existing DOM element with the dom for the current instance. */
196
- replace(target: ChildNode): this;
197
- /** Replaces the children of an existing DOM element with the dom for the current instance. */
198
- replaceChildrenOf(target: ParentNode): this;
199
- // /** Called when the component is firsted created. */
200
- // onCreate?(input: this["input"], out: Marko.Out): void;
201
- // /** Called every time the component receives input from it's parent. */
202
- // onInput?(input: this["input"], out: Marko.Out): void | this["input"];
203
- // /** Called after a component has successfully rendered, but before it's update has been applied to the dom. */
204
- // onRender?(out: Marko.Out): void;
205
- // /** Called after the first time the component renders and is attached to the dom. */
206
- // onMount?(): void;
207
- // /** Called when a components render has been applied to the DOM (excluding when it is initially mounted). */
208
- // onUpdate?(): void;
209
- // /** Called when a component is destroyed and removed from the dom. */
210
- // onDestroy?(): void;
211
- }
212
-
213
57
  /** The top level api for a Marko Template. */
214
58
  export abstract class Template<Input = unknown, Return = unknown> {
215
- /** Creates a Marko compatible output stream. */
216
- createOut(): Out;
217
-
218
59
  /**
219
60
  * The folowing types are processed up by the @marko/language-tools
220
61
  * and inlined into the compiled template.
@@ -226,99 +67,34 @@ declare global {
226
67
  */
227
68
 
228
69
  /** @marko-overload-start */
229
- /** Asynchronously render the template. */
230
- abstract render(
70
+ /** Render the template to a string. */
71
+ abstract render(input: Marko.TemplateInput<Input>): Promise<string> &
72
+ AsyncIterable<string> & {
73
+ toReadable(): ReadableStream;
74
+ pipe(stream: {
75
+ write(chunk: string): unknown;
76
+ end(): unknown;
77
+ flush?(): void;
78
+ }): void;
79
+ toString(): string;
80
+ };
81
+
82
+ /** Render and attach the template to a DOM node. */
83
+ abstract mount(
231
84
  input: Marko.TemplateInput<Input>,
232
- stream?: {
233
- write: (chunk: string) => void;
234
- end: (chunk?: string) => void;
235
- },
236
- ): Marko.Out<Marko.Component>;
237
-
238
- /** Asynchronously render the template in buffered mode. */
239
- abstract render(
240
- input: Marko.TemplateInput<Input>,
241
- cb?: (
242
- err: Error | null,
243
- result: Marko.RenderResult<Marko.Component>,
244
- ) => void,
245
- ): Marko.Out<Marko.Component>;
246
-
247
- /** Synchronously render the template. */
248
- abstract renderSync(
249
- input: Marko.TemplateInput<Input>,
250
- ): Marko.RenderResult<Marko.Component>;
251
-
252
- /** Synchronously render a template to a string. */
253
- abstract renderToString(input: Marko.TemplateInput<Input>): string;
254
-
255
- /** Render a template and return a stream.Readable in nodejs or a ReadableStream in a web worker environment. */
256
- abstract stream(
257
- input: Marko.TemplateInput<Input>,
258
- ): ReadableStream<string> & NodeJS.ReadableStream;
85
+ reference: ParentNode & Node,
86
+ position?: "afterbegin" | "afterend" | "beforebegin" | "beforeend",
87
+ ): {
88
+ update(input: Marko.TemplateInput<Input>): void;
89
+ destroy(): void;
90
+ };
259
91
  /** @marko-overload-end */
260
92
  }
261
93
 
262
- export interface RenderResult<
263
- out Component extends Marko.Component = Marko.Component,
264
- > {
265
- /** Returns the component created as a result of rendering the template. */
266
- getComponent(): Component;
267
- getComponents(selector?: any): any;
268
- /** Triggers the mount lifecycle of a component without necessarily attaching it to the DOM. */
269
- afterInsert(host?: any): this;
270
- /** Gets the DOM node rendered by a template. */
271
- getNode(host?: any): Node;
272
- /** Gets the HTML output of the rendered template. */
273
- toString(): string;
274
- /** Appends the dom of the rendered template to a parent DOM element. */
275
- appendTo(target: ParentNode): this;
276
- /** Inserts the dom of the rendered template after a sibling DOM element. */
277
- insertAfter(target: ChildNode): this;
278
- /** Inserts the dom of the rendered template before a sibling DOM element. */
279
- insertBefore(target: ChildNode): this;
280
- /** Prepends the dom of the rendered template to a parent DOM element. */
281
- prependTo(target: ParentNode): this;
282
- /** Replaces an existing DOM element with the dom of the rendered template. */
283
- replace(target: ChildNode): this;
284
- /** Replaces the children of an existing DOM element with the dom of the rendered template. */
285
- replaceChildrenOf(target: ParentNode): this;
286
- out: Out<Component>;
287
- /** @deprecated */
288
- document: any;
289
- /** @deprecated */
290
- getOutput(): string;
291
- /** @deprecated */
292
- html: string;
293
- /** @deprecated */
294
- context: Out<Component>;
295
- }
296
-
297
- export interface Emitter {
298
- listenerCount(eventName: PropertyKey): number;
299
- emit(eventName: PropertyKey, ...args: any[]): boolean;
300
- on(eventName: PropertyKey, listener: (...args: any[]) => any): this;
301
- once(eventName: PropertyKey, listener: (...args: any[]) => any): this;
302
- prependListener(
303
- eventName: PropertyKey,
304
- listener: (...args: any[]) => any,
305
- ): this;
306
- removeListener(
307
- eventName: PropertyKey,
308
- listener: (...args: any[]) => any,
309
- ): this;
310
- removeAllListeners(eventName?: PropertyKey): this;
311
- }
312
-
313
94
  export type AttrTag<T> = T & {
314
95
  [Symbol.iterator](): Iterator<T>;
315
96
  };
316
97
 
317
- /**
318
- * @deprecated Prefer to use AttrTag
319
- */
320
- export type RepeatableAttrTag<T> = AttrTag<T>;
321
-
322
98
  export interface NativeTag<
323
99
  Input extends Record<string, any>,
324
100
  Return extends Element,
@@ -364,12 +140,5 @@ declare global {
364
140
  | Body<any, infer Return>
365
141
  ? Return
366
142
  : never;
367
-
368
- /** @deprecated @see {@link Marko.Input} */
369
- export type NativeTagInput<Name extends keyof NativeTags> =
370
- NativeTags[Name]["input"];
371
- /** @deprecated @see {@link Marko.Return} */
372
- export type NativeTagReturn<Name extends keyof NativeTags> =
373
- NativeTags[Name]["return"];
374
143
  }
375
144
  }
package/package.json CHANGED
@@ -1,91 +1,64 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "5.37.6",
4
- "description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.",
3
+ "version": "6.0.0-3.12",
4
+ "description": "Optimized runtime for Marko templates.",
5
5
  "keywords": [
6
- "front-end",
7
- "templating",
8
- "template",
9
- "async",
10
- "streaming",
11
- "components",
12
- "ui",
13
- "vdom",
14
- "dom",
15
- "morphdom",
16
- "virtual",
17
- "virtual-dom"
6
+ "api",
7
+ "marko",
8
+ "runtime",
9
+ "tags"
18
10
  ],
19
- "homepage": "https://markojs.com/",
11
+ "homepage": "https://github.com/marko-js/marko",
12
+ "bugs": "https://github.com/marko-js/marko/issues",
20
13
  "repository": {
21
14
  "type": "git",
22
15
  "url": "git+https://github.com/marko-js/marko.git",
23
- "directory": "packages/runtime-class"
16
+ "directory": "packages/runtime-tags"
24
17
  },
25
18
  "license": "MIT",
26
- "author": "Patrick Steele-Idem <pnidem@gmail.com>",
27
- "maintainers": [
28
- "Patrick Steele-Idem <pnidem@gmail.com>",
29
- "Michael Rawlings <ml.rawlings@gmail.com>",
30
- "Phillip Gates-Idem <phillip.idem@gmail.com>",
31
- "Austin Kelleher <a@alk.im>",
32
- "Dylan Piercey <pierceydylan@gmail.com>",
33
- "Martin Aberer"
34
- ],
35
- "main": "index.js",
36
- "browser": {
37
- "./compiler.js": "./compiler-browser.marko",
38
- "./components.js": "./components-browser.marko",
39
- "./legacy-components.js": "./legacy-components-browser.marko",
40
- "./index.js": "./index-browser.marko"
19
+ "exports": {
20
+ ".": {
21
+ "types": "./index.d.ts"
22
+ },
23
+ "./package.json": "./package.json",
24
+ "./translator": "./dist/translator/index.js",
25
+ "./tag-types/*": "./tag-types/*",
26
+ "./debug/*": {
27
+ "types": "./dist/*.d.ts",
28
+ "import": "./dist/debug/*.mjs",
29
+ "default": "./dist/debug/*.js"
30
+ },
31
+ "./*": {
32
+ "types": "./dist/*.d.ts",
33
+ "import": "./dist/*.mjs",
34
+ "default": "./dist/*.js"
35
+ }
41
36
  },
42
37
  "types": "index.d.ts",
43
- "bin": {
44
- "markoc": "bin/markoc"
45
- },
46
38
  "files": [
47
- "bin",
48
39
  "dist",
49
- "docs",
50
- "src",
51
- "helpers",
52
- "browser-refresh.js",
53
- "compiler-browser.marko",
54
- "compiler.js",
55
- "components-browser.marko",
56
- "components.js",
57
- "legacy-components-browser.marko",
58
- "legacy-components.js",
59
- "env.js",
40
+ "tag-types",
60
41
  "index.d.ts",
61
- "index-browser.marko",
62
- "index.js",
63
- "node-require.js",
64
42
  "tags-html.d.ts",
65
- "translator/package.json",
66
- "translator/index.d.ts"
43
+ "!**/meta.*.json",
44
+ "!**/__tests__",
45
+ "!**/*.tsbuildinfo"
67
46
  ],
68
47
  "scripts": {
69
- "build": "babel ./src --out-dir ./dist --extensions .js --copy-files --config-file ../../babel.config.js --env-name=production"
48
+ "build": "node -r ~ts ./scripts/bundle.ts"
70
49
  },
71
50
  "dependencies": {
72
- "@babel/runtime": "^7.26.0",
73
51
  "@marko/compiler": "^5.39.5",
74
- "app-module-path": "^2.2.0",
75
- "argly": "^1.2.0",
76
- "browser-refresh-client": "1.1.4",
77
- "complain": "^1.6.1",
78
52
  "csstype": "^3.1.3",
79
- "events-light": "^1.0.5",
80
- "listener-tracker": "^2.0.0",
81
- "magic-string": "^0.30.17",
82
- "minimatch": "^9.0.5",
83
- "raptor-util": "^3.2.0",
84
- "resolve-from": "^5.0.0",
85
- "self-closing-tags": "^1.0.1",
86
- "warp10": "^2.1.0"
53
+ "magic-string": "^0.30.17"
87
54
  },
88
- "logo": {
89
- "url": "https://raw.githubusercontent.com/marko-js/branding/master/marko-logo-small.png"
55
+ "exports:override": {
56
+ ".": {
57
+ "types": "./index.d.ts"
58
+ },
59
+ "./translator": "./src/translator/index.ts",
60
+ "./tag-types/*": "./tag-types/*",
61
+ "./debug/*": "./src/*.ts",
62
+ "./*": "./src/*.ts"
90
63
  }
91
64
  }
@@ -0,0 +1,7 @@
1
+ /** File for types only, not actual implementation **/
2
+
3
+ export interface Input<T> {
4
+ value: T;
5
+ }
6
+
7
+ return=input.value
@@ -0,0 +1,5 @@
1
+ /** File for types only, not actual implementation **/
2
+
3
+ export interface Input {
4
+ value?: unknown;
5
+ }
@@ -0,0 +1,5 @@
1
+ /** File for types only, not actual implementation **/
2
+
3
+ export type Input<T> = T;
4
+
5
+ return=input
@@ -0,0 +1,5 @@
1
+ /** File for types only, not actual implementation **/
2
+
3
+ export interface Input {
4
+ value?(): unknown;
5
+ }
@@ -0,0 +1,5 @@
1
+ /** File for types only, not actual implementation **/
2
+
3
+ export interface Input {
4
+ value?(): void;
5
+ }