marko 5.37.6 → 6.0.0-3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (648) hide show
  1. package/dist/common/attr-tag.d.ts +8 -0
  2. package/dist/common/compat-meta.d.ts +2 -0
  3. package/dist/common/for.d.ts +5 -0
  4. package/dist/common/helpers.d.ts +7 -0
  5. package/dist/common/meta.d.ts +2 -0
  6. package/dist/common/types.d.ts +105 -0
  7. package/dist/debug/dom.js +2111 -0
  8. package/dist/debug/dom.mjs +2088 -0
  9. package/dist/debug/html.js +2740 -0
  10. package/dist/debug/html.mjs +2663 -0
  11. package/dist/dom/abort-signal.d.ts +3 -0
  12. package/dist/dom/compat.d.ts +20 -0
  13. package/dist/dom/control-flow.d.ts +14 -0
  14. package/dist/dom/controllable.d.ts +12 -0
  15. package/dist/dom/dom.d.ts +19 -0
  16. package/dist/dom/event.d.ts +4 -0
  17. package/dist/dom/parse-html.d.ts +5 -0
  18. package/dist/dom/queue.d.ts +10 -0
  19. package/dist/dom/reconcile.d.ts +2 -0
  20. package/dist/dom/renderer.d.ts +21 -0
  21. package/dist/dom/resolve-cursor-position.d.ts +1 -0
  22. package/dist/dom/resume.d.ts +9 -0
  23. package/dist/dom/schedule.d.ts +2 -0
  24. package/dist/dom/scope.d.ts +7 -0
  25. package/dist/dom/signals.d.ts +39 -0
  26. package/dist/dom/template.d.ts +3 -0
  27. package/dist/dom/walker.d.ts +4 -0
  28. package/dist/dom.d.ts +15 -0
  29. package/dist/dom.js +1370 -0
  30. package/dist/dom.mjs +1350 -0
  31. package/dist/html/attrs.d.ts +14 -0
  32. package/dist/html/compat.d.ts +14 -0
  33. package/dist/html/content.d.ts +5 -0
  34. package/dist/html/dynamic-tag.d.ts +12 -0
  35. package/dist/html/for.d.ts +4 -0
  36. package/dist/html/inlined-runtimes.d.ts +2 -0
  37. package/dist/html/serializer.d.ts +14 -0
  38. package/dist/html/template.d.ts +3 -0
  39. package/dist/html/writer.d.ts +114 -0
  40. package/dist/html.d.ts +9 -0
  41. package/dist/html.js +1818 -0
  42. package/dist/html.mjs +1744 -0
  43. package/dist/translator/core/attrs.d.ts +3 -0
  44. package/dist/translator/core/client.d.ts +14 -0
  45. package/dist/translator/core/const.d.ts +3 -0
  46. package/dist/translator/core/debug.d.ts +3 -0
  47. package/dist/translator/core/define.d.ts +3 -0
  48. package/dist/translator/core/effect.d.ts +3 -0
  49. package/dist/translator/core/export.d.ts +3 -0
  50. package/dist/translator/core/for.d.ts +67 -0
  51. package/dist/translator/core/html-comment.d.ts +12 -0
  52. package/dist/translator/core/html-script.d.ts +9 -0
  53. package/dist/translator/core/html-style.d.ts +9 -0
  54. package/dist/translator/core/id.d.ts +3 -0
  55. package/dist/translator/core/if.d.ts +53 -0
  56. package/dist/translator/core/import.d.ts +3 -0
  57. package/dist/translator/core/index.d.ts +152 -0
  58. package/dist/translator/core/let.d.ts +8 -0
  59. package/dist/translator/core/lifecycle.d.ts +10 -0
  60. package/dist/translator/core/log.d.ts +3 -0
  61. package/dist/translator/core/return.d.ts +6 -0
  62. package/dist/translator/core/script.d.ts +3 -0
  63. package/dist/translator/core/server.d.ts +14 -0
  64. package/dist/translator/core/static.d.ts +14 -0
  65. package/dist/translator/core/style.d.ts +3 -0
  66. package/dist/translator/index.d.ts +201 -0
  67. package/dist/translator/index.js +9134 -490
  68. package/dist/translator/util/assert.d.ts +3 -0
  69. package/dist/translator/util/binding-has-downstream-expressions.d.ts +2 -0
  70. package/dist/translator/util/entry-builder.d.ts +19 -0
  71. package/dist/translator/util/evaluate.d.ts +11 -0
  72. package/dist/translator/util/for-each-identifier.d.ts +2 -0
  73. package/dist/translator/util/get-defined-binding-expression.d.ts +3 -0
  74. package/dist/translator/util/get-known-attr-values.d.ts +2 -0
  75. package/dist/translator/util/get-parent-tag.d.ts +2 -0
  76. package/dist/translator/util/get-root.d.ts +7 -0
  77. package/dist/translator/util/get-tag-name.d.ts +2 -0
  78. package/dist/translator/util/is-core-tag.d.ts +10 -0
  79. package/dist/translator/util/is-stateful.d.ts +3 -0
  80. package/dist/translator/util/is-static.d.ts +2 -0
  81. package/dist/translator/util/marko-config.d.ts +4 -0
  82. package/dist/translator/util/nested-attribute-tags.d.ts +17 -0
  83. package/dist/translator/util/normalize-string-expression.d.ts +3 -0
  84. package/dist/translator/util/optional.d.ts +20 -0
  85. package/dist/translator/util/plugin-hooks.d.ts +4 -0
  86. package/dist/translator/util/references.d.ts +84 -0
  87. package/dist/translator/util/runtime-info.d.ts +5 -0
  88. package/dist/translator/util/runtime.d.ts +15 -0
  89. package/dist/translator/util/scope-read.d.ts +6 -0
  90. package/dist/translator/util/sections.d.ts +51 -0
  91. package/dist/translator/util/signals.d.ts +61 -0
  92. package/dist/translator/util/simplify-fn.d.ts +5 -0
  93. package/dist/translator/util/state.d.ts +3 -0
  94. package/dist/translator/util/tag-name-type.d.ts +16 -0
  95. package/dist/translator/util/to-first-expression-or-block.d.ts +3 -0
  96. package/dist/translator/util/to-first-statement-or-block.d.ts +2 -0
  97. package/dist/translator/util/to-property-name.d.ts +7 -0
  98. package/dist/translator/util/translate-attrs.d.ts +12 -0
  99. package/dist/translator/util/translate-var.d.ts +2 -0
  100. package/dist/translator/util/traverse.d.ts +9 -0
  101. package/dist/translator/util/visitors.d.ts +11 -0
  102. package/dist/translator/util/walks.d.ts +15 -0
  103. package/dist/translator/util/with-previous-location.d.ts +2 -0
  104. package/dist/translator/util/writer.d.ts +13 -0
  105. package/dist/translator/visitors/cdata.d.ts +7 -0
  106. package/dist/translator/visitors/comment.d.ts +7 -0
  107. package/dist/translator/visitors/declaration.d.ts +7 -0
  108. package/dist/translator/visitors/document-type.d.ts +7 -0
  109. package/dist/translator/visitors/function.d.ts +19 -0
  110. package/dist/translator/visitors/import-declaration.d.ts +8 -0
  111. package/dist/translator/visitors/placeholder.d.ts +22 -0
  112. package/dist/translator/visitors/program/dom.d.ts +7 -0
  113. package/dist/translator/visitors/program/html.d.ts +8 -0
  114. package/dist/translator/visitors/program/index.d.ts +39 -0
  115. package/dist/translator/visitors/referenced-identifier.d.ts +7 -0
  116. package/dist/translator/visitors/scriptlet.d.ts +8 -0
  117. package/dist/translator/visitors/tag/attribute-tag.d.ts +11 -0
  118. package/dist/translator/visitors/tag/custom-tag.d.ts +19 -0
  119. package/dist/translator/visitors/tag/dynamic-tag.d.ts +18 -0
  120. package/dist/translator/visitors/tag/index.d.ts +15 -0
  121. package/dist/translator/visitors/tag/native-tag.d.ts +25 -0
  122. package/dist/translator/visitors/text.d.ts +7 -0
  123. package/package.json +34 -70
  124. package/tag-types/const.d.marko +7 -0
  125. package/tag-types/debug.d.marko +5 -0
  126. package/tag-types/define.d.marko +5 -0
  127. package/tag-types/do.d.marko +5 -0
  128. package/tag-types/effect.d.marko +5 -0
  129. package/tag-types/id.d.marko +3 -0
  130. package/tag-types/let.d.marko +8 -0
  131. package/tag-types/lifecycle.d.marko +7 -0
  132. package/tag-types/log.d.marko +5 -0
  133. package/tag-types/script.d.marko +5 -0
  134. package/README.md +0 -161
  135. package/bin/markoc +0 -2
  136. package/bin/markoc.js +0 -441
  137. package/browser-refresh.js +0 -5
  138. package/compiler-browser.marko +0 -15
  139. package/compiler.js +0 -7
  140. package/components-browser.marko +0 -15
  141. package/components.js +0 -7
  142. package/dist/build.json +0 -3
  143. package/dist/compiler/config.js +0 -45
  144. package/dist/compiler/index.js +0 -164
  145. package/dist/compiler/modules.js +0 -5
  146. package/dist/core-tags/components/init-components-tag.js +0 -54
  147. package/dist/core-tags/components/preferred-script-location-tag.js +0 -25
  148. package/dist/core-tags/components/preserve-tag.js +0 -1
  149. package/dist/core-tags/core/__flush_here_and_after__.js +0 -44
  150. package/dist/core-tags/core/await/AsyncValue.js +0 -121
  151. package/dist/core-tags/core/await/client-reorder-runtime.js +0 -51
  152. package/dist/core-tags/core/await/index.d.marko +0 -10
  153. package/dist/core-tags/core/await/renderer.js +0 -249
  154. package/dist/core-tags/core/await/reorderer-renderer.js +0 -156
  155. package/dist/index.js +0 -4
  156. package/dist/node-require/browser-refresh.js +0 -1
  157. package/dist/node-require/hot-reload.js +0 -45
  158. package/dist/node-require/index.js +0 -103
  159. package/dist/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  160. package/dist/node_modules/@internal/components-beginComponent/index.js +0 -84
  161. package/dist/node_modules/@internal/components-beginComponent/package.json +0 -11
  162. package/dist/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  163. package/dist/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  164. package/dist/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  165. package/dist/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  166. package/dist/node_modules/@internal/components-endComponent/index.js +0 -11
  167. package/dist/node_modules/@internal/components-endComponent/package.json +0 -11
  168. package/dist/node_modules/@internal/components-entry/index-browser.js +0 -11
  169. package/dist/node_modules/@internal/components-entry/index.js +0 -301
  170. package/dist/node_modules/@internal/components-entry/package.json +0 -11
  171. package/dist/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  172. package/dist/node_modules/@internal/components-entry-legacy/index.js +0 -16
  173. package/dist/node_modules/@internal/components-entry-legacy/package.json +0 -11
  174. package/dist/node_modules/@internal/components-registry/index-browser.js +0 -586
  175. package/dist/node_modules/@internal/components-registry/index.js +0 -44
  176. package/dist/node_modules/@internal/components-registry/package.json +0 -11
  177. package/dist/node_modules/@internal/components-util/index-browser.js +0 -152
  178. package/dist/node_modules/@internal/components-util/index.js +0 -71
  179. package/dist/node_modules/@internal/components-util/package.json +0 -11
  180. package/dist/node_modules/@internal/create-readable/index-browser.js +0 -30
  181. package/dist/node_modules/@internal/create-readable/index.js +0 -57
  182. package/dist/node_modules/@internal/create-readable/package.json +0 -11
  183. package/dist/node_modules/@internal/loader/fallback-node.js +0 -89
  184. package/dist/node_modules/@internal/loader/index-browser.js +0 -2
  185. package/dist/node_modules/@internal/loader/index.js +0 -23
  186. package/dist/node_modules/@internal/loader/package.json +0 -10
  187. package/dist/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  188. package/dist/node_modules/@internal/preserve-tag/index.js +0 -34
  189. package/dist/node_modules/@internal/preserve-tag/package.json +0 -11
  190. package/dist/node_modules/@internal/require/index-browser.js +0 -15
  191. package/dist/node_modules/@internal/require/index-legacy-browser.js +0 -20
  192. package/dist/node_modules/@internal/require/index-webpack.js +0 -16
  193. package/dist/node_modules/@internal/require/index.js +0 -15
  194. package/dist/node_modules/@internal/require/package.json +0 -11
  195. package/dist/node_modules/@internal/set-immediate/index-browser.js +0 -19
  196. package/dist/node_modules/@internal/set-immediate/index-worker.js +0 -31
  197. package/dist/node_modules/@internal/set-immediate/index.js +0 -3
  198. package/dist/node_modules/@internal/set-immediate/package.json +0 -11
  199. package/dist/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  200. package/dist/runtime/RenderResult.js +0 -112
  201. package/dist/runtime/components/Component.js +0 -663
  202. package/dist/runtime/components/ComponentDef.js +0 -169
  203. package/dist/runtime/components/ComponentsContext.js +0 -59
  204. package/dist/runtime/components/GlobalComponentsContext.js +0 -10
  205. package/dist/runtime/components/KeySequence.js +0 -16
  206. package/dist/runtime/components/ServerComponent.js +0 -73
  207. package/dist/runtime/components/State.js +0 -101
  208. package/dist/runtime/components/attach-detach.js +0 -60
  209. package/dist/runtime/components/defineComponent.js +0 -60
  210. package/dist/runtime/components/dom-data.js +0 -8
  211. package/dist/runtime/components/event-delegation.js +0 -144
  212. package/dist/runtime/components/index.js +0 -1
  213. package/dist/runtime/components/legacy/browser.json +0 -9
  214. package/dist/runtime/components/legacy/defineComponent-legacy.js +0 -27
  215. package/dist/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  216. package/dist/runtime/components/legacy/defineWidget-legacy.js +0 -1
  217. package/dist/runtime/components/legacy/dependencies/html.js +0 -3
  218. package/dist/runtime/components/legacy/dependencies/index.js +0 -177
  219. package/dist/runtime/components/legacy/dependencies/vdom.js +0 -3
  220. package/dist/runtime/components/legacy/index.js +0 -1
  221. package/dist/runtime/components/legacy/jquery.js +0 -52
  222. package/dist/runtime/components/legacy/ready.js +0 -152
  223. package/dist/runtime/components/legacy/renderer-legacy.js +0 -231
  224. package/dist/runtime/components/registry.js +0 -1
  225. package/dist/runtime/components/renderer.js +0 -236
  226. package/dist/runtime/components/update-manager.js +0 -94
  227. package/dist/runtime/createOut.js +0 -13
  228. package/dist/runtime/dom-insert.js +0 -77
  229. package/dist/runtime/events.js +0 -2
  230. package/dist/runtime/helpers/_change-case.js +0 -45
  231. package/dist/runtime/helpers/assign.js +0 -21
  232. package/dist/runtime/helpers/attr-tag.js +0 -43
  233. package/dist/runtime/helpers/class-value.js +0 -30
  234. package/dist/runtime/helpers/dynamic-tag.js +0 -181
  235. package/dist/runtime/helpers/empty-component.js +0 -1
  236. package/dist/runtime/helpers/merge.js +0 -13
  237. package/dist/runtime/helpers/of-fallback.js +0 -4
  238. package/dist/runtime/helpers/render-tag.js +0 -20
  239. package/dist/runtime/helpers/serialize-noop.js +0 -5
  240. package/dist/runtime/helpers/style-value.js +0 -45
  241. package/dist/runtime/helpers/tags-compat/dom-debug.js +0 -1
  242. package/dist/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  243. package/dist/runtime/helpers/tags-compat/dom.js +0 -1
  244. package/dist/runtime/helpers/tags-compat/dom.mjs +0 -4
  245. package/dist/runtime/helpers/tags-compat/html-debug.js +0 -3
  246. package/dist/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  247. package/dist/runtime/helpers/tags-compat/html.js +0 -3
  248. package/dist/runtime/helpers/tags-compat/html.mjs +0 -4
  249. package/dist/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  250. package/dist/runtime/helpers/tags-compat/runtime-html.js +0 -136
  251. package/dist/runtime/helpers/to-string.js +0 -5
  252. package/dist/runtime/html/AsyncStream.js +0 -805
  253. package/dist/runtime/html/BufferedWriter.js +0 -52
  254. package/dist/runtime/html/StringWriter.js +0 -73
  255. package/dist/runtime/html/helpers/_dynamic-attr.js +0 -35
  256. package/dist/runtime/html/helpers/attr.js +0 -80
  257. package/dist/runtime/html/helpers/attrs.js +0 -26
  258. package/dist/runtime/html/helpers/class-attr.js +0 -8
  259. package/dist/runtime/html/helpers/data-marko.js +0 -36
  260. package/dist/runtime/html/helpers/escape-quotes.js +0 -35
  261. package/dist/runtime/html/helpers/escape-script-placeholder.js +0 -24
  262. package/dist/runtime/html/helpers/escape-style-placeholder.js +0 -22
  263. package/dist/runtime/html/helpers/escape-xml.js +0 -21
  264. package/dist/runtime/html/helpers/merge-attrs.js +0 -55
  265. package/dist/runtime/html/helpers/props-script.js +0 -32
  266. package/dist/runtime/html/helpers/style-attr.js +0 -8
  267. package/dist/runtime/html/hot-reload.js +0 -26
  268. package/dist/runtime/html/index.js +0 -33
  269. package/dist/runtime/html/marko-namespace.js +0 -3
  270. package/dist/runtime/renderable.js +0 -194
  271. package/dist/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  272. package/dist/runtime/vdom/VComment.js +0 -24
  273. package/dist/runtime/vdom/VComponent.js +0 -17
  274. package/dist/runtime/vdom/VDocumentFragment.js +0 -34
  275. package/dist/runtime/vdom/VElement.js +0 -375
  276. package/dist/runtime/vdom/VFragment.js +0 -26
  277. package/dist/runtime/vdom/VNode.js +0 -100
  278. package/dist/runtime/vdom/VText.js +0 -25
  279. package/dist/runtime/vdom/helpers/attrs.js +0 -62
  280. package/dist/runtime/vdom/helpers/const-element.js +0 -25
  281. package/dist/runtime/vdom/helpers/merge-attrs.js +0 -16
  282. package/dist/runtime/vdom/hot-reload.js +0 -115
  283. package/dist/runtime/vdom/index.js +0 -30
  284. package/dist/runtime/vdom/is-text-only.js +0 -10
  285. package/dist/runtime/vdom/marko-namespace.js +0 -3
  286. package/dist/runtime/vdom/morphdom/fragment.js +0 -95
  287. package/dist/runtime/vdom/morphdom/helpers.js +0 -42
  288. package/dist/runtime/vdom/morphdom/index.js +0 -741
  289. package/dist/runtime/vdom/parse-html.js +0 -18
  290. package/dist/runtime/vdom/vdom.js +0 -88
  291. package/dist/taglib/index.js +0 -51
  292. package/dist/translator/cdata/index.js +0 -15
  293. package/dist/translator/cdata/index[html].js +0 -15
  294. package/dist/translator/cdata/index[vdom].js +0 -12
  295. package/dist/translator/class.js +0 -65
  296. package/dist/translator/comment/index.js +0 -15
  297. package/dist/translator/comment/index[html].js +0 -17
  298. package/dist/translator/comment/index[vdom].js +0 -3
  299. package/dist/translator/declaration/index.js +0 -15
  300. package/dist/translator/declaration/index[html].js +0 -12
  301. package/dist/translator/declaration/index[vdom].js +0 -3
  302. package/dist/translator/document-type/index.js +0 -15
  303. package/dist/translator/document-type/index[html].js +0 -12
  304. package/dist/translator/document-type/index[vdom].js +0 -3
  305. package/dist/translator/placeholder/index.js +0 -15
  306. package/dist/translator/placeholder/index[html].js +0 -93
  307. package/dist/translator/placeholder/index[vdom].js +0 -22
  308. package/dist/translator/scriptlet.js +0 -4
  309. package/dist/translator/tag/attribute/directives/class.js +0 -42
  310. package/dist/translator/tag/attribute/directives/index.js +0 -15
  311. package/dist/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  312. package/dist/translator/tag/attribute/directives/no-update-body.js +0 -10
  313. package/dist/translator/tag/attribute/directives/no-update-if.js +0 -12
  314. package/dist/translator/tag/attribute/directives/no-update.js +0 -48
  315. package/dist/translator/tag/attribute/directives/style.js +0 -42
  316. package/dist/translator/tag/attribute/index.js +0 -150
  317. package/dist/translator/tag/attribute/modifiers/index.js +0 -7
  318. package/dist/translator/tag/attribute/modifiers/no-update.js +0 -14
  319. package/dist/translator/tag/attribute/modifiers/scoped.js +0 -23
  320. package/dist/translator/tag/attribute-tag.js +0 -149
  321. package/dist/translator/tag/custom-tag.js +0 -146
  322. package/dist/translator/tag/dynamic-tag.js +0 -74
  323. package/dist/translator/tag/index.js +0 -287
  324. package/dist/translator/tag/macro-tag.js +0 -7
  325. package/dist/translator/tag/native-tag.js +0 -27
  326. package/dist/translator/tag/native-tag[html]/attributes.js +0 -151
  327. package/dist/translator/tag/native-tag[html]/index.js +0 -221
  328. package/dist/translator/tag/native-tag[vdom]/attributes.js +0 -105
  329. package/dist/translator/tag/native-tag[vdom]/index.js +0 -189
  330. package/dist/translator/tag/util.js +0 -246
  331. package/dist/translator/taglib/core/conditional/translate-else-if.js +0 -20
  332. package/dist/translator/taglib/core/conditional/translate-else.js +0 -20
  333. package/dist/translator/taglib/core/conditional/translate-if.js +0 -8
  334. package/dist/translator/taglib/core/conditional/util.js +0 -41
  335. package/dist/translator/taglib/core/index.js +0 -474
  336. package/dist/translator/taglib/core/macro/parse.js +0 -17
  337. package/dist/translator/taglib/core/macro/translate.js +0 -48
  338. package/dist/translator/taglib/core/parse-class.js +0 -79
  339. package/dist/translator/taglib/core/parse-export.js +0 -14
  340. package/dist/translator/taglib/core/parse-import.js +0 -14
  341. package/dist/translator/taglib/core/parse-module-code.js +0 -18
  342. package/dist/translator/taglib/core/parse-static.js +0 -18
  343. package/dist/translator/taglib/core/transform-style.js +0 -66
  344. package/dist/translator/taglib/core/translate-await.js +0 -41
  345. package/dist/translator/taglib/core/translate-body.js +0 -17
  346. package/dist/translator/taglib/core/translate-for.js +0 -156
  347. package/dist/translator/taglib/core/translate-html-comment.js +0 -52
  348. package/dist/translator/taglib/core/translate-include-content.js +0 -53
  349. package/dist/translator/taglib/core/translate-server-only.js +0 -5
  350. package/dist/translator/taglib/core/translate-while.js +0 -32
  351. package/dist/translator/taglib/index.js +0 -6
  352. package/dist/translator/taglib/migrate/all-templates.js +0 -46
  353. package/dist/translator/taglib/migrate/index.js +0 -5
  354. package/dist/translator/text/index.js +0 -10
  355. package/dist/translator/text/index[html].js +0 -12
  356. package/dist/translator/text/index[vdom].js +0 -20
  357. package/dist/translator/util/add-dependencies.js +0 -329
  358. package/dist/translator/util/escape-regexp.js +0 -4
  359. package/dist/translator/util/get-component-files.js +0 -86
  360. package/dist/translator/util/html-out-write.js +0 -15
  361. package/dist/translator/util/key-manager.js +0 -176
  362. package/dist/translator/util/optimize-html-writes.js +0 -52
  363. package/dist/translator/util/optimize-vdom-create.js +0 -164
  364. package/dist/translator/util/plugin-hooks.js +0 -22
  365. package/dist/translator/util/runtime-flags.js +0 -3
  366. package/dist/translator/util/vdom-out-write.js +0 -10
  367. package/dist/translator/util/with-previous-location.js +0 -6
  368. package/docs/10-awesome-marko-features.md +0 -291
  369. package/docs/body-content.md +0 -355
  370. package/docs/class-components.md +0 -1001
  371. package/docs/cloudflare-workers.md +0 -32
  372. package/docs/compiler-hooks.png +0 -0
  373. package/docs/compiler.md +0 -473
  374. package/docs/component-diagram.afdesign +0 -0
  375. package/docs/component-diagram.svg +0 -87
  376. package/docs/concise.md +0 -141
  377. package/docs/conditionals-and-lists.md +0 -72
  378. package/docs/core-tags.md +0 -325
  379. package/docs/custom-tags.md +0 -201
  380. package/docs/editor-plugins.md +0 -45
  381. package/docs/events.md +0 -131
  382. package/docs/express.md +0 -66
  383. package/docs/fastify.md +0 -65
  384. package/docs/getting-started.md +0 -95
  385. package/docs/http.md +0 -34
  386. package/docs/icons/js.svg +0 -4
  387. package/docs/icons/marko.svg +0 -1
  388. package/docs/icons/ts.svg +0 -1
  389. package/docs/installing.md +0 -51
  390. package/docs/koa.md +0 -35
  391. package/docs/lasso.md +0 -196
  392. package/docs/marko-5-upgrade.md +0 -59
  393. package/docs/marko-json.md +0 -248
  394. package/docs/marko-vs-react.md +0 -854
  395. package/docs/redux.md +0 -61
  396. package/docs/rendering.md +0 -268
  397. package/docs/rollup.md +0 -352
  398. package/docs/state.md +0 -105
  399. package/docs/structure.json +0 -49
  400. package/docs/styles.md +0 -29
  401. package/docs/syntax.md +0 -601
  402. package/docs/troubleshooting-streaming.md +0 -68
  403. package/docs/typescript.md +0 -406
  404. package/docs/vite.md +0 -86
  405. package/docs/webpack.md +0 -205
  406. package/docs/why-is-marko-fast.md +0 -239
  407. package/env.js +0 -7
  408. package/helpers/README.md +0 -3
  409. package/helpers/empty.js +0 -4
  410. package/helpers/notEmpty.js +0 -11
  411. package/index-browser.marko +0 -15
  412. package/index.d.ts +0 -375
  413. package/index.js +0 -7
  414. package/legacy-components-browser.marko +0 -15
  415. package/legacy-components.js +0 -7
  416. package/node-require.js +0 -8
  417. package/src/build.json +0 -3
  418. package/src/compiler/config.js +0 -45
  419. package/src/compiler/index.js +0 -164
  420. package/src/compiler/modules.js +0 -5
  421. package/src/core-tags/.eslintrc +0 -5
  422. package/src/core-tags/components/init-components-tag.js +0 -54
  423. package/src/core-tags/components/preferred-script-location-tag.js +0 -25
  424. package/src/core-tags/components/preserve-tag.js +0 -1
  425. package/src/core-tags/core/__flush_here_and_after__.js +0 -44
  426. package/src/core-tags/core/await/AsyncValue.js +0 -121
  427. package/src/core-tags/core/await/client-reorder-runtime.js +0 -51
  428. package/src/core-tags/core/await/index.d.marko +0 -10
  429. package/src/core-tags/core/await/renderer.js +0 -249
  430. package/src/core-tags/core/await/reorderer-renderer.js +0 -156
  431. package/src/index.js +0 -4
  432. package/src/node-require/browser-refresh.js +0 -18
  433. package/src/node-require/hot-reload.js +0 -45
  434. package/src/node-require/index.js +0 -103
  435. package/src/node_modules/@internal/components-beginComponent/index-browser.js +0 -23
  436. package/src/node_modules/@internal/components-beginComponent/index.js +0 -84
  437. package/src/node_modules/@internal/components-beginComponent/package.json +0 -11
  438. package/src/node_modules/@internal/components-define-widget-legacy/index-browser.js +0 -335
  439. package/src/node_modules/@internal/components-define-widget-legacy/index.js +0 -18
  440. package/src/node_modules/@internal/components-define-widget-legacy/package.json +0 -11
  441. package/src/node_modules/@internal/components-endComponent/index-browser.js +0 -5
  442. package/src/node_modules/@internal/components-endComponent/index.js +0 -11
  443. package/src/node_modules/@internal/components-endComponent/package.json +0 -11
  444. package/src/node_modules/@internal/components-entry/index-browser.js +0 -11
  445. package/src/node_modules/@internal/components-entry/index.js +0 -301
  446. package/src/node_modules/@internal/components-entry/package.json +0 -11
  447. package/src/node_modules/@internal/components-entry-legacy/index-browser.js +0 -76
  448. package/src/node_modules/@internal/components-entry-legacy/index.js +0 -16
  449. package/src/node_modules/@internal/components-entry-legacy/package.json +0 -11
  450. package/src/node_modules/@internal/components-registry/index-browser.js +0 -586
  451. package/src/node_modules/@internal/components-registry/index.js +0 -44
  452. package/src/node_modules/@internal/components-registry/package.json +0 -11
  453. package/src/node_modules/@internal/components-util/index-browser.js +0 -152
  454. package/src/node_modules/@internal/components-util/index.js +0 -75
  455. package/src/node_modules/@internal/components-util/package.json +0 -11
  456. package/src/node_modules/@internal/create-readable/index-browser.js +0 -30
  457. package/src/node_modules/@internal/create-readable/index.js +0 -57
  458. package/src/node_modules/@internal/create-readable/package.json +0 -11
  459. package/src/node_modules/@internal/loader/fallback-node.js +0 -89
  460. package/src/node_modules/@internal/loader/index-browser.js +0 -2
  461. package/src/node_modules/@internal/loader/index.js +0 -23
  462. package/src/node_modules/@internal/loader/package.json +0 -10
  463. package/src/node_modules/@internal/preserve-tag/index-browser.js +0 -46
  464. package/src/node_modules/@internal/preserve-tag/index.js +0 -34
  465. package/src/node_modules/@internal/preserve-tag/package.json +0 -11
  466. package/src/node_modules/@internal/require/index-browser.js +0 -15
  467. package/src/node_modules/@internal/require/index-legacy-browser.js +0 -20
  468. package/src/node_modules/@internal/require/index-webpack.js +0 -16
  469. package/src/node_modules/@internal/require/index.js +0 -15
  470. package/src/node_modules/@internal/require/package.json +0 -11
  471. package/src/node_modules/@internal/set-immediate/index-browser.js +0 -19
  472. package/src/node_modules/@internal/set-immediate/index-worker.js +0 -31
  473. package/src/node_modules/@internal/set-immediate/index.js +0 -3
  474. package/src/node_modules/@internal/set-immediate/package.json +0 -11
  475. package/src/node_modules/@internal/set-immediate/queueMicrotask.js +0 -8
  476. package/src/runtime/.eslintrc +0 -5
  477. package/src/runtime/RenderResult.js +0 -112
  478. package/src/runtime/components/Component.js +0 -663
  479. package/src/runtime/components/ComponentDef.js +0 -169
  480. package/src/runtime/components/ComponentsContext.js +0 -59
  481. package/src/runtime/components/GlobalComponentsContext.js +0 -10
  482. package/src/runtime/components/KeySequence.js +0 -16
  483. package/src/runtime/components/ServerComponent.js +0 -73
  484. package/src/runtime/components/State.js +0 -101
  485. package/src/runtime/components/attach-detach.js +0 -60
  486. package/src/runtime/components/defineComponent.js +0 -60
  487. package/src/runtime/components/dom-data.js +0 -8
  488. package/src/runtime/components/event-delegation.js +0 -144
  489. package/src/runtime/components/index.js +0 -1
  490. package/src/runtime/components/legacy/browser.json +0 -9
  491. package/src/runtime/components/legacy/defineComponent-legacy.js +0 -27
  492. package/src/runtime/components/legacy/defineRenderer-legacy.js +0 -171
  493. package/src/runtime/components/legacy/defineWidget-legacy.js +0 -1
  494. package/src/runtime/components/legacy/dependencies/html.js +0 -3
  495. package/src/runtime/components/legacy/dependencies/index.js +0 -177
  496. package/src/runtime/components/legacy/dependencies/vdom.js +0 -3
  497. package/src/runtime/components/legacy/index.js +0 -1
  498. package/src/runtime/components/legacy/jquery.js +0 -52
  499. package/src/runtime/components/legacy/ready.js +0 -152
  500. package/src/runtime/components/legacy/renderer-legacy.js +0 -231
  501. package/src/runtime/components/registry.js +0 -1
  502. package/src/runtime/components/renderer.js +0 -236
  503. package/src/runtime/components/update-manager.js +0 -94
  504. package/src/runtime/createOut.js +0 -13
  505. package/src/runtime/dom-insert.js +0 -77
  506. package/src/runtime/events.js +0 -2
  507. package/src/runtime/helpers/_change-case.js +0 -45
  508. package/src/runtime/helpers/assign.js +0 -21
  509. package/src/runtime/helpers/attr-tag.js +0 -43
  510. package/src/runtime/helpers/class-value.js +0 -30
  511. package/src/runtime/helpers/dynamic-tag.js +0 -181
  512. package/src/runtime/helpers/empty-component.js +0 -1
  513. package/src/runtime/helpers/merge.js +0 -13
  514. package/src/runtime/helpers/of-fallback.js +0 -4
  515. package/src/runtime/helpers/render-tag.js +0 -20
  516. package/src/runtime/helpers/serialize-noop.js +0 -5
  517. package/src/runtime/helpers/style-value.js +0 -45
  518. package/src/runtime/helpers/tags-compat/dom-debug.js +0 -1
  519. package/src/runtime/helpers/tags-compat/dom-debug.mjs +0 -4
  520. package/src/runtime/helpers/tags-compat/dom.js +0 -1
  521. package/src/runtime/helpers/tags-compat/dom.mjs +0 -4
  522. package/src/runtime/helpers/tags-compat/html-debug.js +0 -3
  523. package/src/runtime/helpers/tags-compat/html-debug.mjs +0 -4
  524. package/src/runtime/helpers/tags-compat/html.js +0 -3
  525. package/src/runtime/helpers/tags-compat/html.mjs +0 -4
  526. package/src/runtime/helpers/tags-compat/runtime-dom.js +0 -239
  527. package/src/runtime/helpers/tags-compat/runtime-html.js +0 -136
  528. package/src/runtime/helpers/to-string.js +0 -5
  529. package/src/runtime/html/AsyncStream.js +0 -805
  530. package/src/runtime/html/BufferedWriter.js +0 -52
  531. package/src/runtime/html/StringWriter.js +0 -73
  532. package/src/runtime/html/helpers/_dynamic-attr.js +0 -35
  533. package/src/runtime/html/helpers/attr.js +0 -80
  534. package/src/runtime/html/helpers/attrs.js +0 -26
  535. package/src/runtime/html/helpers/class-attr.js +0 -8
  536. package/src/runtime/html/helpers/data-marko.js +0 -36
  537. package/src/runtime/html/helpers/escape-quotes.js +0 -35
  538. package/src/runtime/html/helpers/escape-script-placeholder.js +0 -24
  539. package/src/runtime/html/helpers/escape-style-placeholder.js +0 -22
  540. package/src/runtime/html/helpers/escape-xml.js +0 -21
  541. package/src/runtime/html/helpers/merge-attrs.js +0 -55
  542. package/src/runtime/html/helpers/props-script.js +0 -32
  543. package/src/runtime/html/helpers/style-attr.js +0 -8
  544. package/src/runtime/html/hot-reload.js +0 -26
  545. package/src/runtime/html/index.js +0 -33
  546. package/src/runtime/html/marko-namespace.js +0 -3
  547. package/src/runtime/renderable.js +0 -194
  548. package/src/runtime/vdom/AsyncVDOMBuilder.js +0 -456
  549. package/src/runtime/vdom/VComment.js +0 -24
  550. package/src/runtime/vdom/VComponent.js +0 -17
  551. package/src/runtime/vdom/VDocumentFragment.js +0 -34
  552. package/src/runtime/vdom/VElement.js +0 -375
  553. package/src/runtime/vdom/VFragment.js +0 -26
  554. package/src/runtime/vdom/VNode.js +0 -100
  555. package/src/runtime/vdom/VText.js +0 -25
  556. package/src/runtime/vdom/helpers/attrs.js +0 -62
  557. package/src/runtime/vdom/helpers/const-element.js +0 -25
  558. package/src/runtime/vdom/helpers/merge-attrs.js +0 -16
  559. package/src/runtime/vdom/hot-reload.js +0 -115
  560. package/src/runtime/vdom/index.js +0 -30
  561. package/src/runtime/vdom/is-text-only.js +0 -10
  562. package/src/runtime/vdom/marko-namespace.js +0 -3
  563. package/src/runtime/vdom/morphdom/fragment.js +0 -95
  564. package/src/runtime/vdom/morphdom/helpers.js +0 -42
  565. package/src/runtime/vdom/morphdom/index.js +0 -741
  566. package/src/runtime/vdom/parse-html.js +0 -18
  567. package/src/runtime/vdom/vdom.js +0 -88
  568. package/src/taglib/index.js +0 -51
  569. package/src/translator/cdata/index.js +0 -15
  570. package/src/translator/cdata/index[html].js +0 -15
  571. package/src/translator/cdata/index[vdom].js +0 -12
  572. package/src/translator/class.js +0 -65
  573. package/src/translator/comment/index.js +0 -15
  574. package/src/translator/comment/index[html].js +0 -17
  575. package/src/translator/comment/index[vdom].js +0 -3
  576. package/src/translator/declaration/index.js +0 -15
  577. package/src/translator/declaration/index[html].js +0 -12
  578. package/src/translator/declaration/index[vdom].js +0 -3
  579. package/src/translator/document-type/index.js +0 -15
  580. package/src/translator/document-type/index[html].js +0 -12
  581. package/src/translator/document-type/index[vdom].js +0 -3
  582. package/src/translator/index.js +0 -552
  583. package/src/translator/placeholder/index.js +0 -15
  584. package/src/translator/placeholder/index[html].js +0 -93
  585. package/src/translator/placeholder/index[vdom].js +0 -22
  586. package/src/translator/scriptlet.js +0 -4
  587. package/src/translator/tag/attribute/directives/class.js +0 -42
  588. package/src/translator/tag/attribute/directives/index.js +0 -15
  589. package/src/translator/tag/attribute/directives/no-update-body-if.js +0 -15
  590. package/src/translator/tag/attribute/directives/no-update-body.js +0 -10
  591. package/src/translator/tag/attribute/directives/no-update-if.js +0 -12
  592. package/src/translator/tag/attribute/directives/no-update.js +0 -48
  593. package/src/translator/tag/attribute/directives/style.js +0 -42
  594. package/src/translator/tag/attribute/index.js +0 -150
  595. package/src/translator/tag/attribute/modifiers/index.js +0 -7
  596. package/src/translator/tag/attribute/modifiers/no-update.js +0 -14
  597. package/src/translator/tag/attribute/modifiers/scoped.js +0 -23
  598. package/src/translator/tag/attribute-tag.js +0 -149
  599. package/src/translator/tag/custom-tag.js +0 -146
  600. package/src/translator/tag/dynamic-tag.js +0 -74
  601. package/src/translator/tag/index.js +0 -287
  602. package/src/translator/tag/macro-tag.js +0 -7
  603. package/src/translator/tag/native-tag.js +0 -27
  604. package/src/translator/tag/native-tag[html]/attributes.js +0 -151
  605. package/src/translator/tag/native-tag[html]/index.js +0 -221
  606. package/src/translator/tag/native-tag[vdom]/attributes.js +0 -105
  607. package/src/translator/tag/native-tag[vdom]/index.js +0 -189
  608. package/src/translator/tag/util.js +0 -246
  609. package/src/translator/taglib/core/conditional/translate-else-if.js +0 -20
  610. package/src/translator/taglib/core/conditional/translate-else.js +0 -20
  611. package/src/translator/taglib/core/conditional/translate-if.js +0 -8
  612. package/src/translator/taglib/core/conditional/util.js +0 -41
  613. package/src/translator/taglib/core/index.js +0 -474
  614. package/src/translator/taglib/core/macro/parse.js +0 -17
  615. package/src/translator/taglib/core/macro/translate.js +0 -48
  616. package/src/translator/taglib/core/parse-class.js +0 -79
  617. package/src/translator/taglib/core/parse-export.js +0 -14
  618. package/src/translator/taglib/core/parse-import.js +0 -14
  619. package/src/translator/taglib/core/parse-module-code.js +0 -18
  620. package/src/translator/taglib/core/parse-static.js +0 -18
  621. package/src/translator/taglib/core/transform-style.js +0 -66
  622. package/src/translator/taglib/core/translate-await.js +0 -41
  623. package/src/translator/taglib/core/translate-body.js +0 -17
  624. package/src/translator/taglib/core/translate-for.js +0 -156
  625. package/src/translator/taglib/core/translate-html-comment.js +0 -52
  626. package/src/translator/taglib/core/translate-include-content.js +0 -53
  627. package/src/translator/taglib/core/translate-server-only.js +0 -5
  628. package/src/translator/taglib/core/translate-while.js +0 -32
  629. package/src/translator/taglib/index.js +0 -7
  630. package/src/translator/taglib/migrate/all-templates.js +0 -46
  631. package/src/translator/taglib/migrate/index.js +0 -5
  632. package/src/translator/text/index.js +0 -10
  633. package/src/translator/text/index[html].js +0 -12
  634. package/src/translator/text/index[vdom].js +0 -20
  635. package/src/translator/util/add-dependencies.js +0 -329
  636. package/src/translator/util/escape-regexp.js +0 -4
  637. package/src/translator/util/get-component-files.js +0 -86
  638. package/src/translator/util/html-out-write.js +0 -15
  639. package/src/translator/util/key-manager.js +0 -176
  640. package/src/translator/util/optimize-html-writes.js +0 -52
  641. package/src/translator/util/optimize-vdom-create.js +0 -164
  642. package/src/translator/util/plugin-hooks.js +0 -22
  643. package/src/translator/util/runtime-flags.js +0 -3
  644. package/src/translator/util/vdom-out-write.js +0 -10
  645. package/src/translator/util/with-previous-location.js +0 -6
  646. package/tags-html.d.ts +0 -3855
  647. package/translator/index.d.ts +0 -7
  648. package/translator/package.json +0 -5
@@ -1,42 +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
- var _styleValue = _interopRequireDefault(require("marko/src/runtime/helpers/style-value"));
8
-
9
- var _withPreviousLocation = _interopRequireDefault(require("../../../util/with-previous-location"));var _default = exports.default =
10
-
11
- {
12
- exit(tag, _, value) {
13
- const {
14
- hub: { file }
15
- } = tag;
16
- if (!(0, _babelUtils.isNativeTag)(tag)) return;
17
-
18
- const computed = (0, _babelUtils.computeNode)(value.node);
19
- if (computed) {
20
- const str = (0, _styleValue.default)(computed.value);
21
- if (str) {
22
- value.replaceWith(_compiler.types.stringLiteral(str));
23
- } else {
24
- value.parentPath.remove();
25
- }
26
- } else if (!value.isTemplateLiteral()) {
27
- value.replaceWith(
28
- (0, _withPreviousLocation.default)(
29
- _compiler.types.callExpression(
30
- (0, _babelUtils.importDefault)(
31
- file,
32
- "marko/src/runtime/helpers/style-value.js",
33
- "marko_style_merge"
34
- ),
35
- [value.node]
36
- ),
37
- value.node
38
- )
39
- );
40
- }
41
- }
42
- };
@@ -1,150 +0,0 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _babelUtils = require("@marko/compiler/babel-utils");
2
-
3
-
4
-
5
-
6
-
7
- var _directives = _interopRequireDefault(require("./directives"));
8
- var _modifiers = _interopRequireDefault(require("./modifiers"));
9
-
10
- const EMPTY_ARRAY = [];
11
- const EVENT_REG = /^(on(?:ce)?)(-)?(.*)$/;
12
- const attachedDetachedLoaded = new WeakSet();var _default = exports.default =
13
-
14
- {
15
- enter(attr) {
16
- const {
17
- hub: { file }
18
- } = attr;
19
- const tag = attr.parentPath;
20
- const value = attr.get("value");
21
- const { name, arguments: args } = attr.node;
22
- const isVDOM = file.markoOpts.output !== "html";
23
-
24
- if (execModifiersAndDirectives("enter", tag, attr, value)) {
25
- return;
26
- }
27
-
28
- // Event handlers.
29
- let [, eventType, isDash, eventName] = EVENT_REG.exec(name) || EMPTY_ARRAY;
30
-
31
- if (eventType && args) {
32
- if (!args.length) {
33
- throw attr.buildCodeFrameError("Event handler is missing arguments.");
34
- }
35
-
36
- if (!value.isBooleanLiteral(true)) {
37
- throw value.buildCodeFrameError(
38
- `"${name}(handler, ...args)" does not accept a value.`
39
- );
40
- }
41
-
42
- if (!isDash) {
43
- // When the event is not in dash case we normalized differently for html tags and custom tags.
44
-
45
- if ((0, _babelUtils.isNativeTag)(tag)) {
46
- // Lowercase the string
47
- // Example: onMouseOver → mouseover
48
- eventName = eventName.toLowerCase();
49
- } else {
50
- // Convert first character to lower case:
51
- // Example: onBeforeShow → beforeShow
52
- eventName = eventName.charAt(0).toLowerCase() + eventName.slice(1);
53
- }
54
- }
55
-
56
- const handlers = tag.node.handlers = tag.node.handlers || {};
57
- if (handlers[eventName]) {
58
- throw attr.buildCodeFrameError(
59
- "Duplicate event handlers are not supported."
60
- );
61
- }
62
-
63
- handlers[eventName] = {
64
- arguments: args,
65
- once: eventType === "once"
66
- };
67
-
68
- if (isVDOM) {
69
- if (eventName === "attach" || eventName === "detach") {
70
- if (!attachedDetachedLoaded.has(file)) {
71
- // Pull in helper for element attach/detach;
72
- attachedDetachedLoaded.add(file);
73
- (0, _babelUtils.importDefault)(
74
- file,
75
- "marko/src/runtime/components/attach-detach.js"
76
- );
77
- }
78
- }
79
- }
80
-
81
- attr.remove();
82
- return;
83
- }
84
- },
85
- exit(attr) {
86
- const tag = attr.parentPath;
87
- const { name, arguments: args } = attr.node;
88
- const value = attr.get("value");
89
-
90
- if (execModifiersAndDirectives("exit", tag, attr, value)) {
91
- return;
92
- }
93
-
94
- const tagDef = (0, _babelUtils.getTagDef)(tag);
95
-
96
- if (tagDef) {
97
- if (!tagDef.html && !tagDef.getAttribute(name)) {
98
- throw attr.buildCodeFrameError(
99
- `<${
100
- tag.get("name.value").node}> does not support the "${
101
- name}" attribute.`
102
- );
103
- }
104
- }
105
-
106
- if (args && args.length) {
107
- throw attr.buildCodeFrameError(
108
- `Unsupported arguments on the "${name}" attribute.`
109
- );
110
- }
111
-
112
- if (attr.node.bound) {
113
- throw attr.buildCodeFrameError(
114
- `The binding syntax (:=) is only supported when using the "Tags API".`
115
- );
116
- }
117
- }
118
- };
119
-
120
- function execModifiersAndDirectives(type, tag, attr, value) {
121
- const { node } = attr;
122
- const { name, modifier } = node;
123
-
124
- if (modifier) {
125
- const modifierTranslate = _modifiers.default[modifier];
126
- if (modifierTranslate) {
127
- if (modifierTranslate[type]) {
128
- const tagNode = tag.node;
129
- const attrNode = attr.node;
130
- modifierTranslate[type](tag, attr, value);
131
- if (tag.node !== tagNode || attr.node !== attrNode) return true;
132
- }
133
- } else if (name === "xlink" && modifier === "href" && (0, _babelUtils.isNativeTag)(tag)) {
134
- node.name += `:${modifier}`;
135
- node.modifier = undefined;
136
- } else {
137
- throw attr.buildCodeFrameError(`Unsupported modifier "${modifier}".`);
138
- }
139
- }
140
-
141
- const directiveTranslate = _directives.default[name];
142
- if (directiveTranslate) {
143
- if (directiveTranslate[type]) {
144
- const tagNode = tag.node;
145
- const attrNode = attr.node;
146
- directiveTranslate[type](tag, attr, value);
147
- if (tag.node !== tagNode || attr.node !== attrNode) return true;
148
- }
149
- }
150
- }
@@ -1,7 +0,0 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _noUpdate = _interopRequireDefault(require("./no-update"));
2
- var _scoped = _interopRequireDefault(require("./scoped"));var _default = exports.default =
3
-
4
- {
5
- scoped: _scoped.default,
6
- "no-update": _noUpdate.default
7
- };
@@ -1,14 +0,0 @@
1
- "use strict";exports.__esModule = true;exports.default = void 0; /**
2
- * Does nothing in html mode.
3
- */var _default = exports.default =
4
- {
5
- exit(tag, attr) {
6
- const { node } = tag;
7
-
8
- if (!node.preserveAttrs) {
9
- node.preserveAttrs = [];
10
- }
11
-
12
- node.preserveAttrs.push(attr.node.name);
13
- }
14
- };
@@ -1,23 +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
-
3
- var _withPreviousLocation = _interopRequireDefault(require("../../../util/with-previous-location"));var _default = exports.default =
4
-
5
- {
6
- exit(tag, _, value) {
7
- const {
8
- hub: { file }
9
- } = tag;
10
- value.replaceWith(
11
- (0, _withPreviousLocation.default)(
12
- _compiler.types.callExpression(
13
- _compiler.types.memberExpression(
14
- file._componentDefIdentifier,
15
- _compiler.types.identifier("elId")
16
- ),
17
- [value.node]
18
- ),
19
- value.node
20
- )
21
- );
22
- }
23
- };
@@ -1,149 +0,0 @@
1
- "use strict";exports.__esModule = true;exports.analyzeAttributeTags = analyzeAttributeTags;exports.default = translateAttributeTag;var _compiler = require("@marko/compiler");
2
- var _babelUtils = require("@marko/compiler/babel-utils");
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
- var _util = require("./util");
13
-
14
- const attributeTagsForTag = new WeakMap();
15
- const contentTypeCache = new WeakMap();
16
- const ContentType = {
17
- attribute: 0,
18
- render: 1,
19
- mixed: 2
20
- };
21
-
22
- function analyzeAttributeTags(rootTag) {
23
- const visit = [rootTag];
24
- const parentTags = [rootTag];
25
- let i = 0;
26
- let attributeTags;
27
-
28
- while (i < visit.length) {
29
- const tag = visit[i++];
30
- const attrTags = tag.node.body.attributeTags ?
31
- tag.get("body").get("body") :
32
- tag.get("attributeTags");
33
- for (const child of attrTags) {
34
- if ((0, _babelUtils.isAttributeTag)(child)) {
35
- (0, _babelUtils.assertNoArgs)(child);
36
- const tagDef = (0, _babelUtils.getTagDef)(child) || {};
37
- const name = (0, _babelUtils.getFullyResolvedTagName)(child);
38
- let {
39
- targetProperty = child.node.name.value.slice(1),
40
- isRepeated = false
41
- } = tagDef;
42
-
43
- const preserveName =
44
- tagDef.preserveName === true || tagDef.removeDashes === false;
45
-
46
- if (!preserveName) {
47
- targetProperty = removeDashes(targetProperty);
48
- }
49
-
50
- const attrTagMeta = (attributeTags ||= {})[name] ||= {
51
- targetProperty,
52
- isRepeated
53
- };
54
-
55
- (child.node.extra ||= {}).attributeTag = attrTagMeta;
56
-
57
- const parentTag = (0, _babelUtils.findParentTag)(child);
58
- const parentTagExtra = parentTag.node.extra ||= {};
59
- const parentSeenAttributeTagProperties =
60
- attributeTagsForTag.get(parentTag);
61
- let hasAttributeTags = false;
62
-
63
- if (!parentSeenAttributeTagProperties) {
64
- parentTagExtra.hasAttributeTags = true;
65
- attributeTagsForTag.set(parentTag, new Set([targetProperty]));
66
- } else if (parentSeenAttributeTagProperties.has(targetProperty)) {
67
- hasAttributeTags = true;
68
- } else {
69
- parentSeenAttributeTagProperties.add(targetProperty);
70
- }
71
-
72
- if (!hasAttributeTags) {
73
- if (
74
- parentTag.
75
- get("attributes").
76
- some(
77
- (attr) =>
78
- attr.isMarkoSpreadAttribute() ||
79
- attr.node.name === targetProperty
80
- ))
81
- {
82
- parentTag.pushContainer(
83
- "attributes",
84
- _compiler.types.markoAttribute(
85
- targetProperty,
86
- _compiler.types.unaryExpression("void", _compiler.types.numericLiteral(0))
87
- )
88
- );
89
- }
90
- }
91
-
92
- parentTags.push(child);
93
- visit.push(child);
94
- } else if ((0, _babelUtils.isTransparentTag)(child)) {
95
- visit.push(child);
96
- }
97
- }
98
- }
99
-
100
- if (attributeTags) {
101
- (rootTag.node.extra ??= {}).attributeTags = attributeTags;
102
- }
103
- }
104
-
105
- function translateAttributeTag(tag) {
106
- const { node } = tag;
107
- const meta = node.extra?.attributeTag;
108
- if (!meta) {
109
- throw tag.
110
- get("name").
111
- buildCodeFrameError("@tags must be nested within another element.");
112
- }
113
-
114
- (0, _babelUtils.assertNoArgs)(tag);
115
-
116
- tag.replaceWith(
117
- _compiler.types.expressionStatement(
118
- _compiler.types.callExpression(
119
- (0, _babelUtils.importNamed)(
120
- tag.hub.file,
121
- "marko/src/runtime/helpers/attr-tag.js",
122
- meta.isRepeated ? "r" : "a",
123
- meta.isRepeated ?
124
- "marko_repeated_attr_tag" :
125
- "marko_repeatable_attr_tag"
126
- ),
127
- [_compiler.types.stringLiteral(meta.targetProperty), getAttrTagObject(tag)]
128
- )
129
- )
130
- );
131
- }
132
-
133
- function getAttrTagObject(tag) {
134
- const attrs = (0, _util.getAttrs)(tag, false, true);
135
-
136
- if (_compiler.types.isNullLiteral(attrs)) {
137
- return _compiler.types.objectExpression([]);
138
- }
139
-
140
- return attrs;
141
- }
142
-
143
- function removeDashes(str) {
144
- return str.replace(/-([a-z])/g, matchToUpperCase);
145
- }
146
-
147
- function matchToUpperCase(_match, lower) {
148
- return lower.toUpperCase();
149
- }
@@ -1,146 +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
-
8
-
9
-
10
-
11
- var _withPreviousLocation = _interopRequireDefault(require("../util/with-previous-location"));
12
- var _dynamicTag = _interopRequireDefault(require("./dynamic-tag"));
13
- var _nativeTag = _interopRequireDefault(require("./native-tag"));
14
- var _util = require("./util");
15
-
16
- function _default(path, isNullable) {
17
- const {
18
- hub: { file },
19
- node
20
- } = path;
21
- const { markoOpts } = file;
22
- const { name, key } = node;
23
-
24
- (0, _babelUtils.assertNoArgs)(path);
25
-
26
- let tagIdentifier;
27
-
28
- if (_compiler.types.isStringLiteral(name)) {
29
- const tagName = name.value;
30
- let relativePath = node.extra && node.extra.relativePath;
31
-
32
- if (!relativePath) {
33
- const tagDef = (0, _babelUtils.getTagDef)(path);
34
- if (tagDef && tagDef.renderer) {
35
- // Normally new tags should not be added in the translate stage.
36
- // We make an exception here for core tags, init-components & _preserve being the primary culprits.
37
- // TODO: in the future refactor so this is not needed.
38
- relativePath = (0, _babelUtils.resolveRelativePath)(file, tagDef.renderer);
39
- }
40
- }
41
-
42
- let binding = !relativePath && path.scope.getBinding(tagName);
43
- if (binding && !binding.identifier.loc) binding = null;
44
-
45
- if (binding && binding.kind === "module") {
46
- const importSource = binding.path.parent.source;
47
- relativePath =
48
- (0, _babelUtils.resolveTagImport)(path, importSource.value) || importSource.value;
49
- (node.extra ??= {}).tagNameImported = relativePath;
50
- binding = undefined;
51
- }
52
-
53
- const childFile = (0, _babelUtils.loadFileForTag)(path);
54
- const childProgram = childFile?.ast.program;
55
-
56
- if (childProgram?.extra?.featureType === "tags") {
57
- const compatRuntimeFile = `marko/src/runtime/helpers/tags-compat/${
58
- markoOpts.output === "html" ? "html" : "dom"}${
59
- markoOpts.optimize ? "" : "-debug"}.${markoOpts.modules === "esm" ? "mjs" : "js"}`;
60
- (0, _babelUtils.importDefault)(file, compatRuntimeFile);
61
- path.set("name", (0, _babelUtils.importDefault)(file, relativePath, path.node.name.value));
62
- return (0, _dynamicTag.default)(path);
63
- } else if (relativePath) {
64
- if (binding) {
65
-
66
-
67
-
68
-
69
-
70
-
71
-
72
- // TODO: implement auto migration for conflicts here
73
- // and log below warning
74
- // console.warn(
75
- // path.buildCodeFrameError(
76
- // `The <${tagName}> tag has been resolved from the filesystem, however a local variable with the same name exists. In the next major version of Marko the local variable will tag precedence.`
77
- // )
78
- // );
79
- }tagIdentifier = (0, _babelUtils.importDefault)(file, relativePath, tagName);} else if (binding) {path.set("name", _compiler.types.identifier(tagName));return (0, _dynamicTag.default)(path);} else if (markoOpts.ignoreUnrecognizedTags) {return (0, _nativeTag.default)(path);
80
- } else {
81
- throw path.
82
- get("name").
83
- buildCodeFrameError(
84
- `Unable to find entry point for custom tag <${tagName}>.`
85
- );
86
- }
87
- } else {
88
- tagIdentifier = name;
89
- }
90
-
91
- const foundAttrs = (0, _util.getAttrs)(path);
92
- const customTagRenderCall = (0, _withPreviousLocation.default)(
93
- _compiler.types.expressionStatement(
94
- _compiler.types.callExpression(
95
- (0, _babelUtils.importDefault)(
96
- file,
97
- "marko/src/runtime/helpers/render-tag.js",
98
- "marko_tag"
99
- ),
100
- [
101
- tagIdentifier,
102
- // TODO: this could be left as null if we froze input mutations and used a default object in the runtime.
103
- _compiler.types.isNullLiteral(foundAttrs) ? _compiler.types.objectExpression([]) : foundAttrs,
104
- _compiler.types.identifier("out"),
105
- file._componentDefIdentifier,
106
- key,
107
- ...(0, _util.buildEventHandlerArray)(path)]
108
-
109
- )
110
- ),
111
- node
112
- );
113
-
114
- if (isNullable) {
115
- let renderBodyIdentifier;
116
- const renderBodyProp =
117
- _compiler.types.isObjectExpression(foundAttrs) &&
118
- foundAttrs.properties.find(
119
- (prop) => prop.key && prop.key.value === "renderBody"
120
- );
121
-
122
- if (renderBodyProp) {
123
- renderBodyIdentifier = path.scope.generateUidIdentifier("renderBody");
124
- path.insertBefore(
125
- _compiler.types.variableDeclaration("const", [
126
- _compiler.types.variableDeclarator(renderBodyIdentifier, renderBodyProp.value)]
127
- )
128
- );
129
-
130
- renderBodyProp.value = renderBodyIdentifier;
131
- }
132
-
133
- path.replaceWith(
134
- _compiler.types.ifStatement(
135
- name,
136
- customTagRenderCall,
137
- renderBodyIdentifier &&
138
- _compiler.types.expressionStatement(
139
- _compiler.types.callExpression(renderBodyIdentifier, [_compiler.types.identifier("out")])
140
- )
141
- )
142
- );
143
- } else {
144
- path.replaceWith(customTagRenderCall);
145
- }
146
- }
@@ -1,74 +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
- var _withPreviousLocation = _interopRequireDefault(require("../util/with-previous-location"));
5
- var _util = require("./util");
6
-
7
- function _default(path) {
8
- const {
9
- node,
10
- hub: { file }
11
- } = path;
12
- const tagProperties = path.node.extra && path.node.extra.properties || [];
13
- const { key, arguments: args } = node;
14
- const foundAttrs = (0, _util.getAttrs)(path, true);
15
- let renderBodyProp;
16
- let attrsLen = _compiler.types.isNullLiteral(foundAttrs) ? 0 : 1;
17
-
18
- if (node.preserveAttrs) {
19
- tagProperties.push(
20
- _compiler.types.objectProperty(
21
- _compiler.types.identifier("pa"),
22
- _compiler.types.objectExpression(
23
- node.preserveAttrs.map((name) =>
24
- _compiler.types.objectProperty(
25
- _compiler.types.isValidIdentifier(name) ?
26
- _compiler.types.identifier(name) :
27
- _compiler.types.stringLiteral(name),
28
- _compiler.types.numericLiteral(1)
29
- )
30
- )
31
- )
32
- )
33
- );
34
- }
35
-
36
- if (_compiler.types.isObjectExpression(foundAttrs)) {
37
- const renderBodyIndex = foundAttrs.properties.findIndex(
38
- (prop) => prop.key && prop.key.value === "renderBody"
39
- );
40
-
41
- attrsLen = foundAttrs.properties.length;
42
-
43
- if (renderBodyIndex > -1) {
44
- renderBodyProp = foundAttrs.properties[renderBodyIndex];
45
- foundAttrs.properties.splice(renderBodyIndex, 1);
46
- attrsLen--;
47
- }
48
- }
49
-
50
- const dynamicTagRenderCall = _compiler.types.expressionStatement(
51
- _compiler.types.callExpression(
52
- (0, _babelUtils.importDefault)(
53
- file,
54
- `marko/src/runtime/helpers/dynamic-tag.js`,
55
- "marko_dynamic_tag"
56
- ),
57
- [
58
- _compiler.types.identifier("out"),
59
- node.name,
60
- attrsLen ? _compiler.types.arrowFunctionExpression([], foundAttrs) : _compiler.types.nullLiteral(),
61
- renderBodyProp ? renderBodyProp.value : _compiler.types.nullLiteral(),
62
- args && args.length ? _compiler.types.arrayExpression(args) : _compiler.types.nullLiteral(),
63
- tagProperties.length ?
64
- _compiler.types.objectExpression(tagProperties) :
65
- _compiler.types.nullLiteral(),
66
- file._componentDefIdentifier,
67
- key,
68
- ...(0, _util.buildEventHandlerArray)(path)]
69
-
70
- )
71
- );
72
-
73
- path.replaceWith((0, _withPreviousLocation.default)(dynamicTagRenderCall, node));
74
- }