marko 5.39.28 → 5.39.30

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.
@@ -235,7 +235,12 @@ exports.p = function (htmlCompat) {
235
235
  });
236
236
 
237
237
  return function register(id, renderer, boundaryMode) {
238
- boundaryModeByRenderer.set(renderer, boundaryMode || true);
238
+ // A renderer registered without "preserve" by any module keeps that mode:
239
+ // preserving a call site that updates stops it re-rendering in the browser.
240
+ boundaryModeByRenderer.set(
241
+ renderer,
242
+ boundaryModeByRenderer.get(renderer) === true || boundaryMode || true
243
+ );
239
244
  return htmlCompat.register(id, renderer);
240
245
  };
241
246
  };
@@ -709,7 +709,7 @@ function isRenderContent({ node }) {
709
709
  function resolveRelativeTagEntry(file, tagDef) {
710
710
  // TODO: support transform and other entries.
711
711
  const entry = tagDef.template || tagDef.renderer;
712
- return entry && (0, _babelUtils.resolveRelativePath)(file, entry);
712
+ return entry && (0, _babelUtils.resolveRelativePath)(file, entry, tagDef);
713
713
  }
714
714
 
715
715
  function getClassHydrationMode(file, visited = new Set()) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "marko",
3
- "version": "5.39.28",
3
+ "version": "5.39.30",
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.9",
71
- "@marko/runtime-tags": "^6.3.23",
70
+ "@marko/compiler": "^5.41.10",
71
+ "@marko/runtime-tags": "^6.3.26",
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.28"
88
+ "marko": "5.39.30"
89
89
  },
90
90
  "engines": {
91
91
  "node": ">=22"
@@ -235,7 +235,12 @@ exports.p = function (htmlCompat) {
235
235
  });
236
236
 
237
237
  return function register(id, renderer, boundaryMode) {
238
- boundaryModeByRenderer.set(renderer, boundaryMode || true);
238
+ // A renderer registered without "preserve" by any module keeps that mode:
239
+ // preserving a call site that updates stops it re-rendering in the browser.
240
+ boundaryModeByRenderer.set(
241
+ renderer,
242
+ boundaryModeByRenderer.get(renderer) === true || boundaryMode || true,
243
+ );
239
244
  return htmlCompat.register(id, renderer);
240
245
  };
241
246
  };
@@ -709,7 +709,7 @@ function isRenderContent({ node }) {
709
709
  function resolveRelativeTagEntry(file, tagDef) {
710
710
  // TODO: support transform and other entries.
711
711
  const entry = tagDef.template || tagDef.renderer;
712
- return entry && resolveRelativePath(file, entry);
712
+ return entry && resolveRelativePath(file, entry, tagDef);
713
713
  }
714
714
 
715
715
  function getClassHydrationMode(file, visited = new Set()) {