|
1 | 1 | /* eslint-env node */ |
2 | 2 | 'use strict'; |
3 | 3 |
|
4 | | -const path = require('path'); |
5 | | -const filterInitializers = require('fastboot-filter-initializers'); |
6 | | -const VersionChecker = require('ember-cli-version-checker'); |
7 | | -const mergeTrees = require('broccoli-merge-trees'); |
8 | | - |
9 | 4 | module.exports = { |
10 | | - name: 'ember-cli-head', |
11 | | - |
12 | | - treeForApp(defaultTree) { |
13 | | - if (!process.env.FASTBOOT_NEW_BUILD) { |
14 | | - let trees = [defaultTree]; |
15 | | - |
16 | | - if (!this.hasGlimmer2()) { |
17 | | - trees.push(this.treeGenerator(path.resolve(this.root, 'app-lt-2-10'))); |
18 | | - trees.push(this.treeGenerator(path.resolve(this.root, 'fastboot-lt-2-10'))); |
19 | | - } |
20 | | - |
21 | | - let tree = mergeTrees(trees, { overwrite: true }); |
22 | | - |
23 | | - return filterInitializers(tree); |
24 | | - } else { |
25 | | - let trees = [defaultTree]; |
26 | | - if (!this.hasGlimmer2()) { |
27 | | - trees.push(this.treeGenerator(path.resolve(this.root, 'app-lt-2-10'))); |
28 | | - } |
29 | | - |
30 | | - return mergeTrees(trees, { overwrite: true }); |
31 | | - } |
32 | | - }, |
33 | | - |
34 | | - treeForFastBoot(tree) { |
35 | | - // this hook will be invoked in post FastBoot 1.0 |
36 | | - if (!this.hasGlimmer2) { |
37 | | - let fastBootHtmlBarsTree = this.treeGenerator(path.resolve(this.root, 'fastboot-lt-2-10')); |
38 | | - return tree ? mergeTrees([tree, fastBootHtmlBarsTree], { overwrite: true }) : fastBootHtmlBarsTree; |
39 | | - } |
40 | | - return tree; |
41 | | - }, |
42 | | - |
43 | | - hasGlimmer2() { |
44 | | - let checker = new VersionChecker(this); |
45 | | - let emberVersion = checker.for('ember-source', 'npm'); |
46 | | - |
47 | | - if (!emberVersion.version) { |
48 | | - emberVersion = checker.for('ember', 'bower'); |
49 | | - } |
50 | | - |
51 | | - // 2.9.0-beta.1 - 2.9.0-beta.5 used glimmer2 (but 2.9.0 did not) |
52 | | - // 2.10.0-beta.1+ includes glimmer2 |
53 | | - return (emberVersion.gt('2.9.0-beta') && emberVersion.lt('2.9.0')) || emberVersion.gt('2.10.0-beta'); |
54 | | - } |
| 5 | + name: 'ember-cli-head' |
55 | 6 | }; |
0 commit comments