UNPKG

@phoria/phoria-vue

Version:

Use Vue with Phoria Islands for dotnet.

4 lines (2 loc) 1.11 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@rollup/pluginutils"),o=require("@vitejs/plugin-vue"),m=require("magic-string"),f="phoria-vue",a={client:"client",ssr:"ssr"},h={include:["**/*.vue"],exclude:"node_modules/**",cwd:process.cwd()};function x(e){const r=["@phoria/phoria-vue/server"];e.resolve??(e.resolve={}),typeof e.resolve.external>"u"?e.resolve.external=r:Array.isArray(e.resolve.external)&&e.resolve.external.push(...r)}function g(e){const r={...h,...e},s=l.createFilter(r.include,r.exclude),i=l.normalizePath(r.cwd),v=new RegExp(`^${i}`,"i");return{name:f,config:t=>{var n,u;t.environments??(t.environments={}),(n=t.environments)[u=a.ssr]??(n[u]={})},configEnvironment(t,n){t===a.ssr&&x(n)},transform(t,n){if(!s(n))return;const u=n.replace(v,""),c=new m(t);c.append(` export const __phoriaComponentPath = "${u}";`);const d=c.generateMap({source:n,file:`${n}.map`,includeContent:!0});return{code:c.toString(),map:d}}}}function p(e){const r=(e==null?void 0:e.vue)!==!1?[o(e==null?void 0:e.vue)]:[];return r.push(g(e)),r}exports.phoriaVue=p;