fix(kit): revert change to tryResolveModule

This commit is contained in:
Daniel Roe 2024-07-03 23:19:54 +01:00
parent 655e1473da
commit 2d136e04c6
No known key found for this signature in database
GPG Key ID: CBC814C393D93268
2 changed files with 8 additions and 7 deletions

View File

@ -1,5 +1,5 @@
import { pathToFileURL } from 'node:url' import { pathToFileURL } from 'node:url'
import { interopDefault, resolvePathSync } from 'mlly' import { interopDefault, resolvePath, resolvePathSync } from 'mlly'
export interface ResolveModuleOptions { export interface ResolveModuleOptions {
paths?: string | string[] paths?: string | string[]
@ -11,9 +11,9 @@ export interface ResolveModuleOptions {
* *
* @internal * @internal
*/ */
export function tryResolveModule (id: string, url: string | string[] = import.meta.url) { export async function tryResolveModule (id: string, url: string | string[] = import.meta.url) {
try { try {
return resolvePathSync(id, { url }) return await resolvePath(id, { url })
} catch { } catch {
// intentionally empty as this is a `try-` function // intentionally empty as this is a `try-` function
} }

View File

@ -2,7 +2,7 @@ import { resolve } from 'pathe'
import * as vite from 'vite' import * as vite from 'vite'
import vuePlugin from '@vitejs/plugin-vue' import vuePlugin from '@vitejs/plugin-vue'
import viteJsxPlugin from '@vitejs/plugin-vue-jsx' import viteJsxPlugin from '@vitejs/plugin-vue-jsx'
import { logger, resolvePath, tryResolveModule } from '@nuxt/kit' import { logger, resolvePath, tryImportModule } from '@nuxt/kit'
import { joinURL, withTrailingSlash, withoutLeadingSlash } from 'ufo' import { joinURL, withTrailingSlash, withoutLeadingSlash } from 'ufo'
import type { ViteConfig } from '@nuxt/schema' import type { ViteConfig } from '@nuxt/schema'
import type { ViteBuildContext } from './vite' import type { ViteBuildContext } from './vite'
@ -107,14 +107,15 @@ export async function buildServer (ctx: ViteBuildContext) {
} satisfies vite.InlineConfig, ctx.nuxt.options.vite.$server || {})) } satisfies vite.InlineConfig, ctx.nuxt.options.vite.$server || {}))
if (!ctx.nuxt.options.dev) { if (!ctx.nuxt.options.dev) {
const nitroDependencies = await tryResolveModule('nitro/runtime/meta', ctx.nuxt.options.modulesDir) const { runtimeDependencies = [] } = await tryImportModule<typeof import('nitro/runtime/meta')>('nitro/runtime/meta', {
.then(r => import(r!)).then(r => r.runtimeDependencies || []).catch(() => []) paths: ctx.nuxt.options.modulesDir,
}) || {}
if (Array.isArray(serverConfig.ssr!.external)) { if (Array.isArray(serverConfig.ssr!.external)) {
serverConfig.ssr!.external.push( serverConfig.ssr!.external.push(
// explicit dependencies we use in our ssr renderer - these can be inlined (if necessary) in the nitro build // explicit dependencies we use in our ssr renderer - these can be inlined (if necessary) in the nitro build
'unhead', '@unhead/ssr', 'unctx', 'h3', 'devalue', '@nuxt/devalue', 'radix3', 'unstorage', 'hookable', 'unhead', '@unhead/ssr', 'unctx', 'h3', 'devalue', '@nuxt/devalue', 'radix3', 'unstorage', 'hookable',
// dependencies we might share with nitro - these can be inlined (if necessary) in the nitro build // dependencies we might share with nitro - these can be inlined (if necessary) in the nitro build
...nitroDependencies, ...runtimeDependencies,
) )
} }
} }