From d27fc7ed0e515295fe6af5a782ed38a227edfbf2 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Fri, 10 Jun 2022 10:30:00 +0000 Subject: [PATCH] test: always install a compatible version of `@angular/material-moment-adapter` When not install a compatible version tests can fail due example https://app.circleci.com/pipelines/github/angular/angular-cli/23342/workflows/77ac48f1-1445-4722-9294-7841afc0b2cc/jobs/309894 (cherry picked from commit 6c19f2640667c913382cad1d62b88bf5cb8a23c0) --- tests/legacy-cli/e2e/tests/build/material.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index 5963d3411d89..94a50f06bfc7 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -1,5 +1,5 @@ import { getGlobalVariable } from '../../utils/env'; -import { replaceInFile } from '../../utils/fs'; +import { readFile, replaceInFile } from '../../utils/fs'; import { installPackage, installWorkspacePackages } from '../../utils/packages'; import { ng } from '../../utils/process'; import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; @@ -7,7 +7,7 @@ import { isPrereleaseCli, updateJsonFile } from '../../utils/project'; const snapshots = require('../../ng-snapshot/package.json'); export default async function () { - const tag = await isPrereleaseCli() ? '@next' : ''; + let tag = (await isPrereleaseCli()) ? '@next' : ''; await ng('add', `@angular/material${tag}`, '--skip-confirmation'); const isSnapshotBuild = getGlobalVariable('argv')['ng-snapshots']; @@ -25,10 +25,15 @@ export default async function () { dependencies['@angular/material-moment-adapter'] = snapshots.dependencies['@angular/material-moment-adapter']; }); - await installWorkspacePackages(); } else { - await installPackage('@angular/material-moment-adapter'); + if (!tag) { + const installedMaterialVersion = JSON.parse(await readFile('package.json'))['dependencies'][ + '@angular/material' + ]; + tag = `@${installedMaterialVersion}`; + } + await installPackage(`@angular/material-moment-adapter${tag}`); } await installPackage('moment');