'use strict';

/**
 * Expose `utils`
 */

var utils = module.exports;

utils.unixify = function unixify(fp) {
  return fp.split('\\').join('/');
};

utils.arrayify = function arrayify(val) {
  return Array.isArray(val) ? val : [val];
};

utils.replaceExt = function replaceExt(fp, opts) {
  opts = opts || {};
  if (typeof opts.extDot === 'undefined') {
    opts.extDot = 'first';
  }
  var re = {first: /(\.[^\/]*)?$/, last: /(\.[^\/\.]*)?$/};
  return fp.replace(re[opts.extDot], opts.ext);
};

@@ -39,42 +39,379 @@
 */%0A%0A
-var utils = module.exports;%0A%0Autils
+module.exports = function (fn) %7B%0A  var lazy = require('lazy-cache')(fn);%0A  lazy('map-dest');%0A  lazy('has-glob');%0A  lazy('files-objects', 'toMapping');%0A  lazy('global-modules', 'gm');%0A  lazy('kind-of', 'typeOf');%0A  lazy('object.pick', 'pick');%0A  lazy('object.omit', 'omit');%0A  lazy('mixin-deep', 'merge');%0A  lazy('expand-tilde', 'tilde');%0A  lazy('globby', 'glob');%0A%0A  lazy
 .uni
@@ -436,24 +436,26 @@
 ixify(fp) %7B%0A
+  
   return fp.
@@ -477,25 +477,28 @@
 n('/');%0A
+  
 %7D;%0A%0A
-utils
+  lazy
 .arrayif
@@ -526,16 +526,18 @@
 (val) %7B%0A
+  
   return
@@ -575,17 +575,20 @@
 l%5D;%0A
+  
 %7D;%0A%0A
-utils
+  lazy
 .rep
@@ -629,16 +629,18 @@
 opts) %7B%0A
+  
   opts =
@@ -654,16 +654,18 @@
 %7C %7B%7D;%0A  
+ 
+ 
 if (type
@@ -698,24 +698,26 @@
 ned') %7B%0A    
+  
 opts.extDot 
@@ -731,14 +731,18 @@
 t';%0A
+  
   %7D%0A  
+ 
+ 
 var 
@@ -795,16 +795,18 @@
 *)?$/%7D;%0A
+  
   return
@@ -845,11 +845,33 @@
 s.ext);%0A
+  
 %7D;%0A
+%0A  return lazy;%0A%7D;%0A%0A

make libs lazy