-
Notifications
You must be signed in to change notification settings - Fork 1
/
Brocfile.js
62 lines (49 loc) · 1.42 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
const Merge = require('broccoli-merge-trees');
const Sass = require('broccoli-sass-source-maps');
const LiveReload = require('broccoli-inject-livereload');
const Funnel = require('broccoli-funnel');
const Babel = require('broccoli-babel-transpiler');
const Concat = require('broccoli-sourcemap-concat');
const rename = require('broccoli-stew').rename;
const pubFiles = new LiveReload('public');
const stylePaths = [
'styles',
'node_modules/normalize-css',
'node_modules/font-awesome/scss',
'node_modules/yoga-sass/assets',
];
const vendorFileNames = [
'loader.js',
];
const vendorFolder = new Merge([
'node_modules/loader.js/lib/loader/',
], {overwrite: true});
const vendorFiles = new Funnel(vendorFolder, {
files: vendorFileNames,
});
const vendor = Concat(vendorFiles, {
inputFiles: vendorFileNames,
outputFile: '/vendor.js',
});
const styles = new Sass(stylePaths, 'app.scss', 'app.css', {});
const babelScript = Babel('src', {
browserPolyfill: true,
stage: 0,
moduleIds: true,
modules: 'amd',
});
const appScript = Concat(babelScript, {
inputFiles: [
'**/*.js',
],
outputFile: '/app.js',
});
const testTree = rename('tests', 'index.html', 'test.html');
const testJs = Concat(testTree, {
inputFiles: ['**/*.js'],
outputFile: '/tests.js',
});
const testHTML = new Funnel(testTree, {
files: ['test.html'],
});
module.exports = new Merge([pubFiles, styles, appScript, vendor, testJs, testHTML]);