ng-morph
![telegram chat](https://img.shields.io/badge/support-Contact%20us-blue)
Code mutations were never easier than now.
npm i --save-dev ng-morph
You also need @angular-devkit/core
and @angular-devkit/schematics
to be installed.
What is it?
It is a large set of tools for both global code base updates in your project and speeding up your work on Angular
schematics. It has ts-morph under the hood and allows you to manipulate with safe TypeScript
AST.
Why is it better than default schematics?
🦅 You can quickly write migrations for your own project and run it as a simple script
🛠 There are many tools made for working with Angular. You can easily find and manipulate TS and Ng entities.
✅ You work with an abstract tree and it can be replaced, for example, with virtual tree for testing instead of real
file system. So, you can test your schematics rapidly fast.
How to start
Install the package and visit our documentation
For example, this is how ng-morph
setup looks for migrating your own project:
import {setActiveProject, createProject, getImports, NgMorphTree} from 'ng-morph';
setActiveProject(createProject(new NgMorphTree(), '/', ['**/*.ts', '**/*.json']));
const imports = getImports('some/path/**.ts', {
moduleSpecifier: '@morph-old*',
});
editImports(imports, importEntity => ({
moduleSpecifier: importEntity.moduleSpecifier.replace('old', 'new'),
}));
saveActiveProject();
You can check it out on
Stackblitz playground
Core team
ng-morph is a part of Taiga UI libraries family which is backed and used by a large enterprise. This means you can rely
on timely support and continuous development.
License
🆓 Feel free to use our library in your commercial and private applications
All ng-morph packages are covered by Apache 2.0
Read more about this license here