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
@@ -1,474 +0,0 @@
1
- import * as translateElse from "./conditional/translate-else";
2
- import * as translateElseIf from "./conditional/translate-else-if";
3
- import * as translateIf from "./conditional/translate-if";
4
- import * as parseMacro from "./macro/parse";
5
- import * as translateMacro from "./macro/translate";
6
- import * as parseClass from "./parse-class";
7
- import * as parseExport from "./parse-export";
8
- import * as parseImport from "./parse-import";
9
- import * as parseModuleCode from "./parse-module-code";
10
- import * as parseStatic from "./parse-static";
11
- import * as transformStyle from "./transform-style";
12
- import * as translateAwait from "./translate-await";
13
- import * as translateBody from "./translate-body";
14
- import * as translateFor from "./translate-for";
15
- import * as translateHTMLComment from "./translate-html-comment";
16
- import * as translateIncludeContent from "./translate-include-content";
17
- import * as translateServerOnly from "./translate-server-only";
18
- import * as translateWhile from "./translate-while";
19
-
20
- export default {
21
- "taglib-id": "marko-default-core",
22
- "<import>": {
23
- "node-factory": parseImport,
24
- "parse-options": {
25
- statement: true,
26
- rawOpenTag: true,
27
- },
28
- autocomplete: [
29
- {
30
- displayText: 'import <scope> from "<path>"',
31
- description:
32
- "Use to import external modules, follows the same syntax as JavaScript imports.",
33
- snippet: 'import ${2} from "${1:path}"',
34
- descriptionMoreURL:
35
- "https://markojs.com/docs/syntax/#importing-external-files",
36
- },
37
- ],
38
- },
39
- "<export>": {
40
- "node-factory": parseExport,
41
- "parse-options": {
42
- statement: true,
43
- rawOpenTag: true,
44
- },
45
- autocomplete: [
46
- {
47
- displayText: "export <scope>",
48
- description:
49
- "Use export additional data with the template, follows the same syntax as JavaScript exports.",
50
- snippet: "export ${1}",
51
- descriptionMoreURL:
52
- "https://markojs.com/docs/syntax/#importing-external-files",
53
- },
54
- ],
55
- },
56
- "<class>": {
57
- "node-factory": parseClass,
58
- "parse-options": {
59
- statement: true,
60
- rawOpenTag: true,
61
- },
62
- autocomplete: [
63
- {
64
- displayText: "class { /** lifecycle methods **/ }",
65
- snippet: "class {\n\t$0\n}",
66
- description:
67
- "A class containing the lifecycle methods, event handlers, and other properties for this component.",
68
- descriptionMoreURL:
69
- "https://markojs.com/docs/class-components/#single-file-components",
70
- },
71
- ],
72
- },
73
- "<static>": {
74
- "node-factory": parseStatic,
75
- "parse-options": {
76
- statement: true,
77
- rawOpenTag: true,
78
- },
79
- autocomplete: [
80
- {
81
- displayText: "static <statement>",
82
- description:
83
- "A JavaScript statement which is only evaluated once your template is loaded.",
84
- descriptionMoreURL:
85
- "https://markojs.com/docs/syntax/#static-javascript",
86
- },
87
- ],
88
- },
89
- "<style>": {
90
- transformer: transformStyle,
91
- "parse-options": {
92
- rawOpenTag: true,
93
- },
94
- },
95
- "<macro>": {
96
- "node-factory": parseMacro,
97
- "code-generator": translateMacro,
98
- "@name": {
99
- type: "string",
100
- autocomplete: [
101
- {
102
- description: "The name which can be used as a tag within a template.",
103
- },
104
- ],
105
- },
106
- autocomplete: [
107
- {
108
- displayText: 'macro|<params>| name="<name>"',
109
- description: "Creates a reusable fragment within the template.",
110
- snippet: 'macro|${2:param1, param2}| name="${1:name}"',
111
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#macro",
112
- },
113
- ],
114
- },
115
- "<include-text>": {
116
- "code-generator": translateIncludeContent,
117
- attributes: {},
118
- autocomplete: [
119
- {
120
- displayText: 'include-text("<path>")',
121
- description: "Allows you to inline the contents of a text file.",
122
- snippet: 'include-text(${1:"./foo.txt"})',
123
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#include-text",
124
- },
125
- ],
126
- },
127
- "<include-html>": {
128
- "code-generator": translateIncludeContent,
129
- attributes: {},
130
- autocomplete: [
131
- {
132
- displayText: 'include-html("<path>")',
133
- snippet: 'include-html(${1:"./foo.html"})',
134
- description: "Allows you to inline the contents of an html file.",
135
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#include-html",
136
- },
137
- ],
138
- },
139
- "<if>": {
140
- "parse-options": { controlFlow: true },
141
- "code-generator": translateIf,
142
- attributes: {},
143
- autocomplete: [
144
- {
145
- snippet: "if(${1:condition})",
146
- description: "Use to display content only if the condition is meant.",
147
- descriptionMoreURL:
148
- "https://markojs.com/docs/core-tags/#if-else-if-else",
149
- },
150
- ],
151
- },
152
- "<else-if>": {
153
- "parse-options": { controlFlow: true },
154
- "code-generator": translateElseIf,
155
- attributes: {},
156
- autocomplete: [
157
- {
158
- snippet: "else-if(${1:condition})",
159
- description:
160
- "Use after an <if> or <else-if> tag to display content if those conditions do not match and this one does.",
161
- descriptionMoreURL:
162
- "https://markojs.com/docs/core-tags/#if-else-if-else",
163
- },
164
- ],
165
- },
166
- "<else>": {
167
- "parse-options": { controlFlow: true },
168
- "code-generator": translateElse,
169
- attributes: {},
170
- autocomplete: [
171
- {
172
- description:
173
- "Use after an <if> or <else-if> tag to display content if those conditions do not match.",
174
- descriptionMoreURL:
175
- "https://markojs.com/docs/core-tags/#if-else-if-else",
176
- },
177
- ],
178
- },
179
- "<for>": {
180
- "parse-options": { controlFlow: true },
181
- "code-generator": translateFor,
182
- "@of": {
183
- type: "expression",
184
- autocomplete: [
185
- {
186
- description: "Iterates over a list of items.",
187
- },
188
- ],
189
- },
190
- "@in": {
191
- type: "expression",
192
- autocomplete: [
193
- {
194
- description: "Iterates over the keys and values of an object.",
195
- },
196
- ],
197
- },
198
- "@to": {
199
- type: "number",
200
- autocomplete: [
201
- {
202
- description: "Iterates up to the provided number (inclusive)",
203
- },
204
- ],
205
- },
206
- "@from": {
207
- type: "number",
208
- autocomplete: [
209
- {
210
- description: "Iterates starting from the provided number (inclusive)",
211
- },
212
- ],
213
- },
214
- "@step": {
215
- type: "number",
216
- autocomplete: [
217
- {
218
- description:
219
- "The amount to increment during each interation (with from/to)",
220
- },
221
- ],
222
- },
223
- autocomplete: [
224
- {
225
- snippet: "for|${1:value, index}| of=${3:array}",
226
- description:
227
- "Use to iterate over lists, object properties, or between ranges.",
228
- descriptionMoreURL:
229
- "https://markojs.com/docs/core-tags/#iterating-over-a-list",
230
- },
231
- {
232
- snippet: "for|${1:name, value}| in=${3:object}",
233
- descriptionMoreURL:
234
- "https://markojs.com/docs/core-tags/#iterating-over-an-objects-properties",
235
- },
236
- {
237
- snippet:
238
- "for|${1:index}| from=${2:number} to=${3:number} step=${4:number}",
239
- descriptionMoreURL:
240
- "https://markojs.com/docs/core-tags/#iterating-between-a-range-of-numbers",
241
- },
242
- ],
243
- },
244
- "<while>": {
245
- "parse-options": { controlFlow: true },
246
- "code-generator": translateWhile,
247
- autocomplete: [
248
- {
249
- snippet: "while(${1:condition})",
250
- description:
251
- "Renders the content multiple times until the condition is no longer met.",
252
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#while",
253
- },
254
- ],
255
- },
256
- "<html-comment>": {
257
- "code-generator": translateHTMLComment,
258
- "parse-options": {
259
- text: true,
260
- },
261
- attributes: {},
262
- autocomplete: [
263
- {
264
- description:
265
- "Use to create an html comment that is not stripped from the output.",
266
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#html-comment",
267
- },
268
- ],
269
- },
270
- "<_preserve>": {
271
- renderer: "marko/src/core-tags/components/preserve-tag.js",
272
- "@n": "boolean",
273
- "@i": "boolean",
274
- "@b": "boolean",
275
- autocomplete: [],
276
- },
277
- "<init-components>": {
278
- "code-generator": translateServerOnly,
279
- renderer: "marko/src/core-tags/components/init-components-tag.js",
280
- "@immediate": "boolean",
281
- },
282
- "<_preferred-script-location>": {
283
- "code-generator": translateServerOnly,
284
- renderer: "marko/src/core-tags/components/preferred-script-location-tag.js",
285
- },
286
- "<body>": {
287
- "code-generator": translateBody,
288
- },
289
- "<await>": {
290
- renderer: "marko/src/core-tags/core/await/renderer.js",
291
- types: "marko/src/core-tags/core/await/index.d.marko",
292
- "code-generator": translateAwait,
293
- "@_provider": "expression",
294
- "@_name": "string",
295
- "@name": {
296
- type: "string",
297
- autocomplete: [
298
- {
299
- description:
300
- "Used to improve debugging and also to ensure promise ordering with the show-after attribute.",
301
- snippet: 'name="${1:name}"',
302
- },
303
- ],
304
- },
305
- "@timeout": {
306
- type: "number",
307
- autocomplete: [
308
- {
309
- description:
310
- "An optional timeout that when reached will cause the promise to reject with a TimeoutError.",
311
- },
312
- ],
313
- },
314
- "@client-reorder": {
315
- type: "boolean",
316
- autocomplete: [
317
- {
318
- description:
319
- "If set anything after this promise will be sent out immediately, and reordered using JS in the browser.",
320
- },
321
- ],
322
- },
323
- "@show-after": {
324
- type: "string",
325
- autocomplete: [
326
- {
327
- description:
328
- "This attribute will ensure that (with client-reorder) this await tag will always show after another await tag with the provided name.",
329
- },
330
- ],
331
- },
332
- "@then <then>": {
333
- autocomplete: [
334
- {
335
- displayText: "then|<result>|",
336
- description: "Executed with the result of the resolved promise.",
337
- snippet: "then|${1:result}|",
338
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#await",
339
- },
340
- ],
341
- },
342
- "@catch <catch>": {
343
- autocomplete: [
344
- {
345
- displayText: "catch|<err>|",
346
- description: "Executed with the err of the rejected promise.",
347
- snippet: "catch|${1:err}|",
348
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#await",
349
- },
350
- ],
351
- },
352
- "@placeholder <placeholder>": {
353
- autocomplete: [
354
- {
355
- description: "A placeholder to display while the promise is pending.",
356
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#await",
357
- },
358
- ],
359
- },
360
- autocomplete: [
361
- {
362
- displayText: "await(<promise>)",
363
- description:
364
- "Used to render a template asynchronously with the results of a Promise",
365
- snippet: "await(${1:promise})",
366
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#await",
367
- },
368
- ],
369
- },
370
- "<await-reorderer>": {
371
- "code-generator": translateServerOnly,
372
- renderer: "marko/src/core-tags/core/await/reorderer-renderer.js",
373
- autocomplete: [
374
- {
375
- snippet: "await-reorderer",
376
- descriptionMoreURL: "https://markojs.com/docs/core-tags/#await",
377
- },
378
- ],
379
- },
380
- "<__flush_here_and_after__>": {
381
- "code-generator": translateServerOnly,
382
- renderer: "marko/src/core-tags/core/__flush_here_and_after__.js",
383
- },
384
- "<module-code>": {
385
- "node-factory": parseModuleCode,
386
- "parse-options": {
387
- rawOpenTag: true,
388
- },
389
- },
390
- "<*>": {
391
- "@key": {
392
- type: "string",
393
- "preserve-name": true,
394
- autocomplete: [
395
- {
396
- displayText: 'key="<method>"',
397
- snippet: 'key="${1:method}"',
398
- descriptionMoreURL: "https://markojs.com/docs/class-components/#key",
399
- },
400
- {
401
- descriptionMoreURL: "https://markojs.com/docs/class-components/#key",
402
- },
403
- ],
404
- },
405
- "@on*": {
406
- pattern: true,
407
- type: "statement",
408
- "allow-expressions": true,
409
- "preserve-name": true,
410
- "set-flag": "hasComponentEvents",
411
- autocomplete: [
412
- {
413
- displayText: 'on<event>("<method>")',
414
- snippet: 'on${1:Click}("handle${2:Button}${1:Click}")',
415
- descriptionMoreURL:
416
- "https://markojs.com/docs/components/#attaching-dom-event-listeners",
417
- },
418
- ],
419
- },
420
- "@once*": {
421
- pattern: true,
422
- type: "statement",
423
- "allow-expressions": true,
424
- "preserve-name": true,
425
- "set-flag": "hasComponentEvents",
426
- autocomplete: {
427
- displayText: 'once<event>("<method>")',
428
- snippet: 'once${1:Click}("handle${2:Button}${1:Click}")',
429
- descriptionMoreURL:
430
- "https://markojs.com/docs/components/#attaching-dom-event-listeners",
431
- },
432
- },
433
- "@no-update": {
434
- type: "flag",
435
- "preserve-name": true,
436
- autocomplete: [
437
- {
438
- descriptionMoreURL:
439
- "https://markojs.com/docs/class-components/#no-update",
440
- },
441
- ],
442
- },
443
- "@no-update-body": {
444
- type: "flag",
445
- "preserve-name": true,
446
- autocomplete: [
447
- {
448
- descriptionMoreURL:
449
- "https://markojs.com/docs/class-components/#no-update-body",
450
- },
451
- ],
452
- },
453
- "@no-update-if": {
454
- "preserve-name": true,
455
- autocomplete: [
456
- {
457
- snippet: "no-update-if(${1:condition})",
458
- descriptionMoreURL:
459
- "https://markojs.com/docs/class-components/#no-update-if",
460
- },
461
- ],
462
- },
463
- "@no-update-body-if": {
464
- "preserve-name": true,
465
- autocomplete: [
466
- {
467
- snippet: "no-update-body-if(${1:condition})",
468
- descriptionMoreURL:
469
- "https://markojs.com/docs/class-components/#no-update-body-if",
470
- },
471
- ],
472
- },
473
- },
474
- };
@@ -1,17 +0,0 @@
1
- import { types as t } from "@marko/compiler";
2
- import { registerMacro } from "@marko/compiler/babel-utils";
3
-
4
- export default function (path) {
5
- const attrs = path.node.attributes;
6
- if (attrs.length === 1) {
7
- const [attr] = attrs;
8
-
9
- if (
10
- t.isMarkoAttribute(attr) &&
11
- attr.name === "name" &&
12
- t.isStringLiteral(attr.value)
13
- ) {
14
- registerMacro(path.get("attributes")[0], attr.value.value);
15
- }
16
- }
17
- }
@@ -1,48 +0,0 @@
1
- import { types as t } from "@marko/compiler";
2
- import {
3
- diagnosticError,
4
- getMacroIdentifierForName,
5
- } from "@marko/compiler/babel-utils";
6
-
7
- import withPreviousLocation from "../../../util/with-previous-location";
8
-
9
- export function exit(path) {
10
- const { node } = path;
11
- const { attributes, body } = node;
12
- if (attributes.length === 0) {
13
- diagnosticError(path, {
14
- label: "The 'macro' tag must have a 'name' attribute.",
15
- });
16
- path.remove();
17
- return;
18
- }
19
-
20
- if (attributes.length > 1) {
21
- diagnosticError(path, {
22
- label: "The 'macro' tag can only have a 'name' attribute.",
23
- });
24
- path.remove();
25
- return;
26
- }
27
-
28
- const [nameAttr] = attributes;
29
- if (!t.isStringLiteral(nameAttr.value)) {
30
- diagnosticError(path, {
31
- label: "The 'name' attribute for 'macro' tags must be a string literal.",
32
- loc: nameAttr.loc || node.loc || undefined,
33
- });
34
- path.remove();
35
- return;
36
- }
37
-
38
- path.replaceWith(
39
- withPreviousLocation(
40
- t.functionDeclaration(
41
- getMacroIdentifierForName(path, nameAttr.value.value),
42
- [t.identifier("out"), ...body.params],
43
- t.blockStatement(body.body),
44
- ),
45
- node,
46
- ),
47
- );
48
- }
@@ -1,79 +0,0 @@
1
- import { types as t } from "@marko/compiler";
2
- import {
3
- diagnosticDeprecate,
4
- diagnosticError,
5
- parseExpression,
6
- } from "@marko/compiler/babel-utils";
7
-
8
- import getComponentFiles from "../../util/get-component-files";
9
-
10
- export default function (path) {
11
- const {
12
- node,
13
- hub: { file },
14
- } = path;
15
- const {
16
- rawValue: code,
17
- name: { start, end },
18
- } = node;
19
- const meta = file.metadata.marko;
20
-
21
- if (meta.hasComponent) {
22
- diagnosticError(path.get("name"), {
23
- label: "A Marko component can only have one top level class.",
24
- });
25
- path.remove();
26
- return;
27
- }
28
-
29
- meta.hasComponent = true;
30
-
31
- if (getComponentFiles(path).componentFile) {
32
- diagnosticError(path.get("name"), {
33
- label:
34
- 'A Marko file can either have an inline class, or an external "component.js", but not both.',
35
- });
36
-
37
- path.remove();
38
- return;
39
- }
40
-
41
- const parsed = parseExpression(file, code.replace(/;\s*$/, ""), start, end);
42
- if (parsed.type === "MarkoParseError") {
43
- path.replaceWith(t.markoClass([t.expressionStatement(parsed)]));
44
- return;
45
- }
46
-
47
- if (parsed.superClass) {
48
- diagnosticError(path, {
49
- label: "Component class cannot have a super class.",
50
- loc: parsed.superClass.loc,
51
- });
52
- }
53
-
54
- const constructorPropIndex = parsed.body.body.findIndex(
55
- (prop) => t.isClassMethod(prop) && prop.kind === "constructor",
56
- );
57
- if (constructorPropIndex !== -1) {
58
- const constructorProp = parsed.body.body[constructorPropIndex];
59
- diagnosticError(path, {
60
- label:
61
- "The constructor method should not be used for a component, use onCreate instead.",
62
- loc: constructorProp.key.loc,
63
- });
64
-
65
- parsed.body.body.splice(constructorProp, 1);
66
- }
67
-
68
- if (parsed.id) {
69
- diagnosticDeprecate(path, {
70
- label: "Component class should not have a name.",
71
- loc: parsed.id.loc,
72
- fix() {
73
- parsed.id = null;
74
- },
75
- });
76
- }
77
-
78
- path.replaceWith(t.markoClass(parsed.body));
79
- }
@@ -1,14 +0,0 @@
1
- import { parseStatements } from "@marko/compiler/babel-utils";
2
-
3
- export default function (path) {
4
- const {
5
- node,
6
- hub: { file },
7
- } = path;
8
- const {
9
- rawValue,
10
- name: { start, end },
11
- } = node;
12
- const [exportNode] = parseStatements(file, rawValue, start, end);
13
- path.replaceWith(exportNode);
14
- }
@@ -1,14 +0,0 @@
1
- import { parseStatements } from "@marko/compiler/babel-utils";
2
-
3
- export default function (path) {
4
- const {
5
- node,
6
- hub: { file },
7
- } = path;
8
- const {
9
- rawValue,
10
- name: { start, end },
11
- } = node;
12
- const [importNode] = parseStatements(file, rawValue, start, end);
13
- path.replaceWith(importNode);
14
- }
@@ -1,18 +0,0 @@
1
- import markoModules from "@marko/compiler/modules";
2
- import path from "path";
3
- import resolveFrom from "resolve-from";
4
-
5
- const startOffset = "module-code".length;
6
-
7
- export default function (tag) {
8
- const {
9
- hub: { file },
10
- node: { rawValue },
11
- } = tag;
12
- const dirname = path.dirname(file.opts.filename);
13
- const relativeRequire = (entry) =>
14
- markoModules.require(resolveFrom(dirname, entry));
15
- const fn = eval(rawValue.slice(startOffset));
16
- const source = fn(relativeRequire, file.markoOpts);
17
- file.metadata.marko.moduleCode = source;
18
- }
@@ -1,18 +0,0 @@
1
- import { types as t } from "@marko/compiler";
2
- import { parseStatements } from "@marko/compiler/babel-utils";
3
-
4
- export default function (path) {
5
- const {
6
- node,
7
- hub: { file },
8
- } = path;
9
- const { rawValue, end } = node;
10
- const code = rawValue.replace(/^static\s*/, "").trim();
11
- const start = node.name.start + (rawValue.length - code.length);
12
- let body = parseStatements(file, code, start, end);
13
- if (body.length === 1 && t.isBlockStatement(body[0])) {
14
- body = body[0].body;
15
- }
16
-
17
- path.replaceWith(t.MarkoScriptlet(body, true));
18
- }