marko 5.37.6 → 6.0.0-3.12

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