diff --git a/lib/grunt/tasks/release.js b/lib/grunt/tasks/release.js index 7a98c96fa..f834268de 100644 --- a/lib/grunt/tasks/release.js +++ b/lib/grunt/tasks/release.js @@ -1,5 +1,6 @@ /* jshint node: true */ var path = require("path"), + npm = require("npm"), fs = require("fs"); module.exports = function(grunt) { @@ -48,4 +49,36 @@ module.exports = function(grunt) { }); + grunt.registerTask("publish-npm", function() { + var paths = grunt.config.get("paths"), + pkg = grunt.config.get("pkg"), + done = this.async(); + + npm.load({}, function(err) { + if (err) { + console.log(err); + return done(err); + } + npm.registry.adduser(process.env.NPM_USERNAME, process.env.NPM_PASSWORD, process.env.NPM_EMAIL, function(err) { + if (err) { + console.log(err); + return done(err); + } + + npm.config.set("email", process.env.NPM_EMAIL, "user"); + npm.commands.publish([paths.dist], function(err) { + if (err) { + console.log(err); + return done(err); + } + console.log(paths.dist + " v" + pkg.verison + " Published to registry"); + return done(); + + }); + + }); + + }); + }); + };