development-tool
Advanced tools
Comparing version 0.1.5 to 0.2.0
@@ -48,6 +48,11 @@ /// <reference types="gulp" /> | ||
} | ||
export interface TaskOption { | ||
export interface Asserts { | ||
src: Src; | ||
dist?: string; | ||
build?: string; | ||
release?: string; | ||
deploy?: string; | ||
} | ||
export interface TaskOption extends Asserts { | ||
loader: string | LoaderOption; | ||
src?: string; | ||
dist?: string; | ||
externalTask?: Task; | ||
@@ -70,4 +75,5 @@ runTasks?: Src[] | ((oper: Operation, tasks: Src[], subGroupTask?: Src) => Src[]); | ||
findTasksInDir?(dirs: Src): Promise<Task[]>; | ||
getDist?(asserts: Asserts): string; | ||
fileFilter?(directory: string, express?: ((fileName: string) => boolean)): string[]; | ||
runSequence?(gulp: Gulp, tasks: Src[]): Promise<any>; | ||
} |
@@ -53,2 +53,22 @@ "use strict"; | ||
cfg.runSequence = cfg.runSequence || runSequence; | ||
cfg.getDist = cfg.getDist || (function (asserts) { | ||
let dist; | ||
switch (this.oper) { | ||
case TaskConfig_1.Operation.build: | ||
case TaskConfig_1.Operation.test: | ||
case TaskConfig_1.Operation.e2e: | ||
dist = asserts.build || asserts.dist; | ||
break; | ||
case TaskConfig_1.Operation.release: | ||
dist = asserts.release || asserts.dist; | ||
break; | ||
case TaskConfig_1.Operation.deploy: | ||
dist = asserts.deploy || asserts.dist; | ||
break; | ||
default: | ||
dist = ''; | ||
break; | ||
} | ||
return dist; | ||
}).bind(cfg); | ||
return cfg; | ||
@@ -64,2 +84,3 @@ } | ||
return Promise.all(_.map(_.isArray(tasks) ? tasks : [tasks], optask => { | ||
optask.dist = optask.dist || 'dist'; | ||
console.log(chalk.grey('begin load task via loader:'), optask.loader); | ||
@@ -66,0 +87,0 @@ let loader = this.createLoader(optask); |
{ | ||
"name": "development-tool", | ||
"version": "0.1.5", | ||
"version": "0.2.0", | ||
"description": "development build tools.", | ||
@@ -5,0 +5,0 @@ "main": "./lib/tools.js", |
@@ -43,3 +43,3 @@ # packaged development-tool | ||
{ | ||
src: 'src/**/*.css', | ||
src: ['src/apath/**/*.css', 'src/bpath/**/*.css'], | ||
dist: 'dist', | ||
@@ -46,0 +46,0 @@ loader: { |
@@ -204,2 +204,43 @@ import { Gulp } from 'gulp'; | ||
/** | ||
* asserts to be dealt with. | ||
* | ||
* @export | ||
* @interface Asserts | ||
*/ | ||
export interface Asserts { | ||
/** | ||
* the src file filter string. default 'src'. | ||
* | ||
* @type {string} | ||
* @memberOf Asserts | ||
*/ | ||
src: Src; | ||
/** | ||
* default folder. if empty use parent setting, or ues 'dist'. | ||
*/ | ||
dist?: string; | ||
/** | ||
* build folder. if empty use parent setting, or ues 'dist'. | ||
* | ||
* @type {string} | ||
* @memberOf Asserts | ||
*/ | ||
build?: string; | ||
/** | ||
* release folder. if empty use parent setting, or ues 'dist'. | ||
* | ||
* @type {string} | ||
* @memberOf Asserts | ||
*/ | ||
release?: string; | ||
/** | ||
* deploy folder. if empty use parent setting, or ues 'dist'. | ||
* | ||
* @type {string} | ||
* @memberOf Asserts | ||
*/ | ||
deploy?: string; | ||
} | ||
/** | ||
* task option setting. | ||
@@ -210,3 +251,3 @@ * | ||
*/ | ||
export interface TaskOption { | ||
export interface TaskOption extends Asserts { | ||
/** | ||
@@ -219,10 +260,2 @@ * task loader | ||
loader: string | LoaderOption; | ||
/** | ||
* the project src root folder. default 'src'. | ||
*/ | ||
src?: string; | ||
/** | ||
* build folder. default 'dist'. | ||
*/ | ||
dist?: string; | ||
@@ -320,2 +353,3 @@ /** | ||
option: TaskOption; | ||
/** | ||
@@ -357,3 +391,13 @@ * custom config run tasks sequence in. | ||
findTasksInDir?(dirs: Src): Promise<Task[]>; | ||
/** | ||
* get dist of current state. default implement in tools. | ||
* | ||
* @param {Asserts} asserts | ||
* @returns {string} | ||
* | ||
* @memberOf TaskConfig | ||
*/ | ||
getDist?(asserts: Asserts): string; | ||
/** | ||
* filter file in directory. default implement in tools. | ||
@@ -360,0 +404,0 @@ * |
@@ -7,3 +7,3 @@ import * as _ from 'lodash'; | ||
import { LoaderFactory } from './LoaderFactory'; | ||
import { Src, Task, TaskOption, Operation, EnvOption, TaskConfig } from './TaskConfig'; | ||
import { Src, Asserts, Task, TaskOption, Operation, EnvOption, TaskConfig } from './TaskConfig'; | ||
import { DevelopConfig } from './DevelopConfig'; | ||
@@ -69,2 +69,22 @@ import * as chalk from 'chalk'; | ||
cfg.runSequence = cfg.runSequence || runSequence; | ||
cfg.getDist = cfg.getDist || (function(asserts: Asserts){ | ||
let dist: string; | ||
switch (this.oper) { | ||
case Operation.build: | ||
case Operation.test: | ||
case Operation.e2e: | ||
dist = asserts.build || asserts.dist; | ||
break; | ||
case Operation.release: | ||
dist = asserts.release || asserts.dist; | ||
break; | ||
case Operation.deploy: | ||
dist = asserts.deploy || asserts.dist; | ||
break; | ||
default: | ||
dist = ''; | ||
break; | ||
} | ||
return dist; | ||
}).bind(cfg); | ||
return cfg; | ||
@@ -94,2 +114,3 @@ } | ||
_.map(_.isArray(tasks) ? <TaskOption[]>tasks : [<TaskOption>tasks], optask => { | ||
optask.dist = optask.dist || 'dist'; | ||
console.log(chalk.grey('begin load task via loader:'), optask.loader); | ||
@@ -96,0 +117,0 @@ let loader = this.createLoader(optask); |
65346
1868