marko 5.37.5 → 6.0.0-3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (648) hide show
  1. package/dist/common/attr-tag.d.ts +8 -0
  2. package/dist/common/compat-meta.d.ts +2 -0
  3. package/dist/common/for.d.ts +5 -0
  4. package/dist/common/helpers.d.ts +7 -0
  5. package/dist/common/meta.d.ts +2 -0
  6. package/dist/common/types.d.ts +105 -0
  7. package/dist/debug/dom.js +2111 -0
  8. package/dist/debug/dom.mjs +2088 -0
  9. package/dist/debug/html.js +2740 -0
  10. package/dist/debug/html.mjs +2663 -0
  11. package/dist/dom/abort-signal.d.ts +3 -0
  12. package/dist/dom/compat.d.ts +20 -0
  13. package/dist/dom/control-flow.d.ts +14 -0
  14. package/dist/dom/controllable.d.ts +12 -0
  15. package/dist/dom/dom.d.ts +19 -0
  16. package/dist/dom/event.d.ts +4 -0
  17. package/dist/dom/parse-html.d.ts +5 -0
  18. package/dist/dom/queue.d.ts +10 -0
  19. package/dist/dom/reconcile.d.ts +2 -0
  20. package/dist/dom/renderer.d.ts +21 -0
  21. package/dist/dom/resolve-cursor-position.d.ts +1 -0
  22. package/dist/dom/resume.d.ts +9 -0
  23. package/dist/dom/schedule.d.ts +2 -0
  24. package/dist/dom/scope.d.ts +7 -0
  25. package/dist/dom/signals.d.ts +39 -0
  26. package/dist/dom/template.d.ts +3 -0
  27. package/dist/dom/walker.d.ts +4 -0
  28. package/dist/dom.d.ts +15 -0
  29. package/dist/dom.js +1370 -0
  30. package/dist/dom.mjs +1350 -0
  31. package/dist/html/attrs.d.ts +14 -0
  32. package/dist/html/compat.d.ts +14 -0
  33. package/dist/html/content.d.ts +5 -0
  34. package/dist/html/dynamic-tag.d.ts +12 -0
  35. package/dist/html/for.d.ts +4 -0
  36. package/dist/html/inlined-runtimes.d.ts +2 -0
  37. package/dist/html/serializer.d.ts +14 -0
  38. package/dist/html/template.d.ts +3 -0
  39. package/dist/html/writer.d.ts +114 -0
  40. package/dist/html.d.ts +9 -0
  41. package/dist/html.js +1818 -0
  42. package/dist/html.mjs +1744 -0
  43. package/dist/translator/core/attrs.d.ts +3 -0
  44. package/dist/translator/core/client.d.ts +14 -0
  45. package/dist/translator/core/const.d.ts +3 -0
  46. package/dist/translator/core/debug.d.ts +3 -0
  47. package/dist/translator/core/define.d.ts +3 -0
  48. package/dist/translator/core/effect.d.ts +3 -0
  49. package/dist/translator/core/export.d.ts +3 -0
  50. package/dist/translator/core/for.d.ts +67 -0
  51. package/dist/translator/core/html-comment.d.ts +12 -0
  52. package/dist/translator/core/html-script.d.ts +9 -0
  53. package/dist/translator/core/html-style.d.ts +9 -0
  54. package/dist/translator/core/id.d.ts +3 -0
  55. package/dist/translator/core/if.d.ts +53 -0
  56. package/dist/translator/core/import.d.ts +3 -0
  57. package/dist/translator/core/index.d.ts +152 -0
  58. package/dist/translator/core/let.d.ts +8 -0
  59. package/dist/translator/core/lifecycle.d.ts +10 -0
  60. package/dist/translator/core/log.d.ts +3 -0
  61. package/dist/translator/core/return.d.ts +6 -0
  62. package/dist/translator/core/script.d.ts +3 -0
  63. package/dist/translator/core/server.d.ts +14 -0
  64. package/dist/translator/core/static.d.ts +14 -0
  65. package/dist/translator/core/style.d.ts +3 -0
  66. package/dist/translator/index.d.ts +201 -0
  67. package/dist/translator/index.js +9134 -490
  68. package/dist/translator/util/assert.d.ts +3 -0
  69. package/dist/translator/util/binding-has-downstream-expressions.d.ts +2 -0
  70. package/dist/translator/util/entry-builder.d.ts +19 -0
  71. package/dist/translator/util/evaluate.d.ts +11 -0
  72. package/dist/translator/util/for-each-identifier.d.ts +2 -0
  73. package/dist/translator/util/get-defined-binding-expression.d.ts +3 -0
  74. package/dist/translator/util/get-known-attr-values.d.ts +2 -0
  75. package/dist/translator/util/get-parent-tag.d.ts +2 -0
  76. package/dist/translator/util/get-root.d.ts +7 -0
  77. package/dist/translator/util/get-tag-name.d.ts +2 -0
  78. package/dist/translator/util/is-core-tag.d.ts +10 -0
  79. package/dist/translator/util/is-stateful.d.ts +3 -0
  80. package/dist/translator/util/is-static.d.ts +2 -0
  81. package/dist/translator/util/marko-config.d.ts +4 -0
  82. package/dist/translator/util/nested-attribute-tags.d.ts +17 -0
  83. package/dist/translator/util/normalize-string-expression.d.ts +3 -0
  84. package/dist/translator/util/optional.d.ts +20 -0
  85. package/dist/translator/util/plugin-hooks.d.ts +4 -0
  86. package/dist/translator/util/references.d.ts +84 -0
  87. package/dist/translator/util/runtime-info.d.ts +5 -0
  88. package/dist/translator/util/runtime.d.ts +15 -0
  89. package/dist/translator/util/scope-read.d.ts +6 -0
  90. package/dist/translator/util/sections.d.ts +51 -0
  91. package/dist/translator/util/signals.d.ts +61 -0
  92. package/dist/translator/util/simplify-fn.d.ts +5 -0
  93. package/dist/translator/util/state.d.ts +3 -0
  94. package/dist/translator/util/tag-name-type.d.ts +16 -0
  95. package/dist/translator/util/to-first-expression-or-block.d.ts +3 -0
  96. package/dist/translator/util/to-first-statement-or-block.d.ts +2 -0
  97. package/dist/translator/util/to-property-name.d.ts +7 -0
  98. package/dist/translator/util/translate-attrs.d.ts +12 -0
  99. package/dist/translator/util/translate-var.d.ts +2 -0
  100. package/dist/translator/util/traverse.d.ts +9 -0
  101. package/dist/translator/util/visitors.d.ts +11 -0
  102. package/dist/translator/util/walks.d.ts +15 -0
  103. package/dist/translator/util/with-previous-location.d.ts +2 -0
  104. package/dist/translator/util/writer.d.ts +13 -0
  105. package/dist/translator/visitors/cdata.d.ts +7 -0
  106. package/dist/translator/visitors/comment.d.ts +7 -0
  107. package/dist/translator/visitors/declaration.d.ts +7 -0
  108. package/dist/translator/visitors/document-type.d.ts +7 -0
  109. package/dist/translator/visitors/function.d.ts +19 -0
  110. package/dist/translator/visitors/import-declaration.d.ts +8 -0
  111. package/dist/translator/visitors/placeholder.d.ts +22 -0
  112. package/dist/translator/visitors/program/dom.d.ts +7 -0
  113. package/dist/translator/visitors/program/html.d.ts +8 -0
  114. package/dist/translator/visitors/program/index.d.ts +39 -0
  115. package/dist/translator/visitors/referenced-identifier.d.ts +7 -0
  116. package/dist/translator/visitors/scriptlet.d.ts +8 -0
  117. package/dist/translator/visitors/tag/attribute-tag.d.ts +11 -0
  118. package/dist/translator/visitors/tag/custom-tag.d.ts +19 -0
  119. package/dist/translator/visitors/tag/dynamic-tag.d.ts +18 -0
  120. package/dist/translator/visitors/tag/index.d.ts +15 -0
  121. package/dist/translator/visitors/tag/native-tag.d.ts +25 -0
  122. package/dist/translator/visitors/text.d.ts +7 -0
  123. package/package.json +34 -70
  124. package/tag-types/const.d.marko +7 -0
  125. package/tag-types/debug.d.marko +5 -0
  126. package/tag-types/define.d.marko +5 -0
  127. package/tag-types/do.d.marko +5 -0
  128. package/tag-types/effect.d.marko +5 -0
  129. package/tag-types/id.d.marko +3 -0
  130. package/tag-types/let.d.marko +8 -0
  131. package/tag-types/lifecycle.d.marko +7 -0
  132. package/tag-types/log.d.marko +5 -0
  133. package/tag-types/script.d.marko +5 -0
  134. package/README.md +0 -161
  135. package/bin/markoc +0 -2
  136. package/bin/markoc.js +0 -441
  137. package/browser-refresh.js +0 -5
  138. package/compiler-browser.marko +0 -15
  139. package/compiler.js +0 -7
  140. package/components-browser.marko +0 -15
  141. package/components.js +0 -7
  142. package/dist/build.json +0 -3
  143. package/dist/compiler/config.js +0 -45
  144. package/dist/compiler/index.js +0 -164
  145. package/dist/compiler/modules.js +0 -5
  146. package/dist/core-tags/components/init-components-tag.js +0 -54
  147. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  148. package/dist/core-tags/components/preserve-tag.js +0 -1
  149. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  150. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  151. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  152. package/dist/core-tags/core/await/index.d.marko +0 -10
  153. package/dist/core-tags/core/await/renderer.js +0 -249
  154. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  155. package/dist/index.js +0 -4
  156. package/dist/node-require/browser-refresh.js +0 -1
  157. package/dist/node-require/hot-reload.js +0 -45
  158. package/dist/node-require/index.js +0 -103
  159. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  160. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  161. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  162. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  163. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  164. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  165. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  166. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  167. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  168. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  169. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  170. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  171. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  172. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  173. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  174. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  175. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  176. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  177. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  178. package/dist/node_modules/@internal/components-util/index.js +0 -71
  179. package/dist/node_modules/@internal/components-util/package.json +0 -11
  180. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  181. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  182. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  183. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  184. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  185. package/dist/node_modules/@internal/loader/index.js +0 -23
  186. package/dist/node_modules/@internal/loader/package.json +0 -10
  187. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  188. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  189. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  190. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  191. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  192. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  193. package/dist/node_modules/@internal/require/index.js +0 -15
  194. package/dist/node_modules/@internal/require/package.json +0 -11
  195. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  196. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  197. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  198. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  199. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  200. package/dist/runtime/RenderResult.js +0 -112
  201. package/dist/runtime/components/Component.js +0 -663
  202. package/dist/runtime/components/ComponentDef.js +0 -169
  203. package/dist/runtime/components/ComponentsContext.js +0 -59
  204. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  205. package/dist/runtime/components/KeySequence.js +0 -16
  206. package/dist/runtime/components/ServerComponent.js +0 -73
  207. package/dist/runtime/components/State.js +0 -101
  208. package/dist/runtime/components/attach-detach.js +0 -60
  209. package/dist/runtime/components/defineComponent.js +0 -60
  210. package/dist/runtime/components/dom-data.js +0 -8
  211. package/dist/runtime/components/event-delegation.js +0 -144
  212. package/dist/runtime/components/index.js +0 -1
  213. package/dist/runtime/components/legacy/browser.json +0 -9
  214. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  215. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  216. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  217. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  218. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  219. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  220. package/dist/runtime/components/legacy/index.js +0 -1
  221. package/dist/runtime/components/legacy/jquery.js +0 -52
  222. package/dist/runtime/components/legacy/ready.js +0 -152
  223. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  224. package/dist/runtime/components/registry.js +0 -1
  225. package/dist/runtime/components/renderer.js +0 -236
  226. package/dist/runtime/components/update-manager.js +0 -94
  227. package/dist/runtime/createOut.js +0 -13
  228. package/dist/runtime/dom-insert.js +0 -77
  229. package/dist/runtime/events.js +0 -2
  230. package/dist/runtime/helpers/_change-case.js +0 -45
  231. package/dist/runtime/helpers/assign.js +0 -21
  232. package/dist/runtime/helpers/attr-tag.js +0 -43
  233. package/dist/runtime/helpers/class-value.js +0 -30
  234. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  235. package/dist/runtime/helpers/empty-component.js +0 -1
  236. package/dist/runtime/helpers/merge.js +0 -13
  237. package/dist/runtime/helpers/of-fallback.js +0 -4
  238. package/dist/runtime/helpers/render-tag.js +0 -20
  239. package/dist/runtime/helpers/serialize-noop.js +0 -5
  240. package/dist/runtime/helpers/style-value.js +0 -45
  241. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  242. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  243. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  244. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  245. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  246. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  247. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  248. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  249. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  250. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  251. package/dist/runtime/helpers/to-string.js +0 -5
  252. package/dist/runtime/html/AsyncStream.js +0 -805
  253. package/dist/runtime/html/BufferedWriter.js +0 -52
  254. package/dist/runtime/html/StringWriter.js +0 -73
  255. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  256. package/dist/runtime/html/helpers/attr.js +0 -80
  257. package/dist/runtime/html/helpers/attrs.js +0 -26
  258. package/dist/runtime/html/helpers/class-attr.js +0 -8
  259. package/dist/runtime/html/helpers/data-marko.js +0 -36
  260. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  261. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  262. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  263. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  264. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  265. package/dist/runtime/html/helpers/props-script.js +0 -32
  266. package/dist/runtime/html/helpers/style-attr.js +0 -8
  267. package/dist/runtime/html/hot-reload.js +0 -26
  268. package/dist/runtime/html/index.js +0 -33
  269. package/dist/runtime/html/marko-namespace.js +0 -3
  270. package/dist/runtime/renderable.js +0 -194
  271. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  272. package/dist/runtime/vdom/VComment.js +0 -24
  273. package/dist/runtime/vdom/VComponent.js +0 -17
  274. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  275. package/dist/runtime/vdom/VElement.js +0 -375
  276. package/dist/runtime/vdom/VFragment.js +0 -26
  277. package/dist/runtime/vdom/VNode.js +0 -100
  278. package/dist/runtime/vdom/VText.js +0 -25
  279. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  280. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  281. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  282. package/dist/runtime/vdom/hot-reload.js +0 -115
  283. package/dist/runtime/vdom/index.js +0 -30
  284. package/dist/runtime/vdom/is-text-only.js +0 -10
  285. package/dist/runtime/vdom/marko-namespace.js +0 -3
  286. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  287. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  288. package/dist/runtime/vdom/morphdom/index.js +0 -741
  289. package/dist/runtime/vdom/parse-html.js +0 -18
  290. package/dist/runtime/vdom/vdom.js +0 -88
  291. package/dist/taglib/index.js +0 -51
  292. package/dist/translator/cdata/index.js +0 -15
  293. package/dist/translator/cdata/index[html].js +0 -15
  294. package/dist/translator/cdata/index[vdom].js +0 -12
  295. package/dist/translator/class.js +0 -65
  296. package/dist/translator/comment/index.js +0 -15
  297. package/dist/translator/comment/index[html].js +0 -17
  298. package/dist/translator/comment/index[vdom].js +0 -3
  299. package/dist/translator/declaration/index.js +0 -15
  300. package/dist/translator/declaration/index[html].js +0 -12
  301. package/dist/translator/declaration/index[vdom].js +0 -3
  302. package/dist/translator/document-type/index.js +0 -15
  303. package/dist/translator/document-type/index[html].js +0 -12
  304. package/dist/translator/document-type/index[vdom].js +0 -3
  305. package/dist/translator/placeholder/index.js +0 -15
  306. package/dist/translator/placeholder/index[html].js +0 -93
  307. package/dist/translator/placeholder/index[vdom].js +0 -22
  308. package/dist/translator/scriptlet.js +0 -4
  309. package/dist/translator/tag/attribute/directives/class.js +0 -42
  310. package/dist/translator/tag/attribute/directives/index.js +0 -15
  311. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  312. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  313. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  314. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  315. package/dist/translator/tag/attribute/directives/style.js +0 -42
  316. package/dist/translator/tag/attribute/index.js +0 -150
  317. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  318. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  319. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  320. package/dist/translator/tag/attribute-tag.js +0 -149
  321. package/dist/translator/tag/custom-tag.js +0 -146
  322. package/dist/translator/tag/dynamic-tag.js +0 -74
  323. package/dist/translator/tag/index.js +0 -287
  324. package/dist/translator/tag/macro-tag.js +0 -7
  325. package/dist/translator/tag/native-tag.js +0 -27
  326. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  327. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  328. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  329. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  330. package/dist/translator/tag/util.js +0 -246
  331. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  332. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  333. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  334. package/dist/translator/taglib/core/conditional/util.js +0 -41
  335. package/dist/translator/taglib/core/index.js +0 -474
  336. package/dist/translator/taglib/core/macro/parse.js +0 -17
  337. package/dist/translator/taglib/core/macro/translate.js +0 -48
  338. package/dist/translator/taglib/core/parse-class.js +0 -79
  339. package/dist/translator/taglib/core/parse-export.js +0 -14
  340. package/dist/translator/taglib/core/parse-import.js +0 -14
  341. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  342. package/dist/translator/taglib/core/parse-static.js +0 -18
  343. package/dist/translator/taglib/core/transform-style.js +0 -66
  344. package/dist/translator/taglib/core/translate-await.js +0 -41
  345. package/dist/translator/taglib/core/translate-body.js +0 -17
  346. package/dist/translator/taglib/core/translate-for.js +0 -156
  347. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  348. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  349. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  350. package/dist/translator/taglib/core/translate-while.js +0 -32
  351. package/dist/translator/taglib/index.js +0 -6
  352. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  353. package/dist/translator/taglib/migrate/index.js +0 -5
  354. package/dist/translator/text/index.js +0 -10
  355. package/dist/translator/text/index[html].js +0 -12
  356. package/dist/translator/text/index[vdom].js +0 -20
  357. package/dist/translator/util/add-dependencies.js +0 -329
  358. package/dist/translator/util/escape-regexp.js +0 -4
  359. package/dist/translator/util/get-component-files.js +0 -86
  360. package/dist/translator/util/html-out-write.js +0 -15
  361. package/dist/translator/util/key-manager.js +0 -176
  362. package/dist/translator/util/optimize-html-writes.js +0 -52
  363. package/dist/translator/util/optimize-vdom-create.js +0 -164
  364. package/dist/translator/util/plugin-hooks.js +0 -22
  365. package/dist/translator/util/runtime-flags.js +0 -3
  366. package/dist/translator/util/vdom-out-write.js +0 -10
  367. package/dist/translator/util/with-previous-location.js +0 -6
  368. package/docs/10-awesome-marko-features.md +0 -291
  369. package/docs/body-content.md +0 -355
  370. package/docs/class-components.md +0 -1001
  371. package/docs/cloudflare-workers.md +0 -32
  372. package/docs/compiler-hooks.png +0 -0
  373. package/docs/compiler.md +0 -473
  374. package/docs/component-diagram.afdesign +0 -0
  375. package/docs/component-diagram.svg +0 -87
  376. package/docs/concise.md +0 -141
  377. package/docs/conditionals-and-lists.md +0 -72
  378. package/docs/core-tags.md +0 -325
  379. package/docs/custom-tags.md +0 -201
  380. package/docs/editor-plugins.md +0 -45
  381. package/docs/events.md +0 -131
  382. package/docs/express.md +0 -66
  383. package/docs/fastify.md +0 -65
  384. package/docs/getting-started.md +0 -95
  385. package/docs/http.md +0 -34
  386. package/docs/icons/js.svg +0 -4
  387. package/docs/icons/marko.svg +0 -1
  388. package/docs/icons/ts.svg +0 -1
  389. package/docs/installing.md +0 -51
  390. package/docs/koa.md +0 -35
  391. package/docs/lasso.md +0 -196
  392. package/docs/marko-5-upgrade.md +0 -59
  393. package/docs/marko-json.md +0 -248
  394. package/docs/marko-vs-react.md +0 -854
  395. package/docs/redux.md +0 -61
  396. package/docs/rendering.md +0 -268
  397. package/docs/rollup.md +0 -352
  398. package/docs/state.md +0 -105
  399. package/docs/structure.json +0 -49
  400. package/docs/styles.md +0 -29
  401. package/docs/syntax.md +0 -601
  402. package/docs/troubleshooting-streaming.md +0 -68
  403. package/docs/typescript.md +0 -406
  404. package/docs/vite.md +0 -86
  405. package/docs/webpack.md +0 -205
  406. package/docs/why-is-marko-fast.md +0 -239
  407. package/env.js +0 -7
  408. package/helpers/README.md +0 -3
  409. package/helpers/empty.js +0 -4
  410. package/helpers/notEmpty.js +0 -11
  411. package/index-browser.marko +0 -15
  412. package/index.d.ts +0 -375
  413. package/index.js +0 -7
  414. package/legacy-components-browser.marko +0 -15
  415. package/legacy-components.js +0 -7
  416. package/node-require.js +0 -8
  417. package/src/build.json +0 -3
  418. package/src/compiler/config.js +0 -45
  419. package/src/compiler/index.js +0 -164
  420. package/src/compiler/modules.js +0 -5
  421. package/src/core-tags/.eslintrc +0 -5
  422. package/src/core-tags/components/init-components-tag.js +0 -54
  423. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  424. package/src/core-tags/components/preserve-tag.js +0 -1
  425. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  426. package/src/core-tags/core/await/AsyncValue.js +0 -121
  427. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  428. package/src/core-tags/core/await/index.d.marko +0 -10
  429. package/src/core-tags/core/await/renderer.js +0 -249
  430. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  431. package/src/index.js +0 -4
  432. package/src/node-require/browser-refresh.js +0 -18
  433. package/src/node-require/hot-reload.js +0 -45
  434. package/src/node-require/index.js +0 -103
  435. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  436. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  437. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  438. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  439. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  440. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  441. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  442. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  443. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  444. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  445. package/src/node_modules/@internal/components-entry/index.js +0 -301
  446. package/src/node_modules/@internal/components-entry/package.json +0 -11
  447. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  448. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  449. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  450. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  451. package/src/node_modules/@internal/components-registry/index.js +0 -44
  452. package/src/node_modules/@internal/components-registry/package.json +0 -11
  453. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  454. package/src/node_modules/@internal/components-util/index.js +0 -75
  455. package/src/node_modules/@internal/components-util/package.json +0 -11
  456. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  457. package/src/node_modules/@internal/create-readable/index.js +0 -57
  458. package/src/node_modules/@internal/create-readable/package.json +0 -11
  459. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  460. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  461. package/src/node_modules/@internal/loader/index.js +0 -23
  462. package/src/node_modules/@internal/loader/package.json +0 -10
  463. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  464. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  465. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  466. package/src/node_modules/@internal/require/index-browser.js +0 -15
  467. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  468. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  469. package/src/node_modules/@internal/require/index.js +0 -15
  470. package/src/node_modules/@internal/require/package.json +0 -11
  471. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  472. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  473. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  474. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  475. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  476. package/src/runtime/.eslintrc +0 -5
  477. package/src/runtime/RenderResult.js +0 -112
  478. package/src/runtime/components/Component.js +0 -663
  479. package/src/runtime/components/ComponentDef.js +0 -169
  480. package/src/runtime/components/ComponentsContext.js +0 -59
  481. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  482. package/src/runtime/components/KeySequence.js +0 -16
  483. package/src/runtime/components/ServerComponent.js +0 -73
  484. package/src/runtime/components/State.js +0 -101
  485. package/src/runtime/components/attach-detach.js +0 -60
  486. package/src/runtime/components/defineComponent.js +0 -60
  487. package/src/runtime/components/dom-data.js +0 -8
  488. package/src/runtime/components/event-delegation.js +0 -144
  489. package/src/runtime/components/index.js +0 -1
  490. package/src/runtime/components/legacy/browser.json +0 -9
  491. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  492. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  493. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  494. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  495. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  496. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  497. package/src/runtime/components/legacy/index.js +0 -1
  498. package/src/runtime/components/legacy/jquery.js +0 -52
  499. package/src/runtime/components/legacy/ready.js +0 -152
  500. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  501. package/src/runtime/components/registry.js +0 -1
  502. package/src/runtime/components/renderer.js +0 -236
  503. package/src/runtime/components/update-manager.js +0 -94
  504. package/src/runtime/createOut.js +0 -13
  505. package/src/runtime/dom-insert.js +0 -77
  506. package/src/runtime/events.js +0 -2
  507. package/src/runtime/helpers/_change-case.js +0 -45
  508. package/src/runtime/helpers/assign.js +0 -21
  509. package/src/runtime/helpers/attr-tag.js +0 -43
  510. package/src/runtime/helpers/class-value.js +0 -30
  511. package/src/runtime/helpers/dynamic-tag.js +0 -181
  512. package/src/runtime/helpers/empty-component.js +0 -1
  513. package/src/runtime/helpers/merge.js +0 -13
  514. package/src/runtime/helpers/of-fallback.js +0 -4
  515. package/src/runtime/helpers/render-tag.js +0 -20
  516. package/src/runtime/helpers/serialize-noop.js +0 -5
  517. package/src/runtime/helpers/style-value.js +0 -45
  518. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  519. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  520. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  521. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  522. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  523. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  524. package/src/runtime/helpers/tags-compat/html.js +0 -3
  525. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  526. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  527. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  528. package/src/runtime/helpers/to-string.js +0 -5
  529. package/src/runtime/html/AsyncStream.js +0 -805
  530. package/src/runtime/html/BufferedWriter.js +0 -52
  531. package/src/runtime/html/StringWriter.js +0 -73
  532. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  533. package/src/runtime/html/helpers/attr.js +0 -80
  534. package/src/runtime/html/helpers/attrs.js +0 -26
  535. package/src/runtime/html/helpers/class-attr.js +0 -8
  536. package/src/runtime/html/helpers/data-marko.js +0 -36
  537. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  538. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  539. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  540. package/src/runtime/html/helpers/escape-xml.js +0 -21
  541. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  542. package/src/runtime/html/helpers/props-script.js +0 -32
  543. package/src/runtime/html/helpers/style-attr.js +0 -8
  544. package/src/runtime/html/hot-reload.js +0 -26
  545. package/src/runtime/html/index.js +0 -33
  546. package/src/runtime/html/marko-namespace.js +0 -3
  547. package/src/runtime/renderable.js +0 -194
  548. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  549. package/src/runtime/vdom/VComment.js +0 -24
  550. package/src/runtime/vdom/VComponent.js +0 -17
  551. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  552. package/src/runtime/vdom/VElement.js +0 -375
  553. package/src/runtime/vdom/VFragment.js +0 -26
  554. package/src/runtime/vdom/VNode.js +0 -100
  555. package/src/runtime/vdom/VText.js +0 -25
  556. package/src/runtime/vdom/helpers/attrs.js +0 -62
  557. package/src/runtime/vdom/helpers/const-element.js +0 -25
  558. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  559. package/src/runtime/vdom/hot-reload.js +0 -115
  560. package/src/runtime/vdom/index.js +0 -30
  561. package/src/runtime/vdom/is-text-only.js +0 -10
  562. package/src/runtime/vdom/marko-namespace.js +0 -3
  563. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  564. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  565. package/src/runtime/vdom/morphdom/index.js +0 -741
  566. package/src/runtime/vdom/parse-html.js +0 -18
  567. package/src/runtime/vdom/vdom.js +0 -88
  568. package/src/taglib/index.js +0 -51
  569. package/src/translator/cdata/index.js +0 -15
  570. package/src/translator/cdata/index[html].js +0 -15
  571. package/src/translator/cdata/index[vdom].js +0 -12
  572. package/src/translator/class.js +0 -65
  573. package/src/translator/comment/index.js +0 -15
  574. package/src/translator/comment/index[html].js +0 -17
  575. package/src/translator/comment/index[vdom].js +0 -3
  576. package/src/translator/declaration/index.js +0 -15
  577. package/src/translator/declaration/index[html].js +0 -12
  578. package/src/translator/declaration/index[vdom].js +0 -3
  579. package/src/translator/document-type/index.js +0 -15
  580. package/src/translator/document-type/index[html].js +0 -12
  581. package/src/translator/document-type/index[vdom].js +0 -3
  582. package/src/translator/index.js +0 -552
  583. package/src/translator/placeholder/index.js +0 -15
  584. package/src/translator/placeholder/index[html].js +0 -93
  585. package/src/translator/placeholder/index[vdom].js +0 -22
  586. package/src/translator/scriptlet.js +0 -4
  587. package/src/translator/tag/attribute/directives/class.js +0 -42
  588. package/src/translator/tag/attribute/directives/index.js +0 -15
  589. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  590. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  591. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  592. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  593. package/src/translator/tag/attribute/directives/style.js +0 -42
  594. package/src/translator/tag/attribute/index.js +0 -150
  595. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  596. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  597. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  598. package/src/translator/tag/attribute-tag.js +0 -149
  599. package/src/translator/tag/custom-tag.js +0 -146
  600. package/src/translator/tag/dynamic-tag.js +0 -74
  601. package/src/translator/tag/index.js +0 -287
  602. package/src/translator/tag/macro-tag.js +0 -7
  603. package/src/translator/tag/native-tag.js +0 -27
  604. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  605. package/src/translator/tag/native-tag[html]/index.js +0 -221
  606. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  607. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  608. package/src/translator/tag/util.js +0 -246
  609. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  610. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  611. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  612. package/src/translator/taglib/core/conditional/util.js +0 -41
  613. package/src/translator/taglib/core/index.js +0 -474
  614. package/src/translator/taglib/core/macro/parse.js +0 -17
  615. package/src/translator/taglib/core/macro/translate.js +0 -48
  616. package/src/translator/taglib/core/parse-class.js +0 -79
  617. package/src/translator/taglib/core/parse-export.js +0 -14
  618. package/src/translator/taglib/core/parse-import.js +0 -14
  619. package/src/translator/taglib/core/parse-module-code.js +0 -18
  620. package/src/translator/taglib/core/parse-static.js +0 -18
  621. package/src/translator/taglib/core/transform-style.js +0 -66
  622. package/src/translator/taglib/core/translate-await.js +0 -41
  623. package/src/translator/taglib/core/translate-body.js +0 -17
  624. package/src/translator/taglib/core/translate-for.js +0 -156
  625. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  626. package/src/translator/taglib/core/translate-include-content.js +0 -53
  627. package/src/translator/taglib/core/translate-server-only.js +0 -5
  628. package/src/translator/taglib/core/translate-while.js +0 -32
  629. package/src/translator/taglib/index.js +0 -7
  630. package/src/translator/taglib/migrate/all-templates.js +0 -46
  631. package/src/translator/taglib/migrate/index.js +0 -5
  632. package/src/translator/text/index.js +0 -10
  633. package/src/translator/text/index[html].js +0 -12
  634. package/src/translator/text/index[vdom].js +0 -20
  635. package/src/translator/util/add-dependencies.js +0 -329
  636. package/src/translator/util/escape-regexp.js +0 -4
  637. package/src/translator/util/get-component-files.js +0 -86
  638. package/src/translator/util/html-out-write.js +0 -15
  639. package/src/translator/util/key-manager.js +0 -176
  640. package/src/translator/util/optimize-html-writes.js +0 -52
  641. package/src/translator/util/optimize-vdom-create.js +0 -164
  642. package/src/translator/util/plugin-hooks.js +0 -22
  643. package/src/translator/util/runtime-flags.js +0 -3
  644. package/src/translator/util/vdom-out-write.js +0 -10
  645. package/src/translator/util/with-previous-location.js +0 -6
  646. package/tags-html.d.ts +0 -3855
  647. package/translator/index.d.ts +0 -7
  648. package/translator/package.json +0 -5
@@ -0,0 +1,3 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ export declare function assertNoSpreadAttrs(tag: t.NodePath<t.MarkoTag>): void;
3
+ export declare function assertNoBodyContent(tag: t.NodePath<t.MarkoTag>): void;
@@ -0,0 +1,2 @@
1
+ import type { Binding } from "./references";
2
+ export declare function bindingHasDownstreamExpressions(binding: Binding): boolean;
@@ -0,0 +1,19 @@
1
+ import { types as t } from "@marko/compiler";
2
+ declare module "@marko/compiler/dist/types" {
3
+ interface ProgramExtra {
4
+ isInteractive?: boolean;
5
+ hasInteractiveChild?: boolean;
6
+ }
7
+ }
8
+ type EntryFile = t.BabelFile & {
9
+ [kState]?: {
10
+ imports: string[];
11
+ init: boolean;
12
+ };
13
+ };
14
+ declare const kState: unique symbol;
15
+ declare const _default: {
16
+ build(entryFile: EntryFile): t.Statement[];
17
+ visit(file: t.BabelFile, entryFile: EntryFile, visitChild: (id: string) => void): void;
18
+ };
19
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ declare module "@marko/compiler/dist/types" {
3
+ interface NodeExtra {
4
+ confident?: boolean;
5
+ computed?: unknown;
6
+ }
7
+ }
8
+ export default function evaluate(value: t.Expression): (t.NodeExtra | (t.ArrowFunctionExpressionExtra & t.NodeExtra) | (t.FunctionExpressionExtra & t.NodeExtra)) & {
9
+ confident: boolean;
10
+ computed: unknown;
11
+ };
@@ -0,0 +1,2 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ export declare function forEachIdentifier(node: t.Node, cb: (identifier: t.Identifier) => void): void;
@@ -0,0 +1,3 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import type { Binding } from "./references";
3
+ export declare function getDeclaredBindingExpression(binding: Binding): t.Identifier | t.OptionalMemberExpression | t.MemberExpression;
@@ -0,0 +1,2 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ export declare function getKnownAttrValues(tag: t.MarkoTag): Record<string, t.Expression>;
@@ -0,0 +1,2 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ export declare function getParentTag(tag: t.NodePath<t.MarkoTag>): t.NodePath<t.MarkoTag> | undefined;
@@ -0,0 +1,7 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ type MarkoExprRootPath = t.NodePath<t.MarkoTag | t.MarkoTagBody | t.MarkoAttribute | t.MarkoSpreadAttribute | t.MarkoScriptlet | t.MarkoPlaceholder>;
3
+ export declare function getMarkoRoot(path: t.NodePath<t.Node>): MarkoExprRootPath | null;
4
+ export declare function getExprRoot(path: t.NodePath<t.Node>): t.NodePath<t.Node>;
5
+ export declare function getFnRoot(path: t.NodePath<t.Node>): t.NodePath<t.ArrowFunctionExpression | t.FunctionExpression> | undefined;
6
+ export declare function isMarko(path: t.NodePath<any>): path is MarkoExprRootPath;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ export declare function getTagName<T extends t.MarkoTag>(tag: t.NodePath<T>): T["name"] extends t.StringLiteral ? string : string | undefined;
@@ -0,0 +1,10 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ export declare function isCoreTag(tag: t.NodePath): tag is t.NodePath<t.MarkoTag & {
3
+ name: t.StringLiteral;
4
+ }>;
5
+ export declare function isCoreTagName(tag: t.NodePath, name: string): tag is t.NodePath<t.MarkoTag & {
6
+ name: t.StringLiteral;
7
+ }>;
8
+ export declare function isConditionTag(tag: t.NodePath): tag is t.NodePath<t.MarkoTag & {
9
+ name: t.StringLiteral;
10
+ }>;
@@ -0,0 +1,3 @@
1
+ import { type Binding, type ReferencedBindings } from "./references";
2
+ export declare function isStatefulReferences(referencedBindings: ReferencedBindings): boolean;
3
+ export declare function isStatefulBinding(binding: Binding): boolean;
@@ -0,0 +1,2 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ export default function isStatic(path: t.NodePath<any>): path is t.NodePath<t.MarkoScriptlet> | t.NodePath<t.ExportDeclaration> | t.NodePath<t.ImportDeclaration>;
@@ -0,0 +1,4 @@
1
+ export declare function isOutputHTML(): boolean;
2
+ export declare function isOutputDOM(): boolean;
3
+ export declare function getMarkoOpts(): Required<import("@marko/compiler").Config>;
4
+ export declare function isOptimize(): boolean;
@@ -0,0 +1,17 @@
1
+ import { types as t } from "@marko/compiler";
2
+ export type AttrTagLookup = Record<string, {
3
+ name: string;
4
+ dynamic: boolean;
5
+ repeated: boolean;
6
+ group: AttrTagNames;
7
+ }>;
8
+ type AttrTagNames = string[];
9
+ declare module "@marko/compiler/dist/types" {
10
+ interface MarkoTagExtra {
11
+ attributeTags?: AttrTagLookup;
12
+ attributeTagGroup?: AttrTagLookup[string]["group"];
13
+ }
14
+ }
15
+ export declare function getAttrTagIdentifier(meta: AttrTagLookup[string]): t.Identifier;
16
+ export declare function analyzeAttributeTags(tag: t.NodePath<t.MarkoTag>): AttrTagLookup | undefined;
17
+ export {};
@@ -0,0 +1,3 @@
1
+ import { types as t } from "@marko/compiler";
2
+ export default function normalizeStringExpression(parts: (string | t.Expression)[]): t.Expression | undefined;
3
+ export declare function appendLiteral(arr: unknown[], str: string): void;
@@ -0,0 +1,20 @@
1
+ export type Many<T> = [T, T, ...T[]];
2
+ export type OneMany<T> = T | Many<T>;
3
+ export type Opt<T> = undefined | OneMany<T>;
4
+ export type Compare<T> = (a: T, b: T) => number;
5
+ export declare class Sorted<T> {
6
+ compare: Compare<T>;
7
+ constructor(compare: Compare<T>);
8
+ add(data: Opt<T>, item: T): OneMany<T>;
9
+ union(a: Opt<T>, b: Opt<T>): Opt<T>;
10
+ find(data: Opt<T>, item: T): T | undefined;
11
+ }
12
+ export declare function push<T>(data: Opt<T>, item: T): Opt<T>;
13
+ export declare function concat<T>(a: Opt<T>, b: Opt<T>): Opt<T>;
14
+ export declare function size<T>(data: Opt<T>): number;
15
+ export declare function filter<T>(data: Opt<T>, cb: (item: T) => boolean): Opt<T>;
16
+ export declare function forEach<T>(data: Opt<T>, cb: (item: T, index: number) => void): void;
17
+ export declare function find<T>(data: Opt<T>, cb: (item: T, index: number) => boolean): Opt<T>;
18
+ export declare function map<T, R>(data: Opt<T>, cb: (item: T, index: number) => R): R[];
19
+ export declare function findSorted<T>(compare: Compare<T>, data: T[], item: T): T | undefined;
20
+ export declare function addSorted<T>(compare: Compare<T>, data: T[], item: T): T[];
@@ -0,0 +1,4 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import type { Plugin } from "@marko/compiler/babel-utils";
3
+ export declare function enter<T extends t.Node>(modulePlugin: Plugin | void, path: t.NodePath<T>): boolean;
4
+ export declare function exit<T extends t.Node>(modulePlugin: Plugin | void, path: t.NodePath<T>): boolean;
@@ -0,0 +1,84 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { type Many, type Opt, Sorted } from "./optional";
3
+ import { type Section } from "./sections";
4
+ export type Aliases = undefined | Binding | {
5
+ [property: string]: Aliases;
6
+ };
7
+ export declare enum BindingType {
8
+ dom = 0,
9
+ let = 1,
10
+ input = 2,
11
+ param = 3,
12
+ derived = 4
13
+ }
14
+ export type Binding = {
15
+ id: number;
16
+ name: string;
17
+ type: BindingType;
18
+ section: Section;
19
+ serialize: boolean | Set<Binding>;
20
+ aliases: Set<Binding>;
21
+ property: string | undefined;
22
+ propertyAliases: Map<string, Binding>;
23
+ excludeProperties: undefined | string[];
24
+ upstreamAlias: Binding | undefined;
25
+ upstreamExpression: t.NodeExtra | undefined;
26
+ downstreamExpressions: Set<ReferencedExtra>;
27
+ export: string | undefined;
28
+ declared: boolean;
29
+ nullable: boolean;
30
+ };
31
+ export type ReferencedBindings = Opt<Binding>;
32
+ export type Intersection = Many<Binding>;
33
+ declare module "@marko/compiler/dist/types" {
34
+ interface NodeExtra {
35
+ section?: Section;
36
+ referencedBindings?: ReferencedBindings;
37
+ binding?: Binding;
38
+ assignment?: Binding;
39
+ read?: {
40
+ binding: Binding;
41
+ props: Opt<string>;
42
+ };
43
+ pruned?: true;
44
+ isEffect?: true;
45
+ }
46
+ interface FunctionExtra {
47
+ referencedBindingsInFunction?: ReferencedBindings;
48
+ }
49
+ interface ArrowFunctionExpressionExtra extends FunctionExtra {
50
+ }
51
+ interface FunctionDeclarationExtra extends FunctionExtra {
52
+ }
53
+ interface FunctionExpressionExtra extends FunctionExtra {
54
+ }
55
+ }
56
+ export declare function createBinding(name: string, type: Binding["type"], section: Section, upstreamAlias?: Binding["upstreamAlias"], upstreamExpression?: Binding["upstreamExpression"], property?: string, declared?: boolean): Binding;
57
+ export declare function trackVarReferences(tag: t.NodePath<t.MarkoTag>, type: BindingType, upstreamAlias?: Binding["upstreamAlias"], upstreamExpression?: Binding["upstreamExpression"]): void;
58
+ export declare function trackParamsReferences(body: t.NodePath<t.MarkoTagBody | t.Program>, type: BindingType, upstreamAlias?: Binding["upstreamAlias"], upstreamExpression?: Binding["upstreamExpression"]): void;
59
+ export declare function setReferencesScope(path: t.NodePath<any>): void;
60
+ export declare function mergeReferences(section: Section, target: t.Node, nodes: (t.Node | undefined)[]): void;
61
+ export declare function finalizeReferences(): void;
62
+ export declare function getSourceBindings(binding: Binding): Set<Binding>;
63
+ export declare const bindingUtil: Sorted<Binding>;
64
+ export declare function addReadToExpression(path: t.NodePath, binding: Binding, node?: t.Identifier | t.MemberExpression): ReferencedExtra;
65
+ export declare function dropReferences(node: t.Node | t.Node[]): void;
66
+ export declare function getCanonicalBinding(binding?: Binding): Binding | undefined;
67
+ export declare function getAllTagReferenceNodes(tag: t.MarkoTag, referenceNodes?: t.Node[]): t.Node[];
68
+ export declare function getScopeAccessorLiteral(binding: Binding): t.StringLiteral | t.NumericLiteral;
69
+ export declare function getReadReplacement(node: t.Identifier | t.MemberExpression): t.Node | undefined;
70
+ export interface ReferencedExtra extends t.NodeExtra {
71
+ section: Section;
72
+ }
73
+ export declare function isReferencedExtra(extra: t.NodeExtra | undefined): extra is ReferencedExtra;
74
+ export interface AssignedBindingExtra extends ReferencedExtra {
75
+ assignment: Binding;
76
+ }
77
+ export declare function isAssignedBindingExtra(extra: t.NodeExtra | undefined): extra is AssignedBindingExtra;
78
+ export interface RegisteredFnExtra extends ReferencedExtra {
79
+ registerId: string;
80
+ name: string | undefined;
81
+ referencesScope?: boolean;
82
+ referencedBindingsInFunction: ReferencedBindings;
83
+ }
84
+ export declare function isRegisteredFnExtra(extra: t.NodeExtra | undefined): extra is RegisteredFnExtra;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ name: string;
3
+ taglibId: string;
4
+ };
5
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { attr, classAttr, escapeScript, escapeStyle, escapeXML, styleAttr, toString } from "../../html";
3
+ type Falsy = false | 0 | "" | null | undefined;
4
+ export declare function importRuntime(name: keyof typeof import("../../dom") | keyof typeof import("../../html")): t.MemberExpression;
5
+ export declare function callRuntime(name: keyof typeof import("../../dom") | keyof typeof import("../../html"), ...args: Array<Parameters<typeof t.callExpression>[1][number] | Falsy>): t.CallExpression;
6
+ export declare function getHTMLRuntime(): {
7
+ escapeXML: typeof escapeXML;
8
+ toString: typeof toString;
9
+ attr: typeof attr;
10
+ classAttr: typeof classAttr;
11
+ styleAttr: typeof styleAttr;
12
+ escapeScript: typeof escapeScript;
13
+ escapeStyle: typeof escapeStyle;
14
+ };
15
+ export {};
@@ -0,0 +1,6 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { type Binding, type ReferencedBindings } from "./references";
3
+ import type { Section } from "./sections";
4
+ export declare function createScopeReadPattern(section: Section, referencedBindings: ReferencedBindings): t.ObjectPattern;
5
+ export declare function getScopeExpression(section: Section, targetSection: Section): t.Identifier | t.MemberExpression;
6
+ export declare function createScopeReadExpression(section: Section, reference: Binding): t.MemberExpression;
@@ -0,0 +1,51 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import type { Binding, ReferencedBindings } from "./references";
3
+ export declare enum ContentType {
4
+ Comment = 0,
5
+ Dynamic = 1,
6
+ Placeholder = 2,
7
+ Tag = 3,
8
+ Text = 4
9
+ }
10
+ export interface Section {
11
+ id: number;
12
+ name: string;
13
+ depth: number;
14
+ parent: Section | undefined;
15
+ params: undefined | Binding;
16
+ closures: ReferencedBindings;
17
+ bindings: ReferencedBindings;
18
+ upstreamExpression: t.NodeExtra | undefined;
19
+ hasCleanup: boolean;
20
+ content: null | {
21
+ startType: ContentType;
22
+ endType: ContentType;
23
+ singleChild: boolean;
24
+ };
25
+ }
26
+ declare module "@marko/compiler/dist/types" {
27
+ interface ProgramExtra {
28
+ section?: Section;
29
+ sections?: Section[];
30
+ assignments?: [
31
+ valueSection: Section,
32
+ assignment: t.NodePath<t.UpdateExpression> | t.NodePath<t.AssignmentExpression>
33
+ ][];
34
+ }
35
+ interface MarkoTagBodyExtra {
36
+ section?: Section;
37
+ }
38
+ }
39
+ export declare function startSection(path: t.NodePath<t.MarkoTagBody | t.Program>): Section | undefined;
40
+ export declare function getOrCreateSection(path: t.NodePath<any>): Section;
41
+ export declare function getSectionForBody(body: t.NodePath<t.MarkoTagBody | t.Program>): Section | undefined;
42
+ export declare function getSection(path: t.NodePath): Section;
43
+ export declare function getParentSection(path: t.NodePath): Section;
44
+ export declare const getScopeIdIdentifier: (section: Section) => t.Identifier;
45
+ export declare const getSectionParentIsOwner: (section: Section) => boolean, setSectionParentIsOwner: (section: Section, value: boolean) => void;
46
+ export declare const getScopeIdentifier: (section: Section, ignoreDefault?: boolean) => t.Identifier;
47
+ export declare function forEachSection(fn: (section: Section) => void): void;
48
+ export declare function forEachSectionReverse(fn: (section: Section) => void): void;
49
+ export declare function getNodeContentType(path: t.NodePath<t.Statement>, extraMember: "startType" | "endType", contentInfo?: Section["content"]): ContentType | null;
50
+ export declare const isStatefulSection: (section: Section) => boolean;
51
+ export declare const checkStatefulClosures: (section: Section, immediateOnly: boolean) => boolean;
@@ -0,0 +1,61 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { type Opt } from "./optional";
3
+ import { type Binding, type ReferencedBindings } from "./references";
4
+ import { type Section } from "./sections";
5
+ export type subscribeBuilder = (subscriber: t.Expression) => t.Expression;
6
+ export type registerScopeBuilder = (scope: t.Expression) => t.Expression;
7
+ export type Signal = {
8
+ identifier: t.Identifier;
9
+ valueAccessor?: t.Expression;
10
+ referencedBindings: ReferencedBindings;
11
+ section: Section;
12
+ build: () => t.Expression;
13
+ register?: boolean;
14
+ isDynamicClosure?: boolean;
15
+ values: Array<{
16
+ signal: {
17
+ identifier: t.Identifier | t.MemberExpression;
18
+ hasDownstreamIntersections: () => boolean;
19
+ buildDeclaration?: () => t.VariableDeclaration;
20
+ extraArgs?: t.Expression[];
21
+ };
22
+ value: t.Expression;
23
+ scope: t.Expression;
24
+ intersectionExpression?: t.Expression;
25
+ }>;
26
+ intersection: Opt<t.Expression>;
27
+ render: t.Statement[];
28
+ renderReferencedBindings: ReferencedBindings;
29
+ effect: t.Statement[];
30
+ effectReferencedBindings: ReferencedBindings;
31
+ closures: Map<Section, Signal>;
32
+ hasDownstreamIntersections: () => boolean;
33
+ hasDynamicSubscribers?: true;
34
+ export: boolean;
35
+ extraArgs?: t.Expression[];
36
+ buildAssignment?: (valueSection: Section, value: t.Expression) => t.Expression;
37
+ };
38
+ export declare function setSubscriberBuilder(tag: t.NodePath<t.MarkoTag>, builder: subscribeBuilder): void;
39
+ export declare function setForceResumeScope(section: Section): void;
40
+ export declare const getSerializedScopeProperties: (section: Section) => Map<t.StringLiteral | t.NumericLiteral, t.Expression>;
41
+ export declare function getSignal(section: Section, referencedBindings: ReferencedBindings, name?: string): Signal;
42
+ export declare function initValue(binding: Binding, runtimeHelper?: "value" | "state"): Signal;
43
+ export declare function getSignalFn(signal: Signal, params: Array<t.Identifier | t.Pattern>, referencedBindings?: ReferencedBindings): t.ArrowFunctionExpression;
44
+ export declare function buildSignalIntersections(signal: Signal): t.ArrowFunctionExpression | undefined;
45
+ export declare function getDestructureSignal(bindingIdentifiersByName: Record<string, t.Identifier> | t.Identifier[], destructurePattern: t.LVal): {
46
+ readonly identifier: t.Identifier;
47
+ build(canCallOnlyWhenDirty?: boolean): t.ArrowFunctionExpression;
48
+ hasDownstreamIntersections(): boolean;
49
+ } | undefined;
50
+ export declare function subscribe(provider: ReferencedBindings, subscriber: Signal): void;
51
+ export declare function finalizeSignalArgs(args: t.Expression[]): void;
52
+ export declare function addStatement(type: "render" | "effect", targetSection: Section, referencedBindings: ReferencedBindings, statement: t.Statement | t.Statement[], usedReferences?: ReferencedBindings[] | false): void;
53
+ export declare function addValue(targetSection: Section, referencedBindings: ReferencedBindings, signal: Signal["values"][number]["signal"], value: t.Expression, scope?: t.Expression, intersectionExpression?: t.Expression): void;
54
+ export declare function getResumeRegisterId(section: Section, referencedBindings: string | ReferencedBindings, type?: string): string;
55
+ export declare function getRegisterUID(section: Section, name: string): string;
56
+ export declare function writeSignals(section: Section): void;
57
+ export declare function writeRegisteredFns(): void;
58
+ export declare function addHTMLEffectCall(section: Section, referencedBindings?: ReferencedBindings): void;
59
+ export declare function writeHTMLResumeStatements(path: t.NodePath<t.MarkoTagBody | t.Program>, tagVarIdentifier?: t.Identifier): void;
60
+ export declare function getSetup(section: Section): t.Identifier | undefined;
61
+ export declare function replaceRegisteredFunctionNode(node: t.Node): t.CallExpression | t.ClassPrivateProperty | t.ClassProperty | t.VariableDeclaration | t.Identifier | t.ObjectProperty | undefined;
@@ -0,0 +1,5 @@
1
+ import { types as t } from "@marko/compiler";
2
+ /**
3
+ * Given any arbitrary function type will normalize method like functions into expressions.
4
+ */
5
+ export declare function simplifyFunction(fn: t.Function): t.FunctionDeclaration | t.FunctionExpression | t.ArrowFunctionExpression;
@@ -0,0 +1,3 @@
1
+ import type { Section } from "./sections";
2
+ export declare const createProgramState: <T>(init: () => T) => readonly [() => T, (value: T) => void];
3
+ export declare function createSectionState<T = unknown>(key: string, init?: ((section: Section) => T) | (() => T)): readonly [(section: Section) => T, (section: Section, value: T) => void];
@@ -0,0 +1,16 @@
1
+ import { types as t } from "@marko/compiler";
2
+ declare module "@marko/compiler/dist/types" {
3
+ interface MarkoTagExtra {
4
+ tagNameType?: TagNameType;
5
+ tagNameNullable?: boolean;
6
+ tagNameDynamic?: boolean;
7
+ tagNameImported?: string;
8
+ }
9
+ }
10
+ export declare enum TagNameType {
11
+ NativeTag = 0,
12
+ CustomTag = 1,
13
+ DynamicTag = 2,
14
+ AttributeTag = 3
15
+ }
16
+ export default function analyzeTagNameType(tag: t.NodePath<t.MarkoTag>): TagNameType;
@@ -0,0 +1,3 @@
1
+ import { types as t } from "@marko/compiler";
2
+ export declare function toFirstExpressionOrBlock(stmts: t.Statement[]): t.ArrayExpression | t.ArrowFunctionExpression | t.AwaitExpression | t.BigIntLiteral | t.BinaryExpression | t.LogicalExpression | t.BindExpression | t.BlockStatement | t.FunctionExpression | t.BooleanLiteral | t.CallExpression | t.ClassExpression | t.ConditionalExpression | t.DecimalLiteral | t.DoExpression | t.Identifier | t.StringLiteral | t.NumericLiteral | t.NullLiteral | t.RegExpLiteral | t.MemberExpression | t.NewExpression | t.SequenceExpression | t.ParenthesizedExpression | t.ThisExpression | t.UnaryExpression | t.UpdateExpression | t.ImportExpression | t.MetaProperty | t.Super | t.TaggedTemplateExpression | t.TemplateLiteral | t.YieldExpression | t.Import | t.OptionalMemberExpression | t.OptionalCallExpression | t.TypeCastExpression | t.JSXElement | t.JSXFragment | t.RecordExpression | t.TupleExpression | t.ModuleExpression | t.TopicReference | t.PipelineTopicExpression | t.PipelineBareFunction | t.PipelinePrimaryTopicReference | t.TSInstantiationExpression | t.TSAsExpression | t.TSSatisfiesExpression | t.TSTypeAssertion | t.TSNonNullExpression | t.MarkoParseError;
3
+ export declare function toParenthesizedExpressionIfNeeded(expr: t.Expression): t.ArrayExpression | t.ArrowFunctionExpression | t.AwaitExpression | t.BigIntLiteral | t.BinaryExpression | t.LogicalExpression | t.BindExpression | t.FunctionExpression | t.BooleanLiteral | t.CallExpression | t.ClassExpression | t.ConditionalExpression | t.DecimalLiteral | t.DoExpression | t.Identifier | t.StringLiteral | t.NumericLiteral | t.NullLiteral | t.RegExpLiteral | t.MemberExpression | t.NewExpression | t.SequenceExpression | t.ParenthesizedExpression | t.ThisExpression | t.UnaryExpression | t.UpdateExpression | t.ImportExpression | t.MetaProperty | t.Super | t.TaggedTemplateExpression | t.TemplateLiteral | t.YieldExpression | t.Import | t.OptionalMemberExpression | t.OptionalCallExpression | t.TypeCastExpression | t.JSXElement | t.JSXFragment | t.RecordExpression | t.TupleExpression | t.ModuleExpression | t.TopicReference | t.PipelineTopicExpression | t.PipelineBareFunction | t.PipelinePrimaryTopicReference | t.TSInstantiationExpression | t.TSAsExpression | t.TSSatisfiesExpression | t.TSTypeAssertion | t.TSNonNullExpression | t.MarkoParseError;
@@ -0,0 +1,2 @@
1
+ import { types as t } from "@marko/compiler";
2
+ export default function toFirstStatementOrBlock(body: t.BlockStatement | t.Statement[]): t.Statement;
@@ -0,0 +1,7 @@
1
+ import { types as t } from "@marko/compiler";
2
+ export declare function toPropertyName(name: string): t.Identifier | t.StringLiteral | t.NumericLiteral;
3
+ export declare function toObjectProperty(name: string, value: t.Expression): t.ObjectProperty;
4
+ export declare function toMemberExpression(object: t.Expression, key: string): t.MemberExpression;
5
+ export declare function toMemberExpression(object: t.Expression, key: string, optional: false | undefined): t.MemberExpression;
6
+ export declare function toMemberExpression(object: t.Expression, key: string, optional: true): t.OptionalMemberExpression;
7
+ export declare function toMemberExpression(object: t.Expression, key: string, optional?: boolean): t.MemberExpression | t.OptionalMemberExpression;
@@ -0,0 +1,12 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { type TemplateExports } from "../visitors/program";
3
+ import { type AttrTagLookup } from "./nested-attribute-tags";
4
+ export declare function translateAttrs(tag: t.NodePath<t.MarkoTag>, templateExports?: TemplateExports, statements?: t.Statement[]): {
5
+ properties: (t.ObjectMethod | t.ObjectProperty | t.SpreadElement)[];
6
+ statements: t.Statement[];
7
+ };
8
+ export declare function getTranslatedRenderBodyProperty(props: t.ObjectExpression["properties"]): (t.ObjectProperty & {
9
+ value: t.Expression;
10
+ }) | undefined;
11
+ export declare function addDynamicAttrTagStatements(attrTags: t.NodePath<t.MarkoTag["attributeTags"][number]>[], index: number, attrTagLookup: AttrTagLookup, statements: t.Statement[], templateExports: TemplateExports): number;
12
+ export declare function propsToExpression(props: t.ObjectExpression["properties"]): t.Expression;
@@ -0,0 +1,2 @@
1
+ import { types as t } from "@marko/compiler";
2
+ export default function translateVar(tag: t.NodePath<t.MarkoTag>, initialValue: t.Expression, kind?: "let" | "const"): void;
@@ -0,0 +1,9 @@
1
+ import { types as t } from "@marko/compiler";
2
+ export declare const skip: unique symbol;
3
+ type VisitValue = null | void | t.Node | t.Node[];
4
+ type VisitKeys<T> = (string | number) & (T extends T ? {
5
+ [K in keyof T]: T[K] extends VisitValue ? K : never;
6
+ }[keyof T] : never);
7
+ export declare function traverseReplace<T, K extends VisitKeys<T>>(container: T, key: K, enter: (node: t.Node, container: t.Node | t.Node[], key: string | number) => t.Node | void): void;
8
+ export declare function traverseContains(node: undefined | null | t.Node | t.Node[], check: (node: t.Node) => void | boolean | typeof skip): boolean;
9
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ export type VisitorType = "migrate" | "transform" | "analyze" | "translate";
3
+ export type TemplateVisitor<T extends t.Node> = Partial<Record<VisitorType, t.VisitNode<unknown, T>>>;
4
+ export declare function extractVisitors<Visitors extends Partial<Record<keyof t.Visitor, TemplateVisitor<any>>>>(visitors: Visitors): Record<VisitorType, t.Visitor<unknown>>;
5
+ export declare function translateByTarget<T extends t.Node>({ html, dom, }: {
6
+ dom: t.VisitNode<unknown, T>;
7
+ html: t.VisitNode<unknown, T>;
8
+ }): {
9
+ readonly enter: (path: t.NodePath<T>) => void;
10
+ readonly exit: (path: t.NodePath<T>) => void;
11
+ };
@@ -0,0 +1,15 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { WalkCode } from "../../common/types";
3
+ import { type Section } from "../util/sections";
4
+ export declare enum Step {
5
+ Enter = 0,
6
+ Exit = 1
7
+ }
8
+ type VisitCodes = WalkCode.Get | WalkCode.Inside | WalkCode.Replace;
9
+ export declare function enter(path: t.NodePath<any>): void;
10
+ export declare function exit(path: t.NodePath<any>): void;
11
+ export declare function enterShallow(path: t.NodePath<any>): void;
12
+ export declare function injectWalks(path: t.NodePath<any>, expr: t.Expression): void;
13
+ export declare function visit(path: t.NodePath<t.MarkoTag | t.MarkoPlaceholder | t.Program>, code?: VisitCodes): void;
14
+ export declare function getWalkString(section: Section): t.Expression;
15
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ export default function withPreviousLocation<T extends t.Node>(newNode: T, originalNode: t.Node): T;
@@ -0,0 +1,13 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { type Section } from "../util/sections";
3
+ import { type Binding } from "./references";
4
+ export declare function writeTo(path: t.NodePath<any>, trailer?: boolean): (strs: TemplateStringsArray, ...exprs: Array<string | t.Expression>) => void;
5
+ export declare function consumeHTML(path: t.NodePath<any>): t.ExpressionStatement | undefined;
6
+ export declare function flushBefore(path: t.NodePath<any>): void;
7
+ export declare function flushInto(path: t.NodePath<t.MarkoTag> | t.NodePath<t.Program>): void;
8
+ export declare function getSectionMeta(section: Section): {
9
+ setup: t.Identifier | undefined;
10
+ walks: t.Expression;
11
+ writes: t.Expression;
12
+ };
13
+ export declare function markNode(path: t.NodePath<t.MarkoTag | t.MarkoPlaceholder>, binding: Binding): void;
@@ -0,0 +1,7 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ translate: {
4
+ enter(this: unknown, cdata: t.NodePath<t.MarkoCDATA>): never;
5
+ };
6
+ };
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ translate: {
4
+ exit(this: unknown, comment: t.NodePath<t.MarkoComment>): void;
5
+ };
6
+ };
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ translate: {
4
+ enter(this: unknown, decl: t.NodePath<t.MarkoDeclaration>): never;
5
+ };
6
+ };
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ translate: {
4
+ exit(this: unknown, documentType: t.NodePath<t.MarkoDocumentType>): void;
5
+ };
6
+ };
7
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { types as t } from "@marko/compiler";
2
+ declare module "@marko/compiler/dist/types" {
3
+ interface FunctionDeclarationExtra {
4
+ registerId?: string;
5
+ name?: string;
6
+ }
7
+ interface FunctionExpressionExtra {
8
+ registerId?: string;
9
+ name?: string;
10
+ }
11
+ interface ArrowFunctionExpressionExtra {
12
+ registerId?: string;
13
+ name?: string;
14
+ }
15
+ }
16
+ declare const _default: {
17
+ analyze(this: unknown, fn: t.NodePath<t.Function>): void;
18
+ };
19
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import type { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ analyze(this: unknown, importDecl: t.NodePath<t.ImportDeclaration>): void;
4
+ translate: {
5
+ exit(this: unknown, importDecl: t.NodePath<t.ImportDeclaration>): void;
6
+ };
7
+ };
8
+ export default _default;
@@ -0,0 +1,22 @@
1
+ import { types as t } from "@marko/compiler";
2
+ import { type Binding } from "../util/references";
3
+ declare const kBinding: unique symbol;
4
+ declare const kSiblingText: unique symbol;
5
+ declare enum SiblingText {
6
+ None = 0,
7
+ Before = 1,
8
+ After = 2
9
+ }
10
+ declare module "@marko/compiler/dist/types" {
11
+ interface MarkoPlaceholderExtra {
12
+ [kBinding]?: Binding;
13
+ [kSiblingText]?: SiblingText;
14
+ }
15
+ }
16
+ declare const _default: {
17
+ analyze(this: unknown, placeholder: t.NodePath<t.MarkoPlaceholder>): void;
18
+ translate: {
19
+ exit(this: unknown, placeholder: t.NodePath<t.MarkoPlaceholder>): void;
20
+ };
21
+ };
22
+ 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, program: t.NodePath<t.Program>): void;
5
+ };
6
+ };
7
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { types as t } from "@marko/compiler";
2
+ declare const _default: {
3
+ translate: {
4
+ exit(this: unknown, program: t.NodePath<t.Program>): void;
5
+ };
6
+ };
7
+ export default _default;
8
+ export declare function replaceRegisteredFunctionNode(node: t.Node, container: t.Node[] | t.Node): t.CallExpression | t.ClassPrivateProperty | t.ClassProperty | t.ObjectProperty | undefined;