1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-11 22:24:21 +01:00
fab-manager/vendor/assets/components/angular-medium-editor/Gruntfile.js
2016-03-23 18:39:41 +01:00

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']);
};