authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-05-14 09:32:48+02:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-05-14 07:32:48+00:00
logea20e800216417c8d3b5dfc54a863bbd9e0b3e20
tree2436c329423f3f217fb0e44e8ce0719a9bd34335
parent9e632f5cec7315d65c2df4d3bc7be49bfe1385f3
signature Signed by PGP key B5690EEEBB952194

Exclude workspace packages from desktop runtime deps (#2688)


2 files changed, 30 insertions(+), 2 deletions(-)

scripts/build-desktop-artifact.test.ts+25
......@@ -5,6 +5,7 @@ import * as Effect from "effect/Effect";
55import * as Option from "effect/Option";
66
77import {
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+5-2
......@@ -484,7 +484,7 @@ function validateBundledClientAssets(clientDir: string) {
484484 });
485485}
486486
487function resolveDesktopRuntimeDependencies(
487export 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");