angular-cn/tools/gulp-tasks
Alex Rickabaugh d442b6855f feat(service-worker): introduce the @angular/service-worker package (#19274)
This service worker is a conceptual derivative of the existing @angular/service-worker maintained at github.com/angular/mobile-toolkit, but has been rewritten to support use across a much wider variety of applications.

Entrypoints include:

@angular/service-worker: a library for use within Angular client apps to communicate with the service worker.
@angular/service-worker/gen: a library for generating ngsw.json files from glob-based SW config files.
@angular/service-worker/ngsw-worker.js: the bundled service worker script itself.
@angular/service-worker/ngsw-cli.js: a CLI tool for generating ngsw.json files from glob-based SW config files.
2017-09-28 16:18:12 -07:00
..
cldr build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
README.md build: add the `tslint` gulp task (#14481) 2017-02-14 14:16:50 -08:00
build.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
changelog.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
check-cycle.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
cldr.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
format.js build: publish tree of files rather than FESMs (#18541) 2017-08-31 15:34:50 -07:00
lint.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
platform-script-path.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
public-api.js feat(service-worker): introduce the @angular/service-worker package (#19274) 2017-09-28 16:18:12 -07:00
serve.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
source-map-test.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
tools-build.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07:00
validate-commit-message.js build: update npm dependencies (#19328) 2017-09-22 13:20:52 -07: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'));