Compare commits

..

16 Commits

Author SHA1 Message Date
8d2c9e8241 1.0.13 2019-05-19 23:00:00 +02:00
b78b0ef599 fix(core): update 2019-05-19 22:59:59 +02:00
5a046a7667 1.0.12 2019-05-19 21:48:54 +02:00
b04f3be3db fix(core): update 2019-05-19 21:48:54 +02:00
d441f5b489 1.0.11 2019-05-15 21:42:30 +02:00
38f3ccb364 fix(core): update 2019-05-15 21:42:29 +02:00
0c7f50e3cc 1.0.10 2019-05-15 21:40:19 +02:00
7937cc8898 fix(core): update 2019-05-15 21:40:18 +02:00
1a7f33d22b 1.0.9 2019-05-15 21:25:02 +02:00
ea9dfa0e0d fix(core): update 2019-05-15 21:25:02 +02:00
755babdd75 1.0.8 2019-05-15 21:23:45 +02:00
4fa345d20e fix(core): update 2019-05-15 21:23:45 +02:00
b8678cd808 1.0.7 2019-05-15 21:10:19 +02:00
4f25981183 fix(core): update 2019-05-15 21:10:19 +02:00
81a5f87eb7 1.0.6 2019-05-15 21:06:08 +02:00
dd3c4860a0 fix(core): update 2019-05-15 21:06:07 +02:00
5 changed files with 90 additions and 27 deletions

32
package-lock.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsdoc", "name": "@gitzone/tsdoc",
"version": "1.0.5", "version": "1.0.13",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@ -165,6 +165,14 @@
} }
} }
}, },
"@pushrocks/smartexit": {
"version": "1.0.7",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartexit/-/smartexit-1.0.7.tgz",
"integrity": "sha512-G/gBbYWRAZs/O7YPUKTeEpCFvvfH7fayYvP3jqeHbZFFwILmaweLXDw/ns6R3bkI5w+lnlCoj26aXCtUWfqMtA==",
"requires": {
"@pushrocks/lik": "^3.0.5"
}
},
"@pushrocks/smartfile": { "@pushrocks/smartfile": {
"version": "7.0.2", "version": "7.0.2",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.2.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartfile/-/smartfile-7.0.2.tgz",
@ -268,20 +276,14 @@
} }
}, },
"@pushrocks/smartshell": { "@pushrocks/smartshell": {
"version": "2.0.13", "version": "2.0.15",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.13.tgz", "resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartshell/-/smartshell-2.0.15.tgz",
"integrity": "sha512-jLfAhLxMVKAScKdln1QrQqBI7A7INhMNHIq28fJEBi0BNDUS0eerw4yMAnR4CRmcrh4xFp1z+ju1kaPO3I/4MA==", "integrity": "sha512-yLkNRYiQTyTamQl3N8bXAiFkew1VK1IJusVfy+OLp456amY8byAg6JI89HHzsSJkK7QnK0+4hcK4fUbkijevsA==",
"requires": { "requires": {
"@pushrocks/smartpromise": "^2.0.5", "@pushrocks/smartexit": "^1.0.7",
"@pushrocks/smartpromise": "^3.0.2",
"@types/which": "^1.3.1", "@types/which": "^1.3.1",
"which": "^1.3.1" "which": "^1.3.1"
},
"dependencies": {
"@pushrocks/smartpromise": {
"version": "2.0.5",
"resolved": "https://verdaccio.lossless.one/@pushrocks%2fsmartpromise/-/smartpromise-2.0.5.tgz",
"integrity": "sha512-9j/chLtIiNkR0MDw7Mpxg9slxAVvAQwUZuiaPYX5KpHdKxQaHLI1VZ8IN0vPhwlfgNO4i4vGXV0wB8BvSDj03g=="
}
} }
}, },
"@pushrocks/smarttime": { "@pushrocks/smarttime": {
@ -413,9 +415,9 @@
"integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA=="
}, },
"@types/node": { "@types/node": {
"version": "12.0.0", "version": "12.0.2",
"resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.0.0.tgz", "resolved": "https://verdaccio.lossless.one/@types%2fnode/-/node-12.0.2.tgz",
"integrity": "sha512-Jrb/x3HT4PTJp6a4avhmJCDEVrPdqLfl3e8GGMbpkGGdwAV5UGlIs4vVEfsHHfylZVOKZWpOqmqFH8CbfOZ6kg==" "integrity": "sha512-5tabW/i+9mhrfEOUcLDu2xBPsHJ+X5Orqy9FKpale3SjDA17j5AEpYq5vfy3oAeAHGcvANRCO3NV3d2D6q3NiA=="
}, },
"@types/shelljs": { "@types/shelljs": {
"version": "0.8.5", "version": "0.8.5",

View File

@ -1,6 +1,6 @@
{ {
"name": "@gitzone/tsdoc", "name": "@gitzone/tsdoc",
"version": "1.0.5", "version": "1.0.13",
"private": false, "private": false,
"description": "a tool for better documentation", "description": "a tool for better documentation",
"main": "dist/index.js", "main": "dist/index.js",
@ -20,7 +20,7 @@
"@gitzone/tsbuild": "^2.0.22", "@gitzone/tsbuild": "^2.0.22",
"@gitzone/tstest": "^1.0.15", "@gitzone/tstest": "^1.0.15",
"@pushrocks/tapbundle": "^3.0.7", "@pushrocks/tapbundle": "^3.0.7",
"@types/node": "^12.0.0", "@types/node": "^12.0.2",
"tslint": "^5.11.0", "tslint": "^5.11.0",
"tslint-config-prettier": "^1.15.0" "tslint-config-prettier": "^1.15.0"
}, },
@ -30,7 +30,7 @@
"@pushrocks/smartfile": "^7.0.2", "@pushrocks/smartfile": "^7.0.2",
"@pushrocks/smartlog": "^2.0.19", "@pushrocks/smartlog": "^2.0.19",
"@pushrocks/smartlog-destination-local": "^7.0.5", "@pushrocks/smartlog-destination-local": "^7.0.5",
"@pushrocks/smartshell": "^2.0.13", "@pushrocks/smartshell": "^2.0.15",
"typedoc": "^0.14.2", "typedoc": "^0.14.2",
"typescript": "^3.4.5" "typescript": "^3.4.5"
} }

View File

@ -1,10 +1,67 @@
import * as plugins from './tsdoc.plugins'; import * as plugins from './tsdoc.plugins';
import * as paths from './tsdoc.paths';
export class MkDocs { export class MkDocs {
public smartshellInstance = new plugins.smartshell.Smartshell({
executor: 'bash',
pathDirectories: [paths.binDir]
});
public static async isMkDocsDir(dirPathArg: string): Promise<boolean> { public static async isMkDocsDir(dirPathArg: string): Promise<boolean> {
const result = await plugins.smartfile.fs.fileExists( const result = await plugins.smartfile.fs.fileExists(
plugins.path.join(dirPathArg, 'mkdocs.yml') plugins.path.join(dirPathArg, 'mkdocs.yml')
); );
return !result; return result;
}
public static async handleCommand(argvArg) {
const mkdocsInstance = new MkDocs(paths.cwd);
switch (true) {
case argvArg.serve:
await mkdocsInstance.serve();
break;
case argvArg.publish:
await mkdocsInstance.publish();
break;
default:
await mkdocsInstance.compile();
break;
}
}
// Instance
public typedocDirectory: string;
constructor(dirPathArg) {
this.typedocDirectory = dirPathArg;
}
public async update() {
await this.smartshellInstance.exec(
`docker pull registry.gitlab.com/hosttoday/ht-docker-mkdocs`
);
}
public async compile() {
await this.update();
await this.smartshellInstance.exec(`rm -rf public/`);
await this.smartshellInstance.exec(
`docker run --rm -p 8000:8000 -v ${
paths.cwd
}:/docs registry.gitlab.com/hosttoday/ht-docker-mkdocs build`
);
}
public async serve() {
await this.update();
await this.smartshellInstance.exec(
`docker run --rm -p 8000:8000 -v ${
paths.cwd
}:/docs registry.gitlab.com/hosttoday/ht-docker-mkdocs`
);
}
public async publish() {
await this.compile();
await this.smartshellInstance.exec(`gitzone commit`);
} }
} }

View File

@ -22,6 +22,8 @@ export class TypeDoc {
} }
public async compile() { public async compile() {
await this.smartshellInstance.exec(`typedoc --module "commonjs" --target "ES2016" --out public/ ts/`); await this.smartshellInstance.exec(
`typedoc --module "commonjs" --target "ES2016" --out public/ ts/`
);
} }
} }

View File

@ -8,10 +8,13 @@ import { MkDocs } from './tsdoc.classes.mkdocs';
export const run = async () => { export const run = async () => {
const tsdocCli = new plugins.smartcli.Smartcli(); const tsdocCli = new plugins.smartcli.Smartcli();
tsdocCli.addCommand('typedoc').subscribe(async argvArg => { tsdocCli.addCommand('typedoc').subscribe(async argvArg => {
const typeDocInstance = new TypeDoc(paths.cwd);
await typeDocInstance.compile();
}); });
tsdocCli.addCommand('mkdocs').subscribe(async argvArg => {}); tsdocCli.addCommand('mkdocs').subscribe(async argvArg => {
await MkDocs.handleCommand(argvArg);
});
tsdocCli.standardTask().subscribe(async argvArg => { tsdocCli.standardTask().subscribe(async argvArg => {
logger.log('warn', `Auto detecting environment!`); logger.log('warn', `Auto detecting environment!`);
@ -19,11 +22,10 @@ export const run = async () => {
case await TypeDoc.isTypeDocDir(paths.cwd): case await TypeDoc.isTypeDocDir(paths.cwd):
logger.log('ok', `Detected TypeDoc compliant directory at ${paths.cwd}`); logger.log('ok', `Detected TypeDoc compliant directory at ${paths.cwd}`);
tsdocCli.trigger('typedoc'); tsdocCli.trigger('typedoc');
const typeDocInstance = new TypeDoc(paths.cwd);
await typeDocInstance.compile();
break; break;
case await MkDocs.isMkDocsDir(paths.cwd): case await MkDocs.isMkDocsDir(paths.cwd):
logger.log('ok', `Detected MkDocs compliant directory at ${paths.cwd}`); logger.log('ok', `Detected MkDocs compliant directory at ${paths.cwd}`);
tsdocCli.trigger('mkdocs');
break; break;
default: default:
logger.log('error', `Cannot determine docs format at ${paths.cwd}`); logger.log('error', `Cannot determine docs format at ${paths.cwd}`);