Compare commits

...

49 Commits

Author SHA1 Message Date
f99605da8f 6.1.15 2017-02-27 23:52:30 +01:00
508aa23e59 6.1.14 2017-02-27 23:52:04 +01:00
ce7f28404a update projectinfo 2017-02-27 23:52:02 +01:00
237b084411 6.1.14 2017-02-27 23:51:02 +01:00
bc6a7ae1da update projectinfo 2017-02-27 23:50:59 +01:00
31fdd4c0a7 6.1.13 2017-02-27 22:19:22 +01:00
c820350bb6 updated dependencies 2017-02-27 22:19:14 +01:00
92bf6d7bab fix README 2017-02-05 11:33:44 +01:00
e77bece3fc fix README 2017-02-05 11:32:50 +01:00
df96486d2f 6.1.12 2017-02-05 11:27:38 +01:00
980db3eb28 fix git links 2017-02-05 11:15:36 +01:00
34d3d4d963 fix README 2017-02-05 11:14:25 +01:00
a3c02cad4e update README to reflect gitzone 2017-02-05 10:15:26 +01:00
a12190638d 6.1.11 2017-02-02 21:48:12 +01:00
f2a36e7a45 update README 2017-02-02 21:48:09 +01:00
60c025e638 6.1.10 2017-02-02 20:57:52 +01:00
5d16734c00 shift to push.rocks brand 2017-02-02 20:57:46 +01:00
65fe421de1 6.1.9 2017-01-21 23:23:03 +01:00
d94d66ef19 update beautylog 2017-01-21 23:23:00 +01:00
3e4ac03a63 6.1.8 2017-01-21 20:45:35 +01:00
0948fa806c update deps 2017-01-21 20:45:32 +01:00
53980160df 6.1.7 2017-01-21 19:59:22 +01:00
886f1ae6f4 update dependencies 2017-01-21 19:59:20 +01:00
4602e7e3c9 6.1.6 2017-01-21 19:37:32 +01:00
1dbb5f6f36 update dependencies 2017-01-21 19:37:29 +01:00
1023bf9f3c 6.1.5 2017-01-20 18:42:05 +01:00
78bebcda25 fix testing for rxjs 2017-01-20 18:38:02 +01:00
74deee70a3 6.1.4 2017-01-18 01:04:22 +01:00
019864a484 remove shelljs 2017-01-18 01:04:19 +01:00
80db0fc581 6.1.3 2017-01-18 00:58:16 +01:00
9a25b4ef91 remove q in favour of smartq 2017-01-18 00:58:09 +01:00
9f42a20e4b Merge branch 'master' into 'master'
add ES2015.iterable

See merge request !1
2017-01-17 17:42:21 +00:00
dbb8fd0fff add ES2015.iterable 2017-01-17 16:47:19 +01:00
4368713ad5 6.1.2 2017-01-15 21:45:12 +01:00
58cea5cb48 fix lib inclusion for tests 2017-01-15 21:45:08 +01:00
329e0dc101 6.1.1 2017-01-15 20:12:26 +01:00
da45d002a3 some fixes for es5 transpilation 2017-01-15 20:12:12 +01:00
59e811247f remove unused dep 2017-01-15 20:06:07 +01:00
7bcd2f4f5d 6.1.0 2017-01-15 20:01:15 +01:00
78d77c003c remove babel and instead use typescript 2017-01-15 20:01:10 +01:00
aca85d2ff3 6.0.0 2017-01-15 14:32:32 +01:00
f03c4a45c2 remove TypeDoc 2017-01-15 14:32:28 +01:00
faf55e4e31 5.5.12 2016-12-18 23:14:01 +01:00
b78fe35e88 5.5.11 2016-12-18 21:35:37 +01:00
7ab4561727 add new npmpage 2016-12-18 21:35:23 +01:00
200f44a792 5.5.10 2016-11-25 13:42:53 +01:00
312dc4bd7f remove unnecessary logging 2016-11-25 13:42:46 +01:00
60bed4cb1f 5.5.9 2016-11-25 13:19:02 +01:00
8831a8d173 empty Buffer at end of transpilation 2016-11-25 13:18:59 +01:00
57 changed files with 3665 additions and 352 deletions

View File

@ -1,3 +1,4 @@
# standard ci
image: hosttoday/ht-docker-node:npmci image: hosttoday/ht-docker-node:npmci
stages: stages:
@ -50,7 +51,7 @@ pages:
image: hosttoday/ht-docker-node:npmpage image: hosttoday/ht-docker-node:npmpage
stage: pages stage: pages
script: script:
- npmci command npmpage --host gitlab - npmci command npmpage --publish gitlab
only: only:
- tags - tags
artifacts: artifacts:

View File

@ -1,4 +1,3 @@
.idea/
compile/ compile/
coverage/ coverage/
test/ test/

View File

@ -1,7 +1,5 @@
Please view this file on the master branch, on stable branches it's out of date. Please view this file on the master branch, on stable branches it's out of date.
v 6.0.0 (unreleased) v 6.0.0 (released)
- handle bithound - remove TypeDoc, please look at npmpage
- check package.json - check package.json
- check .gitlab-ci-yml
- check appveyor.yml

View File

@ -2,19 +2,19 @@
Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6. Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.
## Availabililty ## Availabililty
[![npm](https://push.rocks/assets/repo-button-npm.svg)](https://www.npmjs.com/package/npmts) [![npm](https://gitzone.gitlab.io/assets/repo-button-npm.svg)](https://www.npmjs.com/package/npmts)
[![git](https://push.rocks/assets/repo-button-git.svg)](https://gitlab.com/pushrocks/npmts) [![git](https://gitzone.gitlab.io/assets/repo-button-git.svg)](https://gitlab.com/gitzone/npmts)
[![git](https://push.rocks/assets/repo-button-mirror.svg)](https://github.com/pushrocks/npmts) [![git](https://gitzone.gitlab.io/assets/repo-button-mirror.svg)](https://github.com/gitzonetools/npmts)
[![docs](https://push.rocks/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/npmts/) [![docs](https://gitzone.gitlab.io/assets/repo-button-docs.svg)](https://gitzone.gitlab.io/npmts/)
## Status for master ## Status for master
[![build status](https://gitlab.com/pushrocks/npmts/badges/master/build.svg)](https://gitlab.com/pushrocks/npmts/commits/master) [![build status](https://gitlab.com/gitzone/npmts/badges/master/build.svg)](https://gitlab.com/gitzone/npmts/commits/master)
[![coverage report](https://gitlab.com/pushrocks/npmts/badges/master/coverage.svg)](https://gitlab.com/pushrocks/npmts/commits/master) [![coverage report](https://gitlab.com/gitzone/npmts/badges/master/coverage.svg)](https://gitlab.com/gitzone/npmts/commits/master)
[![npm downloads per month](https://img.shields.io/npm/dm/npmts.svg)](https://www.npmjs.com/package/npmts) [![npm downloads per month](https://img.shields.io/npm/dm/npmts.svg)](https://www.npmjs.com/package/npmts)
[![docker pulls](https://img.shields.io/docker/pulls/hosttoday/ht-docker-node.svg)](https://hub.docker.com/r/hosttoday/ht-docker-node/) [![docker pulls](https://img.shields.io/docker/pulls/hosttoday/ht-docker-node.svg)](https://hub.docker.com/r/hosttoday/ht-docker-node/)
[![Dependency Status](https://david-dm.org/pushrocks/npmts.svg)](https://david-dm.org/pushrocks/npmts) [![Dependency Status](https://david-dm.org/gitzonetools/npmts.svg)](https://david-dm.org/gitzonetools/npmts)
[![bitHound Dependencies](https://www.bithound.io/github/pushrocks/npmts/badges/dependencies.svg)](https://www.bithound.io/github/pushrocks/npmts/master/dependencies/npm) [![bitHound Dependencies](https://www.bithound.io/github/gitzonetools/npmts/badges/dependencies.svg)](https://www.bithound.io/github/gitzonetools/npmts/master/dependencies/npm)
[![bitHound Code](https://www.bithound.io/github/pushrocks/npmts/badges/code.svg)](https://www.bithound.io/github/pushrocks/npmts) [![bitHound Code](https://www.bithound.io/github/gitzonetools/npmts/badges/code.svg)](https://www.bithound.io/github/gitzonetools/npmts)
[![TypeScript](https://img.shields.io/badge/TypeScript-2.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/) [![TypeScript](https://img.shields.io/badge/TypeScript-2.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
[![node](https://img.shields.io/badge/node->=%206.x.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/) [![node](https://img.shields.io/badge/node->=%206.x.x-blue.svg)](https://nodejs.org/dist/latest-v6.x/docs/api/)
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/) [![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
@ -24,21 +24,16 @@ NPMTS is your friend when writing, testing, publishing and documenting npm modul
npmts will npmts will
1. check your dependencies and package.json 1. check your dependencies and package.json (unused, missing, updates, security)
1. transpile your code with tsc, 1. transpile your code with tsc,
1. document your code with typedoc, 1. test your code with mocha (supports the fancy stuff like Promises, Generators, async/await, sourcemaps)
1. test your code with mocha 1. create coverage with istanbul (supports tracing of the originating TypeScript)
1. create coverage with istanbul
This works on your machine and in CI. There is a prebuild docker image available that includes npmts to make CI a breeze: This works on your machine and in CI. There is a prebuild docker image available that includes npmts to make CI a breeze:
[hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/) [hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/)
For further information read the docs: For further information read the linked docs at the top of this README.
1. [Intro](https://pushrocks.gitlab.io/npmts/index.html)
2. [Install](https://pushrocks.gitlab.io/npmts/install.html)
3. [Default Behaviour](https://pushrocks.gitlab.io/npmts/default.html)
4. [Configuration](https://pushrocks.gitlab.io/npmts/config.html)
5. [Examples](https://pushrocks.gitlab.io/npmts/examples.html)
6. [Info](https://pushrocks.gitlab.io/npmts/info.html)
[![npm](https://push.rocks/assets/repo-header.svg)](https://push.rocks) > MIT licensed | **©** 2016 - 2017 [Lossless GmbH](https://lossless.gmbh)
[![npm](https://gitzone.gitlab.io/assets/repo-footer.svg)](https://git.zone)

1
dist/index.js vendored
View File

@ -3,6 +3,7 @@
Fabulous TypeScript development Fabulous TypeScript development
* ================================================== */ * ================================================== */
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const early = require("early"); const early = require("early");
early.start('NPMTS'); early.start('NPMTS');
const plugins = require("./npmts.plugins"); const plugins = require("./npmts.plugins");

View File

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

7
dist/mod00/index.js vendored
View File

@ -1,16 +1,17 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/* ------------------------------------------ /* ------------------------------------------
* This module compiles TypeScript files * This module compiles TypeScript files
* -------------------------------------------- */ * -------------------------------------------- */
const q = require("q"); const q = require("smartq");
const npmts_log_1 = require("../npmts.log"); const plugins = require("./mod00.plugins");
const NpmtsAssets = require("./mod00.assets"); const NpmtsAssets = require("./mod00.assets");
const NpmtsCheck = require("./mod00.check"); const NpmtsCheck = require("./mod00.check");
const NpmtsClean = require("./mod00.clean"); const NpmtsClean = require("./mod00.clean");
const NpmtsCompile = require("./mod00.compile"); const NpmtsCompile = require("./mod00.compile");
exports.run = function (configArg) { exports.run = function (configArg) {
let done = q.defer(); let done = q.defer();
npmts_log_1.npmtsOra.text('starting TypeScript Compilation'); plugins.beautylog.ora.text('starting TypeScript Compilation');
NpmtsClean.run(configArg) NpmtsClean.run(configArg)
.then(NpmtsCheck.run) .then(NpmtsCheck.run)
.then(NpmtsCompile.run) .then(NpmtsCompile.run)

View File

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

View File

@ -1,13 +1,13 @@
"use strict"; "use strict";
const q = require("q"); Object.defineProperty(exports, "__esModule", { value: true });
const q = require("smartq");
const paths = require("../npmts.paths"); const paths = require("../npmts.paths");
const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod00.plugins"); const plugins = require("./mod00.plugins");
const mod00_check_1 = require("../mod00/mod00.check"); 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_log_1.npmtsOra.text('now looking at ' + 'required assets'.yellow); plugins.beautylog.ora.text('now looking at ' + 'required assets'.yellow);
if (config.cli === true) { if (config.cli === true) {
let mainJsPath = mod00_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'));

View File

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

View File

@ -1,12 +1,12 @@
"use strict"; "use strict";
const q = require("q"); Object.defineProperty(exports, "__esModule", { value: true });
const q = require("smartq");
const projectinfo_1 = require("projectinfo"); const projectinfo_1 = require("projectinfo");
const paths = require("../npmts.paths"); const paths = require("../npmts.paths");
const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod00.plugins"); const plugins = require("./mod00.plugins");
let checkProjectTypings = (configArg) => { let checkProjectTypings = (configArg) => {
let done = q.defer(); let done = q.defer();
npmts_log_1.npmtsOra.text('Check Module: Check Project Typings...'); plugins.beautylog.ora.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_log_1.npmtsOra.text('Check Module: Check Dependencies...'); plugins.beautylog.ora.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_log_1.npmtsOra.text('Check Module: Check devDependencies...'); plugins.beautylog.ora.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_log_1.npmtsOra.text('checking node version'); plugins.beautylog.ora.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_log_1.npmtsOra.text('Check Module: ...'); plugins.beautylog.ora.text('Check Module: ...');
checkProjectTypings(configArg) checkProjectTypings(configArg)
.then(checkDependencies) .then(checkDependencies)
.then(checkDevDependencies) .then(checkDevDependencies)

View File

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

View File

@ -1,13 +1,13 @@
"use strict"; "use strict";
const q = require("q"); Object.defineProperty(exports, "__esModule", { value: true });
const q = require("smartq");
const paths = require("../npmts.paths"); const paths = require("../npmts.paths");
const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod00.plugins"); 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_log_1.npmtsOra.text('cleaning dist folder'); plugins.beautylog.ora.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_log_1.npmtsOra.text('cleaning pages folder'); plugins.beautylog.ora.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_log_1.npmtsOra.text('cleaning up from previous builds...'); plugins.beautylog.ora.text('cleaning up from previous builds...');
let done = q.defer(); let done = q.defer();
removeDist() removeDist()
.then(removeTestDeclarations) .then(removeTestDeclarations)

View File

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

View File

@ -1,12 +1,12 @@
"use strict"; "use strict";
const q = require("q"); Object.defineProperty(exports, "__esModule", { value: true });
const q = require("smartq");
const paths = require("../npmts.paths"); const paths = require("../npmts.paths");
const npmts_log_1 = require("../npmts.log");
const plugins = require("./mod00.plugins"); 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_log_1.npmtsOra.text('now compiling ' + 'TypeScript'.yellow); plugins.beautylog.ora.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!');

View File

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

View File

@ -2,11 +2,10 @@
function __export(m) { function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
} }
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("../npmts.plugins")); __export(require("../npmts.plugins"));
const tsn = require("tsn"); const tsn = require("tsn");
exports.tsn = tsn; exports.tsn = tsn;
const shelljs = require("shelljs");
exports.shelljs = shelljs;
const smartchok = require("smartchok"); const smartchok = require("smartchok");
exports.smartchok = smartchok; exports.smartchok = smartchok;
const smartstream = require("smartstream"); const smartstream = require("smartstream");

View File

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

49
dist/mod01/index.js vendored
View File

@ -1,54 +1,11 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/* ------------------------------------------ /* ------------------------------------------
* This module creates TypeScript documentation * This module creates TypeScript documentation
* -------------------------------------------- */ * -------------------------------------------- */
const q = require("q"); const q = require("smartq");
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_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')),
plugins.gulpTypedoc({
// TypeScript options (see typescript docs)
module: 'commonjs',
target: 'es6',
includeDeclarations: true,
// Output options (see typedoc docs)
out: paths.pagesApiDir,
json: plugins.path.join(paths.pagesApiDir, 'file.json'),
// TypeDoc options (see typedoc docs)
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);
});
return done.promise;
};
exports.run = function (configArg) { exports.run = function (configArg) {
let done = q.defer(); let done = q.defer();
if (configArg.docs) { done.resolve(configArg);
genTypeDoc(configArg)
.then(() => {
done.resolve(configArg);
});
}
else {
done.resolve(configArg);
}
;
return done.promise; return done.promise;
}; };

View File

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

View File

@ -2,8 +2,5 @@
function __export(m) { function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
} }
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("../npmts.plugins")); __export(require("../npmts.plugins"));
const gulp = require("gulp");
exports.gulp = gulp;
let gulpTypedoc = require('gulp-typedoc');
exports.gulpTypedoc = gulpTypedoc;

View File

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

47
dist/mod02/index.js vendored
View File

@ -1,42 +1,55 @@
"use strict"; "use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
/* ------------------------------------------ /* ------------------------------------------
* This module tests the compiled TypeScript files * This module tests the compiled TypeScript files
* -------------------------------------------- */ * -------------------------------------------- */
const plugins = require("./mod02.plugins"); const plugins = require("./mod02.plugins");
const paths = require("../npmts.paths"); const paths = require("../npmts.paths");
const q = require("q"); const q = require("smartq");
const npmts_log_1 = require("../npmts.log");
/** /**
* runs mocha * runs mocha
* @returns INpmtsConfig * @returns INpmtsConfig
*/ */
let mocha = function (configArg) { let mocha = function (configArg) {
npmts_log_1.npmtsOra.text('Instrumentalizing and testing transpiled JS'); plugins.beautylog.ora.text('Instrumentalizing and testing transpiled JS');
npmts_log_1.npmtsOra.end(); // end npmtsOra for tests. plugins.beautylog.ora.end(); // end plugins.beautylog.ora for tests.
let done = q.defer(); let done = q.defer();
let coverageSmartstream = new plugins.smartstream.Smartstream([ let coverageSmartstream = new plugins.smartstream.Smartstream([
plugins.gulp.src([plugins.path.join(paths.cwd, './dist/**/*.js')]), plugins.gulp.src([plugins.path.join(paths.cwd, './ts/**/*.ts')]),
plugins.gulpSourcemaps.init(), plugins.gulpSourcemaps.init(),
plugins.gulpBabel({ plugins.gulpTypeScript({
presets: [ target: 'ES5',
require.resolve('babel-preset-es2015') emitDecoratorMetadata: true,
] experimentalDecorators: true,
lib: ['DOM', 'ES5', 'ES2015.Promise', 'ES2015.Generator', 'ES2015.Iterable']
}), }),
plugins.gulpIstanbul({}), plugins.gulpIstanbul({}),
plugins.gulpSourcemaps.write(), plugins.gulpSourcemaps.write(),
plugins.gulpFunction.forEach((file) => __awaiter(this, void 0, void 0, function* () {
file.path = file.path.replace(paths.tsDir, paths.distDir);
})),
plugins.gulpInjectModules(), plugins.gulpInjectModules(),
plugins.through2.obj((file, enc, cb) => { plugins.through2.obj((file, enc, cb) => {
cb(null, file); cb();
}, (cb) => { }, (cb) => {
cb(); cb();
}) })
]); ]);
let localSmartstream = new plugins.smartstream.Smartstream([ let localSmartstream = new plugins.smartstream.Smartstream([
plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.js')]), plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.ts')]),
plugins.gulpBabel({ plugins.gulpTypeScript({
presets: [ target: 'ES5',
require.resolve('babel-preset-es2015') emitDecoratorMetadata: true,
] experimentalDecorators: true,
lib: ['DOM', 'ES5', 'ES2015.Promise', 'ES2015.Generator', 'ES2015.Iterable']
}), }),
plugins.gulpInjectModules(), plugins.gulpInjectModules(),
plugins.gulpMocha(), plugins.gulpMocha(),
@ -90,7 +103,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_log_1.npmtsOra.text('now starting tests'); plugins.beautylog.ora.text('now starting tests');
plugins.beautylog.log('------------------------------------------------------\n' + plugins.beautylog.log('------------------------------------------------------\n' +
'*************************** TESTS: ***************************\n' + '*************************** TESTS: ***************************\n' +
'--------------------------------------------------------------'); '--------------------------------------------------------------');
@ -101,7 +114,7 @@ exports.run = function (configArg) {
}).catch(err => { console.log(err); }); }).catch(err => { console.log(err); });
} }
else { else {
npmts_log_1.npmtsOra.end(); plugins.beautylog.ora.end();
done.resolve(config); done.resolve(config);
} }
return done.promise; return done.promise;

View File

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

View File

@ -2,18 +2,19 @@
function __export(m) { function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
} }
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("../npmts.plugins")); __export(require("../npmts.plugins"));
const gulp = require("gulp"); const gulp = require("gulp");
exports.gulp = 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"); const gulpFunction = require("gulp-function");
exports.gulpFunction = gulpFunction; exports.gulpFunction = gulpFunction;
const gulpIstanbul = require("gulp-istanbul");
exports.gulpIstanbul = gulpIstanbul;
let gulpInjectModules = require('gulp-inject-modules'); let gulpInjectModules = require('gulp-inject-modules');
exports.gulpInjectModules = gulpInjectModules; exports.gulpInjectModules = gulpInjectModules;
const gulpMocha = require("gulp-mocha"); const gulpMocha = require("gulp-mocha");
exports.gulpMocha = gulpMocha; exports.gulpMocha = gulpMocha;
const gulpSourcemaps = require("gulp-sourcemaps"); const gulpSourcemaps = require("gulp-sourcemaps");
exports.gulpSourcemaps = gulpSourcemaps; exports.gulpSourcemaps = gulpSourcemaps;
const gulpTypeScript = require("gulp-typescript");
exports.gulpTypeScript = gulpTypeScript;

4
dist/npmts.cli.d.ts vendored
View File

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

6
dist/npmts.cli.js vendored
View File

@ -1,12 +1,12 @@
"use strict"; "use strict";
const q = require("q"); Object.defineProperty(exports, "__esModule", { value: true });
const q = require("smartq");
const plugins = require("./npmts.plugins"); const plugins = require("./npmts.plugins");
const paths = require("./npmts.paths"); const paths = require("./npmts.paths");
const NpmtsConfig = require("./npmts.config"); const NpmtsConfig = require("./npmts.config");
const NpmtsMods = require("./npmts.mods"); const NpmtsMods = require("./npmts.mods");
const NpmtsWatch = require("./npmts.watch"); const NpmtsWatch = require("./npmts.watch");
const NpmtsShip = require("./npmts.ship"); 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);
@ -19,7 +19,7 @@ exports.run = () => {
}) })
.then((configArg) => { .then((configArg) => {
let done = q.defer(); let done = q.defer();
npmts_log_1.npmtsOra.start('loading additional modules...'); plugins.beautylog.ora.start('loading additional modules...');
NpmtsMods.mod00.load() NpmtsMods.mod00.load()
.then((mod00) => { .then((mod00) => {
return mod00.run(configArg); return mod00.run(configArg);

View File

@ -1,10 +1,7 @@
/// <reference types="q" />
import * as q from 'q';
export declare type npmtsMode = 'default' | 'custom'; export declare type npmtsMode = 'default' | 'custom';
export interface INpmtsConfig { export interface INpmtsConfig {
argv: any; argv: any;
coverageTreshold: number; coverageTreshold: number;
docs: boolean;
mode: npmtsMode; mode: npmtsMode;
test: boolean; test: boolean;
testTs: any; testTs: any;
@ -12,4 +9,4 @@ export interface INpmtsConfig {
tsOptions: any; tsOptions: any;
watch: boolean; watch: boolean;
} }
export declare var run: (argvArg: any) => q.Promise<{}>; export declare let run: (argvArg: any) => Promise<{}>;

11
dist/npmts.config.js vendored
View File

@ -1,15 +1,14 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
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("smartq");
const npmts_log_1 = require("./npmts.log");
; ;
exports.run = function (argvArg) { exports.run = function (argvArg) {
let done = q.defer(); let done = q.defer();
let defaultConfig = { let defaultConfig = {
argv: undefined, argv: undefined,
coverageTreshold: 70, coverageTreshold: 70,
docs: true,
mode: 'default', mode: 'default',
test: true, test: true,
testTs: {}, testTs: {},
@ -18,7 +17,7 @@ exports.run = function (argvArg) {
watch: false watch: false
}; };
// mix with configfile // mix with configfile
npmts_log_1.npmtsOra.text('running npmextra'); plugins.beautylog.ora.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
@ -50,10 +49,6 @@ exports.run = function (argvArg) {
config.test = false; config.test = false;
} }
; ;
if (config.argv.nodocs) {
config.docs = false;
}
;
if (config.argv.watch) { if (config.argv.watch) {
config.watch = true; config.watch = true;
} }

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

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

3
dist/npmts.log.js vendored
View File

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

1
dist/npmts.mods.js vendored
View File

@ -1,4 +1,5 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const smartsystem_1 = require("smartsystem"); const smartsystem_1 = require("smartsystem");
exports.mod00 = new smartsystem_1.LazyModule('./mod00/index', __dirname); exports.mod00 = new smartsystem_1.LazyModule('./mod00/index', __dirname);
exports.mod01 = new smartsystem_1.LazyModule('./mod01/index', __dirname); exports.mod01 = new smartsystem_1.LazyModule('./mod01/index', __dirname);

1
dist/npmts.paths.js vendored
View File

@ -1,4 +1,5 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const plugins = require("./npmts.plugins"); const plugins = require("./npmts.plugins");
// NPMTS Paths // NPMTS Paths
exports.npmtsPackageRoot = plugins.path.join(__dirname, '../'); exports.npmtsPackageRoot = plugins.path.join(__dirname, '../');

View File

@ -1,4 +1,5 @@
"use strict"; "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("typings-global"); require("typings-global");
const beautylog = require("beautylog"); const beautylog = require("beautylog");
exports.beautylog = beautylog; exports.beautylog = beautylog;

3
dist/npmts.ship.js vendored
View File

@ -1,5 +1,6 @@
"use strict"; "use strict";
const q = require("q"); Object.defineProperty(exports, "__esModule", { value: true });
const q = require("smartq");
const plugins = require("./npmts.plugins"); const plugins = require("./npmts.plugins");
exports.run = (configArg) => { exports.run = (configArg) => {
let done = q.defer(); let done = q.defer();

View File

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

3
dist/npmts.watch.js vendored
View File

@ -1,5 +1,6 @@
"use strict"; "use strict";
const q = require("q"); Object.defineProperty(exports, "__esModule", { value: true });
const q = require("smartq");
const smartchok = require("smartchok"); const smartchok = require("smartchok");
const plugins = require("./npmts.plugins"); const plugins = require("./npmts.plugins");
const cli = require("./npmts.cli"); const cli = require("./npmts.cli");

View File

@ -20,7 +20,6 @@ with default behaviour.
```json ```json
{ {
"mode":"custom", "mode":"custom",
"docs":false,
"test":true, "test":true,
"npmts":{ "npmts":{
"ts":{ "ts":{
@ -38,7 +37,6 @@ with default behaviour.
| key | default value | description | | key | default value | description |
| --- | --- | --- | | --- | --- | --- |
| `"mode"` | `"default"` | "default" will do default stuff and override , "custom" only does what you specify | | `"mode"` | `"default"` | "default" will do default stuff and override , "custom" only does what you specify |
| `"docs"` | `true` | create docs for your module |
| `"test"` | `true` | test your module | | `"test"` | `true` | test your module |
| `"ts"` | `{"./ts/*.ts":"./","./test/test.ts":"./test/"}` | allows you to define multiple ts portions | | `"ts"` | `{"./ts/*.ts":"./","./test/test.ts":"./test/"}` | allows you to define multiple ts portions |
| `"tsOptions"` | `{"target":"ES5", "declaration":"true"}` | specify options for tsc | | `"tsOptions"` | `{"target":"ES5", "declaration":"true"}` | specify options for tsc |
@ -63,11 +61,6 @@ This is in line with the latest TypeScript best practices.
You can then import plugins via the TypeScript `import` Syntax You can then import plugins via the TypeScript `import` Syntax
and tsc will pick up the declaration file automatically. and tsc will pick up the declaration file automatically.
### TypeDoc
By default TypeDoc will create docs for your module in `./pages/api/` directory.
> Note: Use [npmpage](https://www.npmjs.com/package/npmpage) to build a website for the module.
It also allows you to integrate api docs with a gitbook located in `./docs/`
## Some notes: ## Some notes:
#### Typings for third party modules that do not bundle declaration files #### Typings for third party modules that do not bundle declaration files
NPMTS no longer supports typings.json. Instead use the new TypeScript 2.x approach to typings using the @types/ npm scope. NPMTS no longer supports typings.json. Instead use the new TypeScript 2.x approach to typings using the @types/ npm scope.

View File

@ -4,5 +4,4 @@
1. **Clean:** Clean up from any previous builds (old js files) 1. **Clean:** Clean up from any previous builds (old js files)
1. **Check:** Check project for typings declaration in package.json, unused dependencies and missing dependencies 1. **Check:** Check project for typings declaration in package.json, unused dependencies and missing dependencies
1. **Transpile:** Transpile TypeScript with **inline sourcemaps** and **declaration files** to ES target 1. **Transpile:** Transpile TypeScript with **inline sourcemaps** and **declaration files** to ES target
1. **Documentation:** Create TypeDoc Documentation from TypeScript files
1. **Test:** Babelify ES6 to ES5 on the fly, instrumentalize ES5 JavaScript with istanbul and run tests with Mocha. 1. **Test:** Babelify ES6 to ES5 on the fly, instrumentalize ES5 JavaScript with istanbul and run tests with Mocha.

View File

@ -5,11 +5,13 @@ Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.
[![npm](https://push.rocks/assets/repo-button-npm.svg)](https://www.npmjs.com/package/npmts) [![npm](https://push.rocks/assets/repo-button-npm.svg)](https://www.npmjs.com/package/npmts)
[![git](https://push.rocks/assets/repo-button-git.svg)](https://gitlab.com/pushrocks/npmts) [![git](https://push.rocks/assets/repo-button-git.svg)](https://gitlab.com/pushrocks/npmts)
[![git](https://push.rocks/assets/repo-button-mirror.svg)](https://github.com/pushrocks/npmts) [![git](https://push.rocks/assets/repo-button-mirror.svg)](https://github.com/pushrocks/npmts)
[![docs](https://push.rocks/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/npmts/gitbook) [![docs](https://push.rocks/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/npmts/)
## Status for master ## Status for master
[![build status](https://gitlab.com/pushrocks/npmts/badges/master/build.svg)](https://gitlab.com/pushrocks/npmts/commits/master) [![build status](https://gitlab.com/pushrocks/npmts/badges/master/build.svg)](https://gitlab.com/pushrocks/npmts/commits/master)
[![coverage report](https://gitlab.com/pushrocks/npmts/badges/master/coverage.svg)](https://gitlab.com/pushrocks/npmts/commits/master) [![coverage report](https://gitlab.com/pushrocks/npmts/badges/master/coverage.svg)](https://gitlab.com/pushrocks/npmts/commits/master)
[![npm downloads per month](https://img.shields.io/npm/dm/npmts.svg)](https://www.npmjs.com/package/npmts)
[![docker pulls](https://img.shields.io/docker/pulls/hosttoday/ht-docker-node.svg)](https://hub.docker.com/r/hosttoday/ht-docker-node/)
[![Dependency Status](https://david-dm.org/pushrocks/npmts.svg)](https://david-dm.org/pushrocks/npmts) [![Dependency Status](https://david-dm.org/pushrocks/npmts.svg)](https://david-dm.org/pushrocks/npmts)
[![bitHound Dependencies](https://www.bithound.io/github/pushrocks/npmts/badges/dependencies.svg)](https://www.bithound.io/github/pushrocks/npmts/master/dependencies/npm) [![bitHound Dependencies](https://www.bithound.io/github/pushrocks/npmts/badges/dependencies.svg)](https://www.bithound.io/github/pushrocks/npmts/master/dependencies/npm)
[![bitHound Code](https://www.bithound.io/github/pushrocks/npmts/badges/code.svg)](https://www.bithound.io/github/pushrocks/npmts) [![bitHound Code](https://www.bithound.io/github/pushrocks/npmts/badges/code.svg)](https://www.bithound.io/github/pushrocks/npmts)
@ -32,11 +34,11 @@ This works on your machine and in CI. There is a prebuild docker image available
[hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/) [hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/)
For further information read the docs: For further information read the docs:
* [1. Intro](https://pushrocks.gitlab.io/npmts/gitbook/index.md) 1. [Intro](https://pushrocks.gitlab.io/npmts/index.html)
* [2. Install](https://pushrocks.gitlab.io/npmts/gitbook/install.md) 2. [Install](https://pushrocks.gitlab.io/npmts/install.html)
* [3. Default Behaviour](https://pushrocks.gitlab.io/npmts/gitbook/default.md) 3. [Default Behaviour](https://pushrocks.gitlab.io/npmts/default.html)
* [4. Configuration](https://pushrocks.gitlab.io/npmts/gitbook/config.md) 4. [Configuration](https://pushrocks.gitlab.io/npmts/config.html)
* [5. Examples](https://pushrocks.gitlab.io/npmts/gitbook/examples.md) 5. [Examples](https://pushrocks.gitlab.io/npmts/examples.html)
* [6. Info](https://pushrocks.gitlab.io/npmts/gitbook/info.md) 6. [Info](https://pushrocks.gitlab.io/npmts/info.html)
[![npm](https://push.rocks/assets/repo-header.svg)](https://push.rocks) [![npm](https://push.rocks/assets/repo-header.svg)](https://push.rocks)

View File

@ -1,6 +1,6 @@
{ {
"name": "npmts", "name": "npmts",
"version": "5.5.8", "version": "6.1.15",
"description": "Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.", "description": "Write npm modules with TypeScript without hassle. TypeScript ready. Fully ES6.",
"main": "dist/index.js", "main": "dist/index.js",
"bin": { "bin": {
@ -21,7 +21,7 @@
}, },
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://gitlab.com/pushrocks/npmts.git" "url": "git+https://gitlab.com/gitzone/npmts.git"
}, },
"keywords": [ "keywords": [
"TypeScript", "TypeScript",
@ -30,54 +30,44 @@
"author": "Lossless GmbH", "author": "Lossless GmbH",
"license": "MIT", "license": "MIT",
"bugs": { "bugs": {
"url": "https://gitlab.com/pushrocks/npmts/issues" "url": "https://gitlab.com/gitzone/npmts/issues"
}, },
"homepage": "https://gitlab.com/pushrocks/npmts#readme", "homepage": "https://gitlab.com/gitzone/npmts#readme",
"dependencies": { "dependencies": {
"@types/gulp": "^3.8.32", "@types/gulp": "^3.8.32",
"@types/gulp-babel": "^6.1.29",
"@types/gulp-istanbul": "^0.9.30", "@types/gulp-istanbul": "^0.9.30",
"@types/gulp-mocha": "0.0.29", "@types/gulp-mocha": "0.0.29",
"@types/gulp-sourcemaps": "0.0.29", "@types/gulp-sourcemaps": "0.0.29",
"@types/minimatch": "^2.0.29", "@types/minimatch": "^2.0.29",
"@types/q": "^0.x.x",
"@types/shelljs": "^0.3.33",
"@types/through2": "^2.0.32", "@types/through2": "^2.0.32",
"babel-preset-es2015": "^6.18.0", "beautylog": "6.1.1",
"beautylog": "6.0.0", "depcheck": "^0.6.7",
"depcheck": "^0.6.5", "early": "^2.0.36",
"early": "^2.0.35",
"gulp": "3.9.1", "gulp": "3.9.1",
"gulp-babel": "^6.1.2", "gulp-function": "^2.2.3",
"gulp-function": "^2.2.2",
"gulp-inject-modules": "^1.0.0", "gulp-inject-modules": "^1.0.0",
"gulp-istanbul": "^1.1.1", "gulp-istanbul": "^1.1.1",
"gulp-mocha": "^3.0.1", "gulp-mocha": "^3.0.1",
"gulp-sourcemaps": "^2.2.0", "gulp-sourcemaps": "^2.4.1",
"gulp-typedoc": "^2.0.0", "gulp-typescript": "^3.1.5",
"lodash": "^4.17.2", "lodash": "^4.17.4",
"npmextra": "^2.0.3", "npmextra": "^2.0.3",
"projectinfo": "1.0.4", "projectinfo": "^3.0.2",
"q": "^1.4.1", "smartchok": "^1.0.5",
"shelljs": "^0.7.5", "smartcli": "2.0.1",
"smartchok": "^1.0.4",
"smartcli": "1.0.15",
"smartcov": "1.0.0", "smartcov": "1.0.0",
"smartenv": "2.0.0", "smartenv": "2.0.0",
"smartfile": "4.1.0", "smartfile": "^4.1.6",
"smartpath": "3.2.5", "smartpath": "^3.2.8",
"smartq": "^1.1.1",
"smartstream": "^1.0.5", "smartstream": "^1.0.5",
"smartstring": "^2.0.22", "smartstring": "^2.0.24",
"smartsystem": "^1.0.9", "smartsystem": "^1.0.12",
"source-map-support": "^0.4.6", "source-map-support": "^0.4.11",
"through2": "^2.0.1", "through2": "^2.0.3",
"tsn": "^2.0.13", "tsn": "^2.0.15",
"typedoc": "^0.5.1", "typescript": "^2.2.1",
"typescript": "next",
"typings-global": "^1.0.14" "typings-global": "^1.0.14"
}, },
"devDependencies": { "devDependencies": {}
"@types/should": "^8.1.30",
"should": "^11.1.1"
}
} }

View File

@ -1,9 +1,8 @@
/* ------------------------------------------ /* ------------------------------------------
* This module compiles TypeScript files * This module compiles TypeScript files
* -------------------------------------------- */ * -------------------------------------------- */
import * as q from 'q' import * as q from 'smartq'
import { npmtsOra } from '../npmts.log'
import { INpmtsConfig } from '../npmts.config' import { INpmtsConfig } from '../npmts.config'
import * as plugins from './mod00.plugins' import * as plugins from './mod00.plugins'
@ -13,9 +12,9 @@ import * as NpmtsCheck from './mod00.check'
import * as NpmtsClean from './mod00.clean' import * as NpmtsClean from './mod00.clean'
import * as NpmtsCompile from './mod00.compile' import * as NpmtsCompile from './mod00.compile'
export let run = function(configArg: INpmtsConfig): q.Promise<INpmtsConfig> { export let run = function(configArg: INpmtsConfig): Promise<INpmtsConfig> {
let done = q.defer<INpmtsConfig>() let done = q.defer<INpmtsConfig>()
npmtsOra.text('starting TypeScript Compilation') plugins.beautylog.ora.text('starting TypeScript Compilation')
NpmtsClean.run(configArg) NpmtsClean.run(configArg)
.then(NpmtsCheck.run) .then(NpmtsCheck.run)
.then(NpmtsCompile.run) .then(NpmtsCompile.run)

View File

@ -1,15 +1,14 @@
import * as q from 'q' import * as q from 'smartq'
import paths = require('../npmts.paths') import paths = require('../npmts.paths')
import { npmtsOra } from '../npmts.log'
import plugins = require('./mod00.plugins') import plugins = require('./mod00.plugins')
import { projectInfo } from '../mod00/mod00.check' import { projectInfo } from '../mod00/mod00.check'
export var run = function(configArg){ export let run = function(configArg){
let done = q.defer() let done = q.defer()
let config = configArg let config = configArg
npmtsOra.text('now looking at ' + 'required assets'.yellow) plugins.beautylog.ora.text('now looking at ' + 'required assets'.yellow)
if (config.cli === true) { if (config.cli === true) {
let mainJsPath = projectInfo.packageJson.main let mainJsPath = projectInfo.packageJson.main
let cliJsString: string = plugins.smartfile.fs.toStringSync(plugins.path.join(paths.npmtsAssetsDir,'cli.js')) let cliJsString: string = plugins.smartfile.fs.toStringSync(plugins.path.join(paths.npmtsAssetsDir,'cli.js'))

View File

@ -1,8 +1,7 @@
import * as q from 'q' import * as q from 'smartq'
import { ProjectinfoNpm } from 'projectinfo' import { ProjectinfoNpm } from 'projectinfo'
import * as paths from '../npmts.paths' import * as paths from '../npmts.paths'
import { npmtsOra } from '../npmts.log'
import * as plugins from './mod00.plugins' import * as plugins from './mod00.plugins'
@ -10,8 +9,8 @@ export let projectInfo: ProjectinfoNpm
let checkProjectTypings = (configArg) => { let checkProjectTypings = (configArg) => {
let done = q.defer() let done = q.defer()
npmtsOra.text('Check Module: Check Project Typings...') plugins.beautylog.ora.text('Check Module: Check Project Typings...')
projectInfo = new ProjectinfoNpm(paths.cwd) projectInfo = new ProjectinfoNpm(paths.cwd)
if (typeof projectInfo.packageJson.typings === 'undefined') { if (typeof projectInfo.packageJson.typings === 'undefined') {
plugins.beautylog.error(`please add typings field to package.json`) plugins.beautylog.error(`please add typings field to package.json`)
process.exit(1) process.exit(1)
@ -37,7 +36,7 @@ const depcheckOptions = {
let checkDependencies = (configArg) => { let checkDependencies = (configArg) => {
let done = q.defer() let done = q.defer()
npmtsOra.text('Check Module: Check Dependencies...') plugins.beautylog.ora.text('Check Module: Check Dependencies...')
let depcheckOptionsMerged = plugins.lodash.merge(depcheckOptions, { let depcheckOptionsMerged = plugins.lodash.merge(depcheckOptions, {
ignoreDirs: [ // folder with these names will be ignored ignoreDirs: [ // folder with these names will be ignored
'test', 'test',
@ -73,7 +72,7 @@ let checkDependencies = (configArg) => {
let checkDevDependencies = (configArg) => { let checkDevDependencies = (configArg) => {
let done = q.defer() let done = q.defer()
npmtsOra.text('Check Module: Check devDependencies...') plugins.beautylog.ora.text('Check Module: Check devDependencies...')
let depcheckOptionsMerged = plugins.lodash.merge(depcheckOptions, { let depcheckOptionsMerged = plugins.lodash.merge(depcheckOptions, {
ignoreDirs: [ // folder with these names will be ignored ignoreDirs: [ // folder with these names will be ignored
'ts', 'ts',
@ -109,14 +108,14 @@ let checkDevDependencies = (configArg) => {
let checkNodeVersion = (configArg) => { let checkNodeVersion = (configArg) => {
let done = q.defer() let done = q.defer()
npmtsOra.text('checking node version') plugins.beautylog.ora.text('checking node version')
done.resolve(configArg) done.resolve(configArg)
return done.promise return done.promise
} }
export let run = (configArg) => { export let run = (configArg) => {
let done = q.defer() let done = q.defer()
npmtsOra.text('Check Module: ...') plugins.beautylog.ora.text('Check Module: ...')
checkProjectTypings(configArg) checkProjectTypings(configArg)
.then(checkDependencies) .then(checkDependencies)
.then(checkDevDependencies) .then(checkDevDependencies)

View File

@ -1,15 +1,13 @@
import * as q from 'q' import * as q from 'smartq'
import paths = require('../npmts.paths') import paths = require('../npmts.paths')
import { npmtsOra } from '../npmts.log'
import plugins = require('./mod00.plugins') import 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 () {
npmtsOra.text('cleaning dist folder') plugins.beautylog.ora.text('cleaning dist folder')
return plugins.smartfile.fs.remove(paths.distDir) return plugins.smartfile.fs.remove(paths.distDir)
} }
@ -29,12 +27,12 @@ let removeTestDeclarations = function () {
* remove old pages * remove old pages
*/ */
let removePages = function () { let removePages = function () {
npmtsOra.text('cleaning pages folder') plugins.beautylog.ora.text('cleaning pages folder')
return plugins.smartfile.fs.remove(paths.pagesDir) return plugins.smartfile.fs.remove(paths.pagesDir)
} }
export let run = function (configArg) { export let run = function (configArg) {
npmtsOra.text('cleaning up from previous builds...') plugins.beautylog.ora.text('cleaning up from previous builds...')
let done = q.defer() let done = q.defer()
removeDist() removeDist()
.then(removeTestDeclarations) .then(removeTestDeclarations)

View File

@ -1,14 +1,13 @@
import * as q from 'q' import * as q from 'smartq'
import * as paths from '../npmts.paths' import * as paths from '../npmts.paths'
import { npmtsOra } from '../npmts.log'
import * as plugins from './mod00.plugins' import * as plugins from './mod00.plugins'
export let run = function (configArg) { export let run = function (configArg) {
let done = q.defer() let done = q.defer()
let config = configArg let config = configArg
npmtsOra.text('now compiling ' + 'TypeScript'.yellow) plugins.beautylog.ora.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!')

View File

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

View File

@ -1,63 +1,15 @@
/* ------------------------------------------ /* ------------------------------------------
* This module creates TypeScript documentation * This module creates TypeScript documentation
* -------------------------------------------- */ * -------------------------------------------- */
import * as q from 'q' import * as q from 'smartq'
import * as paths from '../npmts.paths' import * as paths from '../npmts.paths'
import { npmtsOra } from '../npmts.log'
import { INpmtsConfig } from '../npmts.config' import { INpmtsConfig } from '../npmts.config'
import * as plugins from './mod01.plugins' import * as plugins from './mod01.plugins'
import { projectInfo } from '../mod00/mod00.check'
let genTypeDoc = function (configArg: INpmtsConfig) {
let done = q.defer()
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')),
plugins.gulpTypedoc({
// TypeScript options (see typescript docs)
module: 'commonjs',
target: 'es6',
includeDeclarations: true,
// Output options (see typedoc docs)
out: paths.pagesApiDir,
json: plugins.path.join(paths.pagesApiDir, 'file.json'),
// TypeDoc options (see typedoc docs)
name: 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)
}
)
return done.promise
}
export let run = function (configArg: INpmtsConfig) { export let run = function (configArg: INpmtsConfig) {
let done = q.defer<INpmtsConfig>() let done = q.defer<INpmtsConfig>()
if (configArg.docs) { done.resolve(configArg)
genTypeDoc(configArg)
.then(() => {
done.resolve(configArg)
})
} else {
done.resolve(configArg)
};
return done.promise return done.promise
} }

View File

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

View File

@ -4,9 +4,8 @@
import plugins = require('./mod02.plugins') import plugins = require('./mod02.plugins')
import paths = require('../npmts.paths') import paths = require('../npmts.paths')
import * as q from 'q' import * as q from 'smartq'
import { npmtsOra } from '../npmts.log'
import { INpmtsConfig } from '../npmts.config' import { INpmtsConfig } from '../npmts.config'
/** /**
@ -14,25 +13,29 @@ import { INpmtsConfig } from '../npmts.config'
* @returns INpmtsConfig * @returns INpmtsConfig
*/ */
let mocha = function (configArg: INpmtsConfig) { let mocha = function (configArg: INpmtsConfig) {
npmtsOra.text('Instrumentalizing and testing transpiled JS') plugins.beautylog.ora.text('Instrumentalizing and testing transpiled JS')
npmtsOra.end() // end npmtsOra for tests. plugins.beautylog.ora.end() // end plugins.beautylog.ora for tests.
let done = q.defer() let done = q.defer()
let coverageSmartstream = new plugins.smartstream.Smartstream([ let coverageSmartstream = new plugins.smartstream.Smartstream([
plugins.gulp.src([plugins.path.join(paths.cwd, './dist/**/*.js')]), plugins.gulp.src([plugins.path.join(paths.cwd, './ts/**/*.ts')]),
plugins.gulpSourcemaps.init(), plugins.gulpSourcemaps.init(),
plugins.gulpBabel({ plugins.gulpTypeScript({
presets: [ target: 'ES5',
require.resolve('babel-preset-es2015') emitDecoratorMetadata: true,
] experimentalDecorators: true,
lib: ['DOM', 'ES5', 'ES2015.Promise', 'ES2015.Generator', 'ES2015.Iterable']
}), }),
plugins.gulpIstanbul({ plugins.gulpIstanbul({
}), }),
plugins.gulpSourcemaps.write(), plugins.gulpSourcemaps.write(),
plugins.gulpFunction.forEach(async file => {
file.path = file.path.replace(paths.tsDir, paths.distDir)
}),
plugins.gulpInjectModules(), plugins.gulpInjectModules(),
plugins.through2.obj( plugins.through2.obj(
(file, enc, cb) => { (file, enc, cb) => {
cb(null, file) cb()
}, },
(cb) => { (cb) => {
cb() cb()
@ -41,11 +44,12 @@ let mocha = function (configArg: INpmtsConfig) {
]) ])
let localSmartstream = new plugins.smartstream.Smartstream([ let localSmartstream = new plugins.smartstream.Smartstream([
plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.js')]), plugins.gulp.src([plugins.path.join(paths.cwd, 'test/test.ts')]),
plugins.gulpBabel({ plugins.gulpTypeScript({
presets: [ target: 'ES5',
require.resolve('babel-preset-es2015') emitDecoratorMetadata: true,
] experimentalDecorators: true,
lib: ['DOM', 'ES5', 'ES2015.Promise', 'ES2015.Generator', 'ES2015.Iterable']
}), }),
plugins.gulpInjectModules(), plugins.gulpInjectModules(),
plugins.gulpMocha(), plugins.gulpMocha(),
@ -103,7 +107,7 @@ export let run = function (configArg: INpmtsConfig) {
let done = q.defer<INpmtsConfig>() let done = q.defer<INpmtsConfig>()
let config = configArg let config = configArg
if (config.test === true) { if (config.test === true) {
npmtsOra.text('now starting tests') plugins.beautylog.ora.text('now starting tests')
plugins.beautylog.log( plugins.beautylog.log(
'------------------------------------------------------\n' + '------------------------------------------------------\n' +
'*************************** TESTS: ***************************\n' + '*************************** TESTS: ***************************\n' +
@ -116,7 +120,7 @@ export let run = function (configArg: INpmtsConfig) {
done.resolve(config) done.resolve(config)
}).catch(err => { console.log(err) }) }).catch(err => { console.log(err) })
} else { } else {
npmtsOra.end() plugins.beautylog.ora.end()
done.resolve(config) done.resolve(config)
} }
return done.promise return done.promise

View File

@ -1,19 +1,19 @@
export * from '../npmts.plugins' export * from '../npmts.plugins'
import * as gulp from 'gulp' import * as gulp from 'gulp'
import * as gulpBabel from 'gulp-babel'
import * as gulpIstanbul from 'gulp-istanbul'
import * as gulpFunction from 'gulp-function' import * as gulpFunction from 'gulp-function'
import * as gulpIstanbul from 'gulp-istanbul'
let gulpInjectModules = require('gulp-inject-modules') let gulpInjectModules = require('gulp-inject-modules')
import * as gulpMocha from 'gulp-mocha' import * as gulpMocha from 'gulp-mocha'
import * as gulpSourcemaps from 'gulp-sourcemaps' import * as gulpSourcemaps from 'gulp-sourcemaps'
import * as gulpTypeScript from 'gulp-typescript'
export { export {
gulp, gulp,
gulpBabel,
gulpIstanbul,
gulpFunction, gulpFunction,
gulpIstanbul,
gulpInjectModules, gulpInjectModules,
gulpMocha, gulpMocha,
gulpSourcemaps gulpSourcemaps,
gulpTypeScript
} }

View File

@ -1,4 +1,4 @@
import * as q from 'q' import * as q from 'smartq'
import * as plugins from './npmts.plugins' import * as plugins from './npmts.plugins'
import * as paths from './npmts.paths' import * as paths from './npmts.paths'
@ -7,8 +7,6 @@ import * as NpmtsMods from './npmts.mods'
import * as NpmtsWatch from './npmts.watch' import * as NpmtsWatch from './npmts.watch'
import * as NpmtsShip from './npmts.ship' 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()
let npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot) let npmtsProjectInfo = new plugins.projectinfo.ProjectinfoNpm(paths.npmtsPackageRoot)
@ -21,7 +19,7 @@ export let run = () => {
}) })
.then((configArg: NpmtsConfig.INpmtsConfig) => { .then((configArg: NpmtsConfig.INpmtsConfig) => {
let done = q.defer() let done = q.defer()
npmtsOra.start('loading additional modules...') plugins.beautylog.ora.start('loading additional modules...')
NpmtsMods.mod00.load() NpmtsMods.mod00.load()
.then((mod00) => { .then((mod00) => {
return mod00.run(configArg) return mod00.run(configArg)

View File

@ -1,16 +1,13 @@
import plugins = require('./npmts.plugins') import plugins = require('./npmts.plugins')
import paths = require('./npmts.paths') import paths = require('./npmts.paths')
import * as q from 'q' import * as q from 'smartq'
import { npmtsOra } from './npmts.log'
export type npmtsMode = 'default' | 'custom' export type npmtsMode = 'default' | 'custom'
export interface INpmtsConfig { export interface INpmtsConfig {
argv: any, argv: any,
coverageTreshold: number, coverageTreshold: number,
docs: boolean,
mode: npmtsMode, mode: npmtsMode,
test: boolean, test: boolean,
testTs: any, testTs: any,
@ -20,12 +17,11 @@ export interface INpmtsConfig {
}; };
export var run = function (argvArg) { export let run = function (argvArg) {
let done = q.defer() let done = q.defer()
let defaultConfig: INpmtsConfig = { let defaultConfig: INpmtsConfig = {
argv: undefined, argv: undefined,
coverageTreshold: 70, coverageTreshold: 70,
docs: true,
mode: 'default', mode: 'default',
test: true, test: true,
testTs: {}, testTs: {},
@ -35,7 +31,7 @@ export var run = function (argvArg) {
} }
// mix with configfile // mix with configfile
npmtsOra.text('running npmextra') plugins.beautylog.ora.text('running npmextra')
let localNpmextra = new plugins.npmextra.Npmextra(paths.cwd) let localNpmextra = new plugins.npmextra.Npmextra(paths.cwd)
let config: INpmtsConfig = localNpmextra.dataFor<INpmtsConfig>( let config: INpmtsConfig = localNpmextra.dataFor<INpmtsConfig>(
@ -72,9 +68,6 @@ export var run = function (argvArg) {
if (config.argv.notest) { if (config.argv.notest) {
config.test = false config.test = false
}; };
if (config.argv.nodocs) {
config.docs = false
};
if (config.argv.watch) { if (config.argv.watch) {
config.watch = true config.watch = true
}; };

View File

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

View File

@ -1,4 +1,4 @@
import * as q from 'q' import * as q from 'smartq'
import * as plugins from './npmts.plugins' import * as plugins from './npmts.plugins'

View File

@ -1,4 +1,4 @@
import * as q from 'q' import * as q from 'smartq'
import * as smartchok from 'smartchok' import * as smartchok from 'smartchok'
import * as plugins from './npmts.plugins' import * as plugins from './npmts.plugins'

3467
yarn.lock Normal file

File diff suppressed because it is too large Load Diff