Skip to content

Commit 0808f8d

Browse files
committed
move client entry to env
1 parent 1afe9eb commit 0808f8d

5 files changed

Lines changed: 11 additions & 12 deletions

File tree

packages/start/src/config/index.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,8 @@ function solidStartVitePlugin(options?: SolidStartOptions): Array<PluginOption>
208208
},
209209
define: {
210210
"import.meta.env.MANIFEST": `globalThis.MANIFEST`,
211-
"import.meta.env.START_SSR": JSON.stringify(start.ssr)
211+
"import.meta.env.START_SSR": JSON.stringify(start.ssr),
212+
"import.meta.env.START_CLIENT_ENTRY": `${normalizePath(handlers.client)}`
212213
}
213214
};
214215
}
@@ -262,7 +263,6 @@ function solidStartVitePlugin(options?: SolidStartOptions): Array<PluginOption>
262263
if (id === `\0${VIRTUAL_MODULES.serverManifest}`) {
263264
if (this.environment.config.command === "serve") {
264265
const manifest: StartServerManifest = {
265-
clientEntryId: normalizePath(handlers.client),
266266
clientViteManifest: {},
267267
};
268268

@@ -279,7 +279,6 @@ function solidStartVitePlugin(options?: SolidStartOptions): Array<PluginOption>
279279
);
280280

281281
const manifest: StartServerManifest = {
282-
clientEntryId: normalizePath(handlers.client),
283282
clientViteManifest: clientManifest as any,
284283
};
285284

packages/start/src/env.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ interface ImportMetaEnv extends Record<`VITE_${string}`, any>, SolidStartMetaEnv
2626

2727
interface SolidStartMetaEnv {
2828
START_SSR: boolean;
29+
START_CLIENT_ENTRY: string;
2930
// START_ISLANDS: boolean;
3031
// START_DEV_OVERLAY: boolean;
3132
// SERVER_BASE_URL: string;

packages/start/src/server/server-manifest.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ export const CLIENT_BASE_PATH = "_build";
77

88
export function getClientEntryPath() {
99
if (import.meta.env.DEV)
10-
return normalizePath(path.join("/@fs", path.resolve(process.cwd(), manifest.clientEntryId)));
10+
return normalizePath(path.join("/@fs", path.resolve(process.cwd(), import.meta.env.START_CLIENT_ENTRY)));
1111

12-
const viteManifestEntry = manifest.clientViteManifest[manifest.clientEntryId];
12+
const viteManifestEntry = manifest.clientViteManifest[import.meta.env.START_CLIENT_ENTRY];
1313
if (!viteManifestEntry) throw new Error("No entry found in vite manifest");
1414

1515
return `/${CLIENT_BASE_PATH}/${viteManifestEntry.file}`;
1616
}
1717

1818
export function getClientEntryCssTags() {
19-
return getManifestEntryCssTags(manifest.clientEntryId);
19+
return getManifestEntryCssTags(import.meta.env.START_CLIENT_ENTRY);
2020
}

packages/start/src/server/spa/handler.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import type { JSX } from "solid-js";
2-
import { getSsrManifest } from "solid-start:get-ssr-manifest";
32

43
import { createBaseHandler } from "../handler.js";
5-
import { getClientEntryCssTags } from "../server-manifest.js";
64
import type { FetchEvent, HandlerOptions, PageEvent } from "../types.js";
5+
import { getSsrManifest } from "../manifest/ssr-manifest.js";
76

87
/**
98
*
@@ -17,9 +16,10 @@ export function createHandler(
1716
}
1817

1918
async function createPageEvent(ctx: FetchEvent) {
19+
const manifest = getSsrManifest('client');
2020
const pageEvent: PageEvent = Object.assign(ctx, {
21-
manifest: getSsrManifest(false),
22-
assets: await getClientEntryCssTags(),
21+
manifest: 'json' in manifest ? await manifest.json() : {},
22+
assets: await manifest.getAssets(import.meta.env.START_CLIENT_ENTRY),
2323
routes: [],
2424
complete: false,
2525
$islands: new Set<string>(),

packages/start/src/virtual.d.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ type ClientManifest = Record<string, {
1414

1515
declare module "solid-start:server-manifest" {
1616
interface StartServerManifest {
17-
clientEntryId: string;
1817
clientViteManifest: Record<string, { css?: Array<string>, file: string, [key: string]: unknown }>;
1918
}
2019

@@ -28,7 +27,7 @@ interface StartManifest {
2827
}
2928

3029
declare module "solid-start:get-ssr-manifest" {
31-
export const getSsrManifest: (ssr: boolean) => StartManifest;
30+
export const getSsrManifest: (target: "client" | "server") => StartManifest;
3231
}
3332

3433
declare module "solid-start:get-client-manifest" {

0 commit comments

Comments
 (0)