UNPKG

2.26 kBJavaScriptView Raw
1/*jshint node: true, strict: false */
2
3// -------------------------- grunt -------------------------- //
4
5module.exports = function( grunt ) {
6
7 var mainFile = grunt.file.readJSON('bower.json').main;
8
9 var banner = ( function() {
10 var src = grunt.file.read( mainFile );
11 var re = new RegExp('^\\s*(?:\\/\\*[\\s\\S]*?\\*\\/)\\s*');
12 var matches = src.match( re );
13 var banner = matches[0].replace( 'Packery layout mode', 'Packery layout mode PACKAGED' );
14 return banner;
15 })();
16
17 grunt.initConfig({
18 // ----- global settings ----- //
19 namespace: 'isotope',
20 dataDir: 'tasks/data',
21
22 // ----- tasks settings ----- //
23
24 jshint: {
25 src: [ mainFile ],
26 options: {
27 "browser": true,
28 "devel": false,
29 "strict": true,
30 "undef": true,
31 "unused": true,
32 "predef": {
33 "define": false,
34 "module": false,
35 "require": false
36 }
37 }
38 },
39
40 requirejs: {
41 pkgd: {
42 options: {
43 baseUrl: 'bower_components',
44 include: [
45 'isotope-packery/packery-mode'
46 ],
47 out: 'packery-mode.pkgd.js',
48 optimize: 'none',
49 paths: {
50 'isotope-packery': '../',
51 outlayer: 'empty:',
52 'get-style-property': 'empty:',
53 'get-size': 'empty:',
54 'isotope-layout': 'empty:'
55 },
56 wrap: {
57 start: banner
58 }
59 }
60 }
61 },
62
63 uglify: {
64 pkgd: {
65 files: {
66 'packery-mode.pkgd.min.js': [ 'packery-mode.pkgd.js' ]
67 },
68 options: {
69 banner: banner
70 }
71 }
72 }
73
74 });
75
76 grunt.loadNpmTasks('grunt-contrib-jshint');
77 grunt.loadNpmTasks('grunt-contrib-uglify');
78 grunt.loadNpmTasks('grunt-requirejs');
79
80 grunt.registerTask( 'pkgd-edit', function() {
81 var outFile = grunt.config.get('requirejs.pkgd.options.out');
82 var contents = grunt.file.read( outFile );
83 contents = contents.replace( "'isotope-packery/packery-mode',", '' );
84 grunt.file.write( outFile, contents );
85 grunt.log.writeln( 'Edited ' + outFile );
86 });
87
88 grunt.registerTask( 'default', [
89 // 'jshint',
90 'requirejs',
91 'pkgd-edit',
92 'uglify'
93 ]);
94
95};