fix: Use lowercase alphanumeric nanoid for Docker compose project names
Docker compose requires project names to be lowercase alphanumeric with hyphens/underscores only. The default nanoid alphabet includes uppercase and special characters, causing build failures.
This commit is contained in:
@@ -67,7 +67,7 @@ vi.mock('node:fs/promises', () => ({
|
||||
}));
|
||||
|
||||
vi.mock('nanoid', () => ({
|
||||
nanoid: vi.fn(() => 'abc123test'),
|
||||
customAlphabet: vi.fn(() => vi.fn(() => 'abc123test')),
|
||||
}));
|
||||
|
||||
import { PreviewManager } from './manager.js';
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
import { join } from 'node:path';
|
||||
import { mkdir, writeFile, rm } from 'node:fs/promises';
|
||||
import { nanoid } from 'nanoid';
|
||||
import { customAlphabet } from 'nanoid';
|
||||
import type { ProjectRepository } from '../db/repositories/project-repository.js';
|
||||
import type { PhaseRepository } from '../db/repositories/phase-repository.js';
|
||||
import type { InitiativeRepository } from '../db/repositories/initiative-repository.js';
|
||||
@@ -116,7 +116,8 @@ export class PreviewManager {
|
||||
);
|
||||
|
||||
// 4. Generate ID and prepare deploy dir
|
||||
const id = nanoid(10);
|
||||
const previewNanoid = customAlphabet('0123456789abcdefghijklmnopqrstuvwxyz', 10);
|
||||
const id = previewNanoid();
|
||||
const projectName = `${COMPOSE_PROJECT_PREFIX}${id}`;
|
||||
const deployDir = join(this.workspaceRoot, PREVIEWS_DIR, id);
|
||||
await mkdir(deployDir, { recursive: true });
|
||||
|
||||
Reference in New Issue
Block a user