Skip to content
Snippets Groups Projects
Gruntfile.js 1.83 KiB
Newer Older
  • Learn to ignore specific revisions
  • Laura Cappelli's avatar
    Laura Cappelli committed
    module.exports = function(grunt) {
      grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'), // the package file to use
     
        uglify: {
          files: {
            expand: true, 
            flatten: true, 
            src: 'src/js/*.js',
            dest: 'dist',
            ext: '.min.js'
          }
        },
    
        cssmin: {
          minify: {
            expand: true,
            cwd: 'src/css',
            src: ['*.css', '!*.min.css'],
            dest: 'dist',
            ext: '.min.css'
          }
        },
    
        qunit: {
            all: ['tests/*.html']
        },
    
        watch: {
          files: ['tests/*.js', 'tests/*.html', 'src/**'],
          tasks: ['default']
        },
    
        copy: {
          main: { 
            files: [
              // copy dist to tests
              // { expand: true, cwd: 'dist', src: '*', dest: 'tests/lib/' },
              { expand: true, cwd: 'src/css', src: '*', dest: 'tests/lib/' },
              { expand: true, cwd: 'src/js', src: '*', dest: 'tests/lib/' },
              // copy latest libs to tests
              { expand: true, cwd: 'public/bower_components/jquery', src: 'jquery.js', dest: 'tests/lib/' },
              { expand: true, cwd: 'public/bower_components/bootstrap-datepicker/js', src: 'bootstrap-datepicker.js', dest: 'tests/lib/' },
              // copy src to example
              { expand: true, cwd: 'src/css', src: '*', dest: 'public/css/' },
              { expand: true, cwd: 'src/js', src: '*', dest: 'public/js/' }
            ]
          }
        }
      });
    
      // load up your plugins
      grunt.loadNpmTasks('grunt-contrib-uglify');
      grunt.loadNpmTasks('grunt-contrib-cssmin');
      grunt.loadNpmTasks('grunt-contrib-qunit');
      grunt.loadNpmTasks('grunt-contrib-watch');
      grunt.loadNpmTasks('grunt-contrib-copy');
    
      // register one or more task lists (you should ALWAYS have a "default" task list)
      grunt.registerTask('default', ['uglify','cssmin', 'copy', 'qunit', 'watch']);
      grunt.registerTask('test', 'qunit');
    };