Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,53 @@ of the content
- formatting: help keep content easy to read with consistent formatting
- code: Fix issues or contribute new features to this or any related projects

# Project structure

Gulp itself is tiny: index.js contains [very few lines of code](https://github.com/gulpjs/gulp/blob/4.0/index.js).
It is powered by a few other libraries which each handle a few specific tasks
each.

You can view all issues with the "help wanted" label across all gulp projects
here: https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Agulpjs+label%3A%22help+wanted%22+

## Undertaker: task management

Undertaker handles task management in Gulp: the `gulp.task()`, `gulp.series()`
and `gulp.parallel()` functions. `gulp.series()` and `gulp.parallel()` are in
turn powered by Bach.

- https://github.com/gulpjs/undertaker
- https://github.com/gulpjs/bach

## vinyl-fs: file streams

vinyl-fs powers the `gulp.src()` and `gulp.dest()` functions: they take files
and globs specified by the user, turns them into a stream of file objects,
and then puts them back into the filesystem when `gulp.dest()` is called.

The file objects themselves are vinyl objects: that's another library (a simple
one!)

- https://github.com/gulpjs/vinyl-fs
- https://github.com/gulpjs/vinyl

## chokidar: file watching

`gulp.watch()` is using chokidar for file watching. It's actually wrapped in a
small library on the gulp organization, glob-watcher.

- https://github.com/paulmillr/chokidar
- https://github.com/gulpjs/glob-watcher

## gulp-cli: running gulp

Finally, we have gulp-cli. This uses liftoff to take what people run in the
command line and run the correct tasks. It works with both gulp 4 and older
versions of gulp.

- https://github.com/gulpjs/gulp-cli
- https://github.com/js-cli/js-liftoff

# Conduct

We are committed to providing a friendly, safe and welcoming environment for
Expand Down