UNPKG

responsivewebframework

Version:

Jalasoft Foundation Front End Framework ========================================

282 lines (246 loc) 7.44 kB
/*global module:false */ module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), clean: { deep: { src: [ 'dist/*', 'dist', 'src/css/*', '!src/js/jquery-2.1.1.min.js', '.tmp', '*.log' ] }, afterMinify: { src: [ 'dist' ] }, showcase: { src: [ '../frontend-showcase/dist/*', '../frontend-showcase/dist/', '.tmp', '*.log' ] }, frameworkAngular: { src: [ '../front-end-angularjs/dist/*', '../front-end-angularjs/dist/', '.tmp', '*.log' ] }, jalaIcons: { src: [ 'src/css/jala-icons.css' ] } }, concat: { options: { separator: '\n\n' }, dist: { src: [ 'src/js/system-controller.jsx', 'src/js/*.js' ], dest: 'dist/js/frontend-framework.js' } }, copy: { dist: { files: [{ expand: true, dot: true, cwd: 'src/', dest: 'dist/', src: [ '*', 'fonts/**', 'img/**', 'js/jquery-2.1.1.min.js' ], filter: 'isFile' }] }, showcase: { files: [{ expand: true, dot: true, cwd: 'dist/', dest: '../frontend-showcase/dist/', src: [ '*', 'fonts/**', 'img/**', 'css/**', 'js/**', 'js/jquery-2.1.1.min.js' ], filter: 'isFile' }] }, frameworkAngular: { files: [{ expand: true, dot: true, cwd: 'dist/', dest: '../front-end-angularjs/dist/', src: [ '*', 'css/**', 'js/**' ], filter: 'isFile' }] } }, less: { css: { options: { paths: 'src/less' }, files: [ { expand: true, cwd: 'src/less', src: ['responsive-web-framework.less'], dest: 'src/css/', ext: '.css' } ] } }, cssmin: { css:{ options: { banner: '/*!\n' + ' * Jala Fundation Frontend Framework v<%= pkg.version %> \n' + ' * Copyright <%= grunt.template.today("yyyy") %>, <%= grunt.template.today("yyyy-mm-dd") %> ' + new Date().getTime() + ' \n' + ' * Author: <%= pkg.author %>\n' + ' */\n' }, files: { 'dist/css/frontend-framework.min.css': ['src/css/**/*.css', '!src/css/jala-icons.css'] } } }, uglify: { options: { banner: '/*!\n' + ' * Jala Fundation FrontEnd Framework v<%= pkg.version %> \n' + ' * Copyright <%= grunt.template.today("yyyy") %>, <%= grunt.template.today("yyyy-mm-dd") %> \n' + ' * Author: <%= pkg.author %>\n' + ' */\n' }, build: { src: ['dist/js/frontend-framework.js','!src/js/jquery-2.1.1.min.js'], dest: 'dist/js/frontend-framework.min.js' } }, jshint: { options: { camelcase: true, curly: true, eqeqeq: true, forin: true, immed: true, indent: 4, latedef: true, newcap: true, noarg: true, nonew: true, quotmark: 'single', undef: true, unused: true, maxparams: 4, maxdepth: 4, maxlen: 120, browser: true, sub: true, eqnull: true }, gruntfile: { src: 'Gruntfile.js' }, test: { src: ['src/**/*.js','!src/js/jquery-2.1.1.min.js'] } }, watch: { less:{ files: ['src/**/*.less'], tasks: ['clean:deep', 'clean:showcase', 'concat', 'uglify', 'less', 'cssmin', 'copy:dist', 'copy:showcase'] }, js:{ files: ['src/**/*.js', '!src/js/jquery-2.1.1.min.js'], tasks: ['clean:deep', 'clean:showcase', 'concat', 'uglify', 'less', 'cssmin', 'copy:dist', 'copy:showcase'] }, html:{ files: ['src/**/*.html'], tasks: ['clean:deep', 'clean:showcase', 'concat', 'uglify', 'less', 'cssmin', 'copy:dist', 'copy:showcase'] } }, webfont: { icon: { src: 'src/icons/*.svg', dest: 'src/fonts', destCss: 'src/css/', options: { font: 'jala-icons', startCodepoint: 0xD406, htmlDemo: false, hashes: false } } }, 'release-component': { options: { componentRepo: 'git@172.20.8.18:web-module/frontend-dist.git', copy: { 'dist/css/frontend-framework.min.css' : 'css/frontend-framework.min.css' } } } }); [ 'grunt-contrib-jshint', 'grunt-contrib-watch', 'grunt-contrib-clean', 'grunt-contrib-copy', 'grunt-contrib-concat', 'grunt-contrib-uglify', 'grunt-contrib-cssmin', 'grunt-contrib-less', 'grunt-webfont', 'grunt-release-component' ].forEach(function(task) { grunt.loadNpmTasks(task); }); grunt.registerTask('build', [ 'clean:deep', 'less', 'cssmin', 'concat', 'uglify', 'copy:dist' ]); grunt.registerTask('dev', [ 'clean:deep', 'clean:showcase', 'clean:frameworkAngular', 'less', 'cssmin', 'concat', 'uglify', 'copy:dist', 'copy:showcase', 'copy:frameworkAngular', 'watch' ]); grunt.registerTask('fontDev', ['webfont', 'clean:jalaIcons']); };