Skip to content

Commit eb9dba2

Browse files
authored
Merge pull request #11 from rwjblue/fix-with-glimmer-2
Enable usage in Ember 2.9 beta and above.
2 parents b2d3329 + 7041541 commit eb9dba2

File tree

7 files changed

+67
-20
lines changed

7 files changed

+67
-20
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import Ember from 'ember';
2+
import ENV from '../../config/environment';
3+
4+
export function initialize(instance) {
5+
if (ENV['ember-cli-head'] && ENV['ember-cli-head']['suppressBrowserRender']) { return true; }
6+
7+
// clear fast booted head (if any)
8+
Ember.$('meta[name="ember-cli-head-start"]')
9+
.nextUntil('meta[name="ember-cli-head-end"] ~')
10+
.addBack()
11+
.remove();
12+
const container = instance.lookup ? instance : instance.container;
13+
// const renderer = container.lookup('renderer:-dom');
14+
const component = container.lookup('component:head-layout');
15+
component.appendTo(document.head);
16+
}
17+
18+
export default {
19+
name: 'head-browser',
20+
initialize: initialize
21+
};
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
export function initialize(instance) {
2+
const renderer = instance.lookup('renderer:-dom');
3+
const componentFactory =
4+
instance._lookupFactory('component:head-layout');
5+
// explicitly set renderer & domhelper since we're in fastboot
6+
const component = componentFactory.create(
7+
instance.ownerInjection(),
8+
{
9+
renderer,
10+
_domHelper: renderer._dom
11+
}
12+
);
13+
component.appendTo(renderer._dom.document.head);
14+
}
15+
16+
export default {
17+
name: 'head-fastboot',
18+
initialize: initialize
19+
};

app/.gitkeep

Whitespace-only changes.

app/instance-initializers/browser/head.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
11
import Ember from 'ember';
22
import ENV from '../../config/environment';
33

4-
export function initialize(instance) {
4+
export function initialize(owner) {
55
if (ENV['ember-cli-head'] && ENV['ember-cli-head']['suppressBrowserRender']) { return true; }
66

77
// clear fast booted head (if any)
88
Ember.$('meta[name="ember-cli-head-start"]')
99
.nextUntil('meta[name="ember-cli-head-end"] ~')
1010
.addBack()
1111
.remove();
12-
const container = instance.lookup ? instance : instance.container;
13-
// const renderer = container.lookup('renderer:-dom');
14-
const component = container.lookup('component:head-layout');
12+
13+
const component = owner.lookup('component:head-layout');
1514
component.appendTo(document.head);
1615
}
1716

app/instance-initializers/fastboot/head.js

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,8 @@
1-
export function initialize(instance) {
2-
const renderer = instance.lookup('renderer:-dom');
3-
const componentFactory =
4-
instance._lookupFactory('component:head-layout');
5-
// explicitly set renderer & domhelper since we're in fastboot
6-
const component = componentFactory.create(
7-
instance.ownerInjection(),
8-
{
9-
renderer,
10-
_domHelper: renderer._dom
11-
}
12-
);
13-
component.appendTo(renderer._dom.document.head);
1+
export function initialize(owner) {
2+
const document = owner.lookup('service:-document');
3+
const component = owner.lookup('component:head-layout');
4+
5+
component.appendTo(document.head);
146
}
157

168
export default {

index.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,26 @@
11
/* jshint node: true */
22
'use strict';
33

4+
var path = require('path');
45
var filterInitializers = require('fastboot-filter-initializers');
6+
var VersionChecker = require('ember-cli-version-checker');
7+
var mergeTrees = require('broccoli-merge-trees');
58

69
module.exports = {
710
name: 'ember-cli-head',
811

9-
treeForApp: function(tree) {
12+
treeForApp: function(defaultTree) {
13+
var checker = new VersionChecker(this);
14+
var emberVersion = checker.for('ember', 'bower');
15+
16+
var trees = [defaultTree];
17+
18+
if (emberVersion.lt('2.9.0-alpha.4')) {
19+
trees.push(this.treeGenerator(path.resolve(this.root, 'app-lt-2-9')));
20+
}
21+
22+
var tree = mergeTrees(trees, { overwrite: true });
23+
1024
return filterInitializers(tree);
1125
}
1226
};

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,11 @@
4343
"ember-addon"
4444
],
4545
"dependencies": {
46+
"broccoli-merge-trees": "^1.1.4",
47+
"ember-cli-babel": "^5.1.5",
4648
"ember-cli-htmlbars": "^1.0.1",
47-
"fastboot-filter-initializers": "0.0.1",
48-
"ember-cli-babel": "^5.1.5"
49+
"ember-cli-version-checker": "^1.1.6",
50+
"fastboot-filter-initializers": "0.0.1"
4951
},
5052
"ember-addon": {
5153
"configPath": "tests/dummy/config"

0 commit comments

Comments
 (0)