now modularized, implements #11

This commit is contained in:
2016-10-21 17:48:52 +02:00
parent 4f93ef3fb2
commit 8e4a4e5766
56 changed files with 453 additions and 261 deletions

4
dist/mod00/index.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
/// <reference types="q" />
import * as q from 'q';
import { INpmtsConfig } from '../npmts.config';
export declare let run: (configArg: INpmtsConfig) => q.Promise<INpmtsConfig>;

22
dist/mod00/index.js vendored Normal file
View File

@ -0,0 +1,22 @@
"use strict";
/* ------------------------------------------
* This module compiles TypeScript files
* -------------------------------------------- */
const q = require("q");
const npmts_log_1 = require("../npmts.log");
const NpmtsAssets = require("./mod00.assets");
const NpmtsCheck = require("./mod00.check");
const NpmtsClean = require("./mod00.clean");
const NpmtsCompile = require("./mod00.compile");
exports.run = function (configArg) {
let done = q.defer();
npmts_log_1.npmtsOra.text('starting TypeScript Compilation');
NpmtsClean.run(configArg)
.then(NpmtsCheck.run)
.then(NpmtsCompile.run)
.then(NpmtsAssets.run)
.then(function () {
done.resolve(configArg);
});
return done.promise;
};

View File

@ -1,15 +1,15 @@
"use strict";
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const q = require("q");
const npmts_promisechain_1 = require("./npmts.promisechain");
const npmts_check_1 = require("./npmts.check");
const paths = require("../npmts.paths");
const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod00.plugins");
const mod00_check_1 = require("../mod00/mod00.check");
exports.run = function (configArg) {
let done = q.defer();
let config = configArg;
npmts_promisechain_1.npmtsOra.text('now looking at ' + 'required assets'.yellow);
npmts_log_1.npmtsOra.text('now looking at ' + 'required assets'.yellow);
if (config.cli === true) {
let mainJsPath = npmts_check_1.projectInfo.packageJson.main;
let mainJsPath = mod00_check_1.projectInfo.packageJson.main;
let cliJsString = plugins.smartfile.fs.toStringSync(plugins.path.join(paths.npmtsAssetsDir, 'cli.js'));
cliJsString = cliJsString.replace('{{pathToIndex}}', mainJsPath);
plugins.smartfile.memory.toFsSync(cliJsString, plugins.path.join(paths.distDir, 'cli.js'));

View File

@ -1,12 +1,12 @@
"use strict";
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const q = require("q");
const npmts_promisechain_1 = require("./npmts.promisechain");
const projectinfo_1 = require("projectinfo");
const paths = require("../npmts.paths");
const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod00.plugins");
let checkProjectTypings = (configArg) => {
let done = q.defer();
npmts_promisechain_1.npmtsOra.text('Check Module: Check Project Typings...');
npmts_log_1.npmtsOra.text('Check Module: Check Project Typings...');
exports.projectInfo = new projectinfo_1.ProjectinfoNpm(paths.cwd);
if (typeof exports.projectInfo.packageJson.typings === 'undefined') {
plugins.beautylog.error(`please add typings field to package.json`);
@ -32,7 +32,7 @@ const depcheckOptions = {
};
let checkDependencies = (configArg) => {
let done = q.defer();
npmts_promisechain_1.npmtsOra.text('Check Module: Check Dependencies...');
npmts_log_1.npmtsOra.text('Check Module: Check Dependencies...');
let depcheckOptionsMerged = plugins.lodash.merge(depcheckOptions, {
ignoreDirs: [
'test',
@ -68,7 +68,7 @@ let checkDependencies = (configArg) => {
};
let checkDevDependencies = (configArg) => {
let done = q.defer();
npmts_promisechain_1.npmtsOra.text('Check Module: Check devDependencies...');
npmts_log_1.npmtsOra.text('Check Module: Check devDependencies...');
let depcheckOptionsMerged = plugins.lodash.merge(depcheckOptions, {
ignoreDirs: [
'ts',
@ -103,13 +103,13 @@ let checkDevDependencies = (configArg) => {
};
let checkNodeVersion = (configArg) => {
let done = q.defer();
npmts_promisechain_1.npmtsOra.text('checking node version');
npmts_log_1.npmtsOra.text('checking node version');
done.resolve(configArg);
return done.promise;
};
exports.run = (configArg) => {
let done = q.defer();
npmts_promisechain_1.npmtsOra.text('Check Module: ...');
npmts_log_1.npmtsOra.text('Check Module: ...');
checkProjectTypings(configArg)
.then(checkDependencies)
.then(checkDevDependencies)

View File

@ -1,13 +1,13 @@
"use strict";
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const q = require("q");
const npmts_promisechain_1 = require("./npmts.promisechain");
const paths = require("../npmts.paths");
const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod00.plugins");
/**
* removes the dist directory which will be entirely rebuild
*/
let removeDist = function () {
npmts_promisechain_1.npmtsOra.text('cleaning dist folder');
npmts_log_1.npmtsOra.text('cleaning dist folder');
return plugins.smartfile.fs.remove(paths.distDir);
};
/**
@ -25,11 +25,11 @@ let removeTestDeclarations = function () {
* remove old pages
*/
let removePages = function () {
npmts_promisechain_1.npmtsOra.text('cleaning pages folder');
npmts_log_1.npmtsOra.text('cleaning pages folder');
return plugins.smartfile.fs.remove(paths.pagesDir);
};
exports.run = function (configArg) {
npmts_promisechain_1.npmtsOra.text('cleaning up from previous builds...');
npmts_log_1.npmtsOra.text('cleaning up from previous builds...');
let done = q.defer();
removeDist()
.then(removeTestDeclarations)

View File

@ -1,12 +1,12 @@
"use strict";
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const q = require("q");
const npmts_promisechain_1 = require("./npmts.promisechain");
const paths = require("../npmts.paths");
const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod00.plugins");
exports.run = function (configArg) {
let done = q.defer();
let config = configArg;
npmts_promisechain_1.npmtsOra.text('now compiling ' + 'TypeScript'.yellow);
npmts_log_1.npmtsOra.text('now compiling ' + 'TypeScript'.yellow);
plugins.tsn.compileGlobStringObject(config.ts, config.tsOptions, paths.cwd)
.then(() => {
plugins.beautylog.ok('compiled main TypeScript!');

6
dist/mod00/mod00.plugins.d.ts vendored Normal file
View File

@ -0,0 +1,6 @@
export * from '../npmts.plugins';
import * as tsn from 'tsn';
import * as shelljs from 'shelljs';
import * as smartchok from 'smartchok';
import * as smartstream from 'smartstream';
export { tsn, shelljs, smartchok, smartstream };

13
dist/mod00/mod00.plugins.js vendored Normal file
View File

@ -0,0 +1,13 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
__export(require("../npmts.plugins"));
const tsn = require("tsn");
exports.tsn = tsn;
const shelljs = require("shelljs");
exports.shelljs = shelljs;
const smartchok = require("smartchok");
exports.smartchok = smartchok;
const smartstream = require("smartstream");
exports.smartstream = smartstream;

4
dist/mod01/index.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
/// <reference types="q" />
import * as q from 'q';
import { INpmtsConfig } from '../npmts.config';
export declare let run: (configArg: INpmtsConfig) => q.Promise<INpmtsConfig>;

View File

@ -1,12 +1,15 @@
"use strict";
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const npmts_promisechain_1 = require("./npmts.promisechain");
/* ------------------------------------------
* This module creates TypeScript documentation
* -------------------------------------------- */
const q = require("q");
const npmts_check_1 = require("./npmts.check");
const paths = require("../npmts.paths");
const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod01.plugins");
const mod00_check_1 = require("../mod00/mod00.check");
let genTypeDoc = function (configArg) {
let done = q.defer();
npmts_promisechain_1.npmtsOra.text('now generating ' + 'TypeDoc documentation'.yellow);
npmts_log_1.npmtsOra.text('now generating ' + 'TypeDoc documentation'.yellow);
plugins.beautylog.log('TypeDoc Output:');
let localSmartstream = new plugins.smartstream.Smartstream([
plugins.gulp.src(plugins.path.join(paths.tsDir, '**/*.ts')),
@ -19,15 +22,17 @@ let genTypeDoc = function (configArg) {
out: paths.pagesApiDir,
json: plugins.path.join(paths.pagesApiDir, 'file.json'),
// TypeDoc options (see typedoc docs)
name: npmts_check_1.projectInfo.name,
name: mod00_check_1.projectInfo.name,
readme: plugins.path.join(paths.cwd, 'README.md'),
// theme: "default",
version: true
})
]);
localSmartstream.run().then(() => {
plugins.beautylog.ok('TypeDoc documentation generated!');
done.resolve(configArg);
}, (err) => {
plugins.beautylog.warn('TypeDoc documentation generation failed!');
console.log(err);
done.resolve(configArg);
});

4
dist/mod01/mod01.plugins.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
export * from '../npmts.plugins';
import * as gulp from 'gulp';
declare let gulpTypedoc: any;
export { gulp, gulpTypedoc };

9
dist/mod01/mod01.plugins.js vendored Normal file
View File

@ -0,0 +1,9 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
__export(require("../npmts.plugins"));
const gulp = require("gulp");
exports.gulp = gulp;
let gulpTypedoc = require('gulp-typedoc');
exports.gulpTypedoc = gulpTypedoc;

4
dist/mod02/index.d.ts vendored Normal file
View File

@ -0,0 +1,4 @@
/// <reference types="q" />
import * as q from 'q';
import { INpmtsConfig } from '../npmts.config';
export declare let run: (configArg: INpmtsConfig) => q.Promise<INpmtsConfig>;

View File

@ -1,15 +1,18 @@
"use strict";
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
/* ------------------------------------------
* This module tests the compiled TypeScript files
* -------------------------------------------- */
const plugins = require("./mod02.plugins");
const paths = require("../npmts.paths");
const q = require("q");
const npmts_promisechain_1 = require("./npmts.promisechain");
const npmts_log_1 = require("../npmts.log");
/**
* runs mocha
* @returns INpmtsConfig
*/
let mocha = function (configArg) {
npmts_promisechain_1.npmtsOra.text('Instrumentalizing and testing transpiled JS');
npmts_promisechain_1.npmtsOra.end(); // end npmtsOra for tests.
npmts_log_1.npmtsOra.text('Instrumentalizing and testing transpiled JS');
npmts_log_1.npmtsOra.end(); // end npmtsOra for tests.
let done = q.defer();
plugins.gulp.src([plugins.path.join(paths.cwd, 'dist/*.js')])
.pipe(plugins.gulpSourcemaps.init())
@ -39,6 +42,7 @@ let mocha = function (configArg) {
localSmartstream.run()
.then(() => { done.resolve(configArg); }, (err) => {
plugins.beautylog.error('Tests failed!');
console.log(err);
if (configArg.watch) {
done.resolve(configArg);
}
@ -75,7 +79,7 @@ exports.run = function (configArg) {
let done = q.defer();
let config = configArg;
if (config.test === true) {
npmts_promisechain_1.npmtsOra.text('now starting tests');
npmts_log_1.npmtsOra.text('now starting tests');
plugins.beautylog.log('-------------------------------------------------------\n' +
'*************************** TESTS: ***************************\n' +
'--------------------------------------------------------------');
@ -86,7 +90,7 @@ exports.run = function (configArg) {
});
}
else {
npmts_promisechain_1.npmtsOra.end();
npmts_log_1.npmtsOra.end();
done.resolve(config);
}
return done.promise;

9
dist/mod02/mod02.plugins.d.ts vendored Normal file
View File

@ -0,0 +1,9 @@
export * from '../npmts.plugins';
import * as gulp from 'gulp';
import * as gulpBabel from 'gulp-babel';
import * as gulpIstanbul from 'gulp-istanbul';
import * as gulpFunction from 'gulp-function';
declare let gulpInjectModules: any;
import * as gulpMocha from 'gulp-mocha';
import * as gulpSourcemaps from 'gulp-sourcemaps';
export { gulp, gulpBabel, gulpIstanbul, gulpFunction, gulpInjectModules, gulpMocha, gulpSourcemaps };

19
dist/mod02/mod02.plugins.js vendored Normal file
View File

@ -0,0 +1,19 @@
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
__export(require("../npmts.plugins"));
const gulp = require("gulp");
exports.gulp = gulp;
const gulpBabel = require("gulp-babel");
exports.gulpBabel = gulpBabel;
const gulpIstanbul = require("gulp-istanbul");
exports.gulpIstanbul = gulpIstanbul;
const gulpFunction = require("gulp-function");
exports.gulpFunction = gulpFunction;
let gulpInjectModules = require('gulp-inject-modules');
exports.gulpInjectModules = gulpInjectModules;
const gulpMocha = require("gulp-mocha");
exports.gulpMocha = gulpMocha;
const gulpSourcemaps = require("gulp-sourcemaps");
exports.gulpSourcemaps = gulpSourcemaps;

46
dist/npmts.cli.js vendored
View File

@ -1,8 +1,12 @@
"use strict";
const q = require("q");
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const promisechain = require("./npmts.promisechain");
const q = require("q");
const NpmtsConfig = require("./npmts.config");
const NpmtsMods = require("./npmts.mods");
const NpmtsWatch = require("./npmts.watch");
const NpmtsShip = require("./npmts.ship");
const npmts_log_1 = require("./npmts.log");
exports.run = () => {
let done = q.defer();
let npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot);
@ -11,8 +15,42 @@ exports.run = () => {
.then((argvArg) => {
plugins.beautylog.figletSync('NPMTS');
plugins.beautylog.info('npmts version: ' + npmtsProjectInfo.version);
promisechain.run(argvArg).catch((err) => { console.log(err); });
});
return NpmtsConfig.run(argvArg);
})
.then((configArg) => {
let done = q.defer();
npmts_log_1.npmtsOra.start('loading additional modules...');
NpmtsMods.mod00.load()
.then((mod00) => {
return mod00.run(configArg);
})
.then(configArg => {
let done = q.defer();
NpmtsMods.mod01.load()
.then(mod01 => {
return mod01.run(configArg);
})
.then(configArg => {
done.resolve(configArg);
});
return done.promise;
})
.then(configArg => {
let done = q.defer();
NpmtsMods.mod02.load()
.then(mod02 => {
return mod02.run(configArg);
})
.then(configArg => {
done.resolve(configArg);
});
return done.promise;
})
.then(NpmtsWatch.run)
.then(NpmtsShip.run);
return done.promise;
})
.catch((err) => { console.log(err); });
npmtsCli.addVersion(npmtsProjectInfo.version);
npmtsCli.startParse();
return done.promise;

View File

@ -2,7 +2,7 @@
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const q = require("q");
const npmts_promisechain_1 = require("./npmts.promisechain");
const npmts_log_1 = require("./npmts.log");
;
exports.run = function (argvArg) {
let done = q.defer();
@ -18,7 +18,7 @@ exports.run = function (argvArg) {
watch: false
};
// mix with configfile
npmts_promisechain_1.npmtsOra.text('running npmextra');
npmts_log_1.npmtsOra.text('running npmextra');
let localNpmextra = new plugins.npmextra.Npmextra(paths.cwd);
let config = localNpmextra.dataFor('npmts', defaultConfig);
// add argv

2
dist/npmts.log.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import { Ora } from 'beautylog';
export declare let npmtsOra: Ora;

3
dist/npmts.log.js vendored Normal file
View File

@ -0,0 +1,3 @@
"use strict";
const beautylog_1 = require("beautylog");
exports.npmtsOra = new beautylog_1.Ora('setting up TaskChain', 'cyan');

7
dist/npmts.mods.d.ts vendored Normal file
View File

@ -0,0 +1,7 @@
import { LazyModule } from 'smartsystem';
import * as _mod00 from './mod00/index';
import * as _mod01 from './mod01/index';
import * as _mod02 from './mod02/index';
export declare let mod00: LazyModule<typeof _mod00>;
export declare let mod01: LazyModule<typeof _mod01>;
export declare let mod02: LazyModule<typeof _mod02>;

5
dist/npmts.mods.js vendored Normal file
View File

@ -0,0 +1,5 @@
"use strict";
const smartsystem_1 = require("smartsystem");
exports.mod00 = new smartsystem_1.LazyModule('./mod00/index', __dirname);
exports.mod01 = new smartsystem_1.LazyModule('./mod01/index', __dirname);
exports.mod02 = new smartsystem_1.LazyModule('./mod02/index', __dirname);

View File

@ -1,20 +1,10 @@
import 'typings-global';
import * as beautylog from 'beautylog';
declare let depcheck: any;
import * as gulp from 'gulp';
import * as gulpBabel from 'gulp-babel';
import * as gulpIstanbul from 'gulp-istanbul';
import * as gulpFunction from 'gulp-function';
declare let gulpInjectModules: any;
import * as gulpMocha from 'gulp-mocha';
import * as gulpSourcemaps from 'gulp-sourcemaps';
declare let gulpTypedoc: any;
import * as lodash from 'lodash';
import * as npmextra from 'npmextra';
import * as projectinfo from 'projectinfo';
import * as path from 'path';
import * as shelljs from 'shelljs';
import * as smartchok from 'smartchok';
import * as smartcli from 'smartcli';
import * as smartcov from 'smartcov';
import * as smartenv from 'smartenv';
@ -22,6 +12,6 @@ import * as smartfile from 'smartfile';
import * as smartpath from 'smartpath';
import * as smartstream from 'smartstream';
import * as smartstring from 'smartstring';
import * as smartsystem from 'smartsystem';
export declare let sourceMapSupport: any;
import * as tsn from 'tsn';
export { beautylog, depcheck, gulp, gulpBabel, gulpFunction, gulpInjectModules, gulpIstanbul, gulpMocha, gulpSourcemaps, gulpTypedoc, lodash, npmextra, projectinfo, path, shelljs, smartchok, smartcli, smartcov, smartenv, smartfile, smartpath, smartstream, smartstring, tsn };
export { beautylog, depcheck, lodash, npmextra, projectinfo, path, smartcli, smartcov, smartenv, smartfile, smartpath, smartstream, smartstring, smartsystem };

24
dist/npmts.plugins.js vendored
View File

@ -4,22 +4,6 @@ const beautylog = require("beautylog");
exports.beautylog = beautylog;
let depcheck = require('depcheck');
exports.depcheck = depcheck;
const gulp = require("gulp");
exports.gulp = gulp;
const gulpBabel = require("gulp-babel");
exports.gulpBabel = gulpBabel;
const gulpIstanbul = require("gulp-istanbul");
exports.gulpIstanbul = gulpIstanbul;
const gulpFunction = require("gulp-function");
exports.gulpFunction = gulpFunction;
let gulpInjectModules = require('gulp-inject-modules');
exports.gulpInjectModules = gulpInjectModules;
const gulpMocha = require("gulp-mocha");
exports.gulpMocha = gulpMocha;
const gulpSourcemaps = require("gulp-sourcemaps");
exports.gulpSourcemaps = gulpSourcemaps;
let gulpTypedoc = require('gulp-typedoc');
exports.gulpTypedoc = gulpTypedoc;
const lodash = require("lodash");
exports.lodash = lodash;
const npmextra = require("npmextra");
@ -28,10 +12,6 @@ const projectinfo = require("projectinfo");
exports.projectinfo = projectinfo;
const path = require("path");
exports.path = path;
const shelljs = require("shelljs");
exports.shelljs = shelljs;
const smartchok = require("smartchok");
exports.smartchok = smartchok;
const smartcli = require("smartcli");
exports.smartcli = smartcli;
const smartcov = require("smartcov");
@ -46,6 +26,6 @@ const smartstream = require("smartstream");
exports.smartstream = smartstream;
const smartstring = require("smartstring");
exports.smartstring = smartstring;
const smartsystem = require("smartsystem");
exports.smartsystem = smartsystem;
exports.sourceMapSupport = require('source-map-support').install(); // display errors correctly during testing
const tsn = require("tsn");
exports.tsn = tsn;

View File

@ -1,5 +0,0 @@
/// <reference types="q" />
import { Ora } from 'beautylog';
import * as q from 'q';
export declare let npmtsOra: Ora;
export declare let run: (argvArg: any) => q.Promise<{}>;

View File

@ -1,50 +0,0 @@
"use strict";
const plugins = require("./npmts.plugins");
const beautylog_1 = require("beautylog");
const q = require("q");
exports.npmtsOra = new beautylog_1.Ora('setting up TaskChain', 'cyan');
const NpmtsAssets = require("./npmts.assets");
const NpmtsCheck = require("./npmts.check");
const NpmtsClean = require("./npmts.clean");
const NpmtsCompile = require("./npmts.compile");
const NpmtsTypeDoc = require("./npmts.typedoc");
const NpmtsOptions = require("./npmts.options");
const NpmtsTests = require("./npmts.tests");
const NpmtsWatch = require("./npmts.watch");
exports.run = function (argvArg) {
let done = q.defer();
exports.npmtsOra.start();
NpmtsOptions.run(argvArg)
.then(NpmtsClean.run)
.then(NpmtsCheck.run)
.then(NpmtsCompile.run)
.then(NpmtsAssets.run)
.then(NpmtsTypeDoc.run)
.then(NpmtsTests.run)
.then(NpmtsWatch.run)
.then(function (configArg) {
let shipString = '' +
'\n' +
'\n' +
' # # ( )\n' +
' ___#_#___|__\n' +
' _ |____________| _\n' +
' _=====| | | | | |==== _\n' +
' =====| |.---------------------------. | |====\n' +
" <--------------------' . . . . . . . . '--------------/\n" +
' \\ /\n' +
' \\___________________________________________________________/\n' +
' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n' +
' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n' +
' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n';
if (process.env.CI) {
console.log(shipString);
plugins.beautylog.success('READY TO SHIP!');
}
else {
plugins.beautylog.success('Done!');
}
done.resolve(configArg);
});
return done.promise;
};

2
dist/npmts.ship.d.ts vendored Normal file
View File

@ -0,0 +1,2 @@
import { INpmtsConfig } from './npmts.config';
export declare let run: (configArg: INpmtsConfig) => void;

28
dist/npmts.ship.js vendored Normal file
View File

@ -0,0 +1,28 @@
"use strict";
const q = require("q");
const plugins = require("./npmts.plugins");
exports.run = (configArg) => {
let done = q.defer();
let shipString = '' +
'\n' +
'\n' +
' # # ( )\n' +
' ___#_#___|__\n' +
' _ |____________| _\n' +
' _=====| | | | | |==== _\n' +
' =====| |.---------------------------. | |====\n' +
" <--------------------' . . . . . . . . '--------------/\n" +
' \\ /\n' +
' \\___________________________________________________________/\n' +
' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n' +
' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n' +
' wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww\n';
if (process.env.CI) {
console.log(shipString);
plugins.beautylog.success('READY TO SHIP!');
}
else {
plugins.beautylog.success('Done!');
}
done.resolve(configArg);
};

View File

@ -1,4 +0,0 @@
/// <reference types="q" />
import * as q from 'q';
import { INpmtsConfig } from './npmts.options';
export declare let run: (configArg: INpmtsConfig) => q.Promise<{}>;

View File

@ -1,3 +0,0 @@
/// <reference types="q" />
import * as q from 'q';
export declare let run: (configArg: any) => q.Promise<{}>;

View File

@ -1,4 +1,4 @@
/// <reference types="q" />
import * as q from 'q';
import { INpmtsConfig } from './npmts.options';
import { INpmtsConfig } from './npmts.config';
export declare let run: (configArg: INpmtsConfig) => q.Promise<{}>;

10
dist/npmts.watch.js vendored
View File

@ -1,7 +1,8 @@
"use strict";
const plugins = require("./npmts.plugins");
const promisechain = require("./npmts.promisechain");
const q = require("q");
const smartchok = require("smartchok");
const plugins = require("./npmts.plugins");
const cli = require("./npmts.cli");
let npmtsSmartchok = null;
exports.run = (configArg) => {
let done = q.defer();
@ -13,17 +14,18 @@ exports.run = (configArg) => {
for (let key in configArg.testTs) {
pathsToWatch.push(key);
}
npmtsSmartchok = new plugins.smartchok.Smartchok(pathsToWatch);
npmtsSmartchok = new smartchok.Smartchok(pathsToWatch);
npmtsSmartchok.getObservableFor('change').then((changeObservableArg) => {
plugins.beautylog.info('now watching...');
changeObservableArg.subscribe(() => {
promisechain.run(configArg);
cli.run();
});
});
npmtsSmartchok.start();
done.resolve(configArg);
}
else {
plugins.beautylog.info('not watching');
done.resolve(configArg);
}
return done.promise;