import { getPinceauContext, transform, transformInclude } from '@pinceau/core/utils' import type { PinceauContext } from '@pinceau/core' import { createUnplugin } from 'unplugin' import type { UnpluginInstance } from 'unplugin' import { suite } from './transforms/suite' import { pluginTypes } from './utils/plugin-types' const PinceauStylePlugin: UnpluginInstance = createUnplugin(() => { let ctx: PinceauContext return { name: 'pinceau:style-plugin', enforce: 'pre', vite: { async configResolved(config) { ctx = getPinceauContext(config) ctx.addTypes(pluginTypes) }, }, transformInclude: id => transformInclude(id, ctx), transform: async (code, id) => await transform(code, id, suite, ctx), } }) export default PinceauStylePlugin