-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathBrocfile.js
60 lines (49 loc) · 1.52 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
var compileES6 = require('broccoli-babel-transpiler'),
concat = require('broccoli-concat'),
MergeTrees = require('broccoli-merge-trees'),
Funnel = require('broccoli-funnel'),
compileLess = require('broccoli-less-single'),
WatchedDir = require('broccoli-source').WatchedDir,
UnwatchedDir = require('broccoli-source').UnwatchedDir,
sourceTree = 'src',
js, jsVendor, index, assets;
jsVendor = new MergeTrees([
new UnwatchedDir('bower_components'),
new UnwatchedDir('lib')
]);
jsVendor = concat(jsVendor, {
inputFiles: [
// bower
'seedrandom/seedrandom.js',
'jquery/dist/jquery.js',
'rsvp/rsvp.js',
'javascript-state-machine/state-machine.js',
'pixi.js/bin/pixi.js',
'stats.js/build/stats.min.js',
// vendor
// glue
'requirejs/require.js'
],
outputFile: '/assets/vendor.js',
});
js = compileES6(new WatchedDir(sourceTree), {
browserPolyfill: true,
plugins: ['babel-plugin-transform-es2015-modules-amd'],
presets: ['babel-preset-stage-0'],
moduleIds: true
});
js = concat(js, {
outputFile: '/assets/wizard.js',
inputFiles: ['**/*.js']
});
css = compileLess([sourceTree], 'game/ui/less/base.less', '/assets/wizard.css');
index = new Funnel(sourceTree + '/game', {
srcDir: '',
files: ['index.html', 'player-options.json'],
destDir: ''
});
assets = new Funnel('.', {
srcDir: 'assets',
destDir: '/assets'
});
module.exports = new MergeTrees([index, css, jsVendor, js, assets]);