#Feature Folder Pattern in nuxt3
import { readdirSync } from 'fs'
import { defineNuxtModule, addComponentsDir, addImportsDir, createResolver } from '@nuxt/kit'
const featureFolder = 'features'
export default defineNuxtModule({
setup() {
const resolver = createResolver(import.meta.url)
readdirSync(featureFolder).forEach((feature) => {
addComponentsDir({
path: resolver.resolve(`../${featureFolder}/${feature}/components`),
prefix: feature,
})
addImportsDir(resolver.resolve(`../${featureFolder}/${feature}/composables`))
// we don't want feature utils to be imported in the app
// addImportsDir(resolver.resolve(`../${featureFolder}/${feature}/utils`))
})
},
})