igniteui-angular
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
67 lines (66 loc) • 3.54 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("../common/util");
const UpdateChanges_1 = require("../common/UpdateChanges");
const version = '8.2.6';
exports.default = () => (host, context) => __awaiter(void 0, void 0, void 0, function* () {
const themes = ['$_base-dark-grid-pagination',
'$_dark-grid-pagination',
'$_dark-fluent-grid-pagination',
'$_light-grid-pagination',
'$_fluent-grid-pagination',
'$_round-shape-grid-pagination',
'$_default-shape-grid-pagination',
'$_square-shape-grid-pagination'];
const newThemes = ['$_base-dark-pagination',
'$_dark-pagination',
'$_dark-fluent-pagination',
'$_light-pagination',
'$_fluent-pagination',
'$_round-shape-pagination',
'$_default-shape-pagination',
'$_square-shape-pagination'];
const gridPaginatorComponentImport = '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-component';
const gridPaginatorThemeImport = '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-theme';
const paginatorComponentImport = '~igniteui-angular/lib/core/styles/components/paginator/paginator-component';
const paginatorThemeImport = '~igniteui-angular/lib/core/styles/components/paginator/paginator-theme';
const config = (0, util_1.getWorkspace)(host);
const projects = (0, util_1.getProjects)(config);
context.logger.info(`Applying migration for Ignite UI for Angular to version ${version}`);
const update = new UpdateChanges_1.UpdateChanges(__dirname, host, context);
for (const proj of projects) {
const dir = host.getDir(proj.sourceRoot);
dir.visit((path, entry) => {
if (path.endsWith('.scss')) {
let content = entry.content.toString();
if (content.match(/\bigx-grid-paginator\b/g)) {
content = content.replace(/\bigx-grid-paginator\b/g, 'igx-paginator');
}
themes.forEach((n, i) => {
if (content.indexOf(n) !== -1) {
content = content.split(n).join(newThemes[i]);
}
});
if (content.indexOf(gridPaginatorComponentImport) !== -1) {
content = content.replace(gridPaginatorComponentImport, paginatorComponentImport);
host.overwrite(path, content);
}
if (content.indexOf(gridPaginatorThemeImport) !== -1) {
content = content.replace(gridPaginatorThemeImport, paginatorThemeImport);
host.overwrite(path, content);
}
host.overwrite(path, content);
}
});
}
update.applyChanges();
});
;