ng-morph
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?
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';
/**
* set all ng-morph functions to work with the all TS and JSON files
* of the current project
* */
setActiveProject(
createProject(new NgMorphTree(), '/', ['**/*.ts', '**/*.json'])
);
/**
* This simple migration gets all imports from the project TS files and
* replaces 'old' substring with 'new'
* */
const imports = getImports('some/path/**.ts', {
moduleSpecifier: '@morph-old*',
});
editImports(imports, (importEntity) => ({
moduleSpecifier: importEntity.moduleSpecifier.replace('old', 'new'),
}));
/**
* All changes are made in a virtual project.
* You can save them when it is time
* */
saveActiveProject();
You can check it out on Stackblitz playground
Core team
Igor Katsuba |
Roman Sedov |
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
All ng-morph packages are covered by Apache 2.0
Read more about this license here