|
1 | | -import { getPackages, getWorkspaces } from '../../lib/workspace.js'; |
| 1 | +import { getPackages } from '../../lib/workspace.js'; |
2 | 2 | import { join } from 'node:path'; |
3 | 3 | import { |
4 | 4 | FIXTURE_PATH_NOT_A_WORKSPACE, |
@@ -33,6 +33,26 @@ describe('Utils | workspace', function () { |
33 | 33 | ); |
34 | 34 | }); |
35 | 35 |
|
| 36 | + it('behaves correctly with valid fixture for using nohoist', function () { |
| 37 | + expect( |
| 38 | + getPackages(FIXTURE_PATH_VALID_WITH_PACKAGES, [], [], [], []).map( |
| 39 | + (package_) => package_.path |
| 40 | + ) |
| 41 | + ).toStrictEqual( |
| 42 | + [ |
| 43 | + '.', |
| 44 | + '@scope1/package1', |
| 45 | + '@scope1/package2', |
| 46 | + '@scope2/deps-only', |
| 47 | + '@scope2/dev-deps-only', |
| 48 | + 'nested-scope/@nested-level/package', |
| 49 | + 'foo1', |
| 50 | + 'foo2', |
| 51 | + 'package1', |
| 52 | + ].map((path) => join(FIXTURE_PATH_VALID_WITH_PACKAGES, path)) |
| 53 | + ); |
| 54 | + }); |
| 55 | + |
36 | 56 | it('filters out ignored package', function () { |
37 | 57 | expect( |
38 | 58 | getPackages(FIXTURE_PATH_VALID, ['@scope1/package1'], [], [], []).map( |
@@ -179,61 +199,34 @@ describe('Utils | workspace', function () { |
179 | 199 | ) |
180 | 200 | ); |
181 | 201 | }); |
182 | | - }); |
183 | | - |
184 | | - describe('#getWorkspaces', function () { |
185 | | - it('behaves correctly with valid fixture', function () { |
186 | | - expect(getWorkspaces(FIXTURE_PATH_VALID)).toMatchInlineSnapshot(` |
187 | | - Array [ |
188 | | - "@scope1/*", |
189 | | - "@scope2/*", |
190 | | - "nested-scope/**", |
191 | | - "foo*", |
192 | | - "package1", |
193 | | - ] |
194 | | - `); |
195 | | - }); |
196 | | - |
197 | | - it('behaves correctly with valid fixture for using nohoist', function () { |
198 | | - expect(getWorkspaces(FIXTURE_PATH_VALID_WITH_PACKAGES)) |
199 | | - .toMatchInlineSnapshot(` |
200 | | - Array [ |
201 | | - "@scope1/*", |
202 | | - "@scope2/*", |
203 | | - "nested-scope/**", |
204 | | - "foo*", |
205 | | - "package1", |
206 | | - ] |
207 | | - `); |
208 | | - }); |
209 | 202 |
|
210 | 203 | it('throws with fixture that has no package.json', function () { |
211 | 204 | expect(() => |
212 | | - getWorkspaces(FIXTURE_PATH_NO_PACKAGE_JSON) |
| 205 | + getPackages(FIXTURE_PATH_NO_PACKAGE_JSON, [], [], [], []) |
213 | 206 | ).toThrowErrorMatchingInlineSnapshot( |
214 | 207 | '"No package.json found at provided path."' |
215 | 208 | ); |
216 | 209 | }); |
217 | 210 |
|
218 | 211 | it('throws with fixture that does not have workspace specified', function () { |
219 | 212 | expect(() => |
220 | | - getWorkspaces(FIXTURE_PATH_NOT_A_WORKSPACE) |
| 213 | + getPackages(FIXTURE_PATH_NOT_A_WORKSPACE, [], [], [], []) |
221 | 214 | ).toThrowErrorMatchingInlineSnapshot( |
222 | | - '"package.json at provided path does not specify `workspaces`."' |
| 215 | + '"Package at provided path has no workspaces specified."' |
223 | 216 | ); |
224 | 217 | }); |
225 | 218 |
|
226 | 219 | it('throws with fixture that does not have workspace specified as array', function () { |
227 | 220 | expect(() => |
228 | | - getWorkspaces(FIXTURE_PATH_WORKSPACE_NOT_AN_ARRAY) |
| 221 | + getPackages(FIXTURE_PATH_WORKSPACE_NOT_AN_ARRAY, [], [], [], []) |
229 | 222 | ).toThrowErrorMatchingInlineSnapshot( |
230 | 223 | '"package.json `workspaces` is not a string array."' |
231 | 224 | ); |
232 | 225 | }); |
233 | 226 |
|
234 | 227 | it('throws with fixture that does not have workspace packages specified as array', function () { |
235 | 228 | expect(() => |
236 | | - getWorkspaces(FIXTURE_PATH_WORKSPACE_PACKAGE_NOT_AN_ARRAY) |
| 229 | + getPackages(FIXTURE_PATH_WORKSPACE_PACKAGE_NOT_AN_ARRAY, [], [], [], []) |
237 | 230 | ).toThrowErrorMatchingInlineSnapshot( |
238 | 231 | '"package.json `workspaces.packages` is not a string array."' |
239 | 232 | ); |
|
0 commit comments