Compare commits

...

12 Commits

Author SHA1 Message Date
df74769533 5.3.12 2016-07-15 11:52:00 +02:00
5aef714497 now fully ES6 2016-07-15 11:51:55 +02:00
24701afcb2 now using typedoc 2016-07-15 00:38:41 +02:00
cbfbd4ee67 restructure 2016-07-14 13:21:07 +02:00
6df449394d 5.3.11 2016-07-14 13:08:48 +02:00
27b6119bbb improve README 2016-07-14 13:08:43 +02:00
b22abef889 5.3.10 2016-07-14 13:04:11 +02:00
4d8a7a4202 Merge branch 'master' of gitlab.com:pushrocks/npmts 2016-07-14 13:03:54 +02:00
72bc08e973 5.3.9 2016-07-14 13:03:09 +02:00
430f636ae4 now using EsDoc, closes #2 2016-07-14 13:02:58 +02:00
bbc8f13ecf update docker link in README 2016-07-11 15:50:39 +02:00
a01f07f62c improve README 2016-07-11 14:46:31 +02:00
12 changed files with 98 additions and 79 deletions

View File

@ -13,7 +13,7 @@ NPMTS is your friend when it comes to write, test, publish and document NPM modu
By default NPMTS will **bundle declaration files**. As a result npm module **code completion in editors like Visual Studio Code** works. By default NPMTS will **bundle declaration files**. As a result npm module **code completion in editors like Visual Studio Code** works.
There is a docker image available that includes npmts to make CI a breeze: There is a docker image available that includes npmts to make CI a breeze:
[hosttoday/ht-docker-npmg on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-npmg/) [hosttoday/ht-docker-node:npmts on Dockerhub](https://hub.docker.com/r/hosttoday/ht-docker-node/)
### Install ### Install
First install npmts globally, then install the npmts-g locally. First install npmts globally, then install the npmts-g locally.
@ -40,7 +40,7 @@ Then add it to your package.json's script section to trigger a build:
1. Clean up from any previous builds (old js files) 1. Clean up from any previous builds (old js files)
1. Install typings 1. Install typings
1. Transpile TypeScript with **inline sourcemaps** and **declaration files** 1. Transpile TypeScript with **inline sourcemaps** and **declaration files**
1. Create JsDoc Documentation 1. Create EsDoc Documentation
1. Instrumentalize created JavaScript files with istanbul 1. Instrumentalize created JavaScript files with istanbul
1. Run Tests 1. Run Tests
1. Create Coverage report 1. Create Coverage report
@ -104,7 +104,6 @@ Any errors will be shown with reference to their originating source in TypeScrip
thanks to autogenerated source maps. thanks to autogenerated source maps.
## Example Usage in modules: ## Example Usage in modules:
* [gulp-typings](https://www.npmjs.com/package/gulp-typings)
* [gulp-browser](https://www.npmjs.com/package/gulp-typings) * [gulp-browser](https://www.npmjs.com/package/gulp-typings)
> We will add more options over time. > We will add more options over time.
@ -112,7 +111,7 @@ thanks to autogenerated source maps.
## Tips and tricks: ## Tips and tricks:
* Use [npmts-g](https://www.npmjs.com/package/npmts-g) to use globally installed npmts and install npmts locally if no global npmts is available. * Use [npmts-g](https://www.npmjs.com/package/npmts-g) to use globally installed npmts and install npmts locally if no global npmts is available.
* Use [npmpage](https://www.npmjs.com/package/npmtspage) to create a webpage from coverage reports and JsDocs for the module * Use [npmpage](https://www.npmjs.com/package/npmtspage) to create a webpage from coverage reports and EsDocs for the module
* Use [hosttoday/ht-docker-node:npmts](https://hub.docker.com/r/hosttoday/ht-docker-node/) for speedy CI builds * Use [hosttoday/ht-docker-node:npmts](https://hub.docker.com/r/hosttoday/ht-docker-node/) for speedy CI builds
## About the authors: ## About the authors:

28
dist/npmts.jsdoc.js vendored
View File

@ -1,28 +0,0 @@
"use strict";
require("typings-global");
var plugins = require("./npmts.plugins");
var paths = require("./npmts.paths");
var npmts_promisechain_1 = require("./npmts.promisechain");
var genJsdoc = function (configArg) {
var done = plugins.Q.defer();
npmts_promisechain_1.npmtsOra.text("now generating " + "JsDoc documentation".yellow);
plugins.gulp.src([
plugins.path.join(paths.cwd, "README.md"),
plugins.path.join(paths.distDir, "**/*.js")
])
.pipe(plugins.g.jsdoc3({
opts: {
destination: paths.docsDir
}
}, function () {
plugins.beautylog.ok("JsDoc documentation has been generated!");
done.resolve(configArg);
}));
return done.promise;
};
exports.run = function (configArg) {
var done = plugins.Q.defer();
genJsdoc(configArg)
.then(done.resolve);
return done.promise;
};

View File

@ -4,10 +4,10 @@ export declare let gulp: any;
export declare let g: { export declare let g: {
gFunction: any; gFunction: any;
istanbul: any; istanbul: any;
jsdoc3: any;
mocha: any; mocha: any;
replace: any; replace: any;
sourcemaps: any; sourcemaps: any;
typedoc: any;
}; };
export declare let lodashObject: any; export declare let lodashObject: any;
export declare let merge2: any; export declare let merge2: any;

View File

@ -5,10 +5,10 @@ exports.gulp = require("gulp");
exports.g = { exports.g = {
gFunction: require("gulp-function"), gFunction: require("gulp-function"),
istanbul: require("gulp-istanbul"), istanbul: require("gulp-istanbul"),
jsdoc3: require("gulp-jsdoc3"),
mocha: require("gulp-mocha"), mocha: require("gulp-mocha"),
replace: require("gulp-replace"), replace: require("gulp-replace"),
sourcemaps: require("gulp-sourcemaps") sourcemaps: require("gulp-sourcemaps"),
typedoc: require("gulp-typedoc")
}; };
exports.lodashObject = require('lodash/fp/object'); exports.lodashObject = require('lodash/fp/object');
exports.merge2 = require("merge2"); exports.merge2 = require("merge2");

View File

@ -6,7 +6,7 @@ var NpmtsAssets = require("./npmts.assets");
var NpmtsClean = require("./npmts.clean"); var NpmtsClean = require("./npmts.clean");
var NpmtsCompile = require("./npmts.compile"); var NpmtsCompile = require("./npmts.compile");
var NpmtsConfigFile = require("./npmts.configfile"); var NpmtsConfigFile = require("./npmts.configfile");
var NpmtsJsdoc = require("./npmts.jsdoc"); var NpmtsTypeDoc = require("./npmts.typedoc");
var NpmtsOptions = require("./npmts.options"); var NpmtsOptions = require("./npmts.options");
var NpmtsTests = require("./npmts.tests"); var NpmtsTests = require("./npmts.tests");
exports.promisechain = function (argvArg) { exports.promisechain = function (argvArg) {
@ -17,7 +17,7 @@ exports.promisechain = function (argvArg) {
.then(NpmtsClean.run) .then(NpmtsClean.run)
.then(NpmtsCompile.run) .then(NpmtsCompile.run)
.then(NpmtsAssets.run) .then(NpmtsAssets.run)
.then(NpmtsJsdoc.run) .then(NpmtsTypeDoc.run)
.then(NpmtsTests.run) .then(NpmtsTests.run)
.then(function (configArg) { .then(function (configArg) {
var shipString = "" + var shipString = "" +

35
dist/npmts.typedoc.js vendored Normal file
View File

@ -0,0 +1,35 @@
"use strict";
require("typings-global");
var plugins = require("./npmts.plugins");
var paths = require("./npmts.paths");
var npmts_promisechain_1 = require("./npmts.promisechain");
var genTypeDoc = function (configArg) {
var done = plugins.Q.defer();
npmts_promisechain_1.npmtsOra.text("now generating " + "EsDoc documentation".yellow);
plugins.beautylog.log("TypeDoc Output:");
plugins.gulp.src(plugins.path.join(paths.tsDir, "**/*.ts"))
.pipe(plugins.g.typedoc({
// TypeScript options (see typescript docs)
module: "commonjs",
target: "es6",
includeDeclarations: true,
// Output options (see typedoc docs)
out: paths.docsDir,
json: plugins.path.join(paths.docsDir, "file.json"),
// TypeDoc options (see typedoc docs)
name: "my-project",
//theme: "default",
ignoreCompilerErrors: false,
version: true,
}))
.pipe(plugins.g.gFunction(done.resolve, "atEnd"));
return done.promise;
};
exports.run = function (configArg) {
var done = plugins.Q.defer();
genTypeDoc(configArg)
.then(function () {
done.resolve(configArg);
});
return done.promise;
};

View File

@ -1,6 +1,6 @@
{ {
"name": "npmts", "name": "npmts",
"version": "5.3.9", "version": "5.3.12",
"description": "write npm modules with TypeScript", "description": "write npm modules with TypeScript",
"main": "dist/index.js", "main": "dist/index.js",
"bin": { "bin": {
@ -29,11 +29,12 @@
}, },
"homepage": "https://gitlab.com/pushrocks/npmts#readme", "homepage": "https://gitlab.com/pushrocks/npmts#readme",
"dependencies": { "dependencies": {
"@types/minimatch": "^2.0.22-alpha", "@types/minimatch": "*",
"@types/q": "0.0.21-alpha", "@types/q": "*",
"@types/shelljs": "^0.3.21-alpha", "@types/shelljs": "*",
"beautylog": "5.0.12", "beautylog": "5.0.14",
"early": "^2.0.13", "early": "^2.0.13",
"esdoc": "^0.4.7",
"gulp": "3.9.1", "gulp": "3.9.1",
"gulp-concat": "^2.6.0", "gulp-concat": "^2.6.0",
"gulp-function": "^1.3.6", "gulp-function": "^1.3.6",
@ -43,6 +44,7 @@
"gulp-mocha": "^2.2.0", "gulp-mocha": "^2.2.0",
"gulp-replace": "^0.5.4", "gulp-replace": "^0.5.4",
"gulp-sourcemaps": "^1.6.0", "gulp-sourcemaps": "^1.6.0",
"gulp-typedoc": "^2.0.0",
"lodash": "^4.13.1", "lodash": "^4.13.1",
"merge2": "1.0.2", "merge2": "1.0.2",
"projectinfo": "1.0.3", "projectinfo": "1.0.3",
@ -54,9 +56,10 @@
"smartenv": "1.2.5", "smartenv": "1.2.5",
"smartfile": "4.0.10", "smartfile": "4.0.10",
"smartpath": "3.2.2", "smartpath": "3.2.2",
"smartstring": "^2.0.10", "smartstring": "^2.0.14",
"source-map-support": "^0.4.1", "source-map-support": "^0.4.2",
"tsn": "^1.0.5", "tsn": "^1.0.7",
"typedoc": "^0.4.4",
"typescript": "^2.0.0-dev.20160630", "typescript": "^2.0.0-dev.20160630",
"typings-global": "*" "typings-global": "*"
}, },

View File

@ -1,30 +0,0 @@
import "typings-global";
import plugins = require("./npmts.plugins");
import paths = require("./npmts.paths");
import {npmtsOra} from "./npmts.promisechain";
let genJsdoc = function(configArg){
let done = plugins.Q.defer();
npmtsOra.text("now generating " + "JsDoc documentation".yellow);
plugins.gulp.src([
plugins.path.join(paths.cwd,"README.md"),
plugins.path.join(paths.distDir,"**/*.js")
])
.pipe(plugins.g.jsdoc3({
opts: {
destination: paths.docsDir
}
}, function(){
plugins.beautylog.ok("JsDoc documentation has been generated!");
done.resolve(configArg)
}));
return done.promise;
};
export let run = function(configArg){
let done = plugins.Q.defer();
genJsdoc(configArg)
.then(done.resolve);
return done.promise;
};

View File

@ -4,10 +4,10 @@ export let gulp = require("gulp");
export let g = { export let g = {
gFunction: require("gulp-function"), gFunction: require("gulp-function"),
istanbul: require("gulp-istanbul"), istanbul: require("gulp-istanbul"),
jsdoc3: require("gulp-jsdoc3"),
mocha: require("gulp-mocha"), mocha: require("gulp-mocha"),
replace: require("gulp-replace"), replace: require("gulp-replace"),
sourcemaps: require("gulp-sourcemaps") sourcemaps: require("gulp-sourcemaps"),
typedoc: require("gulp-typedoc")
}; };
export let lodashObject = require('lodash/fp/object'); export let lodashObject = require('lodash/fp/object');
export let merge2 = require("merge2"); export let merge2 = require("merge2");

View File

@ -8,7 +8,7 @@ import NpmtsAssets = require("./npmts.assets");
import NpmtsClean = require("./npmts.clean"); import NpmtsClean = require("./npmts.clean");
import NpmtsCompile = require("./npmts.compile"); import NpmtsCompile = require("./npmts.compile");
import NpmtsConfigFile = require("./npmts.configfile"); import NpmtsConfigFile = require("./npmts.configfile");
import NpmtsJsdoc = require("./npmts.jsdoc"); import NpmtsTypeDoc = require("./npmts.typedoc");
import NpmtsOptions = require("./npmts.options"); import NpmtsOptions = require("./npmts.options");
import NpmtsTests = require("./npmts.tests"); import NpmtsTests = require("./npmts.tests");
@ -20,7 +20,7 @@ export let promisechain = function(argvArg){
.then(NpmtsClean.run) .then(NpmtsClean.run)
.then(NpmtsCompile.run) .then(NpmtsCompile.run)
.then(NpmtsAssets.run) .then(NpmtsAssets.run)
.then(NpmtsJsdoc.run) .then(NpmtsTypeDoc.run)
.then(NpmtsTests.run) .then(NpmtsTests.run)
.then(function(configArg){ .then(function(configArg){
let shipString = "" + let shipString = "" +

40
ts/npmts.typedoc.ts Normal file
View File

@ -0,0 +1,40 @@
import "typings-global";
import plugins = require("./npmts.plugins");
import paths = require("./npmts.paths");
import {npmtsOra} from "./npmts.promisechain";
let genTypeDoc = function(configArg){
let done = plugins.Q.defer();
npmtsOra.text("now generating " + "EsDoc documentation".yellow);
plugins.beautylog.log("TypeDoc Output:");
plugins.gulp.src(plugins.path.join(paths.tsDir,"**/*.ts"))
.pipe(plugins.g.typedoc({
// TypeScript options (see typescript docs)
module: "commonjs",
target: "es6",
includeDeclarations: true,
// Output options (see typedoc docs)
out: paths.docsDir,
json: plugins.path.join(paths.docsDir,"file.json"),
// TypeDoc options (see typedoc docs)
name: "my-project",
//theme: "default",
ignoreCompilerErrors: false,
version: true,
}))
.pipe(plugins.g.gFunction(done.resolve,"atEnd"));
return done.promise;
};
export let run = function(configArg){
let done = plugins.Q.defer();
genTypeDoc(configArg)
.then(() => {
done.resolve(configArg);
});
return done.promise;
};