-
Notifications
You must be signed in to change notification settings - Fork 0
/
Brocfile.js
114 lines (100 loc) · 3.77 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
module.exports = function (broccoli) {
var filterTemplates = require('broccoli-template');
var uglifyJavaScript = require('broccoli-uglify-js');
var compileES6 = require('broccoli-es6-concatenator');
// var compileLess = require('broccoli-less');
var compileSass = require('broccoli-sass');
var pickFiles = require('broccoli-static-compiler');
var env = require('broccoli-env').getEnv();
console.log(env === "production");
function preprocess (tree) {
tree = filterTemplates(tree, {
extensions: ['hbs', 'handlebars'],
compileFunction: 'Ember.Handlebars.compile'
});
return tree;
}
var app = broccoli.makeTree('app');
app = pickFiles(app, {
srcDir: '/',
destDir: 'appkit' // move under appkit namespace
});
app = preprocess(app);
var styles = broccoli.makeTree('app/styles')
styles = pickFiles(styles, {
srcDir: '/',
destDir: 'appkit'
});
styles = preprocess(styles);
// var tests = broccoli.makeTree('tests')
// tests = pickFiles(tests, {
// srcDir: '/',
// destDir: 'appkit/tests'
// })
// tests = preprocess(tests)
var vendor = broccoli.makeTree('vendor');
var sourceTrees = [app, styles, vendor];
// if (env !== 'production') {
// sourceTrees.push(tests)
// }
sourceTrees = sourceTrees.concat(broccoli.bowerTrees());
var appAndDependencies = new broccoli.MergedTree(sourceTrees);
var appJs = compileES6(appAndDependencies, {
loaderFile: 'loader/loader.js',
ignoredModules: [
'ember/resolver'
],
inputFiles: [
'appkit/**/*.js'
],
legacyFilesToAppend: [
(env === 'production' ? 'appkit/config/production.js' : 'appkit/config/development.js'),
'jquery/dist/jquery.js',
'handlebars/handlebars.js',
'ember/ember.js',
'ember-data/ember-data.js',
'ember-resolver/dist/ember-resolver.js',
"bootstrap/dist/js/bootstrap.js",
"ember-addons.bs_for_ember/dist/js/bs-core.max.js",
"ember-addons.bs_for_ember/dist/js/bs-alert.max.js",
"ember-addons.bs_for_ember/dist/js/bs-badge.max.js",
"ember-addons.bs_for_ember/dist/js/bs-basic.max.js",
"ember-addons.bs_for_ember/dist/js/bs-button.max.js",
"ember-addons.bs_for_ember/dist/js/bs-growl-notifications.max.js",
"ember-addons.bs_for_ember/dist/js/bs-items-action-bar.max.js",
"ember-addons.bs_for_ember/dist/js/bs-label.max.js",
"ember-addons.bs_for_ember/dist/js/bs-list-group.max.js",
"ember-addons.bs_for_ember/dist/js/bs-modal.max.js",
"ember-addons.bs_for_ember/dist/js/bs-nav.max.js",
"ember-addons.bs_for_ember/dist/js/bs-notifications.max.js",
"ember-addons.bs_for_ember/dist/js/bs-progressbar.max.js",
"ember-addons.bs_for_ember/dist/js/bs-wizard.max.js",
"ember-validations/index.js",
"momentjs/moment.js",
"bootstrap-multiselect/js/bootstrap-multiselect.js",
"bootstrap-datepicker/js/bootstrap-datepicker.js",
"redactor/redactor/redactor.js",
"bootstrap-switch/dist/js/bootstrap-switch.js",
"jquery.scrollTo/jquery.scrollTo.js",
"autoNumeric/autoNumeric.js",
"select2/select2.js"
],
wrapInEval: env !== 'production',
outputFile: '/assets/app.js'
})
// var appCss = compileLess(styles, {paths: ['app.less', 'bootstrap.less', './appkit/includes/'], filename: 'app.css'});
var appCss = compileSass(sourceTrees, "appkit/styles/app.scss", "assets/app.css");
var vendorCss = pickFiles(appAndDependencies, {
srcDir: '/',
files: ['**/*.css'],
destDir: '/assets'
});
if (env === 'production') {
appJs = uglifyJavaScript(appJs, {
// mangle: false,
// compress: false
})
}
var publicFiles = broccoli.makeTree('public');
return [appJs, appCss, vendorCss, publicFiles];
}