marko 6.0.64 → 6.0.66

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.
package/README.md ADDED
@@ -0,0 +1,72 @@
1
+ <div align="center">
2
+
3
+ # [<img alt="Marko" src="https://raw.githubusercontent.com/marko-js/website-next/refs/heads/main/public/logo.svg" width="250">](https://markojs.com/)
4
+
5
+ **A declarative, HTML-based language that makes building web apps fun 🔥**
6
+
7
+ [![NPM](https://img.shields.io/npm/v/marko.svg)](https://www.npmjs.com/package/marko)
8
+ [![Discord Chat](https://img.shields.io/badge/discord-chat-7188da.svg)](https://discord.gg/RFGxYGs)
9
+ [![Continuous Integration status](https://github.com/marko-js/marko/actions/workflows/ci.yml/badge.svg)](https://github.com/marko-js/marko/actions/workflows/ci.yml)
10
+ [![Code coverage %](https://codecov.io/gh/marko-js/marko/branch/master/graph/badge.svg)](https://codecov.io/gh/marko-js/marko)
11
+ [![# of monthly downloads](https://img.shields.io/npm/dm/marko.svg)](https://npm-stat.com/charts.html?package=marko)
12
+ [![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7029/badge)](https://bestpractices.coreinfrastructure.org/projects/7029)
13
+
14
+ [Docs](https://markojs.com/docs/introduction/getting-started) ∙ [Try Online](https://markojs.com/playground) ∙ [Contribute](#contributors) ∙ [Get Support](#community--support)
15
+
16
+ </div>
17
+
18
+ ## Intro
19
+
20
+ Marko is HTML _reimagined_ as a language for building dynamic and reactive user interfaces. Almost any valid HTML is valid Marko, and Marko extends HTML for building modern applications more declaratively. Among these extensions are [components](https://markojs.com/docs/reference/custom-tag), [conditionals](https://markojs.com/docs/reference/core-tag#if--else) and [loops](https://markojs.com/docs/reference/core-tag#for), and a full [reactivity system](https://markojs.com/docs/reference/reactivity).
21
+
22
+ ### Example Component
23
+
24
+ The following renders a button and a counter of how many times the button has been pressed:
25
+
26
+ **click-count.marko**
27
+
28
+ ```marko
29
+ // HTML + JavaScript = 💜
30
+ <let/count=0>
31
+ <button onClick() { count++ }>
32
+ Clicked ${count} times
33
+ </button>
34
+ ```
35
+
36
+ ## Getting Started
37
+
38
+ 1. `npm init marko`
39
+ 2. Read the [docs](https://markojs.com/docs/introduction/getting-started)
40
+
41
+ ## Community & Support
42
+
43
+ <table>
44
+ <thead><tr>
45
+ <th><svg viewBox="0 0 576 512"><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1 .1s-.6 .4-.8 .8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2c-41.3 7.1-81.6 19.6-119.7 37.1-.3 .1-.6 .4-.8 .7-76.2 113.8-97.1 224.9-86.9 334.5 0 .3 .1 .5 .2 .8s.3 .4 .5 .6c44.4 32.9 94 58 146.8 74.2 .4 .1 .8 .1 1.1 0s.7-.4 .9-.7c11.3-15.4 21.4-31.8 30-48.8 .1-.2 .2-.5 .2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6 .2-.9 .3-.5 .6-.7c3.1-2.3 6.2-4.7 9.1-7.1 .3-.2 .6-.4 .9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1 .7-.2 1-.2s.7 .2 .9 .4c2.9 2.4 6 4.9 9.1 7.2 .2 .2 .4 .4 .6 .7s.2 .6 .2 .9-.1 .6-.3 .9-.4 .5-.6 .6c-14.7 8.6-30 15.9-45.9 21.8-.2 .1-.5 .2-.7 .4s-.3 .4-.4 .7-.1 .5-.1 .8 .1 .5 .2 .8c8.8 17 18.8 33.3 30 48.8 .2 .3 .6 .6 .9 .7s.8 .1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2 .2-.2 .4-.4 .5-.6s.2-.5 .2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2zm195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2z"></path></svg>
46
+ <th><svg viewBox="0 0 576 512"><path d="M407.8 294.7c-3.3-.4-6.7-.8-10-1.3 3.4 .4 6.7 .9 10 1.3zM288 227.1C261.9 176.4 190.9 81.9 124.9 35.3 61.6-9.4 37.5-1.7 21.6 5.5 3.3 13.8 0 41.9 0 58.4S9.1 194 15 213.9c19.5 65.7 89.1 87.9 153.2 80.7 3.3-.5 6.6-.9 10-1.4-3.3 .5-6.6 1-10 1.4-93.9 14-177.3 48.2-67.9 169.9 120.3 124.6 164.8-26.7 187.7-103.4 22.9 76.7 49.2 222.5 185.6 103.4 102.4-103.4 28.1-156-65.8-169.9-3.3-.4-6.7-.8-10-1.3 3.4 .4 6.7 .9 10 1.3 64.1 7.1 133.6-15.1 153.2-80.7 5.9-19.9 15-138.9 15-155.5s-3.3-44.7-21.6-52.9c-15.8-7.1-40-14.9-103.2 29.8-66.1 46.6-137.1 141.1-163.2 191.8z"></path></svg>
47
+ <th><svg viewBox="0 0 448 512"><path d="M357.2 48L427.8 48 273.6 224.2 455 464 313 464 201.7 318.6 74.5 464 3.8 464 168.7 275.5-5.2 48 140.4 48 240.9 180.9 357.2 48zM332.4 421.8l39.1 0-252.4-333.8-42 0 255.3 333.8z"></path></svg>
48
+ <th><svg viewBox="0 0 512 512"><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM252.8 8c-138.7 0-244.8 105.3-244.8 244 0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1 100-33.2 167.8-128.1 167.8-239 0-138.7-112.5-244-251.2-244zM105.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg>
49
+ <tbody><tr><td>
50
+
51
+ Hang out in our [Discord server](https://discord.gg/marko) to ask questions & discuss marko<td>
52
+
53
+ Keep up with the community on Bluesky at [@markojs.com](https://bsky.app/profile/markojs.com)<td>
54
+
55
+ Tweet to [@MarkoDevTeam](https://twitter.com/MarkoDevTeam) or use the [#markojs](https://twitter.com/search?q=%23markojs%20OR%20%40markodevteam&f=live) hashtag<td>
56
+
57
+ Browse the code, open issues, & make pull requests on [GitHub](https://github.com/marko-js/marko)
58
+
59
+ </table>
60
+
61
+ ### Contributors
62
+
63
+ Marko would not be what it is without all those who have contributed ✨
64
+
65
+ [![All marko-js/marko GitHub contributors](https://opencollective.com/marko-js/contributors.svg?width=890&button=false)](https://github.com/marko-js/marko/graphs/contributors)
66
+
67
+ ### Get Involved!
68
+
69
+ - Pull requests are welcome!
70
+ - Submit [GitHub issues](https://github.com/marko-js/marko/issues) for any feature enhancements, bugs, or documentation problems
71
+ - [Read the Contribution Tips and Guidelines](.github/CONTRIBUTING.md)
72
+ - Participants in this project agree to abide by [its Code of Conduct](https://github.com/eBay/.github/blob/main/CODE_OF_CONDUCT.md)
@@ -3346,19 +3346,24 @@ var compat = {
3346
3346
  } else {
3347
3347
  renderer(normalizedInput);
3348
3348
  }
3349
- const asyncOut = classAPIOut.beginAsync();
3350
- (boundary.onNext = () => {
3351
- if (boundary.signal.aborted) {
3352
- asyncOut.error(boundary.signal.reason);
3353
- boundary.onNext = NOOP3;
3354
- } else if (!boundary.count) {
3355
- completeChunks.push(head = head.consume());
3356
- asyncOut.write(head.html);
3357
- asyncOut.script(head.scripts);
3358
- asyncOut.end();
3359
- head.html = head.scripts = "";
3360
- }
3361
- })();
3349
+ const asyncOut = classAPIOut.beginAsync({ last: true, timeout: -1 });
3350
+ classAPIOut.onLast((next) => {
3351
+ (boundary.onNext = () => {
3352
+ if (boundary.signal.aborted) {
3353
+ asyncOut.error(boundary.signal.reason);
3354
+ boundary.onNext = NOOP3;
3355
+ } else if (!boundary.count) {
3356
+ boundary.onNext = NOOP3;
3357
+ head = head.consume();
3358
+ asyncOut.write(head.html);
3359
+ asyncOut.script(head.scripts);
3360
+ asyncOut.end();
3361
+ head.html = head.scripts = "";
3362
+ completeChunks.push(head);
3363
+ next();
3364
+ }
3365
+ })();
3366
+ });
3362
3367
  });
3363
3368
  },
3364
3369
  registerRenderer(renderer, id) {
@@ -3262,19 +3262,24 @@ var compat = {
3262
3262
  } else {
3263
3263
  renderer(normalizedInput);
3264
3264
  }
3265
- const asyncOut = classAPIOut.beginAsync();
3266
- (boundary.onNext = () => {
3267
- if (boundary.signal.aborted) {
3268
- asyncOut.error(boundary.signal.reason);
3269
- boundary.onNext = NOOP3;
3270
- } else if (!boundary.count) {
3271
- completeChunks.push(head = head.consume());
3272
- asyncOut.write(head.html);
3273
- asyncOut.script(head.scripts);
3274
- asyncOut.end();
3275
- head.html = head.scripts = "";
3276
- }
3277
- })();
3265
+ const asyncOut = classAPIOut.beginAsync({ last: true, timeout: -1 });
3266
+ classAPIOut.onLast((next) => {
3267
+ (boundary.onNext = () => {
3268
+ if (boundary.signal.aborted) {
3269
+ asyncOut.error(boundary.signal.reason);
3270
+ boundary.onNext = NOOP3;
3271
+ } else if (!boundary.count) {
3272
+ boundary.onNext = NOOP3;
3273
+ head = head.consume();
3274
+ asyncOut.write(head.html);
3275
+ asyncOut.script(head.scripts);
3276
+ asyncOut.end();
3277
+ head.html = head.scripts = "";
3278
+ completeChunks.push(head);
3279
+ next();
3280
+ }
3281
+ })();
3282
+ });
3278
3283
  });
3279
3284
  },
3280
3285
  registerRenderer(renderer, id) {
package/dist/html.js CHANGED
@@ -2165,10 +2165,12 @@ var K_TAGS_API_STATE = Symbol(), COMPAT_REGISTRY = /* @__PURE__ */ new WeakMap()
2165
2165
  writeScope(scopeId, { m5c: component.id }), _script(scopeId, SET_SCOPE_REGISTER_ID);
2166
2166
  }
2167
2167
  isTemplate(renderer) && willRerender ? renderer(normalizedInput, 1) : renderer(normalizedInput);
2168
- let asyncOut = classAPIOut.beginAsync();
2169
- (boundary.onNext = () => {
2170
- boundary.signal.aborted ? (asyncOut.error(boundary.signal.reason), boundary.onNext = NOOP3) : boundary.count || (completeChunks.push(head = head.consume()), asyncOut.write(head.html), asyncOut.script(head.scripts), asyncOut.end(), head.html = head.scripts = "");
2171
- })();
2168
+ let asyncOut = classAPIOut.beginAsync({ last: !0, timeout: -1 });
2169
+ classAPIOut.onLast((next) => {
2170
+ (boundary.onNext = () => {
2171
+ boundary.signal.aborted ? (asyncOut.error(boundary.signal.reason), boundary.onNext = NOOP3) : boundary.count || (boundary.onNext = NOOP3, head = head.consume(), asyncOut.write(head.html), asyncOut.script(head.scripts), asyncOut.end(), head.html = head.scripts = "", completeChunks.push(head), next());
2172
+ })();
2173
+ });
2172
2174
  });
2173
2175
  },
2174
2176
  registerRenderer(renderer, id) {
package/dist/html.mjs CHANGED
@@ -2084,10 +2084,12 @@ var K_TAGS_API_STATE = Symbol(), COMPAT_REGISTRY = /* @__PURE__ */ new WeakMap()
2084
2084
  writeScope(scopeId, { m5c: component.id }), _script(scopeId, SET_SCOPE_REGISTER_ID);
2085
2085
  }
2086
2086
  isTemplate(renderer) && willRerender ? renderer(normalizedInput, 1) : renderer(normalizedInput);
2087
- let asyncOut = classAPIOut.beginAsync();
2088
- (boundary.onNext = () => {
2089
- boundary.signal.aborted ? (asyncOut.error(boundary.signal.reason), boundary.onNext = NOOP3) : boundary.count || (completeChunks.push(head = head.consume()), asyncOut.write(head.html), asyncOut.script(head.scripts), asyncOut.end(), head.html = head.scripts = "");
2090
- })();
2087
+ let asyncOut = classAPIOut.beginAsync({ last: !0, timeout: -1 });
2088
+ classAPIOut.onLast((next) => {
2089
+ (boundary.onNext = () => {
2090
+ boundary.signal.aborted ? (asyncOut.error(boundary.signal.reason), boundary.onNext = NOOP3) : boundary.count || (boundary.onNext = NOOP3, head = head.consume(), asyncOut.write(head.html), asyncOut.script(head.scripts), asyncOut.end(), head.html = head.scripts = "", completeChunks.push(head), next());
2091
+ })();
2092
+ });
2091
2093
  });
2092
2094
  },
2093
2095
  registerRenderer(renderer, id) {
@@ -58,7 +58,7 @@ function assertNoSpreadAttrs(tag) {
58
58
  if (attr.isMarkoSpreadAttribute()) {
59
59
  const tagName = tag.get("name").node.value;
60
60
  throw attr.buildCodeFrameError(
61
- `The [\`<${tagName}>\`](https://next.markojs.com/docs/reference/core-tag#${tagName}) tag does not support \`...spread\` attributes.`
61
+ `The [\`<${tagName}>\`](https://markojs.com/docs/reference/core-tag#${tagName}) tag does not support \`...spread\` attributes.`
62
62
  );
63
63
  }
64
64
  }
@@ -68,7 +68,7 @@ function assertNoBodyContent(tag) {
68
68
  const tagName = tag.get("name");
69
69
  const tagNameLiteral = tagName.node.value;
70
70
  throw tagName.buildCodeFrameError(
71
- `The [\`<${tagNameLiteral}>\`](https://next.markojs.com/docs/reference/core-tag#${tagNameLiteral}) tag does not support body content.`
71
+ `The [\`<${tagNameLiteral}>\`](https://markojs.com/docs/reference/core-tag#${tagNameLiteral}) tag does not support body content.`
72
72
  );
73
73
  }
74
74
  }
@@ -3096,17 +3096,17 @@ var return_default = {
3096
3096
  if (parentTag) {
3097
3097
  if ((0, import_babel_utils15.isNativeTag)(parentTag)) {
3098
3098
  throw tag.get("name").buildCodeFrameError(
3099
- "The [`<return>` tag](https://next.markojs.com/docs/reference/core-tag#return) can not be used in a [native tag](https://next.markojs.com/docs/reference/native-tag)."
3099
+ "The [`<return>` tag](https://markojs.com/docs/reference/core-tag#return) can not be used in a [native tag](https://markojs.com/docs/reference/native-tag)."
3100
3100
  );
3101
3101
  } else if (isControlFlowTag(parentTag)) {
3102
3102
  throw tag.get("name").buildCodeFrameError(
3103
- `The [\`<return>\` tag](https://next.markojs.com/docs/reference/core-tag#return) can not be used under the \`<${parentTag.get("name").toString()}>\` tag.`
3103
+ `The [\`<return>\` tag](https://markojs.com/docs/reference/core-tag#return) can not be used under the \`<${parentTag.get("name").toString()}>\` tag.`
3104
3104
  );
3105
3105
  }
3106
3106
  }
3107
3107
  if (tagsWithReturn.has(tag.parentPath)) {
3108
3108
  throw tag.get("name").buildCodeFrameError(
3109
- `Cannot have multiple [\`<return>\` tags](https://next.markojs.com/docs/reference/core-tag#return) ${tag.parent.type === "Program" ? "for the template" : "within a tag's body content"}.`
3109
+ `Cannot have multiple [\`<return>\` tags](https://markojs.com/docs/reference/core-tag#return) ${tag.parent.type === "Program" ? "for the template" : "within a tag's body content"}.`
3110
3110
  );
3111
3111
  } else {
3112
3112
  tagsWithReturn.add(tag.parentPath);
@@ -3114,7 +3114,7 @@ var return_default = {
3114
3114
  const attrs = getKnownAttrValues(tag.node);
3115
3115
  if (!attrs.value) {
3116
3116
  throw tag.get("name").buildCodeFrameError(
3117
- "The [`<return>` tag](https://next.markojs.com/docs/reference/core-tag#return) requires a [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value)."
3117
+ "The [`<return>` tag](https://markojs.com/docs/reference/core-tag#return) requires a [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
3118
3118
  );
3119
3119
  }
3120
3120
  if (attrs.valueChange) {
@@ -3189,7 +3189,7 @@ var return_default = {
3189
3189
  displayText: "return=<value>",
3190
3190
  description: "Provides a value for use in a parent template.",
3191
3191
  snippet: "return=${1:value}",
3192
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#return"
3192
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#return"
3193
3193
  }
3194
3194
  ]
3195
3195
  };
@@ -5862,22 +5862,22 @@ var await_default = {
5862
5862
  tagExtra[kDOMBinding] = createBinding("#text", 0 /* dom */, section);
5863
5863
  if (!valueAttr) {
5864
5864
  throw tag.get("name").buildCodeFrameError(
5865
- "The [`<await>` tag](https://next.markojs.com/docs/reference/core-tag#await) requires a [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value)."
5865
+ "The [`<await>` tag](https://markojs.com/docs/reference/core-tag#await) requires a [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
5866
5866
  );
5867
5867
  }
5868
5868
  if (node.attributes.length > 1 || !import_compiler26.types.isMarkoAttribute(valueAttr) || valueAttr.name !== "value") {
5869
5869
  throw tag.get("name").buildCodeFrameError(
5870
- "The [`<await>` tag](https://next.markojs.com/docs/reference/core-tag#await) only supports the [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value)."
5870
+ "The [`<await>` tag](https://markojs.com/docs/reference/core-tag#await) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
5871
5871
  );
5872
5872
  }
5873
5873
  if (!node.body.body.length) {
5874
5874
  throw tag.get("name").buildCodeFrameError(
5875
- "The [`<await>` tag](https://next.markojs.com/docs/reference/core-tag#await) requires [content](https://next.markojs.com/docs/reference/language#tag-content)."
5875
+ "The [`<await>` tag](https://markojs.com/docs/reference/core-tag#await) requires [content](https://markojs.com/docs/reference/language#tag-content)."
5876
5876
  );
5877
5877
  }
5878
5878
  if (node.body.params.length && (node.body.params.length > 1 || import_compiler26.types.isSpreadElement(node.body.params[0]))) {
5879
5879
  throw tag.get("name").buildCodeFrameError(
5880
- "The [`<await>` tag](https://next.markojs.com/docs/reference/core-tag#await) only supports a single parameter."
5880
+ "The [`<await>` tag](https://markojs.com/docs/reference/core-tag#await) only supports a single parameter."
5881
5881
  );
5882
5882
  }
5883
5883
  const bodySection = startSection(tagBody);
@@ -5971,7 +5971,7 @@ var await_default = {
5971
5971
  autocomplete: [
5972
5972
  {
5973
5973
  description: "Use to consume asynchronous an data.",
5974
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#await"
5974
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#await"
5975
5975
  }
5976
5976
  ],
5977
5977
  types: runtime_info_default.name + "/tags/await.d.marko"
@@ -6062,17 +6062,17 @@ var const_default = {
6062
6062
  const [valueAttr] = node.attributes;
6063
6063
  if (!node.var) {
6064
6064
  throw tag.get("name").buildCodeFrameError(
6065
- "The [`<const>` tag](https://next.markojs.com/docs/reference/core-tag#const) requires a [tag variable](https://next.markojs.com/docs/reference/language#tag-variables)."
6065
+ "The [`<const>` tag](https://markojs.com/docs/reference/core-tag#const) requires a [tag variable](https://markojs.com/docs/reference/language#tag-variables)."
6066
6066
  );
6067
6067
  }
6068
6068
  if (!valueAttr) {
6069
6069
  throw tag.get("name").buildCodeFrameError(
6070
- "The [`<const>` tag](https://next.markojs.com/docs/reference/core-tag#const) requires a [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value)."
6070
+ "The [`<const>` tag](https://markojs.com/docs/reference/core-tag#const) requires a [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
6071
6071
  );
6072
6072
  }
6073
6073
  if (node.attributes.length > 1 || !import_compiler29.types.isMarkoAttribute(valueAttr) || !valueAttr.default && valueAttr.name !== "value") {
6074
6074
  throw tag.get("name").buildCodeFrameError(
6075
- "The [`<const>` tag](https://next.markojs.com/docs/reference/core-tag#const) only supports the [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value)."
6075
+ "The [`<const>` tag](https://markojs.com/docs/reference/core-tag#const) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
6076
6076
  );
6077
6077
  }
6078
6078
  const valueExtra = evaluate(valueAttr.value);
@@ -6119,7 +6119,7 @@ var const_default = {
6119
6119
  autocomplete: [
6120
6120
  {
6121
6121
  description: "Use to create an constant binding.",
6122
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#const"
6122
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#const"
6123
6123
  }
6124
6124
  ],
6125
6125
  types: runtime_info_default.name + "/tags/const.d.marko"
@@ -6137,7 +6137,7 @@ var debug_default = {
6137
6137
  assertNoBodyContent(tag);
6138
6138
  if (tag.node.attributes.length > 1 || tag.node.attributes.length === 1 && (!import_compiler30.types.isMarkoAttribute(valueAttr) || !valueAttr.default && valueAttr.name !== "value")) {
6139
6139
  throw tag.get("name").buildCodeFrameError(
6140
- "The [`<debug>` tag](https://next.markojs.com/docs/reference/core-tag#debug) only supports the [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value)."
6140
+ "The [`<debug>` tag](https://markojs.com/docs/reference/core-tag#debug) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
6141
6141
  );
6142
6142
  }
6143
6143
  },
@@ -6162,7 +6162,7 @@ var debug_default = {
6162
6162
  autocomplete: [
6163
6163
  {
6164
6164
  description: "Debug on value change.",
6165
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#debug"
6165
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#debug"
6166
6166
  }
6167
6167
  ],
6168
6168
  types: runtime_info_default.name + "/tags/debug.d.marko"
@@ -6349,7 +6349,7 @@ var native_tag_default = {
6349
6349
  const { node } = tag;
6350
6350
  if (node.var && !import_compiler32.types.isIdentifier(node.var)) {
6351
6351
  throw tag.get("var").buildCodeFrameError(
6352
- "Tag variables on [native tags](https://next.markojs.com/docs/reference/native-tag) cannot be destructured."
6352
+ "Tag variables on [native tags](https://markojs.com/docs/reference/native-tag) cannot be destructured."
6353
6353
  );
6354
6354
  }
6355
6355
  const tagName = getTagName(tag);
@@ -7283,7 +7283,7 @@ var for_default = {
7283
7283
  break;
7284
7284
  default:
7285
7285
  throw tag.buildCodeFrameError(
7286
- "The [`<for>` tag](https://next.markojs.com/docs/reference/core-tag#for) requires an `of=`, `in=`, or `to=` attribute."
7286
+ "The [`<for>` tag](https://markojs.com/docs/reference/core-tag#for) requires an `of=`, `in=`, or `to=` attribute."
7287
7287
  );
7288
7288
  }
7289
7289
  if (!isAttrTag) {
@@ -7493,15 +7493,15 @@ var for_default = {
7493
7493
  {
7494
7494
  snippet: "for|${1:value, index}| of=${3:array}",
7495
7495
  description: "Use to iterate over lists, object properties, or between ranges.",
7496
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#for"
7496
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#for"
7497
7497
  },
7498
7498
  {
7499
7499
  snippet: "for|${1:name, value}| in=${3:object}",
7500
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#for"
7500
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#for"
7501
7501
  },
7502
7502
  {
7503
7503
  snippet: "for|${1:index}| to=${2:number}",
7504
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#for"
7504
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#for"
7505
7505
  }
7506
7506
  ]
7507
7507
  };
@@ -7924,7 +7924,7 @@ var define_default = {
7924
7924
  (0, import_babel_utils29.assertNoArgs)(tag);
7925
7925
  if (!tag.node.var) {
7926
7926
  throw tag.get("name").buildCodeFrameError(
7927
- "The [`<define>` tag](https://next.markojs.com/docs/reference/core-tag#define) requires a [tag variable](https://next.markojs.com/docs/reference/language#tag-variables)."
7927
+ "The [`<define>` tag](https://markojs.com/docs/reference/core-tag#define) requires a [tag variable](https://markojs.com/docs/reference/language#tag-variables)."
7928
7928
  );
7929
7929
  }
7930
7930
  const tagBody = tag.get("body");
@@ -7986,7 +7986,7 @@ var define_default = {
7986
7986
  autocomplete: [
7987
7987
  {
7988
7988
  description: "Use to create a constant object binding that can be rendered.",
7989
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#define"
7989
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#define"
7990
7990
  }
7991
7991
  ],
7992
7992
  types: runtime_info_default.name + "/tags/define.d.marko"
@@ -8062,7 +8062,7 @@ var html_comment_default = {
8062
8062
  if (tagVar) {
8063
8063
  if (!import_compiler38.types.isIdentifier(tagVar)) {
8064
8064
  throw tag.get("var").buildCodeFrameError(
8065
- "The [`<html-comment>` tag](https://next.markojs.com/docs/reference/core-tag#html-comment) tag variable cannot be destructured."
8065
+ "The [`<html-comment>` tag](https://markojs.com/docs/reference/core-tag#html-comment) tag variable cannot be destructured."
8066
8066
  );
8067
8067
  }
8068
8068
  needsBinding = true;
@@ -8229,7 +8229,7 @@ var html_comment_default = {
8229
8229
  autocomplete: [
8230
8230
  {
8231
8231
  description: "Use to create an html comment that is not stripped from the output.",
8232
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#html-comment"
8232
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#html-comment"
8233
8233
  }
8234
8234
  ]
8235
8235
  };
@@ -8611,7 +8611,7 @@ var html_script_default = {
8611
8611
  autocomplete: [
8612
8612
  {
8613
8613
  description: "Use instead of `<script>` to render a native tag directly, without processing by Marko.",
8614
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#html-script--html-style"
8614
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#html-script--html-style"
8615
8615
  }
8616
8616
  ]
8617
8617
  };
@@ -9030,7 +9030,7 @@ var html_style_default = {
9030
9030
  autocomplete: [
9031
9031
  {
9032
9032
  description: "Use instead of `<style>` to render a native tag directly, without processing by Marko.",
9033
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#html-script--html-style"
9033
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#html-script--html-style"
9034
9034
  }
9035
9035
  ]
9036
9036
  };
@@ -9090,17 +9090,17 @@ var id_default = {
9090
9090
  const [valueAttr] = node.attributes;
9091
9091
  if (!node.var) {
9092
9092
  throw tag.get("name").buildCodeFrameError(
9093
- "The [`<id>` tag](https://next.markojs.com/docs/reference/core-tag#id) requires a [tag variable](https://next.markojs.com/docs/reference/language#tag-variables)."
9093
+ "The [`<id>` tag](https://markojs.com/docs/reference/core-tag#id) requires a [tag variable](https://markojs.com/docs/reference/language#tag-variables)."
9094
9094
  );
9095
9095
  }
9096
9096
  if (!import_compiler41.types.isIdentifier(node.var)) {
9097
9097
  throw tag.get("var").buildCodeFrameError(
9098
- "The [`<id>` tag](https://next.markojs.com/docs/reference/core-tag#id) cannot be destructured."
9098
+ "The [`<id>` tag](https://markojs.com/docs/reference/core-tag#id) cannot be destructured."
9099
9099
  );
9100
9100
  }
9101
9101
  if (tag.node.attributes.length > 1 || tag.node.attributes.length === 1 && (!import_compiler41.types.isMarkoAttribute(valueAttr) || !valueAttr.default && valueAttr.name !== "value")) {
9102
9102
  throw tag.get("name").buildCodeFrameError(
9103
- "The [`<id>` tag](https://next.markojs.com/docs/reference/core-tag#id) only supports the [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value)."
9103
+ "The [`<id>` tag](https://markojs.com/docs/reference/core-tag#id) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
9104
9104
  );
9105
9105
  }
9106
9106
  const binding = trackVarReferences(tag, 5 /* derived */);
@@ -9149,7 +9149,7 @@ var id_default = {
9149
9149
  displayText: "id/<name>",
9150
9150
  description: "Use to create a unique identifier.",
9151
9151
  snippet: "id/${1:name}",
9152
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#id"
9152
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#id"
9153
9153
  }
9154
9154
  ],
9155
9155
  types: runtime_info_default.name + "/tags/id.d.marko"
@@ -9382,7 +9382,7 @@ var IfTag = {
9382
9382
  {
9383
9383
  snippet: "if=${1:condition}",
9384
9384
  description: "Use to display content only if the condition is met.",
9385
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#if--else"
9385
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#if--else"
9386
9386
  }
9387
9387
  ]
9388
9388
  };
@@ -9392,7 +9392,7 @@ var ElseIfTag = {
9392
9392
  {
9393
9393
  snippet: "else-if=${1:condition}",
9394
9394
  description: "Use after an <if> or <else-if> tag to display content if those conditions do not match and this one does.",
9395
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#if--else"
9395
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#if--else"
9396
9396
  }
9397
9397
  ]
9398
9398
  };
@@ -9401,7 +9401,7 @@ var ElseTag = {
9401
9401
  autocomplete: [
9402
9402
  {
9403
9403
  description: "Use after an <if> or <else-if> tag to display content if those conditions do not match.",
9404
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#if--else"
9404
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#if--else"
9405
9405
  }
9406
9406
  ]
9407
9407
  };
@@ -9430,14 +9430,14 @@ function assertHasPrecedingCondition(tag) {
9430
9430
  while (prev.node && prev.isMarkoComment()) prev = prev.getPrevSibling();
9431
9431
  if (!isConditionTag(prev) || getTagName(prev) !== "else" && !prev.node.attributes.length) {
9432
9432
  throw tag.buildCodeFrameError(
9433
- `The [\`<${getTagName(tag)}>\` tag](https://next.markojs.com/docs/reference/core-tag#if--else) must have a preceding \`<if=cond>\` or \`<else if=cond>\`.`
9433
+ `The [\`<${getTagName(tag)}>\` tag](https://markojs.com/docs/reference/core-tag#if--else) must have a preceding \`<if=cond>\` or \`<else if=cond>\`.`
9434
9434
  );
9435
9435
  }
9436
9436
  }
9437
9437
  function assertHasBody(tag) {
9438
9438
  if (!(tag.node.body.body.length || tag.node.attributeTags.length)) {
9439
9439
  throw tag.get("name").buildCodeFrameError(
9440
- `The [\`${getTagName(tag)}\` tag](https://next.markojs.com/docs/reference/core-tag#if--else) requires [body content](https://next.markojs.com/docs/reference/language#tag-content).`
9440
+ `The [\`${getTagName(tag)}\` tag](https://markojs.com/docs/reference/core-tag#if--else) requires [body content](https://markojs.com/docs/reference/language#tag-content).`
9441
9441
  );
9442
9442
  }
9443
9443
  }
@@ -9446,13 +9446,13 @@ function assertHasValueAttribute(tag) {
9446
9446
  const [valueAttr] = node.attributes;
9447
9447
  if (!import_compiler43.types.isMarkoAttribute(valueAttr) || !valueAttr.default) {
9448
9448
  throw tag.get("name").buildCodeFrameError(
9449
- `The [\`${getTagName(tag)}\` tag](https://next.markojs.com/docs/reference/core-tag#if--else) requires a [\`value=\` attribute](https://next.markojs.com/docs/reference/language#shorthand-value).`
9449
+ `The [\`${getTagName(tag)}\` tag](https://markojs.com/docs/reference/core-tag#if--else) requires a [\`value=\` attribute](https://markojs.com/docs/reference/language#shorthand-value).`
9450
9450
  );
9451
9451
  }
9452
9452
  if (node.attributes.length > 1) {
9453
9453
  const start = node.attributes[1].loc?.start;
9454
9454
  const end = node.attributes[node.attributes.length - 1].loc?.end;
9455
- const msg = `The [\`${getTagName(tag)}\` tag](https://next.markojs.com/docs/reference/core-tag#if--else) only supports the [\`value=\` attribute](https://next.markojs.com/docs/reference/language#shorthand-value).`;
9455
+ const msg = `The [\`${getTagName(tag)}\` tag](https://markojs.com/docs/reference/core-tag#if--else) only supports the [\`value=\` attribute](https://markojs.com/docs/reference/language#shorthand-value).`;
9456
9456
  if (start == null || end == null) {
9457
9457
  throw tag.get("name").buildCodeFrameError(msg);
9458
9458
  } else {
@@ -9470,7 +9470,7 @@ function assertOptionalIfAttribute(tag) {
9470
9470
  if (node.attributes.length > 1 || ifAttr && ifAttr.name !== "if") {
9471
9471
  const start = node.attributes[1].loc?.start;
9472
9472
  const end = node.attributes[node.attributes.length - 1].loc?.end;
9473
- const msg = `The [\`${getTagName(tag)}\` tag](https://next.markojs.com/docs/reference/core-tag#if--else) only supports an \`if=\` attribute.`;
9473
+ const msg = `The [\`${getTagName(tag)}\` tag](https://markojs.com/docs/reference/core-tag#if--else) only supports an \`if=\` attribute.`;
9474
9474
  if (start == null || end == null) {
9475
9475
  throw tag.get("name").buildCodeFrameError(msg);
9476
9476
  } else {
@@ -9547,7 +9547,7 @@ var let_default = {
9547
9547
  } else {
9548
9548
  const start = attr.loc?.start;
9549
9549
  const end = attr.loc?.end;
9550
- const msg = "The [`<let>` tag](https://next.markojs.com/docs/reference/core-tag#let) only supports the [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value) and its change handler.";
9550
+ const msg = "The [`<let>` tag](https://markojs.com/docs/reference/core-tag#let) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value) and its change handler.";
9551
9551
  if (start == null || end == null) {
9552
9552
  throw tag.get("name").buildCodeFrameError(msg);
9553
9553
  } else {
@@ -9566,17 +9566,17 @@ var let_default = {
9566
9566
  assertNoSpreadAttrs(tag);
9567
9567
  if (!tagVar) {
9568
9568
  throw tag.get("name").buildCodeFrameError(
9569
- "The [`<let>` tag](https://next.markojs.com/docs/reference/core-tag#let) requires a [tag variable](https://next.markojs.com/docs/reference/language#tag-variables)."
9569
+ "The [`<let>` tag](https://markojs.com/docs/reference/core-tag#let) requires a [tag variable](https://markojs.com/docs/reference/language#tag-variables)."
9570
9570
  );
9571
9571
  }
9572
9572
  if (!import_compiler44.types.isIdentifier(tagVar)) {
9573
9573
  throw tag.get("var").buildCodeFrameError(
9574
- "The [`<let>` tag](https://next.markojs.com/docs/reference/core-tag#let) variable cannot be destructured."
9574
+ "The [`<let>` tag](https://markojs.com/docs/reference/core-tag#let) variable cannot be destructured."
9575
9575
  );
9576
9576
  }
9577
9577
  if (valueChangeAttr && (0, import_babel_utils38.computeNode)(valueChangeAttr.value)?.value) {
9578
9578
  throw tag.get("attributes").find((attr) => attr.node === valueChangeAttr).get("value").buildCodeFrameError(
9579
- "The [`<let>` tag](https://next.markojs.com/docs/reference/core-tag#let) [`valueChange=` attribute](https://next.markojs.com/docs/reference/core-tag#controllable-let) must be a function."
9579
+ "The [`<let>` tag](https://markojs.com/docs/reference/core-tag#let) [`valueChange=` attribute](https://markojs.com/docs/reference/core-tag#controllable-let) must be a function."
9580
9580
  );
9581
9581
  }
9582
9582
  const tagSection = getOrCreateSection(tag);
@@ -9644,7 +9644,7 @@ var let_default = {
9644
9644
  autocomplete: [
9645
9645
  {
9646
9646
  description: "Use to create a mutable binding.",
9647
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#let"
9647
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#let"
9648
9648
  }
9649
9649
  ],
9650
9650
  types: runtime_info_default.name + "/tags/let.d.marko"
@@ -9675,13 +9675,13 @@ var lifecycle_default = {
9675
9675
  binding.downstreamExpressions.add(tagExtra);
9676
9676
  if (node.attributes.length === 0) {
9677
9677
  throw tag.get("name").buildCodeFrameError(
9678
- "The [`<lifecycle>` tag](https://next.markojs.com/docs/reference/core-tag#lifecycle) requires at least one attribute."
9678
+ "The [`<lifecycle>` tag](https://markojs.com/docs/reference/core-tag#lifecycle) requires at least one attribute."
9679
9679
  );
9680
9680
  }
9681
9681
  for (const attr of node.attributes) {
9682
9682
  if (import_compiler45.types.isMarkoSpreadAttribute(attr)) {
9683
9683
  throw tag.get("name").buildCodeFrameError(
9684
- "The [`<lifecycle>` tag](https://next.markojs.com/docs/reference/core-tag#lifecycle) does not support [`...spread` attributes](https://next.markojs.com/docs/reference/language#spread-attributes)."
9684
+ "The [`<lifecycle>` tag](https://markojs.com/docs/reference/core-tag#lifecycle) does not support [`...spread` attributes](https://markojs.com/docs/reference/language#spread-attributes)."
9685
9685
  );
9686
9686
  }
9687
9687
  (attr.value.extra ??= {}).isEffect = true;
@@ -9726,7 +9726,7 @@ var lifecycle_default = {
9726
9726
  autocomplete: [
9727
9727
  {
9728
9728
  description: "Use to create a side effects.",
9729
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#lifecycle"
9729
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#lifecycle"
9730
9730
  }
9731
9731
  ],
9732
9732
  types: runtime_info_default.name + "/tags/lifecycle.d.marko"
@@ -9744,12 +9744,12 @@ var log_default = {
9744
9744
  assertNoBodyContent(tag);
9745
9745
  if (!valueAttr) {
9746
9746
  throw tag.get("name").buildCodeFrameError(
9747
- "The [`<log>` tag](https://next.markojs.com/docs/reference/core-tag#log) requires a [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value)."
9747
+ "The [`<log>` tag](https://markojs.com/docs/reference/core-tag#log) requires a [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
9748
9748
  );
9749
9749
  }
9750
9750
  if (tag.node.attributes.length > 1 || !import_compiler46.types.isMarkoAttribute(valueAttr) || !valueAttr.default && valueAttr.name !== "value") {
9751
9751
  throw tag.get("name").buildCodeFrameError(
9752
- "The [`<log>` tag](https://next.markojs.com/docs/reference/core-tag#log) only supports the [`value=` attribute](https://next.markojs.com/docs/reference/language#shorthand-value)."
9752
+ "The [`<log>` tag](https://markojs.com/docs/reference/core-tag#log) only supports the [`value=` attribute](https://markojs.com/docs/reference/language#shorthand-value)."
9753
9753
  );
9754
9754
  }
9755
9755
  },
@@ -9780,7 +9780,7 @@ var log_default = {
9780
9780
  autocomplete: [
9781
9781
  {
9782
9782
  description: "Use to log a value to the console.",
9783
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#log"
9783
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#log"
9784
9784
  }
9785
9785
  ],
9786
9786
  types: runtime_info_default.name + "/tags/log.d.marko"
@@ -9789,7 +9789,7 @@ var log_default = {
9789
9789
  // src/translator/core/script.ts
9790
9790
  var import_compiler47 = require("@marko/compiler");
9791
9791
  var import_babel_utils41 = require("@marko/compiler/babel-utils");
9792
- var htmlScriptTagAlternateMsg = " For a native html [`<script>` tag](https://next.markojs.com/docs/reference/core-tag#script) use the `html-script` core tag instead.";
9792
+ var htmlScriptTagAlternateMsg = " For a native html [`<script>` tag](https://markojs.com/docs/reference/core-tag#script) use the `html-script` core tag instead.";
9793
9793
  var script_default = {
9794
9794
  parse(tag) {
9795
9795
  const { node } = tag;
@@ -9800,7 +9800,7 @@ var script_default = {
9800
9800
  if (child.type !== "MarkoText") {
9801
9801
  throw tag.hub.file.hub.buildError(
9802
9802
  child,
9803
- "Unexpected content in [`<script>` tag](https://next.markojs.com/docs/reference/core-tag#script). Only javascript and typescript is supported." + htmlScriptTagAlternateMsg,
9803
+ "Unexpected content in [`<script>` tag](https://markojs.com/docs/reference/core-tag#script). Only javascript and typescript is supported." + htmlScriptTagAlternateMsg,
9804
9804
  SyntaxError
9805
9805
  );
9806
9806
  }
@@ -9829,7 +9829,7 @@ var script_default = {
9829
9829
  if (node.var) {
9830
9830
  throw tag.hub.buildError(
9831
9831
  node.var,
9832
- "The [`<script>` tag](https://next.markojs.com/docs/reference/core-tag#script) does not support a tag variable reference." + htmlScriptTagAlternateMsg
9832
+ "The [`<script>` tag](https://markojs.com/docs/reference/core-tag#script) does not support a tag variable reference." + htmlScriptTagAlternateMsg
9833
9833
  );
9834
9834
  }
9835
9835
  let seenValueAttr = false;
@@ -9844,7 +9844,7 @@ var script_default = {
9844
9844
  } else {
9845
9845
  throw tag.hub.buildError(
9846
9846
  attr,
9847
- "The [`<script>` tag](https://next.markojs.com/docs/reference/core-tag#script) does not support html attributes." + htmlScriptTagAlternateMsg
9847
+ "The [`<script>` tag](https://markojs.com/docs/reference/core-tag#script) does not support html attributes." + htmlScriptTagAlternateMsg
9848
9848
  );
9849
9849
  }
9850
9850
  }
@@ -9994,7 +9994,7 @@ var import_babel_utils44 = require("@marko/compiler/babel-utils");
9994
9994
  var import_magic_string = __toESM(require("magic-string"));
9995
9995
  var import_path3 = __toESM(require("path"));
9996
9996
  var STYLE_EXT_REG = /^style((?:\.[a-zA-Z0-9$_-]+)+)?/;
9997
- var htmlStyleTagAlternateMsg = " For a native html [`<style>` tag](https://next.markojs.com/docs/reference/core-tag#style) use the `html-style` core tag instead.";
9997
+ var htmlStyleTagAlternateMsg = " For a native html [`<style>` tag](https://markojs.com/docs/reference/core-tag#style) use the `html-style` core tag instead.";
9998
9998
  var style_default = {
9999
9999
  analyze(tag) {
10000
10000
  (0, import_babel_utils44.assertNoArgs)(tag);
@@ -10015,14 +10015,14 @@ var style_default = {
10015
10015
  if (child.type !== "MarkoText") {
10016
10016
  throw tag.hub.buildError(
10017
10017
  child,
10018
- "The [`<style>` tag](https://next.markojs.com/docs/reference/core-tag#style) currently only supports static content." + htmlStyleTagAlternateMsg
10018
+ "The [`<style>` tag](https://markojs.com/docs/reference/core-tag#style) currently only supports static content." + htmlStyleTagAlternateMsg
10019
10019
  );
10020
10020
  }
10021
10021
  }
10022
10022
  if (node.body.body.length > 1) {
10023
10023
  throw tag.hub.buildError(
10024
10024
  node.name,
10025
- "The [`<style>` tag](https://next.markojs.com/docs/reference/core-tag#style) currently only supports static content." + htmlStyleTagAlternateMsg
10025
+ "The [`<style>` tag](https://markojs.com/docs/reference/core-tag#style) currently only supports static content." + htmlStyleTagAlternateMsg
10026
10026
  );
10027
10027
  }
10028
10028
  },
@@ -10118,7 +10118,7 @@ var try_default = {
10118
10118
  tagExtra[kDOMBinding2] = createBinding("#text", 0 /* dom */, section);
10119
10119
  if (!tag.node.body.body.length) {
10120
10120
  throw tag.get("name").buildCodeFrameError(
10121
- "The [`<try>` tag](https://next.markojs.com/docs/reference/core-tag#try) requires [body content](https://next.markojs.com/docs/reference/language#tag-content)."
10121
+ "The [`<try>` tag](https://markojs.com/docs/reference/core-tag#try) requires [body content](https://markojs.com/docs/reference/language#tag-content)."
10122
10122
  );
10123
10123
  }
10124
10124
  startSection(tag.get("body"));
@@ -10225,7 +10225,7 @@ var try_default = {
10225
10225
  autocomplete: [
10226
10226
  {
10227
10227
  description: "Used to capture errors and display placeholders for nested content.",
10228
- descriptionMoreURL: "https://next.markojs.com/docs/reference/core-tag#try"
10228
+ descriptionMoreURL: "https://markojs.com/docs/reference/core-tag#try"
10229
10229
  }
10230
10230
  ],
10231
10231
  types: runtime_info_default.name + "/tags/try.d.marko"
@@ -10680,7 +10680,7 @@ var attribute_tag_default = {
10680
10680
  trackParamsReferences(body, 3 /* param */);
10681
10681
  if (!(0, import_babel_utils48.findParentTag)(tag)) {
10682
10682
  throw tag.get("name").buildCodeFrameError(
10683
- "[Attribute tags](https://next.markojs.com/docs/reference/language#attribute-tags) must be nested within another tag."
10683
+ "[Attribute tags](https://markojs.com/docs/reference/language#attribute-tags) must be nested within another tag."
10684
10684
  );
10685
10685
  }
10686
10686
  }
@@ -10719,11 +10719,11 @@ var custom_tag_default = {
10719
10719
  const tagName = getTagName(tag);
10720
10720
  if (tagName && tag.scope.hasBinding(tagName)) {
10721
10721
  throw tag.get("name").buildCodeFrameError(
10722
- `Local variables must be in a [dynamic tag](https://next.markojs.com/docs/reference/language#dynamic-tags) unless they are PascalCase. Use \`<\${${tagName}}/>\` or rename to \`${tagName.charAt(0).toUpperCase() + tagName.slice(1)}\`.`
10722
+ `Local variables must be in a [dynamic tag](https://markojs.com/docs/reference/language#dynamic-tags) unless they are PascalCase. Use \`<\${${tagName}}/>\` or rename to \`${tagName.charAt(0).toUpperCase() + tagName.slice(1)}\`.`
10723
10723
  );
10724
10724
  }
10725
10725
  throw tag.get("name").buildCodeFrameError(
10726
- `Unable to find entry point for [custom tag](https://next.markojs.com/docs/reference/custom-tag#relative-custom-tags) \`<${tagName}>\`.`
10726
+ `Unable to find entry point for [custom tag](https://markojs.com/docs/reference/custom-tag#relative-custom-tags) \`<${tagName}>\`.`
10727
10727
  );
10728
10728
  }
10729
10729
  const section = getOrCreateSection(tag);
@@ -11068,11 +11068,11 @@ function getTagRelativePath(tag) {
11068
11068
  const tagName = getTagName(tag);
11069
11069
  if (tagName && tag.scope.hasBinding(tagName)) {
11070
11070
  throw tag.get("name").buildCodeFrameError(
11071
- `Local variables must be in a [dynamic tag](https://next.markojs.com/docs/reference/language#dynamic-tags) unless they are PascalCase. Use \`<\${${tagName}}/>\` or rename to \`${tagName.charAt(0).toUpperCase() + tagName.slice(1)}\`.`
11071
+ `Local variables must be in a [dynamic tag](https://markojs.com/docs/reference/language#dynamic-tags) unless they are PascalCase. Use \`<\${${tagName}}/>\` or rename to \`${tagName.charAt(0).toUpperCase() + tagName.slice(1)}\`.`
11072
11072
  );
11073
11073
  }
11074
11074
  throw tag.get("name").buildCodeFrameError(
11075
- `Unable to find entry point for [custom tag](https://next.markojs.com/docs/reference/custom-tag#relative-custom-tags) \`<${tagName}>\`.`
11075
+ `Unable to find entry point for [custom tag](https://markojs.com/docs/reference/custom-tag#relative-custom-tags) \`<${tagName}>\`.`
11076
11076
  );
11077
11077
  }
11078
11078
  return relativePath;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "6.0.64",
3
+ "version": "6.0.66",
4
4
  "description": "Optimized runtime for Marko templates.",
5
5
  "keywords": [
6
6
  "api",
package/tags/id.d.marko CHANGED
@@ -1,3 +1,7 @@
1
1
  /** File for types only, not actual implementation **/
2
2
 
3
+ export interface Input {
4
+ value?: string;
5
+ }
6
+
3
7
  return="" as string
package/tags/let.d.marko CHANGED
@@ -1,8 +1,8 @@
1
1
  /** File for types only, not actual implementation **/
2
2
 
3
- export interface Input<T> {
3
+ export interface Input<T, K = T> {
4
4
  value: T;
5
- valueChange?: ((newValue: T) => void) | false | null;
5
+ valueChange?: ((newValue: K) => void) | false | null;
6
6
  }
7
7
 
8
- return=input.value valueChange=input.valueChange!
8
+ return=input.value valueChange=(input.valueChange as (newValue: K) => void)