Comparing version 0.0.6 to 0.0.7
162
gulpfile.js
@@ -1,9 +0,13 @@ | ||
var gulp = require('gulp'); | ||
var mocha = require('gulp-mocha'); | ||
var jshint = require('gulp-jshint'); | ||
var stylish = require('jshint-stylish'); | ||
var shrinkwrap = require('gulp-shrinkwrap'); | ||
var istanbul = require('gulp-istanbul'); | ||
var path = require('path'); | ||
var runSequence = require('run-sequence'); | ||
var gulp = require('gulp-param')(require('gulp'), process.argv); | ||
var mocha = require('gulp-mocha'); | ||
var jshint = require('gulp-jshint'); | ||
var stylish = require('jshint-stylish'); | ||
var shrinkwrap = require('gulp-shrinkwrap'); | ||
var istanbul = require('gulp-istanbul'); | ||
var path = require('path'); | ||
var npm = require('npm'); | ||
var Q = require('q'); | ||
var REPORT_PATH = 'reports'; | ||
@@ -13,5 +17,6 @@ var COVERAGE_PATH = 'coverage'; | ||
var lintFiles = ['./**/*.js', './**/*.json', '!./node_modules/**/*', '!./coverage/**/*']; | ||
var commitFiles = ['./package.json', './gulpfile.js', './npm-shrinkwrap.json', './reports/**/*']; | ||
// The default task (called when you run `gulp` from cli) | ||
gulp.task('default', ['watch', 'lint', 'test']); | ||
gulp.task('default', ['watch']); | ||
@@ -23,6 +28,32 @@ // Rerun the task when a file changes | ||
// Prepare a version bump | ||
gulp.task('bump', ['lint', 'coverage', 'shrinkwrap']); | ||
var bumpDeferred; | ||
// Execute a version bump | ||
gulp.task('bump', function (callback) { | ||
bumpDeferred = Q.defer(); | ||
runSequence( | ||
//'coverage', | ||
//'shrinkwrap', | ||
//'bumpVersion', | ||
//'gitCommit', | ||
//'gitTag', | ||
'gitPush', | ||
//'gitPushTags', | ||
//'publish', | ||
function runSequenceEnd (error) { | ||
if (error) { | ||
console.log(error.message); | ||
} else { | ||
console.log('RELEASE FINISHED SUCCESSFULLY'); | ||
} | ||
callback(error); | ||
} | ||
); | ||
return bumpDeferred.promise; | ||
}); | ||
gulp.task('lint', function() { | ||
@@ -36,3 +67,3 @@ | ||
gulp.task('test', function () { | ||
gulp.task('test', ['lint'], function () { | ||
@@ -46,5 +77,5 @@ return gulp.src(testFiles, {read: false}) | ||
gulp.task('shrinkwrap', function () { | ||
gulp.task('shrinkwrap', ['coverage'], function () { | ||
return gulp.src('package.json') | ||
return gulp.src('./package.json') | ||
.pipe(shrinkwrap()) | ||
@@ -57,10 +88,12 @@ .pipe(gulp.dest('./')); | ||
gulp.task('coverage', function () { | ||
return gulp.src(['./lib/**/*.js']) | ||
gulp.task('coverage', ['lint'], function () { | ||
var deferred = Q.defer(); | ||
gulp.src(['./lib/**/*.js']) | ||
.pipe(istanbul()) // Covering files | ||
.pipe(istanbul.hookRequire()) // Force `require` to return covered files | ||
.on('finish', function () { | ||
gulp.src(['test/*.spec.js']) | ||
gulp.src(testFiles) | ||
.pipe(mocha({ | ||
reporter: 'spec', | ||
reporter: 'dot', | ||
bail: true | ||
@@ -92,5 +125,100 @@ })) | ||
console.log("Badge created at " + REPORT_PATH + "/cobertura.svg"); | ||
deferred.resolve(); | ||
}); | ||
}); | ||
}); | ||
return deferred.promise; | ||
}); | ||
var git = require('gulp-git'); | ||
var bump = require('gulp-bump'); | ||
// Update bower, component, npm at once: | ||
gulp.task('bumpVersion', ['shrinkwrap'], function (patch, minor, major) { | ||
var type = 'patch'; | ||
if (!minor && !major || minor && major) { | ||
// if no type has been specified, | ||
// or all types have been used | ||
// enforce patch | ||
patch = true; | ||
} | ||
if (minor && !patch) { | ||
type = 'minor'; | ||
} | ||
if (major && !patch) { | ||
type = 'major'; | ||
} | ||
return gulp.src(['./bower.json', './component.json', './package.json']) | ||
.pipe(bump({type:type})) | ||
.pipe(gulp.dest('./')); | ||
}); | ||
var PACKAGE_VERSION; | ||
gulp.task('commit', ['bumpVersion'], function gitCommit () { | ||
// reload package.json file | ||
delete require.cache[require.resolve('./package.json')]; | ||
var packageInfo = require('./package.json'); | ||
// build new version string | ||
PACKAGE_VERSION = 'v' + packageInfo.version; | ||
return gulp.src(commitFiles) | ||
.pipe(git.commit(PACKAGE_VERSION, function gitCommitHandler () { | ||
if (err) throw err; | ||
})); | ||
}); | ||
gulp.task('release', ['commit'], function gitCommit () { | ||
var deferred = Q.defer(); | ||
// reload package.json file | ||
delete require.cache[require.resolve('./package.json')]; | ||
var packageInfo = require('./package.json'); | ||
// build new version string | ||
PACKAGE_VERSION = 'v' + packageInfo.version; | ||
git.tag(PACKAGE_VERSION, PACKAGE_VERSION, function gitTagHandler(err) { | ||
if (err) { | ||
deferred.reject(err); | ||
return; | ||
} | ||
git.push('origin', 'master', {args: '--tags'}, function gitPushHandler(err) { | ||
if (err) { | ||
deferred.reject(err); | ||
return; | ||
} | ||
deferred.resolve(); | ||
}); | ||
}); | ||
return deferred.promise; | ||
}); | ||
gulp.task('publish', ['release'], function gitCommit () { | ||
var deferred = Q.defer(); | ||
npm.load({}, function () { | ||
npm.commands.publish(function publishHandler (err) { | ||
if (err) { | ||
deferred.reject(err); | ||
return; | ||
} | ||
deferred.resolve(); | ||
}); | ||
}); | ||
return deferred.promise; | ||
}); |
{ | ||
"name": "devmode", | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"dependencies": { | ||
@@ -5,0 +5,0 @@ "package.root": { |
{ | ||
"name": "devmode", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"license": "MIT", | ||
@@ -20,10 +20,16 @@ "main": "./lib/devmode", | ||
"chai": "2.0.0", | ||
"mocha": "2.1.0", | ||
"gulp": "3.9.0", | ||
"gulp-bump": "0.3.1", | ||
"gulp-git": "1.2.4", | ||
"gulp-istanbul": "0.10.0", | ||
"gulp-jshint": "1.11.0", | ||
"gulp-mocha": "2.1.1", | ||
"gulp-jshint": "1.11.0", | ||
"gulp-param": "0.6.3", | ||
"gulp-shrinkwrap": "2.0.1", | ||
"istanbul-cobertura-badger": "0.0.4", | ||
"jshint-stylish": "2.0.0", | ||
"gulp-shrinkwrap": "2.0.1", | ||
"gulp-istanbul": "0.10.0", | ||
"istanbul-cobertura-badger": "0.0.4" | ||
"mocha": "2.1.0", | ||
"npm": "2.12.0", | ||
"q": "1.4.1", | ||
"run-sequence": "1.1.1" | ||
}, | ||
@@ -37,2 +43,2 @@ "repository": { | ||
} | ||
} | ||
} |
{ | ||
"X:\\devmode\\lib\\devmode.js":{"path":"X:\\devmode\\lib\\devmode.js","s":{"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":23,"10":23,"11":1,"12":13,"13":4,"14":4,"15":13,"16":1,"17":3,"18":3,"19":3,"20":3,"21":3,"22":2,"23":1,"24":1,"25":1,"26":1},"b":{"1":[4,9],"2":[13,8],"3":[2,1],"4":[1,0]},"f":{"1":23,"2":13,"3":3},"fnMap":{"1":{"name":"isActive","line":50,"loc":{"start":{"line":50,"column":19},"end":{"line":50,"column":40}}},"2":{"name":"getRequirePath","line":67,"loc":{"start":{"line":67,"column":25},"end":{"line":67,"column":63}}},"3":{"name":"require","line":91,"loc":{"start":{"line":91,"column":18},"end":{"line":91,"column":49}}}},"statementMap":{"1":{"start":{"line":8,"column":0},"end":{"line":8,"column":28}},"2":{"start":{"line":9,"column":0},"end":{"line":9,"column":50}},"3":{"start":{"line":10,"column":0},"end":{"line":10,"column":42}},"4":{"start":{"line":18,"column":0},"end":{"line":18,"column":46}},"5":{"start":{"line":26,"column":0},"end":{"line":26,"column":51}},"6":{"start":{"line":34,"column":0},"end":{"line":34,"column":42}},"7":{"start":{"line":41,"column":0},"end":{"line":41,"column":60}},"8":{"start":{"line":50,"column":0},"end":{"line":55,"column":2}},"9":{"start":{"line":51,"column":2},"end":{"line":51,"column":63}},"10":{"start":{"line":54,"column":2},"end":{"line":54,"column":55}},"11":{"start":{"line":67,"column":0},"end":{"line":75,"column":2}},"12":{"start":{"line":69,"column":2},"end":{"line":72,"column":3}},"13":{"start":{"line":70,"column":4},"end":{"line":70,"column":68}},"14":{"start":{"line":71,"column":4},"end":{"line":71,"column":59}},"15":{"start":{"line":74,"column":2},"end":{"line":74,"column":21}},"16":{"start":{"line":91,"column":0},"end":{"line":114,"column":2}},"17":{"start":{"line":92,"column":2},"end":{"line":92,"column":57}},"18":{"start":{"line":93,"column":2},"end":{"line":93,"column":22}},"19":{"start":{"line":95,"column":2},"end":{"line":110,"column":3}},"20":{"start":{"line":97,"column":4},"end":{"line":97,"column":50}},"21":{"start":{"line":100,"column":4},"end":{"line":109,"column":5}},"22":{"start":{"line":103,"column":6},"end":{"line":103,"column":51}},"23":{"start":{"line":108,"column":6},"end":{"line":108,"column":18}},"24":{"start":{"line":113,"column":2},"end":{"line":113,"column":25}},"25":{"start":{"line":119,"column":0},"end":{"line":123,"column":1}},"26":{"start":{"line":120,"column":2},"end":{"line":122,"column":4}}},"branchMap":{"1":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":2},"end":{"line":69,"column":2}},{"start":{"line":69,"column":2},"end":{"line":69,"column":2}}]},"2":{"line":69,"type":"binary-expr","locations":[{"start":{"line":69,"column":6},"end":{"line":69,"column":24}},{"start":{"line":69,"column":28},"end":{"line":69,"column":69}}]},"3":{"line":100,"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":100,"column":4}},{"start":{"line":100,"column":4},"end":{"line":100,"column":4}}]},"4":{"line":119,"type":"if","locations":[{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},{"start":{"line":119,"column":0},"end":{"line":119,"column":0}}]}},"l":{"8":1,"9":1,"10":1,"18":1,"26":1,"34":1,"41":1,"50":1,"51":23,"54":23,"67":1,"69":13,"70":4,"71":4,"74":13,"91":1,"92":3,"93":3,"95":3,"97":3,"100":3,"103":2,"108":1,"113":1,"119":1,"120":1}}} | ||
"/home/nysos/dev/devmode/lib/devmode.js":{"path":"/home/nysos/dev/devmode/lib/devmode.js","s":{"1":2,"2":2,"3":2,"4":2,"5":2,"6":2,"7":2,"8":2,"9":24,"10":24,"11":2,"12":13,"13":4,"14":4,"15":13,"16":2,"17":3,"18":3,"19":3,"20":3,"21":3,"22":2,"23":1,"24":1,"25":2,"26":1},"b":{"1":[4,9],"2":[13,8],"3":[2,1],"4":[1,1]},"f":{"1":24,"2":13,"3":3},"fnMap":{"1":{"name":"isActive","line":50,"loc":{"start":{"line":50,"column":19},"end":{"line":50,"column":40}}},"2":{"name":"getRequirePath","line":67,"loc":{"start":{"line":67,"column":25},"end":{"line":67,"column":63}}},"3":{"name":"require","line":91,"loc":{"start":{"line":91,"column":18},"end":{"line":91,"column":49}}}},"statementMap":{"1":{"start":{"line":8,"column":0},"end":{"line":8,"column":28}},"2":{"start":{"line":9,"column":0},"end":{"line":9,"column":50}},"3":{"start":{"line":10,"column":0},"end":{"line":10,"column":42}},"4":{"start":{"line":18,"column":0},"end":{"line":18,"column":46}},"5":{"start":{"line":26,"column":0},"end":{"line":26,"column":51}},"6":{"start":{"line":34,"column":0},"end":{"line":34,"column":42}},"7":{"start":{"line":41,"column":0},"end":{"line":41,"column":60}},"8":{"start":{"line":50,"column":0},"end":{"line":55,"column":2}},"9":{"start":{"line":51,"column":2},"end":{"line":51,"column":63}},"10":{"start":{"line":54,"column":2},"end":{"line":54,"column":55}},"11":{"start":{"line":67,"column":0},"end":{"line":75,"column":2}},"12":{"start":{"line":69,"column":2},"end":{"line":72,"column":3}},"13":{"start":{"line":70,"column":4},"end":{"line":70,"column":68}},"14":{"start":{"line":71,"column":4},"end":{"line":71,"column":59}},"15":{"start":{"line":74,"column":2},"end":{"line":74,"column":21}},"16":{"start":{"line":91,"column":0},"end":{"line":114,"column":2}},"17":{"start":{"line":92,"column":2},"end":{"line":92,"column":57}},"18":{"start":{"line":93,"column":2},"end":{"line":93,"column":22}},"19":{"start":{"line":95,"column":2},"end":{"line":110,"column":3}},"20":{"start":{"line":97,"column":4},"end":{"line":97,"column":50}},"21":{"start":{"line":100,"column":4},"end":{"line":109,"column":5}},"22":{"start":{"line":103,"column":6},"end":{"line":103,"column":51}},"23":{"start":{"line":108,"column":6},"end":{"line":108,"column":18}},"24":{"start":{"line":113,"column":2},"end":{"line":113,"column":25}},"25":{"start":{"line":119,"column":0},"end":{"line":123,"column":1}},"26":{"start":{"line":120,"column":2},"end":{"line":122,"column":4}}},"branchMap":{"1":{"line":69,"type":"if","locations":[{"start":{"line":69,"column":2},"end":{"line":69,"column":2}},{"start":{"line":69,"column":2},"end":{"line":69,"column":2}}]},"2":{"line":69,"type":"binary-expr","locations":[{"start":{"line":69,"column":6},"end":{"line":69,"column":24}},{"start":{"line":69,"column":28},"end":{"line":69,"column":69}}]},"3":{"line":100,"type":"if","locations":[{"start":{"line":100,"column":4},"end":{"line":100,"column":4}},{"start":{"line":100,"column":4},"end":{"line":100,"column":4}}]},"4":{"line":119,"type":"if","locations":[{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},{"start":{"line":119,"column":0},"end":{"line":119,"column":0}}]}},"l":{"8":2,"9":2,"10":2,"18":2,"26":2,"34":2,"41":2,"50":2,"51":24,"54":24,"67":2,"69":13,"70":4,"71":4,"74":13,"91":2,"92":3,"93":3,"95":3,"97":3,"100":3,"103":2,"108":1,"113":1,"119":2,"120":1}}} |
@@ -18,20 +18,12 @@ /* jshint node:true */ | ||
// get the package's parent directory | ||
var PARENT = root.path.substring(0,root.path.lastIndexOf(pathLib.sep)) + pathLib.sep; | ||
// Check that no Status output is shown when DEVMODE is inactive | ||
// this is imperative to get the 100% coverage | ||
process.env[devmode.STAGE_ENV_VARIABLE_NAME] = 'PROD'; | ||
delete require.cache[require.resolve('../lib/devmode')]; | ||
devmode = require('../lib/devmode'); | ||
Object.keys(require.cache).forEach(function (packagePath) { | ||
if (packagePath.indexOf('lib/devmode') > -1) { | ||
console.log(packagePath); | ||
delete require.cache[packagePath]; | ||
process.env[devmode.STAGE_ENV_VARIABLE_NAME] = 'PROD'; | ||
// no status output should happen | ||
devmode = require('../lib/devmode'); | ||
} | ||
}); | ||
// start tests | ||
describe('devmode', function () { | ||
@@ -38,0 +30,0 @@ |
Sorry, the diff of this file is not supported yet
23044
444
15