-
-
Notifications
You must be signed in to change notification settings - Fork 367
/
Copy pathindex.ts
35 lines (31 loc) · 964 Bytes
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import type { Plugin } from 'vite'
import { createRollupPlugin } from './plugins/build'
import { createServerPlugin } from './plugins/server'
import { Options } from './types'
import { VueScriptTransformer } from './transforms/vueScript'
import { VueTemplateTransformer } from './transforms/vueTemplate'
import { Context } from './context'
const defaultOptions: Options = {
dirs: 'src/components',
extensions: 'vue',
deep: true,
alias: {},
}
function VitePluginComponents(options: Partial<Options> = {}): Plugin {
const resolvedOptions: Options = Object.assign({}, defaultOptions, options)
const ctx: Context = new Context(resolvedOptions)
return {
configureServer: createServerPlugin(ctx),
rollupInputOptions: {
plugins: [
createRollupPlugin(ctx),
],
},
transforms: [
VueScriptTransformer(ctx),
VueTemplateTransformer(ctx),
],
}
}
export type { Options }
export default VitePluginComponents