From d3bd2bb6edd729a3973c13086706162a01d2cdf1 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sat, 15 Oct 2022 19:28:37 +0200 Subject: [PATCH 1/8] feat!: upgrade to nitropack 0.6.x and h3 0.8.x --- packages/nuxi/package.json | 2 +- packages/nuxt/package.json | 4 +- packages/nuxt/src/core/nitro.ts | 1 - packages/vite/package.json | 2 +- yarn.lock | 242 +++++++++++--------------------- 5 files changed, 86 insertions(+), 165 deletions(-) diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index a723492b634..91e6bf2345f 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -35,7 +35,7 @@ "execa": "^6.1.0", "flat": "^5.0.2", "giget": "^0.1.7", - "h3": "^0.7.21", + "h3": "^0.8.0", "jiti": "^1.16.0", "listhen": "^0.3.4", "mlly": "^0.5.16", diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index be76893e8d8..237f086ee85 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -52,13 +52,13 @@ "escape-string-regexp": "^5.0.0", "fs-extra": "^10.1.0", "globby": "^13.1.2", - "h3": "^0.7.21", + "h3": "^0.8.0", "hash-sum": "^2.0.0", "hookable": "^5.4.1", "knitwork": "^0.1.2", "magic-string": "^0.26.7", "mlly": "^0.5.16", - "nitropack": "^0.5.4", + "nitropack": "npm:nitropack-edge@0.5.5-27764245.b884d0c", "nuxi": "3.0.0-rc.11", "ohash": "^0.1.5", "ohmyfetch": "^0.4.19", diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 051b87dbfaf..2f863a632f3 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -22,7 +22,6 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { workspaceDir: nuxt.options.workspaceDir, srcDir: nuxt.options.serverDir, dev: nuxt.options.dev, - preset: nuxt.options.dev ? 'nitro-dev' : undefined, buildDir: nuxt.options.buildDir, analyze: nuxt.options.build.analyze && { template: 'treemap', diff --git a/packages/vite/package.json b/packages/vite/package.json index bb939d1d8d7..258cc541cd0 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -33,7 +33,7 @@ "externality": "^0.2.2", "fs-extra": "^10.1.0", "get-port-please": "^2.6.1", - "h3": "^0.7.21", + "h3": "^0.8.0", "knitwork": "^0.1.2", "magic-string": "^0.26.7", "mlly": "^0.5.16", diff --git a/yarn.lock b/yarn.lock index 368bf1d8abb..3516204721e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1442,7 +1442,7 @@ __metadata: languageName: node linkType: hard -"@netlify/functions@npm:^1.2.0": +"@netlify/functions@npm:^1.3.0": version: 1.3.0 resolution: "@netlify/functions@npm:1.3.0" dependencies: @@ -1873,7 +1873,7 @@ __metadata: externality: ^0.2.2 fs-extra: ^10.1.0 get-port-please: ^2.6.1 - h3: ^0.7.21 + h3: ^0.8.0 knitwork: ^0.1.2 magic-string: ^0.26.7 mlly: ^0.5.16 @@ -2180,17 +2180,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-alias@npm:^3.1.9": - version: 3.1.9 - resolution: "@rollup/plugin-alias@npm:3.1.9" - dependencies: - slash: ^3.0.0 - peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: cefae9dfb7c30f0dc78d24f4ad9ccb8a0878397b313c0fa9d0f519667394941c58a930d968d841e25aee43b0fb892d1e3f7edbb55e8197f191cce7da6a50b882 - languageName: node - linkType: hard - "@rollup/plugin-alias@npm:^4.0.0": version: 4.0.0 resolution: "@rollup/plugin-alias@npm:4.0.0" @@ -2205,23 +2194,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-commonjs@npm:^22.0.2": - version: 22.0.2 - resolution: "@rollup/plugin-commonjs@npm:22.0.2" - dependencies: - "@rollup/pluginutils": ^3.1.0 - commondir: ^1.0.1 - estree-walker: ^2.0.1 - glob: ^7.1.6 - is-reference: ^1.2.1 - magic-string: ^0.25.7 - resolve: ^1.17.0 - peerDependencies: - rollup: ^2.68.0 - checksum: 70098a4b91afe3f164f5d27cba65edf148c5ed146ee0e07a964b66940681553ac77391083114cdcf9427e7f2706bf0d61eab310b3a2caeab83b7452c0292fcae - languageName: node - linkType: hard - "@rollup/plugin-commonjs@npm:^23.0.0": version: 23.0.0 resolution: "@rollup/plugin-commonjs@npm:23.0.0" @@ -2241,27 +2213,19 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-inject@npm:^4.0.4": - version: 4.0.4 - resolution: "@rollup/plugin-inject@npm:4.0.4" - dependencies: - "@rollup/pluginutils": ^3.1.0 - estree-walker: ^2.0.1 - magic-string: ^0.25.7 - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - checksum: 22a1847372a96296a5b176af3d5b23ac7b48143a32c77ec4efed38daf4b0d1399a3cd144496d65731299984c5f98c9e00dc6a7f53d0fe87bd4aab2d4bd7b8289 - languageName: node - linkType: hard - -"@rollup/plugin-json@npm:^4.1.0": - version: 4.1.0 - resolution: "@rollup/plugin-json@npm:4.1.0" +"@rollup/plugin-inject@npm:^5.0.1": + version: 5.0.1 + resolution: "@rollup/plugin-inject@npm:5.0.1" dependencies: - "@rollup/pluginutils": ^3.0.8 + "@rollup/pluginutils": ^4.2.1 + estree-walker: ^2.0.2 + magic-string: ^0.26.4 peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - checksum: 867bc9339b4ccf0b9ff3b2617a95b3b8920115163f86c8e3b1f068a14ca25949472d3c05b09a5ac38ca0fe2185756e34617eaeb219d4a2b6e2307c501c7d4552 + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 73c0338e68007c66aa38e071631f7874bbc287a103dc5f23175d4a90bd50f6268945c798a7e7a160bfc7e0381f097eb1688c30a4672616de275c3125ee822b6d languageName: node linkType: hard @@ -2279,22 +2243,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-node-resolve@npm:^14.1.0": - version: 14.1.0 - resolution: "@rollup/plugin-node-resolve@npm:14.1.0" - dependencies: - "@rollup/pluginutils": ^3.1.0 - "@types/resolve": 1.17.1 - deepmerge: ^4.2.2 - is-builtin-module: ^3.1.0 - is-module: ^1.0.0 - resolve: ^1.19.0 - peerDependencies: - rollup: ^2.78.0 - checksum: 7c5bed3e5a511ee47172acd91da1a828383f7ef72d54d27d8050598ef9038df0f86a8559db455611e138e07b99d787fd7445b11f81129970d07104644576d80a - languageName: node - linkType: hard - "@rollup/plugin-node-resolve@npm:^15.0.0": version: 15.0.0 resolution: "@rollup/plugin-node-resolve@npm:15.0.0" @@ -2314,18 +2262,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-replace@npm:^4.0.0": - version: 4.0.0 - resolution: "@rollup/plugin-replace@npm:4.0.0" - dependencies: - "@rollup/pluginutils": ^3.1.0 - magic-string: ^0.25.7 - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - checksum: b61701e612661a46da06ca88f390c3839b586708abc0329a476411b90aa8ac59fe94437ede4c3fe53fea268b3054ea9d7d4ee851d7bd0cb7a5f06906002067cb - languageName: node - linkType: hard - "@rollup/plugin-replace@npm:^5.0.0": version: 5.0.0 resolution: "@rollup/plugin-replace@npm:5.0.0" @@ -2341,25 +2277,15 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-wasm@npm:^5.2.0": - version: 5.2.0 - resolution: "@rollup/plugin-wasm@npm:5.2.0" - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 - checksum: b2ea6fc84d90d0617b79bd9ea957a384019f9ff862fb3da86c4c533b0fa5aba4b8f78ab978e511283e9d68d16091ff6d07d9177ac5b16bea71a67794f859a01b - languageName: node - linkType: hard - -"@rollup/pluginutils@npm:^3.0.8, @rollup/pluginutils@npm:^3.1.0": - version: 3.1.0 - resolution: "@rollup/pluginutils@npm:3.1.0" - dependencies: - "@types/estree": 0.0.39 - estree-walker: ^1.0.1 - picomatch: ^2.2.2 +"@rollup/plugin-wasm@npm:^6.0.0": + version: 6.0.0 + resolution: "@rollup/plugin-wasm@npm:6.0.0" peerDependencies: - rollup: ^1.20.0||^2.0.0 - checksum: 8be16e27863c219edbb25a4e6ec2fe0e1e451d9e917b6a43cf2ae5bc025a6b8faaa40f82a6e53b66d0de37b58ff472c6c3d57a83037ae635041f8df959d6d9aa + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: fb9f5215ee98ab1a5f71642dd236a4923c5de04b01a1ccab8940096df059f16152b37cec4a4f21d84158bc66452320fc588dd7ac2ede963d0d5e77932ce84dad languageName: node linkType: hard @@ -2496,13 +2422,6 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:0.0.39": - version: 0.0.39 - resolution: "@types/estree@npm:0.0.39" - checksum: 412fb5b9868f2c418126451821833414189b75cc6bf84361156feed733e3d92ec220b9d74a89e52722e03d5e241b2932732711b7497374a404fad49087adc248 - languageName: node - linkType: hard - "@types/estree@npm:^0.0.51": version: 0.0.51 resolution: "@types/estree@npm:0.0.51" @@ -2670,15 +2589,6 @@ __metadata: languageName: node linkType: hard -"@types/resolve@npm:1.17.1": - version: 1.17.1 - resolution: "@types/resolve@npm:1.17.1" - dependencies: - "@types/node": "*" - checksum: dc6a6df507656004e242dcb02c784479deca516d5f4b58a1707e708022b269ae147e1da0521f3e8ad0d63638869d87e0adc023f0bd5454aa6f72ac66c7525cf5 - languageName: node - linkType: hard - "@types/resolve@npm:1.20.2": version: 1.20.2 resolution: "@types/resolve@npm:1.20.2" @@ -6510,7 +6420,7 @@ __metadata: languageName: node linkType: hard -"esbuild@npm:^0.15.10, esbuild@npm:^0.15.11, esbuild@npm:^0.15.6, esbuild@npm:^0.15.8, esbuild@npm:^0.15.9": +"esbuild@npm:^0.15.10, esbuild@npm:^0.15.11, esbuild@npm:^0.15.6, esbuild@npm:^0.15.9": version: 0.15.11 resolution: "esbuild@npm:0.15.11" dependencies: @@ -6998,13 +6908,6 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^1.0.1": - version: 1.0.1 - resolution: "estree-walker@npm:1.0.1" - checksum: 7e70da539691f6db03a08e7ce94f394ce2eef4180e136d251af299d41f92fb2d28ebcd9a6e393e3728d7970aeb5358705ddf7209d52fbcb2dd4693f95dcf925f - languageName: node - linkType: hard - "estree-walker@npm:^3.0.1": version: 3.0.1 resolution: "estree-walker@npm:3.0.1" @@ -8024,7 +7927,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.2.0": +"glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -8140,7 +8043,7 @@ __metadata: languageName: node linkType: hard -"h3@npm:^0.7.12, h3@npm:^0.7.21": +"h3@npm:^0.7.12": version: 0.7.21 resolution: "h3@npm:0.7.21" dependencies: @@ -8152,6 +8055,18 @@ __metadata: languageName: node linkType: hard +"h3@npm:^0.8.0": + version: 0.8.0 + resolution: "h3@npm:0.8.0" + dependencies: + cookie-es: ^0.5.0 + destr: ^1.1.1 + radix3: ^0.2.0 + ufo: ^0.8.5 + checksum: b468883939cae0ed7a918294fe8dde76d8331d03cd707ec5cb1d9d7dca095fbb3112683d764672ae1c42ae56a0e1dcc2f8d565ca23f8ca67e50b7194d52aa514 + languageName: node + linkType: hard + "handlebars@npm:^4.7.7": version: 4.7.7 resolution: "handlebars@npm:4.7.7" @@ -8272,7 +8187,7 @@ __metadata: languageName: node linkType: hard -"hookable@npm:^5.3.0, hookable@npm:^5.4.0, hookable@npm:^5.4.1": +"hookable@npm:^5.4.0, hookable@npm:^5.4.1": version: 5.4.1 resolution: "hookable@npm:5.4.1" checksum: 2a48150436bf70b4b756bcf15694809032c490c1747aba363a6de928a96712e808b0918de06c933e082cc2042c3f051b593d400df6af4773cd9ad1e85d677839 @@ -8884,7 +8799,7 @@ __metadata: languageName: node linkType: hard -"is-reference@npm:1.2.1, is-reference@npm:^1.2.1": +"is-reference@npm:1.2.1": version: 1.2.1 resolution: "is-reference@npm:1.2.1" dependencies: @@ -9446,7 +9361,7 @@ __metadata: languageName: node linkType: hard -"listhen@npm:^0.3.1, listhen@npm:^0.3.4": +"listhen@npm:^0.3.4": version: 0.3.4 resolution: "listhen@npm:0.3.4" dependencies: @@ -10381,72 +10296,72 @@ __metadata: languageName: node linkType: hard -"nitropack@npm:^0.5.4": - version: 0.5.4 - resolution: "nitropack@npm:0.5.4" +"nitropack@npm:nitropack-edge@0.5.5-27764245.b884d0c": + version: 0.5.5-27764245.b884d0c + resolution: "nitropack-edge@npm:0.5.5-27764245.b884d0c" dependencies: "@cloudflare/kv-asset-handler": ^0.2.0 - "@netlify/functions": ^1.2.0 - "@rollup/plugin-alias": ^3.1.9 - "@rollup/plugin-commonjs": ^22.0.2 - "@rollup/plugin-inject": ^4.0.4 - "@rollup/plugin-json": ^4.1.0 - "@rollup/plugin-node-resolve": ^14.1.0 - "@rollup/plugin-replace": ^4.0.0 - "@rollup/plugin-wasm": ^5.2.0 - "@rollup/pluginutils": ^4.2.1 + "@netlify/functions": ^1.3.0 + "@rollup/plugin-alias": ^4.0.0 + "@rollup/plugin-commonjs": ^23.0.0 + "@rollup/plugin-inject": ^5.0.1 + "@rollup/plugin-json": ^5.0.0 + "@rollup/plugin-node-resolve": ^15.0.0 + "@rollup/plugin-replace": ^5.0.0 + "@rollup/plugin-wasm": ^6.0.0 + "@rollup/pluginutils": ^5.0.1 "@vercel/nft": ^0.22.1 archiver: ^5.3.1 c12: ^0.2.13 - chalk: ^5.0.1 + chalk: ^5.1.2 chokidar: ^3.5.3 consola: ^2.15.3 cookie-es: ^0.5.0 defu: ^6.1.0 destr: ^1.1.1 dot-prop: ^7.2.0 - esbuild: ^0.15.8 + esbuild: ^0.15.11 escape-string-regexp: ^5.0.0 etag: ^1.8.1 fs-extra: ^10.1.0 globby: ^13.1.2 gzip-size: ^7.0.0 - h3: ^0.7.21 - hookable: ^5.3.0 + h3: ^0.8.0 + hookable: ^5.4.1 http-proxy: ^1.18.1 is-primitive: ^3.0.1 jiti: ^1.16.0 klona: ^2.0.5 knitwork: ^0.1.2 - listhen: ^0.3.1 + listhen: ^0.3.4 mime: ^3.0.0 mlly: ^0.5.16 mri: ^1.2.0 - node-fetch-native: ^0.1.5 + node-fetch-native: ^0.1.7 ohash: ^0.1.5 ohmyfetch: ^0.4.19 - pathe: ^0.3.8 + pathe: ^0.3.9 perfect-debounce: ^0.1.3 pkg-types: ^0.3.5 pretty-bytes: ^6.0.0 - radix3: ^0.1.2 - rollup: ^2.79.0 + radix3: ^0.2.0 + rollup: ^2.79.1 rollup-plugin-terser: ^7.0.2 - rollup-plugin-visualizer: ^5.8.1 + rollup-plugin-visualizer: ^5.8.2 scule: ^0.3.2 - semver: ^7.3.7 + semver: ^7.3.8 serve-placeholder: ^2.0.1 serve-static: ^1.15.0 source-map-support: ^0.5.21 - std-env: ^3.2.1 + std-env: ^3.3.0 ufo: ^0.8.5 unenv: ^0.6.2 - unimport: ^0.6.7 + unimport: ^0.6.8 unstorage: ^0.5.6 bin: nitro: dist/cli.mjs nitropack: dist/cli.mjs - checksum: f6e4d8bcfbb864cbc6084806c16f809d0ab0c07baee800525f8f50a7ce0a4e4444166c33d27a3551378433cc03d94f7a3ed45b1652dfafa65f3aff4955dbafd4 + checksum: 4e044a2afafd5d5c597c672c6ee872bb7411609fb3190d69ce688d05624684ce9adee68a49b125292cf96e37a1d8693b233d9f8d746a8705a027b0af76fb894e languageName: node linkType: hard @@ -10473,7 +10388,7 @@ __metadata: languageName: node linkType: hard -"node-fetch-native@npm:^0.1.4, node-fetch-native@npm:^0.1.5": +"node-fetch-native@npm:^0.1.4, node-fetch-native@npm:^0.1.5, node-fetch-native@npm:^0.1.7": version: 0.1.7 resolution: "node-fetch-native@npm:0.1.7" checksum: 0e342f2e26b1c4970fc0c88469661813ad3f755df8ecd42cfacfc781e5a1a5de363fe50b9e9227d98a43368660e791af7a5f7a6566329caaeb7ea21017410539 @@ -10829,7 +10744,7 @@ __metadata: flat: ^5.0.2 fsevents: ~2.3.2 giget: ^0.1.7 - h3: ^0.7.21 + h3: ^0.8.0 jiti: ^1.16.0 listhen: ^0.3.4 mlly: ^0.5.16 @@ -10919,13 +10834,13 @@ __metadata: escape-string-regexp: ^5.0.0 fs-extra: ^10.1.0 globby: ^13.1.2 - h3: ^0.7.21 + h3: ^0.8.0 hash-sum: ^2.0.0 hookable: ^5.4.1 knitwork: ^0.1.2 magic-string: ^0.26.7 mlly: ^0.5.16 - nitropack: ^0.5.4 + nitropack: "npm:nitropack-edge@0.5.5-27764245.b884d0c" nuxi: 3.0.0-rc.11 ohash: ^0.1.5 ohmyfetch: ^0.4.19 @@ -12195,6 +12110,13 @@ __metadata: languageName: node linkType: hard +"radix3@npm:^0.2.0": + version: 0.2.0 + resolution: "radix3@npm:0.2.0" + checksum: e52b1aba82b61de32c64f543def87f06334ebe70dc9c468d2acd3e311024a50bb2d3aa026ad559b761d03cd1540efb2f471d980b3e51c2625cbec2b8cb59ad75 + languageName: node + linkType: hard + "randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" @@ -12494,7 +12416,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.17.0, resolve@npm:^1.19.0, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1": +"resolve@npm:^1.1.7, resolve@npm:^1.10.0, resolve@npm:^1.10.1, resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1": version: 1.22.1 resolution: "resolve@npm:1.22.1" dependencies: @@ -12507,7 +12429,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.10.1#~builtin, resolve@patch:resolve@^1.17.0#~builtin, resolve@patch:resolve@^1.19.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": +"resolve@patch:resolve@^1.1.7#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.10.1#~builtin, resolve@patch:resolve@^1.20.0#~builtin, resolve@patch:resolve@^1.22.0#~builtin, resolve@patch:resolve@^1.22.1#~builtin": version: 1.22.1 resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin::version=1.22.1&hash=07638b" dependencies: @@ -12579,7 +12501,7 @@ __metadata: languageName: node linkType: hard -"rollup-plugin-visualizer@npm:^5.8.1, rollup-plugin-visualizer@npm:^5.8.2": +"rollup-plugin-visualizer@npm:^5.8.2": version: 5.8.2 resolution: "rollup-plugin-visualizer@npm:5.8.2" dependencies: @@ -12606,7 +12528,7 @@ __metadata: languageName: node linkType: hard -"rollup@npm:^2.79.0, rollup@npm:^2.79.1": +"rollup@npm:^2.79.1": version: 2.79.1 resolution: "rollup@npm:2.79.1" dependencies: @@ -13188,7 +13110,7 @@ __metadata: languageName: node linkType: hard -"std-env@npm:^3.0.1, std-env@npm:^3.2.1": +"std-env@npm:^3.0.1, std-env@npm:^3.2.1, std-env@npm:^3.3.0": version: 3.3.0 resolution: "std-env@npm:3.3.0" checksum: 093f26c9e079ee5b1f99b08816f7cf5d72abccf75731901a2645a4b6e0cc1f039f9c44f0399f2acb80043d29a1977885738309e332a2746ee2178c2a57b9bd3a @@ -14015,7 +13937,7 @@ __metadata: languageName: node linkType: hard -"unimport@npm:^0.6.7, unimport@npm:^0.6.8": +"unimport@npm:^0.6.8": version: 0.6.8 resolution: "unimport@npm:0.6.8" dependencies: From f8d17299ad29254b93c3021c555698475959b136 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sat, 15 Oct 2022 19:59:57 +0200 Subject: [PATCH 2/8] update vite and nuxi h3 usage --- packages/nuxi/package.json | 2 +- packages/nuxi/src/commands/dev.ts | 3 +- packages/nuxt/package.json | 2 +- packages/vite/package.json | 2 +- packages/vite/src/client.ts | 12 +++-- packages/vite/src/vite-node.ts | 12 ++--- yarn.lock | 84 +++++++++++++++---------------- 7 files changed, 60 insertions(+), 57 deletions(-) diff --git a/packages/nuxi/package.json b/packages/nuxi/package.json index 91e6bf2345f..08c79414591 100644 --- a/packages/nuxi/package.json +++ b/packages/nuxi/package.json @@ -35,7 +35,7 @@ "execa": "^6.1.0", "flat": "^5.0.2", "giget": "^0.1.7", - "h3": "^0.8.0", + "h3": "^0.8.1", "jiti": "^1.16.0", "listhen": "^0.3.4", "mlly": "^0.5.16", diff --git a/packages/nuxi/src/commands/dev.ts b/packages/nuxi/src/commands/dev.ts index 54ed2a3f21e..9f6311877bd 100644 --- a/packages/nuxi/src/commands/dev.ts +++ b/packages/nuxi/src/commands/dev.ts @@ -25,6 +25,7 @@ export default defineNuxtCommand({ overrideEnv('development') const { listen } = await import('listhen') + const { toNodeListener } = await import('h3') let currentHandler: RequestListener | undefined let loadingMessage = 'Nuxt is starting...' const loadingHandler: RequestListener = async (_req, res) => { @@ -100,7 +101,7 @@ export default defineNuxtCommand({ writeTypes(currentNuxt).catch(console.error), buildNuxt(currentNuxt) ]) - currentHandler = currentNuxt.server.app + currentHandler = toNodeListener(currentNuxt.server.app) if (isRestart && args.clear !== false) { showBanner() showURL() diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 237f086ee85..c8ad120b109 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -52,7 +52,7 @@ "escape-string-regexp": "^5.0.0", "fs-extra": "^10.1.0", "globby": "^13.1.2", - "h3": "^0.8.0", + "h3": "^0.8.1", "hash-sum": "^2.0.0", "hookable": "^5.4.1", "knitwork": "^0.1.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 258cc541cd0..1f87da1f2f3 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -33,7 +33,7 @@ "externality": "^0.2.2", "fs-extra": "^10.1.0", "get-port-please": "^2.6.1", - "h3": "^0.8.0", + "h3": "^0.8.1", "knitwork": "^0.1.2", "magic-string": "^0.26.7", "mlly": "^0.5.16", diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts index 76e71183c94..cd9c47196e0 100644 --- a/packages/vite/src/client.ts +++ b/packages/vite/src/client.ts @@ -2,12 +2,13 @@ import { join, resolve } from 'pathe' import * as vite from 'vite' import vuePlugin from '@vitejs/plugin-vue' import viteJsxPlugin from '@vitejs/plugin-vue-jsx' -import type { Connect, ServerOptions } from 'vite' +import type { ServerOptions } from 'vite' import { logger } from '@nuxt/kit' import { getPort } from 'get-port-please' import { joinURL, withoutLeadingSlash } from 'ufo' import defu from 'defu' import type { OutputOptions } from 'rollup' +import { fromNodeMiddleware } from 'h3' import { cacheDirPlugin } from './plugins/cache-dir' import { wpfs } from './utils/wpfs' import type { ViteBuildContext, ViteOptions } from './vite' @@ -109,17 +110,18 @@ export async function buildClient (ctx: ViteBuildContext) { const viteServer = await vite.createServer(clientConfig) ctx.clientServer = viteServer await ctx.nuxt.callHook('vite:serverCreated', viteServer, { isClient: true, isServer: false }) - const viteMiddleware: Connect.NextHandleFunction = (req, res, next) => { + const viteMiddleware = fromNodeMiddleware((req, res, next) => { // Workaround: vite devmiddleware modifies req.url const originalURL = req.url! if (!originalURL.startsWith('/__nuxt_vite_node__') && !originalURL.startsWith(clientConfig.base!)) { req.url = joinURL('/__url', originalURL) } - viteServer.middlewares.handle(req, res, (err: unknown) => { + + viteServer.middlewares.handle(req, res, (err: Error) => { req.url = originalURL - next(err) + next!(err) }) - } + }) await ctx.nuxt.callHook('server:devMiddleware', viteMiddleware) ctx.nuxt.hook('close', async () => { diff --git a/packages/vite/src/vite-node.ts b/packages/vite/src/vite-node.ts index 0addd3f1985..40002937db8 100644 --- a/packages/vite/src/vite-node.ts +++ b/packages/vite/src/vite-node.ts @@ -1,5 +1,5 @@ import { pathToFileURL } from 'node:url' -import { createApp, createError, defineEventHandler, defineLazyEventHandler } from 'h3' +import { createApp, createError, defineEventHandler, defineLazyEventHandler, eventHandler, toNodeListener } from 'h3' import { ViteNodeServer } from 'vite-node/server' import fse from 'fs-extra' import { resolve } from 'pathe' @@ -21,7 +21,7 @@ export function viteNodePlugin (ctx: ViteBuildContext): VitePlugin { name: 'nuxt:vite-node-server', enforce: 'post', configureServer (server) { - server.middlewares.use('/__nuxt_vite_node__', createViteNodeMiddleware(ctx, invalidates)) + server.middlewares.use('/__nuxt_vite_node__', toNodeListener(createViteNodeApp(ctx, invalidates))) }, handleHotUpdate ({ file, server }) { function markInvalidate (mod: ModuleNode) { @@ -43,7 +43,7 @@ export function viteNodePlugin (ctx: ViteBuildContext): VitePlugin { export function registerViteNodeMiddleware (ctx: ViteBuildContext) { addDevServerHandler({ route: '/__nuxt_vite_node__/', - handler: createViteNodeMiddleware(ctx) + handler: createViteNodeApp(ctx).handler }) } @@ -69,7 +69,7 @@ function getManifest (ctx: ViteBuildContext) { return manifest } -function createViteNodeMiddleware (ctx: ViteBuildContext, invalidates: Set = new Set()) { +function createViteNodeApp (ctx: ViteBuildContext, invalidates: Set = new Set()) { const app = createApp() app.use('/manifest', defineEventHandler(() => { @@ -107,7 +107,7 @@ function createViteNodeMiddleware (ctx: ViteBuildContext, invalidates: Set { + return eventHandler(async (event) => { const moduleId = decodeURI(event.req.url!).substring(1) if (moduleId === '/') { throw createError({ statusCode: 400 }) @@ -122,7 +122,7 @@ function createViteNodeMiddleware (ctx: ViteBuildContext, invalidates: Set Date: Sat, 15 Oct 2022 20:20:07 +0200 Subject: [PATCH 3/8] use new `server:devHandler` hook to communicate --- packages/nuxt/src/core/nitro.ts | 2 +- packages/schema/src/types/hooks.ts | 5 +++-- packages/vite/src/client.ts | 19 ++++++++++--------- packages/webpack/src/webpack.ts | 26 ++++++++++++-------------- playground/app.vue | 1 + 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 2f863a632f3..4689a6ec4a3 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -189,7 +189,7 @@ export async function initNitro (nuxt: Nuxt & { _nitro?: Nitro }) { nuxt.hook('build:compile', ({ compiler }) => { compiler.outputFileSystem = { ...fsExtra, join } as any }) - nuxt.hook('server:devMiddleware', (m) => { devMiddlewareHandler.set(toEventHandler(m)) }) + nuxt.hook('server:devHandler', (h) => { devMiddlewareHandler.set(h) }) nuxt.server = createDevServer(nitro) nuxt.hook('build:resources', () => { nuxt.server.reload() diff --git a/packages/schema/src/types/hooks.ts b/packages/schema/src/types/hooks.ts index b0df1adeb82..d620c724003 100644 --- a/packages/schema/src/types/hooks.ts +++ b/packages/schema/src/types/hooks.ts @@ -4,7 +4,7 @@ import type { Compiler, Configuration, Stats } from 'webpack' import type { TSConfig } from 'pkg-types' import type { InlineConfig as ViteInlineConfig, ViteDevServer } from 'vite' import type { Manifest } from 'vue-bundle-renderer' -import type { Middleware } from 'h3' +import type { EventHandler } from 'h3' import type { ModuleContainer } from './module' import type { NuxtTemplate, Nuxt, NuxtApp } from './nuxt' import type { Preset as ImportPreset, Import } from 'unimport' @@ -77,6 +77,7 @@ export interface NuxtHooks { 'builder:generateApp': () => HookResult 'pages:extend': (pages: NuxtPage[]) => HookResult 'build:manifest': (manifest: Manifest) => HookResult + 'server:devHandler': (handler: EventHandler) => HookResult // Auto imports 'imports:sources': (presets: ImportPresetWithDeprecation[]) => HookResult @@ -158,10 +159,10 @@ export interface NuxtHooks { 'webpack:config': (webpackConfigs: Configuration[]) => HookResult 'webpack:devMiddleware': (middleware: (req: IncomingMessage, res: ServerResponse, next: (err?: any) => any) => any) => HookResult 'webpack:hotMiddleware': (middleware: (req: IncomingMessage, res: ServerResponse, next: (err?: any) => any) => any) => HookResult + 'server:devMiddleware': (middleware: (req: IncomingMessage, res: ServerResponse, next: (err?: any) => any) => any) => HookResult 'build:compile': (options: { name: string, compiler: Compiler }) => HookResult 'build:compiled': (options: { name: string, compiler: Compiler, stats: Stats }) => HookResult 'build:resources': (mfs?: Compiler['outputFileSystem']) => HookResult - 'server:devMiddleware': (middleware: Middleware) => HookResult 'bundler:change': (shortPath: string) => void 'bundler:error': () => void 'bundler:done': () => void diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts index cd9c47196e0..e1b97bfd526 100644 --- a/packages/vite/src/client.ts +++ b/packages/vite/src/client.ts @@ -8,7 +8,7 @@ import { getPort } from 'get-port-please' import { joinURL, withoutLeadingSlash } from 'ufo' import defu from 'defu' import type { OutputOptions } from 'rollup' -import { fromNodeMiddleware } from 'h3' +import { defineEventHandler } from 'h3' import { cacheDirPlugin } from './plugins/cache-dir' import { wpfs } from './utils/wpfs' import type { ViteBuildContext, ViteOptions } from './vite' @@ -110,19 +110,20 @@ export async function buildClient (ctx: ViteBuildContext) { const viteServer = await vite.createServer(clientConfig) ctx.clientServer = viteServer await ctx.nuxt.callHook('vite:serverCreated', viteServer, { isClient: true, isServer: false }) - const viteMiddleware = fromNodeMiddleware((req, res, next) => { + const viteMiddleware = defineEventHandler(async (event) => { // Workaround: vite devmiddleware modifies req.url - const originalURL = req.url! + const originalURL = event.req.url! if (!originalURL.startsWith('/__nuxt_vite_node__') && !originalURL.startsWith(clientConfig.base!)) { - req.url = joinURL('/__url', originalURL) + event.req.url = joinURL('/__url', originalURL) } - - viteServer.middlewares.handle(req, res, (err: Error) => { - req.url = originalURL - next!(err) + await new Promise((resolve, reject) => { + viteServer.middlewares.handle(event.req, event.res, (err: Error) => { + event.req.url = originalURL + return err ? reject(err) : resolve(null) + }) }) }) - await ctx.nuxt.callHook('server:devMiddleware', viteMiddleware) + await ctx.nuxt.callHook('server:devHandler', viteMiddleware) ctx.nuxt.hook('close', async () => { await viteServer.close() diff --git a/packages/webpack/src/webpack.ts b/packages/webpack/src/webpack.ts index c3a52296064..9b065af6ea4 100644 --- a/packages/webpack/src/webpack.ts +++ b/packages/webpack/src/webpack.ts @@ -1,8 +1,7 @@ -import type { IncomingMessage, ServerResponse } from 'node:http' import pify from 'pify' import webpack from 'webpack' -import { promisifyHandler } from 'h3' -import webpackDevMiddleware, { API, OutputFileSystem } from 'webpack-dev-middleware' +import { fromNodeMiddleware, defineEventHandler, NodeMiddleware } from 'h3' +import webpackDevMiddleware, { OutputFileSystem } from 'webpack-dev-middleware' import webpackHotMiddleware from 'webpack-hot-middleware' import type { Compiler, Watching } from 'webpack' @@ -76,35 +75,34 @@ async function createDevMiddleware (compiler: Compiler) { logger.debug('Creating webpack middleware...') // Create webpack dev middleware - const devMiddleware = pify(webpackDevMiddleware(compiler, { + const devMiddleware = webpackDevMiddleware(compiler, { publicPath: joinURL(nuxt.options.app.baseURL, nuxt.options.app.buildAssetsDir), outputFileSystem: compiler.outputFileSystem as any, stats: 'none', ...nuxt.options.webpack.devMiddleware - })) as any as API + }) // @ts-ignore nuxt.hook('close', () => pify(devMiddleware.close.bind(devMiddleware))()) const { client: _client, ...hotMiddlewareOptions } = nuxt.options.webpack.hotMiddleware || {} - const hotMiddleware = pify(webpackHotMiddleware(compiler, { + const hotMiddleware = webpackHotMiddleware(compiler, { log: false, heartbeat: 10000, path: joinURL(nuxt.options.app.baseURL, '__webpack_hmr', compiler.options.name!), ...hotMiddlewareOptions - })) as any as API + }) await nuxt.callHook('webpack:devMiddleware', devMiddleware) await nuxt.callHook('webpack:hotMiddleware', hotMiddleware) // Register devMiddleware on server - const handlers = [promisifyHandler(devMiddleware), promisifyHandler(hotMiddleware)] - await nuxt.callHook('server:devMiddleware', async (req, res, next) => { - for (const mw of handlers) { - await mw?.(req, res) - } - next() - }) + const devHandler = fromNodeMiddleware(devMiddleware as NodeMiddleware) + const hotHandler = fromNodeMiddleware(hotMiddleware as NodeMiddleware) + await nuxt.callHook('server:devHandler', defineEventHandler(async (event) => { + await devHandler(event) + await hotHandler(event) + })) return devMiddleware } diff --git a/playground/app.vue b/playground/app.vue index c93a9dcaf5f..17d631007a1 100644 --- a/playground/app.vue +++ b/playground/app.vue @@ -9,4 +9,5 @@ From ebc386d25d1641995b0c31c38fa64608c8edd238 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sat, 15 Oct 2022 20:21:46 +0200 Subject: [PATCH 4/8] fix lint issue --- packages/nuxt/src/core/nitro.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 4689a6ec4a3..56cf7b626d4 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -6,7 +6,7 @@ import type { Nuxt } from '@nuxt/schema' import { resolvePath } from '@nuxt/kit' import defu from 'defu' import fsExtra from 'fs-extra' -import { toEventHandler, dynamicEventHandler } from 'h3' +import { dynamicEventHandler } from 'h3' import { distDir } from '../dirs' import { ImportProtectionPlugin } from './plugins/import-protection' From 6be3bc26fd15e96f8a86ef3a03f39346f2415792 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sat, 15 Oct 2022 20:24:15 +0200 Subject: [PATCH 5/8] update compatibility types --- packages/nuxt/src/app/composables/cookie.ts | 4 ++-- packages/nuxt/src/app/composables/ssr.ts | 6 +++--- packages/nuxt/src/app/nuxt.ts | 8 ++------ packages/nuxt/src/core/runtime/nitro/renderer.ts | 2 -- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/packages/nuxt/src/app/composables/cookie.ts b/packages/nuxt/src/app/composables/cookie.ts index 59e22169308..9df2d82852e 100644 --- a/packages/nuxt/src/app/composables/cookie.ts +++ b/packages/nuxt/src/app/composables/cookie.ts @@ -1,7 +1,7 @@ import { ref, Ref, watch } from 'vue' import { parse, serialize, CookieParseOptions, CookieSerializeOptions } from 'cookie-es' import { appendHeader } from 'h3' -import type { CompatibilityEvent } from 'h3' +import type { H3Event } from 'h3' import destr from 'destr' import { isEqual } from 'ohash' import { useNuxtApp } from '../nuxt' @@ -70,7 +70,7 @@ function writeClientCookie (name: string, value: any, opts: CookieSerializeOptio } } -function writeServerCookie (event: CompatibilityEvent, name: string, value: any, opts: CookieSerializeOptions = {}) { +function writeServerCookie (event: H3Event, name: string, value: any, opts: CookieSerializeOptions = {}) { if (event) { // TODO: Try to smart join with existing Set-Cookie headers appendHeader(event, 'Set-Cookie', serializeCookie(name, value, opts)) diff --git a/packages/nuxt/src/app/composables/ssr.ts b/packages/nuxt/src/app/composables/ssr.ts index f2e127e3f14..9ae0fc919fc 100644 --- a/packages/nuxt/src/app/composables/ssr.ts +++ b/packages/nuxt/src/app/composables/ssr.ts @@ -1,5 +1,5 @@ /* eslint-disable no-redeclare */ -import type { CompatibilityEvent } from 'h3' +import type { H3Event } from 'h3' import { useNuxtApp, NuxtApp } from '../nuxt' export function useRequestHeaders (include: K[]): Record @@ -11,8 +11,8 @@ export function useRequestHeaders (include?: any[]) { return Object.fromEntries(include.filter(key => headers[key]).map(key => [key, headers[key]])) } -export function useRequestEvent (nuxtApp: NuxtApp = useNuxtApp()): CompatibilityEvent { - return nuxtApp.ssrContext?.event as CompatibilityEvent +export function useRequestEvent (nuxtApp: NuxtApp = useNuxtApp()): H3Event { + return nuxtApp.ssrContext?.event as H3Event } export function setResponseStatus (code: number, message?: string) { diff --git a/packages/nuxt/src/app/nuxt.ts b/packages/nuxt/src/app/nuxt.ts index da86fdd4706..1d0c419331f 100644 --- a/packages/nuxt/src/app/nuxt.ts +++ b/packages/nuxt/src/app/nuxt.ts @@ -5,7 +5,7 @@ import { createHooks, Hookable } from 'hookable' import type { RuntimeConfig, AppConfigInput } from '@nuxt/schema' import { getContext } from 'unctx' import type { SSRContext } from 'vue-bundle-renderer/runtime' -import type { CompatibilityEvent } from 'h3' +import type { H3Event } from 'h3' const nuxtAppCtx = getContext('nuxt-app') @@ -40,11 +40,7 @@ export interface RuntimeNuxtHooks { export interface NuxtSSRContext extends SSRContext { url: string - event: CompatibilityEvent - /** @deprecated Use `event` instead. */ - req?: CompatibilityEvent['req'] - /** @deprecated Use `event` instead. */ - res?: CompatibilityEvent['res'] + event: H3Event runtimeConfig: RuntimeConfig noSSR: boolean /** whether we are rendering an SSR error */ diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 125106d0330..79b70b030c0 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -139,8 +139,6 @@ export default defineRenderHandler(async (event) => { const ssrContext: NuxtSSRContext = { url, event, - req: event.req, - res: event.res, runtimeConfig: useRuntimeConfig() as NuxtSSRContext['runtimeConfig'], noSSR: !!(process.env.NUXT_NO_SSR) || From a43372387b14ffb3a15d582bbdddd3f11b8e04a9 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sat, 15 Oct 2022 20:25:35 +0200 Subject: [PATCH 6/8] more refactors --- packages/kit/src/nitro.ts | 6 +++--- packages/nuxi/src/commands/analyze.ts | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/kit/src/nitro.ts b/packages/kit/src/nitro.ts index a4fe041d016..8e48265246b 100644 --- a/packages/kit/src/nitro.ts +++ b/packages/kit/src/nitro.ts @@ -1,12 +1,12 @@ -import type { Middleware } from 'h3' +import type { NodeMiddleware } from 'h3' import type { NitroEventHandler, NitroDevEventHandler, Nitro } from 'nitropack' import { useNuxt } from './context' export interface LegacyServerMiddleware { route?: string, path?: string, - handle?: Middleware | string - handler: Middleware | string + handle?: NodeMiddleware | string + handler: NodeMiddleware | string } /** diff --git a/packages/nuxi/src/commands/analyze.ts b/packages/nuxi/src/commands/analyze.ts index 6dab922740c..8b07ba1a595 100644 --- a/packages/nuxi/src/commands/analyze.ts +++ b/packages/nuxi/src/commands/analyze.ts @@ -1,6 +1,6 @@ import { promises as fsp } from 'node:fs' import { join, resolve } from 'pathe' -import { createApp, defineLazyHandler } from 'h3' +import { createApp, eventHandler, lazyEventHandler, toNodeListener } from 'h3' import { listen } from 'listhen' import { writeTypes } from '../utils/prepare' import { loadKit } from '../utils/kit' @@ -37,9 +37,9 @@ export default defineNuxtCommand({ const app = createApp() - const serveFile = (filePath: string) => defineLazyHandler(async () => { + const serveFile = (filePath: string) => lazyEventHandler(async () => { const contents = await fsp.readFile(filePath, 'utf-8') - return (_req, res) => { res.end(contents) } + return eventHandler((event) => { event.res.end(contents) }) }) console.warn('Do not deploy analyze results! Use `nuxi build` before deploying.') @@ -65,7 +65,7 @@ export default defineNuxtCommand({ `) - await listen(app) + await listen(toNodeListener(app)) return 'wait' as const } From 31a0135b4e5d514e854b4d6efc4488d590514648 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sat, 15 Oct 2022 20:31:19 +0200 Subject: [PATCH 7/8] update route options api --- packages/nuxt/src/core/nitro.ts | 2 +- packages/nuxt/src/core/runtime/nitro/renderer.ts | 10 +++------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index 56cf7b626d4..a108db0cf01 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -229,7 +229,7 @@ async function resolveHandlers (nuxt: Nuxt) { } declare module 'nitropack' { - interface NitroRouteOption { + interface NitroRouteOptions { ssr?: boolean } } diff --git a/packages/nuxt/src/core/runtime/nitro/renderer.ts b/packages/nuxt/src/core/runtime/nitro/renderer.ts index 79b70b030c0..505b08f64f0 100644 --- a/packages/nuxt/src/core/runtime/nitro/renderer.ts +++ b/packages/nuxt/src/core/runtime/nitro/renderer.ts @@ -3,10 +3,9 @@ import type { RenderResponse } from 'nitropack' import type { Manifest } from 'vite' import { appendHeader, getQuery } from 'h3' import devalue from '@nuxt/devalue' -import { createRouter as createMatcher } from 'radix3' import { joinURL } from 'ufo' import { renderToString as _renderToString } from 'vue/server-renderer' -import { useRuntimeConfig, useNitroApp, defineRenderHandler } from '#internal/nitro' +import { useRuntimeConfig, useNitroApp, defineRenderHandler, getRouteOptions } from '#internal/nitro' // eslint-disable-next-line import/no-restricted-paths import type { NuxtApp, NuxtSSRContext } from '#app' @@ -107,9 +106,6 @@ const getSPARenderer = lazyCachedFunction(async () => { } }) -// Set up route rule matcher -const routerOptions = createMatcher({ routes: useRuntimeConfig().nitro.routes }) - const PAYLOAD_CACHE = (process.env.NUXT_PAYLOAD_EXTRACTION && process.env.prerender) ? new Map() : null // TODO: Use LRU cache const PAYLOAD_URL_RE = /\/_payload(\.[a-zA-Z0-9]+)?.js(\?.*)?$/ @@ -132,8 +128,8 @@ export default defineRenderHandler(async (event) => { } } - // TODO: share across endpoints on event context - const routeOptions = event.context.routeOptions || routerOptions.lookup(url) || {} + // Get route options (currently to apply `ssr: false`) + const routeOptions = getRouteOptions(event) // Initialize ssr context const ssrContext: NuxtSSRContext = { From 71823d22f0ffd51ec40b181cc70e4468cc5983c3 Mon Sep 17 00:00:00 2001 From: Pooya Parsa Date: Sat, 15 Oct 2022 20:35:25 +0200 Subject: [PATCH 8/8] also update NitroRouteConfig --- packages/nuxt/src/core/nitro.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/nuxt/src/core/nitro.ts b/packages/nuxt/src/core/nitro.ts index a108db0cf01..464ea493b78 100644 --- a/packages/nuxt/src/core/nitro.ts +++ b/packages/nuxt/src/core/nitro.ts @@ -229,6 +229,9 @@ async function resolveHandlers (nuxt: Nuxt) { } declare module 'nitropack' { + interface NitroRouteConfig { + ssr?: boolean + } interface NitroRouteOptions { ssr?: boolean }