mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 08:33:53 +00:00
fix(nuxt): respect ignorelist when scanning auto-imports (#22782)
This commit is contained in:
parent
23723305da
commit
b5ce892864
@ -1,4 +1,4 @@
|
|||||||
import { addTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, resolveAlias, tryResolveModule, updateTemplates, useNuxt } from '@nuxt/kit'
|
import { addTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, isIgnored, resolveAlias, tryResolveModule, updateTemplates, useNuxt } from '@nuxt/kit'
|
||||||
import { isAbsolute, join, normalize, relative, resolve } from 'pathe'
|
import { isAbsolute, join, normalize, relative, resolve } from 'pathe'
|
||||||
import type { Import, Unimport } from 'unimport'
|
import type { Import, Unimport } from 'unimport'
|
||||||
import { createUnimport, scanDirExports } from 'unimport'
|
import { createUnimport, scanDirExports } from 'unimport'
|
||||||
@ -92,7 +92,9 @@ export default defineNuxtModule<Partial<ImportsOptions>>({
|
|||||||
// Clear old imports
|
// Clear old imports
|
||||||
imports.length = 0
|
imports.length = 0
|
||||||
// Scan `composables/`
|
// Scan `composables/`
|
||||||
const composableImports = await scanDirExports(composablesDirs)
|
const composableImports = await scanDirExports(composablesDirs, {
|
||||||
|
fileFilter: file => !isIgnored(file)
|
||||||
|
})
|
||||||
for (const i of composableImports) {
|
for (const i of composableImports) {
|
||||||
i.priority = i.priority || priorities.find(([dir]) => i.from.startsWith(dir))?.[1]
|
i.priority = i.priority || priorities.find(([dir]) => i.from.startsWith(dir))?.[1]
|
||||||
}
|
}
|
||||||
|
@ -889,6 +889,13 @@ describe('composable tree shaking', () => {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe('ignore list', () => {
|
||||||
|
it('should ignore composable files in .nuxtignore', async () => {
|
||||||
|
const html = await $fetch('/ignore/composables')
|
||||||
|
expect(html).toContain('was import ignored: true')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
describe('server tree shaking', () => {
|
describe('server tree shaking', () => {
|
||||||
it('should work', async () => {
|
it('should work', async () => {
|
||||||
const html = await $fetch('/client')
|
const html = await $fetch('/client')
|
||||||
|
1
test/fixtures/basic/.nuxtignore
vendored
Normal file
1
test/fixtures/basic/.nuxtignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
composables/ignored.*
|
3
test/fixtures/basic/composables/ignored.ts
vendored
Normal file
3
test/fixtures/basic/composables/ignored.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export function useIgnoredImport () {
|
||||||
|
|
||||||
|
}
|
9
test/fixtures/basic/pages/ignore/composables.vue
vendored
Normal file
9
test/fixtures/basic/pages/ignore/composables.vue
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<script setup lang="ts">
|
||||||
|
const wasImportIgnored = typeof useIgnoredImport === 'undefined'
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
was import ignored: {{ wasImportIgnored }}
|
||||||
|
</div>
|
||||||
|
</template>
|
Loading…
Reference in New Issue
Block a user