UNPKG

@vue-macros/jsx-directive

Version:

jsxDirective feature from Vue Macros.

32 lines (30 loc) 993 B
import { transformJsxDirective } from "./core-C0tCr7mj.js"; import { FilterFileType, REGEX_NODE_MODULES, REGEX_SETUP_SFC, createFilter, detectVueVersion, getFilterPattern } from "@vue-macros/common"; //#region src/core/plugin.ts function resolveOptions(options, framework) { const version = options.version || detectVueVersion(); const include = getFilterPattern([FilterFileType.VUE_SFC, FilterFileType.SRC_FILE], framework); return { include, exclude: [REGEX_NODE_MODULES, REGEX_SETUP_SFC], ...options, prefix: options.prefix ?? "v-", lib: options.lib ?? "vue", version }; } const name = "unplugin-vue-jsx-directive"; const plugin = (userOptions = {}, { framework } = { framework: "vite" }) => { const options = resolveOptions(userOptions, framework); const filter = createFilter(options); return { name, enforce: "pre", transformInclude: filter, transform(code, id) { return transformJsxDirective(code, id, options); } }; }; //#endregion export { plugin };