esbuild-plugin-vue-iii
Version:
a esbuild plugin for vue 3 SFC files.
40 lines • 1.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveScript = exports.setResolvedScript = exports.getResolvedScript = void 0;
const compiler_sfc_1 = require("@vue/compiler-sfc");
const template_1 = require("./template");
// ssr and non ssr builds would output different script content
const clientCache = new WeakMap();
const ssrCache = new WeakMap();
function getResolvedScript(descriptor, ssr) {
return (ssr ? ssrCache : clientCache).get(descriptor);
}
exports.getResolvedScript = getResolvedScript;
function setResolvedScript(descriptor, script, ssr) {
;
(ssr ? ssrCache : clientCache).set(descriptor, script);
}
exports.setResolvedScript = setResolvedScript;
function resolveScript(descriptor, options, ssr) {
if (!descriptor.script && !descriptor.scriptSetup) {
return null;
}
const cacheToUse = ssr ? ssrCache : clientCache;
const cached = cacheToUse.get(descriptor);
if (cached) {
return cached;
}
let resolved = null;
resolved = compiler_sfc_1.compileScript(descriptor, {
...options.script,
id: descriptor.id,
isProd: options.isProduction,
inlineTemplate: !options.devServer,
refTransform: options.refTransform !== false,
templateOptions: template_1.resolveTemplateCompilerOptions(descriptor, options, ssr)
});
cacheToUse.set(descriptor, resolved);
return resolved;
}
exports.resolveScript = resolveScript;
//# sourceMappingURL=script.js.map