From 73cd2237a04b773bba662da37701dedfb71e7484 Mon Sep 17 00:00:00 2001 From: huseeiin Date: Fri, 27 Feb 2026 12:40:20 +0300 Subject: [PATCH 1/6] fix: allow .jsx entry-server --- packages/start/src/config/dev-server.ts | 14 +++++++------- packages/start/src/config/index.ts | 14 +++++++------- packages/start/src/internal.d.ts | 1 + 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/packages/start/src/config/dev-server.ts b/packages/start/src/config/dev-server.ts index d88a8cb0d..d3d1b0c80 100644 --- a/packages/start/src/config/dev-server.ts +++ b/packages/start/src/config/dev-server.ts @@ -54,7 +54,7 @@ export function devServer(): Array { try { const serverEntry: { default: { fetch: (req: Request) => Promise }; - } = await serverEnv.runner.import("./src/entry-server.tsx"); + } = await serverEnv.runner.import(`./src/entry-server${START_ENTRY_EXTENSION}`); const webRes = await serverEntry.default.fetch(webReq); @@ -78,8 +78,8 @@ export function devServer(): Array { headers: { "Content-Type": "application/json", }, - }, - ), + } + ) ); } @@ -95,7 +95,7 @@ export function devServer(): Array { @@ -106,8 +106,8 @@ export function devServer(): Array { { status: 500, headers: { "Content-Type": "text/html" }, - }, - ), + } + ) ); } }); @@ -132,7 +132,7 @@ function removeHtmlMiddlewares(server: ViteDevServer) { if ( html_middlewares.includes( // @ts-expect-error - server.middlewares.stack[i].handle.name, + server.middlewares.stack[i].handle.name ) ) { server.middlewares.stack.splice(i, 1); diff --git a/packages/start/src/config/index.ts b/packages/start/src/config/index.ts index b8cf5bf58..3488f97a0 100644 --- a/packages/start/src/config/index.ts +++ b/packages/start/src/config/index.ts @@ -56,10 +56,10 @@ export function solidStart(options?: SolidStartOptions): Array { if (!appEntryPath) { throw new Error(`Could not find an app jsx/tsx entry in ${start.appRoot}.`); } - const entryExtension = extname(appEntryPath); + globalThis.START_ENTRY_EXTENSION = extname(appEntryPath); const handlers = { - client: `${start.appRoot}/entry-client${entryExtension}`, - server: `${start.appRoot}/entry-server${entryExtension}`, + client: `${start.appRoot}/entry-client${START_ENTRY_EXTENSION}`, + server: `${start.appRoot}/entry-server${START_ENTRY_EXTENSION}`, }; return [ { @@ -113,7 +113,7 @@ export function solidStart(options?: SolidStartOptions): Array { manifest: true, copyPublicDir: false, rollupOptions: { - input: "~/entry-server.tsx", + input: `~/entry-server.${START_ENTRY_EXTENSION}`, }, outDir: "dist/server", commonjsOptions: { @@ -188,7 +188,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.client, getRuntimeCode: () => `import { createServerReference } from "${normalizePath( - fileURLToPath(new URL("../server/server-runtime", import.meta.url)), + fileURLToPath(new URL("../server/server-runtime", import.meta.url)) )}"`, replacer: opts => `createServerReference('${opts.functionId}')`, }, @@ -197,7 +197,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.server, getRuntimeCode: () => `import { createServerReference } from '${normalizePath( - fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)), + fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)) )}'`, replacer: opts => `createServerReference(${opts.fn}, '${opts.functionId}')`, }, @@ -206,7 +206,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.server, getRuntimeCode: () => `import { createServerReference } from '${normalizePath( - fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)), + fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)) )}'`, replacer: opts => `createServerReference(${opts.fn}, '${opts.functionId}')`, }, diff --git a/packages/start/src/internal.d.ts b/packages/start/src/internal.d.ts index dd4ef0e40..c70a6789d 100644 --- a/packages/start/src/internal.d.ts +++ b/packages/start/src/internal.d.ts @@ -11,4 +11,5 @@ import type { Rollup } from "vite"; declare global { var START_CLIENT_BUNDLE: Rollup.OutputBundle; var USING_SOLID_START_DEV_SERVER: boolean | undefined; + var START_ENTRY_EXTENSION: string; } From f63eabb2a9c6ad0a2fca5f414aada74e57d2a230 Mon Sep 17 00:00:00 2001 From: huseeiin Date: Fri, 27 Feb 2026 12:41:40 +0300 Subject: [PATCH 2/6] format --- packages/start/src/config/dev-server.ts | 12 ++++++------ packages/start/src/config/index.ts | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/start/src/config/dev-server.ts b/packages/start/src/config/dev-server.ts index d3d1b0c80..0b511cc42 100644 --- a/packages/start/src/config/dev-server.ts +++ b/packages/start/src/config/dev-server.ts @@ -78,8 +78,8 @@ export function devServer(): Array { headers: { "Content-Type": "application/json", }, - } - ) + }, + ), ); } @@ -95,7 +95,7 @@ export function devServer(): Array { @@ -106,8 +106,8 @@ export function devServer(): Array { { status: 500, headers: { "Content-Type": "text/html" }, - } - ) + }, + ), ); } }); @@ -132,7 +132,7 @@ function removeHtmlMiddlewares(server: ViteDevServer) { if ( html_middlewares.includes( // @ts-expect-error - server.middlewares.stack[i].handle.name + server.middlewares.stack[i].handle.name, ) ) { server.middlewares.stack.splice(i, 1); diff --git a/packages/start/src/config/index.ts b/packages/start/src/config/index.ts index 3488f97a0..f1ae79967 100644 --- a/packages/start/src/config/index.ts +++ b/packages/start/src/config/index.ts @@ -188,7 +188,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.client, getRuntimeCode: () => `import { createServerReference } from "${normalizePath( - fileURLToPath(new URL("../server/server-runtime", import.meta.url)) + fileURLToPath(new URL("../server/server-runtime", import.meta.url)), )}"`, replacer: opts => `createServerReference('${opts.functionId}')`, }, @@ -197,7 +197,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.server, getRuntimeCode: () => `import { createServerReference } from '${normalizePath( - fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)) + fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)), )}'`, replacer: opts => `createServerReference(${opts.fn}, '${opts.functionId}')`, }, @@ -206,7 +206,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.server, getRuntimeCode: () => `import { createServerReference } from '${normalizePath( - fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)) + fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)), )}'`, replacer: opts => `createServerReference(${opts.fn}, '${opts.functionId}')`, }, From e8ced9060418c667811225795fee4a0cdc50ce1c Mon Sep 17 00:00:00 2001 From: huseeiin Date: Fri, 27 Feb 2026 12:43:07 +0300 Subject: [PATCH 3/6] fix --- packages/start/src/config/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/start/src/config/index.ts b/packages/start/src/config/index.ts index f1ae79967..8a619b67e 100644 --- a/packages/start/src/config/index.ts +++ b/packages/start/src/config/index.ts @@ -113,7 +113,7 @@ export function solidStart(options?: SolidStartOptions): Array { manifest: true, copyPublicDir: false, rollupOptions: { - input: `~/entry-server.${START_ENTRY_EXTENSION}`, + input: `~/entry-server${START_ENTRY_EXTENSION}`, }, outDir: "dist/server", commonjsOptions: { From 9e3908feea85065622a0cdc68a3b5431cb2371b9 Mon Sep 17 00:00:00 2001 From: huseeiin Date: Fri, 27 Feb 2026 12:49:43 +0300 Subject: [PATCH 4/6] make it better --- packages/start/src/config/dev-server.ts | 2 +- packages/start/src/config/index.ts | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/packages/start/src/config/dev-server.ts b/packages/start/src/config/dev-server.ts index 0b511cc42..44705f06b 100644 --- a/packages/start/src/config/dev-server.ts +++ b/packages/start/src/config/dev-server.ts @@ -54,7 +54,7 @@ export function devServer(): Array { try { const serverEntry: { default: { fetch: (req: Request) => Promise }; - } = await serverEnv.runner.import(`./src/entry-server${START_ENTRY_EXTENSION}`); + } = await serverEnv.runner.import(START_HANDLERS.server); const webRes = await serverEntry.default.fetch(webReq); diff --git a/packages/start/src/config/index.ts b/packages/start/src/config/index.ts index 8a619b67e..65cf5f154 100644 --- a/packages/start/src/config/index.ts +++ b/packages/start/src/config/index.ts @@ -56,10 +56,10 @@ export function solidStart(options?: SolidStartOptions): Array { if (!appEntryPath) { throw new Error(`Could not find an app jsx/tsx entry in ${start.appRoot}.`); } - globalThis.START_ENTRY_EXTENSION = extname(appEntryPath); - const handlers = { - client: `${start.appRoot}/entry-client${START_ENTRY_EXTENSION}`, - server: `${start.appRoot}/entry-server${START_ENTRY_EXTENSION}`, + const entryExtension = extname(appEntryPath); + globalThis.START_HANDLERS = { + client: `${start.appRoot}/entry-client${entryExtension}`, + server: `${start.appRoot}/entry-server${entryExtension}`, }; return [ { @@ -74,7 +74,7 @@ export function solidStart(options?: SolidStartOptions): Array { }; }, async config(_, env) { - const clientInput = [handlers.client]; + const clientInput = [START_HANDLERS.client]; if (env.command === "build") { const clientRouter: BaseFileSystemRouter = (globalThis as any).ROUTERS.client; for (const route of await clientRouter.getRoutes()) { @@ -113,7 +113,7 @@ export function solidStart(options?: SolidStartOptions): Array { manifest: true, copyPublicDir: false, rollupOptions: { - input: `~/entry-server${START_ENTRY_EXTENSION}`, + input: `~/entry-server.tsx`, }, outDir: "dist/server", commonjsOptions: { @@ -124,7 +124,7 @@ export function solidStart(options?: SolidStartOptions): Array { }, resolve: { alias: { - "@solidjs/start/server/entry": handlers.server, + "@solidjs/start/server/entry": START_HANDLERS.server, "~": join(process.cwd(), start.appRoot), ...(!start.ssr ? { @@ -140,7 +140,7 @@ export function solidStart(options?: SolidStartOptions): Array { // Use JSON.stringify so backslashes on Windows are escaped and // esbuild receives a valid JS string literal for the define value "import.meta.env.START_APP_ENTRY": JSON.stringify(appEntryPath), - "import.meta.env.START_CLIENT_ENTRY": JSON.stringify(handlers.client), + "import.meta.env.START_CLIENT_ENTRY": JSON.stringify(START_HANDLERS.client), "import.meta.env.START_DEV_OVERLAY": JSON.stringify(start.devOverlay), "import.meta.env.SEROVAL_MODE": JSON.stringify(start.serialization?.mode || "json"), }, @@ -217,8 +217,8 @@ export function solidStart(options?: SolidStartOptions): Array { const { filename, query } = parseIdQuery(id); let base; - if (filename === VIRTUAL_MODULES.clientEntry) base = handlers.client; - if (filename === VIRTUAL_MODULES.serverEntry) base = handlers.server; + if (filename === VIRTUAL_MODULES.clientEntry) base = START_HANDLERS.client; + if (filename === VIRTUAL_MODULES.serverEntry) base = START_HANDLERS.server; if (filename === VIRTUAL_MODULES.app) base = appEntryPath; if (base) { From 9ed1f8b053f09ac0c81cd8eadf1e2c3ae993b188 Mon Sep 17 00:00:00 2001 From: huseeiin Date: Fri, 27 Feb 2026 12:51:17 +0300 Subject: [PATCH 5/6] better --- packages/start/src/config/index.ts | 8 ++++---- packages/start/src/internal.d.ts | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/start/src/config/index.ts b/packages/start/src/config/index.ts index 65cf5f154..e63880c22 100644 --- a/packages/start/src/config/index.ts +++ b/packages/start/src/config/index.ts @@ -113,7 +113,7 @@ export function solidStart(options?: SolidStartOptions): Array { manifest: true, copyPublicDir: false, rollupOptions: { - input: `~/entry-server.tsx`, + input: `~/${START_HANDLERS.server}`, }, outDir: "dist/server", commonjsOptions: { @@ -188,7 +188,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.client, getRuntimeCode: () => `import { createServerReference } from "${normalizePath( - fileURLToPath(new URL("../server/server-runtime", import.meta.url)), + fileURLToPath(new URL("../server/server-runtime", import.meta.url)) )}"`, replacer: opts => `createServerReference('${opts.functionId}')`, }, @@ -197,7 +197,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.server, getRuntimeCode: () => `import { createServerReference } from '${normalizePath( - fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)), + fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)) )}'`, replacer: opts => `createServerReference(${opts.fn}, '${opts.functionId}')`, }, @@ -206,7 +206,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.server, getRuntimeCode: () => `import { createServerReference } from '${normalizePath( - fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)), + fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)) )}'`, replacer: opts => `createServerReference(${opts.fn}, '${opts.functionId}')`, }, diff --git a/packages/start/src/internal.d.ts b/packages/start/src/internal.d.ts index c70a6789d..1a955070e 100644 --- a/packages/start/src/internal.d.ts +++ b/packages/start/src/internal.d.ts @@ -11,5 +11,8 @@ import type { Rollup } from "vite"; declare global { var START_CLIENT_BUNDLE: Rollup.OutputBundle; var USING_SOLID_START_DEV_SERVER: boolean | undefined; - var START_ENTRY_EXTENSION: string; + var START_HANDLERS: { + client: string; + server: string; + }; } From 5484edca40d235155a518f6595ffbf1fb2b2f6b3 Mon Sep 17 00:00:00 2001 From: huseeiin Date: Fri, 27 Feb 2026 12:55:52 +0300 Subject: [PATCH 6/6] fix --- packages/start/src/config/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/start/src/config/index.ts b/packages/start/src/config/index.ts index e63880c22..26033d704 100644 --- a/packages/start/src/config/index.ts +++ b/packages/start/src/config/index.ts @@ -113,7 +113,7 @@ export function solidStart(options?: SolidStartOptions): Array { manifest: true, copyPublicDir: false, rollupOptions: { - input: `~/${START_HANDLERS.server}`, + input: `~/entry-server${entryExtension}`, }, outDir: "dist/server", commonjsOptions: { @@ -188,7 +188,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.client, getRuntimeCode: () => `import { createServerReference } from "${normalizePath( - fileURLToPath(new URL("../server/server-runtime", import.meta.url)) + fileURLToPath(new URL("../server/server-runtime", import.meta.url)), )}"`, replacer: opts => `createServerReference('${opts.functionId}')`, }, @@ -197,7 +197,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.server, getRuntimeCode: () => `import { createServerReference } from '${normalizePath( - fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)) + fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)), )}'`, replacer: opts => `createServerReference(${opts.fn}, '${opts.functionId}')`, }, @@ -206,7 +206,7 @@ export function solidStart(options?: SolidStartOptions): Array { envName: VITE_ENVIRONMENTS.server, getRuntimeCode: () => `import { createServerReference } from '${normalizePath( - fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)) + fileURLToPath(new URL("../server/server-fns-runtime", import.meta.url)), )}'`, replacer: opts => `createServerReference(${opts.fn}, '${opts.functionId}')`, },