@nx/workspace 17.0.4 → 17.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +4 -9
- package/migrations.json +0 -37
- package/package.json +4 -4
- package/src/generators/ci-workflow/ci-workflow.d.ts +1 -1
- package/src/generators/ci-workflow/ci-workflow.js +18 -30
- package/src/generators/ci-workflow/files/azure/azure-pipelines.yml__tmpl__ +33 -31
- package/src/generators/ci-workflow/files/bitbucket-pipelines/bitbucket-pipelines.yml__tmpl__ +29 -34
- package/src/generators/ci-workflow/files/circleci/.circleci/config.yml__tmpl__ +53 -17
- package/src/generators/ci-workflow/files/github/.github/workflows/__workflowFileName__.yml__tmpl__ +19 -26
- package/src/generators/ci-workflow/files/gitlab/.gitlab-ci.yml__tmpl__ +35 -12
- package/src/generators/ci-workflow/schema.json +1 -1
- package/src/generators/convert-to-monorepo/convert-to-monorepo.js +2 -6
- package/src/generators/convert-to-monorepo/schema.json +1 -1
- package/src/generators/convert-to-nx-project/schema.json +1 -1
- package/src/generators/move/lib/create-project-configuration-in-new-destination.js +2 -7
- package/src/generators/move/lib/extract-base-configs.d.ts +1 -1
- package/src/generators/move/lib/extract-base-configs.js +10 -4
- package/src/generators/move/lib/move-project-files.js +4 -4
- package/src/generators/move/lib/normalize-schema.d.ts +1 -1
- package/src/generators/move/lib/normalize-schema.js +79 -86
- package/src/generators/move/lib/update-imports.js +1 -1
- package/src/generators/move/lib/update-jest-config.js +3 -5
- package/src/generators/move/lib/update-project-root-files.js +2 -2
- package/src/generators/move/move.js +1 -4
- package/src/generators/move/schema.json +1 -1
- package/src/generators/new/files-readme/README.md.template +23 -49
- package/src/generators/new/files-root-app/package.json__tmpl__ +0 -3
- package/src/generators/new/generate-preset.js +0 -16
- package/src/generators/new/generate-workspace-files.js +23 -36
- package/src/generators/new/new.d.ts +0 -3
- package/src/generators/new/new.js +7 -9
- package/src/generators/new/schema.json +1 -15
- package/src/generators/npm-package/schema.json +1 -1
- package/src/generators/preset/preset.js +0 -84
- package/src/generators/preset/schema.d.ts +0 -3
- package/src/generators/preset/schema.json +3 -17
- package/src/generators/remove/lib/update-jest-config.js +6 -18
- package/src/generators/remove/schema.json +1 -1
- package/src/generators/run-commands/schema.json +1 -1
- package/src/generators/utils/presets.d.ts +0 -4
- package/src/generators/utils/presets.js +1 -5
- package/src/utils/output.js +1 -1
- package/src/utils/versions.d.ts +2 -2
- package/src/utils/versions.js +2 -2
- package/src/generators/utils/jest-config.d.ts +0 -2
- package/src/generators/utils/jest-config.js +0 -13
|
@@ -13,16 +13,14 @@ async function newGenerator(tree, opts) {
|
|
|
13
13
|
await (0, generate_workspace_files_1.generateWorkspaceFiles)(tree, { ...options, nxCloud: undefined });
|
|
14
14
|
(0, generate_preset_1.addPresetDependencies)(tree, options);
|
|
15
15
|
return async () => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
(0,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
(0, devkit_1.installPackagesTask)(tree, false, options.directory, options.packageManager);
|
|
16
|
+
const pmc = (0, devkit_1.getPackageManagerCommand)(options.packageManager);
|
|
17
|
+
if (pmc.preInstall) {
|
|
18
|
+
(0, child_process_1.execSync)(pmc.preInstall, {
|
|
19
|
+
cwd: (0, devkit_1.joinPathFragments)(tree.root, options.directory),
|
|
20
|
+
stdio: process.env.NX_GENERATE_QUIET === 'true' ? 'ignore' : 'inherit',
|
|
21
|
+
});
|
|
25
22
|
}
|
|
23
|
+
(0, devkit_1.installPackagesTask)(tree, false, options.directory, options.packageManager);
|
|
26
24
|
// TODO: move all of these into create-nx-workspace
|
|
27
25
|
if (options.preset !== presets_1.Preset.NPM && !options.isCustomPreset) {
|
|
28
26
|
await (0, generate_preset_1.generatePreset)(tree, options);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
3
|
"$id": "NxWorkspaceNew",
|
|
4
4
|
"title": "Create an empty workspace",
|
|
5
5
|
"description": "Create an empty workspace.",
|
|
@@ -68,24 +68,10 @@
|
|
|
68
68
|
"type": "boolean",
|
|
69
69
|
"default": true
|
|
70
70
|
},
|
|
71
|
-
"nextSrcDir": {
|
|
72
|
-
"description": "Generate a `src` directory for this project.",
|
|
73
|
-
"type": "boolean",
|
|
74
|
-
"default": true
|
|
75
|
-
},
|
|
76
71
|
"e2eTestRunner": {
|
|
77
72
|
"description": "The tool to use for running e2e tests.",
|
|
78
73
|
"type": "string",
|
|
79
74
|
"enum": ["cypress", "playwright", "jest", "detox", "none"]
|
|
80
|
-
},
|
|
81
|
-
"ssr": {
|
|
82
|
-
"description": "Enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering) for the Angular application.",
|
|
83
|
-
"type": "boolean",
|
|
84
|
-
"default": false
|
|
85
|
-
},
|
|
86
|
-
"prefix": {
|
|
87
|
-
"description": "The prefix to use for Angular component and directive selectors.",
|
|
88
|
-
"type": "string"
|
|
89
75
|
}
|
|
90
76
|
},
|
|
91
77
|
"additionalProperties": true
|
|
@@ -16,10 +16,6 @@ async function presetGenerator(tree, options) {
|
|
|
16
16
|
exports.presetGenerator = presetGenerator;
|
|
17
17
|
exports.default = presetGenerator;
|
|
18
18
|
async function createPreset(tree, options) {
|
|
19
|
-
console.log('Crate preset');
|
|
20
|
-
const nxJson = (0, devkit_1.readNxJson)(tree);
|
|
21
|
-
const addPlugin = process.env.NX_ADD_PLUGINS !== 'false' &&
|
|
22
|
-
nxJson.useInferencePlugins !== false;
|
|
23
19
|
if (options.preset === presets_1.Preset.Apps) {
|
|
24
20
|
return;
|
|
25
21
|
}
|
|
@@ -34,9 +30,6 @@ async function createPreset(tree, options) {
|
|
|
34
30
|
standalone: options.standaloneApi,
|
|
35
31
|
routing: options.routing,
|
|
36
32
|
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
37
|
-
bundler: options.bundler,
|
|
38
|
-
ssr: options.ssr,
|
|
39
|
-
prefix: options.prefix,
|
|
40
33
|
});
|
|
41
34
|
}
|
|
42
35
|
else if (options.preset === presets_1.Preset.AngularStandalone) {
|
|
@@ -51,9 +44,6 @@ async function createPreset(tree, options) {
|
|
|
51
44
|
rootProject: true,
|
|
52
45
|
standalone: options.standaloneApi,
|
|
53
46
|
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
54
|
-
bundler: options.bundler,
|
|
55
|
-
ssr: options.ssr,
|
|
56
|
-
prefix: options.prefix,
|
|
57
47
|
});
|
|
58
48
|
}
|
|
59
49
|
else if (options.preset === presets_1.Preset.ReactMonorepo) {
|
|
@@ -67,7 +57,6 @@ async function createPreset(tree, options) {
|
|
|
67
57
|
linter: options.linter,
|
|
68
58
|
bundler: options.bundler ?? 'webpack',
|
|
69
59
|
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
70
|
-
addPlugin,
|
|
71
60
|
});
|
|
72
61
|
}
|
|
73
62
|
else if (options.preset === presets_1.Preset.ReactStandalone) {
|
|
@@ -83,34 +72,6 @@ async function createPreset(tree, options) {
|
|
|
83
72
|
bundler: options.bundler ?? 'vite',
|
|
84
73
|
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
85
74
|
unitTestRunner: options.bundler === 'vite' ? 'vitest' : 'jest',
|
|
86
|
-
addPlugin,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
else if (options.preset === presets_1.Preset.RemixMonorepo) {
|
|
90
|
-
const { applicationGenerator: remixApplicationGenerator } = require('@nx' +
|
|
91
|
-
'/remix/generators');
|
|
92
|
-
return remixApplicationGenerator(tree, {
|
|
93
|
-
name: options.name,
|
|
94
|
-
directory: (0, path_1.join)('apps', options.name),
|
|
95
|
-
projectNameAndRootFormat: 'as-provided',
|
|
96
|
-
linter: options.linter,
|
|
97
|
-
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
98
|
-
unitTestRunner: 'vitest',
|
|
99
|
-
addPlugin,
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
else if (options.preset === presets_1.Preset.RemixStandalone) {
|
|
103
|
-
const { applicationGenerator: remixApplicationGenerator } = require('@nx' +
|
|
104
|
-
'/remix/generators');
|
|
105
|
-
return remixApplicationGenerator(tree, {
|
|
106
|
-
name: options.name,
|
|
107
|
-
directory: '.',
|
|
108
|
-
projectNameAndRootFormat: 'as-provided',
|
|
109
|
-
linter: options.linter,
|
|
110
|
-
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
111
|
-
rootProject: true,
|
|
112
|
-
unitTestRunner: 'vitest',
|
|
113
|
-
addPlugin,
|
|
114
75
|
});
|
|
115
76
|
}
|
|
116
77
|
else if (options.preset === presets_1.Preset.VueMonorepo) {
|
|
@@ -123,7 +84,6 @@ async function createPreset(tree, options) {
|
|
|
123
84
|
style: options.style,
|
|
124
85
|
linter: options.linter,
|
|
125
86
|
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
126
|
-
addPlugin,
|
|
127
87
|
});
|
|
128
88
|
}
|
|
129
89
|
else if (options.preset === presets_1.Preset.VueStandalone) {
|
|
@@ -138,35 +98,6 @@ async function createPreset(tree, options) {
|
|
|
138
98
|
rootProject: true,
|
|
139
99
|
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
140
100
|
unitTestRunner: 'vitest',
|
|
141
|
-
addPlugin,
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
else if (options.preset === presets_1.Preset.Nuxt) {
|
|
145
|
-
const { applicationGenerator: nuxtApplicationGenerator } = require('@nx' +
|
|
146
|
-
'/nuxt');
|
|
147
|
-
return nuxtApplicationGenerator(tree, {
|
|
148
|
-
name: options.name,
|
|
149
|
-
directory: (0, path_1.join)('apps', options.name),
|
|
150
|
-
projectNameAndRootFormat: 'as-provided',
|
|
151
|
-
style: options.style,
|
|
152
|
-
linter: options.linter,
|
|
153
|
-
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
154
|
-
addPlugin,
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
|
-
else if (options.preset === presets_1.Preset.NuxtStandalone) {
|
|
158
|
-
const { applicationGenerator: nuxtApplicationGenerator } = require('@nx' +
|
|
159
|
-
'/nuxt');
|
|
160
|
-
return nuxtApplicationGenerator(tree, {
|
|
161
|
-
name: options.name,
|
|
162
|
-
directory: '.',
|
|
163
|
-
projectNameAndRootFormat: 'as-provided',
|
|
164
|
-
style: options.style,
|
|
165
|
-
linter: options.linter,
|
|
166
|
-
rootProject: true,
|
|
167
|
-
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
168
|
-
unitTestRunner: 'vitest',
|
|
169
|
-
addPlugin,
|
|
170
101
|
});
|
|
171
102
|
}
|
|
172
103
|
else if (options.preset === presets_1.Preset.NextJs) {
|
|
@@ -179,9 +110,7 @@ async function createPreset(tree, options) {
|
|
|
179
110
|
style: options.style,
|
|
180
111
|
linter: options.linter,
|
|
181
112
|
appDir: options.nextAppDir,
|
|
182
|
-
src: options.nextSrcDir,
|
|
183
113
|
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
184
|
-
addPlugin,
|
|
185
114
|
});
|
|
186
115
|
}
|
|
187
116
|
else if (options.preset === presets_1.Preset.NextJsStandalone) {
|
|
@@ -194,10 +123,8 @@ async function createPreset(tree, options) {
|
|
|
194
123
|
style: options.style,
|
|
195
124
|
linter: options.linter,
|
|
196
125
|
appDir: options.nextAppDir,
|
|
197
|
-
src: options.nextSrcDir,
|
|
198
126
|
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
199
127
|
rootProject: true,
|
|
200
|
-
addPlugin,
|
|
201
128
|
});
|
|
202
129
|
}
|
|
203
130
|
else if (options.preset === presets_1.Preset.WebComponents) {
|
|
@@ -211,7 +138,6 @@ async function createPreset(tree, options) {
|
|
|
211
138
|
linter: options.linter,
|
|
212
139
|
bundler: 'vite',
|
|
213
140
|
e2eTestRunner: options.e2eTestRunner ?? 'cypress',
|
|
214
|
-
addPlugin,
|
|
215
141
|
});
|
|
216
142
|
}
|
|
217
143
|
else if (options.preset === presets_1.Preset.Nest) {
|
|
@@ -223,7 +149,6 @@ async function createPreset(tree, options) {
|
|
|
223
149
|
projectNameAndRootFormat: 'as-provided',
|
|
224
150
|
linter: options.linter,
|
|
225
151
|
e2eTestRunner: options.e2eTestRunner ?? 'jest',
|
|
226
|
-
addPlugin,
|
|
227
152
|
});
|
|
228
153
|
}
|
|
229
154
|
else if (options.preset === presets_1.Preset.Express) {
|
|
@@ -234,22 +159,17 @@ async function createPreset(tree, options) {
|
|
|
234
159
|
projectNameAndRootFormat: 'as-provided',
|
|
235
160
|
linter: options.linter,
|
|
236
161
|
e2eTestRunner: options.e2eTestRunner ?? 'jest',
|
|
237
|
-
addPlugin,
|
|
238
162
|
});
|
|
239
163
|
}
|
|
240
164
|
else if (options.preset === presets_1.Preset.ReactNative) {
|
|
241
|
-
console.log('Before require');
|
|
242
165
|
const { reactNativeApplicationGenerator } = require('@nx' +
|
|
243
166
|
'/react-native');
|
|
244
|
-
console.log('Hello', reactNativeApplicationGenerator);
|
|
245
|
-
console.log('Active require');
|
|
246
167
|
return reactNativeApplicationGenerator(tree, {
|
|
247
168
|
name: options.name,
|
|
248
169
|
directory: (0, path_1.join)('apps', options.name),
|
|
249
170
|
projectNameAndRootFormat: 'as-provided',
|
|
250
171
|
linter: options.linter,
|
|
251
172
|
e2eTestRunner: options.e2eTestRunner ?? 'detox',
|
|
252
|
-
addPlugin,
|
|
253
173
|
});
|
|
254
174
|
}
|
|
255
175
|
else if (options.preset === presets_1.Preset.Expo) {
|
|
@@ -260,7 +180,6 @@ async function createPreset(tree, options) {
|
|
|
260
180
|
projectNameAndRootFormat: 'as-provided',
|
|
261
181
|
linter: options.linter,
|
|
262
182
|
e2eTestRunner: options.e2eTestRunner ?? 'detox',
|
|
263
|
-
addPlugin,
|
|
264
183
|
});
|
|
265
184
|
}
|
|
266
185
|
else if (options.preset === presets_1.Preset.TS) {
|
|
@@ -278,7 +197,6 @@ async function createPreset(tree, options) {
|
|
|
278
197
|
testEnvironment: 'node',
|
|
279
198
|
js: options.js,
|
|
280
199
|
rootProject: true,
|
|
281
|
-
addPlugin,
|
|
282
200
|
});
|
|
283
201
|
}
|
|
284
202
|
else if (options.preset === presets_1.Preset.NodeStandalone) {
|
|
@@ -296,7 +214,6 @@ async function createPreset(tree, options) {
|
|
|
296
214
|
docker: options.docker,
|
|
297
215
|
rootProject: true,
|
|
298
216
|
e2eTestRunner: options.e2eTestRunner ?? 'jest',
|
|
299
|
-
addPlugin,
|
|
300
217
|
});
|
|
301
218
|
}
|
|
302
219
|
else if (options.preset === presets_1.Preset.NodeMonorepo) {
|
|
@@ -313,7 +230,6 @@ async function createPreset(tree, options) {
|
|
|
313
230
|
docker: options.docker,
|
|
314
231
|
rootProject: false,
|
|
315
232
|
e2eTestRunner: options.e2eTestRunner ?? 'jest',
|
|
316
|
-
addPlugin,
|
|
317
233
|
});
|
|
318
234
|
}
|
|
319
235
|
else {
|
|
@@ -12,11 +12,8 @@ export interface Schema {
|
|
|
12
12
|
bundler?: 'vite' | 'webpack' | 'rspack' | 'esbuild';
|
|
13
13
|
docker?: boolean;
|
|
14
14
|
nextAppDir?: boolean;
|
|
15
|
-
nextSrcDir?: boolean;
|
|
16
15
|
routing?: boolean;
|
|
17
16
|
standaloneApi?: boolean;
|
|
18
17
|
e2eTestRunner?: 'cypress' | 'playwright' | 'jest' | 'detox' | 'none';
|
|
19
18
|
js?: boolean;
|
|
20
|
-
ssr?: boolean;
|
|
21
|
-
prefix?: string;
|
|
22
19
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
2
|
+
"$schema": "http://json-schema.org/schema",
|
|
3
3
|
"$id": "NxWorkspacePreset",
|
|
4
4
|
"cli": "nx",
|
|
5
5
|
"title": "Creates applications in a new workspace",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
"value": "scss",
|
|
42
|
-
"label": "SASS(.scss) [
|
|
42
|
+
"label": "SASS(.scss) [ http://sass-lang.com ]"
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
"value": "less",
|
|
46
|
-
"label": "LESS [
|
|
46
|
+
"label": "LESS [ http://lesscss.org ]"
|
|
47
47
|
}
|
|
48
48
|
]
|
|
49
49
|
}
|
|
@@ -85,24 +85,10 @@
|
|
|
85
85
|
"type": "boolean",
|
|
86
86
|
"default": true
|
|
87
87
|
},
|
|
88
|
-
"nextSrcDir": {
|
|
89
|
-
"description": "Generate a `src` directory for this project.",
|
|
90
|
-
"type": "boolean",
|
|
91
|
-
"default": true
|
|
92
|
-
},
|
|
93
88
|
"e2eTestRunner": {
|
|
94
89
|
"description": "The tool to use for running e2e tests.",
|
|
95
90
|
"type": "string",
|
|
96
91
|
"enum": ["cypress", "playwright", "jest", "detox", "none"]
|
|
97
|
-
},
|
|
98
|
-
"ssr": {
|
|
99
|
-
"description": "Enable Server-Side Rendering (SSR) and Static Site Generation (SSG/Prerendering) for the Angular application.",
|
|
100
|
-
"type": "boolean",
|
|
101
|
-
"default": false
|
|
102
|
-
},
|
|
103
|
-
"prefix": {
|
|
104
|
-
"description": "The prefix to use for Angular component and directive selectors.",
|
|
105
|
-
"type": "string"
|
|
106
92
|
}
|
|
107
93
|
},
|
|
108
94
|
"required": ["preset", "name"]
|
|
@@ -5,16 +5,9 @@ const devkit_1 = require("@nx/devkit");
|
|
|
5
5
|
const get_source_nodes_1 = require("../../../utilities/typescript/get-source-nodes");
|
|
6
6
|
const path_1 = require("path");
|
|
7
7
|
const typescript_1 = require("../../../utilities/typescript");
|
|
8
|
-
const jest_config_1 = require("../../utils/jest-config");
|
|
9
8
|
let tsModule;
|
|
10
9
|
function isUsingUtilityFunction(host) {
|
|
11
|
-
|
|
12
|
-
if (!rootConfigPath) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
const rootConfig = host.read(rootConfigPath, 'utf-8');
|
|
16
|
-
return (rootConfig.includes('getJestProjects()') ||
|
|
17
|
-
rootConfig.includes('getJestProjectsAsync()'));
|
|
10
|
+
return host.read('jest.config.ts').toString().includes('getJestProjects()');
|
|
18
11
|
}
|
|
19
12
|
/**
|
|
20
13
|
* in a standalone project, the root jest.config.ts is a project config instead
|
|
@@ -22,11 +15,7 @@ function isUsingUtilityFunction(host) {
|
|
|
22
15
|
* in that case we do not need to edit it to remove it
|
|
23
16
|
**/
|
|
24
17
|
function isMonorepoConfig(tree) {
|
|
25
|
-
|
|
26
|
-
if (!rootConfigPath) {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
return tree.read(rootConfigPath, 'utf-8').includes('projects:');
|
|
18
|
+
return tree.read('jest.config.ts', 'utf-8').includes('projects:');
|
|
30
19
|
}
|
|
31
20
|
/**
|
|
32
21
|
* Updates the root jest config projects array and removes the project.
|
|
@@ -37,15 +26,14 @@ function updateJestConfig(tree, schema, projectConfig) {
|
|
|
37
26
|
}
|
|
38
27
|
const { createSourceFile, ScriptTarget, isPropertyAssignment, isArrayLiteralExpression, isStringLiteral, } = tsModule;
|
|
39
28
|
const projectToRemove = schema.projectName;
|
|
40
|
-
|
|
41
|
-
if (!tree.exists(rootConfigPath) ||
|
|
29
|
+
if (!tree.exists('jest.config.ts') ||
|
|
42
30
|
!tree.exists((0, path_1.join)(projectConfig.root, 'jest.config.ts')) ||
|
|
43
31
|
isUsingUtilityFunction(tree) ||
|
|
44
32
|
!isMonorepoConfig(tree)) {
|
|
45
33
|
return;
|
|
46
34
|
}
|
|
47
|
-
const contents = tree.read(
|
|
48
|
-
const sourceFile = createSourceFile(
|
|
35
|
+
const contents = tree.read('jest.config.ts', 'utf-8');
|
|
36
|
+
const sourceFile = createSourceFile('jest.config.ts', contents, ScriptTarget.Latest);
|
|
49
37
|
const sourceNodes = (0, get_source_nodes_1.getSourceNodes)(sourceFile);
|
|
50
38
|
const projectsAssignment = sourceNodes.find((node) => isPropertyAssignment(node) &&
|
|
51
39
|
node.name.getText(sourceFile) === 'projects' &&
|
|
@@ -64,7 +52,7 @@ function updateJestConfig(tree, schema, projectConfig) {
|
|
|
64
52
|
const start = previousProject
|
|
65
53
|
? previousProject.getEnd()
|
|
66
54
|
: project.getStart(sourceFile);
|
|
67
|
-
tree.write(
|
|
55
|
+
tree.write('jest.config.ts', (0, devkit_1.applyChangesToString)(contents, [
|
|
68
56
|
{
|
|
69
57
|
type: devkit_1.ChangeType.Delete,
|
|
70
58
|
start,
|
|
@@ -14,13 +14,9 @@ export declare enum Preset {
|
|
|
14
14
|
ReactMonorepo = "react-monorepo",
|
|
15
15
|
ReactStandalone = "react-standalone",
|
|
16
16
|
NextJsStandalone = "nextjs-standalone",
|
|
17
|
-
RemixMonorepo = "remix-monorepo",
|
|
18
|
-
RemixStandalone = "remix-standalone",
|
|
19
17
|
ReactNative = "react-native",
|
|
20
18
|
VueMonorepo = "vue-monorepo",
|
|
21
19
|
VueStandalone = "vue-standalone",
|
|
22
|
-
Nuxt = "nuxt",
|
|
23
|
-
NuxtStandalone = "nuxt-standalone",
|
|
24
20
|
Expo = "expo",
|
|
25
21
|
NextJs = "next",
|
|
26
22
|
Nest = "nest",
|
|
@@ -4,7 +4,7 @@ exports.Preset = void 0;
|
|
|
4
4
|
var Preset;
|
|
5
5
|
(function (Preset) {
|
|
6
6
|
Preset["Apps"] = "apps";
|
|
7
|
-
// TODO(
|
|
7
|
+
// TODO(v18): Remove Empty and Core presets
|
|
8
8
|
/** @deprecated Use Apps instead
|
|
9
9
|
*/
|
|
10
10
|
Preset["Empty"] = "empty";
|
|
@@ -19,13 +19,9 @@ var Preset;
|
|
|
19
19
|
Preset["ReactMonorepo"] = "react-monorepo";
|
|
20
20
|
Preset["ReactStandalone"] = "react-standalone";
|
|
21
21
|
Preset["NextJsStandalone"] = "nextjs-standalone";
|
|
22
|
-
Preset["RemixMonorepo"] = "remix-monorepo";
|
|
23
|
-
Preset["RemixStandalone"] = "remix-standalone";
|
|
24
22
|
Preset["ReactNative"] = "react-native";
|
|
25
23
|
Preset["VueMonorepo"] = "vue-monorepo";
|
|
26
24
|
Preset["VueStandalone"] = "vue-standalone";
|
|
27
|
-
Preset["Nuxt"] = "nuxt";
|
|
28
|
-
Preset["NuxtStandalone"] = "nuxt-standalone";
|
|
29
25
|
Preset["Expo"] = "expo";
|
|
30
26
|
Preset["NextJs"] = "next";
|
|
31
27
|
Preset["Nest"] = "nest";
|
package/src/utils/output.js
CHANGED
|
@@ -10,7 +10,7 @@ if (process.env.CI === 'true') {
|
|
|
10
10
|
}
|
|
11
11
|
class CLIOutput {
|
|
12
12
|
constructor() {
|
|
13
|
-
this.NX_PREFIX = chalk.reset.inverse.bold.cyan(' NX ')
|
|
13
|
+
this.NX_PREFIX = `${chalk.cyan('>')} ${chalk.reset.inverse.bold.cyan(' NX ')}`;
|
|
14
14
|
/**
|
|
15
15
|
* Longer dash character which forms more of a continuous line when place side to side
|
|
16
16
|
* with itself, unlike the standard dash character
|
package/src/utils/versions.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare const nxVersion: any;
|
|
2
|
-
export declare const typescriptVersion = "~5.
|
|
3
|
-
export declare const angularCliVersion = "~
|
|
2
|
+
export declare const typescriptVersion = "~5.1.3";
|
|
3
|
+
export declare const angularCliVersion = "~16.2.0";
|
package/src/utils/versions.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.angularCliVersion = exports.typescriptVersion = exports.nxVersion = void 0;
|
|
4
4
|
exports.nxVersion = require('../../package.json').version;
|
|
5
|
-
exports.typescriptVersion = '~5.
|
|
5
|
+
exports.typescriptVersion = '~5.1.3';
|
|
6
6
|
// TODO: remove when preset generation is reworked and
|
|
7
7
|
// deps are not installed from workspace
|
|
8
|
-
exports.angularCliVersion = '~
|
|
8
|
+
exports.angularCliVersion = '~16.2.0';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findRootJestConfig = void 0;
|
|
4
|
-
function findRootJestConfig(tree) {
|
|
5
|
-
if (tree.exists('jest.config.js')) {
|
|
6
|
-
return 'jest.config.js';
|
|
7
|
-
}
|
|
8
|
-
if (tree.exists('jest.config.ts')) {
|
|
9
|
-
return 'jest.config.ts';
|
|
10
|
-
}
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
exports.findRootJestConfig = findRootJestConfig;
|