43 lines
1.3 KiB
TypeScript

import { Rule, SchematicContext, chain } from '@angular-devkit/schematics';
import { updateJsonInTree } from '@nrwl/workspace';
import { NodePackageInstallTask } from '@angular-devkit/schematics/tasks';
function updateDependencies() {
return updateJsonInTree('package.json', json => {
json.dependencies = json.dependencies || {};
json.dependencies = {
...json.dependencies,
'@ngrx/effects': '6.1.0',
'@ngrx/store': '6.1.0',
'@ngrx/router-store': '6.1.0'
};
json.devDependencies = json.devDependencies || {};
json.devDependencies = {
...json.devDependencies,
'@angular/cli': '6.2.4',
'@angular-devkit/build-angular': '~0.8.0',
'@ngrx/store-devtools': '6.1.0',
karma: '~3.0.0',
'karma-coverage-istanbul-reporter': '~2.0.1',
protractor: '~5.4.0',
'ts-node': '~7.0.0',
tslint: '~5.11.0',
typescript: '~2.9.2'
};
if (json.devDependencies['@angular-devkit/build-ng-packagr']) {
json.devDependencies['@angular-devkit/build-ng-packagr'] = '~0.8.0';
}
return json;
});
}
const addInstall = (_, context: SchematicContext) => {
context.addTask(new NodePackageInstallTask());
};
export default function(): Rule {
return chain([updateDependencies(), addInstall]);
}