UNPKG

@nxext/stencil

Version:

Nx plugin for stenciljs

53 lines 2.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = runExecutor; const tslib_1 = require("tslib"); const cli_1 = require("@stencil/core/cli"); const stencil_runtime_1 = require("../stencil-runtime"); const project_graph_1 = require("@nx/workspace/src/core/project-graph"); const stencil_parameters_1 = require("../stencil-runtime/stencil-parameters"); const devkit_1 = require("@nx/devkit"); const e2e_testing_1 = require("../stencil-runtime/e2e-testing"); const buildable_libs_utils_1 = require("@nx/js/src/utils/buildable-libs-utils"); function createStencilCompilerOptions(taskCommand, options) { let runOptions = [taskCommand]; runOptions = (0, stencil_parameters_1.parseRunParameters)(runOptions, options); if (options.port) { runOptions.push(`--port ${options.port}`); } if (options.docsReadme) { runOptions.push(`--docs-readme`); } if (options.noOpen) { runOptions.push(`--no-open`); } if (options.maxWorkers) { runOptions.push(`--max-workers ${options.maxWorkers}`); } runOptions.push('--serve'); runOptions.push('--watch'); return (0, cli_1.parseFlags)(runOptions); } function runExecutor(options, context) { return tslib_1.__asyncGenerator(this, arguments, function* runExecutor_1() { const taskCommand = 'build'; const projGraph = yield tslib_1.__await((0, project_graph_1.createProjectGraphAsync)()); const { target, dependencies } = (0, buildable_libs_utils_1.calculateProjectDependencies)(projGraph, context.root, context.projectName, context.targetName, context.configurationName); const flags = createStencilCompilerOptions(taskCommand, options); const { strictConfig, pathCollection } = yield tslib_1.__await((0, stencil_runtime_1.initializeStencilConfig)(taskCommand, options, context, flags)); const config = yield tslib_1.__await((0, stencil_runtime_1.prepareConfigAndOutputargetPaths)(strictConfig, pathCollection)); (0, buildable_libs_utils_1.updateBuildableProjectPackageJsonDependencies)(context.root, context.projectName, context.targetName, context.configurationName, target, dependencies); try { yield tslib_1.__await((0, stencil_runtime_1.createStencilProcess)(config)); if (config.flags.e2e) { (0, e2e_testing_1.cleanupE2eTesting)(pathCollection); } return yield tslib_1.__await({ success: true }); } catch (err) { devkit_1.logger.error(err.message); return yield tslib_1.__await({ success: false, error: err.message }); } }); } //# sourceMappingURL=executor.js.map