@vue-macros/better-define
Version:
betterDefine feature from Vue Macros.
62 lines (59 loc) • 1.45 kB
JavaScript
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
};