@analogjs/vite-plugin-nitro 3.0.0-alpha.1 → 3.0.0-alpha.3
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/package.json +2 -3
- package/src/lib/build-server.d.ts +1 -0
- package/src/lib/build-server.js +58 -13
- package/src/lib/build-server.js.map +1 -1
- package/src/lib/build-ssr.js.map +1 -1
- package/src/lib/plugins/page-endpoints.js +3 -7
- package/src/lib/plugins/page-endpoints.js.map +1 -1
- package/src/lib/utils/register-dev-middleware.js +17 -14
- package/src/lib/utils/register-dev-middleware.js.map +1 -1
- package/src/lib/utils/renderers.d.ts +12 -1
- package/src/lib/utils/renderers.js +22 -10
- package/src/lib/utils/renderers.js.map +1 -1
- package/src/lib/vite-plugin-nitro.js +186 -80
- package/src/lib/vite-plugin-nitro.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@analogjs/vite-plugin-nitro",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.3",
|
|
4
4
|
"description": "A Vite plugin for adding a nitro API server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Brandon Roberts <robertsbt@gmail.com>",
|
|
@@ -30,8 +30,7 @@
|
|
|
30
30
|
"url": "https://github.com/sponsors/brandonroberts"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"nitro": "3.0.
|
|
34
|
-
"h3": "2.0.1-rc.16",
|
|
33
|
+
"nitro": "3.0.260311-beta",
|
|
35
34
|
"ofetch": "2.0.0-alpha.3",
|
|
36
35
|
"xmlbuilder2": "^4.0.3",
|
|
37
36
|
"esbuild": "^0.27.3",
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { NitroConfig } from 'nitro/types';
|
|
2
2
|
import { Options } from './options.js';
|
|
3
|
+
export declare function isVercelPreset(preset: string | undefined): boolean;
|
|
3
4
|
export declare function buildServer(options?: Options, nitroConfig?: NitroConfig, routeSourceFiles?: Record<string, string>): Promise<void>;
|
package/src/lib/build-server.js
CHANGED
|
@@ -1,8 +1,39 @@
|
|
|
1
1
|
import { build, copyPublicAssets, createNitro, prepare, prerender, } from 'nitro/builder';
|
|
2
|
-
import { existsSync, mkdirSync,
|
|
2
|
+
import { existsSync, mkdirSync, rmSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import { dirname, join } from 'node:path';
|
|
4
4
|
import { addPostRenderingHooks } from './hooks/post-rendering-hook.js';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Ensures a minimal `tsconfig.json` exists in the SSR output directory.
|
|
7
|
+
*
|
|
8
|
+
* Nitro v3's `nitro:oxc` Rollup plugin uses OXC's resolver for every
|
|
9
|
+
* file it transforms. OXC walks up the directory tree looking for a
|
|
10
|
+
* `tsconfig.json` to load path aliases. The SSR output directory
|
|
11
|
+
* (`dist/<app>/ssr/`) is outside the source tree, so no tsconfig
|
|
12
|
+
* exists there. On Windows, OXC's upward directory walk also fails to
|
|
13
|
+
* reach the project root's tsconfig due to path normalisation issues,
|
|
14
|
+
* causing:
|
|
15
|
+
*
|
|
16
|
+
* [TSCONFIG_ERROR] Failed to load tsconfig for
|
|
17
|
+
* '../../dist/apps/blog-app/ssr/main.server.js': Tsconfig not found
|
|
18
|
+
*
|
|
19
|
+
* Writing a minimal tsconfig satisfies the resolver without adding any
|
|
20
|
+
* path aliases that would interfere with Nitro's own module resolution.
|
|
21
|
+
*/
|
|
22
|
+
function ensureSsrTsconfig(nitroConfig) {
|
|
23
|
+
const ssrEntry = nitroConfig?.alias?.['#analog/ssr'];
|
|
24
|
+
if (!ssrEntry) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
// The alias value is a normalized absolute path (forward slashes on
|
|
28
|
+
// all platforms). Convert to a native path for dirname().
|
|
29
|
+
const ssrDir = dirname(ssrEntry.replace(/\//g, join('a', 'b')[1]));
|
|
30
|
+
const tsconfigPath = join(ssrDir, 'tsconfig.json');
|
|
31
|
+
if (existsSync(tsconfigPath)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
writeFileSync(tsconfigPath, JSON.stringify({ compilerOptions: { module: 'ESNext', moduleResolution: 'bundler' } }, null, 2), 'utf8');
|
|
35
|
+
}
|
|
36
|
+
export function isVercelPreset(preset) {
|
|
6
37
|
return !!preset?.toLowerCase().includes('vercel');
|
|
7
38
|
}
|
|
8
39
|
function ensureVercelFunctionConfig(nitro) {
|
|
@@ -24,15 +55,33 @@ function ensureVercelFunctionConfig(nitro) {
|
|
|
24
55
|
}, null, 2), 'utf8');
|
|
25
56
|
}
|
|
26
57
|
export async function buildServer(options, nitroConfig, routeSourceFiles) {
|
|
58
|
+
// ── Ensure the SSR output has a tsconfig for OXC ─────────────────
|
|
59
|
+
//
|
|
60
|
+
// Must run before createNitro() so the tsconfig is on disk when the
|
|
61
|
+
// nitro:oxc plugin initialises its resolver.
|
|
62
|
+
ensureSsrTsconfig(nitroConfig);
|
|
63
|
+
// ── Force Rollup as the server bundler ────────────────────────────
|
|
64
|
+
//
|
|
65
|
+
// Nitro v3 defaults to Rolldown when available. Rolldown is faster,
|
|
66
|
+
// but its module resolver cannot resolve relative chunk imports
|
|
67
|
+
// (e.g. `./assets/core-DTazUigR.js`) from a rebundled SSR entry on
|
|
68
|
+
// Windows. The prerender build fails with:
|
|
69
|
+
//
|
|
70
|
+
// [RESOLVE_ERROR] Could not resolve './assets/core-DTazUigR.js'
|
|
71
|
+
// in ../../dist/apps/blog-app/ssr/main.server.js
|
|
72
|
+
//
|
|
73
|
+
// This is a known Rolldown limitation with cross-directory relative
|
|
74
|
+
// paths on Windows (backslash vs forward-slash normalisation).
|
|
75
|
+
// Rollup handles these paths correctly on all platforms.
|
|
76
|
+
//
|
|
77
|
+
// The dev server already uses `builder: 'rollup'` for the same
|
|
78
|
+
// reason. Default to Rollup here too until Rolldown's resolver
|
|
79
|
+
// matures. The caller can still opt in to Rolldown explicitly via
|
|
80
|
+
// nitroConfig.builder if their platform supports it.
|
|
27
81
|
const nitro = await createNitro({
|
|
28
82
|
dev: false,
|
|
29
83
|
preset: process.env['BUILD_PRESET'],
|
|
30
84
|
...nitroConfig,
|
|
31
|
-
// Nitro v3 alpha prefers `rolldown` when available, but its resolver can
|
|
32
|
-
// fail rebundling the generated SSR entry under `dist/.../main.server.js`
|
|
33
|
-
// with Vite 8 / Rolldown-specific "Tsconfig not found" resolve errors.
|
|
34
|
-
// Default production server builds back to Nitro's Rollup builder unless
|
|
35
|
-
// the caller explicitly opts into a different builder.
|
|
36
85
|
builder: nitroConfig?.builder ?? 'rollup',
|
|
37
86
|
});
|
|
38
87
|
if (options?.prerender?.postRenderingHooks) {
|
|
@@ -48,9 +97,7 @@ export async function buildServer(options, nitroConfig, routeSourceFiles) {
|
|
|
48
97
|
indexFileExts.forEach((fileExt) => {
|
|
49
98
|
// Remove the root index.html(.br|.gz) files
|
|
50
99
|
const indexFilePath = join(nitroConfig?.output?.publicDir ?? '', `index.html${fileExt}`);
|
|
51
|
-
|
|
52
|
-
unlinkSync(indexFilePath);
|
|
53
|
-
}
|
|
100
|
+
rmSync(indexFilePath, { force: true });
|
|
54
101
|
});
|
|
55
102
|
}
|
|
56
103
|
if (nitroConfig?.prerender?.routes &&
|
|
@@ -66,9 +113,7 @@ export async function buildServer(options, nitroConfig, routeSourceFiles) {
|
|
|
66
113
|
for (const [route, content] of Object.entries(routeSourceFiles)) {
|
|
67
114
|
const outputPath = join(publicDir, `${route}.md`);
|
|
68
115
|
const outputDir = dirname(outputPath);
|
|
69
|
-
|
|
70
|
-
mkdirSync(outputDir, { recursive: true });
|
|
71
|
-
}
|
|
116
|
+
mkdirSync(outputDir, { recursive: true });
|
|
72
117
|
writeFileSync(outputPath, content, 'utf8');
|
|
73
118
|
}
|
|
74
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-server.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-server.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,WAAW,EACX,OAAO,EACP,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"build-server.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-server.ts"],"names":[],"mappings":"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"}
|
package/src/lib/build-ssr.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-ssr.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-ssr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAc,MAAM,MAAM,CAAC;AACtD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAI9C,MAAM,CAAC,KAAK,UAAU,WAAW,
|
|
1
|
+
{"version":3,"file":"build-ssr.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/build-ssr.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAc,MAAM,MAAM,CAAC;AACtD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAI9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAkB,EAClB,OAAiB;IAEjB,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC9D,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC;IAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC;IACnE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,EAAc;QACrD,KAAK,EAAE;YACL,GAAG,EAAE,IAAI;YACT,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;gBAC5D,KAAK,EACH,OAAO,EAAE,WAAW;oBACpB,OAAO,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,UAAU,iBAAiB,CAAC;aAClE;YACD,MAAM,EACJ,OAAO,EAAE,WAAW,IAAI,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;SACzE;KACF,CAAC,CAAC;IAEH,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { buildSync } from 'esbuild';
|
|
2
2
|
import { normalizePath } from 'vite';
|
|
3
|
+
import { SERVER_FETCH_FACTORY_SNIPPET } from '../utils/renderers.js';
|
|
3
4
|
export function pageEndpointsPlugin() {
|
|
4
5
|
return {
|
|
5
6
|
name: 'analogjs-vite-plugin-nitro-rollup-page-endpoint',
|
|
@@ -39,7 +40,7 @@ export function pageEndpointsPlugin() {
|
|
|
39
40
|
// This avoids both unstable private Nitro imports and assumptions about
|
|
40
41
|
// a global runtime `$fetch` being available during prerender.
|
|
41
42
|
const code = `
|
|
42
|
-
import { defineHandler, fetchWithEvent } from 'h3';
|
|
43
|
+
import { defineHandler, fetchWithEvent } from 'nitro/h3';
|
|
43
44
|
import { createFetch } from 'ofetch';
|
|
44
45
|
|
|
45
46
|
${fileExports.includes('load')
|
|
@@ -59,12 +60,7 @@ export function pageEndpointsPlugin() {
|
|
|
59
60
|
`}
|
|
60
61
|
|
|
61
62
|
export default defineHandler(async(event) => {
|
|
62
|
-
|
|
63
|
-
fetch: (resource, init) => {
|
|
64
|
-
const url = resource instanceof Request ? resource.url : resource.toString();
|
|
65
|
-
return fetchWithEvent(event, url, init);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
63
|
+
${SERVER_FETCH_FACTORY_SNIPPET}
|
|
68
64
|
|
|
69
65
|
if (event.method === 'GET') {
|
|
70
66
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-endpoints.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/plugins/page-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"page-endpoints.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/plugins/page-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAErE,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,IAAI,EAAE,iDAAiD;QACvD,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAU;YAEV,IAAI,aAAa,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvE,MAAM,QAAQ,GAAG,SAAS,CAAC;oBACzB,KAAK,EAAE;wBACL,QAAQ,EAAE,KAAK;wBACf,UAAU,EAAE,EAAE;wBACd,MAAM,EAAE,IAAI;qBACb;oBACD,KAAK,EAAE,KAAK;oBACZ,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,SAAS;oBACnB,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAC;gBAEH,IAAI,WAAW,GAAa,EAAE,CAAC;gBAE/B,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;oBAC7C,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC;wBAC/C,WAAW,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;oBACxD,CAAC;gBACH,CAAC;gBAED,mEAAmE;gBACnE,kEAAkE;gBAClE,gEAAgE;gBAChE,6CAA6C;gBAC7C,gEAAgE;gBAChE,wCAAwC;gBACxC,EAAE;gBACF,uEAAuE;gBACvE,uEAAuE;gBACvE,qBAAqB;gBACrB,sDAAsD;gBACtD,kEAAkE;gBAClE,EAAE;gBACF,wEAAwE;gBACxE,8DAA8D;gBAC9D,MAAM,IAAI,GAAG;;;;cAKP,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAC1B,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC;kBACA,KAAK;;;kBAIX;;cAGE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAC5B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC;;;;eAKN;;;gBAGI,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA8BjC,CAAC;gBAEJ,OAAO;oBACL,IAAI;oBACJ,GAAG,EAAE,IAAI;iBACV,CAAC;YACJ,CAAC;YAED,OAAO;QACT,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { H3 } from 'h3';
|
|
1
|
+
import { H3 } from 'nitro/h3';
|
|
2
2
|
import { globSync } from 'tinyglobby';
|
|
3
3
|
import { toWebRequest, writeWebResponseToNode } from './node-web-bridge.js';
|
|
4
4
|
const PASSTHROUGH_HEADER = 'x-analog-passthrough';
|
|
@@ -20,21 +20,24 @@ export async function registerDevServerMiddleware(root, sourceRoot, viteServer)
|
|
|
20
20
|
absolute: true,
|
|
21
21
|
});
|
|
22
22
|
middlewareFiles.forEach((file) => {
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
// Create the H3 app once per middleware file (not per request).
|
|
24
|
+
// The dynamic handler inside still loads the module fresh each request
|
|
25
|
+
// via ssrLoadModule, preserving HMR.
|
|
26
|
+
const app = new H3();
|
|
27
|
+
app.use(async (event) => {
|
|
28
|
+
const handler = await viteServer
|
|
25
29
|
.ssrLoadModule(file)
|
|
26
30
|
.then((m) => m.default);
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}));
|
|
31
|
+
return handler(event);
|
|
32
|
+
});
|
|
33
|
+
// Sentinel catch-all: when the middleware returns undefined (does not
|
|
34
|
+
// handle the request), h3 does not emit its default 404 — instead we
|
|
35
|
+
// detect the passthrough header and let the Connect stack continue.
|
|
36
|
+
app.use(() => new Response(null, {
|
|
37
|
+
status: 204,
|
|
38
|
+
headers: { [PASSTHROUGH_HEADER]: '1' },
|
|
39
|
+
}));
|
|
40
|
+
viteServer.middlewares.use(async (req, res, next) => {
|
|
38
41
|
const response = await app.fetch(toWebRequest(req));
|
|
39
42
|
if (response.headers.get(PASSTHROUGH_HEADER) === '1') {
|
|
40
43
|
next();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-dev-middleware.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/utils/register-dev-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"register-dev-middleware.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/utils/register-dev-middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,EAAE,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAElD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,IAAY,EACZ,UAAkB,EAClB,UAAyB;IAEzB,MAAM,eAAe,GAAG,QAAQ,CAC9B,CAAC,GAAG,IAAI,IAAI,UAAU,4BAA4B,CAAC,EACnD;QACE,GAAG,EAAE,IAAI;QACT,QAAQ,EAAE,IAAI;KACf,CACF,CAAC;IAEF,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,gEAAgE;QAChE,uEAAuE;QACvE,qCAAqC;QACrC,MAAM,GAAG,GAAG,IAAI,EAAE,EAAE,CAAC;QACrB,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,OAAO,GAAiB,MAAM,UAAU;iBAC3C,aAAa,CAAC,IAAI,CAAC;iBACnB,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAE,CAA+B,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,sEAAsE;QACtE,qEAAqE;QACrE,oEAAoE;QACpE,GAAG,CAAC,GAAG,CACL,GAAG,EAAE,CACH,IAAI,QAAQ,CAAC,IAAI,EAAE;YACjB,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE;SACvC,CAAC,CACL,CAAC;QAEF,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YAClD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpD,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,GAAG,EAAE,CAAC;gBACrD,IAAI,EAAE,CAAC;gBACP,OAAO;YACT,CAAC;YAED,MAAM,sBAAsB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code snippet emitted into virtual modules to create a request-scoped
|
|
3
|
+
* fetch using ofetch's `createFetch` + h3's `fetchWithEvent`.
|
|
4
|
+
*
|
|
5
|
+
* Shared between the SSR renderer and page-endpoint virtual modules so
|
|
6
|
+
* the fetch-wiring logic stays in sync.
|
|
7
|
+
*
|
|
8
|
+
* The emitted variable is named `serverFetch` — callers should reference it
|
|
9
|
+
* by that name.
|
|
10
|
+
*/
|
|
11
|
+
export declare const SERVER_FETCH_FACTORY_SNIPPET = "\n const serverFetch = createFetch({\n fetch: (resource, init) => {\n const url = resource instanceof Request ? resource.url : resource.toString();\n return fetchWithEvent(event, url, init);\n }\n });";
|
|
1
12
|
/**
|
|
2
13
|
* SSR renderer virtual module content.
|
|
3
14
|
*
|
|
@@ -39,4 +50,4 @@ export declare function clientRenderer(templatePath: string): string;
|
|
|
39
50
|
* rewritten path, which avoids falling through to the HTML renderer when
|
|
40
51
|
* SSR code makes relative API requests.
|
|
41
52
|
*/
|
|
42
|
-
export declare const apiMiddleware = "\nimport { defineHandler, fetchWithEvent, proxyRequest } from 'h3';\nimport { useRuntimeConfig } from 'nitro/runtime-config';\n\nexport default defineHandler(async (event) => {\n const prefix = useRuntimeConfig().prefix;\n const apiPrefix = `${prefix}/${useRuntimeConfig().apiPrefix}`;\n\n if (event.path?.startsWith(apiPrefix)) {\n const reqUrl = event.path?.replace(apiPrefix, '');\n\n if (\n event.method === 'GET' &&\n // in the case of XML routes, we want to proxy the request so that nitro gets the correct headers\n // and can render the XML correctly as a static asset\n !event.path?.endsWith('.xml')\n ) {\n return fetchWithEvent(event, reqUrl, {\n headers: Object.fromEntries(event.req.headers.entries()),\n });\n }\n\n return proxyRequest(event, reqUrl);\n }\n});";
|
|
53
|
+
export declare const apiMiddleware = "\nimport { defineHandler, fetchWithEvent, proxyRequest } from 'nitro/h3';\nimport { useRuntimeConfig } from 'nitro/runtime-config';\n\nexport default defineHandler(async (event) => {\n const prefix = useRuntimeConfig().prefix;\n const apiPrefix = `${prefix}/${useRuntimeConfig().apiPrefix}`;\n\n if (event.path?.startsWith(apiPrefix)) {\n const reqUrl = event.path?.replace(apiPrefix, '');\n\n if (\n event.method === 'GET' &&\n // in the case of XML routes, we want to proxy the request so that nitro gets the correct headers\n // and can render the XML correctly as a static asset\n !event.path?.endsWith('.xml')\n ) {\n return fetchWithEvent(event, reqUrl, {\n headers: Object.fromEntries(event.req.headers.entries()),\n });\n }\n\n return proxyRequest(event, reqUrl);\n }\n});";
|
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code snippet emitted into virtual modules to create a request-scoped
|
|
3
|
+
* fetch using ofetch's `createFetch` + h3's `fetchWithEvent`.
|
|
4
|
+
*
|
|
5
|
+
* Shared between the SSR renderer and page-endpoint virtual modules so
|
|
6
|
+
* the fetch-wiring logic stays in sync.
|
|
7
|
+
*
|
|
8
|
+
* The emitted variable is named `serverFetch` — callers should reference it
|
|
9
|
+
* by that name.
|
|
10
|
+
*/
|
|
11
|
+
export const SERVER_FETCH_FACTORY_SNIPPET = `
|
|
12
|
+
const serverFetch = createFetch({
|
|
13
|
+
fetch: (resource, init) => {
|
|
14
|
+
const url = resource instanceof Request ? resource.url : resource.toString();
|
|
15
|
+
return fetchWithEvent(event, url, init);
|
|
16
|
+
}
|
|
17
|
+
});`;
|
|
1
18
|
/**
|
|
2
19
|
* SSR renderer virtual module content.
|
|
3
20
|
*
|
|
@@ -16,7 +33,7 @@ export function ssrRenderer(templatePath) {
|
|
|
16
33
|
return `
|
|
17
34
|
import { readFileSync } from 'node:fs';
|
|
18
35
|
import { createFetch } from 'ofetch';
|
|
19
|
-
import { defineHandler, fetchWithEvent } from 'h3';
|
|
36
|
+
import { defineHandler, fetchWithEvent } from 'nitro/h3';
|
|
20
37
|
// @ts-ignore
|
|
21
38
|
import renderer from '#analog/ssr';
|
|
22
39
|
|
|
@@ -52,14 +69,9 @@ export default defineHandler(async (event) => {
|
|
|
52
69
|
connection: {},
|
|
53
70
|
};
|
|
54
71
|
const res = event.node?.res;
|
|
55
|
-
|
|
56
|
-
fetch: (resource, init) => {
|
|
57
|
-
const url = resource instanceof Request ? resource.url : resource.toString();
|
|
58
|
-
return fetchWithEvent(event, url, init);
|
|
59
|
-
}
|
|
60
|
-
});
|
|
72
|
+
${SERVER_FETCH_FACTORY_SNIPPET}
|
|
61
73
|
|
|
62
|
-
const html = await renderer(requestPath, template, { req, res, fetch });
|
|
74
|
+
const html = await renderer(requestPath, template, { req, res, fetch: serverFetch });
|
|
63
75
|
|
|
64
76
|
return html;
|
|
65
77
|
});`;
|
|
@@ -73,7 +85,7 @@ export default defineHandler(async (event) => {
|
|
|
73
85
|
export function clientRenderer(templatePath) {
|
|
74
86
|
return `
|
|
75
87
|
import { readFileSync } from 'node:fs';
|
|
76
|
-
import { defineHandler } from 'h3';
|
|
88
|
+
import { defineHandler } from 'nitro/h3';
|
|
77
89
|
|
|
78
90
|
const template = readFileSync(${JSON.stringify(templatePath)}, 'utf8');
|
|
79
91
|
|
|
@@ -103,7 +115,7 @@ export default defineHandler(async (event) => {
|
|
|
103
115
|
* SSR code makes relative API requests.
|
|
104
116
|
*/
|
|
105
117
|
export const apiMiddleware = `
|
|
106
|
-
import { defineHandler, fetchWithEvent, proxyRequest } from 'h3';
|
|
118
|
+
import { defineHandler, fetchWithEvent, proxyRequest } from 'nitro/h3';
|
|
107
119
|
import { useRuntimeConfig } from 'nitro/runtime-config';
|
|
108
120
|
|
|
109
121
|
export default defineHandler(async (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/utils/renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,YAAoB;IAC9C,OAAO;;;;;;;gCAOuB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"renderers.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-nitro/src/lib/utils/renderers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;;;;;;MAMtC,CAAC;AAEP;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CAAC,YAAoB;IAC9C,OAAO;;;;;;;gCAOuB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgC1D,4BAA4B;;;;;IAK1B,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,YAAoB;IACjD,OAAO;;;;gCAIuB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;;;;CAM3D,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;IAwBzB,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { mergeConfig, normalizePath } from 'vite';
|
|
|
4
4
|
import { relative, resolve } from 'node:path';
|
|
5
5
|
import { pathToFileURL } from 'node:url';
|
|
6
6
|
import { existsSync, readFileSync } from 'node:fs';
|
|
7
|
-
import { buildServer } from './build-server.js';
|
|
7
|
+
import { buildServer, isVercelPreset } from './build-server.js';
|
|
8
8
|
import { buildSSRApp } from './build-ssr.js';
|
|
9
9
|
import { pageEndpointsPlugin } from './plugins/page-endpoints.js';
|
|
10
10
|
import { getPageHandlers } from './utils/get-page-handlers.js';
|
|
@@ -13,8 +13,6 @@ import { devServerPlugin } from './plugins/dev-server-plugin.js';
|
|
|
13
13
|
import { toWebRequest, writeWebResponseToNode, } from './utils/node-web-bridge.js';
|
|
14
14
|
import { getMatchingContentFilesWithFrontMatter } from './utils/get-content-files.js';
|
|
15
15
|
import { ssrRenderer, clientRenderer, apiMiddleware, } from './utils/renderers.js';
|
|
16
|
-
let clientOutputPath = '';
|
|
17
|
-
let rendererIndexEntry = '';
|
|
18
16
|
function createNitroMiddlewareHandler(handler) {
|
|
19
17
|
return {
|
|
20
18
|
route: '/**',
|
|
@@ -22,9 +20,33 @@ function createNitroMiddlewareHandler(handler) {
|
|
|
22
20
|
middleware: true,
|
|
23
21
|
};
|
|
24
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Creates a `rollup:before` hook that marks specified packages as external
|
|
25
|
+
* in Nitro's bundler config (applied to both the server build and the
|
|
26
|
+
* prerender build).
|
|
27
|
+
*
|
|
28
|
+
* ## Subpath matching (Rolldown compatibility)
|
|
29
|
+
*
|
|
30
|
+
* When `bundlerConfig.external` is an **array**, Rollup automatically
|
|
31
|
+
* prefix-matches entries — `'rxjs'` in the array will also externalise
|
|
32
|
+
* `'rxjs/operators'`, `'rxjs/internal/Observable'`, etc.
|
|
33
|
+
*
|
|
34
|
+
* Rolldown (the default bundler in Nitro v3) does **not** do this. It
|
|
35
|
+
* treats array entries as exact strings. To keep behaviour consistent
|
|
36
|
+
* across both bundlers, the **function** branch already needed explicit
|
|
37
|
+
* subpath matching. We now use the same `isExternal` helper for all
|
|
38
|
+
* branches so that `'rxjs'` reliably matches `'rxjs/operators'`
|
|
39
|
+
* regardless of whether the existing `external` value is a function,
|
|
40
|
+
* array, or absent.
|
|
41
|
+
*
|
|
42
|
+
* Without this, the Nitro prerender build fails on Windows CI with:
|
|
43
|
+
*
|
|
44
|
+
* [RESOLVE_ERROR] Could not resolve 'rxjs/operators'
|
|
45
|
+
*/
|
|
25
46
|
function createRollupBeforeHook(externalEntries) {
|
|
47
|
+
const isExternal = (source) => externalEntries.some((entry) => source === entry || source.startsWith(entry + '/'));
|
|
26
48
|
return (_nitro, bundlerConfig) => {
|
|
27
|
-
|
|
49
|
+
sanitizeNitroBundlerConfig(_nitro, bundlerConfig);
|
|
28
50
|
if (externalEntries.length === 0) {
|
|
29
51
|
return;
|
|
30
52
|
}
|
|
@@ -33,8 +55,7 @@ function createRollupBeforeHook(externalEntries) {
|
|
|
33
55
|
bundlerConfig.external = externalEntries;
|
|
34
56
|
}
|
|
35
57
|
else if (typeof existing === 'function') {
|
|
36
|
-
bundlerConfig.external = (source, importer, isResolved) => existing(source, importer, isResolved) ||
|
|
37
|
-
externalEntries.includes(source);
|
|
58
|
+
bundlerConfig.external = (source, importer, isResolved) => existing(source, importer, isResolved) || isExternal(source);
|
|
38
59
|
}
|
|
39
60
|
else if (Array.isArray(existing)) {
|
|
40
61
|
bundlerConfig.external = [...existing, ...externalEntries];
|
|
@@ -52,46 +73,82 @@ function appendNoExternals(noExternals, ...entries) {
|
|
|
52
73
|
? [...noExternals, ...entries]
|
|
53
74
|
: noExternals;
|
|
54
75
|
}
|
|
55
|
-
|
|
56
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Patches Nitro's internal Rollup/Rolldown bundler config to work around
|
|
78
|
+
* incompatibilities in the Nitro v3 alpha series.
|
|
79
|
+
*
|
|
80
|
+
* Called from the `rollup:before` hook, this function runs against the *final*
|
|
81
|
+
* bundler config that Nitro assembles for its server/prerender builds — it
|
|
82
|
+
* does NOT touch the normal Vite client or SSR environment configs.
|
|
83
|
+
*
|
|
84
|
+
* Each workaround is narrowly scoped and safe to remove once the corresponding
|
|
85
|
+
* upstream Nitro issue is resolved.
|
|
86
|
+
*/
|
|
87
|
+
function sanitizeNitroBundlerConfig(_nitro, bundlerConfig) {
|
|
88
|
+
const output = bundlerConfig['output'];
|
|
89
|
+
if (!output || Array.isArray(output) || typeof output !== 'object') {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
// ── 1. Remove invalid `output.codeSplitting` ────────────────────────
|
|
57
93
|
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
// still contain that key while running under Vite 8 / Rolldown. At runtime
|
|
61
|
-
// this surfaces as:
|
|
94
|
+
// Nitro 3.0.1-alpha.2 adds `output.codeSplitting` to its internal bundler
|
|
95
|
+
// config, but Rolldown rejects it as an unknown key:
|
|
62
96
|
//
|
|
63
97
|
// Warning: Invalid output options (1 issue found)
|
|
64
98
|
// - For the "codeSplitting". Invalid key: Expected never but received "codeSplitting".
|
|
65
99
|
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
// right before Nitro starts prerender/server builds.
|
|
69
|
-
//
|
|
70
|
-
// Why this is safe:
|
|
71
|
-
// - Analog is not relying on Nitro-side `output.codeSplitting`.
|
|
72
|
-
// - The warning path only rejects the option; removing it restores the
|
|
73
|
-
// default Nitro/Rollup behavior instead of changing any Analog semantics.
|
|
74
|
-
// - The hook is narrowly scoped to the final Nitro bundler config, so it
|
|
75
|
-
// does not affect the normal Vite client/SSR environment build config.
|
|
76
|
-
const output = bundlerConfig['output'];
|
|
77
|
-
if (!output || Array.isArray(output) || typeof output !== 'object') {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
100
|
+
// Analog never sets this option. Removing it restores default bundler
|
|
101
|
+
// behavior without changing any Analog semantics.
|
|
80
102
|
if ('codeSplitting' in output) {
|
|
81
103
|
delete output['codeSplitting'];
|
|
82
104
|
}
|
|
83
|
-
//
|
|
84
|
-
//
|
|
85
|
-
//
|
|
86
|
-
//
|
|
87
|
-
//
|
|
105
|
+
// ── 2. Remove invalid `output.manualChunks` ─────────────────────────
|
|
106
|
+
//
|
|
107
|
+
// Nitro's default config enables manual chunking for node_modules. Under
|
|
108
|
+
// Nitro v3 alpha + Rollup 4.59 this crashes during the prerender rebundle:
|
|
109
|
+
//
|
|
110
|
+
// Cannot read properties of undefined (reading 'included')
|
|
111
|
+
//
|
|
112
|
+
// A single server bundle is acceptable for Analog's use case, so we strip
|
|
113
|
+
// `manualChunks` until the upstream bug is fixed.
|
|
88
114
|
if ('manualChunks' in output) {
|
|
89
115
|
delete output['manualChunks'];
|
|
90
116
|
}
|
|
117
|
+
// ── 3. Escape route params in `output.chunkFileNames` ───────────────
|
|
118
|
+
//
|
|
119
|
+
// Nitro's `getChunkName()` derives chunk filenames from route patterns,
|
|
120
|
+
// using its internal `routeToFsPath()` helper to convert route params
|
|
121
|
+
// (`:productId` → `[productId]`) and catch-alls (`**` → `[...]`).
|
|
122
|
+
//
|
|
123
|
+
// Rollup/Rolldown interprets *any* `[token]` in the string returned by a
|
|
124
|
+
// `chunkFileNames` function as a placeholder. Only a handful are valid —
|
|
125
|
+
// `[name]`, `[hash]`, `[format]`, `[ext]` — so route-derived tokens like
|
|
126
|
+
// `[productId]` or `[...]` trigger a build error:
|
|
127
|
+
//
|
|
128
|
+
// "[productId]" is not a valid placeholder in the "output.chunkFileNames" pattern.
|
|
129
|
+
//
|
|
130
|
+
// We wrap the original function to replace non-standard `[token]` patterns
|
|
131
|
+
// with `_token_`, preserving the intended filename while avoiding the
|
|
132
|
+
// placeholder validation error.
|
|
133
|
+
//
|
|
134
|
+
// Example: `_routes/products/[productId].mjs` → `_routes/products/_productId_.mjs`
|
|
135
|
+
const VALID_ROLLUP_PLACEHOLDER = /^\[(?:name|hash|format|ext)\]$/;
|
|
136
|
+
const chunkFileNames = output['chunkFileNames'];
|
|
137
|
+
if (typeof chunkFileNames === 'function') {
|
|
138
|
+
const originalFn = chunkFileNames;
|
|
139
|
+
output['chunkFileNames'] = (...args) => {
|
|
140
|
+
const result = originalFn(...args);
|
|
141
|
+
if (typeof result !== 'string')
|
|
142
|
+
return result;
|
|
143
|
+
return result.replace(/\[[^\]]+\]/g, (match) => VALID_ROLLUP_PLACEHOLDER.test(match)
|
|
144
|
+
? match
|
|
145
|
+
: `_${match.slice(1, -1)}_`);
|
|
146
|
+
};
|
|
147
|
+
}
|
|
91
148
|
}
|
|
92
|
-
function resolveClientOutputPath(workspaceRoot, rootDir, configuredOutDir, ssrBuild) {
|
|
93
|
-
if (
|
|
94
|
-
return
|
|
149
|
+
function resolveClientOutputPath(cachedPath, workspaceRoot, rootDir, configuredOutDir, ssrBuild) {
|
|
150
|
+
if (cachedPath) {
|
|
151
|
+
return cachedPath;
|
|
95
152
|
}
|
|
96
153
|
if (!ssrBuild) {
|
|
97
154
|
return resolve(workspaceRoot, rootDir, configuredOutDir || 'dist/client');
|
|
@@ -100,12 +157,44 @@ function resolveClientOutputPath(workspaceRoot, rootDir, configuredOutDir, ssrBu
|
|
|
100
157
|
// still needs the client index.html emitted to dist/<app>/client.
|
|
101
158
|
return resolve(workspaceRoot, 'dist', rootDir, 'client');
|
|
102
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Converts the built SSR entry path into a specifier that Nitro's bundler
|
|
162
|
+
* can resolve, including all relative `./assets/*` chunk imports inside
|
|
163
|
+
* the entry.
|
|
164
|
+
*
|
|
165
|
+
* The returned path **must** be an absolute filesystem path with forward
|
|
166
|
+
* slashes (e.g. `D:/a/analog/dist/apps/blog-app/ssr/main.server.js`).
|
|
167
|
+
* This lets Rollup/Rolldown determine the entry's directory and resolve
|
|
168
|
+
* sibling chunk imports like `./assets/core-DTazUigR.js` correctly.
|
|
169
|
+
*
|
|
170
|
+
* ## Why not pathToFileURL() on Windows?
|
|
171
|
+
*
|
|
172
|
+
* Earlier versions converted the path to a `file:///D:/a/...` URL on
|
|
173
|
+
* Windows, which worked with Nitro v2 + Rollup. Nitro v3 switched its
|
|
174
|
+
* default bundler to Rolldown, and Rolldown does **not** extract the
|
|
175
|
+
* importer directory from `file://` URLs. This caused every relative
|
|
176
|
+
* import inside the SSR entry to fail during the prerender build:
|
|
177
|
+
*
|
|
178
|
+
* [RESOLVE_ERROR] Could not resolve './assets/core-DTazUigR.js'
|
|
179
|
+
* in ../../dist/apps/blog-app/ssr/main.server.js
|
|
180
|
+
*
|
|
181
|
+
* `normalizePath()` (from Vite) simply converts backslashes to forward
|
|
182
|
+
* slashes, which both Rollup and Rolldown handle correctly on all
|
|
183
|
+
* platforms.
|
|
184
|
+
*/
|
|
103
185
|
function toNitroSsrEntrypointSpecifier(ssrEntryPath) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
186
|
+
return normalizePath(ssrEntryPath);
|
|
187
|
+
}
|
|
188
|
+
function applySsrEntryAlias(nitroConfig, options, workspaceRoot, rootDir) {
|
|
189
|
+
const ssrOutDir = options?.ssrBuildDir || resolve(workspaceRoot, 'dist', rootDir, 'ssr');
|
|
190
|
+
if (options?.ssr || nitroConfig.prerender?.routes?.length) {
|
|
191
|
+
const ssrEntryPath = resolveBuiltSsrEntryPath(ssrOutDir);
|
|
192
|
+
const ssrEntry = toNitroSsrEntrypointSpecifier(ssrEntryPath);
|
|
193
|
+
nitroConfig.alias = {
|
|
194
|
+
...nitroConfig.alias,
|
|
195
|
+
'#analog/ssr': ssrEntry,
|
|
196
|
+
};
|
|
197
|
+
}
|
|
109
198
|
}
|
|
110
199
|
function resolveBuiltSsrEntryPath(ssrOutDir) {
|
|
111
200
|
const candidatePaths = [
|
|
@@ -136,6 +225,8 @@ export function nitro(options, nitroOptions) {
|
|
|
136
225
|
let nitroConfig;
|
|
137
226
|
let environmentBuild = false;
|
|
138
227
|
let hasAPIDir = false;
|
|
228
|
+
let clientOutputPath = '';
|
|
229
|
+
let rendererIndexEntry = '';
|
|
139
230
|
const rollupExternalEntries = [];
|
|
140
231
|
const routeSitemaps = {};
|
|
141
232
|
const routeSourceFiles = {};
|
|
@@ -168,12 +259,12 @@ export function nitro(options, nitroOptions) {
|
|
|
168
259
|
additionalPagesDirs: options?.additionalPagesDirs,
|
|
169
260
|
hasAPIDir,
|
|
170
261
|
});
|
|
171
|
-
const resolvedClientOutputPath = resolveClientOutputPath(workspaceRoot, rootDir, config.build?.outDir, ssrBuild);
|
|
262
|
+
const resolvedClientOutputPath = resolveClientOutputPath(clientOutputPath, workspaceRoot, rootDir, config.build?.outDir, ssrBuild);
|
|
172
263
|
rendererIndexEntry = normalizePath(resolve(resolvedClientOutputPath, 'index.html'));
|
|
173
264
|
nitroConfig = {
|
|
174
265
|
rootDir: normalizePath(rootDir),
|
|
175
266
|
preset: buildPreset,
|
|
176
|
-
compatibilityDate: '
|
|
267
|
+
compatibilityDate: '2025-11-19',
|
|
177
268
|
logLevel: nitroOptions?.logLevel || 0,
|
|
178
269
|
serverDir: normalizePath(`${sourceRoot}/server`),
|
|
179
270
|
scanDirs: [
|
|
@@ -234,7 +325,7 @@ export function nitro(options, nitroOptions) {
|
|
|
234
325
|
},
|
|
235
326
|
};
|
|
236
327
|
if (isVercelPreset(buildPreset)) {
|
|
237
|
-
nitroConfig = withVercelOutputAPI(nitroConfig, workspaceRoot
|
|
328
|
+
nitroConfig = withVercelOutputAPI(nitroConfig, workspaceRoot);
|
|
238
329
|
}
|
|
239
330
|
if (isCloudflarePreset(buildPreset)) {
|
|
240
331
|
nitroConfig = withCloudflareOutput(nitroConfig);
|
|
@@ -337,7 +428,41 @@ export function nitro(options, nitroOptions) {
|
|
|
337
428
|
return prev;
|
|
338
429
|
}, []);
|
|
339
430
|
}
|
|
340
|
-
|
|
431
|
+
// ── SSR / prerender Nitro config ─────────────────────────────
|
|
432
|
+
//
|
|
433
|
+
// This block configures Nitro for builds that rebundle the SSR
|
|
434
|
+
// entry (main.server.{js,mjs}). That happens in two cases:
|
|
435
|
+
//
|
|
436
|
+
// 1. Full SSR apps — `options.ssr === true`
|
|
437
|
+
// 2. Prerender-only — no runtime SSR, but the prerender build
|
|
438
|
+
// still imports the SSR entry to render static pages.
|
|
439
|
+
//
|
|
440
|
+
// The original gate was `if (ssrBuild)`, which checks the Vite
|
|
441
|
+
// top-level `build.ssr` flag. That worked with the legacy
|
|
442
|
+
// single-pass build but breaks with two newer code paths:
|
|
443
|
+
//
|
|
444
|
+
// a. **Vite Environment API (Vite 6+)** — SSR config lives in
|
|
445
|
+
// `environments.ssr.build.ssr`, not `build.ssr`, so
|
|
446
|
+
// `ssrBuild` is always `false`.
|
|
447
|
+
// b. **Prerender-only apps** (e.g. blog-app) — `options.ssr`
|
|
448
|
+
// is `false`, but prerender routes exist and the prerender
|
|
449
|
+
// build still processes the SSR entry.
|
|
450
|
+
//
|
|
451
|
+
// Without this block:
|
|
452
|
+
// - `rxjs` is never externalised → RESOLVE_ERROR in the
|
|
453
|
+
// Nitro prerender build (especially on Windows CI).
|
|
454
|
+
// - `moduleSideEffects` for zone.js is never set → zone.js
|
|
455
|
+
// side-effects may be tree-shaken.
|
|
456
|
+
// - The handlers list is not reassembled with page endpoints
|
|
457
|
+
// + the renderer catch-all.
|
|
458
|
+
//
|
|
459
|
+
// The widened condition covers all three code paths:
|
|
460
|
+
// - `ssrBuild` → legacy closeBundle
|
|
461
|
+
// - `options?.ssr` → Environment API SSR
|
|
462
|
+
// - `nitroConfig.prerender?.routes?.length` → prerender-only
|
|
463
|
+
if (ssrBuild ||
|
|
464
|
+
options?.ssr ||
|
|
465
|
+
nitroConfig.prerender?.routes?.length) {
|
|
341
466
|
if (process.platform === 'win32') {
|
|
342
467
|
nitroConfig.noExternals = appendNoExternals(nitroConfig.noExternals, 'std-env');
|
|
343
468
|
}
|
|
@@ -392,16 +517,7 @@ export function nitro(options, nitroOptions) {
|
|
|
392
517
|
builds.push(builder.build(builder.environments['ssr']));
|
|
393
518
|
}
|
|
394
519
|
await Promise.all(builds);
|
|
395
|
-
|
|
396
|
-
resolve(workspaceRoot, 'dist', rootDir, `ssr`);
|
|
397
|
-
if (options?.ssr || nitroConfig.prerender?.routes?.length) {
|
|
398
|
-
const ssrEntryPath = resolveBuiltSsrEntryPath(ssrOutDir);
|
|
399
|
-
const ssrEntry = toNitroSsrEntrypointSpecifier(ssrEntryPath);
|
|
400
|
-
nitroConfig.alias = {
|
|
401
|
-
...nitroConfig.alias,
|
|
402
|
-
'#analog/ssr': ssrEntry,
|
|
403
|
-
};
|
|
404
|
-
}
|
|
520
|
+
applySsrEntryAlias(nitroConfig, options, workspaceRoot, rootDir);
|
|
405
521
|
await buildServer(options, nitroConfig, routeSourceFiles);
|
|
406
522
|
if (nitroConfig.prerender?.routes?.length &&
|
|
407
523
|
options?.prerender?.sitemap) {
|
|
@@ -482,16 +598,7 @@ export function nitro(options, nitroOptions) {
|
|
|
482
598
|
// sitemap needs to be built after all directories are built
|
|
483
599
|
await buildSitemap(config, options.prerender.sitemap, nitroConfig.prerender.routes, clientOutputPath, routeSitemaps);
|
|
484
600
|
}
|
|
485
|
-
|
|
486
|
-
resolve(workspaceRoot, 'dist', rootDir, `ssr`);
|
|
487
|
-
if (options?.ssr || nitroConfig.prerender?.routes?.length) {
|
|
488
|
-
const ssrEntryPath = resolveBuiltSsrEntryPath(closeBundleSsrOutDir);
|
|
489
|
-
const ssrEntry = toNitroSsrEntrypointSpecifier(ssrEntryPath);
|
|
490
|
-
nitroConfig.alias = {
|
|
491
|
-
...nitroConfig.alias,
|
|
492
|
-
'#analog/ssr': ssrEntry,
|
|
493
|
-
};
|
|
494
|
-
}
|
|
601
|
+
applySsrEntryAlias(nitroConfig, options, workspaceRoot, rootDir);
|
|
495
602
|
await buildServer(options, nitroConfig, routeSourceFiles);
|
|
496
603
|
console.log(`\n\nThe '@analogjs/platform' server has been successfully built.`);
|
|
497
604
|
}
|
|
@@ -518,25 +625,20 @@ function isEmptyPrerenderRoutes(options) {
|
|
|
518
625
|
function isArrayWithElements(arr) {
|
|
519
626
|
return !!(Array.isArray(arr) && arr.length);
|
|
520
627
|
}
|
|
521
|
-
const
|
|
522
|
-
|
|
523
|
-
|
|
628
|
+
const VERCEL_PRESET = 'vercel';
|
|
629
|
+
// Nitro v3 consolidates the old `vercel-edge` preset into `vercel` with
|
|
630
|
+
// fluid compute enabled by default, so a single preset covers both
|
|
631
|
+
// serverless and edge deployments.
|
|
632
|
+
const withVercelOutputAPI = (nitroConfig, workspaceRoot) => ({
|
|
524
633
|
...nitroConfig,
|
|
525
|
-
preset: nitroConfig?.preset ??
|
|
526
|
-
(buildPreset?.toLowerCase().includes('vercel-edge')
|
|
527
|
-
? 'vercel-edge'
|
|
528
|
-
: 'vercel'),
|
|
634
|
+
preset: nitroConfig?.preset ?? 'vercel',
|
|
529
635
|
vercel: {
|
|
530
636
|
...nitroConfig?.vercel,
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
:
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
runtime: nitroConfig?.vercel?.functions?.runtime ?? 'nodejs24.x',
|
|
537
|
-
...nitroConfig?.vercel?.functions,
|
|
538
|
-
},
|
|
539
|
-
}),
|
|
637
|
+
entryFormat: nitroConfig?.vercel?.entryFormat ?? 'node',
|
|
638
|
+
functions: {
|
|
639
|
+
runtime: nitroConfig?.vercel?.functions?.runtime ?? 'nodejs24.x',
|
|
640
|
+
...nitroConfig?.vercel?.functions,
|
|
641
|
+
},
|
|
540
642
|
},
|
|
541
643
|
output: {
|
|
542
644
|
...nitroConfig?.output,
|
|
@@ -544,8 +646,12 @@ const withVercelOutputAPI = (nitroConfig, workspaceRoot, buildPreset) => ({
|
|
|
544
646
|
publicDir: normalizePath(resolve(workspaceRoot, '.vercel', 'output/static')),
|
|
545
647
|
},
|
|
546
648
|
});
|
|
649
|
+
// Nitro v3 uses underscore-separated preset names (e.g. `cloudflare_pages`),
|
|
650
|
+
// but we accept both hyphen and underscore forms for backwards compatibility.
|
|
547
651
|
const isCloudflarePreset = (buildPreset) => process.env['CF_PAGES'] ||
|
|
548
|
-
(buildPreset &&
|
|
652
|
+
(buildPreset &&
|
|
653
|
+
(buildPreset.toLowerCase().includes('cloudflare-pages') ||
|
|
654
|
+
buildPreset.toLowerCase().includes('cloudflare_pages')));
|
|
549
655
|
const withCloudflareOutput = (nitroConfig) => ({
|
|
550
656
|
...nitroConfig,
|
|
551
657
|
output: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":"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"}
|