1
1
import { vol } from 'memfs'
2
2
import { findWorkspaceProject , PROJECT_CACHE } from '@/finder/findWorkspaceProject'
3
+ import path from 'path'
3
4
4
5
// eslint-disable-next-line @typescript-eslint/consistent-type-imports
5
6
jest . mock ( 'fs' , ( ) => jest . requireActual < typeof import ( 'memfs' ) > ( 'memfs' ) )
@@ -12,26 +13,26 @@ describe('finder/findWorkspaceProject', () => {
12
13
13
14
it ( 'should find projects from a workspace' , async ( ) => {
14
15
vol . fromJSON ( {
15
- 'package.json' : JSON . stringify ( {
16
+ [ path . join ( 'package.json' ) ] : JSON . stringify ( {
16
17
workspaces : [ 'packages/*' ] ,
17
18
} ) ,
18
- 'packages/package-a/package.json' : JSON . stringify ( {
19
+ [ path . join ( 'packages/package-a/package.json' ) ] : JSON . stringify ( {
19
20
name : 'package-a' ,
20
21
version : '1.0.0' ,
21
22
description : 'Package A' ,
22
23
dependencies : {
23
24
'package-b' : '^1.0.0' ,
24
25
} ,
25
26
} ) ,
26
- 'packages/package-b/package.json' : JSON . stringify ( {
27
+ [ path . join ( 'packages/package-b/package.json' ) ] : JSON . stringify ( {
27
28
name : 'package-b' ,
28
29
version : '1.0.0' ,
29
30
description : 'Package B' ,
30
31
dependencies : {
31
32
'package-c' : '^1.0.0' ,
32
33
} ,
33
34
} ) ,
34
- 'packages/package-c/package.json' : JSON . stringify ( {
35
+ [ path . join ( 'packages/package-c/package.json' ) ] : JSON . stringify ( {
35
36
name : 'package-c' ,
36
37
version : '1.0.0' ,
37
38
description : 'Package C' ,
@@ -49,7 +50,7 @@ describe('finder/findWorkspaceProject', () => {
49
50
version : '1.0.0' ,
50
51
description : 'Package C' ,
51
52
isPrivate : false ,
52
- location : 'packages/package-c' ,
53
+ location : path . join ( 'packages/package-c' ) ,
53
54
dependencies : [ ] ,
54
55
workspaceDependencies : [ ] ,
55
56
} ,
@@ -58,7 +59,7 @@ describe('finder/findWorkspaceProject', () => {
58
59
version : '1.0.0' ,
59
60
description : 'Package B' ,
60
61
isPrivate : false ,
61
- location : 'packages/package-b' ,
62
+ location : path . join ( 'packages/package-b' ) ,
62
63
dependencies : [ 'package-c' ] ,
63
64
workspaceDependencies : [ 'package-c' ] ,
64
65
} ,
@@ -67,7 +68,7 @@ describe('finder/findWorkspaceProject', () => {
67
68
version : '1.0.0' ,
68
69
description : 'Package A' ,
69
70
isPrivate : false ,
70
- location : 'packages/package-a' ,
71
+ location : path . join ( 'packages/package-a' ) ,
71
72
dependencies : [ 'package-b' ] ,
72
73
workspaceDependencies : [ 'package-b' ] ,
73
74
} ,
@@ -76,26 +77,26 @@ describe('finder/findWorkspaceProject', () => {
76
77
77
78
it ( 'should find projects from a workspace with a custom pattern' , async ( ) => {
78
79
vol . fromJSON ( {
79
- 'package.json' : JSON . stringify ( {
80
+ [ path . join ( 'package.json' ) ] : JSON . stringify ( {
80
81
workspaces : [ 'packages/*' ] ,
81
82
} ) ,
82
- 'packages/package-a/package.json' : JSON . stringify ( {
83
+ [ path . join ( 'packages/package-a/package.json' ) ] : JSON . stringify ( {
83
84
name : 'package-a' ,
84
85
version : '1.0.0' ,
85
86
description : 'Package A' ,
86
87
dependencies : {
87
88
'package-b' : '^1.0.0' ,
88
89
} ,
89
90
} ) ,
90
- 'packages/package-b/package.json' : JSON . stringify ( {
91
+ [ path . join ( 'packages/package-b/package.json' ) ] : JSON . stringify ( {
91
92
name : 'package-b' ,
92
93
version : '1.0.0' ,
93
94
description : 'Package B' ,
94
95
dependencies : {
95
96
'package-c' : '^1.0.0' ,
96
97
} ,
97
98
} ) ,
98
- 'packages/package-c/package.json' : JSON . stringify ( {
99
+ [ path . join ( 'packages/package-c/package.json' ) ] : JSON . stringify ( {
99
100
name : 'package-c' ,
100
101
version : '1.0.0' ,
101
102
description : 'Package C' ,
@@ -114,7 +115,7 @@ describe('finder/findWorkspaceProject', () => {
114
115
version : '1.0.0' ,
115
116
description : 'Package A' ,
116
117
isPrivate : false ,
117
- location : 'packages/package-a' ,
118
+ location : path . join ( 'packages/package-a' ) ,
118
119
dependencies : [ 'package-b' ] ,
119
120
workspaceDependencies : [ ] ,
120
121
} ,
@@ -123,26 +124,26 @@ describe('finder/findWorkspaceProject', () => {
123
124
124
125
it ( 'should find projects from a workspace with a custom pattern and cwd, and from cache' , async ( ) => {
125
126
vol . fromJSON ( {
126
- 'package.json' : JSON . stringify ( {
127
+ [ path . join ( 'package.json' ) ] : JSON . stringify ( {
127
128
workspaces : [ 'packages/*' ] ,
128
129
} ) ,
129
- 'packages/package-a/package.json' : JSON . stringify ( {
130
+ [ path . join ( 'packages/package-a/package.json' ) ] : JSON . stringify ( {
130
131
name : 'package-a' ,
131
132
version : '1.0.0' ,
132
133
description : 'Package A' ,
133
134
dependencies : {
134
135
'package-b' : '^1.0.0' ,
135
136
} ,
136
137
} ) ,
137
- 'packages/package-b/package.json' : JSON . stringify ( {
138
+ [ path . join ( 'packages/package-b/package.json' ) ] : JSON . stringify ( {
138
139
name : 'package-b' ,
139
140
version : '1.0.0' ,
140
141
description : 'Package B' ,
141
142
dependencies : {
142
143
'package-c' : '^1.0.0' ,
143
144
} ,
144
145
} ) ,
145
- 'packages/package-c/package.json' : JSON . stringify ( {
146
+ [ path . join ( 'packages/package-c/package.json' ) ] : JSON . stringify ( {
146
147
name : 'package-c' ,
147
148
version : '1.0.0' ,
148
149
description : 'Package C' ,
@@ -161,18 +162,18 @@ describe('finder/findWorkspaceProject', () => {
161
162
162
163
it ( 'should throw an error if a project name is duplicated in the workspace' , async ( ) => {
163
164
vol . fromJSON ( {
164
- 'package.json' : JSON . stringify ( {
165
+ [ path . join ( 'package.json' ) ] : JSON . stringify ( {
165
166
workspaces : [ 'packages/*' ] ,
166
167
} ) ,
167
- 'packages/package-a/package.json' : JSON . stringify ( {
168
+ [ path . join ( 'packages/package-a/package.json' ) ] : JSON . stringify ( {
168
169
name : 'package-a' ,
169
170
version : '1.0.0' ,
170
171
description : 'Package A' ,
171
172
dependencies : {
172
173
'package-b' : '^1.0.0' ,
173
174
} ,
174
175
} ) ,
175
- 'packages/package-b/package.json' : JSON . stringify ( {
176
+ [ path . join ( 'packages/package-b/package.json' ) ] : JSON . stringify ( {
176
177
name : 'package-a' ,
177
178
version : '1.0.0' ,
178
179
description : 'Package A' ,
@@ -187,6 +188,6 @@ describe('finder/findWorkspaceProject', () => {
187
188
pattern : [ 'packages/*' ] ,
188
189
cwd : '' ,
189
190
} )
190
- ) . rejects . toThrow ( ' The project name package-a is duplicated in the workspace.\n - packages/package-b/package.json\n - packages/package-a/package.json')
191
+ ) . rejects . toThrow ( ` The project name package-a is duplicated in the workspace.\n - ${ path . join ( ' packages/package-b/package.json' ) } \n - ${ path . join ( ' packages/package-a/package.json') } ` )
191
192
} )
192
193
} )
0 commit comments