clydin 537bf5e2fa fix(@schematics/angular): reduce package installs for 8.0 migrations (#14324)
This provides a ~30% performance improvement for a hello world project.
2019-05-07 12:42:46 -06:00

37 lines
1.2 KiB
TypeScript

/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import { Rule, chain } from '@angular-devkit/schematics';
import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';
import { updatePackageJson, updateTsLintConfig } from './codelyzer-5';
import { updateES5Projects } from './differential-loading';
import { dropES2015Polyfills } from './drop-es6-polyfills';
import { removeAngularHttp } from './remove-angular-http';
import { updateBuilders } from './update-builders';
export { updateLazyModulePaths } from './update-lazy-module-paths';
export default function(): Rule {
return () => {
return chain([
updateTsLintConfig(),
updatePackageJson(),
dropES2015Polyfills(),
updateES5Projects(),
updateBuilders(),
removeAngularHttp(),
(tree, context) => {
const packageChanges = tree.actions.some(a => a.path.endsWith('/package.json'));
if (packageChanges) {
context.addTask(new NodePackageInstallTask());
}
},
]);
};
}