@nx/node 20.4.3 → 20.5.0-beta.0
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +5 -5
- package/src/generators/application/application.js +2 -6
- package/src/generators/application/files/common/webpack.config.js__tmpl__ +1 -1
- package/src/generators/e2e-project/e2e-project.js +15 -5
- package/src/generators/e2e-project/files/cli/jest.config.ts__tmpl__ +16 -3
- package/src/generators/e2e-project/files/server/common/jest.config.ts__tmpl__ +16 -3
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nx/node",
|
3
|
-
"version": "20.
|
3
|
+
"version": "20.5.0-beta.0",
|
4
4
|
"private": false,
|
5
5
|
"description": "The Node Plugin for Nx contains generators to manage Node applications within an Nx workspace.",
|
6
6
|
"repository": {
|
@@ -32,10 +32,10 @@
|
|
32
32
|
},
|
33
33
|
"dependencies": {
|
34
34
|
"tslib": "^2.3.0",
|
35
|
-
"@nx/devkit": "20.
|
36
|
-
"@nx/jest": "20.
|
37
|
-
"@nx/js": "20.
|
38
|
-
"@nx/eslint": "20.
|
35
|
+
"@nx/devkit": "20.5.0-beta.0",
|
36
|
+
"@nx/jest": "20.5.0-beta.0",
|
37
|
+
"@nx/js": "20.5.0-beta.0",
|
38
|
+
"@nx/eslint": "20.5.0-beta.0"
|
39
39
|
},
|
40
40
|
"publishConfig": {
|
41
41
|
"access": "public"
|
@@ -166,9 +166,7 @@ function addAppFiles(tree, options) {
|
|
166
166
|
rootTsConfigPath: (0, js_1.getRelativePathToRootTsConfig)(tree, options.appProjectRoot),
|
167
167
|
webpackPluginOptions: (0, has_webpack_plugin_1.hasWebpackPlugin)(tree)
|
168
168
|
? {
|
169
|
-
outputPath: options.
|
170
|
-
? 'dist'
|
171
|
-
: (0, devkit_1.joinPathFragments)((0, devkit_1.offsetFromRoot)(options.appProjectRoot), 'dist', options.rootProject ? options.name : options.appProjectRoot),
|
169
|
+
outputPath: options.outputPath,
|
172
170
|
main: './src/main' + (options.js ? '.js' : '.ts'),
|
173
171
|
tsConfig: './tsconfig.app.json',
|
174
172
|
assets: ['./src/assets'],
|
@@ -484,9 +482,7 @@ async function normalizeOptions(host, options) {
|
|
484
482
|
unitTestRunner: options.unitTestRunner ?? 'jest',
|
485
483
|
rootProject: options.rootProject ?? false,
|
486
484
|
port: options.port ?? 3000,
|
487
|
-
outputPath:
|
488
|
-
? (0, devkit_1.joinPathFragments)(appProjectRoot, 'dist')
|
489
|
-
: (0, devkit_1.joinPathFragments)('dist', options.rootProject ? options.name : appProjectRoot),
|
485
|
+
outputPath: (0, devkit_1.joinPathFragments)('dist', options.rootProject ? options.name : appProjectRoot),
|
490
486
|
isUsingTsSolutionConfig,
|
491
487
|
swcJest,
|
492
488
|
};
|
@@ -14,6 +14,7 @@ const config_file_1 = require("@nx/jest/src/utils/config/config-file");
|
|
14
14
|
const ts_solution_setup_1 = require("@nx/js/src/utils/typescript/ts-solution-setup");
|
15
15
|
const get_import_path_1 = require("@nx/js/src/utils/get-import-path");
|
16
16
|
const posix_1 = require("node:path/posix");
|
17
|
+
const add_swc_config_1 = require("@nx/js/src/utils/swc/add-swc-config");
|
17
18
|
async function e2eProjectGenerator(host, options) {
|
18
19
|
return await e2eProjectGeneratorInternal(host, {
|
19
20
|
addPlugin: false,
|
@@ -96,13 +97,19 @@ async function e2eProjectGeneratorInternal(host, _options) {
|
|
96
97
|
const tsConfigFile = isUsingTsSolutionConfig
|
97
98
|
? 'tsconfig.json'
|
98
99
|
: 'tsconfig.spec.json';
|
100
|
+
const rootOffset = (0, devkit_1.offsetFromRoot)(options.e2eProjectRoot);
|
101
|
+
const coverageDirectory = isUsingTsSolutionConfig
|
102
|
+
? 'test-output/jest/coverage'
|
103
|
+
: (0, devkit_1.joinPathFragments)(rootOffset, 'coverage', options.e2eProjectName);
|
99
104
|
if (options.projectType === 'server') {
|
100
105
|
(0, devkit_1.generateFiles)(host, path.join(__dirname, 'files/server/common'), options.e2eProjectRoot, {
|
101
106
|
...options,
|
102
107
|
...(0, devkit_1.names)(options.rootProject ? 'server' : options.project),
|
103
108
|
tsConfigFile,
|
104
|
-
offsetFromRoot:
|
109
|
+
offsetFromRoot: rootOffset,
|
105
110
|
jestPreset,
|
111
|
+
coverageDirectory,
|
112
|
+
isUsingTsSolutionConfig,
|
106
113
|
tmpl: '',
|
107
114
|
});
|
108
115
|
if (options.isNest) {
|
@@ -110,7 +117,7 @@ async function e2eProjectGeneratorInternal(host, _options) {
|
|
110
117
|
...options,
|
111
118
|
...(0, devkit_1.names)(options.rootProject ? 'server' : options.project),
|
112
119
|
tsConfigFile,
|
113
|
-
offsetFromRoot:
|
120
|
+
offsetFromRoot: rootOffset,
|
114
121
|
tmpl: '',
|
115
122
|
});
|
116
123
|
}
|
@@ -122,23 +129,26 @@ async function e2eProjectGeneratorInternal(host, _options) {
|
|
122
129
|
...(0, devkit_1.names)(options.rootProject ? 'cli' : options.project),
|
123
130
|
mainFile,
|
124
131
|
tsConfigFile,
|
125
|
-
offsetFromRoot:
|
132
|
+
offsetFromRoot: rootOffset,
|
126
133
|
jestPreset,
|
134
|
+
coverageDirectory,
|
135
|
+
isUsingTsSolutionConfig,
|
127
136
|
tmpl: '',
|
128
137
|
});
|
129
138
|
}
|
130
139
|
if (isUsingTsSolutionConfig) {
|
140
|
+
(0, add_swc_config_1.addSwcTestConfig)(host, options.e2eProjectRoot, 'es6');
|
131
141
|
(0, devkit_1.generateFiles)(host, path.join(__dirname, 'files/ts-solution'), options.e2eProjectRoot, {
|
132
142
|
...options,
|
133
143
|
relativeProjectReferencePath: (0, posix_1.relative)(options.e2eProjectRoot, appProject.root),
|
134
|
-
offsetFromRoot:
|
144
|
+
offsetFromRoot: rootOffset,
|
135
145
|
tmpl: '',
|
136
146
|
});
|
137
147
|
}
|
138
148
|
else {
|
139
149
|
(0, devkit_1.generateFiles)(host, path.join(__dirname, 'files/non-ts-solution'), options.e2eProjectRoot, {
|
140
150
|
...options,
|
141
|
-
offsetFromRoot:
|
151
|
+
offsetFromRoot: rootOffset,
|
142
152
|
tmpl: '',
|
143
153
|
});
|
144
154
|
}
|
@@ -1,13 +1,26 @@
|
|
1
|
+
<%_ if (isUsingTsSolutionConfig) { _%>
|
2
|
+
/* eslint-disable */
|
3
|
+
import { readFileSync } from 'fs';
|
4
|
+
|
5
|
+
// Reading the SWC compilation config for the spec files
|
6
|
+
const swcJestConfig = JSON.parse(
|
7
|
+
readFileSync(`${__dirname}/.spec.swcrc`, 'utf-8')
|
8
|
+
);
|
9
|
+
|
10
|
+
// Disable .swcrc look-up by SWC core because we're passing in swcJestConfig ourselves
|
11
|
+
swcJestConfig.swcrc = false;
|
12
|
+
|
13
|
+
<%_ } _%>
|
1
14
|
export default {
|
2
15
|
displayName: '<%= e2eProjectName %>',
|
3
16
|
preset: '<%= offsetFromRoot %><%= jestPreset %>',
|
4
17
|
setupFiles: ['<rootDir>/src/test-setup.ts'],
|
5
18
|
testEnvironment: 'node',
|
6
19
|
transform: {
|
7
|
-
'^.+\\.[tj]s$': ['ts-jest', {
|
20
|
+
'^.+\\.[tj]s$': <% if (isUsingTsSolutionConfig) { %>['@swc/jest', swcJestConfig]<% } else { %>['ts-jest', {
|
8
21
|
tsconfig: '<rootDir>/<%= tsConfigFile %>',
|
9
|
-
}]
|
22
|
+
}]<% } %>,
|
10
23
|
},
|
11
24
|
moduleFileExtensions: ['ts', 'js', 'html'],
|
12
|
-
coverageDirectory: '<%=
|
25
|
+
coverageDirectory: '<%= coverageDirectory %>',
|
13
26
|
};
|
@@ -1,3 +1,16 @@
|
|
1
|
+
<%_ if (isUsingTsSolutionConfig) { _%>
|
2
|
+
/* eslint-disable */
|
3
|
+
import { readFileSync } from 'fs';
|
4
|
+
|
5
|
+
// Reading the SWC compilation config for the spec files
|
6
|
+
const swcJestConfig = JSON.parse(
|
7
|
+
readFileSync(`${__dirname}/.spec.swcrc`, 'utf-8')
|
8
|
+
);
|
9
|
+
|
10
|
+
// Disable .swcrc look-up by SWC core because we're passing in swcJestConfig ourselves
|
11
|
+
swcJestConfig.swcrc = false;
|
12
|
+
|
13
|
+
<%_ } _%>
|
1
14
|
export default {
|
2
15
|
displayName: '<%= e2eProjectName %>',
|
3
16
|
preset: '<%= offsetFromRoot %><%= jestPreset %>',
|
@@ -6,10 +19,10 @@ export default {
|
|
6
19
|
setupFiles: ['<rootDir>/src/support/test-setup.ts'],
|
7
20
|
testEnvironment: 'node',
|
8
21
|
transform: {
|
9
|
-
'^.+\\.[tj]s$': ['ts-jest', {
|
22
|
+
'^.+\\.[tj]s$': <% if (isUsingTsSolutionConfig) { %>['@swc/jest', swcJestConfig]<% } else { %>['ts-jest', {
|
10
23
|
tsconfig: '<rootDir>/<%= tsConfigFile %>',
|
11
|
-
}]
|
24
|
+
}]<% } %>,
|
12
25
|
},
|
13
26
|
moduleFileExtensions: ['ts', 'js', 'html'],
|
14
|
-
coverageDirectory: '<%=
|
27
|
+
coverageDirectory: '<%= coverageDirectory %>',
|
15
28
|
};
|