forked from sinfo/dev-challenge
-
Notifications
You must be signed in to change notification settings - Fork 0
/
moonbootsConfig.js
68 lines (66 loc) · 2.98 KB
/
moonbootsConfig.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
var config = require('./config');
var stylizer = require('stylizer');
var templatizer = require('templatizer');
// for reuse
var appDir = __dirname + '/client/js';
var cssDir = __dirname + '/client/css';
var templatesDir = __dirname + '/client/templates';
module.exports = {
// Tell the Hapi server what URLs the application should be served from.
// Since we're doing clientside routing we want to serve this from some type
// of wildcard url.
// examples:
// '/{p*}' - match everything that isn't matched by something more specific
// '/dashboard/{p*}' - serve the app at all routes starting with '/dashboard'
appPath: '/{p*}',
// The moonboots config
moonboots: {
// The base name of the javascript file served in the <script src="the_name.*.js">
jsFileName: 'challenge',
// The base name of the css file served in the <link rel="stylesheet" src="the_name.*.css">
cssFileName: 'challenge',
main: appDir + '/app.js',
developmentMode: config.isDev,
// Specify any non-commonjs libraries we wish to include.
// You can think of this as your list of <script> tags in your HTML.
// These will simply be included before any of your application code in the
// order you provide them. So for example, if you're using jQuery make sure
// you list any plugins after jQuery itself.
libraries: [
],
// Specify the stylesheets we want to bundle
stylesheets: [
cssDir + '/vendor/ink.css',
cssDir + '/app.css'
],
beforeBuildJS: function () {
// This re-builds our template files from jade each time the app's main
// js file is requested. Which means you can seamlessly change jade and
// refresh in your browser to get new templates.
if (config.isDev) {
templatizer(templatesDir, appDir + '/templates.js');
}
},
beforeBuildCSS: function (done) {
// We only want to do this in dev mode. If it's not in dev mode, this
// function will only be run once.
if (!config.isDev) {
done();
return;
}
// Re-compile stylus to css each time the app's main css file is requested.
// In addition there's a "watch" option that will make stylizer also be able
// to talk to livereaload (http://livereload.com/) browser plugins for sneakily
// refreshing styles without waiting for you to refresh or running/configuring
// the live reload app.
stylizer({
infile: cssDir + '/app.styl',
outfile: cssDir + '/app.css',
development: config.isDev,
// Beware there's an issue with watch on OSX that causes issues with
// watch if you're not running node 0.10.25 or later.
watch: cssDir + '/**/*.styl'
}, done);
}
}
};