Skip to content

Commit d1f423d

Browse files
TrySoundphated
authored andcommitted
Breaking: Use lodash.* npm modules & upgrade to ^4
1 parent abe9e6a commit d1f423d

7 files changed

+27
-22
lines changed

lib/helpers/buildTree.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
'use strict';
22

3-
var _ = require('lodash');
3+
var map = require('lodash.map');
44

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

77
function buildTree(tasks) {
8-
return _.map(tasks, function(task) {
8+
return map(tasks, function(task) {
99
var meta = metadata.get(task);
1010
if (meta) {
1111
return meta.tree;

lib/helpers/normalizeArgs.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22

33
var assert = require('assert');
44

5-
var _ = require('lodash');
5+
var map = require('lodash.map');
6+
var flatten = require('lodash.flatten');
67

78
function normalizeArgs(registry, args) {
89
function getFunction(task) {
@@ -15,7 +16,7 @@ function normalizeArgs(registry, args) {
1516
return fn;
1617
}
1718

18-
return _.map(_.flatten(args), getFunction);
19+
return map(flatten(args), getFunction);
1920
}
2021

2122
module.exports = normalizeArgs;

lib/helpers/validateRegistry.js

+11-9
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@
22

33
var assert = require('assert');
44

5-
var _ = require('lodash');
5+
function isFunction(fn) {
6+
return typeof fn === 'function';
7+
}
68

79
function isConstructor(registry) {
810
if (!(registry && registry.prototype)) {
911
return false;
1012
}
1113

12-
var hasProtoGet = _.isFunction(registry.prototype.get);
13-
var hasProtoSet = _.isFunction(registry.prototype.set);
14-
var hasProtoInit = _.isFunction(registry.prototype.init);
15-
var hasProtoTasks = _.isFunction(registry.prototype.tasks);
14+
var hasProtoGet = isFunction(registry.prototype.get);
15+
var hasProtoSet = isFunction(registry.prototype.set);
16+
var hasProtoInit = isFunction(registry.prototype.init);
17+
var hasProtoTasks = isFunction(registry.prototype.tasks);
1618

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

2426
function validateRegistry(registry) {
2527
try {
26-
assert(_.isFunction(registry.get), 'Custom registry must have `get` function');
27-
assert(_.isFunction(registry.set), 'Custom registry must have `set` function');
28-
assert(_.isFunction(registry.init), 'Custom registry must have `init` function');
29-
assert(_.isFunction(registry.tasks), 'Custom registry must have `tasks` function');
28+
assert(isFunction(registry.get), 'Custom registry must have `get` function');
29+
assert(isFunction(registry.set), 'Custom registry must have `set` function');
30+
assert(isFunction(registry.init), 'Custom registry must have `init` function');
31+
assert(isFunction(registry.tasks), 'Custom registry must have `tasks` function');
3032
} catch (err) {
3133
if (isConstructor(registry)) {
3234
assert(false, 'Custom registries must be instantiated, but it looks like you passed a constructor');

lib/registry.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use strict';
22

3-
var _ = require('lodash');
3+
var reduce = require('lodash.reduce');
44

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

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

1919
var tasks = this._registry.tasks();
2020

21-
this._registry = _.reduce(tasks, setTasks, newRegistry);
21+
this._registry = reduce(tasks, setTasks, newRegistry);
2222
this._registry.init(this);
2323
}
2424

lib/set-task.js

+1-3
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22

33
var assert = require('assert');
44

5-
var _ = require('lodash');
6-
75
var metadata = require('./helpers/metadata');
86

97
function set(name, fn) {
108
assert(name, 'Task name must be specified');
119
assert(typeof name === 'string', 'Task name must be a string');
12-
assert(_.isFunction(fn), 'Task function must be specified');
10+
assert(typeof fn === 'function', 'Task function must be specified');
1311

1412
function taskWrapper(){
1513
return fn.apply(this, arguments);

lib/tree.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
'use strict';
22

3-
var _ = require('lodash');
3+
var defaults = require('lodash.defaults');
4+
var map = require('lodash.map');
45

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

78
function tree(opts) {
8-
opts = _.defaults(opts || {}, {
9+
opts = defaults(opts || {}, {
910
deep: false,
1011
});
1112

1213
var tasks = this._registry.tasks();
13-
var nodes = _.map(tasks, function(task) {
14+
var nodes = map(tasks, function(task) {
1415
var meta = metadata.get(task);
1516

1617
if (opts.deep) {

package.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@
2525
"bach": "^0.4.1",
2626
"es6-weak-map": "^2.0.1",
2727
"last-run": "^1.1.0",
28-
"lodash": "^3.5.0",
28+
"lodash.defaults": "^4.0.1",
29+
"lodash.flatten": "^4.0.0",
30+
"lodash.map": "^4.1.0",
31+
"lodash.reduce": "^4.1.0",
2932
"undertaker-registry": "^1.0.0"
3033
},
3134
"devDependencies": {

0 commit comments

Comments
 (0)