2016-07-14 22:38:41 +00:00
|
|
|
import "typings-global";
|
|
|
|
import plugins = require("./npmts.plugins");
|
|
|
|
import paths = require("./npmts.paths");
|
2016-08-13 21:54:17 +00:00
|
|
|
import { npmtsOra } from "./npmts.promisechain";
|
2016-07-14 22:38:41 +00:00
|
|
|
|
2016-08-13 21:54:17 +00:00
|
|
|
let genTypeDoc = function (configArg) {
|
2016-07-14 22:38:41 +00:00
|
|
|
let done = plugins.Q.defer();
|
2016-07-15 10:22:19 +00:00
|
|
|
npmtsOra.text("now generating " + "TypeDoc documentation".yellow);
|
2016-07-14 22:38:41 +00:00
|
|
|
plugins.beautylog.log("TypeDoc Output:");
|
2016-08-13 21:54:17 +00:00
|
|
|
plugins.gulp.src(plugins.path.join(paths.tsDir, "**/*.ts"))
|
2016-07-14 22:38:41 +00:00
|
|
|
.pipe(plugins.g.typedoc({
|
2016-08-13 21:54:17 +00:00
|
|
|
// 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",
|
|
|
|
|
2016-07-14 22:38:41 +00:00
|
|
|
//theme: "default",
|
2016-08-13 21:54:17 +00:00
|
|
|
ignoreCompilerErrors: true,
|
|
|
|
version: true,
|
|
|
|
}))
|
|
|
|
.pipe(plugins.g.gFunction(done.resolve, "atEnd"));
|
2016-07-14 22:38:41 +00:00
|
|
|
return done.promise;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2016-08-13 21:54:17 +00:00
|
|
|
export let run = function (configArg) {
|
2016-07-14 22:38:41 +00:00
|
|
|
let done = plugins.Q.defer();
|
2016-08-13 21:54:17 +00:00
|
|
|
if (configArg.nodocs) {
|
|
|
|
done.resolve(configArg);
|
|
|
|
} else {
|
|
|
|
genTypeDoc(configArg)
|
|
|
|
.then(() => {
|
|
|
|
done.resolve(configArg);
|
|
|
|
});
|
|
|
|
};
|
2016-07-14 22:38:41 +00:00
|
|
|
return done.promise;
|
|
|
|
};
|