8
0

tasks.js 740 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /* jshint node: true, esnext: true */
  2. 'use strict';
  3. const gulp = require( 'gulp' );
  4. const build = require( 'lodash-cli' );
  5. const del = require( 'del' );
  6. const DEST_PATH = 'src/lib/lodash';
  7. module.exports = function() {
  8. const tasks = {
  9. lodash() {
  10. return del( DEST_PATH )
  11. .then( buildLodash );
  12. }
  13. };
  14. gulp.task( 'lodash', tasks.lodash );
  15. return tasks;
  16. };
  17. function buildLodash() {
  18. return new Promise( ( resolve, reject ) => {
  19. build( [
  20. 'modularize',
  21. 'exports=es',
  22. 'include=clone,extend,isPlainObject,isObject,isArray,isArrayLike,last,isEqual',
  23. '--development',
  24. '--output', DEST_PATH
  25. ], ( err ) => {
  26. if ( err instanceof Error ) {
  27. reject( err );
  28. } else {
  29. resolve( null );
  30. }
  31. } );
  32. } );
  33. }