Closed g-plane closed 6 years ago
A whole lot smaller and getting a totally different approach.
And Gulp is "streaming", which in turn is only when you do IO stuff (so, using .src
and .pipe
stuff). Other than that, Gulp is nothing more than too much code for simple thing like EventEmitter. Not to mention that the main thing - the streaming, is badly implemented and slow.
task('foo', () => {
// do something
})
Isn't that similar to
emitter.on('minify', () => {
// do stuff
})
and test runners
test('foo bar baz', (t) => {
t.strictEqual(1, 1)
})
Right? Start and other such task runners are completely different and are using modern features and minimal approaches.
In Start everything is a Promise, which is in my opinion much closer to JS ecosystem reality than "everything is a Stream" hackarounds. Plugins are just simple and thin wrappers on top of already existing (in most cases) promise-based APIs, like fast-glob. Tasks are just lazy functions with arguments that wraps plugins. It's functional and composable in general. There is a way to publish "presets" as separate packages with everything included, even Start CLI.
On the other hand if you are totally fine with Gulp I personally see almost no reasons to try something else. Start shines when you like the concept behind.
What're the differences with gulp?