Skip to content

Commit 26e5284

Browse files
committed
Revert "fix: write proxy handlers to buildDir"
This reverts commit 0d8e891.
1 parent fe4aee3 commit 26e5284

File tree

2 files changed

+33
-35
lines changed

2 files changed

+33
-35
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "nuxt-proxy",
33
"type": "module",
4-
"version": "0.3.11",
4+
"version": "0.3.10",
55
"description": "Http-proxy middleware for Nuxt 3.",
66
"author": "Robert Soriano <[email protected]>",
77
"license": "MIT",

src/module.ts

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { fileURLToPath } from 'node:url'
22
import { defu } from 'defu'
3-
import { addServerHandler, addTemplate, createResolver, defineNuxtModule } from '@nuxt/kit'
3+
import { addServerHandler, createResolver, defineNuxtModule } from '@nuxt/kit'
44
import type { Options } from 'http-proxy-middleware'
55
import { hash, objectHash } from 'ohash'
66

@@ -25,44 +25,42 @@ export default defineNuxtModule<ModuleOptions>({
2525
options: options.options,
2626
})
2727

28-
function createProxyMiddleware(options: Options, filename: string, index?: number) {
29-
addTemplate({
30-
filename,
31-
write: true,
32-
getContents() {
33-
return `
34-
import { createProxyMiddleware } from ${JSON.stringify(resolve(runtimeDir, './middleware'))}
35-
import { defu } from 'defu'
36-
import { useRuntimeConfig } from '#imports'
37-
38-
const buildtimeOptions = ${JSON.stringify(options)}
39-
const runtimeOptions = [].concat(useRuntimeConfig().proxy?.options)[${JSON.stringify(index)} ?? 0]
40-
41-
export default createProxyMiddleware(defu(runtimeOptions, buildtimeOptions))
42-
`
43-
},
44-
})
28+
function createProxyMiddleware(options: Options, index?: number) {
29+
return `
30+
import { createProxyMiddleware } from ${JSON.stringify(resolve(runtimeDir, './middleware.ts'))}
31+
import { defu } from 'defu'
32+
import { useRuntimeConfig } from '#imports'
33+
34+
const buildtimeOptions = ${JSON.stringify(options)}
35+
const runtimeOptions = [].concat(useRuntimeConfig().proxy?.options)[${JSON.stringify(index)} ?? 0]
36+
37+
export default createProxyMiddleware(defu(runtimeOptions, buildtimeOptions))
38+
`
4539
}
4640

47-
if (Array.isArray(finalConfig.options)) {
48-
finalConfig.options.forEach((options, index) => {
49-
const handler = `http-proxy/${hash(objectHash(options))}.ts`
50-
createProxyMiddleware(options, handler, index)
41+
nuxt.hook('nitro:config', (nitroConfig) => {
42+
nitroConfig.virtual = nitroConfig.virtual || {}
43+
44+
if (Array.isArray(finalConfig.options)) {
45+
finalConfig.options.forEach((options, index) => {
46+
const handler = `#http-proxy/${hash(objectHash(options))}.mjs`
47+
nitroConfig.virtual![handler] = createProxyMiddleware(options, index)
48+
49+
addServerHandler({
50+
handler,
51+
middleware: true,
52+
})
53+
})
54+
}
55+
else {
56+
const handler = `#http-proxy/${hash(objectHash(finalConfig.options))}.mjs`
57+
nitroConfig.virtual[handler] = createProxyMiddleware(finalConfig.options)
5158

5259
addServerHandler({
53-
handler: resolve(nuxt.options.buildDir, handler),
60+
handler,
5461
middleware: true,
5562
})
56-
})
57-
}
58-
else {
59-
const handler = `http-proxy/${hash(objectHash(finalConfig.options))}.ts`
60-
createProxyMiddleware(finalConfig.options, handler)
61-
62-
addServerHandler({
63-
handler: resolve(nuxt.options.buildDir, handler),
64-
middleware: true,
65-
})
66-
}
63+
}
64+
})
6765
},
6866
})

0 commit comments

Comments
 (0)