github.com/justinjmoses/evergreen@v0.0.0-20170530173719-1d50e381ff0d/public/Gruntfile.js (about)

     1  module.exports = function(grunt) {
     2  
     3    require('load-grunt-tasks')(grunt);
     4      grunt.initConfig({
     5          pkg: grunt.file.readJSON('package.json'),
     6  
     7          babel: {
     8            options: {
     9              sourceMap: true,
    10              plugins: ['transform-react-jsx'],
    11              presets: ['es2015', 'react']
    12            }
    13          },
    14  
    15          react: {
    16            dynamic_mappings: {
    17              files: [{
    18                expand: true,
    19                cwd: 'static/js/jsx',
    20                src: ['**/*.jsx'],
    21                dest: 'static/js',
    22                ext: '.js'
    23              }]
    24            }
    25          },
    26  
    27          watch: {
    28            css: {
    29              files: ['static/less/**'],
    30              tasks: ['css']
    31            },
    32            react: {
    33              files: ['static/js/jsx/**'],
    34              tasks: ['react']
    35            }
    36          },
    37          
    38          less: {
    39              main: {
    40                  options: {
    41                      paths: ['static/less'],
    42                      sourceMap: true,
    43                      sourceMapFilename: 'static/dist/less.map',
    44                      sourceMapURL: '/static/dist/less.map',
    45                      sourceMapRootpath: '../../'
    46                  },
    47                  files: {
    48                      'static/dist/css/styles.css': 'static/less/main.less'
    49                  }
    50              }
    51          },
    52  
    53          cssmin: {
    54              combine: {
    55                  files: {
    56                      'static/dist/css/styles.min.css': 'static/dist/css/styles.css'
    57                  }
    58              }
    59          }
    60      });
    61  
    62      grunt.loadNpmTasks('grunt-contrib-less');
    63      grunt.loadNpmTasks('grunt-contrib-cssmin');
    64      grunt.loadNpmTasks('grunt-contrib-watch');
    65      grunt.loadNpmTasks('grunt-react');
    66  
    67      grunt.registerTask('css', ['less', 'cssmin']);
    68      grunt.registerTask('default', ['css']);
    69  };