mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2024-12-11 22:24:21 +01:00
155 lines
3.4 KiB
JavaScript
155 lines
3.4 KiB
JavaScript
'use strict';
|
|
|
|
module.exports = function(grunt) {
|
|
|
|
// Configurable paths
|
|
var yoConfig = {
|
|
livereload: 35729,
|
|
src: 'src',
|
|
dist: 'dist'
|
|
};
|
|
|
|
// Livereload setup
|
|
var lrSnippet = require('connect-livereload')({port: yoConfig.livereload});
|
|
var mountFolder = function (connect, dir) {
|
|
return connect.static(require('path').resolve(dir));
|
|
};
|
|
|
|
// Load all grunt tasks
|
|
require('load-grunt-tasks')(grunt, {scope: 'devDependencies'});
|
|
|
|
// Project configuration
|
|
grunt.initConfig({
|
|
pkg: grunt.file.readJSON('package.json'),
|
|
yo: yoConfig,
|
|
meta: {
|
|
banner: '/**\n' +
|
|
' * <%= pkg.name %>\n' +
|
|
' * @version v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\n' +
|
|
' * @link <%= pkg.homepage %>\n' +
|
|
' * @author <%= pkg.author.name %> <<%= pkg.author.email %>>\n' +
|
|
' * @license MIT License, http://www.opensource.org/licenses/MIT\n' +
|
|
' */\n'
|
|
},
|
|
open: {
|
|
server: {
|
|
path: 'http://localhost:<%= connect.options.port %>'
|
|
}
|
|
},
|
|
clean: {
|
|
dist: {
|
|
files: [{
|
|
dot: true,
|
|
src: [
|
|
'.tmp',
|
|
'<%= yo.dist %>/*',
|
|
'!<%= yo.dist %>/.git*'
|
|
]
|
|
}]
|
|
},
|
|
server: '.tmp'
|
|
},
|
|
watch: {
|
|
gruntfile: {
|
|
files: '<%= jshint.gruntfile.src %>',
|
|
tasks: ['jshint:gruntfile']
|
|
},
|
|
app: {
|
|
files: [
|
|
'<%= yo.src %>/{,*/}*.html',
|
|
'{.tmp,<%= yo.src %>}/{,*/}*.css',
|
|
'{.tmp,<%= yo.src %>}/{,*/}*.js'
|
|
],
|
|
tasks: ['concat'],
|
|
options: {
|
|
livereload: yoConfig.livereload
|
|
}
|
|
}
|
|
},
|
|
connect: {
|
|
options: {
|
|
port: 9000,
|
|
hostname: '0.0.0.0' // Change this to '0.0.0.0' to access the server from outside.
|
|
},
|
|
livereload: {
|
|
options: {
|
|
middleware: function (connect) {
|
|
return [
|
|
lrSnippet,
|
|
mountFolder(connect, '.tmp'),
|
|
mountFolder(connect, yoConfig.src)
|
|
];
|
|
}
|
|
}
|
|
}
|
|
},
|
|
less: {
|
|
options: {
|
|
// dumpLineNumbers: 'all',
|
|
paths: ['<%= yo.src %>']
|
|
},
|
|
dist: {
|
|
files: {
|
|
'<%= yo.src %>/<%= yo.name %>.css': '<%= yo.src %>/<%= yo.name %>.less'
|
|
}
|
|
}
|
|
},
|
|
jshint: {
|
|
gruntfile: {
|
|
options: {
|
|
jshintrc: '.jshintrc'
|
|
},
|
|
src: 'Gruntfile.js'
|
|
},
|
|
src: {
|
|
options: {
|
|
jshintrc: '.jshintrc'
|
|
},
|
|
src: ['<%= yo.src %>/{,*/}*.js']
|
|
}
|
|
},
|
|
ngAnnotate: {
|
|
options: {
|
|
banner: '<%= meta.banner %>'
|
|
},
|
|
dist: {
|
|
src: ['<%= yo.src %>/<%= pkg.name %>.js'],
|
|
dest: '<%= yo.dist %>/<%= pkg.name %>.js'
|
|
}
|
|
// dist: {
|
|
// files: {
|
|
// '/.js': '/.js'
|
|
// }
|
|
// }
|
|
},
|
|
concat: {
|
|
options: {
|
|
banner: '<%= meta.banner %>',
|
|
stripBanners: true
|
|
},
|
|
dist: {
|
|
src: ['<%= yo.src %>/<%= pkg.name %>.js'],
|
|
dest: '<%= yo.dist %>/<%= pkg.name %>.js'
|
|
}
|
|
},
|
|
uglify: {
|
|
options: {
|
|
banner: '<%= meta.banner %>'
|
|
},
|
|
dist: {
|
|
src: '<%= concat.dist.dest %>',
|
|
dest: '<%= yo.dist %>/<%= pkg.name %>.min.js'
|
|
}
|
|
}
|
|
});
|
|
|
|
grunt.registerTask('build', [
|
|
'clean:dist',
|
|
'ngAnnotate:dist',
|
|
'uglify:dist'
|
|
]);
|
|
|
|
grunt.registerTask('default', ['build']);
|
|
|
|
};
|