Updated readme
[interactive-pacbot.git] / Gruntfile.js
1 // Generated on 2014-03-28 using generator-phaser-official 0.0.8-rc-2
2 'use strict';
3 var _ = require('underscore');
4 _.str = require('underscore.string');
5
6 // Mix in non-conflict functions to Underscore namespace if you want
7 _.mixin(_.str.exports());
8
9 var LIVERELOAD_PORT = 35729;
10 var lrSnippet = require('connect-livereload')({port: LIVERELOAD_PORT});
11 var mountFolder = function (connect, dir) {
12   return connect.static(require('path').resolve(dir));
13 };
14  
15 module.exports = function (grunt) {
16   // load all grunt tasks
17   require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
18  
19   grunt.initConfig({
20     watch: {
21       scripts: {
22         files: [
23             'game/**/*.js',
24             '!game/main.js'
25         ],
26         options: {
27           spawn: false,
28           livereload: LIVERELOAD_PORT
29         },
30         tasks: ['build']
31       }
32     },
33     connect: {
34       options: {
35         port: 9000,
36         // change this to '0.0.0.0' to access the server from outside
37         hostname: 'localhost'
38       },
39       livereload: {
40         options: {
41           middleware: function (connect) {
42             return [
43               lrSnippet,
44               mountFolder(connect, 'dist')
45             ];
46           }
47         }
48       }
49     },
50     open: {
51       server: {
52         path: 'http://localhost:9000'
53       }
54     },
55     copy: {
56       dist: {
57         files: [
58           { expand: true, src: ['assets/**'], dest: 'dist/' },
59           { expand: true, flatten: true, src: ['vendor/*.js'], dest: 'dist/js/' },
60           { expand: true, src: ['css/**'], dest: 'dist/' },
61           { expand: true, src: ['index.html'], dest: 'dist/' }
62         ]
63       }
64     },
65     browserify: {
66       build: {
67         src: ['game/main.js'],
68         dest: 'dist/js/game.js'
69       }
70     }
71   });
72   
73   grunt.registerTask('build', ['browserify','copy']);
74   grunt.registerTask('serve', ['build', 'connect:livereload', 'open', 'watch']);
75   grunt.registerTask('default', ['serve']);
76 };