UNPKG

igniteui-angular-sovn

Version:

Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps

33 lines (28 loc) 1.22 kB
import { Rule, SchematicContext, Tree } from '@angular-devkit/schematics'; import { UpdateChanges } from '../common/UpdateChanges'; import { getIdentifierPositions } from '../common/tsUtils'; const version = '10.1.0'; export default (): Rule => async (host: Tree, context: SchematicContext) => { context.logger.info(`Applying migration for Ignite UI for Angular to version ${version}`); const update = new UpdateChanges(__dirname, host, context); update.applyChanges(); // replace DropPosition.None with DropPosition.AfterDropTarget for (const entryPath of update.tsFiles) { let content = host.read(entryPath).toString(); if (content.indexOf('DropPosition.None') !== -1) { const pos = getIdentifierPositions(content, 'DropPosition'); for (let i = pos.length; i--;) { const end = pos[i].end + 5; const isMatch = content.slice(pos[i].start, end) === 'DropPosition.None'; if (isMatch) { content = content.slice(0, pos[i].start) + 'DropPosition.AfterDropTarget' + content.slice(end); } } host.overwrite(entryPath, content); } } };