in src/app/app.component.ts [214:273]
renderPreV6Instructions() {
let upgradeStep;
const isWindows = /win/i.test(navigator.platform);
const additionalDeps = this.getAdditionalDependencies(this.to.number);
const angularVersion = this.getAngularVersion(this.to.number);
const angularPackages = [
'animations',
'common',
'compiler',
'compiler-cli',
'core',
'forms',
'http',
'platform-browser',
'platform-browser-dynamic',
'platform-server',
'router',
];
// Provide npm/yarn instructions for versions before 6
if (this.to.number < 600) {
const actionMessage = `Update all of your dependencies to the latest Angular and the right version of TypeScript.`;
if (isWindows) {
const packages =
angularPackages.map((packageName) => `@angular/${packageName}@${angularVersion}`).join(' ') +
' ' +
additionalDeps;
upgradeStep = {
step: 'General Update',
action: `${actionMessage}
If you are using Windows, you can use:
\`${this.packageManager} ${packages}\``,
};
} else {
const packages = `@angular/{${angularPackages.join(',')}}@${angularVersion} ${additionalDeps}`;
upgradeStep = {
step: 'General update',
action: `${actionMessage}
If you are using Linux/Mac, you can use:
\`${this.packageManager} ${packages}\``,
};
}
// Npm installs typescript wrong in v5, let's manually specify
// https://github.com/npm/npm/issues/16813
if (this.packageManager === 'npm install' && this.to.number === 500) {
upgradeStep.action += `
\`npm install typescript@2.4.2 --save-exact\``;
}
upgradeStep.renderedStep = snarkdown(upgradeStep.action);
this.duringRecommendations.push(upgradeStep);
}
}