3d0474fe97
Перед записью zip больше не вызываем mkdir для E:\ / C:\ — на Windows это даёт operation not permitted. Co-authored-by: Cursor <cursoragent@cursor.com>
15 lines
560 B
TypeScript
15 lines
560 B
TypeScript
import fs from 'node:fs/promises';
|
|
import path from 'node:path';
|
|
|
|
/**
|
|
* Создаёт родительский каталог для файла.
|
|
* На Windows `mkdir('E:\\')` даёт EPERM — корень диска пропускаем.
|
|
*/
|
|
export async function ensureParentDir(filePath: string): Promise<void> {
|
|
const dir = path.dirname(filePath);
|
|
if (!dir || dir === '.') return;
|
|
const root = path.parse(path.resolve(filePath)).root;
|
|
if (root && path.resolve(dir) === path.resolve(root)) return;
|
|
await fs.mkdir(dir, { recursive: true });
|
|
}
|