igniteui-angular-sovn
Version:
Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps
28 lines (25 loc) • 1.2 kB
text/typescript
import { workspaces } from '@angular-devkit/core';
import { chain, Rule, SchematicContext, Tree } from '@angular-devkit/schematics';
import { Options } from '../interfaces/options';
import { installPackageJsonDependencies } from '../utils/package-handler';
import { logSuccess, addDependencies } from '../utils/dependency-handler';
import { addResetCss } from './add-normalize';
import { createHost } from '../utils/util';
const addNormalize = (options: Options): Rule =>
async (tree: Tree, context: SchematicContext) => {
if (options.resetCss) {
const workspaceHost = createHost(tree);
const { workspace } = await workspaces.readWorkspace(tree.root.path, createHost(tree));
const result = addResetCss(workspace, tree);
await workspaces.writeWorkspace(workspace, workspaceHost);
if (!result) {
context.logger.warn(`Could not complete adding reset styles. Those may need to be added manually.`);
}
}
};
export default (options: Options): Rule => chain([
addNormalize(options),
addDependencies(options),
installPackageJsonDependencies(options),
logSuccess(options)
]);