marko 5.37.1 → 6.0.0-3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/dist/common/attr-tag.d.ts +8 -0
  2. package/dist/common/compat-meta.d.ts +2 -0
  3. package/dist/common/for.d.ts +5 -0
  4. package/dist/common/helpers.d.ts +7 -0
  5. package/dist/common/meta.d.ts +2 -0
  6. package/dist/common/types.d.ts +105 -0
  7. package/dist/debug/dom.js +2112 -0
  8. package/dist/debug/dom.mjs +2089 -0
  9. package/dist/debug/html.js +2740 -0
  10. package/dist/debug/html.mjs +2663 -0
  11. package/dist/dom/abort-signal.d.ts +3 -0
  12. package/dist/dom/compat.d.ts +20 -0
  13. package/dist/dom/control-flow.d.ts +14 -0
  14. package/dist/dom/controllable.d.ts +12 -0
  15. package/dist/dom/dom.d.ts +19 -0
  16. package/dist/dom/event.d.ts +4 -0
  17. package/dist/dom/parse-html.d.ts +5 -0
  18. package/dist/dom/queue.d.ts +10 -0
  19. package/dist/dom/reconcile.d.ts +2 -0
  20. package/dist/dom/renderer.d.ts +21 -0
  21. package/dist/dom/resolve-cursor-position.d.ts +1 -0
  22. package/dist/dom/resume.d.ts +9 -0
  23. package/dist/dom/schedule.d.ts +2 -0
  24. package/dist/dom/scope.d.ts +7 -0
  25. package/dist/dom/signals.d.ts +39 -0
  26. package/dist/dom/template.d.ts +3 -0
  27. package/dist/dom/walker.d.ts +4 -0
  28. package/dist/dom.d.ts +15 -0
  29. package/dist/dom.js +1370 -0
  30. package/dist/dom.mjs +1350 -0
  31. package/dist/html/attrs.d.ts +14 -0
  32. package/dist/html/compat.d.ts +14 -0
  33. package/dist/html/content.d.ts +5 -0
  34. package/dist/html/dynamic-tag.d.ts +12 -0
  35. package/dist/html/for.d.ts +4 -0
  36. package/dist/html/inlined-runtimes.d.ts +2 -0
  37. package/dist/html/serializer.d.ts +14 -0
  38. package/dist/html/template.d.ts +3 -0
  39. package/dist/html/writer.d.ts +114 -0
  40. package/dist/html.d.ts +9 -0
  41. package/dist/html.js +1818 -0
  42. package/dist/html.mjs +1744 -0
  43. package/dist/translator/core/attrs.d.ts +3 -0
  44. package/dist/translator/core/client.d.ts +14 -0
  45. package/dist/translator/core/const.d.ts +3 -0
  46. package/dist/translator/core/debug.d.ts +3 -0
  47. package/dist/translator/core/define.d.ts +3 -0
  48. package/dist/translator/core/effect.d.ts +3 -0
  49. package/dist/translator/core/export.d.ts +3 -0
  50. package/dist/translator/core/for.d.ts +67 -0
  51. package/dist/translator/core/html-comment.d.ts +12 -0
  52. package/dist/translator/core/html-script.d.ts +9 -0
  53. package/dist/translator/core/html-style.d.ts +9 -0
  54. package/dist/translator/core/id.d.ts +3 -0
  55. package/dist/translator/core/if.d.ts +53 -0
  56. package/dist/translator/core/import.d.ts +3 -0
  57. package/dist/translator/core/index.d.ts +152 -0
  58. package/dist/translator/core/let.d.ts +8 -0
  59. package/dist/translator/core/lifecycle.d.ts +10 -0
  60. package/dist/translator/core/log.d.ts +3 -0
  61. package/dist/translator/core/return.d.ts +6 -0
  62. package/dist/translator/core/script.d.ts +3 -0
  63. package/dist/translator/core/server.d.ts +14 -0
  64. package/dist/translator/core/static.d.ts +14 -0
  65. package/dist/translator/core/style.d.ts +3 -0
  66. package/dist/translator/index.d.ts +201 -0
  67. package/dist/translator/index.js +9143 -489
  68. package/dist/translator/util/assert.d.ts +3 -0
  69. package/dist/translator/util/binding-has-downstream-expressions.d.ts +2 -0
  70. package/dist/translator/util/entry-builder.d.ts +19 -0
  71. package/dist/translator/util/evaluate.d.ts +11 -0
  72. package/dist/translator/util/for-each-identifier.d.ts +2 -0
  73. package/dist/translator/util/get-defined-binding-expression.d.ts +3 -0
  74. package/dist/translator/util/get-known-attr-values.d.ts +2 -0
  75. package/dist/translator/util/get-parent-tag.d.ts +2 -0
  76. package/dist/translator/util/get-root.d.ts +7 -0
  77. package/dist/translator/util/get-tag-name.d.ts +2 -0
  78. package/dist/translator/util/is-core-tag.d.ts +10 -0
  79. package/dist/translator/util/is-stateful.d.ts +3 -0
  80. package/dist/translator/util/is-static.d.ts +2 -0
  81. package/dist/translator/util/marko-config.d.ts +4 -0
  82. package/dist/translator/util/nested-attribute-tags.d.ts +17 -0
  83. package/dist/translator/util/normalize-string-expression.d.ts +3 -0
  84. package/dist/translator/util/optional.d.ts +20 -0
  85. package/dist/translator/util/plugin-hooks.d.ts +4 -0
  86. package/dist/translator/util/references.d.ts +84 -0
  87. package/dist/translator/util/runtime-info.d.ts +5 -0
  88. package/dist/translator/util/runtime.d.ts +15 -0
  89. package/dist/translator/util/scope-read.d.ts +6 -0
  90. package/dist/translator/util/sections.d.ts +51 -0
  91. package/dist/translator/util/signals.d.ts +61 -0
  92. package/dist/translator/util/simplify-fn.d.ts +5 -0
  93. package/dist/translator/util/state.d.ts +3 -0
  94. package/dist/translator/util/tag-name-type.d.ts +16 -0
  95. package/dist/translator/util/to-first-expression-or-block.d.ts +3 -0
  96. package/dist/translator/util/to-first-statement-or-block.d.ts +2 -0
  97. package/dist/translator/util/to-property-name.d.ts +7 -0
  98. package/dist/translator/util/translate-attrs.d.ts +12 -0
  99. package/dist/translator/util/translate-var.d.ts +2 -0
  100. package/dist/translator/util/traverse.d.ts +9 -0
  101. package/dist/translator/util/visitors.d.ts +11 -0
  102. package/dist/translator/util/walks.d.ts +15 -0
  103. package/dist/translator/util/with-previous-location.d.ts +2 -0
  104. package/dist/translator/util/writer.d.ts +13 -0
  105. package/dist/translator/visitors/cdata.d.ts +7 -0
  106. package/dist/translator/visitors/comment.d.ts +7 -0
  107. package/dist/translator/visitors/declaration.d.ts +7 -0
  108. package/dist/translator/visitors/document-type.d.ts +7 -0
  109. package/dist/translator/visitors/function.d.ts +19 -0
  110. package/dist/translator/visitors/import-declaration.d.ts +8 -0
  111. package/dist/translator/visitors/placeholder.d.ts +22 -0
  112. package/dist/translator/visitors/program/dom.d.ts +7 -0
  113. package/dist/translator/visitors/program/html.d.ts +8 -0
  114. package/dist/translator/visitors/program/index.d.ts +39 -0
  115. package/dist/translator/visitors/referenced-identifier.d.ts +7 -0
  116. package/dist/translator/visitors/scriptlet.d.ts +8 -0
  117. package/dist/translator/visitors/tag/attribute-tag.d.ts +11 -0
  118. package/dist/translator/visitors/tag/custom-tag.d.ts +19 -0
  119. package/dist/translator/visitors/tag/dynamic-tag.d.ts +18 -0
  120. package/dist/translator/visitors/tag/index.d.ts +15 -0
  121. package/dist/translator/visitors/tag/native-tag.d.ts +25 -0
  122. package/dist/translator/visitors/text.d.ts +7 -0
  123. package/package.json +32 -74
  124. package/README.md +0 -161
  125. package/bin/markoc +0 -2
  126. package/bin/markoc.js +0 -441
  127. package/browser-refresh.js +0 -5
  128. package/compiler-browser.marko +0 -15
  129. package/compiler.js +0 -7
  130. package/components-browser.marko +0 -15
  131. package/components.js +0 -7
  132. package/dist/build.json +0 -3
  133. package/dist/compiler/config.js +0 -45
  134. package/dist/compiler/index.js +0 -164
  135. package/dist/compiler/modules.js +0 -5
  136. package/dist/core-tags/components/init-components-tag.js +0 -54
  137. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  138. package/dist/core-tags/components/preserve-tag.js +0 -1
  139. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  140. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  141. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  142. package/dist/core-tags/core/await/index.d.marko +0 -10
  143. package/dist/core-tags/core/await/renderer.js +0 -249
  144. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  145. package/dist/index.js +0 -4
  146. package/dist/node-require/browser-refresh.js +0 -18
  147. package/dist/node-require/hot-reload.js +0 -45
  148. package/dist/node-require/index.js +0 -103
  149. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  150. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  151. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  152. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  153. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  154. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  155. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  156. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  157. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  158. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  159. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  160. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  161. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  162. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  163. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  164. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  165. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  166. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  167. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  168. package/dist/node_modules/@internal/components-util/index.js +0 -75
  169. package/dist/node_modules/@internal/components-util/package.json +0 -11
  170. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  171. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  172. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  173. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  174. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  175. package/dist/node_modules/@internal/loader/index.js +0 -23
  176. package/dist/node_modules/@internal/loader/package.json +0 -10
  177. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  178. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  179. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  180. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  181. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  182. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  183. package/dist/node_modules/@internal/require/index.js +0 -15
  184. package/dist/node_modules/@internal/require/package.json +0 -11
  185. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  186. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  187. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  188. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  189. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  190. package/dist/runtime/RenderResult.js +0 -112
  191. package/dist/runtime/components/Component.js +0 -663
  192. package/dist/runtime/components/ComponentDef.js +0 -169
  193. package/dist/runtime/components/ComponentsContext.js +0 -59
  194. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  195. package/dist/runtime/components/KeySequence.js +0 -16
  196. package/dist/runtime/components/ServerComponent.js +0 -73
  197. package/dist/runtime/components/State.js +0 -101
  198. package/dist/runtime/components/attach-detach.js +0 -60
  199. package/dist/runtime/components/defineComponent.js +0 -60
  200. package/dist/runtime/components/dom-data.js +0 -8
  201. package/dist/runtime/components/event-delegation.js +0 -144
  202. package/dist/runtime/components/index.js +0 -1
  203. package/dist/runtime/components/legacy/browser.json +0 -9
  204. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  205. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  206. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  207. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  208. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  209. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  210. package/dist/runtime/components/legacy/index.js +0 -1
  211. package/dist/runtime/components/legacy/jquery.js +0 -52
  212. package/dist/runtime/components/legacy/ready.js +0 -152
  213. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  214. package/dist/runtime/components/registry.js +0 -1
  215. package/dist/runtime/components/renderer.js +0 -236
  216. package/dist/runtime/components/update-manager.js +0 -94
  217. package/dist/runtime/createOut.js +0 -13
  218. package/dist/runtime/dom-insert.js +0 -77
  219. package/dist/runtime/events.js +0 -2
  220. package/dist/runtime/helpers/_change-case.js +0 -45
  221. package/dist/runtime/helpers/assign.js +0 -21
  222. package/dist/runtime/helpers/attr-tag.js +0 -43
  223. package/dist/runtime/helpers/class-value.js +0 -30
  224. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  225. package/dist/runtime/helpers/empty-component.js +0 -1
  226. package/dist/runtime/helpers/merge.js +0 -13
  227. package/dist/runtime/helpers/of-fallback.js +0 -4
  228. package/dist/runtime/helpers/render-tag.js +0 -20
  229. package/dist/runtime/helpers/serialize-noop.js +0 -5
  230. package/dist/runtime/helpers/style-value.js +0 -45
  231. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  232. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  233. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  234. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  235. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  236. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  237. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  238. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  239. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  240. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  241. package/dist/runtime/helpers/to-string.js +0 -5
  242. package/dist/runtime/html/AsyncStream.js +0 -805
  243. package/dist/runtime/html/BufferedWriter.js +0 -52
  244. package/dist/runtime/html/StringWriter.js +0 -73
  245. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  246. package/dist/runtime/html/helpers/attr.js +0 -80
  247. package/dist/runtime/html/helpers/attrs.js +0 -26
  248. package/dist/runtime/html/helpers/class-attr.js +0 -8
  249. package/dist/runtime/html/helpers/data-marko.js +0 -36
  250. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  251. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  252. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  253. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  254. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  255. package/dist/runtime/html/helpers/props-script.js +0 -32
  256. package/dist/runtime/html/helpers/style-attr.js +0 -8
  257. package/dist/runtime/html/hot-reload.js +0 -26
  258. package/dist/runtime/html/index.js +0 -33
  259. package/dist/runtime/html/marko-namespace.js +0 -3
  260. package/dist/runtime/renderable.js +0 -194
  261. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  262. package/dist/runtime/vdom/VComment.js +0 -24
  263. package/dist/runtime/vdom/VComponent.js +0 -17
  264. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  265. package/dist/runtime/vdom/VElement.js +0 -375
  266. package/dist/runtime/vdom/VFragment.js +0 -26
  267. package/dist/runtime/vdom/VNode.js +0 -100
  268. package/dist/runtime/vdom/VText.js +0 -25
  269. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  270. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  271. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  272. package/dist/runtime/vdom/hot-reload.js +0 -115
  273. package/dist/runtime/vdom/index.js +0 -30
  274. package/dist/runtime/vdom/is-text-only.js +0 -10
  275. package/dist/runtime/vdom/marko-namespace.js +0 -3
  276. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  277. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  278. package/dist/runtime/vdom/morphdom/index.js +0 -741
  279. package/dist/runtime/vdom/parse-html.js +0 -18
  280. package/dist/runtime/vdom/vdom.js +0 -88
  281. package/dist/taglib/index.js +0 -51
  282. package/dist/translator/cdata/index.js +0 -15
  283. package/dist/translator/cdata/index[html].js +0 -15
  284. package/dist/translator/cdata/index[vdom].js +0 -12
  285. package/dist/translator/class.js +0 -65
  286. package/dist/translator/comment/index.js +0 -15
  287. package/dist/translator/comment/index[html].js +0 -17
  288. package/dist/translator/comment/index[vdom].js +0 -3
  289. package/dist/translator/declaration/index.js +0 -15
  290. package/dist/translator/declaration/index[html].js +0 -12
  291. package/dist/translator/declaration/index[vdom].js +0 -3
  292. package/dist/translator/document-type/index.js +0 -15
  293. package/dist/translator/document-type/index[html].js +0 -12
  294. package/dist/translator/document-type/index[vdom].js +0 -3
  295. package/dist/translator/placeholder/index.js +0 -15
  296. package/dist/translator/placeholder/index[html].js +0 -93
  297. package/dist/translator/placeholder/index[vdom].js +0 -22
  298. package/dist/translator/scriptlet.js +0 -4
  299. package/dist/translator/tag/attribute/directives/class.js +0 -42
  300. package/dist/translator/tag/attribute/directives/index.js +0 -15
  301. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  302. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  303. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  304. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  305. package/dist/translator/tag/attribute/directives/style.js +0 -42
  306. package/dist/translator/tag/attribute/index.js +0 -150
  307. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  308. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  309. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  310. package/dist/translator/tag/attribute-tag.js +0 -149
  311. package/dist/translator/tag/custom-tag.js +0 -146
  312. package/dist/translator/tag/dynamic-tag.js +0 -74
  313. package/dist/translator/tag/index.js +0 -287
  314. package/dist/translator/tag/macro-tag.js +0 -7
  315. package/dist/translator/tag/native-tag.js +0 -27
  316. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  317. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  318. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  319. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  320. package/dist/translator/tag/util.js +0 -246
  321. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  322. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  323. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  324. package/dist/translator/taglib/core/conditional/util.js +0 -41
  325. package/dist/translator/taglib/core/index.js +0 -474
  326. package/dist/translator/taglib/core/macro/parse.js +0 -17
  327. package/dist/translator/taglib/core/macro/translate.js +0 -48
  328. package/dist/translator/taglib/core/parse-class.js +0 -79
  329. package/dist/translator/taglib/core/parse-export.js +0 -14
  330. package/dist/translator/taglib/core/parse-import.js +0 -14
  331. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  332. package/dist/translator/taglib/core/parse-static.js +0 -18
  333. package/dist/translator/taglib/core/transform-style.js +0 -66
  334. package/dist/translator/taglib/core/translate-await.js +0 -41
  335. package/dist/translator/taglib/core/translate-body.js +0 -17
  336. package/dist/translator/taglib/core/translate-for.js +0 -156
  337. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  338. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  339. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  340. package/dist/translator/taglib/core/translate-while.js +0 -32
  341. package/dist/translator/taglib/index.js +0 -6
  342. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  343. package/dist/translator/taglib/migrate/index.js +0 -5
  344. package/dist/translator/text/index.js +0 -10
  345. package/dist/translator/text/index[html].js +0 -12
  346. package/dist/translator/text/index[vdom].js +0 -20
  347. package/dist/translator/util/add-dependencies.js +0 -329
  348. package/dist/translator/util/escape-regexp.js +0 -4
  349. package/dist/translator/util/get-component-files.js +0 -86
  350. package/dist/translator/util/html-out-write.js +0 -15
  351. package/dist/translator/util/key-manager.js +0 -176
  352. package/dist/translator/util/optimize-html-writes.js +0 -52
  353. package/dist/translator/util/optimize-vdom-create.js +0 -164
  354. package/dist/translator/util/plugin-hooks.js +0 -22
  355. package/dist/translator/util/runtime-flags.js +0 -3
  356. package/dist/translator/util/vdom-out-write.js +0 -10
  357. package/dist/translator/util/with-previous-location.js +0 -6
  358. package/docs/10-awesome-marko-features.md +0 -291
  359. package/docs/body-content.md +0 -355
  360. package/docs/class-components.md +0 -1001
  361. package/docs/cloudflare-workers.md +0 -32
  362. package/docs/compiler-hooks.png +0 -0
  363. package/docs/compiler.md +0 -473
  364. package/docs/component-diagram.afdesign +0 -0
  365. package/docs/component-diagram.svg +0 -87
  366. package/docs/concise.md +0 -141
  367. package/docs/conditionals-and-lists.md +0 -72
  368. package/docs/core-tags.md +0 -325
  369. package/docs/custom-tags.md +0 -201
  370. package/docs/editor-plugins.md +0 -45
  371. package/docs/events.md +0 -131
  372. package/docs/express.md +0 -66
  373. package/docs/fastify.md +0 -65
  374. package/docs/getting-started.md +0 -95
  375. package/docs/http.md +0 -34
  376. package/docs/icons/js.svg +0 -4
  377. package/docs/icons/marko.svg +0 -1
  378. package/docs/icons/ts.svg +0 -1
  379. package/docs/installing.md +0 -51
  380. package/docs/koa.md +0 -35
  381. package/docs/lasso.md +0 -196
  382. package/docs/marko-5-upgrade.md +0 -59
  383. package/docs/marko-json.md +0 -248
  384. package/docs/marko-vs-react.md +0 -854
  385. package/docs/redux.md +0 -61
  386. package/docs/rendering.md +0 -268
  387. package/docs/rollup.md +0 -352
  388. package/docs/state.md +0 -105
  389. package/docs/structure.json +0 -49
  390. package/docs/styles.md +0 -29
  391. package/docs/syntax.md +0 -601
  392. package/docs/troubleshooting-streaming.md +0 -68
  393. package/docs/typescript.md +0 -406
  394. package/docs/vite.md +0 -86
  395. package/docs/webpack.md +0 -205
  396. package/docs/why-is-marko-fast.md +0 -239
  397. package/env.js +0 -7
  398. package/helpers/README.md +0 -3
  399. package/helpers/empty.js +0 -4
  400. package/helpers/notEmpty.js +0 -11
  401. package/index-browser.marko +0 -15
  402. package/index.d.ts +0 -375
  403. package/index.js +0 -7
  404. package/legacy-components-browser.marko +0 -15
  405. package/legacy-components.js +0 -7
  406. package/node-require.js +0 -8
  407. package/src/build.json +0 -3
  408. package/src/compiler/config.js +0 -45
  409. package/src/compiler/index.js +0 -164
  410. package/src/compiler/modules.js +0 -5
  411. package/src/core-tags/.eslintrc +0 -5
  412. package/src/core-tags/components/init-components-tag.js +0 -54
  413. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  414. package/src/core-tags/components/preserve-tag.js +0 -1
  415. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  416. package/src/core-tags/core/await/AsyncValue.js +0 -121
  417. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  418. package/src/core-tags/core/await/index.d.marko +0 -10
  419. package/src/core-tags/core/await/renderer.js +0 -249
  420. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  421. package/src/index.js +0 -4
  422. package/src/node-require/browser-refresh.js +0 -18
  423. package/src/node-require/hot-reload.js +0 -45
  424. package/src/node-require/index.js +0 -103
  425. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  426. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  427. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  428. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  429. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  430. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  431. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  432. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  433. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  434. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  435. package/src/node_modules/@internal/components-entry/index.js +0 -301
  436. package/src/node_modules/@internal/components-entry/package.json +0 -11
  437. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  438. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  439. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  440. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  441. package/src/node_modules/@internal/components-registry/index.js +0 -44
  442. package/src/node_modules/@internal/components-registry/package.json +0 -11
  443. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  444. package/src/node_modules/@internal/components-util/index.js +0 -75
  445. package/src/node_modules/@internal/components-util/package.json +0 -11
  446. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  447. package/src/node_modules/@internal/create-readable/index.js +0 -57
  448. package/src/node_modules/@internal/create-readable/package.json +0 -11
  449. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  450. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  451. package/src/node_modules/@internal/loader/index.js +0 -23
  452. package/src/node_modules/@internal/loader/package.json +0 -10
  453. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  454. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  455. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  456. package/src/node_modules/@internal/require/index-browser.js +0 -15
  457. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  458. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  459. package/src/node_modules/@internal/require/index.js +0 -15
  460. package/src/node_modules/@internal/require/package.json +0 -11
  461. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  462. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  463. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  464. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  465. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  466. package/src/runtime/.eslintrc +0 -5
  467. package/src/runtime/RenderResult.js +0 -112
  468. package/src/runtime/components/Component.js +0 -663
  469. package/src/runtime/components/ComponentDef.js +0 -169
  470. package/src/runtime/components/ComponentsContext.js +0 -59
  471. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  472. package/src/runtime/components/KeySequence.js +0 -16
  473. package/src/runtime/components/ServerComponent.js +0 -73
  474. package/src/runtime/components/State.js +0 -101
  475. package/src/runtime/components/attach-detach.js +0 -60
  476. package/src/runtime/components/defineComponent.js +0 -60
  477. package/src/runtime/components/dom-data.js +0 -8
  478. package/src/runtime/components/event-delegation.js +0 -144
  479. package/src/runtime/components/index.js +0 -1
  480. package/src/runtime/components/legacy/browser.json +0 -9
  481. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  482. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  483. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  484. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  485. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  486. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  487. package/src/runtime/components/legacy/index.js +0 -1
  488. package/src/runtime/components/legacy/jquery.js +0 -52
  489. package/src/runtime/components/legacy/ready.js +0 -152
  490. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  491. package/src/runtime/components/registry.js +0 -1
  492. package/src/runtime/components/renderer.js +0 -236
  493. package/src/runtime/components/update-manager.js +0 -94
  494. package/src/runtime/createOut.js +0 -13
  495. package/src/runtime/dom-insert.js +0 -77
  496. package/src/runtime/events.js +0 -2
  497. package/src/runtime/helpers/_change-case.js +0 -45
  498. package/src/runtime/helpers/assign.js +0 -21
  499. package/src/runtime/helpers/attr-tag.js +0 -43
  500. package/src/runtime/helpers/class-value.js +0 -30
  501. package/src/runtime/helpers/dynamic-tag.js +0 -181
  502. package/src/runtime/helpers/empty-component.js +0 -1
  503. package/src/runtime/helpers/merge.js +0 -13
  504. package/src/runtime/helpers/of-fallback.js +0 -4
  505. package/src/runtime/helpers/render-tag.js +0 -20
  506. package/src/runtime/helpers/serialize-noop.js +0 -5
  507. package/src/runtime/helpers/style-value.js +0 -45
  508. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  509. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  510. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  511. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  512. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  513. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  514. package/src/runtime/helpers/tags-compat/html.js +0 -3
  515. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  516. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  517. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  518. package/src/runtime/helpers/to-string.js +0 -5
  519. package/src/runtime/html/AsyncStream.js +0 -805
  520. package/src/runtime/html/BufferedWriter.js +0 -52
  521. package/src/runtime/html/StringWriter.js +0 -73
  522. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  523. package/src/runtime/html/helpers/attr.js +0 -80
  524. package/src/runtime/html/helpers/attrs.js +0 -26
  525. package/src/runtime/html/helpers/class-attr.js +0 -8
  526. package/src/runtime/html/helpers/data-marko.js +0 -36
  527. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  528. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  529. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  530. package/src/runtime/html/helpers/escape-xml.js +0 -21
  531. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  532. package/src/runtime/html/helpers/props-script.js +0 -32
  533. package/src/runtime/html/helpers/style-attr.js +0 -8
  534. package/src/runtime/html/hot-reload.js +0 -26
  535. package/src/runtime/html/index.js +0 -33
  536. package/src/runtime/html/marko-namespace.js +0 -3
  537. package/src/runtime/renderable.js +0 -194
  538. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  539. package/src/runtime/vdom/VComment.js +0 -24
  540. package/src/runtime/vdom/VComponent.js +0 -17
  541. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  542. package/src/runtime/vdom/VElement.js +0 -375
  543. package/src/runtime/vdom/VFragment.js +0 -26
  544. package/src/runtime/vdom/VNode.js +0 -100
  545. package/src/runtime/vdom/VText.js +0 -25
  546. package/src/runtime/vdom/helpers/attrs.js +0 -62
  547. package/src/runtime/vdom/helpers/const-element.js +0 -25
  548. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  549. package/src/runtime/vdom/hot-reload.js +0 -115
  550. package/src/runtime/vdom/index.js +0 -30
  551. package/src/runtime/vdom/is-text-only.js +0 -10
  552. package/src/runtime/vdom/marko-namespace.js +0 -3
  553. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  554. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  555. package/src/runtime/vdom/morphdom/index.js +0 -741
  556. package/src/runtime/vdom/parse-html.js +0 -18
  557. package/src/runtime/vdom/vdom.js +0 -88
  558. package/src/taglib/index.js +0 -51
  559. package/src/translator/cdata/index.js +0 -15
  560. package/src/translator/cdata/index[html].js +0 -15
  561. package/src/translator/cdata/index[vdom].js +0 -12
  562. package/src/translator/class.js +0 -65
  563. package/src/translator/comment/index.js +0 -15
  564. package/src/translator/comment/index[html].js +0 -17
  565. package/src/translator/comment/index[vdom].js +0 -3
  566. package/src/translator/declaration/index.js +0 -15
  567. package/src/translator/declaration/index[html].js +0 -12
  568. package/src/translator/declaration/index[vdom].js +0 -3
  569. package/src/translator/document-type/index.js +0 -15
  570. package/src/translator/document-type/index[html].js +0 -12
  571. package/src/translator/document-type/index[vdom].js +0 -3
  572. package/src/translator/index.js +0 -551
  573. package/src/translator/placeholder/index.js +0 -15
  574. package/src/translator/placeholder/index[html].js +0 -93
  575. package/src/translator/placeholder/index[vdom].js +0 -22
  576. package/src/translator/scriptlet.js +0 -4
  577. package/src/translator/tag/attribute/directives/class.js +0 -42
  578. package/src/translator/tag/attribute/directives/index.js +0 -15
  579. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  580. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  581. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  582. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  583. package/src/translator/tag/attribute/directives/style.js +0 -42
  584. package/src/translator/tag/attribute/index.js +0 -150
  585. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  586. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  587. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  588. package/src/translator/tag/attribute-tag.js +0 -149
  589. package/src/translator/tag/custom-tag.js +0 -146
  590. package/src/translator/tag/dynamic-tag.js +0 -74
  591. package/src/translator/tag/index.js +0 -287
  592. package/src/translator/tag/macro-tag.js +0 -7
  593. package/src/translator/tag/native-tag.js +0 -27
  594. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  595. package/src/translator/tag/native-tag[html]/index.js +0 -221
  596. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  597. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  598. package/src/translator/tag/util.js +0 -246
  599. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  600. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  601. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  602. package/src/translator/taglib/core/conditional/util.js +0 -41
  603. package/src/translator/taglib/core/index.js +0 -474
  604. package/src/translator/taglib/core/macro/parse.js +0 -17
  605. package/src/translator/taglib/core/macro/translate.js +0 -48
  606. package/src/translator/taglib/core/parse-class.js +0 -79
  607. package/src/translator/taglib/core/parse-export.js +0 -14
  608. package/src/translator/taglib/core/parse-import.js +0 -14
  609. package/src/translator/taglib/core/parse-module-code.js +0 -18
  610. package/src/translator/taglib/core/parse-static.js +0 -18
  611. package/src/translator/taglib/core/transform-style.js +0 -66
  612. package/src/translator/taglib/core/translate-await.js +0 -41
  613. package/src/translator/taglib/core/translate-body.js +0 -17
  614. package/src/translator/taglib/core/translate-for.js +0 -156
  615. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  616. package/src/translator/taglib/core/translate-include-content.js +0 -53
  617. package/src/translator/taglib/core/translate-server-only.js +0 -5
  618. package/src/translator/taglib/core/translate-while.js +0 -32
  619. package/src/translator/taglib/index.js +0 -7
  620. package/src/translator/taglib/migrate/all-templates.js +0 -46
  621. package/src/translator/taglib/migrate/index.js +0 -5
  622. package/src/translator/text/index.js +0 -10
  623. package/src/translator/text/index[html].js +0 -12
  624. package/src/translator/text/index[vdom].js +0 -20
  625. package/src/translator/util/add-dependencies.js +0 -329
  626. package/src/translator/util/escape-regexp.js +0 -4
  627. package/src/translator/util/get-component-files.js +0 -86
  628. package/src/translator/util/html-out-write.js +0 -15
  629. package/src/translator/util/key-manager.js +0 -176
  630. package/src/translator/util/optimize-html-writes.js +0 -52
  631. package/src/translator/util/optimize-vdom-create.js +0 -164
  632. package/src/translator/util/plugin-hooks.js +0 -22
  633. package/src/translator/util/runtime-flags.js +0 -3
  634. package/src/translator/util/vdom-out-write.js +0 -10
  635. package/src/translator/util/with-previous-location.js +0 -6
  636. package/tags-html.d.ts +0 -3855
  637. package/translator/index.d.ts +0 -7
  638. package/translator/package.json +0 -5
@@ -1,287 +0,0 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _compiler = require("@marko/compiler");
2
- var _babelUtils = require("@marko/compiler/babel-utils");
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
- var _path = _interopRequireDefault(require("path"));
14
-
15
- var _keyManager = require("../util/key-manager");
16
- var _optimizeVdomCreate = require("../util/optimize-vdom-create");
17
- var _pluginHooks = require("../util/plugin-hooks");
18
- var _attribute = _interopRequireDefault(require("./attribute"));
19
- var _attributeTag = _interopRequireWildcard(require("./attribute-tag"));
20
- var _customTag = _interopRequireDefault(require("./custom-tag"));
21
- var _dynamicTag = _interopRequireDefault(require("./dynamic-tag"));
22
- var _macroTag = _interopRequireDefault(require("./macro-tag"));
23
- var _nativeTag = _interopRequireDefault(require("./native-tag"));function _getRequireWildcardCache(e) {if ("function" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || "object" != typeof e && "function" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}var _default = exports.default =
24
-
25
- {
26
- enter(path) {
27
- const tagDef = (0, _babelUtils.getTagDef)(path);
28
-
29
- if (tagDef && tagDef.translator) {
30
- const { node } = path;
31
- (0, _pluginHooks.enter)(tagDef.translator.hook, path, _compiler.types);
32
-
33
- if (path.node !== node) {
34
- return;
35
- }
36
- }
37
-
38
- (0, _babelUtils.assertNoVar)(path);
39
-
40
- for (const attr of path.get("attributes")) {
41
- if (attr.isMarkoAttribute()) {
42
- const { node } = path;
43
- _attribute.default.enter(attr);
44
- if (path.node !== node) {
45
- return;
46
- }
47
- }
48
- }
49
-
50
- if (!(0, _babelUtils.isAttributeTag)(path)) {
51
- if (
52
- !tagDef &&
53
- path.hub.file.markoOpts.ignoreUnrecognizedTags && (
54
- path.node.attributeTags.length || path.node.body.attributeTags) &&
55
- !(0, _babelUtils.isDynamicTag)(path))
56
- {
57
- moveIgnoredAttrTags(path);
58
- }
59
-
60
- if ((0, _babelUtils.isDynamicTag)(path) || !((0, _babelUtils.isMacroTag)(path) || (0, _babelUtils.isNativeTag)(path))) {
61
- (0, _attributeTag.analyzeAttributeTags)(path);
62
- }
63
-
64
- (0, _keyManager.getKeyManager)(path).resolveKey(path);
65
- }
66
-
67
- (0, _optimizeVdomCreate.optimizeStaticVDOM)(path);
68
- },
69
- exit(path) {
70
- let isUnknownDynamic = false;
71
- let isDynamicNullable = false;
72
-
73
- if ((0, _babelUtils.isDynamicTag)(path)) {
74
- const name = path.get("name");
75
- const types = findDynamicTagTypes(name);
76
- if (types && !(types.string && types.component)) {
77
- if (!name.isIdentifier()) {
78
- const tagIdentifier = path.scope.generateUidIdentifier(`tagName`);
79
- path.insertBefore(
80
- _compiler.types.variableDeclaration("const", [
81
- _compiler.types.variableDeclarator(tagIdentifier, name.node)]
82
- )
83
- );
84
-
85
- name.replaceWith(tagIdentifier);
86
- }
87
-
88
- isDynamicNullable = types.empty;
89
- path.node._isDynamicString = types.string;
90
- } else {
91
- isUnknownDynamic = true;
92
- }
93
- }
94
-
95
- for (const attr of path.get("attributes")) {
96
- if (attr.isMarkoAttribute()) {
97
- const { node } = path;
98
- _attribute.default.exit(attr);
99
- if (path.node !== node) {
100
- return;
101
- }
102
- }
103
- }
104
-
105
- if (isUnknownDynamic) {
106
- return (0, _dynamicTag.default)(path);
107
- }
108
-
109
- if ((0, _babelUtils.isAttributeTag)(path)) {
110
- return (0, _attributeTag.default)(path);
111
- }
112
-
113
- if ((0, _babelUtils.isMacroTag)(path)) {
114
- return (0, _macroTag.default)(path);
115
- }
116
-
117
- const tagDef = (0, _babelUtils.getTagDef)(path);
118
-
119
- if (tagDef && tagDef.translator) {
120
- const { node } = path;
121
-
122
- (0, _pluginHooks.exit)(tagDef.translator.hook, path, _compiler.types);
123
-
124
- if (path.node !== node) {
125
- return;
126
- }
127
- }
128
-
129
- if ((0, _babelUtils.isNativeTag)(path)) {
130
- return (0, _nativeTag.default)(path, isDynamicNullable);
131
- } else {
132
- return (0, _customTag.default)(path, isDynamicNullable);
133
- }
134
- }
135
- };
136
-
137
- const HANDLE_BINDINGS = ["module", "var", "let", "const"];
138
- function findDynamicTagTypes(root) {
139
- const pending = [root];
140
- const types = {
141
- string: false,
142
- empty: false,
143
- component: false
144
- };
145
- let tagNameImported;
146
-
147
- let path;
148
- while (path = pending.pop()) {
149
- switch (path.type) {
150
- case "ConditionalExpression":
151
- pending.push(path.get("consequent"));
152
-
153
- if (path.get("alternate").node) {
154
- pending.push(path.get("alternate"));
155
- }
156
- break;
157
-
158
- case "LogicalExpression":
159
- if (path.get("operator").node === "||") {
160
- pending.push(path.get("left"));
161
- } else {
162
- types.empty = true;
163
- }
164
-
165
- pending.push(path.get("right"));
166
- break;
167
-
168
- case "AssignmentExpression":
169
- pending.push(path.get("right"));
170
- break;
171
-
172
- case "BinaryExpression":
173
- if (path.get("operator").node !== "+") {
174
- return false;
175
- }
176
-
177
- types.string = true;
178
- break;
179
-
180
- case "StringLiteral":
181
- case "TemplateLiteral":
182
- types.string = true;
183
- break;
184
-
185
- case "NullLiteral":
186
- types.empty = true;
187
- break;
188
-
189
- case "Identifier":
190
- if (path.get("name").node === "undefined") {
191
- types.empty = true;
192
- } else {
193
- const binding = path.scope.getBinding(path.node.name);
194
-
195
- if (!binding || !HANDLE_BINDINGS.includes(binding.kind)) {
196
- return false;
197
- }
198
-
199
- if (binding.kind === "module") {
200
- const importSource = binding.path.parent.source;
201
- if (
202
- _compiler.types.isStringLiteral(importSource) &&
203
- isMarkoFile(importSource.value))
204
- {
205
- const resolvedImport =
206
- (0, _babelUtils.resolveTagImport)(root.parentPath, importSource.value) ||
207
- importSource.value;
208
-
209
- if (tagNameImported === undefined) {
210
- tagNameImported = resolvedImport;
211
- } else if (
212
- tagNameImported &&
213
- tagNameImported !== resolvedImport)
214
- {
215
- tagNameImported = null;
216
- }
217
-
218
- types.component = true;
219
- } else {
220
- return false;
221
- }
222
- } else {
223
- const initialValue = binding.path.get("init");
224
- if (initialValue.node) {
225
- pending.push(initialValue);
226
- } else {
227
- types.empty = true;
228
- }
229
-
230
- const assignments = binding.constantViolations;
231
- if (assignments && assignments.length) {
232
- for (const assignment of assignments) {
233
- const operator = assignment.get("operator").node;
234
- if (operator === "=") {
235
- pending.push(assignment.get("right"));
236
- } else if (operator === "+=") {
237
- types.string = true;
238
- } else {
239
- return false;
240
- }
241
- }
242
- }
243
- }
244
- }
245
- break;
246
-
247
- default:
248
- return false;
249
- }
250
- }
251
-
252
- if (tagNameImported && !types.string) {
253
- (root.parent.extra ??= {}).tagNameImported = tagNameImported;
254
- }
255
-
256
- return types;
257
- }
258
-
259
- function isMarkoFile(request) {
260
- return _path.default.extname(request) === ".marko" || /^<.*>$/.test(request);
261
- }
262
-
263
- function moveIgnoredAttrTags(parentTag) {
264
- const attrTags = parentTag.node.body.attributeTags ?
265
- parentTag.get("body").get("body") :
266
- parentTag.get("attributeTags");
267
-
268
- if (!attrTags.length) return;
269
-
270
- for (const attrTag of attrTags) {
271
- if (attrTag.isMarkoTag()) {
272
- if ((0, _babelUtils.isAttributeTag)(attrTag)) {
273
- attrTag.set(
274
- "name",
275
- _compiler.types.stringLiteral(`at_${attrTag.get("name.value").node.slice(1)}`)
276
- );
277
- }
278
-
279
- moveIgnoredAttrTags(attrTag);
280
- }
281
- }
282
-
283
- parentTag.node.body.body = parentTag.node.attributeTags.concat(
284
- parentTag.node.body.body
285
- );
286
- parentTag.node.attributeTags = [];
287
- }
@@ -1,7 +0,0 @@
1
- "use strict";exports.__esModule = true;exports.default = _default;var _babelUtils = require("@marko/compiler/babel-utils");
2
-
3
- function _default(path) {
4
- path.node.name = (0, _babelUtils.getMacroIdentifier)(path);
5
- path.node._isMacroTagCall = true;
6
- path.requeue();
7
- }
@@ -1,27 +0,0 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = _default;var _babelUtils = require("@marko/compiler/babel-utils");
2
-
3
-
4
-
5
-
6
-
7
- var _nativeTagHtml = _interopRequireDefault(require("./native-tag[html]"));
8
- var _nativeTagVdom = _interopRequireDefault(require("./native-tag[vdom]"));
9
-
10
- function _default(path, isNullable) {
11
- const {
12
- hub: { file }
13
- } = path;
14
- const { markoOpts } = file;
15
-
16
- if (!markoOpts.ignoreUnrecognizedTags) {
17
- (0, _babelUtils.assertNoArgs)(path);
18
- (0, _babelUtils.assertNoParams)(path);
19
- (0, _babelUtils.assertNoAttributeTags)(path);
20
- }
21
-
22
- if (markoOpts.output === "html") {
23
- (0, _nativeTagHtml.default)(path, isNullable);
24
- } else {
25
- (0, _nativeTagVdom.default)(path, isNullable);
26
- }
27
- }
@@ -1,151 +0,0 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = _default;var _compiler = require("@marko/compiler");
2
- var _babelUtils = require("@marko/compiler/babel-utils");
3
-
4
-
5
-
6
-
7
- var _attr = _interopRequireDefault(require("marko/src/runtime/html/helpers/attr"));
8
- var _escapeQuotes = require("marko/src/runtime/html/helpers/escape-quotes");
9
-
10
- var _util = require("../util");
11
-
12
- function _default(path, attrs) {
13
- const len = attrs.length;
14
- if (len === 0) return _compiler.types.stringLiteral("");
15
- if (len === 1 && attrs[0].node.type === "MarkoSpreadAttribute") {
16
- return _compiler.types.callExpression(
17
- (0, _babelUtils.importDefault)(
18
- path.hub.file,
19
- "marko/src/runtime/html/helpers/attrs.js",
20
- "marko_attrs"
21
- ),
22
- [attrs[0].node.value]
23
- );
24
- }
25
-
26
- if (attrs.some((attr) => attr.node.type === "MarkoSpreadAttribute")) {
27
- const attrsObjects = [];
28
- let props;
29
-
30
- for (let i = 0; i < len; i++) {
31
- const attr = attrs[i];
32
- const {
33
- node: { name, value }
34
- } = attr;
35
-
36
- if (name) {
37
- const computed = (0, _util.evaluateAttr)(attr);
38
- const prop = _compiler.types.objectProperty(
39
- _compiler.types.stringLiteral(name),
40
- computed?.value !== undefined ?
41
- _compiler.types.stringLiteral(computed.value) :
42
- value
43
- );
44
- if (props) {
45
- props.push(prop);
46
- } else {
47
- attrsObjects.push(_compiler.types.objectExpression(props = [prop]));
48
- }
49
- } else {
50
- attrsObjects.push(value);
51
- props = undefined;
52
- }
53
- }
54
-
55
- return _compiler.types.callExpression(
56
- (0, _babelUtils.importDefault)(
57
- path.hub.file,
58
- "marko/src/runtime/html/helpers/merge-attrs.js",
59
- "marko_merge_attrs"
60
- ),
61
- attrsObjects
62
- );
63
- }
64
-
65
- const file = path.hub.file;
66
- const quasis = [];
67
- const expressions = [];
68
- const attrValues = new Map();
69
- let curString = "";
70
-
71
- // Remove duplicate attrs so last one wins.
72
- for (let i = len; i--;) {
73
- const attr = attrs[i];
74
- const { name, value } = attr.node;
75
- if (attrValues.has(name)) continue;
76
- const computed = (0, _util.evaluateAttr)(attr);
77
- attrValues.set(
78
- name,
79
- computed ?
80
- {
81
- confident: true,
82
- computed: computed.value,
83
- value
84
- } :
85
- {
86
- confident: false,
87
- computed: undefined,
88
- value
89
- }
90
- );
91
- }
92
-
93
- for (const [name, { confident, computed, value }] of [
94
- ...attrValues].
95
- reverse()) {
96
- if (confident) {
97
- if (computed == null || computed === false) {
98
- continue;
99
- }
100
-
101
- curString += (0, _attr.default)(name, computed);
102
- } else if (value.type === "TemplateLiteral") {
103
- curString += " " + name + '="';
104
-
105
- for (let i = 0; i < value.expressions.length; i++) {
106
- const quasi = value.quasis[i];
107
- const expression = value.expressions[i];
108
- curString += (0, _escapeQuotes.d)(quasi.value.cooked);
109
- quasis.push(curString);
110
- curString = "";
111
- expressions.push(
112
- _compiler.types.callExpression(
113
- (0, _babelUtils.importNamed)(
114
- file,
115
- "marko/src/runtime/html/helpers/escape-quotes.js",
116
- "d",
117
- "marko_escape_double_quotes"
118
- ),
119
- [expression]
120
- )
121
- );
122
- }
123
-
124
- curString +=
125
- (0, _escapeQuotes.d)(
126
- value.quasis[value.expressions.length].value.cooked
127
- ) + '"';
128
- } else {
129
- quasis.push(curString);
130
- curString = "";
131
- expressions.push(
132
- _compiler.types.callExpression(
133
- (0, _babelUtils.importDefault)(
134
- file,
135
- "marko/src/runtime/html/helpers/attr.js",
136
- "marko_attr"
137
- ),
138
- [_compiler.types.stringLiteral(name), value]
139
- )
140
- );
141
- }
142
- }
143
-
144
- quasis.push(curString);
145
-
146
- if (expressions.length) {
147
- return (0, _babelUtils.normalizeTemplateString)(quasis, ...expressions);
148
- } else {
149
- return _compiler.types.stringLiteral(quasis.join(""));
150
- }
151
- }
@@ -1,221 +0,0 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = _default;var _compiler = require("@marko/compiler");
2
- var _babelUtils = require("@marko/compiler/babel-utils");
3
-
4
-
5
-
6
-
7
- var _path = require("path");
8
- var _selfClosingTags = _interopRequireDefault(require("self-closing-tags"));
9
-
10
- var _htmlOutWrite = _interopRequireDefault(require("../../util/html-out-write"));
11
- var _keyManager = require("../../util/key-manager");
12
- var _withPreviousLocation = _interopRequireDefault(require("../../util/with-previous-location"));
13
- var _attributes = _interopRequireDefault(require("./attributes"));
14
-
15
- const EMPTY_OBJECT = {};
16
-
17
- /**
18
- * Translates the html streaming version of a standard html element.
19
- */
20
- function _default(path, isNullable) {
21
- const {
22
- hub: { file },
23
- node
24
- } = path;
25
- const {
26
- key,
27
- name,
28
- body: { body },
29
- handlers
30
- } = node;
31
- const tagProperties = path.node.extra && path.node.extra.properties || [];
32
- const tagDef = (0, _babelUtils.getTagDef)(path);
33
- const meta = file.metadata.marko;
34
-
35
- if (tagDef) {
36
- const { parseOptions = EMPTY_OBJECT } = tagDef;
37
- if (parseOptions.import) {
38
- // TODO: the taglib should be updated to support this as a top level option.
39
- file.metadata.marko.deps.push((0, _path.resolve)(tagDef.dir, parseOptions.import));
40
- }
41
- }
42
-
43
- if (handlers) {
44
- Object.entries(handlers).forEach(
45
- ([eventName, { arguments: args, once }]) => {
46
- const delegateArgs = [_compiler.types.stringLiteral(eventName), args[0]];
47
-
48
- // TODO: look into only sending this if once is true.
49
- delegateArgs.push(_compiler.types.booleanLiteral(once));
50
-
51
- if (args.length > 1) {
52
- delegateArgs.push(_compiler.types.arrayExpression(args.slice(1)));
53
- }
54
-
55
- // TODO: why do we output eventName twice.
56
- tagProperties.push(
57
- _compiler.types.objectProperty(
58
- _compiler.types.stringLiteral(`on${eventName}`),
59
- _compiler.types.callExpression(
60
- _compiler.types.memberExpression(
61
- file._componentDefIdentifier,
62
- _compiler.types.identifier("d")
63
- ),
64
- delegateArgs
65
- )
66
- )
67
- );
68
- }
69
- );
70
- }
71
-
72
- const isHTML = file.markoOpts.output === "html";
73
- let dataMarko = _compiler.types.stringLiteral("");
74
-
75
- if (node.preserveAttrs) {
76
- tagProperties.push(
77
- _compiler.types.objectProperty(
78
- _compiler.types.identifier("pa"),
79
- _compiler.types.objectExpression(
80
- node.preserveAttrs.map((name) =>
81
- _compiler.types.objectProperty(
82
- _compiler.types.isValidIdentifier(name) ?
83
- _compiler.types.identifier(name) :
84
- _compiler.types.stringLiteral(name),
85
- _compiler.types.numericLiteral(1)
86
- )
87
- )
88
- )
89
- )
90
- );
91
- }
92
-
93
- if (isHTML) {
94
- if (
95
- !meta.hasStatefulTagParams &&
96
- !meta.hasFunctionEventHandlers && (
97
- meta.hasComponentBrowser || !meta.hasComponent) ||
98
- isPreserved(path))
99
- {
100
- const dataMarkoArgs = [_compiler.types.identifier("out"), file._componentDefIdentifier];
101
-
102
- if (tagProperties.length) {
103
- // TODO we should pre evaluate this if it is static.
104
- dataMarkoArgs.push(_compiler.types.objectExpression(tagProperties));
105
- }
106
-
107
- if ((0, _keyManager.hasUserKey)(path) || key && node.isPreserved) {
108
- if (dataMarkoArgs.length === 2) {
109
- dataMarkoArgs.push(_compiler.types.numericLiteral(0));
110
- }
111
-
112
- dataMarkoArgs.push(key);
113
- }
114
-
115
- if (dataMarkoArgs.length > 2) {
116
- dataMarko = _compiler.types.callExpression(
117
- (0, _babelUtils.importDefault)(
118
- file,
119
- "marko/src/runtime/html/helpers/data-marko.js",
120
- "marko_props"
121
- ),
122
- dataMarkoArgs
123
- );
124
- }
125
- }
126
- }
127
-
128
- const translatedAttrs = (0, _attributes.default)(path, path.get("attributes"));
129
- let isSelfClosing = false;
130
- let openTagEnding = ">";
131
-
132
- if (_compiler.types.isStringLiteral(name)) {
133
- if (
134
- tagDef &&
135
- tagDef.htmlType && (
136
- tagDef.htmlType === "svg" || tagDef.htmlType === "math"))
137
- {
138
- if (!body.length) {
139
- isSelfClosing = true;
140
- openTagEnding = " />";
141
- }
142
- } else if (_selfClosingTags.default.voidElements.indexOf(name.value) !== -1) {
143
- isSelfClosing = true;
144
- }
145
- }
146
-
147
- const isEmpty = isSelfClosing || !body.length;
148
- let writeStartNode = (0, _babelUtils.normalizeTemplateString)`<${name}${dataMarko}${translatedAttrs}${openTagEnding}`;
149
-
150
- writeStartNode = (0, _withPreviousLocation.default)(
151
- isEmpty && !isSelfClosing ?
152
- (0, _htmlOutWrite.default)`${writeStartNode}</${name}>` :
153
- (0, _htmlOutWrite.default)`${writeStartNode}`,
154
- name
155
- );
156
-
157
- if (isNullable) {
158
- writeStartNode = _compiler.types.ifStatement(name, writeStartNode);
159
-
160
- if (!isEmpty) {
161
- writeStartNode.alternate = _compiler.types.expressionStatement(
162
- _compiler.types.callExpression(
163
- _compiler.types.memberExpression(_compiler.types.identifier("out"), _compiler.types.identifier("bf")),
164
- [
165
- (0, _babelUtils.normalizeTemplateString)`f_${key}`,
166
- file._componentInstanceIdentifier,
167
- _compiler.types.numericLiteral(1)]
168
-
169
- )
170
- );
171
- }
172
- }
173
-
174
- if (isEmpty) {
175
- path.replaceWith(writeStartNode);
176
- return;
177
- }
178
-
179
- let needsBlock;
180
- for (const childNode of body) {
181
- if (_compiler.types.isVariableDeclaration(childNode)) {
182
- if (childNode.kind === "const" || childNode.kind === "let") {
183
- needsBlock = true;
184
- break;
185
- }
186
- }
187
- }
188
-
189
- let writeEndNode = (0, _htmlOutWrite.default)`</${name}>`;
190
-
191
- if (isNullable) {
192
- writeEndNode = _compiler.types.ifStatement(
193
- name,
194
- writeEndNode,
195
- _compiler.types.expressionStatement(
196
- _compiler.types.callExpression(
197
- _compiler.types.memberExpression(_compiler.types.identifier("out"), _compiler.types.identifier("ef")),
198
- []
199
- )
200
- )
201
- );
202
- }
203
-
204
- path.replaceWithMultiple(
205
- [writeStartNode].
206
- concat(needsBlock ? _compiler.types.blockStatement(body) : body).
207
- concat(writeEndNode)
208
- );
209
- }
210
-
211
- function isPreserved(path) {
212
- let parentTag = path;
213
- do {
214
- parentTag = parentTag.parentPath.parentPath;
215
- if (parentTag.get("isPreserved").node === true) {
216
- return true;
217
- }
218
- } while (_compiler.types.isMarkoTag(parentTag));
219
-
220
- return false;
221
- }