import Components from 'unplugin-vue-components/vite'
import AutoImport from 'unplugin-auto-import/vite'

export const autoImportPlugin = () => {
  return AutoImport({
    dts: 'src/types/auto-imports.d.ts',
    imports: [
      'vue',
      'pinia',
      'vue-router',
      {
        '@vueuse/core': [
          'useStorage',
          'useDebounceFn',
          'useThrottleFn',
          'useTimeoutFn',
          'useInterval',
          'useEventBus'
        ]
      }
    ],
    dirs: ['src/composables', 'src/stores/**/*', 'src/hooks'],
    resolvers: []
  })
}

export const autoComponentsPlugin = () => {
  return Components({
    extensions: ['vue', 'tsx'],
    include: [/\.vue$/, /\.vue\?vue/, /\.tsx$/],
    dts: 'src/types/components.d.ts',
    directoryAsNamespace: false
  })
}
