diff options
Diffstat (limited to 'www/lib/angular-tooltips/Gruntfile.js')
| -rw-r--r-- | www/lib/angular-tooltips/Gruntfile.js | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/www/lib/angular-tooltips/Gruntfile.js b/www/lib/angular-tooltips/Gruntfile.js new file mode 100644 index 00000000..4271aa1b --- /dev/null +++ b/www/lib/angular-tooltips/Gruntfile.js @@ -0,0 +1,157 @@ +/*global module, require*/ +(function setUp(module, require) { + 'use strict'; + + var banner = ['/*!', + ' * Angular Tooltips v<%= pkg.version %>', + ' *', + ' * Released under the MIT license', + ' * www.opensource.org/licenses/MIT', + ' *', + ' * Brought to you by 720kb.net', + ' *', + ' * <%= grunt.template.today("yyyy-mm-dd") %>', + ' */\n\n'].join('\n') + , modRewrite = require('connect-modrewrite'); + + module.exports = function doGrunt(grunt) { + + grunt.initConfig({ + 'pkg': grunt.file.readJSON('package.json'), + 'confs': { + 'dist': 'dist', + 'config': 'config', + 'css': 'src/css', + 'js': 'src/js', + 'serverPort': 8000 + }, + 'csslint': { + 'options': { + 'csslintrc': '<%= confs.config %>/csslintrc.json' + }, + 'strict': { + 'src': [ + '<%= confs.css %>/**/*.css' + ] + } + }, + 'eslint': { + 'options': { + 'config': '<%= confs.config %>/eslint.json' + }, + 'target': [ + 'Gruntfile.js', + '<%= confs.js %>/**/*.js' + ] + }, + 'uglify': { + 'options': { + 'sourceMap': true, + 'sourceMapName': '<%= confs.dist %>/angular-tooltips.sourcemap.map', + 'preserveComments': false, + 'report': 'gzip', + 'banner': banner + }, + 'minifyTarget': { + 'files': { + '<%= confs.dist %>/angular-tooltips.min.js': [ + '<%= confs.js %>/angular-tooltips.js' + ] + } + } + }, + 'cssmin': { + 'options': { + 'report': 'gzip', + 'banner': banner + }, + 'minifyTarget': { + 'files': { + '<%= confs.dist %>/angular-tooltips.min.css': [ + '<%= confs.css %>/angular-tooltips.css' + ] + } + } + }, + 'connect': { + 'server': { + 'options': { + 'port': '<%= confs.serverPort %>', + 'base': '.', + 'keepalive': true, + 'middleware': function manageMiddlewares(connect, options) { + var middlewares = [] + , directory = options.directory || options.base[options.base.length - 1]; + + // enable Angular's HTML5 mode + middlewares.push(modRewrite(['!\\.html|\\.js|\\.svg|\\.css|\\.png|\\.gif$ /index.html [L]'])); + + if (!Array.isArray(options.base)) { + options.base = [options.base]; + } + options.base.forEach(function forEachOption(base) { + // Serve static files. + middlewares.push(connect.static(base)); + }); + + // Make directory browse-able. + middlewares.push(connect.directory(directory)); + + return middlewares; + } + } + } + }, + 'watch': { + 'dev': { + 'files': [ + 'Gruntfile.js', + '<%= confs.css %>/**/*.css', + '<%= confs.js %>/**/*.js' + ], + 'tasks': [ + 'csslint', + 'eslint' + ], + 'options': { + 'spawn': false + } + } + }, + 'concurrent': { + 'dev': { + 'tasks': [ + 'connect:server', + 'watch:dev' + ], + 'options': { + 'limit': '<%= concurrent.dev.tasks.length %>', + 'logConcurrentOutput': true + } + } + } + }); + + grunt.loadNpmTasks('grunt-contrib-csslint'); + grunt.loadNpmTasks('grunt-eslint'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-cssmin'); + + grunt.loadNpmTasks('grunt-concurrent'); + grunt.loadNpmTasks('grunt-contrib-connect'); + grunt.loadNpmTasks('grunt-contrib-watch'); + + grunt.registerTask('default', [ + 'csslint', + 'eslint', + 'concurrent:dev' + ]); + + grunt.registerTask('prod', [ + 'csslint', + 'eslint', + 'cssmin', + 'uglify' + ]); + }; +}(module, require)); |
