UNPKG

@ng-doc/builder

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

41 lines 2.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runDevServer = runDevServer; const architect_1 = require("@angular-devkit/architect"); const dev_server_1 = require("@angular-devkit/build-angular/src/builders/dev-server"); const rxjs_1 = require("rxjs"); const operators_1 = require("rxjs/operators"); const build_ng_doc_1 = require("../engine/build-ng-doc"); const transform_index_html_1 = require("../engine/transform-index-html"); const create_builder_context_1 = require("../helpers/create-builder-context"); const patch_builder_context_1 = require("./patch-builder-context"); /** * Attach NgDocBuilder and run DevServer * @param options Builder configuration * @param context Builder context */ function runDevServer(options, context) { const contextWithPatch = (0, patch_builder_context_1.patchBuilderContext)(context, { mock: ['@ng-doc/builder:application', './dist/libs/builder:application'], with: '@angular-devkit/build-angular:application', optionsTransform: (options) => { delete options.ngDoc; }, }); const target = options.buildTarget && (0, architect_1.targetFromTargetString)(options.buildTarget); const options$ = target ? (0, rxjs_1.from)(context.getTargetOptions(target)) : (0, rxjs_1.of)(options); return options$.pipe((0, operators_1.switchMap)((targetOptions) => { const builderContext = (0, create_builder_context_1.createBuilderContext)(targetOptions, context, options.ngDoc?.config); const buildNgDoc$ = (0, build_ng_doc_1.buildNgDoc)(builderContext).pipe((0, operators_1.shareReplay)(1)); return buildNgDoc$.pipe((0, operators_1.first)(), (0, operators_1.switchMap)(() => (0, rxjs_1.combineLatest)([ buildNgDoc$, (0, dev_server_1.executeDevServer)(options, contextWithPatch, { indexHtml: transform_index_html_1.transformIndexHtml }), ]).pipe((0, operators_1.map)(([, devServerOutput]) => devServerOutput)))); })); } // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore exports.default = (0, architect_1.createBuilder)(runDevServer); //# sourceMappingURL=index.js.map