blob: a8d09640e1e6aa331cadd1a8b684e0b5266286f2 [file] [log] [blame]
Matteo Scandolofc4b37b2017-02-02 12:18:47 -08001'use strict';
2
3/**
4 * This file contains the variables used in other gulp files
5 * which defines tasks
6 * By design, we only put there very generic config values
7 * which are used in several places to keep good readability
8 * of the tasks
9 */
10
11const path = require('path');
12const gutil = require('gulp-util');
13
14exports.ngModule = 'app';
15
16/**
17 * The main paths of your project handle these with care
18 */
19exports.paths = {
20 src: 'src',
Matteo Scandoloa120cfd2017-02-06 16:03:36 -080021 dist: 'dist/extensions/sample', // NOTE that 'sample' have to match the extension name provided in platform install
Matteo Scandolofc4b37b2017-02-02 12:18:47 -080022 appConfig: 'conf/app',
23 tmp: '.tmp',
24 e2e: 'e2e',
25 tasks: 'gulp_tasks'
26};
27
28exports.path = {};
29for (const pathName in exports.paths) {
30 if (exports.paths.hasOwnProperty(pathName)) {
31 exports.path[pathName] = function pathJoin() {
32 const pathValue = exports.paths[pathName];
33 const funcArgs = Array.prototype.slice.call(arguments);
34 const joinArgs = [pathValue].concat(funcArgs);
35 return path.join.apply(this, joinArgs);
36 };
37 }
38}
39
40/**
41 * Common implementation for an error handler of a Gulp plugin
42 */
43exports.errorHandler = function (title) {
44 return function (err) {
45 gutil.log(gutil.colors.red(`[${title}]`), err.toString());
46 this.emit('end');
47 };
48};