diff --git a/packages/devkit/src/generators/project-configuration.spec.ts b/packages/devkit/src/generators/project-configuration.spec.ts index 71cd173f72..ffdf2e4983 100644 --- a/packages/devkit/src/generators/project-configuration.spec.ts +++ b/packages/devkit/src/generators/project-configuration.spec.ts @@ -119,10 +119,11 @@ describe('project configuration', () => { ); }); - it('should remove project.json file when removing projct configuration', () => { + it('should remove project.json file when removing project configuration', () => { addProjectConfiguration(tree, 'test', baseTestProjectConfig, true); removeProjectConfiguration(tree, 'test'); + expect(readJson(tree, 'workspace.json').projects.test).toBeUndefined(); expect(tree.exists('test/project.json')).toBeFalsy(); }); diff --git a/packages/devkit/src/generators/project-configuration.ts b/packages/devkit/src/generators/project-configuration.ts index 0eba6edde2..4a1787a647 100644 --- a/packages/devkit/src/generators/project-configuration.ts +++ b/packages/devkit/src/generators/project-configuration.ts @@ -265,13 +265,12 @@ function addProjectToWorkspaceJson( if (configFile) { if (mode === 'delete') { host.delete(configFile); + delete workspaceJson.projects[projectName]; } else { writeJson(host, configFile, project); } - if (mode === 'create') { workspaceJson.projects[projectName] = project.root; - writeJson(host, path, workspaceJson); } } else { let workspaceConfiguration: ProjectConfiguration; @@ -279,10 +278,9 @@ function addProjectToWorkspaceJson( const { tags, implicitDependencies, ...c } = project; workspaceConfiguration = c; } - workspaceJson.projects[projectName] = workspaceConfiguration; - writeJson(host, path, workspaceJson); } + writeJson(host, path, workspaceJson); } function addProjectToNxJson( diff --git a/packages/workspace/src/generators/remove/remove.ts b/packages/workspace/src/generators/remove/remove.ts index e1c8fcd5ab..6b682ad68e 100644 --- a/packages/workspace/src/generators/remove/remove.ts +++ b/packages/workspace/src/generators/remove/remove.ts @@ -18,8 +18,8 @@ export async function removeGenerator(tree: Tree, schema: Schema) { await checkDependencies(tree, schema); checkTargets(tree, schema, project); updateJestConfig(tree, schema, project); - removeProject(tree, project); removeProjectConfig(tree, schema); + removeProject(tree, project); updateTsconfig(tree, schema, project); if (!schema.skipFormat) { await formatFiles(tree);