UNPKG

@nxext/stencil

Version:

Nx plugin for stenciljs

68 lines 3.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeLibBuildableGenerator = makeLibBuildableGenerator; const tslib_1 = require("tslib"); const devkit_1 = require("@nx/devkit"); const stencil_core_utils_1 = require("../../stencil-core-utils"); const stencil_core_utils_2 = require("../../stencil-core-utils"); const update_tsconfig_1 = require("./lib/update-tsconfig"); const targets_1 = require("../../utils/targets"); const typings_1 = require("../../utils/typings"); const generator_1 = require("../storybook-configuration/generator"); const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup"); function normalize(host, options) { options.projectRoot = (0, devkit_1.readProjectConfiguration)(host, options.name).root; options.importPath = options.importPath || (0, generator_1.getProjectTsImportPath)(host, options.name); return Object.assign({}, options); } function createFiles(host, options) { (0, devkit_1.generateFiles)(host, (0, devkit_1.joinPathFragments)(__dirname, './files/lib'), options.projectRoot, options); } function updateProjectConfig(host, options) { const projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.name); projectConfig.targets = projectConfig.targets || {}; projectConfig.targets.build = (0, targets_1.getBuildTarget)(typings_1.AppType.library, options); projectConfig.targets.serve = (0, targets_1.getServeTarget)(typings_1.AppType.library, options); projectConfig.targets.e2e = (0, targets_1.getE2eTarget)(typings_1.AppType.library, options); projectConfig.targets.lint = (0, targets_1.getLintTarget)(typings_1.AppType.library, options.projectRoot); (0, devkit_1.updateProjectConfiguration)(host, options.name, projectConfig); } function makeLibBuildableGenerator(host, schema) { return tslib_1.__awaiter(this, void 0, void 0, function* () { (0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(host, '@nxext/stencil', 'make-lib-buildable'); const options = normalize(host, schema); updateProjectConfig(host, options); createFiles(host, options); (0, stencil_core_utils_1.addStylePluginToConfig)(host, (0, devkit_1.joinPathFragments)(options.projectRoot, 'stencil.config.ts'), options.style); (0, stencil_core_utils_2.addToOutputTargets)(host, [ `{ type: 'dist', esmLoaderPath: '../loader' }`, `{ type: 'dist-custom-elements', }`, `{ type: 'docs-readme', }`, `{ type: 'www', serviceWorker: null // disable service workers }`, `{ type: 'dist-hydrate-script', dir: 'dist/hydrate', }`, `{ type: 'dist-custom-elements', customElementsExportBehavior: 'auto-define-custom-elements', includeGlobalScripts: false, }`, ], (0, devkit_1.joinPathFragments)(options.projectRoot, 'stencil.config.ts')); (0, update_tsconfig_1.updateTsConfig)(host, options); yield (0, devkit_1.formatFiles)(host); }); } exports.default = makeLibBuildableGenerator; //# sourceMappingURL=make-lib-buildable.js.map