angular-cn/tools/gulp-tasks
Alex Rickabaugh 37797e2b4e feat(common): new HttpClient API
HttpClient is an evolution of the existing Angular HTTP API, which exists
alongside of it in a separate package, @angular/common/http. This structure
ensures that existing codebases can slowly migrate to the new API.

The new API improves significantly on the ergonomics and features of the legacy
API. A partial list of new features includes:

* Typed, synchronous response body access, including support for JSON body types
* JSON is an assumed default and no longer needs to be explicitly parsed
* Interceptors allow middleware logic to be inserted into the pipeline
* Immutable request/response objects
* Progress events for both request upload and response download
* Post-request verification & flush based testing framework
2017-07-07 12:09:32 -07:00
..
README.md build: add the `tslint` gulp task (#14481) 2017-02-14 14:16:50 -08:00
build.js build: do not create the bundles when updating the public API 2017-05-17 08:34:50 -07:00
changelog.js build: modularize the gulp file to be easier to maintain (#14259) 2017-02-03 00:10:41 -08:00
check-cycle.js build: modularize the gulp file to be easier to maintain (#14259) 2017-02-03 00:10:41 -08:00
format.js refactor: update paths from modules/@angular to packages 2017-03-08 16:29:28 -08:00
lint.js build: modularize the gulp file to be easier to maintain (#14259) 2017-02-03 00:10:41 -08:00
platform-script-path.js build: modularize the gulp file to be easier to maintain (#14259) 2017-02-03 00:10:41 -08:00
public-api.js feat(common): new HttpClient API 2017-07-07 12:09:32 -07:00
serve.js build: modularize the gulp file to be easier to maintain (#14259) 2017-02-03 00:10:41 -08:00
tools-build.js build: modularize the gulp file to be easier to maintain (#14259) 2017-02-03 00:10:41 -08:00
validate-commit-message.js ci: simplify validate-commit-message empty line logic 2017-02-16 14:57:23 -08:00

README.md

Gulp Tasks folder

This folder contains one file for each task (or group of related tasks) for the project's gulpfile. The dependencies between the tasks is kept in the gulpfile.

Task File Structure

Each task is defined by a factory function that accepts gulp as a parameter. Each file exports either one factory or an object of factories.

E.g. The build.js file contains only one task:

module.exports = (gulp) => (done) => {
  ...
};

E.g. The format.js file contains two tasks:

module.exports = {
  // Check source code for formatting errors (clang-format)
  enforce: (gulp) => () => {
    ...
  },

  // Format the source code with clang-format (see .clang-format)
  format: (gulp) => () => {
    ...
  }
};

Loading Tasks

The tasks are loaded in the gulp file, by requiring them. There is a helper called loadTask(fileName, taskName) will do this for us, where the taskName is optional if the file only exports one task.

E.g. Loading the task that will run the build, from a task file that contains only one task.

gulp.task('build.sh', loadTask('build'));

E.g. Loading the task that will enforce formatting, from a task file that contains more than one task:

gulp.task('format:enforce', loadTask('format', 'enforce'));

E.g. Loading a task that has dependencies:

gulp.task('lint', ['format:enforce', 'tools:build'], loadTask('lint'));