Skip to content

Commit ea20e80

Browse files
Exclude workspace packages from desktop runtime deps (#2688)
1 parent 9e632f5 commit ea20e80

2 files changed

Lines changed: 30 additions & 2 deletions

File tree

scripts/build-desktop-artifact.test.ts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import * as Effect from "effect/Effect";
55
import * as Option from "effect/Option";
66

77
import {
8+
resolveDesktopRuntimeDependencies,
89
resolveBuildOptions,
910
resolveDesktopBuildIconAssets,
1011
resolveDesktopProductName,
@@ -39,6 +40,30 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => {
3940
});
4041
});
4142

43+
it("omits bundled workspace packages from staged desktop dependencies", () => {
44+
assert.deepStrictEqual(
45+
resolveDesktopRuntimeDependencies(
46+
{
47+
"@effect/platform-node": "catalog:",
48+
"@t3tools/contracts": "workspace:*",
49+
"@t3tools/shared": "workspace:*",
50+
"@t3tools/ssh": "workspace:*",
51+
"@t3tools/tailscale": "workspace:*",
52+
effect: "catalog:",
53+
electron: "41.5.0",
54+
},
55+
{
56+
"@effect/platform-node": "4.0.0-beta.59",
57+
effect: "4.0.0-beta.59",
58+
},
59+
),
60+
{
61+
"@effect/platform-node": "4.0.0-beta.59",
62+
effect: "4.0.0-beta.59",
63+
},
64+
);
65+
});
66+
4267
it("falls back to the default mock update port when the configured port is blank", () => {
4368
assert.equal(resolveMockUpdateServerUrl(undefined), "http://localhost:3000");
4469
assert.equal(resolveMockUpdateServerUrl(4123), "http://localhost:4123");

scripts/build-desktop-artifact.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@ function validateBundledClientAssets(clientDir: string) {
484484
});
485485
}
486486

487-
function resolveDesktopRuntimeDependencies(
487+
export function resolveDesktopRuntimeDependencies(
488488
dependencies: Record<string, string> | undefined,
489489
catalog: Record<string, string>,
490490
): Record<string, string> {
@@ -493,7 +493,10 @@ function resolveDesktopRuntimeDependencies(
493493
}
494494

495495
const runtimeDependencies = Object.fromEntries(
496-
Object.entries(dependencies).filter(([dependencyName]) => dependencyName !== "electron"),
496+
Object.entries(dependencies).filter(
497+
([dependencyName, dependencySpec]) =>
498+
dependencyName !== "electron" && !dependencySpec.startsWith("workspace:"),
499+
),
497500
);
498501

499502
return resolveCatalogDependencies(runtimeDependencies, catalog, "apps/desktop");

0 commit comments

Comments
 (0)