Skip to content

Commit 3b3ff47

Browse files
Use backwards compatible requires for experimental-render-mode-rehydrate
1 parent 879a1d8 commit 3b3ff47

1 file changed

Lines changed: 22 additions & 7 deletions

File tree

packages/ember-cli-fastboot/vendor/experimental-render-mode-rehydrate.js

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,36 @@
33
if (typeof FastBoot === 'undefined') {
44
var current = document.getElementById('fastboot-body-start');
55

6-
var _Ember = require.has('ember') ? require('ember').default : window.Ember;
7-
var _ViewUtils = require.has('@ember/-internals/views') ? require('@ember/-internals/views') : _Ember.ViewUtils;
6+
if (!current) {
7+
return;
8+
}
9+
10+
var isSerializationFirstNode;
11+
var ApplicationInstance;
12+
13+
if (require.has('@ember/-internals/glimmer') && require.has('@ember/application/instance')) {
14+
isSerializationFirstNode = require('@ember/-internals/glimmer').isSerializationFirstNode;
15+
ApplicationInstance = require('@ember/application/instance').default;
16+
} else if (require.has('ember')) {
17+
var _Ember = require('ember').default;
18+
isSerializationFirstNode = _Ember.ViewUtils.isSerializationFirstNode;
19+
ApplicationInstance = _Ember.ApplicationInstance;
20+
} else if (window.Ember) {
21+
isSerializationFirstNode = window.Ember.ViewUtils.isSerializationFirstNode;
22+
ApplicationInstance = window.Ember.ApplicationInstance;
23+
}
824

9-
if (current && !_Ember) {
25+
if (!isSerializationFirstNode || !ApplicationInstance) {
1026
console.error(`Experimental render mode rehydrate isn't working because it couldn't find Ember via AMD or global.
1127
See https://github.com/ember-fastboot/ember-cli-fastboot/issues/938 for the current state of the fix.`);
1228
return;
1329
}
1430

1531
if (
16-
current &&
17-
typeof _ViewUtils.isSerializationFirstNode === 'function' &&
18-
_ViewUtils.isSerializationFirstNode(current.nextSibling)
32+
typeof isSerializationFirstNode === 'function' &&
33+
isSerializationFirstNode(current.nextSibling)
1934
) {
20-
_Ember.ApplicationInstance.reopen({
35+
ApplicationInstance.reopen({
2136
_bootSync: function(options) {
2237
if (options === undefined) {
2338
options = {

0 commit comments

Comments
 (0)