1
1
var fs = require ( 'fs' ) ,
2
- filesToBuild = {
3
- uglify : { } ,
4
- concat : { } ,
5
- devFiles : [ ]
6
- } ,
7
- readFile = function ( file ) {
8
- return fs . readFileSync ( file , 'utf-8' ) ;
9
- } ,
10
- replaceInFile = function ( path , from , to ) {
11
- fs . writeFileSync ( path , readFile ( path ) . replace ( from , to ) ) ;
12
- } ;
13
-
14
- module . exports = function ( grunt ) {
2
+ filesToBuild = {
3
+ uglify : { } ,
4
+ concat : { } ,
5
+ devFiles : [ ]
6
+ } ,
7
+ readFile = function ( file ) {
8
+ return fs . readFileSync ( file , 'utf-8' ) ;
9
+ } ,
10
+ replaceInFile = function ( path , from , to ) {
11
+ fs . writeFileSync ( path , readFile ( path ) . replace ( from , to ) ) ;
12
+ } ;
13
+
14
+ module . exports = function ( grunt ) {
15
15
16
16
// Gather up all js files
17
- [ 'form-validator/' , 'form-validator/lang/' ] . forEach ( function ( path ) {
18
- fs . readdirSync ( path ) . forEach ( function ( fileName ) {
19
- if ( fileName . substr ( - 7 ) == '.dev.js' ) {
17
+ [ 'form-validator/' , 'form-validator/lang/' ] . forEach ( function ( path ) {
18
+ fs . readdirSync ( path ) . forEach ( function ( fileName ) {
19
+ if ( fileName . substr ( - 7 ) == '.dev.js' ) {
20
20
var name = fileName . substr ( 0 , fileName . length - 7 ) ;
21
21
filesToBuild . uglify [ path + name + '.js' ] = [ path + name + '.js' ] ;
22
- filesToBuild . concat [ 'file' + name ] = {
23
- src : [ path + fileName ] ,
22
+ filesToBuild . concat [ 'file' + name ] = {
23
+ src : [ path + fileName ] ,
24
24
dest : path + name + '.js'
25
- }
26
- filesToBuild . devFiles . push ( path + fileName ) ;
25
+ } ;
26
+ filesToBuild . devFiles . push ( path + fileName ) ;
27
27
}
28
28
} ) ;
29
29
} ) ;
30
30
31
31
// Add options for concat ang ugligy
32
32
filesToBuild . concat . options = {
33
- banner : "<%= meta.banner %>"
34
- } ;
33
+ banner : "<%= meta.banner %>"
34
+ } ;
35
35
filesToBuild . uglify . options = {
36
- banner : "<%= meta.banner %>"
37
- } ;
36
+ banner : "<%= meta.banner %>"
37
+ } ;
38
38
39
39
// Add main script to concat/uglify
40
40
filesToBuild . uglify [ 'form-validator/jquery.form-validator.min.js' ] = 'form-validator/jquery.form-validator.min.js' ;
41
41
filesToBuild . concat . main = {
42
- src : [ 'form-validator/jquery.form-validator.js' ] ,
43
- dest : 'form-validator/jquery.form-validator.min.js'
44
- }
45
-
46
- grunt . initConfig ( {
47
-
48
- // Import package manifest
49
- pkg : grunt . file . readJSON ( "package.json" ) ,
50
-
51
- // Banner definitions
52
- meta : {
53
- banner : "/**\n" +
54
- " * <%= (pkg.title || pkg.name).toUpperCase() %>\n" +
55
- " *\n" +
56
- " * @website by <%= pkg.author.homepage %>\n" +
57
- " * @license <%= pkg.license %>\n" +
58
- " * @version <%= pkg.version %>\n" +
59
- " */\n"
60
- } ,
61
-
62
- // Concat definitions. The only purpose of this
42
+ src : [ 'form-validator/jquery.form-validator.js' ] ,
43
+ dest : 'form-validator/jquery.form-validator.min.js'
44
+ } ;
45
+
46
+ grunt . initConfig ( {
47
+
48
+ // Import package manifest
49
+ pkg : grunt . file . readJSON ( "package.json" ) ,
50
+
51
+ // Banner definitions
52
+ meta : {
53
+ banner : "/**\n" +
54
+ " * <%= (pkg.title || pkg.name).toUpperCase() %>\n" +
55
+ " *\n" +
56
+ " * @author <%= pkg.author.name %>, <%= pkg.author.url %>\n" +
57
+ " * @license <%= pkg.license %>\n" +
58
+ " * @version <%= pkg.version %>\n" +
59
+ " */\n"
60
+ } ,
61
+
62
+ // Concat definitions. The only purpose of this
63
63
// is to create a distribution file out
64
64
// of files name *.dev.js
65
- concat : filesToBuild . concat ,
66
-
67
- // Lint definitions
68
- jshint : {
69
- files : [ "form-validator/*.dev.js" , "form-validator/jquery.form-validator.js" ] ,
70
- options : {
71
- jshintrc : ".jshintrc"
72
- }
73
- } ,
74
-
75
- // Minify definitions
76
- uglify : filesToBuild . uglify ,
77
-
78
- // watch for changes to source
79
- // Better than calling grunt a million times
80
- // (call 'grunt watch')
81
- watch : {
82
- files : [ 'form-validator/*' ] ,
83
- tasks : [ 'default' ]
84
- } ,
65
+ concat : filesToBuild . concat ,
66
+
67
+ // Lint definitions
68
+ jshint : {
69
+ files : [ "form-validator/*.dev.js" , "form-validator/jquery.form-validator.js" ] ,
70
+ options : {
71
+ jshintrc : ".jshintrc"
72
+ }
73
+ } ,
74
+
75
+ // Minify definitions
76
+ uglify : filesToBuild . uglify ,
77
+
78
+ // watch for changes to source
79
+ // Better than calling grunt a million times
80
+ // (call 'grunt watch')
81
+ watch : {
82
+ files : [ 'form-validator/*' ] ,
83
+ tasks : [ 'build' ] ,
84
+ options : { nospawn : true }
85
+ } ,
85
86
86
87
qunit : {
87
88
all : [ 'test/qunit.html' ]
88
89
}
89
90
90
- } ) ;
91
-
91
+ } ) ;
92
92
93
93
/*
94
94
* Change to new version or the next version number in all files
95
95
* containing the version definition
96
96
*/
97
- grunt . registerTask ( 'version' , 'Bump up the version number, or change version name by adding --new-version=3.1.0' , function ( ) {
97
+ grunt . registerTask ( 'version' , 'Bump up the version number, or change version name by adding --new-version=3.1.0' , function ( ) {
98
98
var pkg = grunt . config . get ( 'pkg' ) ,
99
- currentVersion = pkg . version ,
100
- newVersion = grunt . option ( 'new-version' ) ;
101
-
102
-
103
- if ( ! newVersion ) {
104
- var versionParts = currentVersion . split ( '.' ) ,
105
- newSubVersion = parseInt ( versionParts . splice ( versionParts . length - 1 , 1 ) [ 0 ] ) + 1 ;
106
- newSubVersion = newSubVersion < 10 && newSubVersion > 0 ? '0' + newSubVersion : newSubVersion . toString ( ) ;
107
- newVersion = versionParts . join ( '.' ) + '.' + newSubVersion ;
99
+ currentVersion = pkg . version ,
100
+ newVersion = grunt . option ( 'new-version' ) ;
101
+
102
+ if ( ! newVersion ) {
103
+ var versionParts = currentVersion . split ( '.' ) ,
104
+ newSubVersion = parseInt ( versionParts . splice ( versionParts . length - 1 , 1 ) [ 0 ] ) + 1 ;
105
+ newSubVersion = newSubVersion < 10 && newSubVersion > 0 ? '0' + newSubVersion : newSubVersion . toString ( ) ;
106
+ newVersion = versionParts . join ( '.' ) + '.' + newSubVersion ;
108
107
}
109
108
110
- grunt . log . writeln ( '* Moving from version ' + currentVersion + ' to ' + newVersion ) ;
109
+ grunt . log . writeln ( '* Moving from version ' + currentVersion + ' to ' + newVersion ) ;
111
110
112
111
// replace version in config files and dev-files
113
- replaceInFile ( 'form-validator/jquery.form-validator.min.js' , '@version ' + currentVersion , '@version ' + newVersion ) ;
114
- replaceInFile ( 'form-validator/jquery.form-validator.js' , '@version ' + currentVersion , '@version ' + newVersion ) ;
115
- replaceInFile ( 'package.json' , '"version": "' + currentVersion + '"' , '"version": "' + newVersion + '"' ) ;
116
- replaceInFile ( 'formvalidator.jquery.json' , '"version": "' + currentVersion + '"' , '"version": "' + newVersion + '"' ) ;
117
- filesToBuild . devFiles . forEach ( function ( filePath ) {
118
- replaceInFile ( filePath , '@version ' + currentVersion , '@version ' + newVersion ) ;
112
+ replaceInFile ( 'form-validator/jquery.form-validator.min.js' , '@version ' + currentVersion , '@version ' + newVersion ) ;
113
+ replaceInFile ( 'form-validator/jquery.form-validator.js' , '@version ' + currentVersion , '@version ' + newVersion ) ;
114
+ replaceInFile ( 'package.json' , '"version": "' + currentVersion + '"' , '"version": "' + newVersion + '"' ) ;
115
+ replaceInFile ( 'formvalidator.jquery.json' , '"version": "' + currentVersion + '"' , '"version": "' + newVersion + '"' ) ;
116
+ filesToBuild . devFiles . forEach ( function ( filePath ) {
117
+ replaceInFile ( filePath , '@version ' + currentVersion , '@version ' + newVersion ) ;
119
118
} ) ;
120
119
121
120
// Set new version globally (can later on be used by concat/uglify)
@@ -124,14 +123,14 @@ module.exports = function(grunt) {
124
123
} ) ;
125
124
126
125
127
- grunt . loadNpmTasks ( "grunt-contrib-concat" ) ;
128
- grunt . loadNpmTasks ( "grunt-contrib-jshint" ) ;
129
- grunt . loadNpmTasks ( "grunt-contrib-uglify" ) ;
130
- grunt . loadNpmTasks ( "grunt-contrib-watch" ) ;
131
- grunt . loadNpmTasks ( 'grunt-contrib-qunit' ) ;
126
+ grunt . loadNpmTasks ( "grunt-contrib-concat" ) ;
127
+ grunt . loadNpmTasks ( "grunt-contrib-jshint" ) ;
128
+ grunt . loadNpmTasks ( "grunt-contrib-uglify" ) ;
129
+ grunt . loadNpmTasks ( "grunt-contrib-watch" ) ;
130
+ grunt . loadNpmTasks ( 'grunt-contrib-qunit' ) ;
132
131
133
- grunt . registerTask ( "build" , [ "version" , "concat" , "uglify" ] ) ;
134
- grunt . registerTask ( 'test' , [ 'jshint' , 'qunit' ] ) ;
135
- grunt . registerTask ( "default" , [ "test" , "build" ] ) ;
132
+ grunt . registerTask ( "build" , [ "version" , "concat" , "uglify" ] ) ;
133
+ grunt . registerTask ( 'test' , [ 'jshint' , 'qunit' ] ) ;
134
+ grunt . registerTask ( "default" , [ "test" , "build" ] ) ;
136
135
137
136
} ;
0 commit comments