Compare commits
12 Commits
Author | SHA1 | Date | |
---|---|---|---|
df74769533 | |||
5aef714497 | |||
24701afcb2 | |||
cbfbd4ee67 | |||
6df449394d | |||
27b6119bbb | |||
b22abef889 | |||
4d8a7a4202 | |||
72bc08e973 | |||
430f636ae4 | |||
bbc8f13ecf | |||
a01f07f62c |
@ -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.
|
||||
|
||||
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
|
||||
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. Install typings
|
||||
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. Run Tests
|
||||
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.
|
||||
|
||||
## Example Usage in modules:
|
||||
* [gulp-typings](https://www.npmjs.com/package/gulp-typings)
|
||||
* [gulp-browser](https://www.npmjs.com/package/gulp-typings)
|
||||
|
||||
> We will add more options over time.
|
||||
@ -112,7 +111,7 @@ thanks to autogenerated source maps.
|
||||
## 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 [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
|
||||
|
||||
## About the authors:
|
||||
|
28
dist/npmts.jsdoc.js
vendored
28
dist/npmts.jsdoc.js
vendored
@ -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;
|
||||
};
|
2
dist/npmts.plugins.d.ts
vendored
2
dist/npmts.plugins.d.ts
vendored
@ -4,10 +4,10 @@ export declare let gulp: any;
|
||||
export declare let g: {
|
||||
gFunction: any;
|
||||
istanbul: any;
|
||||
jsdoc3: any;
|
||||
mocha: any;
|
||||
replace: any;
|
||||
sourcemaps: any;
|
||||
typedoc: any;
|
||||
};
|
||||
export declare let lodashObject: any;
|
||||
export declare let merge2: any;
|
||||
|
4
dist/npmts.plugins.js
vendored
4
dist/npmts.plugins.js
vendored
@ -5,10 +5,10 @@ exports.gulp = require("gulp");
|
||||
exports.g = {
|
||||
gFunction: require("gulp-function"),
|
||||
istanbul: require("gulp-istanbul"),
|
||||
jsdoc3: require("gulp-jsdoc3"),
|
||||
mocha: require("gulp-mocha"),
|
||||
replace: require("gulp-replace"),
|
||||
sourcemaps: require("gulp-sourcemaps")
|
||||
sourcemaps: require("gulp-sourcemaps"),
|
||||
typedoc: require("gulp-typedoc")
|
||||
};
|
||||
exports.lodashObject = require('lodash/fp/object');
|
||||
exports.merge2 = require("merge2");
|
||||
|
4
dist/npmts.promisechain.js
vendored
4
dist/npmts.promisechain.js
vendored
@ -6,7 +6,7 @@ var NpmtsAssets = require("./npmts.assets");
|
||||
var NpmtsClean = require("./npmts.clean");
|
||||
var NpmtsCompile = require("./npmts.compile");
|
||||
var NpmtsConfigFile = require("./npmts.configfile");
|
||||
var NpmtsJsdoc = require("./npmts.jsdoc");
|
||||
var NpmtsTypeDoc = require("./npmts.typedoc");
|
||||
var NpmtsOptions = require("./npmts.options");
|
||||
var NpmtsTests = require("./npmts.tests");
|
||||
exports.promisechain = function (argvArg) {
|
||||
@ -17,7 +17,7 @@ exports.promisechain = function (argvArg) {
|
||||
.then(NpmtsClean.run)
|
||||
.then(NpmtsCompile.run)
|
||||
.then(NpmtsAssets.run)
|
||||
.then(NpmtsJsdoc.run)
|
||||
.then(NpmtsTypeDoc.run)
|
||||
.then(NpmtsTests.run)
|
||||
.then(function (configArg) {
|
||||
var shipString = "" +
|
||||
|
35
dist/npmts.typedoc.js
vendored
Normal file
35
dist/npmts.typedoc.js
vendored
Normal 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;
|
||||
};
|
19
package.json
19
package.json
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "npmts",
|
||||
"version": "5.3.9",
|
||||
"version": "5.3.12",
|
||||
"description": "write npm modules with TypeScript",
|
||||
"main": "dist/index.js",
|
||||
"bin": {
|
||||
@ -29,11 +29,12 @@
|
||||
},
|
||||
"homepage": "https://gitlab.com/pushrocks/npmts#readme",
|
||||
"dependencies": {
|
||||
"@types/minimatch": "^2.0.22-alpha",
|
||||
"@types/q": "0.0.21-alpha",
|
||||
"@types/shelljs": "^0.3.21-alpha",
|
||||
"beautylog": "5.0.12",
|
||||
"@types/minimatch": "*",
|
||||
"@types/q": "*",
|
||||
"@types/shelljs": "*",
|
||||
"beautylog": "5.0.14",
|
||||
"early": "^2.0.13",
|
||||
"esdoc": "^0.4.7",
|
||||
"gulp": "3.9.1",
|
||||
"gulp-concat": "^2.6.0",
|
||||
"gulp-function": "^1.3.6",
|
||||
@ -43,6 +44,7 @@
|
||||
"gulp-mocha": "^2.2.0",
|
||||
"gulp-replace": "^0.5.4",
|
||||
"gulp-sourcemaps": "^1.6.0",
|
||||
"gulp-typedoc": "^2.0.0",
|
||||
"lodash": "^4.13.1",
|
||||
"merge2": "1.0.2",
|
||||
"projectinfo": "1.0.3",
|
||||
@ -54,9 +56,10 @@
|
||||
"smartenv": "1.2.5",
|
||||
"smartfile": "4.0.10",
|
||||
"smartpath": "3.2.2",
|
||||
"smartstring": "^2.0.10",
|
||||
"source-map-support": "^0.4.1",
|
||||
"tsn": "^1.0.5",
|
||||
"smartstring": "^2.0.14",
|
||||
"source-map-support": "^0.4.2",
|
||||
"tsn": "^1.0.7",
|
||||
"typedoc": "^0.4.4",
|
||||
"typescript": "^2.0.0-dev.20160630",
|
||||
"typings-global": "*"
|
||||
},
|
||||
|
@ -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;
|
||||
};
|
@ -4,10 +4,10 @@ export let gulp = require("gulp");
|
||||
export let g = {
|
||||
gFunction: require("gulp-function"),
|
||||
istanbul: require("gulp-istanbul"),
|
||||
jsdoc3: require("gulp-jsdoc3"),
|
||||
mocha: require("gulp-mocha"),
|
||||
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 merge2 = require("merge2");
|
||||
|
@ -8,7 +8,7 @@ import NpmtsAssets = require("./npmts.assets");
|
||||
import NpmtsClean = require("./npmts.clean");
|
||||
import NpmtsCompile = require("./npmts.compile");
|
||||
import NpmtsConfigFile = require("./npmts.configfile");
|
||||
import NpmtsJsdoc = require("./npmts.jsdoc");
|
||||
import NpmtsTypeDoc = require("./npmts.typedoc");
|
||||
import NpmtsOptions = require("./npmts.options");
|
||||
import NpmtsTests = require("./npmts.tests");
|
||||
|
||||
@ -20,7 +20,7 @@ export let promisechain = function(argvArg){
|
||||
.then(NpmtsClean.run)
|
||||
.then(NpmtsCompile.run)
|
||||
.then(NpmtsAssets.run)
|
||||
.then(NpmtsJsdoc.run)
|
||||
.then(NpmtsTypeDoc.run)
|
||||
.then(NpmtsTests.run)
|
||||
.then(function(configArg){
|
||||
let shipString = "" +
|
||||
|
40
ts/npmts.typedoc.ts
Normal file
40
ts/npmts.typedoc.ts
Normal 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;
|
||||
};
|
Reference in New Issue
Block a user