Skip to content

Commit a049d6c

Browse files
authored
fix(misc): set schema when converting a project to standalone configuration (#13887)
1 parent 78f3a3c commit a049d6c

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed

packages/angular/src/generators/ng-add/__snapshots__/migrate-from-angular-cli.spec.ts.snap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ Object {
9898

9999
exports[`workspace --preserve-angular-cli-layout should support multiple projects 2`] = `
100100
Object {
101+
"$schema": "node_modules/nx/schemas/project-schema.json",
101102
"name": "app1",
102103
"sourceRoot": "src",
103104
"targets": Object {
@@ -125,6 +126,7 @@ Object {
125126

126127
exports[`workspace --preserve-angular-cli-layout should support multiple projects 3`] = `
127128
Object {
129+
"$schema": "../../node_modules/nx/schemas/project-schema.json",
128130
"name": "app2",
129131
"sourceRoot": "projects/app2/src",
130132
"targets": Object {
@@ -152,6 +154,7 @@ Object {
152154

153155
exports[`workspace --preserve-angular-cli-layout should support multiple projects 4`] = `
154156
Object {
157+
"$schema": "../../node_modules/nx/schemas/project-schema.json",
155158
"name": "lib1",
156159
"sourceRoot": "projects/lib1/src",
157160
"targets": Object {

packages/workspace/src/generators/convert-to-nx-project/convert-to-nx-project.spec.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
1+
import * as devkit from '@nrwl/devkit';
12
import {
23
ProjectConfiguration,
34
readJson,
45
readProjectConfiguration,
56
} from '@nrwl/devkit';
6-
import {
7-
createTreeWithEmptyV1Workspace,
8-
createTreeWithEmptyWorkspace,
9-
} from '@nrwl/devkit/testing';
10-
import enquirer = require('enquirer');
7+
import { createTreeWithEmptyV1Workspace } from '@nrwl/devkit/testing';
8+
import { getRelativeProjectJsonSchemaPath } from 'nx/src/generators/utils/project-configuration';
119
import { libraryGenerator } from '../library/library';
12-
import * as devkit from '@nrwl/devkit';
13-
1410
import convertToNxProject, {
1511
SCHEMA_OPTIONS_ARE_MUTUALLY_EXCLUSIVE,
1612
} from './convert-to-nx-project';
1713
import { getProjectConfigurationPath } from './utils/get-project-configuration-path';
14+
import enquirer = require('enquirer');
1815

1916
jest.mock('fs-extra', () => ({
2017
...jest.requireActual<any>('fs-extra'),
@@ -88,7 +85,11 @@ describe('convert-to-nx-project', () => {
8885
getProjectConfigurationPath(config)
8986
);
9087

88+
expect(newConfigFile.$schema).toBe(
89+
getRelativeProjectJsonSchemaPath(tree, config)
90+
);
9191
delete config.root;
92+
delete newConfigFile.$schema;
9293
expect(config).toEqual(newConfigFile);
9394
});
9495

@@ -116,7 +117,11 @@ describe('convert-to-nx-project', () => {
116117
tree,
117118
getProjectConfigurationPath(config)
118119
);
120+
expect(newConfigFile.$schema).toBe(
121+
getRelativeProjectJsonSchemaPath(tree, config)
122+
);
119123
delete config.root;
124+
delete newConfigFile.$schema;
120125
expect(config).toEqual(newConfigFile);
121126
}
122127
});

packages/workspace/src/generators/convert-to-nx-project/convert-to-nx-project.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
import { dirname } from 'path';
2-
import { prompt } from 'enquirer';
3-
41
import {
52
convertNxGenerator,
63
formatFiles,
@@ -15,7 +12,9 @@ import {
1512
updateJson,
1613
writeJson,
1714
} from '@nrwl/devkit';
18-
15+
import { prompt } from 'enquirer';
16+
import { getRelativeProjectJsonSchemaPath } from 'nx/src/generators/utils/project-configuration';
17+
import { dirname } from 'path';
1918
import { Schema } from './schema';
2019
import { getProjectConfigurationPath } from './utils/get-project-configuration-path';
2120

@@ -68,9 +67,11 @@ To upgrade change the version number at the top of ${getWorkspacePath(
6867
continue;
6968
}
7069

71-
delete configuration.root;
72-
73-
writeJson(host, configPath, configuration);
70+
writeJson(host, configPath, {
71+
$schema: getRelativeProjectJsonSchemaPath(host, configuration),
72+
...configuration,
73+
root: undefined,
74+
});
7475

7576
updateJson(host, getWorkspacePath(host), (value) => {
7677
value.projects[project] = normalizePath(dirname(configPath));

0 commit comments

Comments
 (0)