UNPKG

@nx-plugins/vite

Version:

The Nx Plugin for Vite that contains executors, generators, and utilities for managing Vite applications and libraries within an Nx workspace.

58 lines 2.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.librarySchematic = exports.libraryGenerator = void 0; const tslib_1 = require("tslib"); const devkit_1 = require("@nrwl/devkit"); const path_1 = require("nx/src/utils/path"); const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial"); const generator_1 = require("../component-react/generator"); const generator_2 = require("../init/generator"); const generator_3 = require("../library/generator"); function libraryGenerator(host, schema) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const tasks = []; const options = normalizeOptions(host, schema); const initTask = yield (0, generator_2.default)(host, Object.assign(Object.assign({}, options), { preset: "react" })); tasks.push(initTask); const createLibrary = yield (0, generator_3.default)(host, Object.assign(Object.assign({}, options), { component: false })); tasks.push(createLibrary); if (options.component) { const componentTask = yield (0, generator_1.default)(host, { name: options.name, project: options.projectName, directory: options.directory, flat: true, skipTests: options.unitTestRunner === 'none', export: true, js: options.js, pascalCaseFiles: options.pascalCaseFiles, }); tasks.push(componentTask); } return (0, run_tasks_in_serial_1.runTasksInSerial)(...tasks); }); } exports.libraryGenerator = libraryGenerator; function normalizeOptions(host, options) { const name = (0, devkit_1.names)(options.name).fileName; const projectDirectory = options.directory ? `${(0, devkit_1.names)(options.directory).fileName}/${name}` : name; const projectName = projectDirectory.replace(new RegExp('/', 'g'), '-'); const fileName = projectName; const { libsDir, npmScope } = (0, devkit_1.getWorkspaceLayout)(host); const projectRoot = (0, devkit_1.joinPathFragments)(libsDir, projectDirectory); const parsedTags = options.tags ? options.tags.split(',').map((s) => s.trim()) : []; const importPath = options.importPath || (0, path_1.getImportPath)(npmScope, projectDirectory); const normalized = Object.assign(Object.assign({}, options), { fileName, routePath: `/${name}`, projectName, projectRoot, projectDirectory, parsedTags, importPath }); return normalized; } exports.default = libraryGenerator; exports.librarySchematic = (0, devkit_1.convertNxGenerator)(libraryGenerator); //# sourceMappingURL=generator.js.map