Useful utilities for Angular Schematics
Schematics are generators that transform an existing filesystem.
They can create files, refactor existing files, or move files around.
This library provide a large set of utilities that can be used while developing a schematic for Angular.
π Learn about it on the docs site.
export default (options: MySchematicOptions): Rule =>
schematic('my-schematic', [
modifyJsonFile('tsconfig.json', ['compilerOptions', 'strict'], true),
workspace()
.spawn('ng', ['add', '@angular/material', '--skip-confirmation'])
.addPackageJsonDevDependencies(['eslint'])
.packageInstallTask()
.isAngularVersion('<= 11', () => {
...
})
.toRule(),
application(options.project)
.deployFiles(options)
.addImportToFile('__SRC__/main.ts', 'environment', './environments/environment')
.deleteFiles(['karma.conf.js'])
.rule(({ project }: ChainableProjectContext) => {
return createOrUpdateFile(project.pathFromRoot('README.md'), project.name);
})
.toRule()
], options);
See the developer docs.
Want to file a bug, contribute some code or improve documentation? Excellent!
But please read up first on the guidelines for contributing, and learn about submission process, coding rules and more.
Please read and follow the Code of Conduct, and help us keep this project open and inclusive.