Skip to content

Commit 0ac9e04

Browse files
callumacraephated
authored andcommitted
Docs: Add "Project structure" section to CONTRIBUTING.md (#1859)
1 parent 723cbc4 commit 0ac9e04

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

CONTRIBUTING.md

+47
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,53 @@ of the content
2828
- formatting: help keep content easy to read with consistent formatting
2929
- code: Fix issues or contribute new features to this or any related projects
3030

31+
# Project structure
32+
33+
Gulp itself is tiny: index.js contains [very few lines of code](https://github.com/gulpjs/gulp/blob/4.0/index.js).
34+
It is powered by a few other libraries which each handle a few specific tasks
35+
each.
36+
37+
You can view all issues with the "help wanted" label across all gulp projects
38+
here: https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Agulpjs+label%3A%22help+wanted%22+
39+
40+
## Undertaker: task management
41+
42+
Undertaker handles task management in Gulp: the `gulp.task()`, `gulp.series()`
43+
and `gulp.parallel()` functions. `gulp.series()` and `gulp.parallel()` are in
44+
turn powered by Bach.
45+
46+
- https://github.com/gulpjs/undertaker
47+
- https://github.com/gulpjs/bach
48+
49+
## vinyl-fs: file streams
50+
51+
vinyl-fs powers the `gulp.src()` and `gulp.dest()` functions: they take files
52+
and globs specified by the user, turns them into a stream of file objects,
53+
and then puts them back into the filesystem when `gulp.dest()` is called.
54+
55+
The file objects themselves are vinyl objects: that's another library (a simple
56+
one!)
57+
58+
- https://github.com/gulpjs/vinyl-fs
59+
- https://github.com/gulpjs/vinyl
60+
61+
## chokidar: file watching
62+
63+
`gulp.watch()` is using chokidar for file watching. It's actually wrapped in a
64+
small library on the gulp organization, glob-watcher.
65+
66+
- https://github.com/paulmillr/chokidar
67+
- https://github.com/gulpjs/glob-watcher
68+
69+
## gulp-cli: running gulp
70+
71+
Finally, we have gulp-cli. This uses liftoff to take what people run in the
72+
command line and run the correct tasks. It works with both gulp 4 and older
73+
versions of gulp.
74+
75+
- https://github.com/gulpjs/gulp-cli
76+
- https://github.com/js-cli/js-liftoff
77+
3178
# Conduct
3279

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

0 commit comments

Comments
 (0)