@nxext/stencil
Version:
Nx plugin for stenciljs
45 lines (43 loc) • 2.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.outputtargetGenerator = outputtargetGenerator;
const tslib_1 = require("tslib");
const devkit_1 = require("@nx/devkit");
const utillities_1 = require("../../utils/utillities");
const generator_1 = require("./add-angular/generator");
const generator_2 = require("./add-react/generator");
const generator_3 = require("./add-vue/generator");
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
function outputtargetGenerator(host, options) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
(0, ts_solution_setup_1.assertNotUsingTsSolutionSetup)(host, '@nxext/stencil', 'add-outputtarget');
const projectConfig = (0, devkit_1.readProjectConfiguration)(host, options.projectName);
const tasks = [];
if ((0, utillities_1.isBuildableStencilProject)(projectConfig)) {
if (options.outputType === 'angular') {
tasks.push(yield (0, generator_1.addAngularGenerator)(host, options));
}
if (options.outputType === 'react') {
tasks.push(yield (0, generator_2.addReactGenerator)(host, options));
}
if (options.outputType === 'vue') {
tasks.push(yield (0, generator_3.default)(host, options));
}
if (!options.skipFormat) {
yield (0, devkit_1.formatFiles)(host);
}
}
else {
devkit_1.logger.info((0, devkit_1.stripIndents) `
Please use a buildable library for custom outputtargets
You could make this library buildable with:
nx generate @nxext/stencil:make-lib-buildable ${options.projectName}
or
ng generate @nxext/stencil:make-lib-buildable ${options.projectName}
`);
}
return (0, devkit_1.runTasksInSerial)(...tasks);
});
}
exports.default = outputtargetGenerator;
//# sourceMappingURL=add-outputtarget.js.map