From 9d9013d471051261af15720748ff86879c5b11ef Mon Sep 17 00:00:00 2001 From: Blaine Bublitz Date: Fri, 18 Dec 2015 15:57:12 -0700 Subject: [PATCH] register any function that is exported from a gulpfile --- lib/versioned/^4.0.0-alpha.1/index.js | 5 ++++- lib/versioned/^4.0.0-alpha.2/index.js | 5 ++++- lib/versioned/^4.0.0/index.js | 5 ++++- lib/versioned/^4.0.0/register-exports.js | 21 +++++++++++++++++++++ 4 files changed, 33 insertions(+), 3 deletions(-) create mode 100644 lib/versioned/^4.0.0/register-exports.js diff --git a/lib/versioned/^4.0.0-alpha.1/index.js b/lib/versioned/^4.0.0-alpha.1/index.js index 4feb4163..ef655990 100644 --- a/lib/versioned/^4.0.0-alpha.1/index.js +++ b/lib/versioned/^4.0.0-alpha.1/index.js @@ -13,6 +13,7 @@ var logTasks = require('../../shared/log/tasks'); var logEvents = require('../^4.0.0/log/events'); var logSyncTask = require('../^4.0.0/log/syncTask'); var logTasksSimple = require('../^4.0.0/log/tasksSimple'); +var registerExports = require('../^4.0.0/register-exports'); function execute(opts, env) { @@ -29,7 +30,9 @@ function execute(opts, env) { logSyncTask(gulpInst); // This is what actually loads up the gulpfile - require(env.configPath); + var exported = require(env.configPath); + + registerExports(gulpInst, exported); // Always unmute stdout after gulpfile is required stdout.unmute(); diff --git a/lib/versioned/^4.0.0-alpha.2/index.js b/lib/versioned/^4.0.0-alpha.2/index.js index c59f1bdf..c2811dfa 100644 --- a/lib/versioned/^4.0.0-alpha.2/index.js +++ b/lib/versioned/^4.0.0-alpha.2/index.js @@ -13,6 +13,7 @@ var logTasks = require('../../shared/log/tasks'); var logEvents = require('../^4.0.0/log/events'); var logSyncTask = require('../^4.0.0/log/syncTask'); var logTasksSimple = require('../^4.0.0/log/tasksSimple'); +var registerExports = require('../^4.0.0/register-exports'); function execute(opts, env) { @@ -29,7 +30,9 @@ function execute(opts, env) { logSyncTask(gulpInst); // This is what actually loads up the gulpfile - require(env.configPath); + var exported = require(env.configPath); + + registerExports(gulpInst, exported); // Always unmute stdout after gulpfile is required stdout.unmute(); diff --git a/lib/versioned/^4.0.0/index.js b/lib/versioned/^4.0.0/index.js index 782ecc42..7b0bb9a6 100644 --- a/lib/versioned/^4.0.0/index.js +++ b/lib/versioned/^4.0.0/index.js @@ -13,6 +13,7 @@ var logTasks = require('../../shared/log/tasks'); var logEvents = require('./log/events'); var logSyncTask = require('./log/syncTask'); var logTasksSimple = require('./log/tasksSimple'); +var registerExports = require('./register-exports'); function execute(opts, env) { @@ -29,7 +30,9 @@ function execute(opts, env) { logSyncTask(gulpInst); // This is what actually loads up the gulpfile - require(env.configPath); + var exported = require(env.configPath); + + registerExports(gulpInst, exported); // Always unmute stdout after gulpfile is required stdout.unmute(); diff --git a/lib/versioned/^4.0.0/register-exports.js b/lib/versioned/^4.0.0/register-exports.js new file mode 100644 index 00000000..09a31d0b --- /dev/null +++ b/lib/versioned/^4.0.0/register-exports.js @@ -0,0 +1,21 @@ +'use strict'; + +function registerExports(gulpInst, tasks) { + var taskNames = Object.keys(tasks); + + if (taskNames.length) { + taskNames.forEach(register); + } + + function register(taskName) { + var task = tasks[taskName]; + + if (typeof task !== 'function') { + return; + } + + gulpInst.task(taskName, task); + } +} + +module.exports = registerExports;