UNPKG

jscow-application-environment

Version:

jsCow - Application Environment - Javascript Component Framework

211 lines (197 loc) 4.52 kB
module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), clean: { clean: [ "dist" ] }, less: { production: { options: { cleancss: true, compress: true, sourceMap: true, sourceMapFilename: "dist/css/theme-min.css.map", sourceMapBasepath: "dist/css" }, files: { "dist/css/theme-min.css": ["dist/css/less/theme.less"] } } }, copy: { main: { files: [ { expand: true, //dot: true, cwd: 'src/less', src: ['**'], dest: 'dist/css/less' }, { expand: true, cwd: 'src/', src: ['index.html'], dest: 'dist' }, { expand: true, cwd: 'node_modules/jquery/dist', src: ['jquery.min.js'], dest: 'dist/js/jquery' }, { expand: true, cwd: 'node_modules/font-awesome', src: ['fonts/**'], dest: 'dist' }, { expand: true, cwd: 'node_modules/bootstrap/less', src: ['**'], dest: 'dist/css/less/bootstrap' }, { expand: true, cwd: 'node_modules/font-awesome/less', src: ['**'], dest: 'dist/css/less/font-awesome' }, { expand: true, cwd: 'node_modules/jscow-theme/dist/css/less', src: ['**'], dest: 'dist/css/less' }, grunt.file.expand(['node_modules/jscow-*/src/less']).map(function(cwd) { return [ { expand: true, cwd: cwd, src: ["**"], dest: "dist/css/less" } ]; }) ] } }, concat: { options: { separator: ';', }, dist: { src: [ 'node_modules/jscow/dist/jscow/jscow.min.js', 'node_modules/jscow-*/src/jscow/components/*.js', 'node_modules/jscow-*/dist/jscow/components/*.min.js', 'src/jscow/components/*.js', ], dest: 'dist/js/jscow/jscow.min.js' } }, uglify: { options: { mangle: { except: ['jQuery'] } }, my_target: { options: { mangle: false }, files: [ { 'dist/js/app/app.min.js': ['src/app/app.js'], 'dist/js/jscow/jscow.min.js': ['dist/js/jscow/jscow.min.js'] } ] } }, jshint: { options: { curly: true, eqeqeq: true, eqnull: true, browser: true, maxparams: 4, notypeof: true, globals: { jQuery: true } }, all: ['src/jscow/**/*.js'] }, watch: { options: { livereload: true, }, css: { files: [ 'src/**/*.less', 'src/**/*.js' ], tasks: [ 'clean', 'jshint', 'copy', 'less', 'concat', 'uglify' /*,yuidoc'*/ ], } }, jshint: { options: { curly: true, eqeqeq: true, eqnull: true, browser: true, maxparams: 4, notypeof: true, globals: { jQuery: true } }, all: [ 'src/app/**/*.js', 'src/jscow/**/*.js' ] }, yuidoc: { compile: { name: '<%= pkg.name %>', description: '<%= pkg.description %>', version: '<%= pkg.version %>', url: '<%= pkg.homepage %>', options: { paths: 'src/jscow/components/', //themedir: 'path/to/custom/theme/', outdir: 'docs/' } } } }); grunt.loadNpmTasks('grunt-contrib-clean'); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-less'); grunt.loadNpmTasks('grunt-contrib-copy'); grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-contrib-yuidoc'); // Default task(s). grunt.registerTask('default', [ 'clean', 'jshint', 'copy', 'less', 'concat', 'uglify' /*,'yuidoc'*/ ]); }