Skip to content

Commit 772ef6d

Browse files
committed
revert to 0.3.12
2 parents 0ebbfa8 + 6bcdc60 commit 772ef6d

File tree

3 files changed

+35
-41
lines changed

3 files changed

+35
-41
lines changed

package.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@
2323
"require": "./dist/module.cjs",
2424
"import": "./dist/module.mjs"
2525
},
26-
"./middleware": {
27-
"types": "./dist/runtime/middleware.d.ts",
28-
"import": "./dist/runtime/middleware.mjs"
29-
}
26+
"./middleware": "./dist/runtime/middleware.mjs"
3027
},
3128
"main": "./dist/module.cjs",
3229
"types": "./dist/types.d.ts",

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

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

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

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

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

src/runtime/middleware.ts renamed to src/runtime/middleware.mjs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
import type { Options } from 'http-proxy-middleware'
21
import { defineEventHandler } from 'h3'
32
import { createProxyMiddleware as _createProxyMiddleware } from 'http-proxy-middleware'
43

5-
export function createProxyMiddleware(options: Options) {
4+
export function createProxyMiddleware(options) {
65
const proxyMiddleware = _createProxyMiddleware(options)
76

87
return defineEventHandler(async (event) => {
98
await new Promise((resolve, reject) => {
10-
proxyMiddleware(event.node.req, event.node.res, (err?: unknown) => {
9+
proxyMiddleware(event.node.req, event.node.res, (err) => {
1110
if (err)
1211
reject(err)
1312
else

0 commit comments

Comments
 (0)