%PDF- %PDF-
Direktori : /home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/isotope/ |
Current File : /home/tjamichg/intranet.tjamich.gob.mx/intranet/common/vendors/isotope/Gruntfile.js |
/*jshint node: true, strict: false */ // -------------------------- grunt -------------------------- // module.exports = function (grunt) { var banner = (function () { var src = grunt.file.read('js/isotope.js'); var re = new RegExp('^\\s*(?:\\/\\*[\\s\\S]*?\\*\\/)\\s*'); var matches = src.match(re); var banner = matches[0].replace('Isotope', 'Isotope PACKAGED'); return banner; })(); grunt.initConfig({ // ----- global settings ----- // namespace: 'isotope', dataDir: 'tasks/data', // ----- tasks settings ----- // jshint: { docs: [ 'js/**/*.js' ], options: grunt.file.readJSON('.jshintrc') }, requirejs: { pkgd: { options: { baseUrl: 'bower_components', include: [ 'jquery-bridget/jquery.bridget', 'isotope/js/isotope' ], out: 'dist/isotope.pkgd.js', optimize: 'none', paths: { isotope: '../', jquery: 'empty:' }, wrap: { start: banner } } } }, uglify: { pkgd: { files: { 'dist/isotope.pkgd.min.js': [ 'dist/isotope.pkgd.js' ] }, options: { banner: banner } } } }); grunt.loadNpmTasks('grunt-contrib-jshint'); grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-requirejs'); grunt.registerTask('pkgd-edit', function () { var outFile = grunt.config.get('requirejs.pkgd.options.out'); var contents = grunt.file.read(outFile); // get requireJS definition code var definitionRE = /define\(\s*'isotope\/js\/isotope'(.|\n)+isotopeDefinition\s*\)/; var definition = contents.match(definitionRE)[0]; // remove name module var fixDefinition = definition.replace("'isotope/js/isotope',", '') // ./item -> isotope/js/item .replace(/'.\//g, "'isotope/js/"); contents = contents.replace(definition, fixDefinition); grunt.file.write(outFile, contents); grunt.log.writeln('Edited ' + outFile); }); grunt.registerTask('default', [ 'jshint', 'requirejs', 'pkgd-edit', 'uglify' ]); };