Skip to content

Commit

Permalink
feat(vite): expose api plugin, close #2738
Browse files Browse the repository at this point in the history
  • Loading branch information
antfu committed Aug 8, 2023
1 parent 6da58a3 commit 95ae28a
Showing 1 changed file with 13 additions and 1 deletion.
14 changes: 13 additions & 1 deletion packages/vite/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { Plugin } from 'vite'
import type { UserConfigDefaults } from '@unocss/core'
import type { UnocssPluginContext, UserConfigDefaults } from '@unocss/core'
import UnocssInspector from '@unocss/inspector'
import { createContext } from './integration'
import { ChunkModeBuildPlugin } from './modes/chunk-build'
Expand All @@ -22,6 +22,11 @@ export function defineConfig<Theme extends object>(config: VitePluginConfig<Them
return config
}

export interface UnocssVitePluginAPI {
getContext(): UnocssPluginContext<VitePluginConfig>
getMode(): VitePluginConfig['mode']
}

export default function UnocssPlugin<Theme extends object>(
configOrPath?: VitePluginConfig<Theme> | string,
defaults: UserConfigDefaults = {},
Expand All @@ -34,6 +39,13 @@ export default function UnocssPlugin<Theme extends object>(
ConfigHMRPlugin(ctx),
...createTransformerPlugins(ctx),
...createDevtoolsPlugin(ctx),
{
name: 'unocss:api',
api: <UnocssVitePluginAPI>{
getContext: () => ctx,
getMode: () => mode,
},
},
]

if (inlineConfig.inspector !== false)
Expand Down

0 comments on commit 95ae28a

Please sign in to comment.