late-images
Version:
Lightweight javascript library to lazy load images as enter viewport
107 lines (93 loc) • 2.91 kB
JavaScript
module.exports = function(grunt) {
grunt.initConfig({
npmPackage: grunt.file.readJSON('package.json'),
bowerPackage: grunt.file.readJSON('bower.json'),
uglify: {
min: {
files: [{
expand: true,
cwd: 'src',
src: '**/*.js',
dest: 'dist',
ext: '.min.js'
}]
}
},
copy: {
jsFiles: {
files: [{
expand: true,
cwd: 'src',
src: ['**/*.js'],
dest: 'dist'
}]
}
},
eslint: {
options: {
configFile: '.eslintrc.js'
},
target: ['src/**/*.js', 'Gruntfile.js', 'test/index.js']
},
concat: {
bundle: {
src: [
'node_modules/when-in-viewport/dist/whenInViewport.js',
'dist/lateImages.js'
],
dest: 'dist/lateImages.bundle.js'
},
bundleMin: {
src: [
'node_modules/when-in-viewport/dist/whenInViewport.min.js',
'dist/lateImages.min.js'
],
dest: 'dist/lateImages.bundle.min.js'
}
},
watch: {
jsFiles: {
expand: true,
files: ['src/**/*.js'],
tasks: ['eslint', 'uglify', 'copy', 'concat'],
options: {
spawn: false
}
},
demoFiles: {
expand: true,
files: ['demo/**/*.html'],
tasks: ['includereplace'],
options: {
spawn: false
}
}
},
bump: {
options: {
files: ['package.json', 'bower.json'],
commitFiles: ['package.json', 'bower.json'],
tagName: '%VERSION%',
push: false
}
},
includereplace: {
dist: {
options: {
globals: {
repositoryUrl: '<%= npmPackage.repository.url %>',
npmRepositoryName: '<%= npmPackage.name %>',
bowerRepositoryName: '<%= bowerPackage.name %>'
},
prefix: '{{ ',
suffix: ' }}'
},
src: 'demo/index.html',
dest: 'index.html'
}
}
});
require('load-grunt-tasks')(grunt);
grunt.registerTask('default', ['build', 'watch']);
grunt.registerTask('build', ['eslint', 'uglify', 'copy', 'concat', 'includereplace']);
};