UNPKG

cdkdx

Version:

Zero-config CLI for aws cdk development

74 lines 7.25 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.TscDocgen = void 0; const path = __importStar(require("path")); const fs = __importStar(require("fs-extra")); const os = __importStar(require("os")); const typedoc_1 = require("typedoc"); const concat_md_1 = __importDefault(require("concat-md")); class TscDocgen { async generate(options) { const realTempDir = await fs.realpath(os.tmpdir()); const tempOutDir = await fs.mkdtemp(path.join(realTempDir, 'cdkdx-')); await this.runTypedoc(tempOutDir, options); const api = await (0, concat_md_1.default)(tempOutDir, { fileNameAsTitle: true, }); await fs.writeFile('API.md', api, { encoding: 'utf8', }); } async runTypedoc(outDir, options) { const app = new typedoc_1.Application(); app.options.addReader(new typedoc_1.TSConfigReader()); app.bootstrap({ entryPoints: [path.join(options.projectPath, 'src', 'index.ts')], //entryPoints: ['src/index.ts'], disableSources: true, readme: 'none', theme: 'markdown', plugin: ['typedoc-plugin-markdown'], exclude: options.typescriptExcludes, logger: (message, level) => { if (level === 3) { //log only errors options.logger.fail(`${message}\n`); } }, }); const project = app.convert(); if (project) { await app.generateDocs(project, outDir); return; } throw new Error('Docgen execution failed.'); } } exports.TscDocgen = TscDocgen; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jZ2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RvY2dlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJDQUE2QjtBQUM3Qiw2Q0FBK0I7QUFDL0IsdUNBQXlCO0FBQ3pCLHFDQUFzRDtBQUN0RCwwREFBaUM7QUFjakMsTUFBYSxTQUFTO0lBQ2IsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUF3QjtRQUM1QyxNQUFNLFdBQVcsR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFbkQsTUFBTSxVQUFVLEdBQUcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFdEUsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUUzQyxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUEsbUJBQVEsRUFBQyxVQUFVLEVBQUU7WUFDckMsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7WUFDaEMsUUFBUSxFQUFFLE1BQU07U0FDakIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLEtBQUssQ0FBQyxVQUFVLENBQ3RCLE1BQWMsRUFDZCxPQUF3QjtRQUV4QixNQUFNLEdBQUcsR0FBRyxJQUFJLHFCQUFXLEVBQUUsQ0FBQztRQUM5QixHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLHdCQUFjLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDWixXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ2hFLGdDQUFnQztZQUNoQyxjQUFjLEVBQUUsSUFBSTtZQUNwQixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxVQUFVO1lBQ2pCLE1BQU0sRUFBRSxDQUFDLHlCQUF5QixDQUFDO1lBQ25DLE9BQU8sRUFBRSxPQUFPLENBQUMsa0JBQWtCO1lBQ25DLE1BQU0sRUFBRSxDQUFDLE9BQWUsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDekMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO29CQUNmLGlCQUFpQjtvQkFDakIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDO2lCQUNyQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFOUIsSUFBSSxPQUFPLEVBQUU7WUFDWCxNQUFNLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0Y7QUFqREQsOEJBaURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uLCBUU0NvbmZpZ1JlYWRlciB9IGZyb20gJ3R5cGVkb2MnO1xuaW1wb3J0IGNvbmNhdE1kIGZyb20gJ2NvbmNhdC1tZCc7XG5cbmltcG9ydCB7IExvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0ZU9wdGlvbnMge1xuICBwcm9qZWN0UGF0aDogc3RyaW5nO1xuICB0eXBlc2NyaXB0RXhjbHVkZXM/OiBzdHJpbmdbXTtcbiAgbG9nZ2VyOiBMb2dnZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG9jZ2VuIHtcbiAgZ2VuZXJhdGU6IChvcHRpb25zOiBHZW5lcmF0ZU9wdGlvbnMpID0+IFByb21pc2U8dm9pZD47XG59XG5cbmV4cG9ydCBjbGFzcyBUc2NEb2NnZW4gaW1wbGVtZW50cyBEb2NnZW4ge1xuICBwdWJsaWMgYXN5bmMgZ2VuZXJhdGUob3B0aW9uczogR2VuZXJhdGVPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVhbFRlbXBEaXIgPSBhd2FpdCBmcy5yZWFscGF0aChvcy50bXBkaXIoKSk7XG5cbiAgICBjb25zdCB0ZW1wT3V0RGlyID0gYXdhaXQgZnMubWtkdGVtcChwYXRoLmpvaW4ocmVhbFRlbXBEaXIsICdjZGtkeC0nKSk7XG5cbiAgICBhd2FpdCB0aGlzLnJ1blR5cGVkb2ModGVtcE91dERpciwgb3B0aW9ucyk7XG5cbiAgICBjb25zdCBhcGkgPSBhd2FpdCBjb25jYXRNZCh0ZW1wT3V0RGlyLCB7XG4gICAgICBmaWxlTmFtZUFzVGl0bGU6IHRydWUsXG4gICAgfSk7XG5cbiAgICBhd2FpdCBmcy53cml0ZUZpbGUoJ0FQSS5tZCcsIGFwaSwge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuVHlwZWRvYyhcbiAgICBvdXREaXI6IHN0cmluZyxcbiAgICBvcHRpb25zOiBHZW5lcmF0ZU9wdGlvbnMsXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGFwcCA9IG5ldyBBcHBsaWNhdGlvbigpO1xuICAgIGFwcC5vcHRpb25zLmFkZFJlYWRlcihuZXcgVFNDb25maWdSZWFkZXIoKSk7XG5cbiAgICBhcHAuYm9vdHN0cmFwKHtcbiAgICAgIGVudHJ5UG9pbnRzOiBbcGF0aC5qb2luKG9wdGlvbnMucHJvamVjdFBhdGgsICdzcmMnLCAnaW5kZXgudHMnKV0sXG4gICAgICAvL2VudHJ5UG9pbnRzOiBbJ3NyYy9pbmRleC50cyddLFxuICAgICAgZGlzYWJsZVNvdXJjZXM6IHRydWUsXG4gICAgICByZWFkbWU6ICdub25lJyxcbiAgICAgIHRoZW1lOiAnbWFya2Rvd24nLFxuICAgICAgcGx1Z2luOiBbJ3R5cGVkb2MtcGx1Z2luLW1hcmtkb3duJ10sXG4gICAgICBleGNsdWRlOiBvcHRpb25zLnR5cGVzY3JpcHRFeGNsdWRlcyxcbiAgICAgIGxvZ2dlcjogKG1lc3NhZ2U6IHN0cmluZywgbGV2ZWw6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAobGV2ZWwgPT09IDMpIHtcbiAgICAgICAgICAvL2xvZyBvbmx5IGVycm9yc1xuICAgICAgICAgIG9wdGlvbnMubG9nZ2VyLmZhaWwoYCR7bWVzc2FnZX1cXG5gKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHByb2plY3QgPSBhcHAuY29udmVydCgpO1xuXG4gICAgaWYgKHByb2plY3QpIHtcbiAgICAgIGF3YWl0IGFwcC5nZW5lcmF0ZURvY3MocHJvamVjdCwgb3V0RGlyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0RvY2dlbiBleGVjdXRpb24gZmFpbGVkLicpO1xuICB9XG59XG4iXX0=