fix(core): fix migration adding duplicate implicit dependencies
This commit is contained in:
parent
04a9c5edbb
commit
be495c27ef
@ -41,4 +41,26 @@ describe('Update 8.12.0', () => {
|
|||||||
tags: []
|
tags: []
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should not add duplicate implicit dependencies for e2e projects', async () => {
|
||||||
|
tree = await callRule(
|
||||||
|
updateJsonInTree<NxJson>('nx.json', json => {
|
||||||
|
json.projects['my-app-e2e'].implicitDependencies = ['my-app'];
|
||||||
|
return json;
|
||||||
|
}),
|
||||||
|
tree
|
||||||
|
);
|
||||||
|
const result = await runMigration('add-implicit-e2e-deps', {}, tree);
|
||||||
|
|
||||||
|
const nxJson = readJsonInTree<NxJson>(result, 'nx.json');
|
||||||
|
|
||||||
|
expect(nxJson.projects['my-app-e2e']).toEqual({
|
||||||
|
tags: [],
|
||||||
|
implicitDependencies: ['my-app']
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(nxJson.projects['my-non-existent-app-e2e']).toEqual({
|
||||||
|
tags: []
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@ -12,10 +12,13 @@ import { formatFiles } from '@nrwl/workspace/src/utils/rules/format-files';
|
|||||||
|
|
||||||
const addE2eImplicitDependencies = updateJsonInTree<NxJson>('nx.json', json => {
|
const addE2eImplicitDependencies = updateJsonInTree<NxJson>('nx.json', json => {
|
||||||
Object.keys(json.projects).forEach(proj => {
|
Object.keys(json.projects).forEach(proj => {
|
||||||
if (proj.endsWith('-e2e') && json.projects[proj.replace(/-e2e$/, '')]) {
|
const implicitE2eName = proj.replace(/-e2e$/, '');
|
||||||
|
if (proj.endsWith('-e2e') && json.projects[implicitE2eName]) {
|
||||||
json.projects[proj].implicitDependencies =
|
json.projects[proj].implicitDependencies =
|
||||||
json.projects[proj].implicitDependencies || [];
|
json.projects[proj].implicitDependencies || [];
|
||||||
json.projects[proj].implicitDependencies.push(proj.replace(/-e2e$/, ''));
|
if (!json.projects[proj].implicitDependencies.includes(implicitE2eName)) {
|
||||||
|
json.projects[proj].implicitDependencies.push(implicitE2eName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return json;
|
return json;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user