From 7c6f8533dfc5b52bce77bbe895b84a42418d4e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Bu=CC=88nemann?= Date: Mon, 10 Nov 2025 12:03:41 +0100 Subject: [PATCH 1/2] Fix ember v6 deprecate-import-view-utils-from-ember deprecation --- .../vendor/experimental-render-mode-rehydrate.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/ember-cli-fastboot/vendor/experimental-render-mode-rehydrate.js b/packages/ember-cli-fastboot/vendor/experimental-render-mode-rehydrate.js index 45569a29f..1d2978b95 100644 --- a/packages/ember-cli-fastboot/vendor/experimental-render-mode-rehydrate.js +++ b/packages/ember-cli-fastboot/vendor/experimental-render-mode-rehydrate.js @@ -4,6 +4,9 @@ var current = document.getElementById('fastboot-body-start'); var _Ember = require.has('ember') ? require('ember').default : window.Ember; + var _ViewUtils = require.has('@ember/-internals/views') + ? require('@ember/-internals/views') + : _Ember.ViewUtils; if (current && !_Ember) { console.error(`Experimental render mode rehydrate isn't working because it couldn't find Ember via AMD or global. @@ -13,8 +16,8 @@ See https://github.com/ember-fastboot/ember-cli-fastboot/issues/938 for the curr if ( current && - typeof _Ember.ViewUtils.isSerializationFirstNode === 'function' && - _Ember.ViewUtils.isSerializationFirstNode(current.nextSibling) + typeof _ViewUtils.isSerializationFirstNode === 'function' && + _ViewUtils.isSerializationFirstNode(current.nextSibling) ) { _Ember.ApplicationInstance.reopen({ _bootSync: function (options) { From 0b359685ca05f288400262cf79af267b5c7fd33f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Bu=CC=88nemann?= Date: Sat, 22 Nov 2025 20:01:56 +0100 Subject: [PATCH 2/2] Use backwards compatible requires for experimental-render-mode-rehydrate --- .../experimental-render-mode-rehydrate.js | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/packages/ember-cli-fastboot/vendor/experimental-render-mode-rehydrate.js b/packages/ember-cli-fastboot/vendor/experimental-render-mode-rehydrate.js index 1d2978b95..5c28d2c71 100644 --- a/packages/ember-cli-fastboot/vendor/experimental-render-mode-rehydrate.js +++ b/packages/ember-cli-fastboot/vendor/experimental-render-mode-rehydrate.js @@ -3,24 +3,37 @@ if (typeof FastBoot === 'undefined') { var current = document.getElementById('fastboot-body-start'); - var _Ember = require.has('ember') ? require('ember').default : window.Ember; - var _ViewUtils = require.has('@ember/-internals/views') - ? require('@ember/-internals/views') - : _Ember.ViewUtils; + if (!current) { + return; + } + + var isSerializationFirstNode; + var ApplicationInstance; + + if (require.has('@ember/-internals/glimmer') && require.has('@ember/application/instance')) { + isSerializationFirstNode = require('@ember/-internals/glimmer').isSerializationFirstNode; + ApplicationInstance = require('@ember/application/instance').default; + } else if (require.has('ember')) { + var _Ember = require('ember').default; + isSerializationFirstNode = _Ember.ViewUtils.isSerializationFirstNode; + ApplicationInstance = _Ember.ApplicationInstance; + } else if (window.Ember) { + isSerializationFirstNode = window.Ember.ViewUtils.isSerializationFirstNode; + ApplicationInstance = window.Ember.ApplicationInstance; + } - if (current && !_Ember) { + if (!isSerializationFirstNode || !ApplicationInstance) { console.error(`Experimental render mode rehydrate isn't working because it couldn't find Ember via AMD or global. See https://github.com/ember-fastboot/ember-cli-fastboot/issues/938 for the current state of the fix.`); return; } if ( - current && - typeof _ViewUtils.isSerializationFirstNode === 'function' && - _ViewUtils.isSerializationFirstNode(current.nextSibling) + typeof isSerializationFirstNode === 'function' && + isSerializationFirstNode(current.nextSibling) ) { - _Ember.ApplicationInstance.reopen({ - _bootSync: function (options) { + ApplicationInstance.reopen({ + _bootSync: function(options) { if (options === undefined) { options = { _renderMode: 'rehydrate',