github marko-js/marko @marko/runtime-tags@6.3.23

3 hours ago

Patch Changes

  • #3592 77230ef Thanks @DylanPiercey! - Escape a <script>/<style> body as one string on the server instead of once per interpolation. Their escapers neutralize multi-character tokens (</script, <script, <!--, </style), so a token split across adjacent interpolations was seen by neither call: <html-script>${a}${b}</html-script> with a = "<" and b = "/script>" closed the element and let whatever followed be parsed as markup. The same straddle applied at the boundary between static body text and an interpolation. A fully static body is now escaped at build time, so it costs no runtime work.

  • #3596 f9b04ee Thanks @DylanPiercey! - Emit one walk step for a run of static text split by a sibling that renders nothing. Adjacent static text merges into a single DOM text node even when a <const>, <let>, <script>, <lifecycle>, scriptlet, or import sits between the two runs, but each run still claimed its own step, so every accessor after that point in the section was off by one sibling. A client render then bound to the wrong node, which surfaced as a TypeError on the first event handler attach rather than as visibly wrong output.

  • Updated dependencies [2e09659]:

    • @marko/compiler@5.41.9

Don't miss a new marko release

NewReleases is sending notifications on new releases.