mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-10 21:07:48 +00:00
### Related Issues
Adding in Nx and Rush as monorepo managers.
This will allow to help with starting zero config for both the above managers.
I have added in unit tests for both Nx and Rush.
### 📋 Checklist
#### Tests
- [ ] The code changed/added as part of this PR has been covered with tests
- [ ] All tests pass locally with `yarn test-unit`
#### Code Review
- [ ] This PR has a concise title and thorough description useful to a reviewer
- [ ] Issue from task tracker has a link to this PR
31 lines
1015 B
TypeScript
Vendored
31 lines
1015 B
TypeScript
Vendored
import path from 'path';
|
|
import { detectFramework } from '../src/detect-framework';
|
|
import monorepoManagers from '../src/monorepos/monorepo-managers';
|
|
import { FixtureFilesystem } from './utils/fixture-filesystem';
|
|
|
|
describe('monorepo-managers', () => {
|
|
describe.each([
|
|
['28-turborepo-with-yarn-workspaces', 'turbo'],
|
|
['31-turborepo-in-package-json', 'turbo'],
|
|
['22-pnpm', null],
|
|
['39-nx-monorepo', 'nx'],
|
|
['40-rush-monorepo', 'rush'],
|
|
])('with detectFramework', (fixturePath, frameworkSlug) => {
|
|
const testName = frameworkSlug
|
|
? `should detect a ${frameworkSlug} workspace for ${fixturePath}`
|
|
: `should not detect a monorepo manager for ${fixturePath}`;
|
|
|
|
it(testName, async () => {
|
|
const fixture = path.join(__dirname, 'fixtures', fixturePath);
|
|
const fs = new FixtureFilesystem(fixture);
|
|
|
|
const result = await detectFramework({
|
|
fs,
|
|
frameworkList: monorepoManagers,
|
|
});
|
|
|
|
expect(result).toBe(frameworkSlug);
|
|
});
|
|
});
|
|
});
|