@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
62 lines (61 loc) • 2.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ngAdd = void 0;
const tasks_1 = require("@angular-devkit/schematics/tasks");
const ng_morph_1 = require("ng-morph");
const packages_1 = require("./constants/packages");
const versions_1 = require("./constants/versions");
function addDependencies(tree, options) {
const packages = [...packages_1.MAIN_PACKAGES, ...options.addons];
packages.forEach((pack) => {
(0, ng_morph_1.addPackageJsonDependency)(tree, {
name: `@taiga-ui/${pack}`,
version: versions_1.TAIGA_VERSION,
type: ng_morph_1.NodeDependencyType.Default,
});
});
(0, ng_morph_1.addPackageJsonDependency)(tree, {
name: '@taiga-ui/event-plugins',
version: '^4.0.2',
});
removeTaigaSchematicsPackage(tree);
if (packages.includes('addon-table') || packages.includes('addon-mobile')) {
addAngularCdkDep(tree);
}
}
function addAngularCdkDep(tree) {
var _a;
const angularCore = (_a = (0, ng_morph_1.getPackageJsonDependency)(tree, '@angular/core')) === null || _a === void 0 ? void 0 : _a.version;
if (!angularCore) {
return;
}
const majorVersionArr = /\d+/.exec(angularCore);
if (majorVersionArr) {
(0, ng_morph_1.addPackageJsonDependency)(tree, {
name: '@angular/cdk',
version: `^${majorVersionArr[0]}.0.0`,
type: ng_morph_1.NodeDependencyType.Default,
});
}
}
function removeTaigaSchematicsPackage(tree) {
var _a;
try {
if ((_a = (0, ng_morph_1.getPackageJsonDependency)(tree, 'taiga-ui')) === null || _a === void 0 ? void 0 : _a.version) {
(0, ng_morph_1.removePackageJsonDependency)(tree, 'taiga-ui');
}
}
catch (_b) {
// noop
}
}
function ngAdd(options) {
return (tree, context) => {
context.logger.info(`The main packages will be installed - ${packages_1.MAIN_PACKAGES}`);
addDependencies(tree, options);
context.addTask(new tasks_1.NodePackageInstallTask(), [
context.addTask(new tasks_1.RunSchematicTask('ng-add-setup-project', options)),
]);
};
}
exports.ngAdd = ngAdd;