marko 5.37.0 → 6.0.0-3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/dist/common/attr-tag.d.ts +8 -0
  2. package/dist/common/compat-meta.d.ts +2 -0
  3. package/dist/common/for.d.ts +5 -0
  4. package/dist/common/helpers.d.ts +7 -0
  5. package/dist/common/meta.d.ts +2 -0
  6. package/dist/common/types.d.ts +105 -0
  7. package/dist/debug/dom.js +2112 -0
  8. package/dist/debug/dom.mjs +2089 -0
  9. package/dist/debug/html.js +2740 -0
  10. package/dist/debug/html.mjs +2663 -0
  11. package/dist/dom/abort-signal.d.ts +3 -0
  12. package/dist/dom/compat.d.ts +20 -0
  13. package/dist/dom/control-flow.d.ts +14 -0
  14. package/dist/dom/controllable.d.ts +12 -0
  15. package/dist/dom/dom.d.ts +19 -0
  16. package/dist/dom/event.d.ts +4 -0
  17. package/dist/dom/parse-html.d.ts +5 -0
  18. package/dist/dom/queue.d.ts +10 -0
  19. package/dist/dom/reconcile.d.ts +2 -0
  20. package/dist/dom/renderer.d.ts +21 -0
  21. package/dist/dom/resolve-cursor-position.d.ts +1 -0
  22. package/dist/dom/resume.d.ts +9 -0
  23. package/dist/dom/schedule.d.ts +2 -0
  24. package/dist/dom/scope.d.ts +7 -0
  25. package/dist/dom/signals.d.ts +39 -0
  26. package/dist/dom/template.d.ts +3 -0
  27. package/dist/dom/walker.d.ts +4 -0
  28. package/dist/dom.d.ts +15 -0
  29. package/dist/dom.js +1370 -0
  30. package/dist/dom.mjs +1350 -0
  31. package/dist/html/attrs.d.ts +14 -0
  32. package/dist/html/compat.d.ts +14 -0
  33. package/dist/html/content.d.ts +5 -0
  34. package/dist/html/dynamic-tag.d.ts +12 -0
  35. package/dist/html/for.d.ts +4 -0
  36. package/dist/html/inlined-runtimes.d.ts +2 -0
  37. package/dist/html/serializer.d.ts +14 -0
  38. package/dist/html/template.d.ts +3 -0
  39. package/dist/html/writer.d.ts +114 -0
  40. package/dist/html.d.ts +9 -0
  41. package/dist/html.js +1818 -0
  42. package/dist/html.mjs +1744 -0
  43. package/dist/translator/core/attrs.d.ts +3 -0
  44. package/dist/translator/core/client.d.ts +14 -0
  45. package/dist/translator/core/const.d.ts +3 -0
  46. package/dist/translator/core/debug.d.ts +3 -0
  47. package/dist/translator/core/define.d.ts +3 -0
  48. package/dist/translator/core/effect.d.ts +3 -0
  49. package/dist/translator/core/export.d.ts +3 -0
  50. package/dist/translator/core/for.d.ts +67 -0
  51. package/dist/translator/core/html-comment.d.ts +12 -0
  52. package/dist/translator/core/html-script.d.ts +9 -0
  53. package/dist/translator/core/html-style.d.ts +9 -0
  54. package/dist/translator/core/id.d.ts +3 -0
  55. package/dist/translator/core/if.d.ts +53 -0
  56. package/dist/translator/core/import.d.ts +3 -0
  57. package/dist/translator/core/index.d.ts +152 -0
  58. package/dist/translator/core/let.d.ts +8 -0
  59. package/dist/translator/core/lifecycle.d.ts +10 -0
  60. package/dist/translator/core/log.d.ts +3 -0
  61. package/dist/translator/core/return.d.ts +6 -0
  62. package/dist/translator/core/script.d.ts +3 -0
  63. package/dist/translator/core/server.d.ts +14 -0
  64. package/dist/translator/core/static.d.ts +14 -0
  65. package/dist/translator/core/style.d.ts +3 -0
  66. package/dist/translator/index.d.ts +201 -0
  67. package/dist/translator/index.js +9143 -489
  68. package/dist/translator/util/assert.d.ts +3 -0
  69. package/dist/translator/util/binding-has-downstream-expressions.d.ts +2 -0
  70. package/dist/translator/util/entry-builder.d.ts +19 -0
  71. package/dist/translator/util/evaluate.d.ts +11 -0
  72. package/dist/translator/util/for-each-identifier.d.ts +2 -0
  73. package/dist/translator/util/get-defined-binding-expression.d.ts +3 -0
  74. package/dist/translator/util/get-known-attr-values.d.ts +2 -0
  75. package/dist/translator/util/get-parent-tag.d.ts +2 -0
  76. package/dist/translator/util/get-root.d.ts +7 -0
  77. package/dist/translator/util/get-tag-name.d.ts +2 -0
  78. package/dist/translator/util/is-core-tag.d.ts +10 -0
  79. package/dist/translator/util/is-stateful.d.ts +3 -0
  80. package/dist/translator/util/is-static.d.ts +2 -0
  81. package/dist/translator/util/marko-config.d.ts +4 -0
  82. package/dist/translator/util/nested-attribute-tags.d.ts +17 -0
  83. package/dist/translator/util/normalize-string-expression.d.ts +3 -0
  84. package/dist/translator/util/optional.d.ts +20 -0
  85. package/dist/translator/util/plugin-hooks.d.ts +4 -0
  86. package/dist/translator/util/references.d.ts +84 -0
  87. package/dist/translator/util/runtime-info.d.ts +5 -0
  88. package/dist/translator/util/runtime.d.ts +15 -0
  89. package/dist/translator/util/scope-read.d.ts +6 -0
  90. package/dist/translator/util/sections.d.ts +51 -0
  91. package/dist/translator/util/signals.d.ts +61 -0
  92. package/dist/translator/util/simplify-fn.d.ts +5 -0
  93. package/dist/translator/util/state.d.ts +3 -0
  94. package/dist/translator/util/tag-name-type.d.ts +16 -0
  95. package/dist/translator/util/to-first-expression-or-block.d.ts +3 -0
  96. package/dist/translator/util/to-first-statement-or-block.d.ts +2 -0
  97. package/dist/translator/util/to-property-name.d.ts +7 -0
  98. package/dist/translator/util/translate-attrs.d.ts +12 -0
  99. package/dist/translator/util/translate-var.d.ts +2 -0
  100. package/dist/translator/util/traverse.d.ts +9 -0
  101. package/dist/translator/util/visitors.d.ts +11 -0
  102. package/dist/translator/util/walks.d.ts +15 -0
  103. package/dist/translator/util/with-previous-location.d.ts +2 -0
  104. package/dist/translator/util/writer.d.ts +13 -0
  105. package/dist/translator/visitors/cdata.d.ts +7 -0
  106. package/dist/translator/visitors/comment.d.ts +7 -0
  107. package/dist/translator/visitors/declaration.d.ts +7 -0
  108. package/dist/translator/visitors/document-type.d.ts +7 -0
  109. package/dist/translator/visitors/function.d.ts +19 -0
  110. package/dist/translator/visitors/import-declaration.d.ts +8 -0
  111. package/dist/translator/visitors/placeholder.d.ts +22 -0
  112. package/dist/translator/visitors/program/dom.d.ts +7 -0
  113. package/dist/translator/visitors/program/html.d.ts +8 -0
  114. package/dist/translator/visitors/program/index.d.ts +39 -0
  115. package/dist/translator/visitors/referenced-identifier.d.ts +7 -0
  116. package/dist/translator/visitors/scriptlet.d.ts +8 -0
  117. package/dist/translator/visitors/tag/attribute-tag.d.ts +11 -0
  118. package/dist/translator/visitors/tag/custom-tag.d.ts +19 -0
  119. package/dist/translator/visitors/tag/dynamic-tag.d.ts +18 -0
  120. package/dist/translator/visitors/tag/index.d.ts +15 -0
  121. package/dist/translator/visitors/tag/native-tag.d.ts +25 -0
  122. package/dist/translator/visitors/text.d.ts +7 -0
  123. package/package.json +33 -74
  124. package/README.md +0 -161
  125. package/bin/markoc +0 -2
  126. package/bin/markoc.js +0 -441
  127. package/browser-refresh.js +0 -5
  128. package/compiler-browser.marko +0 -15
  129. package/compiler.js +0 -7
  130. package/components-browser.marko +0 -15
  131. package/components.js +0 -7
  132. package/dist/build.json +0 -3
  133. package/dist/compiler/config.js +0 -45
  134. package/dist/compiler/index.js +0 -164
  135. package/dist/compiler/modules.js +0 -5
  136. package/dist/core-tags/components/init-components-tag.js +0 -54
  137. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  138. package/dist/core-tags/components/preserve-tag.js +0 -1
  139. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  140. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  141. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  142. package/dist/core-tags/core/await/index.d.marko +0 -10
  143. package/dist/core-tags/core/await/renderer.js +0 -249
  144. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  145. package/dist/index.js +0 -4
  146. package/dist/node-require/browser-refresh.js +0 -18
  147. package/dist/node-require/hot-reload.js +0 -45
  148. package/dist/node-require/index.js +0 -103
  149. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  150. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  151. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  152. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  153. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  154. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  155. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  156. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  157. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  158. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  159. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  160. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  161. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  162. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  163. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  164. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  165. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  166. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  167. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  168. package/dist/node_modules/@internal/components-util/index.js +0 -75
  169. package/dist/node_modules/@internal/components-util/package.json +0 -11
  170. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  171. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  172. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  173. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  174. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  175. package/dist/node_modules/@internal/loader/index.js +0 -23
  176. package/dist/node_modules/@internal/loader/package.json +0 -10
  177. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  178. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  179. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  180. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  181. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  182. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  183. package/dist/node_modules/@internal/require/index.js +0 -15
  184. package/dist/node_modules/@internal/require/package.json +0 -11
  185. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  186. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  187. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  188. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  189. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  190. package/dist/runtime/RenderResult.js +0 -112
  191. package/dist/runtime/components/Component.js +0 -663
  192. package/dist/runtime/components/ComponentDef.js +0 -169
  193. package/dist/runtime/components/ComponentsContext.js +0 -59
  194. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  195. package/dist/runtime/components/KeySequence.js +0 -16
  196. package/dist/runtime/components/ServerComponent.js +0 -73
  197. package/dist/runtime/components/State.js +0 -101
  198. package/dist/runtime/components/attach-detach.js +0 -60
  199. package/dist/runtime/components/defineComponent.js +0 -60
  200. package/dist/runtime/components/dom-data.js +0 -8
  201. package/dist/runtime/components/event-delegation.js +0 -144
  202. package/dist/runtime/components/index.js +0 -1
  203. package/dist/runtime/components/legacy/browser.json +0 -9
  204. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  205. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  206. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  207. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  208. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  209. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  210. package/dist/runtime/components/legacy/index.js +0 -1
  211. package/dist/runtime/components/legacy/jquery.js +0 -52
  212. package/dist/runtime/components/legacy/ready.js +0 -152
  213. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  214. package/dist/runtime/components/registry.js +0 -1
  215. package/dist/runtime/components/renderer.js +0 -236
  216. package/dist/runtime/components/update-manager.js +0 -94
  217. package/dist/runtime/createOut.js +0 -13
  218. package/dist/runtime/dom-insert.js +0 -77
  219. package/dist/runtime/events.js +0 -2
  220. package/dist/runtime/helpers/_change-case.js +0 -45
  221. package/dist/runtime/helpers/assign.js +0 -21
  222. package/dist/runtime/helpers/attr-tag.js +0 -43
  223. package/dist/runtime/helpers/class-value.js +0 -30
  224. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  225. package/dist/runtime/helpers/empty-component.js +0 -1
  226. package/dist/runtime/helpers/merge.js +0 -13
  227. package/dist/runtime/helpers/of-fallback.js +0 -4
  228. package/dist/runtime/helpers/render-tag.js +0 -20
  229. package/dist/runtime/helpers/serialize-noop.js +0 -5
  230. package/dist/runtime/helpers/style-value.js +0 -45
  231. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  232. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  233. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  234. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  235. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  236. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  237. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  238. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  239. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  240. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  241. package/dist/runtime/helpers/to-string.js +0 -5
  242. package/dist/runtime/html/AsyncStream.js +0 -805
  243. package/dist/runtime/html/BufferedWriter.js +0 -52
  244. package/dist/runtime/html/StringWriter.js +0 -73
  245. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  246. package/dist/runtime/html/helpers/attr.js +0 -80
  247. package/dist/runtime/html/helpers/attrs.js +0 -26
  248. package/dist/runtime/html/helpers/class-attr.js +0 -8
  249. package/dist/runtime/html/helpers/data-marko.js +0 -36
  250. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  251. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  252. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  253. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  254. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  255. package/dist/runtime/html/helpers/props-script.js +0 -32
  256. package/dist/runtime/html/helpers/style-attr.js +0 -8
  257. package/dist/runtime/html/hot-reload.js +0 -26
  258. package/dist/runtime/html/index.js +0 -33
  259. package/dist/runtime/html/marko-namespace.js +0 -3
  260. package/dist/runtime/renderable.js +0 -194
  261. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  262. package/dist/runtime/vdom/VComment.js +0 -24
  263. package/dist/runtime/vdom/VComponent.js +0 -17
  264. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  265. package/dist/runtime/vdom/VElement.js +0 -375
  266. package/dist/runtime/vdom/VFragment.js +0 -26
  267. package/dist/runtime/vdom/VNode.js +0 -100
  268. package/dist/runtime/vdom/VText.js +0 -25
  269. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  270. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  271. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  272. package/dist/runtime/vdom/hot-reload.js +0 -115
  273. package/dist/runtime/vdom/index.js +0 -30
  274. package/dist/runtime/vdom/is-text-only.js +0 -10
  275. package/dist/runtime/vdom/marko-namespace.js +0 -3
  276. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  277. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  278. package/dist/runtime/vdom/morphdom/index.js +0 -741
  279. package/dist/runtime/vdom/parse-html.js +0 -18
  280. package/dist/runtime/vdom/vdom.js +0 -88
  281. package/dist/taglib/index.js +0 -51
  282. package/dist/translator/cdata/index.js +0 -15
  283. package/dist/translator/cdata/index[html].js +0 -15
  284. package/dist/translator/cdata/index[vdom].js +0 -12
  285. package/dist/translator/class.js +0 -65
  286. package/dist/translator/comment/index.js +0 -15
  287. package/dist/translator/comment/index[html].js +0 -17
  288. package/dist/translator/comment/index[vdom].js +0 -3
  289. package/dist/translator/declaration/index.js +0 -15
  290. package/dist/translator/declaration/index[html].js +0 -12
  291. package/dist/translator/declaration/index[vdom].js +0 -3
  292. package/dist/translator/document-type/index.js +0 -15
  293. package/dist/translator/document-type/index[html].js +0 -12
  294. package/dist/translator/document-type/index[vdom].js +0 -3
  295. package/dist/translator/placeholder/index.js +0 -15
  296. package/dist/translator/placeholder/index[html].js +0 -93
  297. package/dist/translator/placeholder/index[vdom].js +0 -22
  298. package/dist/translator/scriptlet.js +0 -4
  299. package/dist/translator/tag/attribute/directives/class.js +0 -42
  300. package/dist/translator/tag/attribute/directives/index.js +0 -15
  301. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  302. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  303. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  304. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  305. package/dist/translator/tag/attribute/directives/style.js +0 -42
  306. package/dist/translator/tag/attribute/index.js +0 -150
  307. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  308. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  309. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  310. package/dist/translator/tag/attribute-tag.js +0 -149
  311. package/dist/translator/tag/custom-tag.js +0 -146
  312. package/dist/translator/tag/dynamic-tag.js +0 -74
  313. package/dist/translator/tag/index.js +0 -287
  314. package/dist/translator/tag/macro-tag.js +0 -7
  315. package/dist/translator/tag/native-tag.js +0 -27
  316. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  317. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  318. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  319. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  320. package/dist/translator/tag/util.js +0 -246
  321. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  322. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  323. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  324. package/dist/translator/taglib/core/conditional/util.js +0 -41
  325. package/dist/translator/taglib/core/index.js +0 -474
  326. package/dist/translator/taglib/core/macro/parse.js +0 -17
  327. package/dist/translator/taglib/core/macro/translate.js +0 -48
  328. package/dist/translator/taglib/core/parse-class.js +0 -79
  329. package/dist/translator/taglib/core/parse-export.js +0 -14
  330. package/dist/translator/taglib/core/parse-import.js +0 -14
  331. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  332. package/dist/translator/taglib/core/parse-static.js +0 -18
  333. package/dist/translator/taglib/core/transform-style.js +0 -66
  334. package/dist/translator/taglib/core/translate-await.js +0 -41
  335. package/dist/translator/taglib/core/translate-body.js +0 -17
  336. package/dist/translator/taglib/core/translate-for.js +0 -156
  337. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  338. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  339. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  340. package/dist/translator/taglib/core/translate-while.js +0 -32
  341. package/dist/translator/taglib/index.js +0 -6
  342. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  343. package/dist/translator/taglib/migrate/index.js +0 -5
  344. package/dist/translator/text/index.js +0 -10
  345. package/dist/translator/text/index[html].js +0 -12
  346. package/dist/translator/text/index[vdom].js +0 -20
  347. package/dist/translator/util/add-dependencies.js +0 -329
  348. package/dist/translator/util/escape-regexp.js +0 -4
  349. package/dist/translator/util/get-component-files.js +0 -86
  350. package/dist/translator/util/html-out-write.js +0 -15
  351. package/dist/translator/util/key-manager.js +0 -176
  352. package/dist/translator/util/optimize-html-writes.js +0 -52
  353. package/dist/translator/util/optimize-vdom-create.js +0 -164
  354. package/dist/translator/util/plugin-hooks.js +0 -22
  355. package/dist/translator/util/runtime-flags.js +0 -3
  356. package/dist/translator/util/vdom-out-write.js +0 -10
  357. package/dist/translator/util/with-previous-location.js +0 -6
  358. package/docs/10-awesome-marko-features.md +0 -291
  359. package/docs/body-content.md +0 -355
  360. package/docs/class-components.md +0 -1001
  361. package/docs/cloudflare-workers.md +0 -32
  362. package/docs/compiler-hooks.png +0 -0
  363. package/docs/compiler.md +0 -473
  364. package/docs/component-diagram.afdesign +0 -0
  365. package/docs/component-diagram.svg +0 -87
  366. package/docs/concise.md +0 -141
  367. package/docs/conditionals-and-lists.md +0 -72
  368. package/docs/core-tags.md +0 -325
  369. package/docs/custom-tags.md +0 -201
  370. package/docs/editor-plugins.md +0 -45
  371. package/docs/events.md +0 -131
  372. package/docs/express.md +0 -66
  373. package/docs/fastify.md +0 -65
  374. package/docs/getting-started.md +0 -95
  375. package/docs/http.md +0 -34
  376. package/docs/icons/js.svg +0 -4
  377. package/docs/icons/marko.svg +0 -1
  378. package/docs/icons/ts.svg +0 -1
  379. package/docs/installing.md +0 -51
  380. package/docs/koa.md +0 -35
  381. package/docs/lasso.md +0 -196
  382. package/docs/marko-5-upgrade.md +0 -59
  383. package/docs/marko-json.md +0 -248
  384. package/docs/marko-vs-react.md +0 -854
  385. package/docs/redux.md +0 -61
  386. package/docs/rendering.md +0 -268
  387. package/docs/rollup.md +0 -352
  388. package/docs/state.md +0 -105
  389. package/docs/structure.json +0 -49
  390. package/docs/styles.md +0 -29
  391. package/docs/syntax.md +0 -601
  392. package/docs/troubleshooting-streaming.md +0 -68
  393. package/docs/typescript.md +0 -406
  394. package/docs/vite.md +0 -86
  395. package/docs/webpack.md +0 -205
  396. package/docs/why-is-marko-fast.md +0 -239
  397. package/env.js +0 -7
  398. package/helpers/README.md +0 -3
  399. package/helpers/empty.js +0 -4
  400. package/helpers/notEmpty.js +0 -11
  401. package/index-browser.marko +0 -15
  402. package/index.d.ts +0 -375
  403. package/index.js +0 -7
  404. package/legacy-components-browser.marko +0 -15
  405. package/legacy-components.js +0 -7
  406. package/node-require.js +0 -8
  407. package/src/build.json +0 -3
  408. package/src/compiler/config.js +0 -45
  409. package/src/compiler/index.js +0 -164
  410. package/src/compiler/modules.js +0 -5
  411. package/src/core-tags/.eslintrc +0 -5
  412. package/src/core-tags/components/init-components-tag.js +0 -54
  413. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  414. package/src/core-tags/components/preserve-tag.js +0 -1
  415. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  416. package/src/core-tags/core/await/AsyncValue.js +0 -121
  417. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  418. package/src/core-tags/core/await/index.d.marko +0 -10
  419. package/src/core-tags/core/await/renderer.js +0 -249
  420. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  421. package/src/index.js +0 -4
  422. package/src/node-require/browser-refresh.js +0 -18
  423. package/src/node-require/hot-reload.js +0 -45
  424. package/src/node-require/index.js +0 -103
  425. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  426. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  427. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  428. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  429. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  430. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  431. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  432. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  433. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  434. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  435. package/src/node_modules/@internal/components-entry/index.js +0 -301
  436. package/src/node_modules/@internal/components-entry/package.json +0 -11
  437. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  438. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  439. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  440. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  441. package/src/node_modules/@internal/components-registry/index.js +0 -44
  442. package/src/node_modules/@internal/components-registry/package.json +0 -11
  443. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  444. package/src/node_modules/@internal/components-util/index.js +0 -75
  445. package/src/node_modules/@internal/components-util/package.json +0 -11
  446. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  447. package/src/node_modules/@internal/create-readable/index.js +0 -57
  448. package/src/node_modules/@internal/create-readable/package.json +0 -11
  449. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  450. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  451. package/src/node_modules/@internal/loader/index.js +0 -23
  452. package/src/node_modules/@internal/loader/package.json +0 -10
  453. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  454. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  455. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  456. package/src/node_modules/@internal/require/index-browser.js +0 -15
  457. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  458. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  459. package/src/node_modules/@internal/require/index.js +0 -15
  460. package/src/node_modules/@internal/require/package.json +0 -11
  461. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  462. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  463. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  464. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  465. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  466. package/src/runtime/.eslintrc +0 -5
  467. package/src/runtime/RenderResult.js +0 -112
  468. package/src/runtime/components/Component.js +0 -663
  469. package/src/runtime/components/ComponentDef.js +0 -169
  470. package/src/runtime/components/ComponentsContext.js +0 -59
  471. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  472. package/src/runtime/components/KeySequence.js +0 -16
  473. package/src/runtime/components/ServerComponent.js +0 -73
  474. package/src/runtime/components/State.js +0 -101
  475. package/src/runtime/components/attach-detach.js +0 -60
  476. package/src/runtime/components/defineComponent.js +0 -60
  477. package/src/runtime/components/dom-data.js +0 -8
  478. package/src/runtime/components/event-delegation.js +0 -144
  479. package/src/runtime/components/index.js +0 -1
  480. package/src/runtime/components/legacy/browser.json +0 -9
  481. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  482. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  483. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  484. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  485. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  486. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  487. package/src/runtime/components/legacy/index.js +0 -1
  488. package/src/runtime/components/legacy/jquery.js +0 -52
  489. package/src/runtime/components/legacy/ready.js +0 -152
  490. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  491. package/src/runtime/components/registry.js +0 -1
  492. package/src/runtime/components/renderer.js +0 -236
  493. package/src/runtime/components/update-manager.js +0 -94
  494. package/src/runtime/createOut.js +0 -13
  495. package/src/runtime/dom-insert.js +0 -77
  496. package/src/runtime/events.js +0 -2
  497. package/src/runtime/helpers/_change-case.js +0 -45
  498. package/src/runtime/helpers/assign.js +0 -21
  499. package/src/runtime/helpers/attr-tag.js +0 -43
  500. package/src/runtime/helpers/class-value.js +0 -30
  501. package/src/runtime/helpers/dynamic-tag.js +0 -181
  502. package/src/runtime/helpers/empty-component.js +0 -1
  503. package/src/runtime/helpers/merge.js +0 -13
  504. package/src/runtime/helpers/of-fallback.js +0 -4
  505. package/src/runtime/helpers/render-tag.js +0 -20
  506. package/src/runtime/helpers/serialize-noop.js +0 -5
  507. package/src/runtime/helpers/style-value.js +0 -45
  508. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  509. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  510. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  511. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  512. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  513. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  514. package/src/runtime/helpers/tags-compat/html.js +0 -3
  515. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  516. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  517. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  518. package/src/runtime/helpers/to-string.js +0 -5
  519. package/src/runtime/html/AsyncStream.js +0 -805
  520. package/src/runtime/html/BufferedWriter.js +0 -52
  521. package/src/runtime/html/StringWriter.js +0 -73
  522. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  523. package/src/runtime/html/helpers/attr.js +0 -80
  524. package/src/runtime/html/helpers/attrs.js +0 -26
  525. package/src/runtime/html/helpers/class-attr.js +0 -8
  526. package/src/runtime/html/helpers/data-marko.js +0 -36
  527. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  528. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  529. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  530. package/src/runtime/html/helpers/escape-xml.js +0 -21
  531. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  532. package/src/runtime/html/helpers/props-script.js +0 -32
  533. package/src/runtime/html/helpers/style-attr.js +0 -8
  534. package/src/runtime/html/hot-reload.js +0 -26
  535. package/src/runtime/html/index.js +0 -33
  536. package/src/runtime/html/marko-namespace.js +0 -3
  537. package/src/runtime/renderable.js +0 -194
  538. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  539. package/src/runtime/vdom/VComment.js +0 -24
  540. package/src/runtime/vdom/VComponent.js +0 -17
  541. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  542. package/src/runtime/vdom/VElement.js +0 -375
  543. package/src/runtime/vdom/VFragment.js +0 -26
  544. package/src/runtime/vdom/VNode.js +0 -100
  545. package/src/runtime/vdom/VText.js +0 -25
  546. package/src/runtime/vdom/helpers/attrs.js +0 -62
  547. package/src/runtime/vdom/helpers/const-element.js +0 -25
  548. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  549. package/src/runtime/vdom/hot-reload.js +0 -115
  550. package/src/runtime/vdom/index.js +0 -30
  551. package/src/runtime/vdom/is-text-only.js +0 -10
  552. package/src/runtime/vdom/marko-namespace.js +0 -3
  553. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  554. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  555. package/src/runtime/vdom/morphdom/index.js +0 -741
  556. package/src/runtime/vdom/parse-html.js +0 -18
  557. package/src/runtime/vdom/vdom.js +0 -88
  558. package/src/taglib/index.js +0 -51
  559. package/src/translator/cdata/index.js +0 -15
  560. package/src/translator/cdata/index[html].js +0 -15
  561. package/src/translator/cdata/index[vdom].js +0 -12
  562. package/src/translator/class.js +0 -65
  563. package/src/translator/comment/index.js +0 -15
  564. package/src/translator/comment/index[html].js +0 -17
  565. package/src/translator/comment/index[vdom].js +0 -3
  566. package/src/translator/declaration/index.js +0 -15
  567. package/src/translator/declaration/index[html].js +0 -12
  568. package/src/translator/declaration/index[vdom].js +0 -3
  569. package/src/translator/document-type/index.js +0 -15
  570. package/src/translator/document-type/index[html].js +0 -12
  571. package/src/translator/document-type/index[vdom].js +0 -3
  572. package/src/translator/index.js +0 -551
  573. package/src/translator/placeholder/index.js +0 -15
  574. package/src/translator/placeholder/index[html].js +0 -93
  575. package/src/translator/placeholder/index[vdom].js +0 -22
  576. package/src/translator/scriptlet.js +0 -4
  577. package/src/translator/tag/attribute/directives/class.js +0 -42
  578. package/src/translator/tag/attribute/directives/index.js +0 -15
  579. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  580. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  581. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  582. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  583. package/src/translator/tag/attribute/directives/style.js +0 -42
  584. package/src/translator/tag/attribute/index.js +0 -150
  585. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  586. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  587. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  588. package/src/translator/tag/attribute-tag.js +0 -149
  589. package/src/translator/tag/custom-tag.js +0 -146
  590. package/src/translator/tag/dynamic-tag.js +0 -74
  591. package/src/translator/tag/index.js +0 -287
  592. package/src/translator/tag/macro-tag.js +0 -7
  593. package/src/translator/tag/native-tag.js +0 -27
  594. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  595. package/src/translator/tag/native-tag[html]/index.js +0 -221
  596. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  597. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  598. package/src/translator/tag/util.js +0 -246
  599. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  600. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  601. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  602. package/src/translator/taglib/core/conditional/util.js +0 -41
  603. package/src/translator/taglib/core/index.js +0 -474
  604. package/src/translator/taglib/core/macro/parse.js +0 -17
  605. package/src/translator/taglib/core/macro/translate.js +0 -48
  606. package/src/translator/taglib/core/parse-class.js +0 -79
  607. package/src/translator/taglib/core/parse-export.js +0 -14
  608. package/src/translator/taglib/core/parse-import.js +0 -14
  609. package/src/translator/taglib/core/parse-module-code.js +0 -18
  610. package/src/translator/taglib/core/parse-static.js +0 -18
  611. package/src/translator/taglib/core/transform-style.js +0 -66
  612. package/src/translator/taglib/core/translate-await.js +0 -41
  613. package/src/translator/taglib/core/translate-body.js +0 -17
  614. package/src/translator/taglib/core/translate-for.js +0 -156
  615. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  616. package/src/translator/taglib/core/translate-include-content.js +0 -53
  617. package/src/translator/taglib/core/translate-server-only.js +0 -5
  618. package/src/translator/taglib/core/translate-while.js +0 -32
  619. package/src/translator/taglib/index.js +0 -7
  620. package/src/translator/taglib/migrate/all-templates.js +0 -46
  621. package/src/translator/taglib/migrate/index.js +0 -5
  622. package/src/translator/text/index.js +0 -10
  623. package/src/translator/text/index[html].js +0 -12
  624. package/src/translator/text/index[vdom].js +0 -20
  625. package/src/translator/util/add-dependencies.js +0 -329
  626. package/src/translator/util/escape-regexp.js +0 -4
  627. package/src/translator/util/get-component-files.js +0 -86
  628. package/src/translator/util/html-out-write.js +0 -15
  629. package/src/translator/util/key-manager.js +0 -176
  630. package/src/translator/util/optimize-html-writes.js +0 -52
  631. package/src/translator/util/optimize-vdom-create.js +0 -164
  632. package/src/translator/util/plugin-hooks.js +0 -22
  633. package/src/translator/util/runtime-flags.js +0 -3
  634. package/src/translator/util/vdom-out-write.js +0 -10
  635. package/src/translator/util/with-previous-location.js +0 -6
  636. package/tags-html.d.ts +0 -3855
  637. package/translator/index.d.ts +0 -7
  638. package/translator/package.json +0 -5
@@ -1,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
- }