From 7a2c01eb7c26cdc69a0c76a05e58e6bfb2ab8b4b Mon Sep 17 00:00:00 2001 From: kingcody Date: Fri, 11 Sep 2015 00:29:26 -0400 Subject: [PATCH] fix(gen): require `q` and `grunt` in gruntUtils --- Gruntfile.js | 8 ++-- task-utils/grunt.js | 112 +++++++++++++++++++++++--------------------- 2 files changed, 62 insertions(+), 58 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index e776b3c48..64e407a11 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -4,14 +4,14 @@ var shell = require('shelljs'); var child_process = require('child_process'); var Q = require('q'); var helpers = require('yeoman-generator').test; -var gruntUtils = require('./task-utils/grunt'); var fs = require('fs'); var path = require('path'); -var gitCmd = gruntUtils.gitCmd; -var gitCmdAsync = gruntUtils.gitCmdAsync; - module.exports = function (grunt) { + var gruntUtils = require('./task-utils/grunt')(grunt); + var gitCmd = gruntUtils.gitCmd; + var gitCmdAsync = gruntUtils.gitCmdAsync; + // Load grunt tasks automatically, when needed require('jit-grunt')(grunt, { buildcontrol: 'grunt-build-control' diff --git a/task-utils/grunt.js b/task-utils/grunt.js index 70a598b8b..973a01073 100644 --- a/task-utils/grunt.js +++ b/task-utils/grunt.js @@ -2,72 +2,76 @@ var path = require('path'); var fs = require('fs'); +var Q = require('q'); -exports = module.exports = { - gitCmd: function gitCmd(args, opts, done) { - grunt.util.spawn({ - cmd: process.platform === 'win32' ? 'git.cmd' : 'git', - args: args, - opts: opts || {} - }, done); - }, +exports = module.exports = function(grunt) { + var self; + return self = { + gitCmd: function(args, opts, done) { + grunt.util.spawn({ + cmd: process.platform === 'win32' ? 'git.cmd' : 'git', + args: args, + opts: opts || {} + }, done); + }, - gitCmdAsync: function gitCmdAsync(args, opts) { - return function() { - var deferred = Q.defer(); - gitCmd(args, opts, function(err) { - if (err) { return deferred.reject(err); } - deferred.resolve(); - }); - return deferred.promise; - }; - }, + gitCmdAsync: function(args, opts) { + return function() { + var deferred = Q.defer(); + self.gitCmd(args, opts, function(err) { + if (err) { return deferred.reject(err); } + deferred.resolve(); + }); + return deferred.promise; + }; + }, - conventionalChangelog: { - finalizeContext: function(context, writerOpts, commits, keyCommit) { - var gitSemverTags = context.gitSemverTags; - var commitGroups = context.commitGroups; + conventionalChangelog: { + finalizeContext: function(context, writerOpts, commits, keyCommit) { + var gitSemverTags = context.gitSemverTags; + var commitGroups = context.commitGroups; - if ((!context.currentTag || !context.previousTag) && keyCommit) { - var match = /tag:\s*(.+?)[,\)]/gi.exec(keyCommit.gitTags); - var currentTag = context.currentTag = context.currentTag || match ? match[1] : null; - var index = gitSemverTags.indexOf(currentTag); - var previousTag = context.previousTag = gitSemverTags[index + 1]; + if ((!context.currentTag || !context.previousTag) && keyCommit) { + var match = /tag:\s*(.+?)[,\)]/gi.exec(keyCommit.gitTags); + var currentTag = context.currentTag = context.currentTag || match ? match[1] : null; + var index = gitSemverTags.indexOf(currentTag); + var previousTag = context.previousTag = gitSemverTags[index + 1]; - if (!previousTag) { - if (options.append) { - context.previousTag = context.previousTag || commits[0] ? commits[0].hash : null; - } else { - context.previousTag = context.previousTag || commits[commits.length - 1] ? commits[commits.length - 1].hash : null; + if (!previousTag) { + if (options.append) { + context.previousTag = context.previousTag || commits[0] ? commits[0].hash : null; + } else { + context.previousTag = context.previousTag || commits[commits.length - 1] ? commits[commits.length - 1].hash : null; + } } + } else { + context.previousTag = context.previousTag || gitSemverTags[0]; + context.currentTag = context.currentTag || 'v' + context.version; } - } else { - context.previousTag = context.previousTag || gitSemverTags[0]; - context.currentTag = context.currentTag || 'v' + context.version; - } - if (typeof context.linkCompare !== 'boolean' && context.previousTag && context.currentTag) { - context.linkCompare = true; - } + if (typeof context.linkCompare !== 'boolean' && context.previousTag && context.currentTag) { + context.linkCompare = true; + } - if (Array.isArray(commitGroups)) { - for (var i = 0, commitGroupsLength = commitGroups.length; i < commitGroupsLength; i++) { - var commits = commitGroups[i].commits; - if (Array.isArray(commits)) { - for (var n = 1, commitsLength = commits.length; n < commitsLength; n++) { - var commit = commits[n], prevCommit = commits[n - 1]; - if (commit.scope && commit.scope === prevCommit.scope) { - commit.subScope = true; - if (prevCommit.scope && !prevCommit.subScope) { - prevCommit.leadScope = true; + if (Array.isArray(commitGroups)) { + for (var i = 0, commitGroupsLength = commitGroups.length; i < commitGroupsLength; i++) { + var commits = commitGroups[i].commits; + if (Array.isArray(commits)) { + for (var n = 1, commitsLength = commits.length; n < commitsLength; n++) { + var commit = commits[n], prevCommit = commits[n - 1]; + if (commit.scope && commit.scope === prevCommit.scope) { + commit.subScope = true; + if (prevCommit.scope && !prevCommit.subScope) { + prevCommit.leadScope = true; + } } } } } } - } - return context; - }, - commitPartial: fs.readFileSync(path.resolve(__dirname, 'changelog-templates', 'commit.hbs')).toString() - } + return context; + }, + commitPartial: fs.readFileSync(path.resolve(__dirname, 'changelog-templates', 'commit.hbs')).toString() + } + }; };