now modularized, implements #11

This commit is contained in:
Philipp Kunz 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"; "use strict";
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const q = require("q"); const q = require("q");
const npmts_promisechain_1 = require("./npmts.promisechain"); const paths = require("../npmts.paths");
const npmts_check_1 = require("./npmts.check"); const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod00.plugins");
const mod00_check_1 = require("../mod00/mod00.check");
exports.run = function (configArg) { exports.run = function (configArg) {
let done = q.defer(); let done = q.defer();
let config = configArg; 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) { 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')); let cliJsString = plugins.smartfile.fs.toStringSync(plugins.path.join(paths.npmtsAssetsDir, 'cli.js'));
cliJsString = cliJsString.replace('{{pathToIndex}}', mainJsPath); cliJsString = cliJsString.replace('{{pathToIndex}}', mainJsPath);
plugins.smartfile.memory.toFsSync(cliJsString, plugins.path.join(paths.distDir, 'cli.js')); plugins.smartfile.memory.toFsSync(cliJsString, plugins.path.join(paths.distDir, 'cli.js'));

View File

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

View File

@ -1,13 +1,13 @@
"use strict"; "use strict";
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const q = require("q"); 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 * removes the dist directory which will be entirely rebuild
*/ */
let removeDist = function () { 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); return plugins.smartfile.fs.remove(paths.distDir);
}; };
/** /**
@ -25,11 +25,11 @@ let removeTestDeclarations = function () {
* remove old pages * remove old pages
*/ */
let removePages = function () { 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); return plugins.smartfile.fs.remove(paths.pagesDir);
}; };
exports.run = function (configArg) { 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(); let done = q.defer();
removeDist() removeDist()
.then(removeTestDeclarations) .then(removeTestDeclarations)

View File

@ -1,12 +1,12 @@
"use strict"; "use strict";
const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths");
const q = require("q"); 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) { exports.run = function (configArg) {
let done = q.defer(); let done = q.defer();
let config = configArg; 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) plugins.tsn.compileGlobStringObject(config.ts, config.tsOptions, paths.cwd)
.then(() => { .then(() => {
plugins.beautylog.ok('compiled main TypeScript!'); 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"; "use strict";
const plugins = require("./npmts.plugins"); /* ------------------------------------------
const paths = require("./npmts.paths"); * This module creates TypeScript documentation
const npmts_promisechain_1 = require("./npmts.promisechain"); * -------------------------------------------- */
const q = require("q"); 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 genTypeDoc = function (configArg) {
let done = q.defer(); 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:'); plugins.beautylog.log('TypeDoc Output:');
let localSmartstream = new plugins.smartstream.Smartstream([ let localSmartstream = new plugins.smartstream.Smartstream([
plugins.gulp.src(plugins.path.join(paths.tsDir, '**/*.ts')), plugins.gulp.src(plugins.path.join(paths.tsDir, '**/*.ts')),
@ -19,15 +22,17 @@ let genTypeDoc = function (configArg) {
out: paths.pagesApiDir, out: paths.pagesApiDir,
json: plugins.path.join(paths.pagesApiDir, 'file.json'), json: plugins.path.join(paths.pagesApiDir, 'file.json'),
// TypeDoc options (see typedoc docs) // 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'), readme: plugins.path.join(paths.cwd, 'README.md'),
// theme: "default", // theme: "default",
version: true version: true
}) })
]); ]);
localSmartstream.run().then(() => { localSmartstream.run().then(() => {
plugins.beautylog.ok('TypeDoc documentation generated!');
done.resolve(configArg); done.resolve(configArg);
}, (err) => { }, (err) => {
plugins.beautylog.warn('TypeDoc documentation generation failed!');
console.log(err); console.log(err);
done.resolve(configArg); 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"; "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 q = require("q");
const npmts_promisechain_1 = require("./npmts.promisechain"); const npmts_log_1 = require("../npmts.log");
/** /**
* runs mocha * runs mocha
* @returns INpmtsConfig * @returns INpmtsConfig
*/ */
let mocha = function (configArg) { let mocha = function (configArg) {
npmts_promisechain_1.npmtsOra.text('Instrumentalizing and testing transpiled JS'); npmts_log_1.npmtsOra.text('Instrumentalizing and testing transpiled JS');
npmts_promisechain_1.npmtsOra.end(); // end npmtsOra for tests. npmts_log_1.npmtsOra.end(); // end npmtsOra for tests.
let done = q.defer(); let done = q.defer();
plugins.gulp.src([plugins.path.join(paths.cwd, 'dist/*.js')]) plugins.gulp.src([plugins.path.join(paths.cwd, 'dist/*.js')])
.pipe(plugins.gulpSourcemaps.init()) .pipe(plugins.gulpSourcemaps.init())
@ -39,6 +42,7 @@ let mocha = function (configArg) {
localSmartstream.run() localSmartstream.run()
.then(() => { done.resolve(configArg); }, (err) => { .then(() => { done.resolve(configArg); }, (err) => {
plugins.beautylog.error('Tests failed!'); plugins.beautylog.error('Tests failed!');
console.log(err);
if (configArg.watch) { if (configArg.watch) {
done.resolve(configArg); done.resolve(configArg);
} }
@ -75,7 +79,7 @@ exports.run = function (configArg) {
let done = q.defer(); let done = q.defer();
let config = configArg; let config = configArg;
if (config.test === true) { if (config.test === true) {
npmts_promisechain_1.npmtsOra.text('now starting tests'); npmts_log_1.npmtsOra.text('now starting tests');
plugins.beautylog.log('-------------------------------------------------------\n' + plugins.beautylog.log('-------------------------------------------------------\n' +
'*************************** TESTS: ***************************\n' + '*************************** TESTS: ***************************\n' +
'--------------------------------------------------------------'); '--------------------------------------------------------------');
@ -86,7 +90,7 @@ exports.run = function (configArg) {
}); });
} }
else { else {
npmts_promisechain_1.npmtsOra.end(); npmts_log_1.npmtsOra.end();
done.resolve(config); done.resolve(config);
} }
return done.promise; 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;

44
dist/npmts.cli.js vendored
View File

@ -1,8 +1,12 @@
"use strict"; "use strict";
const q = require("q");
const plugins = require("./npmts.plugins"); const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths"); const paths = require("./npmts.paths");
const promisechain = require("./npmts.promisechain"); const NpmtsConfig = require("./npmts.config");
const q = require("q"); const NpmtsMods = require("./npmts.mods");
const NpmtsWatch = require("./npmts.watch");
const NpmtsShip = require("./npmts.ship");
const npmts_log_1 = require("./npmts.log");
exports.run = () => { exports.run = () => {
let done = q.defer(); let done = q.defer();
let npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot); let npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot);
@ -11,8 +15,42 @@ exports.run = () => {
.then((argvArg) => { .then((argvArg) => {
plugins.beautylog.figletSync('NPMTS'); plugins.beautylog.figletSync('NPMTS');
plugins.beautylog.info('npmts version: ' + npmtsProjectInfo.version); 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.addVersion(npmtsProjectInfo.version);
npmtsCli.startParse(); npmtsCli.startParse();
return done.promise; return done.promise;

View File

@ -2,7 +2,7 @@
const plugins = require("./npmts.plugins"); const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths"); const paths = require("./npmts.paths");
const q = require("q"); const q = require("q");
const npmts_promisechain_1 = require("./npmts.promisechain"); const npmts_log_1 = require("./npmts.log");
; ;
exports.run = function (argvArg) { exports.run = function (argvArg) {
let done = q.defer(); let done = q.defer();
@ -18,7 +18,7 @@ exports.run = function (argvArg) {
watch: false watch: false
}; };
// mix with configfile // 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 localNpmextra = new plugins.npmextra.Npmextra(paths.cwd);
let config = localNpmextra.dataFor('npmts', defaultConfig); let config = localNpmextra.dataFor('npmts', defaultConfig);
// add argv // 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 'typings-global';
import * as beautylog from 'beautylog'; import * as beautylog from 'beautylog';
declare let depcheck: any; 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 lodash from 'lodash';
import * as npmextra from 'npmextra'; import * as npmextra from 'npmextra';
import * as projectinfo from 'projectinfo'; import * as projectinfo from 'projectinfo';
import * as path from 'path'; import * as path from 'path';
import * as shelljs from 'shelljs';
import * as smartchok from 'smartchok';
import * as smartcli from 'smartcli'; import * as smartcli from 'smartcli';
import * as smartcov from 'smartcov'; import * as smartcov from 'smartcov';
import * as smartenv from 'smartenv'; import * as smartenv from 'smartenv';
@ -22,6 +12,6 @@ import * as smartfile from 'smartfile';
import * as smartpath from 'smartpath'; import * as smartpath from 'smartpath';
import * as smartstream from 'smartstream'; import * as smartstream from 'smartstream';
import * as smartstring from 'smartstring'; import * as smartstring from 'smartstring';
import * as smartsystem from 'smartsystem';
export declare let sourceMapSupport: any; export declare let sourceMapSupport: any;
import * as tsn from 'tsn'; export { beautylog, depcheck, lodash, npmextra, projectinfo, path, smartcli, smartcov, smartenv, smartfile, smartpath, smartstream, smartstring, smartsystem };
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 };

24
dist/npmts.plugins.js vendored
View File

@ -4,22 +4,6 @@ const beautylog = require("beautylog");
exports.beautylog = beautylog; exports.beautylog = beautylog;
let depcheck = require('depcheck'); let depcheck = require('depcheck');
exports.depcheck = 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"); const lodash = require("lodash");
exports.lodash = lodash; exports.lodash = lodash;
const npmextra = require("npmextra"); const npmextra = require("npmextra");
@ -28,10 +12,6 @@ const projectinfo = require("projectinfo");
exports.projectinfo = projectinfo; exports.projectinfo = projectinfo;
const path = require("path"); const path = require("path");
exports.path = path; exports.path = path;
const shelljs = require("shelljs");
exports.shelljs = shelljs;
const smartchok = require("smartchok");
exports.smartchok = smartchok;
const smartcli = require("smartcli"); const smartcli = require("smartcli");
exports.smartcli = smartcli; exports.smartcli = smartcli;
const smartcov = require("smartcov"); const smartcov = require("smartcov");
@ -46,6 +26,6 @@ const smartstream = require("smartstream");
exports.smartstream = smartstream; exports.smartstream = smartstream;
const smartstring = require("smartstring"); const smartstring = require("smartstring");
exports.smartstring = smartstring; exports.smartstring = smartstring;
const smartsystem = require("smartsystem");
exports.smartsystem = smartsystem;
exports.sourceMapSupport = require('source-map-support').install(); // display errors correctly during testing 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" /> /// <reference types="q" />
import * as q from 'q'; import * as q from 'q';
import { INpmtsConfig } from './npmts.options'; import { INpmtsConfig } from './npmts.config';
export declare let run: (configArg: INpmtsConfig) => q.Promise<{}>; export declare let run: (configArg: INpmtsConfig) => q.Promise<{}>;

10
dist/npmts.watch.js vendored
View File

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

View File

@ -67,6 +67,7 @@
"smartpath": "3.2.5", "smartpath": "3.2.5",
"smartstream": "^1.0.5", "smartstream": "^1.0.5",
"smartstring": "^2.0.17", "smartstring": "^2.0.17",
"smartsystem": "^1.0.9",
"source-map-support": "^0.4.5", "source-map-support": "^0.4.5",
"tsn": "^2.0.11", "tsn": "^2.0.11",
"typedoc": "^0.5.0", "typedoc": "^0.5.0",

27
ts/mod00/index.ts Normal file
View File

@ -0,0 +1,27 @@
/* ------------------------------------------
* This module compiles TypeScript files
* -------------------------------------------- */
import * as q from 'q'
import { npmtsOra } from '../npmts.log'
import { INpmtsConfig } from '../npmts.config'
import * as plugins from './mod00.plugins'
import * as NpmtsAssets from './mod00.assets'
import * as NpmtsCheck from './mod00.check'
import * as NpmtsClean from './mod00.clean'
import * as NpmtsCompile from './mod00.compile'
export let run = function(configArg: INpmtsConfig): q.Promise<INpmtsConfig> {
let done = q.defer<INpmtsConfig>()
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,10 +1,10 @@
import plugins = require('./npmts.plugins')
import paths = require('./npmts.paths')
import * as q from 'q' import * as q from 'q'
import { npmtsOra } from './npmts.promisechain' import paths = require('../npmts.paths')
import { projectInfo } from './npmts.check' import { npmtsOra } from '../npmts.log'
import plugins = require('./mod00.plugins')
import { projectInfo } from '../mod00/mod00.check'
export var run = function(configArg){ export var run = function(configArg){
let done = q.defer() let done = q.defer()

View File

@ -1,10 +1,10 @@
import * as plugins from './npmts.plugins'
import * as paths from './npmts.paths'
import * as q from 'q' import * as q from 'q'
import { ProjectinfoNpm } from 'projectinfo'
import { npmtsOra } from './npmts.promisechain' import * as paths from '../npmts.paths'
import {ProjectinfoNpm} from 'projectinfo' import { npmtsOra } from '../npmts.log'
import * as plugins from './mod00.plugins'
export let projectInfo: ProjectinfoNpm export let projectInfo: ProjectinfoNpm

View File

@ -1,9 +1,9 @@
import plugins = require('./npmts.plugins')
import paths = require('./npmts.paths')
import * as q from 'q' import * as q from 'q'
import paths = require('../npmts.paths')
import { npmtsOra } from './npmts.promisechain' import { npmtsOra } from '../npmts.log'
import plugins = require('./mod00.plugins')
/** /**
* removes the dist directory which will be entirely rebuild * removes the dist directory which will be entirely rebuild

View File

@ -1,9 +1,9 @@
import plugins = require('./npmts.plugins')
import paths = require('./npmts.paths')
import * as q from 'q' import * as q from 'q'
import {npmtsOra} from './npmts.promisechain' import * as paths from '../npmts.paths'
import { npmtsOra } from '../npmts.log'
import * as plugins from './mod00.plugins'
export let run = function (configArg) { export let run = function (configArg) {
let done = q.defer() let done = q.defer()

13
ts/mod00/mod00.plugins.ts Normal file
View File

@ -0,0 +1,13 @@
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
}

View File

@ -1,12 +1,18 @@
import plugins = require('./npmts.plugins') /* ------------------------------------------
import paths = require('./npmts.paths') * This module creates TypeScript documentation
import { npmtsOra } from './npmts.promisechain' * -------------------------------------------- */
import * as q from 'q' import * as q from 'q'
import { projectInfo } from './npmts.check' import * as paths from '../npmts.paths'
import { npmtsOra } from '../npmts.log'
import { INpmtsConfig } from '../npmts.config'
let genTypeDoc = function (configArg) { import * as plugins from './mod01.plugins'
import { projectInfo } from '../mod00/mod00.check'
let genTypeDoc = function (configArg: INpmtsConfig) {
let done = q.defer() let done = q.defer()
npmtsOra.text('now generating ' + 'TypeDoc documentation'.yellow) npmtsOra.text('now generating ' + 'TypeDoc documentation'.yellow)
plugins.beautylog.log('TypeDoc Output:') plugins.beautylog.log('TypeDoc Output:')
@ -31,9 +37,11 @@ let genTypeDoc = function (configArg) {
]) ])
localSmartstream.run().then( localSmartstream.run().then(
() => { () => {
plugins.beautylog.ok('TypeDoc documentation generated!')
done.resolve(configArg) done.resolve(configArg)
}, },
(err) => { (err) => {
plugins.beautylog.warn('TypeDoc documentation generation failed!')
console.log(err) console.log(err)
done.resolve(configArg) done.resolve(configArg)
} }
@ -41,8 +49,8 @@ let genTypeDoc = function (configArg) {
return done.promise return done.promise
} }
export let run = function (configArg) { export let run = function (configArg: INpmtsConfig) {
let done = q.defer() let done = q.defer<INpmtsConfig>()
if (configArg.docs) { if (configArg.docs) {
genTypeDoc(configArg) genTypeDoc(configArg)
.then(() => { .then(() => {

View File

@ -0,0 +1,9 @@
export * from '../npmts.plugins'
import * as gulp from 'gulp'
let gulpTypedoc = require('gulp-typedoc')
export {
gulp,
gulpTypedoc
}

View File

@ -1,10 +1,13 @@
import plugins = require('./npmts.plugins') /* ------------------------------------------
import paths = require('./npmts.paths') * This module tests the compiled TypeScript files
* -------------------------------------------- */
import plugins = require('./mod02.plugins')
import paths = require('../npmts.paths')
import * as q from 'q' import * as q from 'q'
import { npmtsOra } from './npmts.promisechain' import { npmtsOra } from '../npmts.log'
import { INpmtsConfig } from './npmts.options' import { INpmtsConfig } from '../npmts.config'
/** /**
* runs mocha * runs mocha
@ -43,6 +46,7 @@ let mocha = function (configArg: INpmtsConfig) {
localSmartstream.run() localSmartstream.run()
.then(() => { done.resolve(configArg) }, (err) => { .then(() => { done.resolve(configArg) }, (err) => {
plugins.beautylog.error('Tests failed!') plugins.beautylog.error('Tests failed!')
console.log(err)
if (configArg.watch) { if (configArg.watch) {
done.resolve(configArg) done.resolve(configArg)
} else { } else {
@ -78,7 +82,7 @@ let coverage = function (configArg: INpmtsConfig) {
} }
export let run = function (configArg: INpmtsConfig) { export let run = function (configArg: INpmtsConfig) {
let done = q.defer() let done = q.defer<INpmtsConfig>()
let config = configArg let config = configArg
if (config.test === true) { if (config.test === true) {
npmtsOra.text('now starting tests') npmtsOra.text('now starting tests')

19
ts/mod02/mod02.plugins.ts Normal file
View File

@ -0,0 +1,19 @@
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'
let gulpInjectModules = require('gulp-inject-modules')
import * as gulpMocha from 'gulp-mocha'
import * as gulpSourcemaps from 'gulp-sourcemaps'
export {
gulp,
gulpBabel,
gulpIstanbul,
gulpFunction,
gulpInjectModules,
gulpMocha,
gulpSourcemaps
}

View File

@ -1,7 +1,13 @@
import * as q from 'q'
import * as plugins from './npmts.plugins' import * as plugins from './npmts.plugins'
import * as paths from './npmts.paths' import * as paths from './npmts.paths'
import * as promisechain from './npmts.promisechain' import * as NpmtsConfig from './npmts.config'
import * as q from 'q' import * as NpmtsMods from './npmts.mods'
import * as NpmtsWatch from './npmts.watch'
import * as NpmtsShip from './npmts.ship'
import { npmtsOra } from './npmts.log'
export let run = () => { export let run = () => {
let done = q.defer() let done = q.defer()
@ -11,8 +17,43 @@ export let run = () => {
.then((argvArg) => { .then((argvArg) => {
plugins.beautylog.figletSync('NPMTS') plugins.beautylog.figletSync('NPMTS')
plugins.beautylog.info('npmts version: ' + npmtsProjectInfo.version) plugins.beautylog.info('npmts version: ' + npmtsProjectInfo.version)
promisechain.run(argvArg).catch((err) => { console.log(err) }) return NpmtsConfig.run(argvArg)
}) })
.then((configArg: NpmtsConfig.INpmtsConfig) => {
let done = q.defer()
npmtsOra.start('loading additional modules...')
NpmtsMods.mod00.load()
.then((mod00) => {
return mod00.run(configArg)
})
.then(configArg => {
let done = q.defer<NpmtsConfig.INpmtsConfig>()
NpmtsMods.mod01.load()
.then(mod01 => {
return mod01.run(configArg)
})
.then(configArg => {
done.resolve(configArg)
})
return done.promise
})
.then(configArg => {
let done = q.defer<NpmtsConfig.INpmtsConfig>()
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.addVersion(npmtsProjectInfo.version)
npmtsCli.startParse() npmtsCli.startParse()
return done.promise return done.promise

View File

@ -3,7 +3,7 @@ import paths = require('./npmts.paths')
import * as q from 'q' import * as q from 'q'
import { npmtsOra } from './npmts.promisechain' import { npmtsOra } from './npmts.log'
export type npmtsMode = 'default' | 'custom' export type npmtsMode = 'default' | 'custom'

2
ts/npmts.log.ts Normal file
View File

@ -0,0 +1,2 @@
import {Ora} from 'beautylog'
export let npmtsOra = new Ora('setting up TaskChain','cyan')

11
ts/npmts.mods.ts Normal file
View File

@ -0,0 +1,11 @@
import * as plugins from './npmts.plugins'
import { LazyModule } from 'smartsystem'
import * as _mod00 from './mod00/index'
import * as _mod01 from './mod01/index'
import * as _mod02 from './mod02/index'
export let mod00 = new LazyModule<typeof _mod00>('./mod00/index',__dirname)
export let mod01 = new LazyModule<typeof _mod01>('./mod01/index',__dirname)
export let mod02 = new LazyModule<typeof _mod02>('./mod02/index',__dirname)

View File

@ -1,22 +1,11 @@
import 'typings-global' import 'typings-global'
import * as beautylog from 'beautylog' import * as beautylog from 'beautylog'
let depcheck = require('depcheck') let depcheck = require('depcheck')
import * as gulp from 'gulp'
import * as gulpBabel from 'gulp-babel'
import * as gulpIstanbul from 'gulp-istanbul'
import * as gulpFunction from 'gulp-function'
let gulpInjectModules = require('gulp-inject-modules')
import * as gulpMocha from 'gulp-mocha'
import * as gulpSourcemaps from 'gulp-sourcemaps'
let gulpTypedoc = require('gulp-typedoc')
import * as lodash from 'lodash' import * as lodash from 'lodash'
import * as npmextra from 'npmextra' import * as npmextra from 'npmextra'
import * as projectinfo from 'projectinfo' import * as projectinfo from 'projectinfo'
import * as path from 'path' import * as path from 'path'
import * as shelljs from 'shelljs'
import * as smartchok from 'smartchok'
import * as smartcli from 'smartcli' import * as smartcli from 'smartcli'
import * as smartcov from 'smartcov' import * as smartcov from 'smartcov'
import * as smartenv from 'smartenv' import * as smartenv from 'smartenv'
@ -24,26 +13,16 @@ import * as smartfile from 'smartfile'
import * as smartpath from 'smartpath' import * as smartpath from 'smartpath'
import * as smartstream from 'smartstream' import * as smartstream from 'smartstream'
import * as smartstring from 'smartstring' import * as smartstring from 'smartstring'
import * as smartsystem from 'smartsystem'
export let sourceMapSupport = require('source-map-support').install() // display errors correctly during testing export let sourceMapSupport = require('source-map-support').install() // display errors correctly during testing
import * as tsn from 'tsn'
export { export {
beautylog, beautylog,
depcheck, depcheck,
gulp,
gulpBabel,
gulpFunction,
gulpInjectModules,
gulpIstanbul,
gulpMocha,
gulpSourcemaps,
gulpTypedoc,
lodash, lodash,
npmextra, npmextra,
projectinfo, projectinfo,
path, path,
shelljs,
smartchok,
smartcli, smartcli,
smartcov, smartcov,
smartenv, smartenv,
@ -51,5 +30,5 @@ export {
smartpath, smartpath,
smartstream, smartstream,
smartstring, smartstring,
tsn smartsystem
} }

View File

@ -1,52 +0,0 @@
import plugins = require('./npmts.plugins')
import {Ora} from 'beautylog'
import * as q from 'q'
export let npmtsOra = new Ora('setting up TaskChain','cyan')
import * as NpmtsAssets from './npmts.assets'
import * as NpmtsCheck from './npmts.check'
import * as NpmtsClean from './npmts.clean'
import * as NpmtsCompile from './npmts.compile'
import * as NpmtsTypeDoc from './npmts.typedoc'
import * as NpmtsOptions from './npmts.options'
import * as NpmtsTests from './npmts.tests'
import * as NpmtsWatch from './npmts.watch'
export let run = function(argvArg){
let done = q.defer()
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
}

30
ts/npmts.ship.ts Normal file
View File

@ -0,0 +1,30 @@
import * as q from 'q'
import * as plugins from './npmts.plugins'
import { INpmtsConfig } from './npmts.config'
export let run = (configArg: INpmtsConfig) => {
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,11 +1,12 @@
import * as plugins from './npmts.plugins'
import * as promisechain from './npmts.promisechain'
import * as q from 'q' import * as q from 'q'
import * as smartchok from 'smartchok'
import { INpmtsConfig } from './npmts.options' import * as plugins from './npmts.plugins'
import * as cli from './npmts.cli'
let npmtsSmartchok: plugins.smartchok.Smartchok = null import { INpmtsConfig } from './npmts.config'
let npmtsSmartchok: smartchok.Smartchok = null
export let run = (configArg: INpmtsConfig) => { export let run = (configArg: INpmtsConfig) => {
let done = q.defer() let done = q.defer()
if (configArg.watch && npmtsSmartchok === null) { if (configArg.watch && npmtsSmartchok === null) {
@ -16,16 +17,17 @@ export let run = (configArg: INpmtsConfig) => {
for (let key in configArg.testTs) { for (let key in configArg.testTs) {
pathsToWatch.push(key) pathsToWatch.push(key)
} }
npmtsSmartchok = new plugins.smartchok.Smartchok(pathsToWatch) npmtsSmartchok = new smartchok.Smartchok(pathsToWatch)
npmtsSmartchok.getObservableFor('change').then((changeObservableArg) => { npmtsSmartchok.getObservableFor('change').then((changeObservableArg) => {
plugins.beautylog.info('now watching...') plugins.beautylog.info('now watching...')
changeObservableArg.subscribe(() => { changeObservableArg.subscribe(() => {
promisechain.run(configArg) cli.run()
}) })
}) })
npmtsSmartchok.start() npmtsSmartchok.start()
done.resolve(configArg) done.resolve(configArg)
} else { } else {
plugins.beautylog.info('not watching')
done.resolve(configArg) done.resolve(configArg)
} }
return done.promise return done.promise