@vue-jsx-vapor/macros
Version:
Macros for Vue JSX Vapor
62 lines (59 loc) • 2.14 kB
JavaScript
const require_chunk = require('./chunk-CUT6urMc.cjs');
const require_core = require('./core-CXO9Fupx.cjs');
const require_options = require('./options-CQy8quq_.cjs');
let __vue_macros_common = require("@vue-macros/common");
__vue_macros_common = require_chunk.__toESM(__vue_macros_common);
let __vue_compiler_sfc = require("@vue/compiler-sfc");
__vue_compiler_sfc = require_chunk.__toESM(__vue_compiler_sfc);
//#region src/core/style.ts
async function transformStyle(code, id, options) {
const query = new URLSearchParams(id.split("?")[1]);
return (await (0, __vue_compiler_sfc.compileStyleAsync)({
filename: id,
id: `data-v-${query.get("scopeId")}`,
isProd: options.isProduction,
source: code,
scoped: query.get("scoped") === "true"
})).code;
}
//#endregion
//#region src/raw.ts
const name = "@vue-jsx-vapor/macros";
const plugin = (userOptions = {}) => {
const options = require_options.resolveOptions(userOptions);
const filter = (0, __vue_macros_common.createFilter)(options);
const importMap = /* @__PURE__ */ new Map();
return {
name,
enforce: "pre",
resolveId(id) {
if ((0, __vue_macros_common.normalizePath)(id).startsWith(require_core.helperPrefix)) return id;
},
loadInclude(id) {
return (0, __vue_macros_common.normalizePath)(id).startsWith(require_core.helperPrefix);
},
load(_id) {
const id = (0, __vue_macros_common.normalizePath)(_id);
if (id === require_core.useModelHelperId) return require_core.use_model_default;
else if (id === require_core.withDefaultsHelperId) return require_core.with_defaults_default;
else if (importMap.get(id)) return importMap.get(id);
},
transformInclude(id) {
if (importMap.get(id)) return true;
return filter(id);
},
transform(code, id, opt) {
if (opt?.ssr) options.defineComponent.autoReturnFunction = true;
if (importMap.get(id)) return transformStyle(code, id, options);
return require_core.transformJsxMacros(code, id, importMap, options);
}
};
};
var raw_default = plugin;
//#endregion
Object.defineProperty(exports, 'raw_default', {
enumerable: true,
get: function () {
return raw_default;
}
});