@rsdk/cli.cmd.autodoc 5.7.0-next.3 → 6.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base/app.loader.d.ts +7 -0
- package/dist/base/app.loader.js +69 -0
- package/dist/base/app.loader.js.map +1 -0
- package/dist/base/document.file.d.ts +15 -0
- package/dist/base/document.file.js +30 -0
- package/dist/base/document.file.js.map +1 -0
- package/dist/base/index.d.ts +2 -0
- package/dist/base/index.js +19 -0
- package/dist/base/index.js.map +1 -0
- package/dist/commands/autodoc.cmd.d.ts +7 -0
- package/dist/commands/autodoc.cmd.js +92 -0
- package/dist/commands/autodoc.cmd.js.map +1 -0
- package/dist/commands/openapi.variation.d.ts +7 -0
- package/dist/commands/openapi.variation.js +118 -0
- package/dist/commands/openapi.variation.js.map +1 -0
- package/dist/generators/autodoc-md/autodoc-md.generator.d.ts +8 -0
- package/dist/generators/autodoc-md/autodoc-md.generator.js +37 -0
- package/dist/generators/autodoc-md/autodoc-md.generator.js.map +1 -0
- package/dist/{md-formats/md-formats.d.ts → generators/autodoc-md/formatters.d.ts} +1 -1
- package/dist/{md-formats/md-formats.js → generators/autodoc-md/formatters.js} +4 -4
- package/dist/generators/autodoc-md/formatters.js.map +1 -0
- package/dist/{fragments/core.js → generators/autodoc-md/fragments/document-fragment.abstract.js} +1 -1
- package/dist/generators/autodoc-md/fragments/document-fragment.abstract.js.map +1 -0
- package/dist/{extractor/extractor.js → generators/autodoc-md/fragments/extractor/document.extractor.js} +1 -1
- package/dist/generators/autodoc-md/fragments/extractor/document.extractor.js.map +1 -0
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/additional-sources.fragment.d.ts +1 -1
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/additional-sources.fragment.js +2 -2
- package/dist/generators/autodoc-md/fragments/implementations/additional-sources.fragment.js.map +1 -0
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/app-metadata.fragment.d.ts +4 -4
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/app-metadata.fragment.js +4 -4
- package/dist/generators/autodoc-md/fragments/implementations/app-metadata.fragment.js.map +1 -0
- package/dist/generators/autodoc-md/fragments/implementations/autodoc.fragment.d.ts +8 -0
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/autodoc.fragment.js +8 -7
- package/dist/generators/autodoc-md/fragments/implementations/autodoc.fragment.js.map +1 -0
- package/dist/{fragments/config-section → generators/autodoc-md/fragments/implementations}/config-section.fragment.d.ts +2 -1
- package/dist/{fragments/config-section → generators/autodoc-md/fragments/implementations}/config-section.fragment.js +9 -9
- package/dist/generators/autodoc-md/fragments/implementations/config-section.fragment.js.map +1 -0
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/header.fragment.d.ts +4 -4
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/header.fragment.js +4 -4
- package/dist/generators/autodoc-md/fragments/implementations/header.fragment.js.map +1 -0
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/plugin.fragment.d.ts +1 -1
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/plugin.fragment.js +2 -2
- package/dist/generators/autodoc-md/fragments/implementations/plugin.fragment.js.map +1 -0
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/transports.fragment.d.ts +1 -1
- package/dist/{fragments → generators/autodoc-md/fragments/implementations}/transports.fragment.js +2 -2
- package/dist/generators/autodoc-md/fragments/implementations/transports.fragment.js.map +1 -0
- package/dist/generators/autodoc-md/fragments/index.d.ts +9 -0
- package/dist/generators/autodoc-md/fragments/index.js +26 -0
- package/dist/generators/autodoc-md/fragments/index.js.map +1 -0
- package/dist/generators/autodoc-md/index.d.ts +1 -0
- package/dist/generators/autodoc-md/index.js +18 -0
- package/dist/generators/autodoc-md/index.js.map +1 -0
- package/dist/generators/file-generator.interface.d.ts +13 -0
- package/dist/generators/file-generator.interface.js +22 -0
- package/dist/generators/file-generator.interface.js.map +1 -0
- package/dist/generators/index.d.ts +4 -0
- package/dist/generators/index.js +21 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/openapi-json/index.d.ts +1 -0
- package/dist/generators/openapi-json/index.js +18 -0
- package/dist/generators/openapi-json/index.js.map +1 -0
- package/dist/generators/openapi-json/openapi-json.generator.d.ts +17 -0
- package/dist/generators/openapi-json/openapi-json.generator.js +111 -0
- package/dist/generators/openapi-json/openapi-json.generator.js.map +1 -0
- package/dist/generators/rsdk-json/index.d.ts +1 -0
- package/dist/generators/rsdk-json/index.js +18 -0
- package/dist/generators/rsdk-json/index.js.map +1 -0
- package/dist/generators/rsdk-json/rsdk-json.generator.d.ts +8 -0
- package/dist/generators/rsdk-json/rsdk-json.generator.js +23 -0
- package/dist/generators/rsdk-json/rsdk-json.generator.js.map +1 -0
- package/dist/index.d.ts +1 -7
- package/dist/index.js +3 -9
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/dist/autodoc.cmd.d.ts +0 -3
- package/dist/autodoc.cmd.js +0 -126
- package/dist/autodoc.cmd.js.map +0 -1
- package/dist/autodoc.context.d.ts +0 -7
- package/dist/autodoc.context.js +0 -14
- package/dist/autodoc.context.js.map +0 -1
- package/dist/autodoc.d.ts +0 -2
- package/dist/autodoc.js +0 -61
- package/dist/autodoc.js.map +0 -1
- package/dist/cli.d.ts +0 -20
- package/dist/cli.js +0 -106
- package/dist/cli.js.map +0 -1
- package/dist/document.file.d.ts +0 -7
- package/dist/document.file.js +0 -28
- package/dist/document.file.js.map +0 -1
- package/dist/documentation.d.ts +0 -9
- package/dist/documentation.js +0 -44
- package/dist/documentation.js.map +0 -1
- package/dist/extractor/extractor.js.map +0 -1
- package/dist/fragments/additional-sources.fragment.js.map +0 -1
- package/dist/fragments/app-metadata.fragment.js.map +0 -1
- package/dist/fragments/autodoc.fragment.d.ts +0 -8
- package/dist/fragments/autodoc.fragment.js.map +0 -1
- package/dist/fragments/config-section/config-section.fragment.js.map +0 -1
- package/dist/fragments/config-section/constants.d.ts +0 -1
- package/dist/fragments/config-section/constants.js +0 -5
- package/dist/fragments/config-section/constants.js.map +0 -1
- package/dist/fragments/config-section/types.d.ts +0 -4
- package/dist/fragments/config-section/types.js +0 -3
- package/dist/fragments/config-section/types.js.map +0 -1
- package/dist/fragments/core.js.map +0 -1
- package/dist/fragments/header.fragment.js.map +0 -1
- package/dist/fragments/plugin.fragment.js.map +0 -1
- package/dist/fragments/transports.fragment.js.map +0 -1
- package/dist/md-formats/md-formats.js.map +0 -1
- package/dist/openapi.generator.d.ts +0 -11
- package/dist/openapi.generator.js +0 -85
- package/dist/openapi.generator.js.map +0 -1
- package/dist/rsdk.file-generator.d.ts +0 -9
- package/dist/rsdk.file-generator.js +0 -26
- package/dist/rsdk.file-generator.js.map +0 -1
- /package/dist/{fragments/core.d.ts → generators/autodoc-md/fragments/document-fragment.abstract.d.ts} +0 -0
- /package/dist/{extractor/extractor.d.ts → generators/autodoc-md/fragments/extractor/document.extractor.d.ts} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PlatformApp } from '@rsdk/core';
|
|
2
|
+
import type { ILogger } from '@rsdk/logging';
|
|
3
|
+
export declare class AppLoader {
|
|
4
|
+
private readonly logger;
|
|
5
|
+
constructor(logger: ILogger);
|
|
6
|
+
loadApp(fullpath: string, required: boolean): Promise<PlatformApp | undefined>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.AppLoader = void 0;
|
|
37
|
+
const common_1 = require("@rsdk/common");
|
|
38
|
+
const common_node_1 = require("@rsdk/common.node");
|
|
39
|
+
const core_1 = require("@rsdk/core");
|
|
40
|
+
class AppLoader {
|
|
41
|
+
logger;
|
|
42
|
+
constructor(logger) {
|
|
43
|
+
this.logger = logger;
|
|
44
|
+
}
|
|
45
|
+
async loadApp(fullpath, required) {
|
|
46
|
+
let app;
|
|
47
|
+
try {
|
|
48
|
+
const [absolute] = common_node_1.Path.absolutize(fullpath);
|
|
49
|
+
const loaded = await Promise.resolve(`${absolute}`).then(s => __importStar(require(s)));
|
|
50
|
+
app = loaded.app;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
common_1.Assert.isError(error);
|
|
54
|
+
this.logger.warn(`module by path ${fullpath} not found`);
|
|
55
|
+
if (!required) {
|
|
56
|
+
this.logger.info(`found --if-present, finished with exit code 0`);
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
this.logger.error(`Error on import ${fullpath}`, error);
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
if (app instanceof core_1.PlatformApp) {
|
|
63
|
+
return app;
|
|
64
|
+
}
|
|
65
|
+
throw new Error('app is not instance of PlatformApp');
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.AppLoader = AppLoader;
|
|
69
|
+
//# sourceMappingURL=app.loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.loader.js","sourceRoot":"","sources":["../../src/base/app.loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAsC;AACtC,mDAAyC;AACzC,qCAAyC;AAGzC,MAAa,SAAS;IACS;IAA7B,YAA6B,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAEhD,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,QAAiB;QAEjB,IAAI,GAA4B,CAAC;QAEjC,IAAI,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,GAAG,kBAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,yBAAa,QAAQ,uCAAC,CAAC;YAEtC,GAAG,GAAG,MAAM,CAAC,GAAkB,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,YAAY,CAAC,CAAC;YAEzD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;gBAClE,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,GAAG,YAAY,kBAAW,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;CACF;AAjCD,8BAiCC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ILogger } from '@rsdk/logging';
|
|
2
|
+
/**
|
|
3
|
+
* TODO: Может быть удобная абстракция для работы с файлами.
|
|
4
|
+
* Ещё в старых загашниках надо NetworkFile поискать
|
|
5
|
+
*/
|
|
6
|
+
export type DocumentFile = {
|
|
7
|
+
name: string;
|
|
8
|
+
content: string;
|
|
9
|
+
};
|
|
10
|
+
export declare class DocumentWriter {
|
|
11
|
+
private readonly logger;
|
|
12
|
+
private readonly basepath;
|
|
13
|
+
constructor(logger: ILogger, basepath: string);
|
|
14
|
+
write(file: DocumentFile): Promise<string>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DocumentWriter = void 0;
|
|
7
|
+
const node_fs_1 = require("node:fs");
|
|
8
|
+
const promises_1 = require("node:fs/promises");
|
|
9
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
10
|
+
class DocumentWriter {
|
|
11
|
+
logger;
|
|
12
|
+
basepath;
|
|
13
|
+
constructor(logger, basepath) {
|
|
14
|
+
this.logger = logger;
|
|
15
|
+
this.basepath = basepath;
|
|
16
|
+
}
|
|
17
|
+
async write(file) {
|
|
18
|
+
const exists = (0, node_fs_1.existsSync)(this.basepath);
|
|
19
|
+
if (!exists) {
|
|
20
|
+
await (0, promises_1.mkdir)(this.basepath, { recursive: true });
|
|
21
|
+
}
|
|
22
|
+
const fullpath = node_path_1.default.join(this.basepath, file.name);
|
|
23
|
+
this.logger.info(`writing file ${file.name}...`);
|
|
24
|
+
await (0, promises_1.writeFile)(fullpath, file.content);
|
|
25
|
+
this.logger.info(`file ${file.name} created!`);
|
|
26
|
+
return fullpath;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.DocumentWriter = DocumentWriter;
|
|
30
|
+
//# sourceMappingURL=document.file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.file.js","sourceRoot":"","sources":["../../src/base/document.file.ts"],"names":[],"mappings":";;;;;;AACA,qCAAqC;AACrC,+CAAoD;AACpD,0DAA6B;AAW7B,MAAa,cAAc;IAEN;IACA;IAFnB,YACmB,MAAe,EACf,QAAgB;QADhB,WAAM,GAAN,MAAM,CAAS;QACf,aAAQ,GAAR,QAAQ,CAAQ;IAChC,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,IAAkB;QAC5B,MAAM,MAAM,GAAG,IAAA,oBAAU,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAA,gBAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;QACjD,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAlBD,wCAkBC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./app.loader"), exports);
|
|
18
|
+
__exportStar(require("./document.file"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/base/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,kDAAgC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IRunnable } from '@rsdk/cli.common';
|
|
2
|
+
export declare class AutodocCommand implements IRunnable {
|
|
3
|
+
private readonly logger;
|
|
4
|
+
private readonly loader;
|
|
5
|
+
constructor();
|
|
6
|
+
run(verbose: boolean, ifPresent: boolean, openApi: boolean, outPath: string, appPath: string): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var AutodocCommand_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.AutodocCommand = void 0;
|
|
17
|
+
const cli_common_1 = require("@rsdk/cli.common");
|
|
18
|
+
const common_node_1 = require("@rsdk/common.node");
|
|
19
|
+
const logging_1 = require("@rsdk/logging");
|
|
20
|
+
const zones_1 = require("@rsdk/zones");
|
|
21
|
+
const app_loader_1 = require("../base/app.loader");
|
|
22
|
+
const document_file_1 = require("../base/document.file");
|
|
23
|
+
const autodoc_md_generator_1 = require("../generators/autodoc-md/autodoc-md.generator");
|
|
24
|
+
const openapi_json_generator_1 = require("../generators/openapi-json/openapi-json.generator");
|
|
25
|
+
const rsdk_json_generator_1 = require("../generators/rsdk-json/rsdk-json.generator");
|
|
26
|
+
const openapi_variation_1 = require("./openapi.variation");
|
|
27
|
+
let AutodocCommand = AutodocCommand_1 = class AutodocCommand {
|
|
28
|
+
logger;
|
|
29
|
+
loader;
|
|
30
|
+
constructor() {
|
|
31
|
+
this.logger = logging_1.LoggerFactory.create(AutodocCommand_1);
|
|
32
|
+
this.loader = new app_loader_1.AppLoader(this.logger);
|
|
33
|
+
}
|
|
34
|
+
async run(verbose, ifPresent, openApi, outPath, appPath) {
|
|
35
|
+
if (verbose) {
|
|
36
|
+
this.logger.info(`app path: ${appPath}`);
|
|
37
|
+
this.logger.info(`output directory path: ${outPath}`);
|
|
38
|
+
this.logger.info(`--if-present: ${ifPresent}`);
|
|
39
|
+
}
|
|
40
|
+
const app = await this.loader.loadApp(appPath, !ifPresent);
|
|
41
|
+
if (!app) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const documents = [
|
|
45
|
+
await new rsdk_json_generator_1.RsdkFileGenerator(app).createFile('rsdk.json'),
|
|
46
|
+
await new autodoc_md_generator_1.MarkdownDocsGenerator(app).createFile('autodoc.md'),
|
|
47
|
+
];
|
|
48
|
+
if (openApi) {
|
|
49
|
+
const generator = new openapi_json_generator_1.OpenapiGenerator(app, {
|
|
50
|
+
excludeZones: [zones_1.API_ZONE_INTERNAL],
|
|
51
|
+
});
|
|
52
|
+
const openApiDocument = await generator.createFile('openapi.json');
|
|
53
|
+
if (openApiDocument) {
|
|
54
|
+
documents.push(openApiDocument);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const [absolutePath] = common_node_1.Path.absolutize(outPath);
|
|
58
|
+
const writer = new document_file_1.DocumentWriter(this.logger, absolutePath);
|
|
59
|
+
await Promise.all(documents.map(async (doc) => {
|
|
60
|
+
await writer.write(doc);
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
exports.AutodocCommand = AutodocCommand;
|
|
65
|
+
__decorate([
|
|
66
|
+
__param(0, (0, cli_common_1.Option)('verbose', { description: 'Verbose output' })),
|
|
67
|
+
__param(1, (0, cli_common_1.Option)('if-present', { description: 'Not fail if not provided app file' })),
|
|
68
|
+
__param(2, (0, cli_common_1.Option)('open-api', {
|
|
69
|
+
description: 'generate open api (internal routes are excluded)',
|
|
70
|
+
})),
|
|
71
|
+
__param(3, (0, cli_common_1.ValueOption)('out', new common_node_1.FsPathParser('dir', { check: 'dirname' }), {
|
|
72
|
+
description: 'output directory',
|
|
73
|
+
defaultValue: 'autodoc',
|
|
74
|
+
alias: 'o',
|
|
75
|
+
})),
|
|
76
|
+
__param(4, (0, cli_common_1.ValueOption)('app', new common_node_1.FsPathParser('file'), {
|
|
77
|
+
description: 'path to app.js file',
|
|
78
|
+
defaultValue: './dist/app.js',
|
|
79
|
+
alias: 'a',
|
|
80
|
+
})),
|
|
81
|
+
__metadata("design:type", Function),
|
|
82
|
+
__metadata("design:paramtypes", [Boolean, Boolean, Boolean, String, String]),
|
|
83
|
+
__metadata("design:returntype", Promise)
|
|
84
|
+
], AutodocCommand.prototype, "run", null);
|
|
85
|
+
exports.AutodocCommand = AutodocCommand = AutodocCommand_1 = __decorate([
|
|
86
|
+
(0, cli_common_1.Command)('autodoc', {
|
|
87
|
+
description: 'autodoc your app',
|
|
88
|
+
variations: [openapi_variation_1.OpenApiCommand],
|
|
89
|
+
}),
|
|
90
|
+
__metadata("design:paramtypes", [])
|
|
91
|
+
], AutodocCommand);
|
|
92
|
+
//# sourceMappingURL=autodoc.cmd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autodoc.cmd.js","sourceRoot":"","sources":["../../src/commands/autodoc.cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IRunnable } from '@rsdk/cli.common';
|
|
2
|
+
export declare class OpenApiCommand implements IRunnable {
|
|
3
|
+
private readonly logger;
|
|
4
|
+
private readonly loader;
|
|
5
|
+
constructor();
|
|
6
|
+
run(verbose: boolean, ifPresent: boolean, outPath: string, appPath: string, includeZones?: string[], excludeZones?: string[], title?: string, version?: string, description?: string): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var OpenApiCommand_1;
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.OpenApiCommand = void 0;
|
|
17
|
+
const cli_common_1 = require("@rsdk/cli.common");
|
|
18
|
+
const common_1 = require("@rsdk/common");
|
|
19
|
+
const common_node_1 = require("@rsdk/common.node");
|
|
20
|
+
const logging_1 = require("@rsdk/logging");
|
|
21
|
+
const app_loader_1 = require("../base/app.loader");
|
|
22
|
+
const document_file_1 = require("../base/document.file");
|
|
23
|
+
const openapi_json_generator_1 = require("../generators/openapi-json/openapi-json.generator");
|
|
24
|
+
let OpenApiCommand = OpenApiCommand_1 = class OpenApiCommand {
|
|
25
|
+
logger;
|
|
26
|
+
loader;
|
|
27
|
+
constructor() {
|
|
28
|
+
this.logger = logging_1.LoggerFactory.create(OpenApiCommand_1);
|
|
29
|
+
this.loader = new app_loader_1.AppLoader(this.logger);
|
|
30
|
+
}
|
|
31
|
+
async run(verbose, ifPresent, outPath, appPath, includeZones, excludeZones, title, version, description) {
|
|
32
|
+
if (verbose) {
|
|
33
|
+
this.logger.info(`app path: ${appPath}`);
|
|
34
|
+
this.logger.info(`output file: ${outPath}`);
|
|
35
|
+
this.logger.info(`--if-present: ${ifPresent}`);
|
|
36
|
+
}
|
|
37
|
+
const app = await this.loader.loadApp(appPath, !ifPresent);
|
|
38
|
+
if (!app) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const [absolutePath] = common_node_1.Path.absolutize(outPath);
|
|
42
|
+
const [dirname, filename] = common_node_1.Path.split(absolutePath);
|
|
43
|
+
const options = {
|
|
44
|
+
...(includeZones && { includeZones }),
|
|
45
|
+
...(excludeZones && { excludeZones }),
|
|
46
|
+
...(description && { description }),
|
|
47
|
+
...(version && { version }),
|
|
48
|
+
...(title && { title }),
|
|
49
|
+
};
|
|
50
|
+
const generator = new openapi_json_generator_1.OpenapiGenerator(app, options);
|
|
51
|
+
const writer = new document_file_1.DocumentWriter(this.logger, dirname);
|
|
52
|
+
const document = await generator.createFile(filename);
|
|
53
|
+
await writer.write(document);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
exports.OpenApiCommand = OpenApiCommand;
|
|
57
|
+
__decorate([
|
|
58
|
+
__param(0, (0, cli_common_1.Option)('verbose', { description: 'Verbose output', defaultValue: false })),
|
|
59
|
+
__param(1, (0, cli_common_1.Option)('if-present', {
|
|
60
|
+
description: 'Not fail if not provided app file',
|
|
61
|
+
defaultValue: false,
|
|
62
|
+
})),
|
|
63
|
+
__param(2, (0, cli_common_1.ValueOption)('out', new common_node_1.FsPathParser('file', { check: 'dirname' }), {
|
|
64
|
+
description: 'output file',
|
|
65
|
+
defaultValue: 'openapi.json',
|
|
66
|
+
alias: 'o',
|
|
67
|
+
})),
|
|
68
|
+
__param(3, (0, cli_common_1.ValueOption)('app', new common_node_1.FsPathParser('file'), {
|
|
69
|
+
description: 'path to app.js file',
|
|
70
|
+
defaultValue: './dist/app.js',
|
|
71
|
+
alias: 'a',
|
|
72
|
+
})),
|
|
73
|
+
__param(4, (0, cli_common_1.ValueOption)('include-zones', new common_1.ArrayParser(new common_1.StringParser()), {
|
|
74
|
+
description: (0, common_1.text) `
|
|
75
|
+
API zones to include. Only controllers with these zones will be included in the output.
|
|
76
|
+
Zones are specified as a comma-separated list.
|
|
77
|
+
`,
|
|
78
|
+
defaultValue: undefined,
|
|
79
|
+
})),
|
|
80
|
+
__param(5, (0, cli_common_1.ValueOption)('exclude-zones', new common_1.ArrayParser(new common_1.StringParser()), {
|
|
81
|
+
description: (0, common_1.text) `
|
|
82
|
+
API zones to exclude. Only controllers without these zones will be included in the output.
|
|
83
|
+
Zones are specified as a comma-separated list.
|
|
84
|
+
`,
|
|
85
|
+
defaultValue: undefined,
|
|
86
|
+
})),
|
|
87
|
+
__param(6, (0, cli_common_1.ValueOption)('title', new common_1.StringParser(), {
|
|
88
|
+
description: (0, common_1.text) `
|
|
89
|
+
The title of OpenAPI document. Overrides the title from
|
|
90
|
+
the app metadata which is used by default.
|
|
91
|
+
`,
|
|
92
|
+
defaultValue: undefined,
|
|
93
|
+
})),
|
|
94
|
+
__param(7, (0, cli_common_1.ValueOption)('version', new common_1.StringParser(), {
|
|
95
|
+
description: (0, common_1.text) `
|
|
96
|
+
The version of OpenAPI document. Overrides the version from
|
|
97
|
+
the app metadata which is used by default.
|
|
98
|
+
`,
|
|
99
|
+
defaultValue: undefined,
|
|
100
|
+
})),
|
|
101
|
+
__param(8, (0, cli_common_1.ValueOption)('description', new common_1.StringParser(), {
|
|
102
|
+
description: (0, common_1.text) `
|
|
103
|
+
The description of OpenAPI document. Overrides the description from
|
|
104
|
+
the app metadata which is used by default.
|
|
105
|
+
`,
|
|
106
|
+
defaultValue: undefined,
|
|
107
|
+
})),
|
|
108
|
+
__metadata("design:type", Function),
|
|
109
|
+
__metadata("design:paramtypes", [Boolean, Boolean, String, String, Array, Array, String, String, String]),
|
|
110
|
+
__metadata("design:returntype", Promise)
|
|
111
|
+
], OpenApiCommand.prototype, "run", null);
|
|
112
|
+
exports.OpenApiCommand = OpenApiCommand = OpenApiCommand_1 = __decorate([
|
|
113
|
+
(0, cli_common_1.CommandVariation)('autodoc:openapi', {
|
|
114
|
+
description: 'generate open api',
|
|
115
|
+
}),
|
|
116
|
+
__metadata("design:paramtypes", [])
|
|
117
|
+
], OpenApiCommand);
|
|
118
|
+
//# sourceMappingURL=openapi.variation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi.variation.js","sourceRoot":"","sources":["../../src/commands/openapi.variation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PlatformApp } from '@rsdk/core';
|
|
2
|
+
import { FileGenerator } from '../file-generator.interface';
|
|
3
|
+
export declare class MarkdownDocsGenerator extends FileGenerator {
|
|
4
|
+
private readonly app;
|
|
5
|
+
constructor(app: PlatformApp);
|
|
6
|
+
protected getContent(): Promise<string>;
|
|
7
|
+
private getStructure;
|
|
8
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MarkdownDocsGenerator = void 0;
|
|
4
|
+
const autodoc_protocol_1 = require("@rsdk/autodoc.protocol");
|
|
5
|
+
const logging_1 = require("@rsdk/logging");
|
|
6
|
+
const file_generator_interface_1 = require("../file-generator.interface");
|
|
7
|
+
const fragments_1 = require("./fragments");
|
|
8
|
+
class MarkdownDocsGenerator extends file_generator_interface_1.FileGenerator {
|
|
9
|
+
app;
|
|
10
|
+
constructor(app) {
|
|
11
|
+
super(logging_1.LoggerFactory.create(MarkdownDocsGenerator));
|
|
12
|
+
this.app = app;
|
|
13
|
+
}
|
|
14
|
+
async getContent() {
|
|
15
|
+
this.logger.info('Start generating documentation');
|
|
16
|
+
const structure = await this.getStructure();
|
|
17
|
+
const nodes = await Promise.all(structure.map((item) => item.getDocumentNode()));
|
|
18
|
+
const metadata = await this.app.getMetadata();
|
|
19
|
+
const content = await new autodoc_protocol_1.Composite(nodes.filter((node) => node !== null), 'Application: ' + metadata.name).toString();
|
|
20
|
+
this.logger.info('Generating documentation finished');
|
|
21
|
+
return content;
|
|
22
|
+
}
|
|
23
|
+
async getStructure() {
|
|
24
|
+
const metadata = await this.app.getMetadata();
|
|
25
|
+
return [
|
|
26
|
+
new fragments_1.HeaderFragment(this.app),
|
|
27
|
+
new fragments_1.AppMetadataFragment(this.app),
|
|
28
|
+
new fragments_1.PluginFragment(this.app.platformAppOptions.plugins),
|
|
29
|
+
new fragments_1.TransportsFragment(this.app.platformAppOptions.transports),
|
|
30
|
+
new fragments_1.AdditionalSourcesFragment(metadata.config.sources),
|
|
31
|
+
new fragments_1.ConfigSectionFragment(metadata),
|
|
32
|
+
new fragments_1.AutodocMetadataFragment(this.app),
|
|
33
|
+
];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.MarkdownDocsGenerator = MarkdownDocsGenerator;
|
|
37
|
+
//# sourceMappingURL=autodoc-md.generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autodoc-md.generator.js","sourceRoot":"","sources":["../../../src/generators/autodoc-md/autodoc-md.generator.ts"],"names":[],"mappings":";;;AACA,6DAAmD;AAEnD,2CAA8C;AAE9C,0EAA4D;AAG5D,2CAQqB;AAErB,MAAa,qBAAsB,SAAQ,wCAAa;IACzB;IAA7B,YAA6B,GAAgB;QAC3C,KAAK,CAAC,uBAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;QADxB,QAAG,GAAH,GAAG,CAAa;IAE7C,CAAC;IAES,KAAK,CAAC,UAAU;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAEnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAE5C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAChD,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,4BAAS,CACjC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAwB,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,EAC3D,eAAe,GAAG,QAAQ,CAAC,IAAI,CAChC,CAAC,QAAQ,EAAE,CAAC;QAEb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAE9C,OAAO;YACL,IAAI,0BAAc,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5B,IAAI,+BAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;YACjC,IAAI,0BAAc,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACvD,IAAI,8BAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,UAAU,CAAC;YAC9D,IAAI,qCAAyB,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;YACtD,IAAI,iCAAqB,CAAC,QAAQ,CAAC;YACnC,IAAI,mCAAuB,CAAC,IAAI,CAAC,GAAG,CAAC;SACtC,CAAC;IACJ,CAAC;CACF;AArCD,sDAqCC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
class
|
|
3
|
+
exports.MdFormatter = void 0;
|
|
4
|
+
class MdFormatter {
|
|
5
5
|
static italic(str) {
|
|
6
6
|
return `*${str}*`;
|
|
7
7
|
}
|
|
@@ -9,5 +9,5 @@ class MdFormats {
|
|
|
9
9
|
return `**${str}**`;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
exports.
|
|
13
|
-
//# sourceMappingURL=
|
|
12
|
+
exports.MdFormatter = MdFormatter;
|
|
13
|
+
//# sourceMappingURL=formatters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../src/generators/autodoc-md/formatters.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACtB,MAAM,CAAC,MAAM,CAAC,GAAW;QACvB,OAAO,IAAI,GAAG,GAAG,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAAW;QACrB,OAAO,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AARD,kCAQC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-fragment.abstract.js","sourceRoot":"","sources":["../../../../src/generators/autodoc-md/fragments/document-fragment.abstract.ts"],"names":[],"mappings":";;;AAGA,MAAsB,gBAAgB;CAErC;AAFD,4CAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.extractor.js","sourceRoot":"","sources":["../../../../../src/generators/autodoc-md/fragments/extractor/document.extractor.ts"],"names":[],"mappings":";;;AAUA,6DAAyD;AACzD,6CAAkE;AAClE,iDAA0D;AAK1D,MAAa,iBAAiB;IACP;IAArB,YAAqB,MAAwC;QAAxC,WAAM,GAAN,MAAM,CAAkC;IAAG,CAAC;IAEjE,KAAK,CAAC,sBAAsB;QAC1B,OAAO,IAAI,CAAC,wBAAwB,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CACpC,qBAA0C,IAAI,GAAG,EAAE;QAEnD,MAAM,sBAAsB,GAAG,IAAI,mCAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvE,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,IAAI,CAAC,qBAAU,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,+BAAoB,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,qBAAU,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBACtC,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,eAAe,CACrB,UASY,EACZ,YAAiC;QAEjC,MAAM,SAAS,GAAG,kCAAe,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAvDD,8CAuDC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Composite } from '@rsdk/autodoc.protocol';
|
|
2
2
|
import type { SourceMetadata } from '@rsdk/core';
|
|
3
|
-
import { DocumentFragment } from '
|
|
3
|
+
import { DocumentFragment } from '../document-fragment.abstract';
|
|
4
4
|
export declare class AdditionalSourcesFragment extends DocumentFragment {
|
|
5
5
|
private sources?;
|
|
6
6
|
constructor(sources?: SourceMetadata[] | undefined);
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AdditionalSourcesFragment = void 0;
|
|
4
4
|
const autodoc_protocol_1 = require("@rsdk/autodoc.protocol");
|
|
5
|
-
const
|
|
6
|
-
class AdditionalSourcesFragment extends
|
|
5
|
+
const document_fragment_abstract_1 = require("../document-fragment.abstract");
|
|
6
|
+
class AdditionalSourcesFragment extends document_fragment_abstract_1.DocumentFragment {
|
|
7
7
|
sources;
|
|
8
8
|
constructor(sources) {
|
|
9
9
|
super();
|
package/dist/generators/autodoc-md/fragments/implementations/additional-sources.fragment.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"additional-sources.fragment.js","sourceRoot":"","sources":["../../../../../src/generators/autodoc-md/fragments/implementations/additional-sources.fragment.ts"],"names":[],"mappings":";;;AAAA,6DAAmD;AAGnD,8EAAiE;AAEjE,MAAa,yBAA0B,SAAQ,6CAAgB;IACzC;IAApB,YAAoB,OAA0B;QAC5C,KAAK,EAAE,CAAC;QADU,YAAO,GAAP,OAAO,CAAmB;IAE9C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;QAE9C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,SAAS,CAAC,IAAI,CACZ,OAAO,QAAQ,CAAC,IAAI,EAAE,EACtB,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,CAC3C,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAChD,OAAO,IAAI,4BAAS,CAClB,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,EAC5C,QAAQ,CAAC,IAAI,CACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,4BAAS,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;IACzD,CAAC;CACF;AAnCD,8DAmCC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { DocumentNode } from '@rsdk/autodoc.protocol';
|
|
2
|
-
import type {
|
|
3
|
-
import type { DocumentFragment } from '
|
|
2
|
+
import type { PlatformApp } from '@rsdk/core';
|
|
3
|
+
import type { DocumentFragment } from '../document-fragment.abstract';
|
|
4
4
|
export declare class AppMetadataFragment implements DocumentFragment {
|
|
5
|
-
private
|
|
6
|
-
constructor(
|
|
5
|
+
private readonly app;
|
|
6
|
+
constructor(app: PlatformApp);
|
|
7
7
|
getDocumentNode(): Promise<DocumentNode[] | DocumentNode | null>;
|
|
8
8
|
}
|
package/dist/{fragments → generators/autodoc-md/fragments/implementations}/app-metadata.fragment.js
RENAMED
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AppMetadataFragment = void 0;
|
|
4
4
|
const autodoc_protocol_1 = require("@rsdk/autodoc.protocol");
|
|
5
5
|
class AppMetadataFragment {
|
|
6
|
-
|
|
7
|
-
constructor(
|
|
8
|
-
this.
|
|
6
|
+
app;
|
|
7
|
+
constructor(app) {
|
|
8
|
+
this.app = app;
|
|
9
9
|
}
|
|
10
10
|
async getDocumentNode() {
|
|
11
|
-
const metadata = await this.
|
|
11
|
+
const metadata = await this.app.getMetadata();
|
|
12
12
|
if (!metadata.description) {
|
|
13
13
|
return null;
|
|
14
14
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-metadata.fragment.js","sourceRoot":"","sources":["../../../../../src/generators/autodoc-md/fragments/implementations/app-metadata.fragment.ts"],"names":[],"mappings":";;;AACA,6DAAmD;AAKnD,MAAa,mBAAmB;IACD;IAA7B,YAA6B,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;IAAG,CAAC;IAEjD,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAE9C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,4BAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC5D,CAAC;CACF;AAXD,kDAWC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DocumentNode } from '@rsdk/autodoc.protocol';
|
|
2
|
+
import type { PlatformApp } from '@rsdk/core';
|
|
3
|
+
import type { DocumentFragment } from '../document-fragment.abstract';
|
|
4
|
+
export declare class AutodocMetadataFragment implements DocumentFragment {
|
|
5
|
+
readonly app: PlatformApp;
|
|
6
|
+
constructor(app: PlatformApp);
|
|
7
|
+
getDocumentNode(): Promise<DocumentNode>;
|
|
8
|
+
}
|
package/dist/{fragments → generators/autodoc-md/fragments/implementations}/autodoc.fragment.js
RENAMED
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AutodocMetadataFragment = void 0;
|
|
4
4
|
const autodoc_protocol_1 = require("@rsdk/autodoc.protocol");
|
|
5
|
-
const
|
|
5
|
+
const document_extractor_1 = require("../extractor/document.extractor");
|
|
6
6
|
class AutodocMetadataFragment {
|
|
7
|
-
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
7
|
+
app;
|
|
8
|
+
constructor(app) {
|
|
9
|
+
this.app = app;
|
|
10
10
|
}
|
|
11
11
|
async getDocumentNode() {
|
|
12
|
-
const
|
|
12
|
+
const root = this.app.context.getRoot();
|
|
13
|
+
const resolvers = await new document_extractor_1.DocumentExtractor(root).getDocumentResolverMap();
|
|
13
14
|
const nodes = [];
|
|
14
|
-
const rsdkMetadataProvider = await this.
|
|
15
|
-
for (const resolver of
|
|
15
|
+
const rsdkMetadataProvider = await this.app.context.getRsdkMetadataProvider();
|
|
16
|
+
for (const resolver of resolvers.values()) {
|
|
16
17
|
const node = await resolver.getNode(rsdkMetadataProvider);
|
|
17
18
|
node && nodes.push(node);
|
|
18
19
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autodoc.fragment.js","sourceRoot":"","sources":["../../../../../src/generators/autodoc-md/fragments/implementations/autodoc.fragment.ts"],"names":[],"mappings":";;;AACA,6DAAmD;AAInD,wEAAoE;AAEpE,MAAa,uBAAuB;IACb;IAArB,YAAqB,GAAgB;QAAhB,QAAG,GAAH,GAAG,CAAa;IAAG,CAAC;IAEzC,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,MAAM,IAAI,sCAAiB,CAC3C,IAAI,CACL,CAAC,sBAAsB,EAAE,CAAC;QAE3B,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,MAAM,oBAAoB,GACxB,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;QAEnD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAE1D,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,IAAI,4BAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF;AAtBD,0DAsBC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Composite } from '@rsdk/autodoc.protocol';
|
|
2
2
|
import type { PlatformAppMetadata } from '@rsdk/core';
|
|
3
|
-
import { DocumentFragment } from '../
|
|
3
|
+
import { DocumentFragment } from '../document-fragment.abstract';
|
|
4
|
+
export declare const APPLICATION_SECTION_NAME = "Application";
|
|
4
5
|
export declare class ConfigSectionFragment extends DocumentFragment {
|
|
5
6
|
private metadata;
|
|
6
7
|
constructor(metadata: PlatformAppMetadata);
|