@rxap/plugin-library
Version:
This package provides generators and executors for managing and maintaining Nx plugin libraries. It includes functionality for generating index exports, fixing dependencies, generating JSON schemas, and more. It helps streamline the development process fo
47 lines • 2.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.initProject = initProject;
const tslib_1 = require("tslib");
const devkit_1 = require("@nx/devkit");
const utilities_1 = require("@rxap/utilities");
const workspace_utilities_1 = require("@rxap/workspace-utilities");
const path_1 = require("path");
const coerce_init_generator_1 = require("./coerce-init-generator");
const update_project_package_json_1 = require("./update-project-package-json");
function initProject(tree, projectName, project, options) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
var _a;
console.log(`init publishable library project: ${projectName}`);
const rootPackageJson = (0, devkit_1.readJson)(tree, 'package.json');
(0, update_project_package_json_1.updateProjectPackageJson)(tree, project, projectName, rootPackageJson);
if (tree.exists('LICENSE')) {
(0, workspace_utilities_1.CoerceFile)(tree, (0, path_1.join)(project.root, 'LICENSE.md'), tree.read('LICENSE'));
(0, workspace_utilities_1.CoerceFile)(tree, (0, path_1.join)(project.root, 'LICENSE'), tree.read('LICENSE'));
}
else {
console.warn('no LICENSE file found in the workspace root');
}
if ((0, workspace_utilities_1.IsRxapRepository)(tree)) {
const rxapProject = (0, workspace_utilities_1.GetProject)(tree, 'rxap');
(_a = rxapProject.implicitDependencies) !== null && _a !== void 0 ? _a : (rxapProject.implicitDependencies = []);
rxapProject.implicitDependencies.push(projectName);
rxapProject.implicitDependencies = rxapProject.implicitDependencies.filter((0, utilities_1.unique)());
}
if (options.withInitGenerator) {
yield (0, coerce_init_generator_1.CoerceInitGenerator)(tree, projectName, project, options);
}
if (projectName !== 'rxap') {
if (options.withInitGenerator) {
(0, workspace_utilities_1.CoerceFilesStructure)(tree, {
srcFolder: (0, path_1.join)(__dirname, 'files'),
target: project.root,
overwrite: options.overwrite,
});
}
(0, workspace_utilities_1.CoerceFile)(tree, (0, path_1.join)(project.root, 'CHANGELOG.md'));
(0, workspace_utilities_1.CoerceFile)(tree, (0, path_1.join)(project.root, 'GETSTARTED.md'));
(0, workspace_utilities_1.CoerceFile)(tree, (0, path_1.join)(project.root, 'GUIDES.md'));
}
});
}
//# sourceMappingURL=init-project.js.map