0
|
1 /*global module:false*/
|
|
2 module.exports = function(grunt) {
|
|
3
|
|
4 // show elapsed time at the end
|
|
5 require('time-grunt')(grunt);
|
|
6
|
|
7 // load all grunt tasks
|
|
8 //require('load-grunt-tasks')(grunt);
|
|
9 require('jit-grunt')(grunt,{
|
|
10 'replace':'grunt-text-replace',
|
|
11 'bump-only':'grunt-bump',
|
|
12 'bump-commit':'grunt-bump'
|
|
13 });
|
|
14
|
|
15 // Project configuration.
|
|
16 grunt.initConfig({
|
|
17 pkg: grunt.file.readJSON('package.json'),
|
|
18
|
|
19 meta: {
|
|
20 bannerLocal: '/*! iFrame Resizer (iframeSizer.min.js ) - v<%= pkg.version %> - ' +
|
|
21 '<%= grunt.template.today("yyyy-mm-dd") %>\n' +
|
|
22 ' * Desc: Force cross domain iframes to size to content.\n' +
|
|
23 ' * Requires: iframeResizer.contentWindow.min.js to be loaded into the target frame.\n' +
|
|
24 ' * Copyright: (c) <%= grunt.template.today("yyyy") %> David J. Bradshaw - dave@bradshaw.net\n' +
|
|
25 ' * License: MIT\n */\n',
|
|
26 bannerRemote: '/*! iFrame Resizer (iframeSizer.contentWindow.min.js) - v<%= pkg.version %> - ' +
|
|
27 '<%= grunt.template.today("yyyy-mm-dd") %>\n' +
|
|
28 ' * Desc: Include this file in any page being loaded into an iframe\n' +
|
|
29 ' * to force the iframe to resize to the content size.\n' +
|
|
30 ' * Requires: iframeResizer.min.js on host page.\n' +
|
|
31 ' * Copyright: (c) <%= grunt.template.today("yyyy") %> David J. Bradshaw - dave@bradshaw.net\n' +
|
|
32 ' * License: MIT\n */\n'
|
|
33 },
|
|
34
|
|
35 qunit: {
|
|
36 files: ['test/*.html']
|
|
37 },
|
|
38
|
|
39 jshint: {
|
|
40 options: {
|
|
41 globals: {
|
|
42 jQuery:false,
|
|
43 require:true,
|
|
44 process:true
|
|
45 },
|
|
46 },
|
|
47 gruntfile: {
|
|
48 src: 'gruntfile.js'
|
|
49 },
|
|
50 code: {
|
|
51 src: 'src/**/*.js'
|
|
52 },
|
|
53 },
|
|
54
|
|
55 uglify: {
|
|
56 options: {
|
|
57 sourceMaps:true,
|
|
58 sourceMapIncludeSources:true,
|
|
59 report:'gzip',
|
|
60 },
|
|
61 local: {
|
|
62 options:{
|
|
63 banner:'<%= meta.bannerLocal %>',
|
|
64 sourceMap: 'src/iframeResizer.map'
|
|
65 },
|
|
66 src: ['src/iframeResizer.js'],
|
|
67 dest: 'js/iframeResizer.min.js',
|
|
68 },
|
|
69 remote: {
|
|
70 options: {
|
|
71 banner:'<%= meta.bannerRemote %>',
|
|
72 sourceMap: 'src/iframeResizer.contentWindow.map'
|
|
73 },
|
|
74 src: ['src/iframeResizer.contentWindow.js'],
|
|
75 dest: 'js/iframeResizer.contentWindow.min.js',
|
|
76 }
|
|
77 },
|
|
78
|
|
79 watch: {
|
|
80 files: ['src/**/*'],
|
|
81 tasks: 'sefault'
|
|
82 },
|
|
83
|
|
84 replace: {
|
|
85 min: {
|
|
86 src: ['js/*.min.js'],
|
|
87 overwrite: true,
|
|
88 replacements: [{
|
|
89 from: /sourceMappingURL=src\//g,
|
|
90 to: 'sourceMappingURL=..\/src\/'
|
|
91 }]
|
|
92 },
|
|
93
|
|
94 map: {
|
|
95 src: ['src/*.map'],
|
|
96 overwrite: true,
|
|
97 replacements: [{
|
|
98 from: /src\//g,
|
|
99 to: ''
|
|
100 }]
|
|
101 }
|
|
102 },
|
|
103
|
|
104 bump: {
|
|
105 options: {
|
|
106 files: ['package.json','bower.json','component.json','iframeResizer.jquery.json'],
|
|
107 updateConfigs: ['pkg'],
|
|
108 commit: true,
|
|
109 commitMessage: 'Release v%VERSION%',
|
|
110 commitFiles: ['-a'], // '-a' for all files
|
|
111 createTag: true,
|
|
112 tagName: 'v%VERSION%',
|
|
113 tagMessage: 'Version %VERSION%',
|
|
114 push: true,
|
|
115 pushTo: 'origin',
|
|
116 gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d' // options to use with '$ git describe'
|
|
117 }
|
|
118 },
|
|
119
|
|
120 shell: {
|
|
121 options:{
|
|
122 stdout: true,
|
|
123 stderr: true,
|
|
124 failOnError: true
|
|
125 },
|
|
126 deployExample: {
|
|
127 command: function(){
|
|
128
|
|
129 var
|
|
130 retStr = '',
|
|
131 fs = require('fs');
|
|
132
|
|
133 if (fs.existsSync('bin')) {
|
|
134 retStr = 'bin/deploy.sh';
|
|
135 }
|
|
136
|
|
137 return retStr;
|
|
138 }
|
|
139 }
|
|
140 },
|
|
141
|
|
142 jsonlint: {
|
|
143 json: {
|
|
144 src: [ '*.json' ]
|
|
145 }
|
|
146 }
|
|
147
|
|
148 });
|
|
149
|
|
150 grunt.registerTask('default', ['notest','qunit']);
|
|
151 grunt.registerTask('notest', ['jsonlint','jshint','uglify','replace']);
|
|
152 grunt.registerTask('test', ['jshint','qunit']);
|
|
153
|
|
154 grunt.registerTask('postBump',['uglify','replace','bump-commit','shell']);
|
|
155 grunt.registerTask('patch', ['default','bump-only:patch','postBump']);
|
|
156 grunt.registerTask('minor', ['default','bump-only:minor','postBump']);
|
|
157 grunt.registerTask('major', ['default','bump-only:major','postBump']);
|
|
158
|
|
159 };
|