Skip to content

Commit

Permalink
Breaking: Use lodash.* npm modules & upgrade to ^4
Browse files Browse the repository at this point in the history
  • Loading branch information
TrySound authored and phated committed Jun 22, 2016
1 parent abe9e6a commit d1f423d
Show file tree
Hide file tree
Showing 7 changed files with 27 additions and 22 deletions.
4 changes: 2 additions & 2 deletions lib/helpers/buildTree.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
'use strict';

var _ = require('lodash');
var map = require('lodash.map');

var metadata = require('./metadata');

function buildTree(tasks) {
return _.map(tasks, function(task) {
return map(tasks, function(task) {
var meta = metadata.get(task);
if (meta) {
return meta.tree;
Expand Down
5 changes: 3 additions & 2 deletions lib/helpers/normalizeArgs.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

var assert = require('assert');

var _ = require('lodash');
var map = require('lodash.map');
var flatten = require('lodash.flatten');

function normalizeArgs(registry, args) {
function getFunction(task) {
Expand All @@ -15,7 +16,7 @@ function normalizeArgs(registry, args) {
return fn;
}

return _.map(_.flatten(args), getFunction);
return map(flatten(args), getFunction);
}

module.exports = normalizeArgs;
20 changes: 11 additions & 9 deletions lib/helpers/validateRegistry.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,19 @@

var assert = require('assert');

var _ = require('lodash');
function isFunction(fn) {
return typeof fn === 'function';
}

function isConstructor(registry) {
if (!(registry && registry.prototype)) {
return false;
}

var hasProtoGet = _.isFunction(registry.prototype.get);
var hasProtoSet = _.isFunction(registry.prototype.set);
var hasProtoInit = _.isFunction(registry.prototype.init);
var hasProtoTasks = _.isFunction(registry.prototype.tasks);
var hasProtoGet = isFunction(registry.prototype.get);
var hasProtoSet = isFunction(registry.prototype.set);
var hasProtoInit = isFunction(registry.prototype.init);
var hasProtoTasks = isFunction(registry.prototype.tasks);

if (hasProtoGet || hasProtoSet || hasProtoInit || hasProtoTasks) {
return true;
Expand All @@ -23,10 +25,10 @@ function isConstructor(registry) {

function validateRegistry(registry) {
try {
assert(_.isFunction(registry.get), 'Custom registry must have `get` function');
assert(_.isFunction(registry.set), 'Custom registry must have `set` function');
assert(_.isFunction(registry.init), 'Custom registry must have `init` function');
assert(_.isFunction(registry.tasks), 'Custom registry must have `tasks` function');
assert(isFunction(registry.get), 'Custom registry must have `get` function');
assert(isFunction(registry.set), 'Custom registry must have `set` function');
assert(isFunction(registry.init), 'Custom registry must have `init` function');
assert(isFunction(registry.tasks), 'Custom registry must have `tasks` function');
} catch (err) {
if (isConstructor(registry)) {
assert(false, 'Custom registries must be instantiated, but it looks like you passed a constructor');
Expand Down
4 changes: 2 additions & 2 deletions lib/registry.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';

var _ = require('lodash');
var reduce = require('lodash.reduce');

var validateRegistry = require('./helpers/validateRegistry');

Expand All @@ -18,7 +18,7 @@ function registry(newRegistry) {

var tasks = this._registry.tasks();

this._registry = _.reduce(tasks, setTasks, newRegistry);
this._registry = reduce(tasks, setTasks, newRegistry);
this._registry.init(this);
}

Expand Down
4 changes: 1 addition & 3 deletions lib/set-task.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@

var assert = require('assert');

var _ = require('lodash');

var metadata = require('./helpers/metadata');

function set(name, fn) {
assert(name, 'Task name must be specified');
assert(typeof name === 'string', 'Task name must be a string');
assert(_.isFunction(fn), 'Task function must be specified');
assert(typeof fn === 'function', 'Task function must be specified');

function taskWrapper(){
return fn.apply(this, arguments);
Expand Down
7 changes: 4 additions & 3 deletions lib/tree.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
'use strict';

var _ = require('lodash');
var defaults = require('lodash.defaults');
var map = require('lodash.map');

var metadata = require('./helpers/metadata');

function tree(opts) {
opts = _.defaults(opts || {}, {
opts = defaults(opts || {}, {
deep: false,
});

var tasks = this._registry.tasks();
var nodes = _.map(tasks, function(task) {
var nodes = map(tasks, function(task) {
var meta = metadata.get(task);

if (opts.deep) {
Expand Down
5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,10 @@
"bach": "^0.4.1",
"es6-weak-map": "^2.0.1",
"last-run": "^1.1.0",
"lodash": "^3.5.0",
"lodash.defaults": "^4.0.1",
"lodash.flatten": "^4.0.0",
"lodash.map": "^4.1.0",
"lodash.reduce": "^4.1.0",
"undertaker-registry": "^1.0.0"
},
"devDependencies": {
Expand Down

0 comments on commit d1f423d

Please sign in to comment.