UNPKG

tram

Version:

Cross-browser CSS3 transitions in JavaScript

134 lines (121 loc) 3.32 kB
module.exports = function(grunt) { // Config helpers var js = '.js' , distPath = 'dist/' , distFile = distPath + '<%= pkg.name %>' , banner = '/*!\n' + ' * <%= pkg.name %>.js v<%= pkg.version %><%= flag %>\n' + ' * <%= pkg.description %>\n' + ' * <%= pkg.homepage %>\n' + ' * <%= pkg.license %> License\n' + ' */\n' , bannerFlag = function (flag) { return banner.replace('<%= flag %>', flag); } ; // Grunt configuration grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), pjs: grunt.file.readJSON('node_modules/pjs/package.json'), concat: { options: { banner: banner }, global: { options: { banner: bannerFlag('-global') }, src: [ 'support/global/1.js', 'src/p.js', 'src/easing.js', 'src/<%= pkg.name %>.js', 'support/global/2.js' ], dest: distFile + js }, amd: { options: { banner: bannerFlag('-amd') }, src: [ 'support/amd/1.js', 'src/p.js', 'src/easing.js', 'src/<%= pkg.name %>.js', 'support/amd/2.js' ], dest: distFile + '-amd' + js }, commonjs: { options: { banner: bannerFlag('-commonjs') }, src: [ 'support/commonjs/1.js', 'src/p.js', 'src/easing.js', 'src/<%= pkg.name %>.js', 'support/commonjs/2.js' ], dest: distFile + '-cjs' + js }, umd: { options: { banner: bannerFlag('-umd') }, src: [ 'support/umd/1.js', 'src/p.js', 'src/easing.js', 'src/<%= pkg.name %>.js', 'support/umd/2.js' ], dest: distFile + '-umd' + js }, readme: { options: { banner: '<a style="float:right" href="<%= pkg.homepage %>">[view on github]</a> v<%= pkg.version %>\n\n' }, src: ['README.md'], dest: 'index.md' } }, uglify: { options: { banner: bannerFlag('-global'), footer: '\n', mangle: true, report: 'min' }, global: { src: distFile + js, dest: distFile + '-min' + js } }, watch: { scripts: { files: ['src/*.js'], tasks: ['clean', 'concat:global'] } }, markdown: { all: { files: ['index.md'], dest: './', options: { gfm: true, highlight: 'auto' } } } }); // Load the plugin tasks grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-contrib-watch'); grunt.loadNpmTasks('grunt-markdown'); // Default task - trigger global concat and watch for dev. grunt.registerTask('default', ['clean', 'concat:global', 'watch']); // Build task - concat and minify all. grunt.registerTask('build', ['clean', 'concat', 'uglify', 'markdown', 'clean-readme']); // Clean tasks grunt.registerTask('clean', 'Clean dist files.', function () { grunt.file.delete(distPath); grunt.log.ok(); }); grunt.registerTask('clean-readme', 'Clean readme index file.', function () { grunt.file.delete('index.md'); grunt.log.ok(); }); };