fix(schema): don't use app/ as srcDir if it doesn't exist (#28176)

This commit is contained in:
Daniel Roe 2024-07-16 15:12:31 +01:00
parent a051035881
commit 6720a2eab1
No known key found for this signature in database
GPG Key ID: CBC814C393D93268
2 changed files with 13 additions and 7 deletions

View File

@ -118,13 +118,15 @@ export default defineUntypedSchema({
}
const srcDir = resolve(rootDir, 'app')
if (!existsSync(srcDir)) {
return rootDir
}
const srcDirFiles = new Set<string>()
if (existsSync(srcDir)) {
const files = await readdir(srcDir).catch(() => [])
for (const file of files) {
if (file !== 'spa-loading-template.html' && !file.startsWith('router.options')) {
srcDirFiles.add(file)
}
const files = await readdir(srcDir).catch(() => [])
for (const file of files) {
if (file !== 'spa-loading-template.html' && !file.startsWith('router.options')) {
srcDirFiles.add(file)
}
}
if (srcDirFiles.size === 0) {

View File

@ -1,10 +1,14 @@
import { describe, expect, it } from 'vitest'
import { describe, expect, it, vi } from 'vitest'
import { applyDefaults } from 'untyped'
import { normalize } from 'pathe'
import { NuxtConfigSchema } from '../src'
import type { NuxtOptions } from '../src'
vi.mock('node:fs', () => ({
existsSync: (id: string) => id.endsWith('app'),
}))
describe('nuxt folder structure', () => {
it('should resolve directories for v3 setup correctly', async () => {
const result = await applyDefaults(NuxtConfigSchema, {})