"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/index.ts var _unplugincombine = require('unplugin-combine'); var _betterdefine = require('@vue-macros/better-define'); var _betterdefine2 = _interopRequireDefault(_betterdefine); var _definemodel = require('@vue-macros/define-model'); var _definemodel2 = _interopRequireDefault(_definemodel); var _unpluginvuedefineoptions = require('unplugin-vue-define-options'); var _unpluginvuedefineoptions2 = _interopRequireDefault(_unpluginvuedefineoptions); var _defineprops = require('@vue-macros/define-props'); var _defineprops2 = _interopRequireDefault(_defineprops); var _definepropsrefs = require('@vue-macros/define-props-refs'); var _definepropsrefs2 = _interopRequireDefault(_definepropsrefs); var _definerender = require('@vue-macros/define-render'); var _definerender2 = _interopRequireDefault(_definerender); var _defineslots = require('@vue-macros/define-slots'); var _defineslots2 = _interopRequireDefault(_defineslots); var _exportprops = require('@vue-macros/export-props'); var _exportprops2 = _interopRequireDefault(_exportprops); var _hoiststatic = require('@vue-macros/hoist-static'); var _hoiststatic2 = _interopRequireDefault(_hoiststatic); var _namedtemplate = require('@vue-macros/named-template'); var _namedtemplate2 = _interopRequireDefault(_namedtemplate); var _reactivitytransform = require('@vue-macros/reactivity-transform'); var _reactivitytransform2 = _interopRequireDefault(_reactivitytransform); var _setupblock = require('@vue-macros/setup-block'); var _setupblock2 = _interopRequireDefault(_setupblock); var _setupcomponent = require('@vue-macros/setup-component'); var _setupcomponent2 = _interopRequireDefault(_setupcomponent); var _setupsfc = require('@vue-macros/setup-sfc'); var _setupsfc2 = _interopRequireDefault(_setupsfc); var _shortemits = require('@vue-macros/short-emits'); var _shortemits2 = _interopRequireDefault(_shortemits); var _singledefine = require('@vue-macros/single-define'); var _singledefine2 = _interopRequireDefault(_singledefine); var _common = require('@vue-macros/common'); var _devtools = require('@vue-macros/devtools'); function resolveOptions({ root, version, plugins, isProduction, nuxtContext, betterDefine, defineModel, defineOptions, defineProps, definePropsRefs, defineRender, defineSlots, exportProps, hoistStatic, namedTemplate, reactivityTransform, setupBlock, setupComponent, setupSFC, shortEmits, singleDefine }) { function resolveSubOptions(options, commonOptions, defaultEnabled = true) { options = _nullishCoalesce(options, () => ( defaultEnabled)); if (!options) return false; return { ...options === true ? {} : options, ...commonOptions }; } root = root || process.cwd(); version = version || _common.detectVueVersion.call(void 0, root); isProduction = _nullishCoalesce(isProduction, () => ( process.env.NODE_ENV === "production")); return { plugins: plugins || {}, root, version, isProduction, nuxtContext: nuxtContext || {}, betterDefine: resolveSubOptions(betterDefine, { version, isProduction }), defineModel: resolveSubOptions(defineModel, { version }), defineOptions: resolveSubOptions(defineOptions, { version }), defineProps: resolveSubOptions(defineProps, { version }), definePropsRefs: resolveSubOptions(definePropsRefs, { version }), defineRender: resolveSubOptions(defineRender, { version }), defineSlots: resolveSubOptions(defineSlots, { version }), exportProps: resolveSubOptions(exportProps, { version }), hoistStatic: resolveSubOptions(hoistStatic, { version }), namedTemplate: resolveSubOptions(namedTemplate, { version }), reactivityTransform: resolveSubOptions( reactivityTransform, { version } ), setupBlock: resolveSubOptions(setupBlock, { version }, false), setupComponent: resolveSubOptions(setupComponent, { version, root }), setupSFC: resolveSubOptions(setupSFC, { version }), shortEmits: resolveSubOptions(shortEmits, { version }), singleDefine: resolveSubOptions(singleDefine, { isProduction, version }) }; } function resolvePlugin(unplugin, framework, options) { if (!options) return; return unplugin[framework](options); } var name = "unplugin-vue-macros"; var src_default = _unplugincombine.createCombinePlugin.call(void 0, (userOptions = {}, meta) => { const options = resolveOptions(userOptions); const framework = meta.framework; const setupComponentPlugins = resolvePlugin( _setupcomponent2.default, framework, options.setupComponent ); const namedTemplatePlugins = resolvePlugin( _namedtemplate2.default, framework, options.namedTemplate ); const plugins = [ resolvePlugin(_setupsfc2.default, framework, options.setupSFC), setupComponentPlugins == null ? void 0 : setupComponentPlugins[0], resolvePlugin(_setupblock2.default, framework, options.setupBlock), namedTemplatePlugins == null ? void 0 : namedTemplatePlugins[0], resolvePlugin(_singledefine2.default, framework, options.singleDefine), resolvePlugin(_defineprops2.default, framework, options.defineProps), resolvePlugin(_definepropsrefs2.default, framework, options.definePropsRefs), resolvePlugin(_exportprops2.default, framework, options.exportProps), resolvePlugin(_shortemits2.default, framework, options.shortEmits), resolvePlugin(_definemodel2.default, framework, options.defineModel), resolvePlugin(_defineslots2.default, framework, options.defineSlots), resolvePlugin( _reactivitytransform2.default, framework, options.reactivityTransform ), resolvePlugin(_betterdefine2.default, framework, options.betterDefine), resolvePlugin(_hoiststatic2.default, framework, options.hoistStatic), resolvePlugin(_unpluginvuedefineoptions2.default, framework, options.defineOptions), options.plugins.vue, options.plugins.vueJsx, resolvePlugin(_definerender2.default, framework, options.defineRender), setupComponentPlugins == null ? void 0 : setupComponentPlugins[1], namedTemplatePlugins == null ? void 0 : namedTemplatePlugins[1], framework === "vite" ? _devtools.Devtools.call(void 0, { nuxtContext: options.nuxtContext }) : void 0 ].filter(Boolean); return { name, plugins }; } ); exports.src_default = src_default;