UNPKG

@nxext/stencil

Version:

Nx plugin for stenciljs

51 lines 2.53 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}`); } return (0, cli_1.parseFlags)(runOptions); } function runExecutor(options, context) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const taskCommand = 'build'; const projGraph = yield (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 (0, stencil_runtime_1.initializeStencilConfig)(taskCommand, options, context, flags); const stencilConfig = yield (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 (0, stencil_runtime_1.createStencilProcess)(stencilConfig); if (stencilConfig.flags.e2e) { (0, e2e_testing_1.cleanupE2eTesting)(pathCollection); } return { success: true }; } catch (err) { devkit_1.logger.error(err.message); return { success: false, error: err.message }; } }); } //# sourceMappingURL=executor.js.map