text: 'use strict';
  module.exports = function(grunt) {
  
    grunt.initConfig({
      jshint: {
        options: {
          jshintrc: '.jshintrc'
        },
        all: [
          'Gruntfile.js',
          'assets/js/*.js',
          '!assets/js/scripts.min.js'
        ]
      },
      less: {
        dist: {
          files: {
            'assets/css/main.min.css': [
              'assets/less/app.less'
            ]
          },
          options: {
            compress: true,
            // LESS source map
            // To enable, set sourceMap to true and update sourceMapRootpath based on your install
            sourceMap: false,
            sourceMapFilename: 'assets/css/main.min.css.map',
            sourceMapRootpath: '/app/themes/roots/'
          }
        }
      },
      uglify: {
        dist: {
          files: {
            'assets/js/scripts.min.js': [
              'assets/bower_components/bootstrap/js/transition.js',
              'assets/bower_components/bootstrap/js/alert.js',
              'assets/bower_components/bootstrap/js/button.js',
              'assets/bower_components/bootstrap/js/carousel.js',
              'assets/bower_components/bootstrap/js/collapse.js',
              'assets/bower_components/bootstrap/js/dropdown.js',
              'assets/bower_components/bootstrap/js/modal.js',
              'assets/bower_components/bootstrap/js/tooltip.js',
              'assets/bower_components/bootstrap/js/popover.js',
              'assets/bower_components/bootstrap/js/scrollspy.js',
              'assets/bower_components/bootstrap/js/tab.js',
              'assets/bower_components/bootstrap/js/affix.js',
              'assets/bower_components/headroom.js/dist/headroom.js',
              'assets/bower_components/headroom.js/dist/jQuery.headroom.js',
            ]
          },
          options: {
            // JS source map: to enable, uncomment the lines below and update sourceMappingURL based on your install
            // sourceMap: 'assets/js/scripts.min.js.map',
            // sourceMappingURL: '/app/themes/roots/assets/js/scripts.min.js.map'
          }
        }
      },
      version: {
        options: {
          file: 'lib/scripts.php',
          css: 'assets/css/main.min.css',
          cssHandle: 'roots_main',
          js: 'assets/js/scripts.min.js',
          jsHandle: 'roots_scripts'
        }
      },
      watch: {
        less: {
          files: [
            'assets/less/*.less',
            'assets/less/bootstrap/*.less'
          ],
          tasks: ['less', 'version']
        },
        js: {
          files: [
            '<%= jshint.all %>'
          ],
          tasks: ['jshint', 'uglify', 'version']
        },
        livereload: {
          // Browser live reloading
          // https://github.com/gruntjs/grunt-contrib-watch#live-reloading
          options: {
            livereload: false
          },
          files: [
            'assets/css/main.min.css',
            'assets/js/scripts.min.js',
            'templates/*.php',
            '*.php'
          ]
        }
      },
      clean: {
        dist: [
          'assets/css/main.min.css',
          'assets/js/scripts.min.js'
        ]
      }
    });
  
    // Load tasks
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-jshint');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-less');
    grunt.loadNpmTasks('grunt-wp-version');
  
    // Register tasks
    grunt.registerTask('default', [
      'clean',
      'less',
      'uglify',
      'version'
    ]);
    grunt.registerTask('dev', [
      'watch'
    ]);
  
  };
  