marko 5.39.32 → 5.39.34

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.
@@ -730,6 +730,12 @@ function getClassHydrationMode(file, visited = new Set()) {
730
730
  return meta.classHydration = CLASS_HYDRATION_SELF;
731
731
  }
732
732
 
733
+ // A Tags template records interactivity on its program, not in metadata;
734
+ // it hydrates itself, so a Class ancestor has to keep the boundary.
735
+ if (file.ast.program.extra?.isInteractive) {
736
+ return meta.classHydration = CLASS_HYDRATION_SELF;
737
+ }
738
+
733
739
  for (const tag of meta.tags) {
734
740
  if (tag.endsWith(".marko")) {
735
741
  const childFile = (0, _babelUtils.loadFileForImport)(file, tag);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "5.39.32",
3
+ "version": "5.39.34",
4
4
  "private": false,
5
5
  "description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.",
6
6
  "keywords": [
@@ -67,8 +67,8 @@
67
67
  },
68
68
  "types": "index.d.ts",
69
69
  "dependencies": {
70
- "@marko/compiler": "^5.41.18",
71
- "@marko/runtime-tags": "^6.3.34",
70
+ "@marko/compiler": "^5.42.1",
71
+ "@marko/runtime-tags": "^6.3.36",
72
72
  "app-module-path": "^2.2.0",
73
73
  "argly": "^1.2.0",
74
74
  "browser-refresh-client": "1.1.4",
@@ -85,7 +85,7 @@
85
85
  "warp10": "^2.1.0"
86
86
  },
87
87
  "devDependencies": {
88
- "marko": "5.39.32"
88
+ "marko": "5.39.34"
89
89
  },
90
90
  "engines": {
91
91
  "node": ">=22"
@@ -730,6 +730,12 @@ function getClassHydrationMode(file, visited = new Set()) {
730
730
  return (meta.classHydration = CLASS_HYDRATION_SELF);
731
731
  }
732
732
 
733
+ // A Tags template records interactivity on its program, not in metadata;
734
+ // it hydrates itself, so a Class ancestor has to keep the boundary.
735
+ if (file.ast.program.extra?.isInteractive) {
736
+ return (meta.classHydration = CLASS_HYDRATION_SELF);
737
+ }
738
+
733
739
  for (const tag of meta.tags) {
734
740
  if (tag.endsWith(".marko")) {
735
741
  const childFile = loadFileForImport(file, tag);