check for options project before running

This commit is contained in:
Ken 2018-12-06 16:40:55 -08:00
Родитель d37fcec1f5
Коммит cb42a0b46d
2 изменённых файлов: 17 добавлений и 4 удалений

Просмотреть файл

@ -0,0 +1,7 @@
const { task, parallel } = require('just-task');
const { tscTask } = require('../lib/tscTask');
//task('build', parallel(tscTask(), tscTask()));
task('ts', tscTask());
task('build', parallel('ts'));

Просмотреть файл

@ -11,11 +11,17 @@ interface Arguments {
[key: string]: string;
}
export function tscTask(getOptions: (argv: Arguments) => ts.CompilerOptions | ts.CompilerOptions) {
return function(this: { logger: ILogger; argv: Arguments }, done: (err?: Error) => void) {
const options = typeof getOptions === 'function' ? getOptions(this.argv) : getOptions;
type GetOptions = ts.CompilerOptions | ((test: Arguments) => ts.CompilerOptions);
this.logger.info(`Running ${tscCmd} with ${options.project}`);
export function tscTask(getOptions: GetOptions) {
return function tsc(this: { logger: ILogger; argv: Arguments }, done: (err?: Error) => void) {
const options = (typeof getOptions === 'function' ? getOptions(this.argv) : getOptions) || {};
if (options.project) {
this.logger.info(`Running ${tscCmd} with ${options.project}`);
} else {
this.logger.info(`Running ${tscCmd}`);
}
const args = Object.keys(options).reduce(
(args, option) => {