Skip to content

Commit 5a3ec47

Browse files
committed
use semver module for version validation
1 parent 7c643c3 commit 5a3ec47

File tree

2 files changed

+12
-22
lines changed

2 files changed

+12
-22
lines changed

Gruntfile.js

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
var fs = require('fs'),
2-
path = require('path')
2+
path = require('path'),
3+
semver = require('semver')
34

45
module.exports = function( grunt ) {
56

@@ -78,6 +79,13 @@ module.exports = function( grunt ) {
7879
grunt.loadNpmTasks( 'grunt-mocha' )
7980

8081
grunt.registerTask( 'version', function (version) {
82+
if (!version || !semver.valid(version)) {
83+
return grunt.fail.warn('Invalid semver version.')
84+
}
85+
var current = require('./package.json').version
86+
if (semver.lt(version, current)) {
87+
return grunt.fail.warn('Version is older than current.')
88+
}
8189
;['package', 'bower', 'component'].forEach(function (file) {
8290
file = './' + file + '.json'
8391
var json = fs.readFileSync(file, 'utf-8')
@@ -87,26 +95,7 @@ module.exports = function( grunt ) {
8795
})
8896

8997
grunt.registerTask( 'release', function (version) {
90-
if (!version || !isValid(version)) {
91-
return grunt.fail.warn('Must provide a valid semver version number.')
92-
}
93-
grunt.task.run(['version:' + version, 'default'])
94-
95-
function isValid (v) {
96-
var nums = v.split('.')
97-
if (nums.length !== 3) return false
98-
var current = require('./package.json').version.split('.'),
99-
a1 = +nums[0],
100-
b1 = +nums[1],
101-
c1 = +nums[2],
102-
a2 = +current[0],
103-
b2 = +current[1],
104-
c2 = +current[2]
105-
if (a1 < a2) return false
106-
if (a1 === a2 && b1 < b2) return false
107-
if (a1 === a2 && b1 === b2 && c1 < c2) return false
108-
return true
109-
}
98+
grunt.task.run(['default', 'version:' + version])
11099
})
111100

112101
grunt.registerTask( 'casper', function (id) {

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
"grunt-contrib-uglify": "~0.2.7",
3030
"grunt-mocha": "~0.4.6",
3131
"jscoverage": "~0.3.8",
32-
"jshint-stylish": "0.1.3"
32+
"jshint-stylish": "0.1.3",
33+
"semver": "~2.2.1"
3334
}
3435
}

0 commit comments

Comments
 (0)