PHP Classes

File: assets/gallerytypes/justifiedgallery/Gruntfile.js

Recommend this page to a friend!
  Classes of Goffy G  >  wgGallery  >  assets/gallerytypes/justifiedgallery/Gruntfile.js  >  Download  
File: assets/gallerytypes/justifiedgallery/Gruntfile.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: wgGallery
Image gallery module for XOOPS CMS
Author: By
Last change:
Date: 1 year ago
Size: 4,429 bytes
 

Contents

Class file image Download
'use strict';

module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    
    // Metadata.
    pkg: grunt.file.readJSON('package.json'),
    banner: '/*!\n' +
      ' * <%= pkg.title || pkg.name %> - v<%= pkg.version %>\n' +
      '<%= pkg.homepage ? " * " + pkg.homepage + "\\n" : "" %>' +
      ' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>\n' +
      ' * Licensed under the <%= pkg.license %> license.\n' +
      ' */\n',

    // Task configuration.
    clean: {
      files: ['dist']
    },

    // Copy the src files to the dist files, also appending the banner
    concat: {
      main: {
        options: {
          banner: '<%= banner %>',
          stripBanners: true
        },
        files: {
          'dist/js/jquery.<%= pkg.name %>.js': ['src/js/jquery.<%= pkg.name %>.js'],
          'dist/css/<%= pkg.name %>.css': ['dist/css/<%= pkg.name %>.css'],
          'dist/css/<%= pkg.name %>.min.css': ['dist/css/<%= pkg.name %>.min.css']
        }
      }
    },

    replace: {
      main: {
        src: ['dist/js/jquery.<%= pkg.name %>.js'],
        dest: 'dist/js/jquery.<%= pkg.name %>.js',
        replacements: [{
          from: /\/\/JG-CONTROLLER((.|\n)*)\/\/END JG-CONTROLLER/m,
          to: '<%= grunt.file.read("src/js/" + pkg.name + ".js").replace(/\\/\\*[\\s\\S]*?\\*\\/(\\n|\\s)*/, "").replace(/\\n/g, "\\n  ") %>'
        }]
      }
    },

    uglify: {
      options: {
        banner: '<%= banner %>'
      },
      dist: {
        src: ['dist/js/jquery.<%= pkg.name %>.js'],
        dest: 'dist/js/jquery.<%= pkg.name %>.min.js'
      }
    },

    jshint: {
      src: {
        options: {
          jshintrc: 'src/.jshintrc'
        },
        src: ['src/js/*.js']
      }
    },

    less: {
      development: {
        options: {
          paths: ["src/less"]
        },
        files: {
          'dist/css/<%= pkg.name %>.css': ['src/less/<%= pkg.name %>.less']
        }
      },
      production: {
        options: {
          cleancss: true,
          report: 'min'
        },
        files: {
          'dist/css/<%= pkg.name %>.min.css': ['dist/css/<%= pkg.name %>.css']
        }
      }
    },

    csslint: {
      options: {
        csslintrc: 'src/less/.csslintrc'
      },
      src: [
        'dist/css/*.css'
      ]
    },

    // compress the zip with the distribution, to allow fast downloads from GitHub
    compress: {
      main: {
        options: {
          archive: 'dist/<%= pkg.name %>.zip'
        },
        files: [
          {
            expand: true,
            cwd: 'dist/css/',
            src: ['<%= pkg.name %>.css'],
            dest: '/'
          },
          {
            expand: true,
            cwd: 'dist/js/',
            src: ['jquery.<%= pkg.name %>.js'],
            dest: '/'
          }
        ]
      },
      minified: {
        options: {
          archive: 'dist/<%= pkg.name %>.min.zip'
        },
        files: [
          {
            expand: true,
            cwd: 'dist/css/',
            src: ['<%= pkg.name %>.min.css'],
            dest: '/'
          },
          {
            expand: true,
            cwd: 'dist/js/',
            src: ['jquery.<%= pkg.name %>.min.js'],
            dest: '/'
          }
        ]
      }
    },

    // Task to update the dependencies in the test HTMLs, to use when new tests have been added
    wiredep: {
      target: {
        devDependencies: true,
        includeSelf: true,
        src: ['test/main/*.html', 'test/related/*.html'],
        exclude: [ 'bower_components/requirejs' ],
        overrides: {
          "swipebox": {
            "main": ["src/js/jquery.swipebox.min.js", "src/css/swipebox.min.css"]
          },
          "colorbox": { 
            "main": ["jquery.colorbox.js", "example1/colorbox.css"]
          }

        }
      }
    },

    publish: {
      main: {
        options: {
            ignore: [
              'node_modules', 
              'bower_components'
            ]
        },
        src: ['./']
      }
    }

  });

  // These plugins provide necessary tasks.
  require('load-grunt-tasks')(grunt);

  // Default task (release mode)
  grunt.registerTask('default', ['jshint', 'less', 'csslint', 'concat', 'replace', 'uglify', 'compress']);

  // Debug mode (when the library is needed to be compiled only for the tests)
  grunt.registerTask('debug', ['less', 'concat']);


};
For more information send a message to info at phpclasses dot org.