From ac5bfbb048eb345b3ce40744b2eb2447c3354cb9 Mon Sep 17 00:00:00 2001 From: Jason Jean Date: Wed, 29 Jan 2020 17:48:42 -0500 Subject: [PATCH] feat(testing): update jest-preset-angular to v8.0.0 part 3 --- packages/jest/migrations.json | 12 +++---- .../update-9-0-0.spec.ts} | 6 ++-- .../update-9-0-0.ts} | 34 ++++++++++++------- 3 files changed, 31 insertions(+), 21 deletions(-) rename packages/jest/src/migrations/{update-8-10-0/update-8-10-0.spec.ts => update-9-0-0/update-9-0-0.spec.ts} (97%) rename packages/jest/src/migrations/{update-8-10-0/update-8-10-0.ts => update-9-0-0/update-9-0-0.ts} (83%) diff --git a/packages/jest/migrations.json b/packages/jest/migrations.json index a5eac085bf1fb0..755608a77702e6 100644 --- a/packages/jest/migrations.json +++ b/packages/jest/migrations.json @@ -10,15 +10,15 @@ "description": "Update Jest testPathPattern option", "factory": "./src/migrations/update-8-7-0/update-8-7-0" }, - "update-8.10.0": { - "version": "8.10.0", - "description": "Upgrades jest-preset-angular and runs migrations for breaking changes", - "factory": "./src/migrations/update-8-10-0/update-8-10-0" + "update-9.0.0": { + "version": "9.0.0", + "description": "Upgrades jest-preset-angular to 8.0.0", + "factory": "./src/migrations/update-9-0-0/update-9-0-0" } }, "packageJsonUpdates": { - "8.10.0": { - "version": "8.10.0-beta.1", + "9.0.0": { + "version": "9.0.0-beta.1", "packages": { "jest-preset-angular": { "version": "8.0.0", diff --git a/packages/jest/src/migrations/update-8-10-0/update-8-10-0.spec.ts b/packages/jest/src/migrations/update-9-0-0/update-9-0-0.spec.ts similarity index 97% rename from packages/jest/src/migrations/update-8-10-0/update-8-10-0.spec.ts rename to packages/jest/src/migrations/update-9-0-0/update-9-0-0.spec.ts index 9a3318a0191599..ce1707e8793540 100644 --- a/packages/jest/src/migrations/update-8-10-0/update-8-10-0.spec.ts +++ b/packages/jest/src/migrations/update-9-0-0/update-9-0-0.spec.ts @@ -5,7 +5,7 @@ import * as path from 'path'; import { createEmptyWorkspace } from '@nrwl/workspace/testing'; import { serializeJson } from '@nrwl/workspace'; -describe('Update 8.10.0', () => { +describe('Update 9.0.0', () => { let initialTree: Tree; let schematicRunner: SchematicTestRunner; @@ -105,7 +105,7 @@ describe('Update 8.10.0', () => { it('should update jest-preset-angular to 8.0.0', async () => { const result = await schematicRunner - .runSchematicAsync('update-8.10.0', {}, initialTree) + .runSchematicAsync('update-9.0.0', {}, initialTree) .toPromise(); const { devDependencies } = readJsonInTree(result, 'package.json'); @@ -114,7 +114,7 @@ describe('Update 8.10.0', () => { it(`it should add '/build' into jest-preset-angular snapshotSerializers in any jest.config.js where it exists`, async () => { const result = await schematicRunner - .runSchematicAsync('update-8.10.0', {}, initialTree) + .runSchematicAsync('update-9.0.0', {}, initialTree) .toPromise(); const updateJestAngularOne = result.readContent( diff --git a/packages/jest/src/migrations/update-8-10-0/update-8-10-0.ts b/packages/jest/src/migrations/update-9-0-0/update-9-0-0.ts similarity index 83% rename from packages/jest/src/migrations/update-8-10-0/update-8-10-0.ts rename to packages/jest/src/migrations/update-9-0-0/update-9-0-0.ts index 0a0733bdcdde13..f6e1ef955ba5bb 100644 --- a/packages/jest/src/migrations/update-8-10-0/update-8-10-0.ts +++ b/packages/jest/src/migrations/update-9-0-0/update-9-0-0.ts @@ -26,7 +26,7 @@ export default function update(): Rule { displayInformation, updatePackagesInPackageJson( path.join(__dirname, '../../../', 'migrations.json'), - '8.10.0' + '9.0.0' ), updateJestConfigs, formatFiles() @@ -54,18 +54,28 @@ function updateJestConfigs(host: Tree) { const workspaceConfig = readWorkspace(host); const jestConfigsToUpdate = []; - Object.keys(workspaceConfig.projects).forEach(name => { - const project = workspaceConfig.projects[name]; - if ( - project.architect && - project.architect.test && - project.architect.test.builder === '@nrwl/jest:jest' && - project.architect.test.options && - project.architect.test.options.jestConfig === - project.root + 'jest.config.js' - ) { - jestConfigsToUpdate.push(project.root + 'jest.config.js'); + Object.values(workspaceConfig.projects).forEach(project => { + if (!project.architect) { + return; } + + Object.values(project.architect).forEach(target => { + if (target.builder !== '@nrwl/jest:jest') { + return; + } + + if (target.options.jestConfig) { + jestConfigsToUpdate.push(target.options.jestConfig); + } + + if (target.configurations) { + Object.values(target.configurations).forEach(config => { + if (config.jestConfig) { + jestConfigsToUpdate.push(config.jestConfig); + } + }); + } + }); }); jestConfigsToUpdate.forEach(configPath => {