UNPKG

@vue-macros/better-define

Version:

betterDefine feature from Vue Macros.

62 lines (59 loc) 1.45 kB
import { transformBetterDefine } from "./chunk-7KXZFU5H.js"; // src/index.ts import process from "node:process"; import { resolveDtsHMR } from "@vue-macros/api"; import { createFilter, detectVueVersion, FilterFileType, getFilterPattern } from "@vue-macros/common"; import { createUnplugin } from "unplugin"; function resolveOptions(options, framework) { const version = options.version || detectVueVersion(); const include = getFilterPattern( [FilterFileType.VUE_SFC_WITH_SETUP, FilterFileType.SETUP_SFC], framework ); return { include, isProduction: process.env.NODE_ENV === "production", ...options, version }; } var name = "unplugin-vue-better-define"; var plugin = createUnplugin( (userOptions = {}, { framework }) => { const options = resolveOptions(userOptions, framework); const filter = createFilter(options); return { name, enforce: "pre", transformInclude: filter, transform(code, id) { return transformBetterDefine(code, id, options.isProduction).match( (res) => res, (error) => { this.warn(`${name} ${error}`); console.warn(error); } ); }, vite: { configResolved(config) { options.isProduction ??= config.isProduction; }, handleHotUpdate: resolveDtsHMR } }; } ); var index_default = plugin; export { index_default };