@tanstack/start-plugin-core 1.125.4 → 1.125.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dev-server-plugin/plugin.cjs +3 -1
- package/dist/cjs/dev-server-plugin/plugin.cjs.map +1 -1
- package/dist/cjs/dev-server-plugin/plugin.d.cts +1 -2
- package/dist/esm/dev-server-plugin/plugin.d.ts +1 -2
- package/dist/esm/dev-server-plugin/plugin.js +3 -1
- package/dist/esm/dev-server-plugin/plugin.js.map +1 -1
- package/package.json +4 -4
- package/src/dev-server-plugin/plugin.ts +6 -2
|
@@ -15,12 +15,14 @@ function devServerPlugin() {
|
|
|
15
15
|
if (isTest) {
|
|
16
16
|
return;
|
|
17
17
|
}
|
|
18
|
-
globalThis.TSS_VITE_DEV_SERVER = viteDevServer;
|
|
19
18
|
globalThis.TSS_INJECTED_HEAD_SCRIPTS = void 0;
|
|
20
19
|
return () => {
|
|
21
20
|
remove_html_middlewares(viteDevServer.middlewares);
|
|
22
21
|
viteDevServer.middlewares.use(async (req, res, next) => {
|
|
23
22
|
var _a;
|
|
23
|
+
if (req.originalUrl) {
|
|
24
|
+
req.url = req.originalUrl;
|
|
25
|
+
}
|
|
24
26
|
const event = h3.createEvent(req, res);
|
|
25
27
|
const serverEnv = viteDevServer.environments[constants.VITE_ENVIRONMENT_NAMES.server];
|
|
26
28
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.cjs","sources":["../../../src/dev-server-plugin/plugin.ts"],"sourcesContent":["import { createEvent, getHeader, sendWebResponse } from 'h3'\nimport { isRunnableDevEnvironment } from 'vite'\nimport { VITE_ENVIRONMENT_NAMES } from '../constants'\nimport { extractHtmlScripts } from './extract-html-scripts'\nimport type { Connect, DevEnvironment, Plugin, ViteDevServer } from 'vite'\n\n/* eslint-disable no-var */\ndeclare global {\n var TSS_INJECTED_HEAD_SCRIPTS: string | undefined\n
|
|
1
|
+
{"version":3,"file":"plugin.cjs","sources":["../../../src/dev-server-plugin/plugin.ts"],"sourcesContent":["import { createEvent, getHeader, sendWebResponse } from 'h3'\nimport { isRunnableDevEnvironment } from 'vite'\nimport { VITE_ENVIRONMENT_NAMES } from '../constants'\nimport { extractHtmlScripts } from './extract-html-scripts'\nimport type { Connect, DevEnvironment, Plugin, ViteDevServer } from 'vite'\n\n/* eslint-disable no-var */\ndeclare global {\n var TSS_INJECTED_HEAD_SCRIPTS: string | undefined\n}\n\nexport function devServerPlugin(): Plugin {\n // let config: UserConfig\n let isTest = false\n\n return {\n name: 'start-dev-ssr-plugin',\n config(userConfig, { mode }) {\n // config = userConfig\n isTest = isTest ? isTest : mode === 'test'\n },\n configureServer(viteDevServer) {\n if (isTest) {\n return\n }\n\n // upon server restart, reset the injected scripts\n globalThis.TSS_INJECTED_HEAD_SCRIPTS = undefined\n return () => {\n remove_html_middlewares(viteDevServer.middlewares)\n\n viteDevServer.middlewares.use(async (req, res, next) => {\n // Create an H3Event to have it passed into the server entry\n // i.e: event => defineEventHandler(event)\n\n // fix the request URL to match the original URL\n // otherwise, the request URL will '/index.html'\n if (req.originalUrl) {\n req.url = req.originalUrl\n }\n const event = createEvent(req, res)\n\n const serverEnv = viteDevServer.environments[\n VITE_ENVIRONMENT_NAMES.server\n ] as DevEnvironment | undefined\n\n try {\n if (!serverEnv) {\n throw new Error(\n `Server environment ${VITE_ENVIRONMENT_NAMES.server} not found`,\n )\n }\n\n // Extract the scripts that Vite plugins would inject into the initial HTML\n if (globalThis.TSS_INJECTED_HEAD_SCRIPTS === undefined) {\n const templateHtml = `<html><head></head><body></body></html>`\n const transformedHtml = await viteDevServer.transformIndexHtml(\n req.url || '/',\n templateHtml,\n )\n const scripts = extractHtmlScripts(transformedHtml)\n globalThis.TSS_INJECTED_HEAD_SCRIPTS = scripts\n .map((script) => script.content ?? '')\n .join(';')\n }\n\n if (!isRunnableDevEnvironment(serverEnv)) {\n return next()\n }\n\n // Import and resolve the request by running the server entry point\n // i.e export default defineEventHandler((event) => { ... })\n const serverEntry = await serverEnv.runner.import(\n '/~start/server-entry',\n )\n const response = await serverEntry['default'](event)\n\n return sendWebResponse(event, response)\n } catch (e) {\n console.error(e)\n viteDevServer.ssrFixStacktrace(e as Error)\n\n if (\n getHeader(event, 'content-type')?.includes('application/json')\n ) {\n return sendWebResponse(\n event,\n new Response(\n JSON.stringify(\n {\n status: 500,\n error: 'Internal Server Error',\n message:\n 'An unexpected error occurred. Please try again later.',\n timestamp: new Date().toISOString(),\n },\n null,\n 2,\n ),\n {\n status: 500,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n ),\n )\n }\n\n return sendWebResponse(\n event,\n new Response(\n `\n <!DOCTYPE html>\n <html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <title>Error</title>\n <script type=\"module\">\n import { ErrorOverlay } from '/@vite/client'\n document.body.appendChild(new ErrorOverlay(${JSON.stringify(\n prepareError(req, e),\n ).replace(/</g, '\\\\u003c')}))\n </script>\n </head>\n <body>\n </body>\n </html>\n `,\n {\n status: 500,\n headers: {\n 'Content-Type': 'text/html',\n },\n },\n ),\n )\n }\n })\n }\n },\n }\n}\n\n/**\n * Removes Vite internal middleware\n *\n * @param server\n */\nfunction remove_html_middlewares(server: ViteDevServer['middlewares']) {\n const html_middlewares = [\n 'viteIndexHtmlMiddleware',\n 'vite404Middleware',\n 'viteSpaFallbackMiddleware',\n ]\n for (let i = server.stack.length - 1; i > 0; i--) {\n if (\n html_middlewares.includes(\n // @ts-expect-error\n server.stack[i].handle.name,\n )\n ) {\n server.stack.splice(i, 1)\n }\n }\n}\n\n/**\n * Formats error for SSR message in error overlay\n * @param req\n * @param error\n * @returns\n */\nfunction prepareError(req: Connect.IncomingMessage, error: unknown) {\n const e = error as Error\n return {\n message: `An error occured while server rendering ${req.url}:\\n\\n\\t${\n typeof e === 'string' ? e : e.message\n } `,\n stack: typeof e === 'string' ? '' : e.stack,\n }\n}\n"],"names":["createEvent","VITE_ENVIRONMENT_NAMES","extractHtmlScripts","isRunnableDevEnvironment","sendWebResponse","getHeader"],"mappings":"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"}
|
|
@@ -13,12 +13,14 @@ function devServerPlugin() {
|
|
|
13
13
|
if (isTest) {
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
|
-
globalThis.TSS_VITE_DEV_SERVER = viteDevServer;
|
|
17
16
|
globalThis.TSS_INJECTED_HEAD_SCRIPTS = void 0;
|
|
18
17
|
return () => {
|
|
19
18
|
remove_html_middlewares(viteDevServer.middlewares);
|
|
20
19
|
viteDevServer.middlewares.use(async (req, res, next) => {
|
|
21
20
|
var _a;
|
|
21
|
+
if (req.originalUrl) {
|
|
22
|
+
req.url = req.originalUrl;
|
|
23
|
+
}
|
|
22
24
|
const event = createEvent(req, res);
|
|
23
25
|
const serverEnv = viteDevServer.environments[VITE_ENVIRONMENT_NAMES.server];
|
|
24
26
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../../src/dev-server-plugin/plugin.ts"],"sourcesContent":["import { createEvent, getHeader, sendWebResponse } from 'h3'\nimport { isRunnableDevEnvironment } from 'vite'\nimport { VITE_ENVIRONMENT_NAMES } from '../constants'\nimport { extractHtmlScripts } from './extract-html-scripts'\nimport type { Connect, DevEnvironment, Plugin, ViteDevServer } from 'vite'\n\n/* eslint-disable no-var */\ndeclare global {\n var TSS_INJECTED_HEAD_SCRIPTS: string | undefined\n
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../src/dev-server-plugin/plugin.ts"],"sourcesContent":["import { createEvent, getHeader, sendWebResponse } from 'h3'\nimport { isRunnableDevEnvironment } from 'vite'\nimport { VITE_ENVIRONMENT_NAMES } from '../constants'\nimport { extractHtmlScripts } from './extract-html-scripts'\nimport type { Connect, DevEnvironment, Plugin, ViteDevServer } from 'vite'\n\n/* eslint-disable no-var */\ndeclare global {\n var TSS_INJECTED_HEAD_SCRIPTS: string | undefined\n}\n\nexport function devServerPlugin(): Plugin {\n // let config: UserConfig\n let isTest = false\n\n return {\n name: 'start-dev-ssr-plugin',\n config(userConfig, { mode }) {\n // config = userConfig\n isTest = isTest ? isTest : mode === 'test'\n },\n configureServer(viteDevServer) {\n if (isTest) {\n return\n }\n\n // upon server restart, reset the injected scripts\n globalThis.TSS_INJECTED_HEAD_SCRIPTS = undefined\n return () => {\n remove_html_middlewares(viteDevServer.middlewares)\n\n viteDevServer.middlewares.use(async (req, res, next) => {\n // Create an H3Event to have it passed into the server entry\n // i.e: event => defineEventHandler(event)\n\n // fix the request URL to match the original URL\n // otherwise, the request URL will '/index.html'\n if (req.originalUrl) {\n req.url = req.originalUrl\n }\n const event = createEvent(req, res)\n\n const serverEnv = viteDevServer.environments[\n VITE_ENVIRONMENT_NAMES.server\n ] as DevEnvironment | undefined\n\n try {\n if (!serverEnv) {\n throw new Error(\n `Server environment ${VITE_ENVIRONMENT_NAMES.server} not found`,\n )\n }\n\n // Extract the scripts that Vite plugins would inject into the initial HTML\n if (globalThis.TSS_INJECTED_HEAD_SCRIPTS === undefined) {\n const templateHtml = `<html><head></head><body></body></html>`\n const transformedHtml = await viteDevServer.transformIndexHtml(\n req.url || '/',\n templateHtml,\n )\n const scripts = extractHtmlScripts(transformedHtml)\n globalThis.TSS_INJECTED_HEAD_SCRIPTS = scripts\n .map((script) => script.content ?? '')\n .join(';')\n }\n\n if (!isRunnableDevEnvironment(serverEnv)) {\n return next()\n }\n\n // Import and resolve the request by running the server entry point\n // i.e export default defineEventHandler((event) => { ... })\n const serverEntry = await serverEnv.runner.import(\n '/~start/server-entry',\n )\n const response = await serverEntry['default'](event)\n\n return sendWebResponse(event, response)\n } catch (e) {\n console.error(e)\n viteDevServer.ssrFixStacktrace(e as Error)\n\n if (\n getHeader(event, 'content-type')?.includes('application/json')\n ) {\n return sendWebResponse(\n event,\n new Response(\n JSON.stringify(\n {\n status: 500,\n error: 'Internal Server Error',\n message:\n 'An unexpected error occurred. Please try again later.',\n timestamp: new Date().toISOString(),\n },\n null,\n 2,\n ),\n {\n status: 500,\n headers: {\n 'Content-Type': 'application/json',\n },\n },\n ),\n )\n }\n\n return sendWebResponse(\n event,\n new Response(\n `\n <!DOCTYPE html>\n <html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\" />\n <title>Error</title>\n <script type=\"module\">\n import { ErrorOverlay } from '/@vite/client'\n document.body.appendChild(new ErrorOverlay(${JSON.stringify(\n prepareError(req, e),\n ).replace(/</g, '\\\\u003c')}))\n </script>\n </head>\n <body>\n </body>\n </html>\n `,\n {\n status: 500,\n headers: {\n 'Content-Type': 'text/html',\n },\n },\n ),\n )\n }\n })\n }\n },\n }\n}\n\n/**\n * Removes Vite internal middleware\n *\n * @param server\n */\nfunction remove_html_middlewares(server: ViteDevServer['middlewares']) {\n const html_middlewares = [\n 'viteIndexHtmlMiddleware',\n 'vite404Middleware',\n 'viteSpaFallbackMiddleware',\n ]\n for (let i = server.stack.length - 1; i > 0; i--) {\n if (\n html_middlewares.includes(\n // @ts-expect-error\n server.stack[i].handle.name,\n )\n ) {\n server.stack.splice(i, 1)\n }\n }\n}\n\n/**\n * Formats error for SSR message in error overlay\n * @param req\n * @param error\n * @returns\n */\nfunction prepareError(req: Connect.IncomingMessage, error: unknown) {\n const e = error as Error\n return {\n message: `An error occured while server rendering ${req.url}:\\n\\n\\t${\n typeof e === 'string' ? e : e.message\n } `,\n stack: typeof e === 'string' ? '' : e.stack,\n }\n}\n"],"names":[],"mappings":";;;;AAWO,SAAS,kBAA0B;AAExC,MAAI,SAAS;AAEN,SAAA;AAAA,IACL,MAAM;AAAA,IACN,OAAO,YAAY,EAAE,QAAQ;AAElB,eAAA,SAAS,SAAS,SAAS;AAAA,IACtC;AAAA,IACA,gBAAgB,eAAe;AAC7B,UAAI,QAAQ;AACV;AAAA,MAAA;AAIF,iBAAW,4BAA4B;AACvC,aAAO,MAAM;AACX,gCAAwB,cAAc,WAAW;AAEjD,sBAAc,YAAY,IAAI,OAAO,KAAK,KAAK,SAAS;;AAMtD,cAAI,IAAI,aAAa;AACnB,gBAAI,MAAM,IAAI;AAAA,UAAA;AAEV,gBAAA,QAAQ,YAAY,KAAK,GAAG;AAElC,gBAAM,YAAY,cAAc,aAC9B,uBAAuB,MACzB;AAEI,cAAA;AACF,gBAAI,CAAC,WAAW;AACd,oBAAM,IAAI;AAAA,gBACR,sBAAsB,uBAAuB,MAAM;AAAA,cACrD;AAAA,YAAA;AAIE,gBAAA,WAAW,8BAA8B,QAAW;AACtD,oBAAM,eAAe;AACf,oBAAA,kBAAkB,MAAM,cAAc;AAAA,gBAC1C,IAAI,OAAO;AAAA,gBACX;AAAA,cACF;AACM,oBAAA,UAAU,mBAAmB,eAAe;AACvC,yBAAA,4BAA4B,QACpC,IAAI,CAAC,WAAW,OAAO,WAAW,EAAE,EACpC,KAAK,GAAG;AAAA,YAAA;AAGT,gBAAA,CAAC,yBAAyB,SAAS,GAAG;AACxC,qBAAO,KAAK;AAAA,YAAA;AAKR,kBAAA,cAAc,MAAM,UAAU,OAAO;AAAA,cACzC;AAAA,YACF;AACA,kBAAM,WAAW,MAAM,YAAY,SAAS,EAAE,KAAK;AAE5C,mBAAA,gBAAgB,OAAO,QAAQ;AAAA,mBAC/B,GAAG;AACV,oBAAQ,MAAM,CAAC;AACf,0BAAc,iBAAiB,CAAU;AAEzC,iBACE,eAAU,OAAO,cAAc,MAA/B,mBAAkC,SAAS,qBAC3C;AACO,qBAAA;AAAA,gBACL;AAAA,gBACA,IAAI;AAAA,kBACF,KAAK;AAAA,oBACH;AAAA,sBACE,QAAQ;AAAA,sBACR,OAAO;AAAA,sBACP,SACE;AAAA,sBACF,YAAW,oBAAI,KAAK,GAAE,YAAY;AAAA,oBACpC;AAAA,oBACA;AAAA,oBACA;AAAA,kBACF;AAAA,kBACA;AAAA,oBACE,QAAQ;AAAA,oBACR,SAAS;AAAA,sBACP,gBAAgB;AAAA,oBAAA;AAAA,kBAClB;AAAA,gBACF;AAAA,cAEJ;AAAA,YAAA;AAGK,mBAAA;AAAA,cACL;AAAA,cACA,IAAI;AAAA,gBACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iEAQiD,KAAK;AAAA,kBAChD,aAAa,KAAK,CAAC;AAAA,gBAAA,EACnB,QAAQ,MAAM,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAO9B;AAAA,kBACE,QAAQ;AAAA,kBACR,SAAS;AAAA,oBACP,gBAAgB;AAAA,kBAAA;AAAA,gBAClB;AAAA,cACF;AAAA,YAEJ;AAAA,UAAA;AAAA,QACF,CACD;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ;AACF;AAOA,SAAS,wBAAwB,QAAsC;AACrE,QAAM,mBAAmB;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,WAAS,IAAI,OAAO,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK;AAChD,QACE,iBAAiB;AAAA;AAAA,MAEf,OAAO,MAAM,CAAC,EAAE,OAAO;AAAA,IAAA,GAEzB;AACO,aAAA,MAAM,OAAO,GAAG,CAAC;AAAA,IAAA;AAAA,EAC1B;AAEJ;AAQA,SAAS,aAAa,KAA8B,OAAgB;AAClE,QAAM,IAAI;AACH,SAAA;AAAA,IACL,SAAS,2CAA2C,IAAI,GAAG;AAAA;AAAA,GACzD,OAAO,MAAM,WAAW,IAAI,EAAE,OAChC;AAAA,IACA,OAAO,OAAO,MAAM,WAAW,KAAK,EAAE;AAAA,EACxC;AACF;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/start-plugin-core",
|
|
3
|
-
"version": "1.125.
|
|
3
|
+
"version": "1.125.6",
|
|
4
4
|
"description": "Modern and scalable routing for React applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
"xmlbuilder2": "^3.1.1",
|
|
65
65
|
"zod": "^3.24.2",
|
|
66
66
|
"@tanstack/router-core": "1.125.4",
|
|
67
|
+
"@tanstack/router-generator": "1.125.4",
|
|
68
|
+
"@tanstack/router-plugin": "1.125.6",
|
|
67
69
|
"@tanstack/router-utils": "1.121.21",
|
|
68
70
|
"@tanstack/server-functions-plugin": "1.124.1",
|
|
69
|
-
"@tanstack/start-server-core": "1.125.4"
|
|
70
|
-
"@tanstack/router-plugin": "1.125.4",
|
|
71
|
-
"@tanstack/router-generator": "1.125.4"
|
|
71
|
+
"@tanstack/start-server-core": "1.125.4"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"vite": "^6.0.0"
|
|
@@ -7,7 +7,6 @@ import type { Connect, DevEnvironment, Plugin, ViteDevServer } from 'vite'
|
|
|
7
7
|
/* eslint-disable no-var */
|
|
8
8
|
declare global {
|
|
9
9
|
var TSS_INJECTED_HEAD_SCRIPTS: string | undefined
|
|
10
|
-
var TSS_VITE_DEV_SERVER: ViteDevServer | undefined
|
|
11
10
|
}
|
|
12
11
|
|
|
13
12
|
export function devServerPlugin(): Plugin {
|
|
@@ -25,7 +24,6 @@ export function devServerPlugin(): Plugin {
|
|
|
25
24
|
return
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
globalThis.TSS_VITE_DEV_SERVER = viteDevServer
|
|
29
27
|
// upon server restart, reset the injected scripts
|
|
30
28
|
globalThis.TSS_INJECTED_HEAD_SCRIPTS = undefined
|
|
31
29
|
return () => {
|
|
@@ -34,6 +32,12 @@ export function devServerPlugin(): Plugin {
|
|
|
34
32
|
viteDevServer.middlewares.use(async (req, res, next) => {
|
|
35
33
|
// Create an H3Event to have it passed into the server entry
|
|
36
34
|
// i.e: event => defineEventHandler(event)
|
|
35
|
+
|
|
36
|
+
// fix the request URL to match the original URL
|
|
37
|
+
// otherwise, the request URL will '/index.html'
|
|
38
|
+
if (req.originalUrl) {
|
|
39
|
+
req.url = req.originalUrl
|
|
40
|
+
}
|
|
37
41
|
const event = createEvent(req, res)
|
|
38
42
|
|
|
39
43
|
const serverEnv = viteDevServer.environments[
|