Comments (4)
By the way I was able to use null dependencies
in gulp3
gulp.task('build', env.clean ? ['clean'] : null, function (done) {done();});
from undertaker.
I'm not sure how I feel about this. It goes against functional composition. Why not just use a named function called noop or something?
from undertaker.
I wouldn't like to see noop in log, caz it's nothing do. Maybe some gulp.noop() which will be ignored in log?
from undertaker.
@TrySound I've thought about this some more and I don't think this case should be supported. By "nulling" out some tasks, you will be screwing up the tasks listed by gulp --tasks
because the dependency trees are built when the gulpfile is loaded and the task listing loads the gulpfile. This is something you can still do but I don't think the average user should be doing it, as it can be confusing and I don't want to adjust the API to make it easier for them to get confused.
The recommended way for this would be to put an early return in your task and maybe use gulplog
to log a skipped message. You could make this into an interesting helper; maybe something like:
function skippable(condition, fn){
if (!condition) {
return fn;
}
function skipped(cb){
cb();
}
skipped.displayName = (fn.name || fn.displayName) + ' (skipped)';
return skipped;
}
function clean(cb){ ... }
gulp.task(skippable(env.clean, clean));
from undertaker.
Related Issues (20)
- Undertaker links to protestware - blocks pipelines HOT 1
- Can't get task description and flags because returning wrapped function HOT 7
- Error handling HOT 5
- Tasks composition without gulp HOT 5
- Error run gulp serve HOT 2
- Test fails on Node v6.9.1+ HOT 3
- Consider removing lodash modules
- Series/parallel arguments should not have 0 length
- Add test for array as only argument in series/parallel
- settle not working with es2015 async functions HOT 1
- stack trace is unintelligible since error is not serialized properly HOT 1
- Custom registry must have `get` function HOT 2
- timeResolution -> precision
- Raise node version minbar to 0.12 to eliminate the biggest dependencies HOT 1
- Sharing Functionalities example not working for `serial` and `parallel` tasks. HOT 1
- Build failing with AssertionError: Task function must be specified HOT 2
- TypeError: browserSync is not a function HOT 1
- Remove UNDERTAKER_TIME_RESOLUTION HOT 2
- Update repository scaffold
- Namespace 'Undertaker' has no exported member 'TaskCallback'. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from undertaker.