-
Notifications
You must be signed in to change notification settings - Fork 27
/
Brocfile.js
85 lines (74 loc) · 1.99 KB
/
Brocfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/* global require, module */
var pickFiles = require('broccoli-static-compiler');
var mergeTrees = require('broccoli-merge-trees');
var concat = require('broccoli-concat');
var findBowerTrees = require('broccoli-bower');
var compileSass = require('broccoli-sass');
var uglifyJavaScript = require('broccoli-uglify-js');
var cleanCSS = require('broccoli-clean-css');
var copyIndex = require('./lib/copy-index');
var env = require('broccoli-env').getEnv();
var stew = require('broccoli-stew');
var find = stew.find;
var rename = stew.rename;
var appAndDependencies = rename(find('app/*.html'), 'app/', '');
var emberTree = find('ember/**/*.js');
appAndDependencies = mergeTrees([
appAndDependencies,
'tests'
]);
var clientTree = mergeTrees([
'test-client', mergeTrees(findBowerTrees())
]);
var testClient = concat(clientTree, {
inputFiles: [
'test-client.js',
'test-session.js',
'head.min.js',
'benchmark.js',
'rsvp.js',
'people.js'
],
outputFile: '/assets/test-client.js'
});
var testTree = copyIndex('tests', { extensions: ['js'] });
var vendorJs = concat(mergeTrees(findBowerTrees()), {
inputFiles: ['jquery.js', 'numeral.js'],
outputFile: '/assets/vendor.js'
});
var appJs = concat(mergeTrees([
'app',
'ember',
'test-client',
mergeTrees(findBowerTrees())]), {
inputFiles: [
'jquery-2.1.1.min.js',
'handlebars-v1.3.0.js',
'1.8.1.js',
'ascii-table.js',
'app.js',
'test-session.js'
],
outputFile: '/assets/app.js'
});
var appCss = compileSass(['app/styles'], 'app.scss', 'assets/app.css');
var vendorCss = concat(mergeTrees(findBowerTrees()), {
inputFiles: ['bootstrap.css'],
outputFile: '/assets/vendor.css'
});
if (env === 'production') {
vendorJs = uglifyJavaScript(vendorJs);
testClient = uglifyJavaScript(testClient);
vendorCss = cleanCSS(vendorCss);
appCss = cleanCSS(appCss);
}
module.exports = mergeTrees([
appAndDependencies,
appJs,
appCss,
vendorJs,
vendorCss,
testClient,
testTree,
emberTree
]);