|
- import {
- SETUP_COMPONENT_ID_REGEX,
- getMainModule,
- hotUpdateSetupComponent,
- isSubModule,
- loadSetupComponent,
- transformPost,
- transformSetupComponent
- } from "./chunk-NXJ7EWBD.mjs";
-
- // src/index.ts
- import { createUnplugin } from "unplugin";
- import {
- REGEX_NODE_MODULES,
- REGEX_SETUP_SFC,
- REGEX_SRC_FILE,
- REGEX_VUE_SUB,
- createFilter,
- detectVueVersion
- } from "@vue-macros/common";
- function resolveOption(options) {
- const root = options.root || process.cwd();
- const version = options.version || detectVueVersion(root);
- return {
- include: [REGEX_SRC_FILE],
- exclude: [REGEX_SETUP_SFC, REGEX_VUE_SUB, REGEX_NODE_MODULES],
- ...options,
- root,
- version
- };
- }
- var name = "unplugin-vue-setup-component";
- var PrePlugin = createUnplugin(
- (userOptions = {}, meta) => {
- const options = resolveOption(userOptions);
- const filter = createFilter(options);
- const setupComponentContext = {};
- return {
- name: `${name}-pre`,
- enforce: "pre",
- resolveId(id, importer) {
- if (SETUP_COMPONENT_ID_REGEX.test(id))
- return id;
- if (["rollup", "vite"].includes(meta.framework) && importer && isSubModule(importer)) {
- const mainModule = getMainModule(importer, options.root);
- return this.resolve(id, mainModule, {
- skipSelf: true
- });
- }
- },
- loadInclude(id) {
- return SETUP_COMPONENT_ID_REGEX.test(id);
- },
- load(id) {
- return loadSetupComponent(id, setupComponentContext, options.root);
- },
- transformInclude(id) {
- return filter(id);
- },
- transform(code, id) {
- return transformSetupComponent(code, id, setupComponentContext);
- },
- vite: {
- configResolved(config) {
- options.root = config.root;
- },
- handleHotUpdate: (ctx) => {
- if (filter(ctx.file)) {
- return hotUpdateSetupComponent(ctx, setupComponentContext);
- }
- }
- }
- };
- }
- );
- var PostPlugin = createUnplugin(() => {
- return {
- name: `${name}-post`,
- enforce: "post",
- transformInclude(id) {
- return isSubModule(id);
- },
- transform(code, id) {
- return transformPost(code, id);
- },
- rollup: {
- transform: {
- order: "post",
- handler(code, id) {
- if (!isSubModule(id))
- return;
- return transformPost(code, id);
- }
- }
- }
- };
- });
- var plugin = createUnplugin(
- (options = {}, meta) => {
- return [PrePlugin.raw(options, meta), PostPlugin.raw(options, meta)];
- }
- );
- var src_default = plugin;
-
- export {
- src_default
- };
|