Skip to content

Commit 3e754a6

Browse files
committed
fix(web/daemon): align copy-link UI, resolve typescript typecheck errors, and add integration tests
1 parent a48d79e commit 3e754a6

26 files changed

Lines changed: 373 additions & 78 deletions

File tree

apps/daemon/src/deploy.ts

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ import os from 'node:os';
44
import path from 'node:path';
55
import { randomUUID } from 'node:crypto';
66
import { hash as blake3Hash } from 'blake3-wasm';
7-
import JSZip from 'jszip';
8-
import { listFiles, readProjectFile, validateProjectPath, resolveProjectDir } from './projects.js';
7+
import { listFiles, readProjectFile, validateProjectPath } from './projects.js';
98

109
export const VERCEL_PROVIDER_ID = 'vercel-self';
1110
export const CLOUDFLARE_PAGES_PROVIDER_ID = 'cloudflare-pages';
@@ -609,15 +608,11 @@ export async function deployToNetlify({
609608
config,
610609
files,
611610
projectId,
612-
projectsRoot,
613-
projectMetadata,
614611
priorMetadata,
615612
}: {
616613
config: DeployConfig;
617614
files: DeployFile[];
618615
projectId: string;
619-
projectsRoot: string;
620-
projectMetadata?: JsonObject | undefined;
621616
priorMetadata?: JsonObject | undefined;
622617
}) {
623618
if (!config?.token) {
@@ -676,7 +671,7 @@ export async function deployToNetlify({
676671
},
677672
body: JSON.stringify({
678673
name: repoName,
679-
private: false,
674+
private: true,
680675
auto_init: true,
681676
}),
682677
});
@@ -933,7 +928,7 @@ async function createOrUpdateGitHubFile(
933928
const getResp = await fetch(url, {
934929
headers: {
935930
Authorization: `Bearer ${token}`,
936-
Accept: 'application/vnd.github.v3+json',
931+
Accept: 'application/vnd.github.object+json',
937932
'User-Agent': 'Open-Design-Daemon',
938933
},
939934
});
@@ -967,15 +962,11 @@ export async function deployToRender({
967962
config,
968963
files,
969964
projectId,
970-
projectsRoot,
971-
projectMetadata,
972965
priorMetadata,
973966
}: {
974967
config: DeployConfig;
975968
files: DeployFile[];
976969
projectId: string;
977-
projectsRoot: string;
978-
projectMetadata?: JsonObject | undefined;
979970
priorMetadata?: JsonObject | undefined;
980971
}) {
981972
if (!config?.token) {
@@ -1051,6 +1042,9 @@ export async function deployToRender({
10511042
}
10521043
// Wait a brief moment for repository initialization
10531044
await new Promise((resolve) => setTimeout(resolve, 3000));
1045+
} else if (!repoCheck.ok) {
1046+
const errText = await repoCheck.text();
1047+
throw new DeployError(`Failed to check GitHub repository: ${errText}`, 502);
10541048
}
10551049

10561050
// 4. Sync files to the GitHub repository using the GitHub API
@@ -1167,15 +1161,11 @@ export async function deployToRailway({
11671161
config,
11681162
files,
11691163
projectId,
1170-
projectsRoot,
1171-
projectMetadata,
11721164
priorMetadata,
11731165
}: {
11741166
config: DeployConfig;
11751167
files: DeployFile[];
11761168
projectId: string;
1177-
projectsRoot: string;
1178-
projectMetadata?: JsonObject | undefined;
11791169
priorMetadata?: JsonObject | undefined;
11801170
}) {
11811171
if (!config?.token) {
@@ -1269,7 +1259,8 @@ export async function deployToRailway({
12691259
const result = (await resp.json().catch(() => null)) as any;
12701260
if (!resp.ok || result?.errors) {
12711261
const msg = result?.errors?.[0]?.message || `Railway API request failed with status ${resp.status}`;
1272-
throw new DeployError(msg, resp.status || 502, result);
1262+
const status = resp.status >= 400 ? resp.status : 502;
1263+
throw new DeployError(msg, status, result);
12731264
}
12741265
return result.data;
12751266
}

apps/daemon/src/routes/deploy.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,26 +112,20 @@ export function registerDeployRoutes(app: Express, ctx: RegisterDeployRoutesDeps
112112
config: await readDeployConfig(NETLIFY_PROVIDER_ID),
113113
files,
114114
projectId: req.params.id,
115-
projectsRoot: PROJECTS_DIR,
116-
projectMetadata: deployProject?.metadata,
117115
priorMetadata: prior?.providerMetadata,
118116
})
119117
: providerId === RENDER_PROVIDER_ID
120118
? await deployToRender({
121119
config: await readDeployConfig(RENDER_PROVIDER_ID),
122120
files,
123121
projectId: req.params.id,
124-
projectsRoot: PROJECTS_DIR,
125-
projectMetadata: deployProject?.metadata,
126122
priorMetadata: prior?.providerMetadata,
127123
})
128124
: providerId === RAILWAY_PROVIDER_ID
129125
? await deployToRailway({
130126
config: await readDeployConfig(RAILWAY_PROVIDER_ID),
131127
files,
132128
projectId: req.params.id,
133-
projectsRoot: PROJECTS_DIR,
134-
projectMetadata: deployProject?.metadata,
135129
priorMetadata: prior?.providerMetadata,
136130
})
137131
: await deployToVercel({

apps/daemon/src/server.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9537,26 +9537,20 @@ export async function startServer({
95379537
config: await readDeployConfig(NETLIFY_PROVIDER_ID),
95389538
files,
95399539
projectId: req.params.id,
9540-
projectsRoot: PROJECTS_DIR,
9541-
projectMetadata: deployProject?.metadata,
95429540
priorMetadata: prior?.providerMetadata,
95439541
})
95449542
: providerId === RENDER_PROVIDER_ID
95459543
? await deployToRender({
95469544
config: await readDeployConfig(RENDER_PROVIDER_ID),
95479545
files,
95489546
projectId: req.params.id,
9549-
projectsRoot: PROJECTS_DIR,
9550-
projectMetadata: deployProject?.metadata,
95519547
priorMetadata: prior?.providerMetadata,
95529548
})
95539549
: providerId === RAILWAY_PROVIDER_ID
95549550
? await deployToRailway({
95559551
config: await readDeployConfig(RAILWAY_PROVIDER_ID),
95569552
files,
95579553
projectId: req.params.id,
9558-
projectsRoot: PROJECTS_DIR,
9559-
projectMetadata: deployProject?.metadata,
95609554
priorMetadata: prior?.providerMetadata,
95619555
})
95629556
: await deployToVercel({

0 commit comments

Comments
 (0)