@@ -25,14 +25,15 @@ export async function e2eProjectGenerator(host: Tree, _options: Schema) {
25
25
const options = normalizeOptions ( host , _options ) ;
26
26
const appProject = readProjectConfiguration ( host , options . project ) ;
27
27
28
- addProjectConfiguration ( host , options . projectName , {
29
- root : options . projectRoot ,
28
+ addProjectConfiguration ( host , options . e2eProjectName , {
29
+ root : options . e2eProjectRoot ,
30
+ implicitDependencies : [ options . project ] ,
30
31
targets : {
31
32
e2e : {
32
33
executor : '@nrwl/jest:jest' ,
33
- outputs : [ '{workspaceRoot}/coverage/{projectRoot }' ] ,
34
+ outputs : [ '{workspaceRoot}/coverage/{e2eProjectRoot }' ] ,
34
35
options : {
35
- jestConfig : `${ options . projectRoot } /jest.config.ts` ,
36
+ jestConfig : `${ options . e2eProjectRoot } /jest.config.ts` ,
36
37
passWithNoTests : true ,
37
38
} ,
38
39
} ,
@@ -43,11 +44,11 @@ export async function e2eProjectGenerator(host: Tree, _options: Schema) {
43
44
generateFiles (
44
45
host ,
45
46
path . join ( __dirname , 'files/server' ) ,
46
- options . projectRoot ,
47
+ options . e2eProjectRoot ,
47
48
{
48
49
...options ,
49
50
...names ( options . rootProject ? 'server' : options . project ) ,
50
- offsetFromRoot : offsetFromRoot ( options . projectRoot ) ,
51
+ offsetFromRoot : offsetFromRoot ( options . e2eProjectRoot ) ,
51
52
tmpl : '' ,
52
53
}
53
54
) ;
@@ -56,12 +57,12 @@ export async function e2eProjectGenerator(host: Tree, _options: Schema) {
56
57
generateFiles (
57
58
host ,
58
59
path . join ( __dirname , 'files/cli' ) ,
59
- options . projectRoot ,
60
+ options . e2eProjectRoot ,
60
61
{
61
62
...options ,
62
63
...names ( options . rootProject ? 'server' : options . project ) ,
63
64
mainFile,
64
- offsetFromRoot : offsetFromRoot ( options . projectRoot ) ,
65
+ offsetFromRoot : offsetFromRoot ( options . e2eProjectRoot ) ,
65
66
tmpl : '' ,
66
67
}
67
68
) ;
@@ -77,11 +78,13 @@ export async function e2eProjectGenerator(host: Tree, _options: Schema) {
77
78
78
79
if ( options . linter === 'eslint' ) {
79
80
const linterTask = await lintProjectGenerator ( host , {
80
- project : options . projectName ,
81
+ project : options . e2eProjectName ,
81
82
linter : Linter . EsLint ,
82
83
skipFormat : true ,
83
- tsConfigPaths : [ joinPathFragments ( options . projectRoot , 'tsconfig.json' ) ] ,
84
- eslintFilePatterns : [ `${ options . projectRoot } /**/*.{js,ts}` ] ,
84
+ tsConfigPaths : [
85
+ joinPathFragments ( options . e2eProjectRoot , 'tsconfig.json' ) ,
86
+ ] ,
87
+ eslintFilePatterns : [ `${ options . e2eProjectRoot } /**/*.{js,ts}` ] ,
85
88
setParserOptionsProject : false ,
86
89
skipPackageJson : false ,
87
90
rootProject : options . rootProject ,
@@ -99,7 +102,7 @@ export async function e2eProjectGenerator(host: Tree, _options: Schema) {
99
102
function normalizeOptions (
100
103
tree : Tree ,
101
104
options : Schema
102
- ) : Omit < Schema , 'name' > & { projectRoot : string ; projectName : string } {
105
+ ) : Omit < Schema , 'name' > & { e2eProjectRoot : string ; e2eProjectName : string } {
103
106
const { layoutDirectory, projectDirectory } = extractLayoutDirectory (
104
107
options . directory
105
108
) ;
@@ -110,16 +113,16 @@ function normalizeOptions(
110
113
? `${ names ( projectDirectory ) . fileName } /${ names ( name ) . fileName } `
111
114
: names ( name ) . fileName ;
112
115
113
- const projectName = appDirectory . replace ( new RegExp ( '/' , 'g' ) , '-' ) ;
116
+ const e2eProjectName = appDirectory . replace ( new RegExp ( '/' , 'g' ) , '-' ) ;
114
117
115
- const projectRoot = options . rootProject
118
+ const e2eProjectRoot = options . rootProject
116
119
? 'e2e'
117
120
: joinPathFragments ( appsDir , appDirectory ) ;
118
121
119
122
return {
120
123
...options ,
121
- projectRoot ,
122
- projectName ,
124
+ e2eProjectRoot ,
125
+ e2eProjectName ,
123
126
port : options . port ?? 3000 ,
124
127
rootProject : ! ! options . rootProject ,
125
128
} ;
0 commit comments