Sha256: 79cfe80d5afd8b63f1123a78973cbc80112149f3d0fce0ef3dfac4c9445af3e4
Contents?: true
Size: 1.85 KB
Versions: 63
Compression:
Stored size: 1.85 KB
Contents
/*jshint node: true*/ var program = require('commander') var semver = require('semver') var grunt = require('grunt') var glob = require('glob').sync program .option('-p, --patch', 'set the version as the next patch') .option('-m, --minor', 'set the version as the next minor') .option('-M, --major', 'set the version as the next major') .parse(process.argv) if (program.patch) { bumpVersion('patch') return } if (program.minor) { bumpVersion('minor') return } if (program.major) { bumpVersion('major') return } grunt.fail.fatal('No release type specified') return function bumpVersion(release) { grunt.log.writeln('Bumping package version by a ' + release) var version = readPackageVersion() grunt.log.writeln('Current package version: ' + version) version = semver.inc(version, release) grunt.log.writeln('Updated package version: ' + version) writePackageVersion(version) grunt.log.writeln('Done updating the package version') updateLibraryFiles(version) grunt.log.writeln('Done updating the library files') } function readPackageVersion() { var pkg = require('./package') return pkg.version } function writePackageVersion(version) { var pkg = require('./package') pkg.version = version grunt.file.write('./package.json', JSON.stringify(pkg, null, ' ')) } function updateLibraryFiles(version) { var versionRegex = /^(\s*\/\*![^\/]+?v)(\d+\.\d+\.\d+)(([^\n]+?)(\d+\/\d+\/\d+))?/ var today = grunt.template.today('yyyy/mm/dd') var files = glob('lib/*.js') files.forEach(updateLibraryFile) function updateLibraryFile(filePath) { var content = grunt.file.read(filePath) if (versionRegex.test(content)) { content = content.split(versionRegex) content = content[1] + version + (content[4] || '') + (content[5] ? today : '') + (content[6] || '') } grunt.file.write(filePath, content) } }
Version data entries
63 entries across 63 versions & 2 rubygems