@analogjs/vite-plugin-nitro 1.0.1 → 1.0.2
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 +5 -1
- package/src/lib/runtime/api-middleware.mjs +27 -0
- package/src/lib/runtime/api-middleware.ts +0 -8
- package/src/lib/runtime/renderer.mjs +21 -0
- package/src/lib/runtime/renderer.ts +5 -22
- package/src/lib/vite-plugin-nitro.js +17 -9
- 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": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "A Vite plugin for adding a nitro API server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Brandon Roberts <robertsbt@gmail.com>",
|
|
@@ -39,6 +39,10 @@
|
|
|
39
39
|
],
|
|
40
40
|
"migrations": "./migrations/migration.json"
|
|
41
41
|
},
|
|
42
|
+
"imports": {
|
|
43
|
+
"#analog/ssr": "./src/index.js",
|
|
44
|
+
"#analog/index": "./src/index.js"
|
|
45
|
+
},
|
|
42
46
|
"module": "./src/index.js",
|
|
43
47
|
"main": "./src/index.js"
|
|
44
48
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is shipped as ESM for Windows support,
|
|
3
|
+
* as it won't resolve the api-middleware.ts file correctly in node.
|
|
4
|
+
*/
|
|
5
|
+
import { eventHandler, proxyRequest } from 'h3';
|
|
6
|
+
|
|
7
|
+
export default eventHandler(async (event) => {
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
const apiPrefix = `/${import.meta.env?.RUNTIME_CONFIG?.apiPrefix ?? 'api'}`;
|
|
10
|
+
if (event.node.req.url?.startsWith(apiPrefix)) {
|
|
11
|
+
const reqUrl = event.node.req.url?.replace(apiPrefix, '');
|
|
12
|
+
|
|
13
|
+
if (
|
|
14
|
+
event.node.req.method === 'GET' &&
|
|
15
|
+
// in the case of XML routes, we want to proxy the request so that nitro gets the correct headers
|
|
16
|
+
// and can render the XML correctly as a static asset
|
|
17
|
+
!event.node.req.url?.endsWith('.xml')
|
|
18
|
+
) {
|
|
19
|
+
return $fetch(reqUrl, { headers: event.node.req.headers });
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return proxyRequest(event, reqUrl, {
|
|
23
|
+
// @ts-ignore
|
|
24
|
+
fetch: $fetch.native,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file is written in JavaScript
|
|
3
|
-
* because it is used by Nitro to build
|
|
4
|
-
* the renderer for SSR.
|
|
5
|
-
*
|
|
6
|
-
* The package is shipped as commonjs
|
|
7
|
-
* which won't be parsed by Nitro correctly.
|
|
8
|
-
*/
|
|
9
1
|
import { eventHandler, proxyRequest } from 'h3';
|
|
10
2
|
|
|
11
3
|
export default eventHandler(async (event) => {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is shipped as ESM for Windows support,
|
|
3
|
+
* as it won't resolve the renderer.ts file correctly in node.
|
|
4
|
+
*/
|
|
5
|
+
import { eventHandler } from 'h3';
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
// import { eventHandler } from 'h3';
|
|
8
|
+
|
|
9
|
+
// Nitro aliases for the SSR renderer and client index.html template
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
import render from '#analog/ssr';
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
import template from '#analog/index';
|
|
14
|
+
|
|
15
|
+
export default eventHandler(async (event) => {
|
|
16
|
+
const html = await render(event.node.req.url, template, {
|
|
17
|
+
req: event.node.req,
|
|
18
|
+
res: event.node.res,
|
|
19
|
+
});
|
|
20
|
+
return html;
|
|
21
|
+
});
|
|
@@ -1,31 +1,14 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file is written in JavaScript
|
|
3
|
-
* because it is used by Nitro to build
|
|
4
|
-
* the renderer for SSR.
|
|
5
|
-
*
|
|
6
|
-
* The package is shipped as commonjs
|
|
7
|
-
* which won't be parsed by Nitro correctly.
|
|
8
|
-
*/
|
|
9
1
|
import { eventHandler } from 'h3';
|
|
10
|
-
/**
|
|
11
|
-
* This file is written in JavaScript
|
|
12
|
-
* because it is used by Nitro to build
|
|
13
|
-
* the renderer for SSR.
|
|
14
|
-
*
|
|
15
|
-
* The package is shipped as commonjs
|
|
16
|
-
* which won't be parsed by Nitro correctly.
|
|
17
|
-
*/
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
// import { eventHandler } from 'h3';
|
|
20
2
|
|
|
21
|
-
// Nitro aliases for the SSR renderer and client index.html template
|
|
22
3
|
// @ts-ignore
|
|
23
|
-
import
|
|
4
|
+
import renderer from '#analog/ssr';
|
|
24
5
|
// @ts-ignore
|
|
25
6
|
import template from '#analog/index';
|
|
26
7
|
|
|
27
8
|
export default eventHandler(async (event) => {
|
|
28
|
-
const html = await
|
|
29
|
-
|
|
9
|
+
const html = await renderer(event.node.req.url, template, {
|
|
10
|
+
req: event.node.req,
|
|
11
|
+
res: event.node.res,
|
|
12
|
+
});
|
|
30
13
|
return html;
|
|
31
14
|
});
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { build, createDevServer, createNitro } from 'nitropack';
|
|
2
2
|
import { toNodeListener } from 'h3';
|
|
3
3
|
import { normalizePath } from 'vite';
|
|
4
|
-
import { dirname, relative, resolve } from 'node:path';
|
|
4
|
+
import { dirname, join, relative, resolve } from 'node:path';
|
|
5
5
|
import { platform } from 'node:os';
|
|
6
|
+
import { fileURLToPath } from 'node:url';
|
|
6
7
|
import { buildServer } from './build-server.js';
|
|
7
8
|
import { buildSSRApp } from './build-ssr.js';
|
|
8
9
|
import { pageEndpointsPlugin } from './plugins/page-endpoints.js';
|
|
@@ -11,8 +12,10 @@ import { buildSitemap } from './build-sitemap.js';
|
|
|
11
12
|
import { devServerPlugin } from './plugins/dev-server-plugin.js';
|
|
12
13
|
import { getMatchingContentFilesWithFrontMatter } from './utils/get-content-files.js';
|
|
13
14
|
const isWindows = platform() === 'win32';
|
|
15
|
+
const filePrefix = isWindows ? 'file:///' : '';
|
|
14
16
|
let clientOutputPath = '';
|
|
15
|
-
const
|
|
17
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
18
|
+
const __dirname = dirname(__filename);
|
|
16
19
|
export function nitro(options, nitroOptions) {
|
|
17
20
|
const workspaceRoot = options?.workspaceRoot ?? process.cwd();
|
|
18
21
|
const isTest = process.env['NODE_ENV'] === 'test' || !!process.env['VITEST'];
|
|
@@ -40,6 +43,13 @@ export function nitro(options, nitroOptions) {
|
|
|
40
43
|
const buildPreset = process.env['BUILD_PRESET'] ??
|
|
41
44
|
nitroOptions?.preset;
|
|
42
45
|
const pageHandlers = getPageHandlers({ workspaceRoot, rootDir });
|
|
46
|
+
const apiMiddlewareHandler = filePrefix +
|
|
47
|
+
normalizePath(join(__dirname, `runtime/api-middleware${filePrefix ? '.mjs' : ''}`));
|
|
48
|
+
const ssrEntry = normalizePath(filePrefix +
|
|
49
|
+
resolve(workspaceRoot, 'dist', rootDir, `ssr/main.server${filePrefix ? '.js' : ''}`));
|
|
50
|
+
const indexEntry = normalizePath(resolve(clientOutputPath, 'index.html'));
|
|
51
|
+
const rendererEntry = filePrefix +
|
|
52
|
+
normalizePath(join(__dirname, `runtime/renderer${filePrefix ? '.mjs' : ''}`));
|
|
43
53
|
nitroConfig = {
|
|
44
54
|
rootDir,
|
|
45
55
|
preset: buildPreset,
|
|
@@ -67,7 +77,7 @@ export function nitro(options, nitroOptions) {
|
|
|
67
77
|
},
|
|
68
78
|
handlers: [
|
|
69
79
|
{
|
|
70
|
-
handler:
|
|
80
|
+
handler: apiMiddlewareHandler,
|
|
71
81
|
middleware: true,
|
|
72
82
|
},
|
|
73
83
|
...pageHandlers,
|
|
@@ -81,10 +91,8 @@ export function nitro(options, nitroOptions) {
|
|
|
81
91
|
clientOutputPath = resolve(rootDir, config.build?.outDir || 'dist/client');
|
|
82
92
|
}
|
|
83
93
|
nitroConfig.alias = {
|
|
84
|
-
|
|
85
|
-
'#analog/
|
|
86
|
-
normalizePath(resolve(workspaceRoot, 'dist', rootDir, 'ssr/main.server')),
|
|
87
|
-
'#analog/index': normalizePath(resolve(clientOutputPath, 'index.html')),
|
|
94
|
+
'#analog/ssr': ssrEntry,
|
|
95
|
+
'#analog/index': indexEntry,
|
|
88
96
|
...nitroOptions?.alias,
|
|
89
97
|
};
|
|
90
98
|
if (isBuild) {
|
|
@@ -144,10 +152,10 @@ export function nitro(options, nitroOptions) {
|
|
|
144
152
|
'zone.js/fesm2015/zone-node',
|
|
145
153
|
...(nitroOptions?.moduleSideEffects || []),
|
|
146
154
|
],
|
|
147
|
-
renderer:
|
|
155
|
+
renderer: rendererEntry,
|
|
148
156
|
handlers: [
|
|
149
157
|
{
|
|
150
|
-
handler:
|
|
158
|
+
handler: apiMiddlewareHandler,
|
|
151
159
|
middleware: true,
|
|
152
160
|
},
|
|
153
161
|
...pageHandlers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-plugin-nitro.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-nitro/src/lib/vite-plugin-nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAO,cAAc,EAAE,MAAM,IAAI,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
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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"}
|