@tanstack/start-plugin-core 1.131.6 → 1.132.0-alpha.0
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/esm/{nitro-plugin/build-sitemap.d.ts → build-sitemap.d.ts} +3 -3
- package/dist/esm/{nitro-plugin/build-sitemap.js → build-sitemap.js} +19 -24
- package/dist/esm/build-sitemap.js.map +1 -0
- package/dist/esm/compilers.js +7 -10
- package/dist/esm/compilers.js.map +1 -1
- package/dist/esm/constants.d.ts +6 -2
- package/dist/esm/constants.js +7 -10
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/debug.js.map +1 -1
- package/dist/esm/dev-server-plugin/extract-html-scripts.js.map +1 -1
- package/dist/esm/dev-server-plugin/plugin.d.ts +5 -5
- package/dist/esm/dev-server-plugin/plugin.js +117 -79
- package/dist/esm/dev-server-plugin/plugin.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +0 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/load-env-plugin/plugin.d.ts +2 -3
- package/dist/esm/load-env-plugin/plugin.js +5 -8
- package/dist/esm/load-env-plugin/plugin.js.map +1 -1
- package/dist/esm/output-directory.d.ts +3 -0
- package/dist/esm/output-directory.js +14 -0
- package/dist/esm/output-directory.js.map +1 -0
- package/dist/esm/plugin.d.ts +6 -290
- package/dist/esm/plugin.js +123 -76
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/post-server-build.d.ts +7 -0
- package/dist/esm/post-server-build.js +55 -0
- package/dist/esm/post-server-build.js.map +1 -0
- package/dist/esm/prerender.d.ts +11 -0
- package/dist/esm/{nitro-plugin/prerender.js → prerender.js} +85 -73
- package/dist/esm/prerender.js.map +1 -0
- package/dist/esm/{nitro-plugin/queue.js → queue.js} +7 -10
- package/dist/esm/queue.js.map +1 -0
- package/dist/esm/resolve-entries.d.ts +8 -0
- package/dist/esm/resolve-entries.js +37 -0
- package/dist/esm/resolve-entries.js.map +1 -0
- package/dist/esm/schema.d.ts +1369 -6719
- package/dist/esm/schema.js +52 -85
- package/dist/esm/schema.js.map +1 -1
- package/dist/esm/start-compiler-plugin.js +2 -2
- package/dist/esm/start-compiler-plugin.js.map +1 -1
- package/dist/esm/start-manifest-plugin/plugin.d.ts +1 -1
- package/dist/esm/start-manifest-plugin/plugin.js +8 -13
- package/dist/esm/start-manifest-plugin/plugin.js.map +1 -1
- package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.js +2 -3
- package/dist/esm/start-router-plugin/generator-plugins/routes-manifest-plugin.js.map +1 -1
- package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.js +2 -4
- package/dist/esm/start-router-plugin/generator-plugins/server-routes-plugin.js.map +1 -1
- package/dist/esm/start-router-plugin/plugin.js.map +1 -1
- package/dist/esm/start-router-plugin/route-tree-client-plugin.js.map +1 -1
- package/dist/esm/start-router-plugin/virtual-route-tree-plugin.js.map +1 -1
- package/dist/esm/utils.js.map +1 -1
- package/package.json +13 -18
- package/src/{nitro-plugin/build-sitemap.ts → build-sitemap.ts} +8 -8
- package/src/constants.ts +12 -9
- package/src/dev-server-plugin/plugin.ts +140 -99
- package/src/global.d.ts +0 -2
- package/src/index.ts +1 -5
- package/src/load-env-plugin/plugin.ts +6 -11
- package/src/output-directory.ts +18 -0
- package/src/plugin.ts +160 -98
- package/src/post-server-build.ts +73 -0
- package/src/{nitro-plugin/prerender.ts → prerender.ts} +93 -86
- package/src/resolve-entries.ts +52 -0
- package/src/schema.ts +88 -121
- package/src/start-manifest-plugin/plugin.ts +8 -14
- package/dist/cjs/compilers.cjs +0 -416
- package/dist/cjs/compilers.cjs.map +0 -1
- package/dist/cjs/compilers.d.cts +0 -21
- package/dist/cjs/constants.cjs +0 -20
- package/dist/cjs/constants.cjs.map +0 -1
- package/dist/cjs/constants.d.cts +0 -6
- package/dist/cjs/debug.cjs +0 -5
- package/dist/cjs/debug.cjs.map +0 -1
- package/dist/cjs/debug.d.cts +0 -1
- package/dist/cjs/dev-server-plugin/extract-html-scripts.cjs +0 -35
- package/dist/cjs/dev-server-plugin/extract-html-scripts.cjs.map +0 -1
- package/dist/cjs/dev-server-plugin/extract-html-scripts.d.cts +0 -4
- package/dist/cjs/dev-server-plugin/plugin.cjs +0 -121
- package/dist/cjs/dev-server-plugin/plugin.cjs.map +0 -1
- package/dist/cjs/dev-server-plugin/plugin.d.cts +0 -5
- package/dist/cjs/index.cjs +0 -11
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/index.d.cts +0 -3
- package/dist/cjs/load-env-plugin/plugin.cjs +0 -34
- package/dist/cjs/load-env-plugin/plugin.cjs.map +0 -1
- package/dist/cjs/load-env-plugin/plugin.d.cts +0 -3
- package/dist/cjs/nitro-plugin/build-sitemap.cjs +0 -138
- package/dist/cjs/nitro-plugin/build-sitemap.cjs.map +0 -1
- package/dist/cjs/nitro-plugin/build-sitemap.d.cts +0 -31
- package/dist/cjs/nitro-plugin/plugin.cjs +0 -187
- package/dist/cjs/nitro-plugin/plugin.cjs.map +0 -1
- package/dist/cjs/nitro-plugin/plugin.d.cts +0 -3
- package/dist/cjs/nitro-plugin/prerender.cjs +0 -178
- package/dist/cjs/nitro-plugin/prerender.cjs.map +0 -1
- package/dist/cjs/nitro-plugin/prerender.d.cts +0 -8
- package/dist/cjs/nitro-plugin/queue.cjs +0 -131
- package/dist/cjs/nitro-plugin/queue.cjs.map +0 -1
- package/dist/cjs/nitro-plugin/queue.d.cts +0 -32
- package/dist/cjs/plugin.cjs +0 -227
- package/dist/cjs/plugin.cjs.map +0 -1
- package/dist/cjs/plugin.d.cts +0 -300
- package/dist/cjs/resolve-virtual-entries-plugin/plugin.cjs +0 -80
- package/dist/cjs/resolve-virtual-entries-plugin/plugin.cjs.map +0 -1
- package/dist/cjs/resolve-virtual-entries-plugin/plugin.d.cts +0 -3
- package/dist/cjs/schema.cjs +0 -158
- package/dist/cjs/schema.cjs.map +0 -1
- package/dist/cjs/schema.d.cts +0 -8878
- package/dist/cjs/start-compiler-plugin.cjs +0 -78
- package/dist/cjs/start-compiler-plugin.cjs.map +0 -1
- package/dist/cjs/start-compiler-plugin.d.cts +0 -13
- package/dist/cjs/start-manifest-plugin/plugin.cjs +0 -182
- package/dist/cjs/start-manifest-plugin/plugin.cjs.map +0 -1
- package/dist/cjs/start-manifest-plugin/plugin.d.cts +0 -6
- package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.cjs +0 -39
- package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.cjs.map +0 -1
- package/dist/cjs/start-router-plugin/generator-plugins/routes-manifest-plugin.d.cts +0 -6
- package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.cjs +0 -121
- package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.cjs.map +0 -1
- package/dist/cjs/start-router-plugin/generator-plugins/server-routes-plugin.d.cts +0 -2
- package/dist/cjs/start-router-plugin/plugin.cjs +0 -45
- package/dist/cjs/start-router-plugin/plugin.cjs.map +0 -1
- package/dist/cjs/start-router-plugin/plugin.d.cts +0 -3
- package/dist/cjs/start-router-plugin/route-tree-client-plugin.cjs +0 -73
- package/dist/cjs/start-router-plugin/route-tree-client-plugin.cjs.map +0 -1
- package/dist/cjs/start-router-plugin/route-tree-client-plugin.d.cts +0 -6
- package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.cjs +0 -29
- package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.cjs.map +0 -1
- package/dist/cjs/start-router-plugin/virtual-route-tree-plugin.d.cts +0 -3
- package/dist/cjs/utils.cjs +0 -18
- package/dist/cjs/utils.cjs.map +0 -1
- package/dist/cjs/utils.d.cts +0 -8
- package/dist/esm/nitro-plugin/build-sitemap.js.map +0 -1
- package/dist/esm/nitro-plugin/plugin.d.ts +0 -3
- package/dist/esm/nitro-plugin/plugin.js +0 -187
- package/dist/esm/nitro-plugin/plugin.js.map +0 -1
- package/dist/esm/nitro-plugin/prerender.d.ts +0 -8
- package/dist/esm/nitro-plugin/prerender.js.map +0 -1
- package/dist/esm/nitro-plugin/queue.js.map +0 -1
- package/dist/esm/resolve-virtual-entries-plugin/plugin.d.ts +0 -3
- package/dist/esm/resolve-virtual-entries-plugin/plugin.js +0 -63
- package/dist/esm/resolve-virtual-entries-plugin/plugin.js.map +0 -1
- package/src/nitro-plugin/plugin.ts +0 -252
- package/src/resolve-virtual-entries-plugin/plugin.ts +0 -77
- /package/dist/esm/{nitro-plugin/queue.d.ts → queue.d.ts} +0 -0
- /package/src/{nitro-plugin/queue.ts → queue.ts} +0 -0
|
@@ -1,81 +1,97 @@
|
|
|
1
|
-
import { createEvent, sendWebResponse, getHeader } from "h3";
|
|
2
1
|
import { isRunnableDevEnvironment } from "vite";
|
|
3
|
-
import {
|
|
2
|
+
import { VIRTUAL_MODULES } from "@tanstack/start-server-core";
|
|
3
|
+
import { NodeRequest, sendNodeResponse } from "srvx/node";
|
|
4
|
+
import { VITE_ENVIRONMENT_NAMES, ENTRY_POINTS } from "../constants.js";
|
|
5
|
+
import { resolveViteId } from "../utils.js";
|
|
4
6
|
import { extractHtmlScripts } from "./extract-html-scripts.js";
|
|
5
|
-
function devServerPlugin(
|
|
7
|
+
function devServerPlugin({
|
|
8
|
+
startConfig
|
|
9
|
+
}) {
|
|
6
10
|
let isTest = false;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
const templateHtml = `<html><head></head><body></body></html>`;
|
|
18
|
-
const transformedHtml = await viteDevServer.transformIndexHtml(
|
|
19
|
-
"/",
|
|
20
|
-
templateHtml
|
|
21
|
-
);
|
|
22
|
-
const scripts = extractHtmlScripts(transformedHtml);
|
|
23
|
-
globalThis.TSS_INJECTED_HEAD_SCRIPTS = scripts.map((script) => script.content ?? "").join(";");
|
|
24
|
-
return () => {
|
|
25
|
-
if (viteDevServer.config.server.middlewareMode) {
|
|
11
|
+
let injectedHeadScripts;
|
|
12
|
+
return [
|
|
13
|
+
{
|
|
14
|
+
name: "tanstack-start-core:dev-server",
|
|
15
|
+
config(_userConfig, { mode }) {
|
|
16
|
+
isTest = isTest ? isTest : mode === "test";
|
|
17
|
+
},
|
|
18
|
+
async configureServer(viteDevServer) {
|
|
19
|
+
if (isTest) {
|
|
26
20
|
return;
|
|
27
21
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
22
|
+
const templateHtml = `<html><head></head><body></body></html>`;
|
|
23
|
+
const transformedHtml = await viteDevServer.transformIndexHtml(
|
|
24
|
+
"/",
|
|
25
|
+
templateHtml
|
|
26
|
+
);
|
|
27
|
+
const scripts = extractHtmlScripts(transformedHtml);
|
|
28
|
+
injectedHeadScripts = scripts.flatMap((script) => script.content ?? []).join(";");
|
|
29
|
+
return () => {
|
|
34
30
|
const serverEnv = viteDevServer.environments[VITE_ENVIRONMENT_NAMES.server];
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
if (!serverEnv) {
|
|
32
|
+
throw new Error(
|
|
33
|
+
`Server environment ${VITE_ENVIRONMENT_NAMES.server} not found`
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
const installMiddleware = startConfig.vite?.installDevServerMiddleware;
|
|
37
|
+
if (installMiddleware === false) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (installMiddleware == void 0) {
|
|
41
|
+
if (viteDevServer.config.server.middlewareMode) {
|
|
42
|
+
return;
|
|
40
43
|
}
|
|
41
|
-
if (!isRunnableDevEnvironment(serverEnv))
|
|
42
|
-
|
|
44
|
+
if (!isRunnableDevEnvironment(serverEnv) || // do not check via `isFetchableDevEnvironment` since nitro does implement the `FetchableDevEnvironment` interface but not via inheritance (which this helper checks)
|
|
45
|
+
"dispatchFetch" in serverEnv) {
|
|
46
|
+
return;
|
|
43
47
|
}
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
}
|
|
49
|
+
if (!isRunnableDevEnvironment(serverEnv)) {
|
|
50
|
+
throw new Error(
|
|
51
|
+
"cannot install vite dev server middleware for TanStack Start since the SSR environment is not a RunnableDevEnvironment"
|
|
46
52
|
);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
}
|
|
54
|
+
viteDevServer.middlewares.use(async (req, res) => {
|
|
55
|
+
if (req.originalUrl) {
|
|
56
|
+
req.url = req.originalUrl;
|
|
57
|
+
}
|
|
58
|
+
const webReq = new NodeRequest({ req, res });
|
|
59
|
+
try {
|
|
60
|
+
const serverEntry = await serverEnv.runner.import(
|
|
61
|
+
ENTRY_POINTS.server
|
|
62
|
+
);
|
|
63
|
+
const webRes = await serverEntry["default"].fetch(webReq);
|
|
64
|
+
return sendNodeResponse(res, webRes);
|
|
65
|
+
} catch (e) {
|
|
66
|
+
console.error(e);
|
|
67
|
+
viteDevServer.ssrFixStacktrace(e);
|
|
68
|
+
if (webReq.headers.get("content-type")?.includes("application/json")) {
|
|
69
|
+
return sendNodeResponse(
|
|
70
|
+
res,
|
|
71
|
+
new Response(
|
|
72
|
+
JSON.stringify(
|
|
73
|
+
{
|
|
74
|
+
status: 500,
|
|
75
|
+
error: "Internal Server Error",
|
|
76
|
+
message: "An unexpected error occurred. Please try again later.",
|
|
77
|
+
timestamp: (/* @__PURE__ */ new Date()).toISOString()
|
|
78
|
+
},
|
|
79
|
+
null,
|
|
80
|
+
2
|
|
81
|
+
),
|
|
57
82
|
{
|
|
58
83
|
status: 500,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
},
|
|
63
|
-
null,
|
|
64
|
-
2
|
|
65
|
-
),
|
|
66
|
-
{
|
|
67
|
-
status: 500,
|
|
68
|
-
headers: {
|
|
69
|
-
"Content-Type": "application/json"
|
|
84
|
+
headers: {
|
|
85
|
+
"Content-Type": "application/json"
|
|
86
|
+
}
|
|
70
87
|
}
|
|
71
|
-
|
|
72
|
-
)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
`
|
|
88
|
+
)
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
return sendNodeResponse(
|
|
92
|
+
res,
|
|
93
|
+
new Response(
|
|
94
|
+
`
|
|
79
95
|
<!DOCTYPE html>
|
|
80
96
|
<html lang="en">
|
|
81
97
|
<head>
|
|
@@ -84,27 +100,49 @@ function devServerPlugin() {
|
|
|
84
100
|
<script type="module">
|
|
85
101
|
import { ErrorOverlay } from '/@vite/client'
|
|
86
102
|
document.body.appendChild(new ErrorOverlay(${JSON.stringify(
|
|
87
|
-
|
|
88
|
-
|
|
103
|
+
prepareError(req, e)
|
|
104
|
+
).replace(/</g, "\\u003c")}))
|
|
89
105
|
<\/script>
|
|
90
106
|
</head>
|
|
91
107
|
<body>
|
|
92
108
|
</body>
|
|
93
109
|
</html>
|
|
94
110
|
`,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
111
|
+
{
|
|
112
|
+
status: 500,
|
|
113
|
+
headers: {
|
|
114
|
+
"Content-Type": "text/html"
|
|
115
|
+
}
|
|
99
116
|
}
|
|
100
|
-
|
|
101
|
-
)
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
117
|
+
)
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
name: "tanstack-start-core:dev-server:injected-head-scripts",
|
|
126
|
+
sharedDuringBuild: true,
|
|
127
|
+
applyToEnvironment: (env) => env.config.consumer === "server",
|
|
128
|
+
resolveId: {
|
|
129
|
+
filter: { id: new RegExp(VIRTUAL_MODULES.injectedHeadScripts) },
|
|
130
|
+
handler(_id) {
|
|
131
|
+
return resolveViteId(VIRTUAL_MODULES.injectedHeadScripts);
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
load: {
|
|
135
|
+
filter: {
|
|
136
|
+
id: new RegExp(resolveViteId(VIRTUAL_MODULES.injectedHeadScripts))
|
|
137
|
+
},
|
|
138
|
+
handler() {
|
|
139
|
+
const mod = `
|
|
140
|
+
export const injectedHeadScripts = ${JSON.stringify(injectedHeadScripts) || "undefined"}`;
|
|
141
|
+
return mod;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
106
144
|
}
|
|
107
|
-
|
|
145
|
+
];
|
|
108
146
|
}
|
|
109
147
|
function prepareError(req, error) {
|
|
110
148
|
const e = error;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../../src/dev-server-plugin/plugin.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../src/dev-server-plugin/plugin.ts"],"sourcesContent":["import { isRunnableDevEnvironment } from 'vite'\nimport { VIRTUAL_MODULES } from '@tanstack/start-server-core'\nimport { NodeRequest, sendNodeResponse } from 'srvx/node'\nimport { ENTRY_POINTS, VITE_ENVIRONMENT_NAMES } from '../constants'\nimport { resolveViteId } from '../utils'\nimport { extractHtmlScripts } from './extract-html-scripts'\nimport type { Connect, DevEnvironment, PluginOption } from 'vite'\nimport type { TanStackStartOutputConfig } from '../schema'\n\nexport function devServerPlugin({\n startConfig,\n}: {\n startConfig: TanStackStartOutputConfig\n}): PluginOption {\n let isTest = false\n\n let injectedHeadScripts: string | undefined\n\n return [\n {\n name: 'tanstack-start-core:dev-server',\n config(_userConfig, { mode }) {\n isTest = isTest ? isTest : mode === 'test'\n },\n async configureServer(viteDevServer) {\n if (isTest) {\n return\n }\n\n // Extract the scripts that Vite plugins would inject into the initial HTML\n const templateHtml = `<html><head></head><body></body></html>`\n const transformedHtml = await viteDevServer.transformIndexHtml(\n '/',\n templateHtml,\n )\n const scripts = extractHtmlScripts(transformedHtml)\n injectedHeadScripts = scripts\n .flatMap((script) => script.content ?? [])\n .join(';')\n\n return () => {\n const serverEnv = viteDevServer.environments[\n VITE_ENVIRONMENT_NAMES.server\n ] as DevEnvironment | undefined\n\n if (!serverEnv) {\n throw new Error(\n `Server environment ${VITE_ENVIRONMENT_NAMES.server} not found`,\n )\n }\n const installMiddleware = startConfig.vite?.installDevServerMiddleware\n if (installMiddleware === false) {\n return\n }\n if (installMiddleware == undefined) {\n // do not install middleware in middlewareMode by default\n if (viteDevServer.config.server.middlewareMode) {\n return\n }\n\n // do not install middleware if SSR env in case another plugin already did\n if (\n !isRunnableDevEnvironment(serverEnv) ||\n // do not check via `isFetchableDevEnvironment` since nitro does implement the `FetchableDevEnvironment` interface but not via inheritance (which this helper checks)\n 'dispatchFetch' in serverEnv\n ) {\n return\n }\n }\n\n if (!isRunnableDevEnvironment(serverEnv)) {\n throw new Error(\n 'cannot install vite dev server middleware for TanStack Start since the SSR environment is not a RunnableDevEnvironment',\n )\n }\n\n viteDevServer.middlewares.use(async (req, res) => {\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 webReq = new NodeRequest({ req, res })\n\n try {\n // Import and resolve the request by running the server request entry point\n // this request entry point must implement the `fetch` API as follows:\n /**\n * export default {\n * fetch(req: Request): Promise<Response>\n * }\n */\n const serverEntry = await serverEnv.runner.import(\n ENTRY_POINTS.server,\n )\n const webRes = await serverEntry['default'].fetch(webReq)\n\n return sendNodeResponse(res, webRes)\n } catch (e) {\n console.error(e)\n viteDevServer.ssrFixStacktrace(e as Error)\n\n if (\n webReq.headers.get('content-type')?.includes('application/json')\n ) {\n return sendNodeResponse(\n res,\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 sendNodeResponse(\n res,\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 name: 'tanstack-start-core:dev-server:injected-head-scripts',\n sharedDuringBuild: true,\n applyToEnvironment: (env) => env.config.consumer === 'server',\n resolveId: {\n filter: { id: new RegExp(VIRTUAL_MODULES.injectedHeadScripts) },\n handler(_id) {\n return resolveViteId(VIRTUAL_MODULES.injectedHeadScripts)\n },\n },\n load: {\n filter: {\n id: new RegExp(resolveViteId(VIRTUAL_MODULES.injectedHeadScripts)),\n },\n handler() {\n const mod = `\n export const injectedHeadScripts = ${JSON.stringify(injectedHeadScripts) || 'undefined'}`\n return mod\n },\n },\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":"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"}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { createTanStackConfig, createTanStackStartOptionsSchema, pageSchema } from "./schema.js";
|
|
2
1
|
import { TanStackStartVitePluginCore } from "./plugin.js";
|
|
3
2
|
import { resolveViteId } from "./utils.js";
|
|
4
3
|
export {
|
|
5
4
|
TanStackStartVitePluginCore,
|
|
6
|
-
createTanStackConfig,
|
|
7
|
-
createTanStackStartOptionsSchema,
|
|
8
|
-
pageSchema,
|
|
9
5
|
resolveViteId
|
|
10
6
|
};
|
|
11
7
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export declare function loadEnvPlugin(startOpts: TanStackStartOutputConfig): vite.Plugin;
|
|
1
|
+
import { Plugin } from 'vite';
|
|
2
|
+
export declare function loadEnvPlugin(): Plugin;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
function loadEnvPlugin(
|
|
1
|
+
import { loadEnv } from "vite";
|
|
2
|
+
function loadEnvPlugin() {
|
|
3
3
|
return {
|
|
4
|
-
name: "tanstack-
|
|
4
|
+
name: "tanstack-start-core:load-env",
|
|
5
5
|
enforce: "pre",
|
|
6
|
-
config
|
|
7
|
-
Object.assign(
|
|
8
|
-
process.env,
|
|
9
|
-
vite.loadEnv(envConfig.mode, userConfig.root ?? startOpts.root, "")
|
|
10
|
-
);
|
|
6
|
+
configResolved(config) {
|
|
7
|
+
Object.assign(process.env, loadEnv(config.mode, config.root));
|
|
11
8
|
}
|
|
12
9
|
};
|
|
13
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../../src/load-env-plugin/plugin.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../src/load-env-plugin/plugin.ts"],"sourcesContent":["import { loadEnv } from 'vite'\nimport type { Plugin } from 'vite'\n\nexport function loadEnvPlugin(): Plugin {\n return {\n name: 'tanstack-start-core:load-env',\n enforce: 'pre',\n configResolved(config) {\n Object.assign(process.env, loadEnv(config.mode, config.root))\n },\n }\n}\n"],"names":[],"mappings":";AAGO,SAAS,gBAAwB;AACtC,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS;AAAA,IACT,eAAe,QAAQ;AACrB,aAAO,OAAO,QAAQ,KAAK,QAAQ,OAAO,MAAM,OAAO,IAAI,CAAC;AAAA,IAC9D;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { join } from "pathe";
|
|
2
|
+
import { VITE_ENVIRONMENT_NAMES } from "./constants.js";
|
|
3
|
+
function getClientOutputDirectory(userConfig) {
|
|
4
|
+
return userConfig.environments?.[VITE_ENVIRONMENT_NAMES.client]?.build?.outDir ?? join(getServerOutputDirectory(userConfig), "public");
|
|
5
|
+
}
|
|
6
|
+
function getServerOutputDirectory(userConfig) {
|
|
7
|
+
const rootOutputDirectory = userConfig.build?.outDir ?? "dist";
|
|
8
|
+
return userConfig.environments?.[VITE_ENVIRONMENT_NAMES.server]?.build?.outDir ?? rootOutputDirectory;
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
getClientOutputDirectory,
|
|
12
|
+
getServerOutputDirectory
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=output-directory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-directory.js","sources":["../../src/output-directory.ts"],"sourcesContent":["import { join } from 'pathe'\nimport { VITE_ENVIRONMENT_NAMES } from './constants'\nimport type * as vite from 'vite'\n\nexport function getClientOutputDirectory(userConfig: vite.UserConfig) {\n return (\n userConfig.environments?.[VITE_ENVIRONMENT_NAMES.client]?.build?.outDir ??\n join(getServerOutputDirectory(userConfig), 'public')\n )\n}\n\nexport function getServerOutputDirectory(userConfig: vite.UserConfig) {\n const rootOutputDirectory = userConfig.build?.outDir ?? 'dist'\n return (\n userConfig.environments?.[VITE_ENVIRONMENT_NAMES.server]?.build?.outDir ??\n rootOutputDirectory\n )\n}\n"],"names":[],"mappings":";;AAIO,SAAS,yBAAyB,YAA6B;AACpE,SACE,WAAW,eAAe,uBAAuB,MAAM,GAAG,OAAO,UACjE,KAAK,yBAAyB,UAAU,GAAG,QAAQ;AAEvD;AAEO,SAAS,yBAAyB,YAA6B;AACpE,QAAM,sBAAsB,WAAW,OAAO,UAAU;AACxD,SACE,WAAW,eAAe,uBAAuB,MAAM,GAAG,OAAO,UACjE;AAEJ;"}
|