mirror of
https://github.com/LukeHagar/vercel.git
synced 2025-12-08 04:22:09 +00:00
35 lines
1.2 KiB
TypeScript
Vendored
35 lines
1.2 KiB
TypeScript
Vendored
import { join } from 'path';
|
|
import { promises as fs } from 'fs';
|
|
import { ensureResolvable } from '../src/utils';
|
|
import { describe, it, expect } from 'vitest';
|
|
|
|
const FIXTURES_DIR = join(__dirname, 'fixtures-legacy');
|
|
|
|
describe('ensureResolvable()', () => {
|
|
it('should create a symlink in the node_modules within `start` with pnpm', async () => {
|
|
const FIXTURE = join(FIXTURES_DIR, '00-pnpm');
|
|
const start = join(FIXTURE, 'apps/a');
|
|
try {
|
|
await fs.mkdir(join(start, 'node_modules'), { recursive: true });
|
|
await ensureResolvable(start, FIXTURE, 'ms');
|
|
const stat = await fs.lstat(join(start, 'node_modules/ms'));
|
|
expect(stat.isSymbolicLink()).toEqual(true);
|
|
} finally {
|
|
await fs.rm(start, { recursive: true });
|
|
}
|
|
});
|
|
|
|
it('should create a symlink when the node_modules directory does not exist', async () => {
|
|
const FIXTURE = join(FIXTURES_DIR, '00-pnpm');
|
|
const start = join(FIXTURE, 'apps/a');
|
|
try {
|
|
await fs.mkdir(start, { recursive: true });
|
|
await ensureResolvable(start, FIXTURE, 'ms');
|
|
const stat = await fs.lstat(join(start, 'node_modules/ms'));
|
|
expect(stat.isSymbolicLink()).toEqual(true);
|
|
} finally {
|
|
await fs.rm(start, { recursive: true });
|
|
}
|
|
});
|
|
});
|