@wren-js/core 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +6 -6
- package/dist/components/Link/wren-link.mjs +1 -1
- package/dist/{constants-mXGY-8RW.mjs → constants-BnikgPOx.mjs} +1 -1
- package/dist/constants-CB936btA.mjs +1 -0
- package/dist/constants.mjs +1 -1
- package/dist/response.d.mts +5 -0
- package/dist/response.mjs +1 -0
- package/dist/runtime/prerender.mjs +1 -1
- package/dist/runtime/router.mjs +1 -1
- package/dist/utils-li1KYQ1O.mjs +1 -0
- package/package.json +2 -1
- package/dist/constants-BzbcwnVj.mjs +0 -1
- package/dist/utils-DhsYUjpC.mjs +0 -1
package/dist/cli.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{_ as e,b as t,d as n,f as r,g as i,h as a,l as o,m as s,t as c,u as l,v as u,y as d}from"./constants-
|
|
1
|
+
import{_ as e,b as t,d as n,f as r,g as i,h as a,l as o,m as s,t as c,u as l,v as u,y as d}from"./constants-BnikgPOx.mjs";import{c as f,d as p,f as m,l as h,n as g,p as _}from"./constants-CB936btA.mjs";import{CONFIG_VALID_EXTENSIONS as v,DEFAULTS as y}from"./config.mjs";import{t as b}from"./utils-li1KYQ1O.mjs";import{existsSync as ee}from"node:fs";import{basename as te,dirname as x,extname as ne,isAbsolute as re,join as ie,relative as S,resolve as C}from"node:path";import w from"node:process";import{parseArgs as ae}from"node:util";import{Visitor as T,createBuilder as oe,createServer as se,defineConfig as ce,isCSSRequest as le,loadConfigFromFile as ue,loadEnv as de,mergeConfig as E,normalizePath as D,parseSync as O,perEnvironmentState as fe,resolveEnvPrefix as pe,transformWithOxc as me}from"vite";import{mkdir as he,readFile as k,readdir as ge,rm as A,writeFile as j}from"node:fs/promises";import{pathToFileURL as _e}from"node:url";const M=e=>w.platform===`win32`?e.toUpperCase():e,ve=()=>{let e=/* @__PURE__ */ new Map;return(t,n)=>{for(let[t,n]of e)w.env[t]===n&&delete w.env[t];e.clear();let r=new Set(Object.keys(w.env).map(M)),i=de(t,n,``);for(let[t,n]of Object.entries(i)){let i=M(t);r.has(i)||(w.env[t]=n,e.set(i,n))}}},ye=(e,t)=>{let n=n=>typeof n==`string`&&!Object.hasOwn(e,n)&&!t.some(e=>n.startsWith(e)),r=e=>n(e)&&Object.hasOwn(globalThis.process.env,e);return new Proxy(e,{get(e,t,n){return r(t)?globalThis.process.env[t]:Reflect.get(e,t,n)},getOwnPropertyDescriptor(e,t){return Reflect.getOwnPropertyDescriptor(r(t)?globalThis.process.env:e,t)},has(e,t){return Reflect.has(e,t)||r(t)},ownKeys(e){return[...Reflect.ownKeys(e),...Object.keys(globalThis.process.env).filter(n)]}})},N=`virtual:${d}-server-env`,P=`\0${N}`,F=`import.meta.env.`,be=()=>{let e=fe(({config:e})=>{let t=Object.fromEntries(Object.entries(e.env).map(([e,t])=>[F+e,JSON.stringify(t)]));for(let[n,r]of Object.entries(e.define??{}))n.startsWith(F)&&(t[n]=typeof r==`string`?r:JSON.stringify(r)??`undefined`);return t[`${F}SSR`]=`true`,t});return{applyToEnvironment:e=>e.config.consumer===`server`,load:{filter:{id:RegExp(`^${P}$`)},handler(){let t=Object.entries(e(this)).map(([e,t])=>`${JSON.stringify(e.slice(16))}: ${t}`),n=pe({envPrefix:this.environment.config.envPrefix});return`export default (${ye.toString()})({${t.join(`,`)}}, ${JSON.stringify(n)});`}},name:`${d}-server-env`,resolveId:{filter:{id:RegExp(`^${N}$`)},handler:()=>P},transform:{filter:{code:/\bmeta\b/,id:/\.[cm]?[jt]sx?(?:$|\?)/},handler(t,n){if(n===P)return null;let r=`__wrenServerEnv`;if(t.includes(r)||t.includes(`\\u`)){let{errors:e,program:i}=O(n.split(`?`)[0],t);if(e.length>0)return this.error(e[0].message);let a=/* @__PURE__ */ new Set;for(new T({Identifier:e=>void a.add(e.name)}).visit(i);a.has(r);)r+=`_`}return me(t,n,{define:{...e(this),"import.meta.env":r},inject:{[r]:[N,`default`]},jsx:`preserve`,tsconfig:!1})}}}},I=e=>{let t=0;for(let n=e.indexOf(`
|
|
2
2
|
`);n!==-1;n=e.indexOf(`
|
|
3
3
|
`,n+1))t++;return t},xe=(e,t,n,r)=>{let i=I(e.slice(t,n))-I(r);return{end:n,start:t,text:i>0?r+`
|
|
4
|
-
`.repeat(i):r}},Se=(e,t)=>{let n=``,r=0;for(let{end:i,start:a,text:o}of t.toSorted((e,t)=>e.start-t.start))n+=e.slice(r,a)+o,r=i;return n+e.slice(r)},L=e=>te(e,ne(e)),Ce=e=>Object.fromEntries(e.toSorted(([e],[t])=>e<t?-1:1)),we=e=>{let t=[];for(let{entries:n}of e)for(let{exportName:e,isType:r}of n){if(r)continue;let n=e.kind===`Default`?`default`:e.name;n!==null&&t.push(n)}return t},Te=/^(?:[a-z][a-z\d+.-]*:|\/\/)/i,R=e=>{if(e.type===`Literal`&&typeof e.value==`string`)return e.value;if(e.type===`TemplateLiteral`&&e.expressions.length===0)return e.quasis[0]?.value.cooked??void 0},z=({value:e})=>{if(e?.type===`Literal`)return e.value;if(e?.type===`JSXExpressionContainer`)return R(e.expression)},Ee=(e,t)=>{let n={kept:[]};for(let r of t.attributes){let t=e.slice(r.start,r.end);if(r.type!==`JSXAttribute`||r.name.type!==`JSXIdentifier`){n.kept.push(t);continue}let{name:i}=r.name;i===`src`?n.src=r:i===`dangerouslySetInnerHTML`?n.html=r:(i===`type`&&(n.type=z(r)),n.kept.push(t))}return n},De=({key:e})=>e.type===`Identifier`?e.name:e.type===`Literal`?e.value:null,Oe=({value:e})=>{let t=e?.type===`JSXExpressionContainer`?e.expression:void 0;if(t?.type===`ObjectExpression`)for(let e of t.properties){if(e.type!==`Property`||e.computed||De(e)!==`__html`)continue;let t=R(e.value);return t===void 0?void 0:[t,e.value.start+1]}},ke=(e,t)=>{if(t)return Oe(t);let n=e.children.filter(e=>e.type!==`JSXText`||e.value.trim()!==``);if(n.length===0)return[``,e.start];if(n.length!==1)return;let[r]=n;if(r.type===`JSXText`)return[r.value,r.start];if(r.type!==`JSXExpressionContainer`)return;let i=R(r.expression);return i===void 0?void 0:[i,r.expression.start+1]},Ae=({name:e})=>e.type===`JSXIdentifier`&&e.name===`script`,B=(e,t)=>{let n=[],r=[],{errors:i,program:a}=
|
|
5
|
-
`.repeat(I(r.slice(0,i.codeStart)))+i.code,map:null}:e.error(`Inline page script #${n} not found in ${t}.`)},Ne=e=>{let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Set,r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=/* @__PURE__ */ new Map,s,c=[],l=(e,n)=>{let r=Y(e,n.id),i=t.get(r)??{...n,key:r};return t.set(r,i),i},u=(e,t)=>{let n=/* @__PURE__ */ new Set,a=/* @__PURE__ */ new Set,o=e=>{if(!a.has(e)){a.add(e);for(let t of r.get(e)??[])n.add(t);for(let t of i.get(e)?.values()??[])for(let e of t)n.add(e);for(let n of t(e))o(n)}};return o(e),[...n]},
|
|
4
|
+
`.repeat(i):r}},Se=(e,t)=>{let n=``,r=0;for(let{end:i,start:a,text:o}of t.toSorted((e,t)=>e.start-t.start))n+=e.slice(r,a)+o,r=i;return n+e.slice(r)},L=e=>te(e,ne(e)),Ce=e=>Object.fromEntries(e.toSorted(([e],[t])=>e<t?-1:1)),we=e=>{let t=[];for(let{entries:n}of e)for(let{exportName:e,isType:r}of n){if(r)continue;let n=e.kind===`Default`?`default`:e.name;n!==null&&t.push(n)}return t},Te=/^(?:[a-z][a-z\d+.-]*:|\/\/)/i,R=e=>{if(e.type===`Literal`&&typeof e.value==`string`)return e.value;if(e.type===`TemplateLiteral`&&e.expressions.length===0)return e.quasis[0]?.value.cooked??void 0},z=({value:e})=>{if(e?.type===`Literal`)return e.value;if(e?.type===`JSXExpressionContainer`)return R(e.expression)},Ee=(e,t)=>{let n={kept:[]};for(let r of t.attributes){let t=e.slice(r.start,r.end);if(r.type!==`JSXAttribute`||r.name.type!==`JSXIdentifier`){n.kept.push(t);continue}let{name:i}=r.name;i===`src`?n.src=r:i===`dangerouslySetInnerHTML`?n.html=r:(i===`type`&&(n.type=z(r)),n.kept.push(t))}return n},De=({key:e})=>e.type===`Identifier`?e.name:e.type===`Literal`?e.value:null,Oe=({value:e})=>{let t=e?.type===`JSXExpressionContainer`?e.expression:void 0;if(t?.type===`ObjectExpression`)for(let e of t.properties){if(e.type!==`Property`||e.computed||De(e)!==`__html`)continue;let t=R(e.value);return t===void 0?void 0:[t,e.value.start+1]}},ke=(e,t)=>{if(t)return Oe(t);let n=e.children.filter(e=>e.type!==`JSXText`||e.value.trim()!==``);if(n.length===0)return[``,e.start];if(n.length!==1)return;let[r]=n;if(r.type===`JSXText`)return[r.value,r.start];if(r.type!==`JSXExpressionContainer`)return;let i=R(r.expression);return i===void 0?void 0:[i,r.expression.start+1]},Ae=({name:e})=>e.type===`JSXIdentifier`&&e.name===`script`,B=(e,t)=>{let n=[],r=[],{errors:i,program:a}=O(t,e);if(i.length>0)return{scripts:n,warnings:r};let o=0,s=/* @__PURE__ */ new Set,c=e=>{for(let t of e.children)s.add(t.start)},l=t=>{let{html:i,kept:a,src:c,type:l}=Ee(e,t.openingElement),u=c&&z(c),d=u!==void 0&&!Te.test(u);if(l!==`module`){d&&_.test(u)&&r.push(`<script src="${u}"> is not bundled; add type="module" to make it a page script.`);return}let f={attributes:a,end:t.end,replacement:s.has(t.start)?``:`<></>`,start:t.start};if(c){d&&n.push({...f,kind:`src`,src:u});return}let p=ke(t,i);if(!p){r.push(`<script type="module"> content must be a static string to be bundled.`);return}let[m,h]=p;m.trim()!==``&&n.push({...f,code:m,codeStart:h,index:o++,kind:`inline`})};return new T({JSXElement(e){c(e),Ae(e.openingElement)&&l(e)},JSXFragment:c}).visit(a),{scripts:n,warnings:r}},V=`virtual:${d}-page-scripts`,H=`__wrenPageScripts`,U=`${V}:route:`,W=`\0${U}`,G=`\0${f}`,K=/\?wren-script=(\d+)\.ts$/,q=`__wren-page-scripts.mjs`,J=`\0${h}`,Y=(e,t)=>{let n=D(S(e,t));return n.startsWith(`../`)||re(n)?`@fs/${D(t).replace(/^\//,``)}`:n},je=async(e,t,n)=>{let r=t.attributes.filter(e=>!/^type\b/.test(e));if(r.length>0&&e.warn(`Page script attributes are dropped when hoisted: ${r.join(` `)}`),t.kind===`inline`)return{id:`${n}?wren-script=${t.index}.ts`,name:`${L(n)}-${t.index}`};let i=await e.resolve(t.src,n);if(!i||i.external||i.id.includes(`/node_modules/`))e.warn(`Page script "${t.src}" must resolve to a project file; left as is.`);else return{id:i.id,name:L(i.id)}},Me=async(e,t,n)=>{let r=await k(t,`utf8`),i=B(r,t).scripts.find(e=>e.kind===`inline`&&e.index===n);return i?.kind===`inline`?{code:`
|
|
5
|
+
`.repeat(I(r.slice(0,i.codeStart)))+i.code,map:null}:e.error(`Inline page script #${n} not found in ${t}.`)},Ne=e=>{let t=/* @__PURE__ */ new Map,n=/* @__PURE__ */ new Set,r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Map,o=/* @__PURE__ */ new Map,s,c=[],l=(e,n)=>{let r=Y(e,n.id),i=t.get(r)??{...n,key:r};return t.set(r,i),i},u=(e,t)=>{let n=/* @__PURE__ */ new Set,a=/* @__PURE__ */ new Set,o=e=>{if(!a.has(e)){a.add(e);for(let t of r.get(e)??[])n.add(t);for(let t of i.get(e)?.values()??[])for(let e of t)n.add(e);for(let n of t(e))o(n)}};return o(e),[...n]},p=async(e,t,n,i)=>{let{scripts:a,warnings:o}=B(t,n),s=a.map(({end:e,replacement:n,start:r})=>xe(t,r,e,n));if(!i)return s;for(let t of o)e.warn(t);let c=await Promise.all(a.map(t=>je(e,t,n))),{root:u}=e.environment.config;return r.set(n,c.flatMap(e=>e?[l(u,e)]:[])),s.filter((e,t)=>c[t])},v=(e,t,n)=>{if(!n)return`\nexport const ${g} = async () => (await import(${JSON.stringify(U+encodeURIComponent(e))})).default;\n`;let r=Y(t,e);return a.set(e,r),`\nimport ${H} from ${JSON.stringify(V)};export const ${g} = () => ${H}.routes[${JSON.stringify(r)}];\n`},y=(e,t)=>{let n=u(t,t=>c.flatMap(({moduleGraph:n})=>{let r=n.getModuleById(t);return r?.file&&re(r.file)&&e.addWatchFile(r.file),Array.from(r?.importedModules??[],e=>e.id).filter(e=>e!==null&&!le(e))})),{base:r}=e.environment.config;return`export default ${JSON.stringify(n.map(e=>r+e.key))};`};return{buildApp:{async handler(e){let r=[...t.values()],i=r.filter(e=>!e.url).map(e=>e.key);if(i.length>0)throw Error(`[${d}] Page scripts were not bundled by the client environment (server environments must build first): ${i.join(`, `)}`);let s={routes:Ce(Array.from(a,([e,t])=>[t,u(e,e=>o.get(e)??[]).map(e=>e.url)])),scripts:Ce(r.map(e=>[e.key,e.url]))},c=`export default ${JSON.stringify(s)};\n`;await Promise.all([...n].map(async t=>{let{build:n,root:r}=e.environments[t].config;await j(C(r,n.outDir,q),c)}))},order:`post`},buildEnd(){if(this.environment.mode===`build`)for(let e of this.getModuleIds()){let t=this.getModuleInfo(e);if(!t)continue;let n=[...t.importedIds,...t.dynamicallyImportedIds];o.set(e,[...o.get(e)??[],...n])}},buildStart(){let{mode:e,name:n}=this.environment;if(e===`build`&&n===`client`)for(let e of t.values())e.reference=this.emitFile({id:e.id,name:`scripts/${e.name}`,preserveSignature:`exports-only`,type:`chunk`})},configResolved(t){s=`${D(C(t.root,e))}/`},configureServer(e){c=Object.values(e.environments)},enforce:`pre`,generateBundle(){if(this.environment.name!==`client`)return;let{base:e}=this.environment.config;for(let n of t.values())n.reference&&(n.url=e+this.getFileName(n.reference))},load:{filter:{id:[K,RegExp(`^${J}`),RegExp(`^${W}`),RegExp(`^${G}$`)]},async handler(e){let{config:t,mode:n}=this.environment;if(e===G)return`export {};`;if(e.startsWith(J)){let r=e.slice(J.length),{key:i}=l(t.root,{id:r,name:L(r)});return n===`build`?`import ${H} from ${JSON.stringify(V)};export default ${H}.scripts[${JSON.stringify(i)}];`:`export default ${JSON.stringify(t.base+i)};`}if(e.startsWith(W))return y(this,decodeURIComponent(e.slice(W.length)));let r=K.exec(e);return r?Me(this,e.slice(0,r.index),Number(r[1])):null}},name:`${d}-page-scripts`,renderChunk(e,t){if(!e.includes(V))return null;this.environment.config.build.write&&n.add(this.environment.name);let r=D(S(x(t.fileName),q)),i=r.startsWith(`.`)?r:`./${r}`;return{code:e.replaceAll(V,i),map:null}},resolveId:{filter:{id:RegExp(`^(?:${f}|${h}|${V})`)},async handler(e,t){if(e.startsWith(`virtual:wrenjs-hoist:`)){if(t&&this.environment.config.consumer===`server`){let n=await this.resolve(e.slice(f.length),t);if(!n?.id.startsWith(J))return this.error(`"${e}" must resolve to a Wren page script (${t}).`);let r=n.id.slice(J.length),a=l(this.environment.config.root,{id:r,name:L(r)}),o=i.get(t)??/* @__PURE__ */ new Map,s=o.get(this.environment.name)??/* @__PURE__ */ new Set;i.set(t,o.set(this.environment.name,s.add(a)))}return G}return e.startsWith(`virtual:wrenjs-script-url:`)||e.startsWith(U)?`\0${e}`:e===V?{external:!0,id:e}:null}},sharedDuringBuild:!0,transform:{filter:{id:_},async handler(e,t){let{config:n,mode:a}=this.environment,o=n.consumer===`server`,c=o&&t.startsWith(s)&&m.test(t),l=e.includes(`<script`)?await p(this,e,t,o):[];if(l.length===0&&r.delete(t),i.get(t)?.delete(this.environment.name),l.length===0&&!c)return null;let u=c?v(t,n.root,a===`build`):``;return{code:Se(e,l)+u,map:null}}}}},Pe=/<link\b(?=[^>]*\srel="stylesheet")(?![^>]*\s(?:disabled|media)\b)[^>]*\shref="([^"]+)"[^>]*>/gi,Fe=/\sdata-precedence="[^"]*"/i,Ie=/<\/(style)/gi,Le=(e,t,n,r)=>{for(let i of Object.values(e)){if(i.type!==`asset`||!i.fileName.endsWith(`.css`))continue;let e=Buffer.from(i.source);e.byteLength<n&&r.set(t+i.fileName,e.toString().replace(Ie,`<\\/$1`))}},Re=(e,t)=>{let n=e.indexOf(`</head>`);return n===-1&&(n=e.length),e.slice(0,n).replace(Pe,(e,n)=>{let r=t.get(n);if(r===void 0)return e;let i=Fe.exec(e)?.[0]??``,a=`<style data-href="${n}"${i}>${r}</style>`;return i?`${a}<link disabled type="text/x-inlined"${e.slice(5)}`:a})+e.slice(n)},ze=async(e,t,n=`http://localhost`,r=!1,i=/* @__PURE__ */ new Map)=>{let a=new URL(n);if(!/^https?:$/.test(a.protocol)||a.href!==`${a.origin}/`)throw Error(`build.prerender.origin must be an HTTP(S) origin.`);let o=/* @__PURE__ */ new Set,s=/* @__PURE__ */ new Set,c=async({pathname:e,response:n})=>{let r=b(e);if(n.status!==200)throw Error(`Cannot prerender ${r}: HTTP ${n.status}.`);let a=n.headers.get(`content-type`)?.startsWith(`text/html`),c=a?ie(r.slice(1),`index.html`):r.slice(1);if(o.has(r)||s.has(c))throw Error(`Conflicting prerender artifact: ${r}.`);o.add(r),s.add(c);let l=ie(t,c);await he(x(l),{recursive:!0}),await j(l,a&&i.size>0?Re(await n.text(),i):new Uint8Array(await n.arrayBuffer()))},l=0;return await Promise.all(e.map(async e=>{let t=await e.getPaths(r);await Promise.all(t.map(async t=>{let n=b(t);if(o.has(n))throw Error(`Multiple prerender providers claim ${n}.`);let r=await e.render(new Request(new URL(n,a)));if(await Promise.all(r.map(c)),!o.has(n))throw Error(`Prerender renderer did not return ${n}.`);l++}))})),l},Be=e=>{let t=e.integrations?.flatMap(({prerender:e})=>e?[{...e,output:``,reference:``}]:[])??[],n=e.build?.inlineCSS,r=n===!0?1/0:n||0,i=/* @__PURE__ */ new Map;return{apply:`build`,buildApp:{async handler(n){if(!t.length)return;let r=await Promise.all(t.map(async({environment:e,output:t})=>{if(!t)throw Error(`No prerender entry was built for ${e}.`);return import(
|
|
6
6
|
/* @vite-ignore */
|
|
7
|
-
_e(t).href)})),a=n.environments.client;if(!a)throw Error(`Prerendering requires a client output environment.`);let o=await ze(r,
|
|
8
|
-
`)}`);let i=We(e.name,we(r.staticExports));return i&&{file:t,kind:i}},X=(e,t)=>{let n=[];return{params:n,pattern:t.slice(e.length).replace(/\.[^/.]+$/,``).replace(/\/(?:index|__not-found)$/,``).replaceAll(/\[(\.\.\.)?([^[\]]+)\]/g,(e,t,r)=>(n.push(r),t?`:${r}*`:`:${r}`)).replaceAll(Ue,``)||`/`}},qe=async(e,t)=>{let n=
|
|
7
|
+
_e(t).href)})),a=n.environments.client;if(!a)throw Error(`Prerendering requires a client output environment.`);let o=await ze(r,C(n.config.root,a.config.build.outDir),e.build?.prerender?.origin,e.build?.output===`static`,i);n.config.logger.info(`Prerendered ${o} pages.`),await Promise.all(t.flatMap(({output:e})=>[A(e,{force:!0}),A(`${e}.map`,{force:!0})]))},order:`post`},buildStart(){for(let e of t)e.environment===this.environment.name&&(e.reference=this.emitFile({id:e.entry,preserveSignature:`strict`,type:`chunk`}))},generateBundle(){if(this.environment.config.build.write)for(let e of t)e.environment===this.environment.name&&(e.output=C(this.environment.config.root,this.environment.config.build.outDir,this.getFileName(e.reference)))},name:`${d}-prerender`,sharedDuringBuild:!0,writeBundle(e,t){r&&this.environment.name===`client`&&Le(t,this.environment.config.base,r,i)}}},Ve=/* @__PURE__ */ new Map([[o,s],[l,a],[n,e],[r,u]]),He={layouts:[],proxies:[]},Ue=/\/\([^/]+\)(?=\/|$)/g,We=(e,t)=>{let n=t.includes(`default`),r=c.some(e=>t.includes(e)),a=Ve.get(L(e));if(n)return a?r?void 0:a:i;if(r)return!a||a===`LAYOUT`||a===`ROOT`?`API`:void 0},Ge=e=>e.isFile()&&m.test(e.name),Ke=async e=>{let t=D(`${e.parentPath}/${e.name}`),{errors:n,module:r}=O(t,await k(t,`utf8`));if(n.length>0)throw SyntaxError(`Cannot parse ${t}: ${n.map(e=>e.message).join(`
|
|
8
|
+
`)}`);let i=We(e.name,we(r.staticExports));return i&&{file:t,kind:i}},X=(e,t)=>{let n=[];return{params:n,pattern:t.slice(e.length).replace(/\.[^/.]+$/,``).replace(/\/(?:index|__not-found)$/,``).replaceAll(/\[(\.\.\.)?([^[\]]+)\]/g,(e,t,r)=>(n.push(r),t?`:${r}*`:`:${r}`)).replaceAll(Ue,``)||`/`}},qe=async(e,t)=>{let n=D(C(t,e.router)),r=await ge(n,{recursive:!0,withFileTypes:!0}),i=(await Promise.all(r.filter(Ge).map(Ke))).filter(e=>e!==void 0),a=/* @__PURE__ */ new Map;for(let e of i){let{kind:t}=e;if(t!==`LAYOUT`&&t!==`PROXY`&&t!==`ROOT`)continue;let n=x(e.file),r=a.get(n)??{layouts:[],proxies:[],roots:[]};a.set(n,r),t===`LAYOUT`?r.layouts.push(e):t===`PROXY`?r.proxies.push(e):r.roots.push(e)}let o=/* @__PURE__ */ new Map,s=e=>{let t=o.get(e);if(!t){let r=e===n?He:s(x(e)),{layouts:i=[],proxies:c=[],roots:l=[]}=a.get(e)??{};t={layouts:[...i,...l,...r.layouts],proxies:[...c,...r.proxies]},o.set(e,t)}return t},c=[],l=[];for(let{file:e,kind:t}of i)t===`PAGE`?l.push({file:e,kind:t,...X(n,e),...s(x(e))}):(t===`API`||t===`NOT_FOUND`)&&(t===`API`?l:c).push({file:e,kind:t,...X(n,e),proxies:s(x(e)).proxies});return{notFounds:c,routes:l}},Z=()=>({s:Object.create(null)}),Je=(e,t,n)=>{let r=[],i=e,a=n;for(;a<t.length;a++){let e=i.indexOf(`:${t[a]}`);if(e<0)break;r.push(i.slice(0,e)),i=i.slice(e+t[a].length+1)}return r.push(i),{i:a,lits:r}},Ye=(e,t,n)=>{let r=n.params,i=t.split(`/`).filter(Boolean),a=i.at(-1)===`:${r.at(-1)}*`?`w`:`e`;a===`w`&&i.pop();let o=e,s=0;for(let e of i)if(!e.includes(`:`))o.s[e]??=Z(),o=o.s[e];else if(e===`:${r[s]}`)o.p??=Z(),o=o.p,s++;else if(e.endsWith(`*`))throw Error(`Catch-all must be last in "${t}".`);else{let n=Je(e,r,s);if(n.i===s)throw Error(`Params do not match pattern "${t}".`);let i=Z();o.m??=[],o.m.push({lits:n.lits,node:i}),o=i,s=n.i}if(s!==r.length-+(a===`w`))throw Error(`Params do not match pattern "${t}".`);let c=o[a];if(c)throw Error(`"${n.file}" conflicts with "${c.file}".`);o[a]=n},Xe=e=>{let t=Z();for(let[n,r]of Object.entries(e))Ye(t,n,r);return t},Ze=e=>{let t={},n={};for(let r of e){let{params:e,pattern:i,...a}=r;e?.length?t[i]=r:n[i]=a}return[Xe(t),n]},Qe=async(e,t)=>{let{notFounds:n,routes:r}=await qe(e,t),[i,a]=Ze(n),[o,s]=Ze(r);return{dynamicNotFounds:i,dynamicRoutes:o,staticNotFounds:a,staticRoutes:s}},Q=e=>({__wrenCode:e}),$e=(e,t)=>{let n=/* @__PURE__ */ new Map,r=e=>{let t=D(e.file),r=n.get(t);return r||(r=`load${n.size}`,n.set(t,r)),r},i=JSON.stringify(e,(e,t)=>{if(!t||typeof t.file!=`string`)return t;let n=r(t),i=t.layouts?.map(r),a=t.proxies?.map(r);return{kind:t.kind,layouts:i?.map(Q),module:Q(n),params:t.params,pattern:t.pattern,proxies:a?.map(Q),stack:Q(`createStack(${n}, [${i?.join(`, `)??``}], [${a?.join(`, `)??``}])`)}}).replace(/\{"__wrenCode":"([^"]+)"\}/g,`$1`),a=[...n].map(([e,n])=>{let r=`() => import(${JSON.stringify(e)})`;return`const ${n} = ${t?`memoize(${r})`:r};`});return`
|
|
9
9
|
${t?`function memoize(load) {
|
|
10
10
|
let pending;
|
|
11
11
|
return () => {
|
|
@@ -48,4 +48,4 @@ _e(t).href)})),a=n.environments.client;if(!a)throw Error(`Prerendering requires
|
|
|
48
48
|
const manifest = deepFreeze(${i});
|
|
49
49
|
export const { dynamicNotFounds, dynamicRoutes, staticNotFounds, staticRoutes } = manifest;
|
|
50
50
|
export default manifest;
|
|
51
|
-
`},$=`\0${
|
|
51
|
+
`},$=`\0${p}`,et=(e,t)=>({configureServer(e){let n=`${D(C(e.config.root,t.router))}/`,r=t=>{if(!D(t).startsWith(n))return;let r=!1;for(let{moduleGraph:t}of Object.values(e.environments)){let e=t.getModuleById($);e&&(r=!0,t.invalidateModule(e))}r&&e.ws.send({type:`full-reload`})};e.watcher.on(`add`,r).on(`change`,r).on(`unlink`,r)},load:{filter:{id:RegExp(`^${$}$`)},async handler(){let n=await Qe(t,this.environment.config.root);return $e(n,e.command===`build`)}},name:`${d}-route-manifest`,resolveId:{filter:{id:RegExp(`^${p}$`)},handler:()=>$}}),tt=async(e,t)=>{let n=ce({appType:`custom`,build:{minify:!0,outDir:`dist`,rolldownOptions:{experimental:{nativeMagicString:!0},optimization:{inlineConst:{mode:`smart`,pass:2}}}},builder:{async buildApp(e){let t=Object.values(e.environments).toSorted((e,t)=>Number(e.config.consumer===`client`)-Number(t.config.consumer===`client`));for(let n of t){if(n.isBuilt)continue;let{build:t,input:r,isBundled:i}=n.config,a=t.rolldownOptions.input??(t.lib?t.lib.entry:void 0)??(typeof t.ssr==`string`?t.ssr:r);!(typeof a==`string`||Object.keys(a??{}).length>0)||!i?delete e.environments[n.name]:await e.build(n)}},sharedConfigBuild:!0,sharedPlugins:!0},plugins:[{api:{wrenConfig:t},name:`${d}-config`},et(e,t),Ne(t.router),be(),Be(t)],resolve:{noExternal:[/^@wren-js\//],tsconfigPaths:!0}});return(await Promise.all([t.adapter,...t.integrations??[]].map(async n=>n?.viteConfig(t,e)))).reduce((e,t)=>t?E(e,t):e,n)},nt=ve(),rt=async e=>{let t=w.cwd();nt(e.mode,t);let n=v.map(e=>D(C(t,`wren.config.${e}`))),r=n.find(e=>ee(e)),i=r?await ue(e,r):null,a=/* @__PURE__ */ new Set([...n,...(i?.dependencies??[]).map(e=>D(C(e)))]),o=i?E(y,i.config):y,s=E(await tt(e,o),o.vite??{});return{...s,clearScreen:!1,configFile:!1,envDir:t,envPrefix:`VITE_`,mode:e.mode,plugins:[...s.plugins??[],{apply:`serve`,configResolved(e){e.configFileDependencies.push(...a)},configureServer(n){let r=new Set([`.env`,`.env.local`,`.env.${e.mode}`,`.env.${e.mode}.local`].map(e=>D(C(t,e)))),i=n.restart.bind(n),a;n.restart=t=>(a??=(async()=>{let r=await rt(e),{inlineConfig:a}=n.config;for(let e of Object.keys(a))Reflect.deleteProperty(a,e);Object.assign(a,r),await i(t)})().finally(()=>{a=void 0}),a),n.watcher.on(`all`,(e,t)=>{let i=D(t),a=n.config.server.hmr===!1&&(e===`add`||e===`change`||e===`unlink`)&&r.has(i);(e===`change`&&/\.config\.[^/]*$/.test(i)||a)&&n.restart().catch(e=>{n.config.logger.error(e instanceof Error?e.stack??e.message:String(e))})})},name:`${d}-config-reload`}]}},it=async e=>{let n=await rt(e);if(e.command===`build`)return(await oe(n)).buildApp();let r=await se(n);return await r.listen(),console.info(`${d} v${t}`),r.printUrls(),r.bindCLIShortcuts({print:!0}),r},{positionals:at,values:ot}=ae({allowPositionals:!0,args:w.argv.slice(2),options:{help:{short:`h`,type:`boolean`},version:{short:`v`,type:`boolean`}}});if(ot.version)console.info(`${d} v${t}`);else if(ot.help)console.info(`Usage: wren [dev|build] [-h|--help] [-v|--version]`);else{let e=at[0]===`build`?`build`:`serve`;it({command:e,mode:e===`build`?`production`:w.env.NODE_ENV??`development`}).catch(e=>{console.error(e),w.exit(1)})}export{};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,i as t,
|
|
1
|
+
import{a as e,i as t,r as n,s as r,t as i}from"../../constants-CB936btA.mjs";import{n as a,r as o}from"../../utils-li1KYQ1O.mjs";import{kind as s,render as c}from"virtual:wrenjs-link-client";const l=`__wrenNavigation`,u=e=>{let t=a(e)?e[l]:void 0;return a(t)&&typeof t.x==`number`&&typeof t.y==`number`?{x:t.x,y:t.y}:void 0},d=e=>{let t=e.getAttribute(`href`),n=e.getAttribute(`target`);if(!t||e.hasAttribute(`download`)||n&&n!==`_self`||!URL.canParse(t,document.baseURI))return;let r=new URL(t,document.baseURI);if(r.origin===location.origin&&(r.pathname!==location.pathname||r.search!==location.search))return r},f=(e,t)=>{let n=document.createElement(`a`);for(let t of[`href`,`target`,`download`,`rel`]){let r=e.getAttribute(t);r!==null&&n.setAttribute(t,r)}(t.button===1||t.metaKey||t.ctrlKey||t.shiftKey)&&(n.target=`_blank`),document.body.append(n),n.click(),n.remove()},p=e=>{try{return decodeURIComponent(e.slice(1))}catch{return e.slice(1)}},m=(e,t)=>{if(t){scrollTo(t.x,t.y);return}let n=e.hash?document.getElementById(p(e.hash)):null;n?n.scrollIntoView():scrollTo(0,0);let r=n??document.querySelector(`main`)??document.body;r.hasAttribute(`tabindex`)||(r.tabIndex=-1),r.focus({preventScroll:!0})},h=e=>{e.key!==`Enter`||e.defaultPrevented||e.target instanceof HTMLElement&&e.target.matches(`wren-link[href]`)&&e.target.click()},g=e=>{let t=t=>{if(t.defaultPrevented||t.button>1||!(t.target instanceof Element))return;let n=t.target.closest(`wren-link[href]`);if(!n||t.target.closest(`a, button, input, select, textarea`))return;t.preventDefault();let r=d(n),i=t.button===0&&!t.metaKey&&!t.ctrlKey&&!t.altKey&&!t.shiftKey;e&&r&&i?e(r):f(n,t)};window.addEventListener(`click`,t),window.addEventListener(`auxclick`,t),window.addEventListener(`keydown`,h)},_=()=>{let e=history.state,t=a(e)?e:{};history.replaceState({...t,[l]:{x:scrollX,y:scrollY}},``)},v=e=>{let t=new URL(location.href),n,r,i=!1,a=async(r,i)=>{n?.abort(),n=new AbortController;let{signal:a}=n;try{if(await e(r,a),a.aborted)return;i||history.pushState({[l]:{x:0,y:0}},``,r),t=r,m(r,i)}catch(e){if(a.aborted)return;o(e)||console.error(`[wrenjs] Client navigation failed; using browser navigation.`,e),i?location.reload():location.assign(r.href)}};g(e=>{i=!0,history.scrollRestoration=`manual`,_(),a(e)}),window.addEventListener(`popstate`,e=>{if(!i)return;let r=new URL(location.href),o=u(e.state);r.pathname===t.pathname&&r.search===t.search?(n?.abort(),m(r,o)):o?a(r,o):location.reload()}),window.addEventListener(`scroll`,()=>{r??=requestAnimationFrame(()=>{r=void 0,i&&_()})},{passive:!0})};function y(r,a){let o=new URL(r);o.pathname+=e,o.hash=``;let s=new Headers({[i]:n});return a&&s.set(t,a.id),new Request(o,{body:a?.body,headers:s,method:a?`POST`:`GET`,redirect:`manual`})}const b=`data-prefetch`,x={"":!0,false:!1,hover:`hover`,"on-load":`on-load`,true:!0,visible:`visible`},S=/* @__PURE__ */ new Map,C=/* @__PURE__ */ new Set,w=()=>{let{connection:e,onLine:t}=navigator;return t&&!e?.saveData&&!e?.effectiveType?.includes(`2g`)},T=e=>{let t=new URL(e);return t.hash=``,t.href},E=e=>{S.get(e)?.controller.abort(),S.delete(e)},D=()=>{for(let e of S.keys())E(e)},O=async(e,t)=>{let n=await fetch(y(e),{signal:t});if(n.headers.get(`content-type`)?.startsWith(`text/x-component`))return n;await n.body?.cancel()},k=e=>{let t=Date.now();for(let[e,n]of S)t-n.created>=3e4&&E(e);let n=S.get(e);if(n)return n;S.size>=20&&E(S.keys().next().value);let r=new AbortController,i={controller:r,created:t,response:O(e,r.signal)};return S.set(e,i),i.response.catch(()=>{S.get(e)===i&&S.delete(e)}),i},A=async e=>{let t=w()?d(e):void 0;if(!t)return;let n=T(t);if(s===`flight`)await k(n).response;else if(s===`document`&&!C.has(n)){C.add(n);let e=document.createElement(`link`);e.rel=`prefetch`,e.as=`document`,e.href=n,document.head.append(e)}};var j=class extends HTMLElement{static observedAttributes=[b,`href`];get prefetch(){let e=this.getAttribute(b);return e===null?`hover`:Object.hasOwn(x,e)?x[e]:(console.warn(`[wrenjs] Invalid Link prefetch mode:`,e),!1)}#e;#t;#n;attributeChangedCallback(){this.isConnected&&this.#s()}connectedCallback(){this.#e=new AbortController;let{signal:e}=this.#e;this.addEventListener(`mouseenter`,this.#i,{signal:e}),this.addEventListener(`focus`,this.#i,{signal:e}),this.addEventListener(`mouseleave`,this.#a,{signal:e}),this.addEventListener(`blur`,this.#a,{signal:e}),this.#s()}disconnectedCallback(){this.#r(),this.#e?.abort()}#r(){this.#a(),this.#n?.disconnect(),this.#n=void 0}#i=()=>{this.#a();let{prefetch:e}=this;(e===!0||e===`hover`)&&(this.#t=setTimeout(()=>this.#o(),80))};#a=()=>{clearTimeout(this.#t),this.#t=void 0};#o(){A(this).catch(e=>{e instanceof DOMException&&e.name===`AbortError`||console.error(`[wrenjs] Unable to prefetch Link.`,e)})}#s(){if(this.#r(),!this.hasAttribute(`href`))return;this.hasAttribute(`role`)||this.setAttribute(`role`,`link`),this.hasAttribute(`tabindex`)||(this.tabIndex=0);let{prefetch:e}=this;e===`on-load`?this.#o():e===`visible`&&(this.#n=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(this.#n?.disconnect(),this.#o())}),this.#n.observe(this))}};customElements.get(`wren-link`)||(document.head.insertAdjacentHTML(`beforeend`,`<style>:where(wren-link[href]){color:inherit;cursor:pointer}</style>`),customElements.define(`wren-link`,j),window.addEventListener(r,D),s===`flight`?v(async(e,t)=>{let n=T(e),r=k(n);S.delete(n),t.addEventListener(`abort`,()=>r.controller.abort(),{once:!0});let i=await r.response;return t.throwIfAborted(),i?c(i,t):(location.assign(e),new Promise(()=>{}))}):g());export{};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=`0.
|
|
1
|
+
var e=`0.9.0`;const t=`wrenjs`,n=e,r=`ROOT`,i=`PAGE`,a=`API`,o=`NOT_FOUND`,s=`LAYOUT`,c=`PROXY`,l=`___root`,u=`__layout`,d=`__not-found`,f=`__proxy`,p=`GET`,m=`DELETE`,h=`HEAD`,g=`OPTIONS`,_=`PATCH`,v=`POST`,y=`PUT`,b=[`GET`,m,h,g,_,v,`PUT`];export{c as _,g as a,n as b,y as c,f as d,l as f,i as g,o as h,h as i,u as l,s as m,m as n,_ as o,a as p,p as r,v as s,b as t,d as u,r as v,t as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=`Accept`,t=`charset=utf-8`,n=`text/x-component;${t}`,r=`_.flt`,i=`x-server-action`,a=`wrenjs:invalidate-prefetch`,o=`virtual:wrenjs-routes`,s=`virtual:wrenjs-script-url:`,c=`virtual:wrenjs-hoist:`,l=`__wrenScripts`,u=/\.([cm]?[jt]sx?|astro|svelte|tsrx)$/,d=/\.[cm]?[jt]sx?$/,f=Symbol.for(`wrenjs.response`),p=`wrenjs.response`,m={"Content-Type":`text/plain;${t}`,"X-Content-Type-Options":`nosniff`};export{r as a,c,o as d,u as f,i,s as l,f as m,l as n,m as o,d as p,n as r,a as s,e as t,p as u};
|
package/dist/constants.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as e,a as t,b as n,c as r,d as i,f as a,g as o,h as s,i as c,l,m as u,n as d,o as f,p,r as m,s as h,t as g,u as _,v,y}from"./constants-
|
|
1
|
+
import{_ as e,a as t,b as n,c as r,d as i,f as a,g as o,h as s,i as c,l,m as u,n as d,o as f,p,r as m,s as h,t as g,u as _,v,y}from"./constants-BnikgPOx.mjs";import{f as b}from"./constants-CB936btA.mjs";export{g as ENTRY_API_EXPORTS,d as ENTRY_FILEROUTE_API_EXPORT_DELETE,m as ENTRY_FILEROUTE_API_EXPORT_GET,c as ENTRY_FILEROUTE_API_EXPORT_HEAD,t as ENTRY_FILEROUTE_API_EXPORT_OPTIONS,f as ENTRY_FILEROUTE_API_EXPORT_PATCH,h as ENTRY_FILEROUTE_API_EXPORT_POST,r as ENTRY_FILEROUTE_API_EXPORT_PUT,l as ENTRY_FILEROUTE_LAYOUT,_ as ENTRY_FILEROUTE_NOT_FOUND,i as ENTRY_FILEROUTE_PROXY,a as ENTRY_FILEROUTE_ROOT,p as ENTRY_KIND_API,u as ENTRY_KIND_LAYOUT,s as ENTRY_KIND_NOT_FOUND,o as ENTRY_KIND_PAGE,e as ENTRY_KIND_PROXY,v as ENTRY_KIND_ROOT,b as ROUTE_MODULE_RE,y as WREN_NAME,n as WREN_VERSION};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as e,o as t}from"./constants-CB936btA.mjs";const n=Object.freeze({});var r=class{get body(){return this.#n().body}get bodyUsed(){return this.#t?.bodyUsed??!1}get headers(){let e=this.#e;return e?(e.headers instanceof Headers||(e.headers=new Headers(e.headers)),e.headers):this.#t.headers}get ok(){let{status:e}=this;return e>=200&&e<300}get redirected(){return this.#t?.redirected??!1}get status(){return this.#e?.status??this.#n().status}get statusText(){return this.#t?.statusText??``}get[Symbol.toStringTag](){return`Response`}get type(){return this.#t?.type??`default`}get url(){return this.#t?.url??``}#e;#t;constructor(e=null,r={}){this.#e={body:e,headers:r.headers??(typeof e==`string`?t:n),status:r.status??200}}arrayBuffer(){return this.#n().arrayBuffer()}blob(){return this.#n().blob()}bytes(){return this.#n().bytes()}clone(){return this.#n().clone()}formData(){return this.#n().formData()}json(){return this.#n().json()}text(){return this.#n().text()}[e](){return this.#e}#n(){if(this.#e){let{body:e,headers:t,status:n}=this.#e;this.#e=void 0,this.#t=new Response(e,{headers:t,status:n})}return this.#t}};Object.setPrototypeOf(r.prototype,new Proxy({},{getPrototypeOf:()=>{let e=globalThis.Response.prototype;return Object.setPrototypeOf(r.prototype,e),e}}));const i=/* @__PURE__ */ new Set([301,302,303,307,308]),a=(e,t=302)=>{if(!i.has(t))throw RangeError(`[wrenjs] Invalid redirect status: ${t}.`);return new r(null,{headers:{Location:String(e)},status:t})};export{a as redirect};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../constants-
|
|
1
|
+
import"../constants-BnikgPOx.mjs";import{t as e}from"../utils-li1KYQ1O.mjs";function*t(e){e.e&&(yield e.e),e.w&&(yield e.w);for(let n of Object.values(e.s))yield*t(n);e.p&&(yield*t(e.p));for(let n of e.m??[])yield*t(n.node)}const n=async(e,t,n)=>{if(e.kind!==`PAGE`)return[];let r=await Promise.all([e.module(),...e.layouts?.map(e=>e())??[]]);if(!n&&!r.some(e=>e.config?.prerender===!0))return[];if(!e.params?.length){if(!t)throw Error(`A static prerender route must have a pathname.`);return[t]}let[i]=r;if(!i.getStaticPaths)throw Error(`Prerendered route ${t} must export getStaticPaths().`);return i.getStaticPaths()},r=async(r,i=!1)=>{let{dynamicRoutes:a,staticRoutes:o={}}=r,s=await Promise.all([...Object.entries(o).map(([e,t])=>n(t,e,i)),...Array.from(t(a),e=>n(e,e.pattern,i))]);return[...new Set(s.flat().map(t=>e(t)))]};export{r as getPrerenderPaths};
|
package/dist/runtime/router.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"../utils-
|
|
1
|
+
import{t as e}from"../utils-li1KYQ1O.mjs";import{dynamicNotFounds as t,dynamicRoutes as n,staticNotFounds as r,staticRoutes as i}from"virtual:wrenjs-routes";const a=(e,t,n)=>{let r=e.length-1;if(!t.startsWith(e[0])||!t.endsWith(e[r]))return!1;let i=e[0].length;for(let a=1;a<r;a++){let r=t.indexOf(e[a],i+1);if(r<0)return!1;n?.push(t.slice(i,r)),i=r+e[a].length}let a=t.length-e[r].length;return a<=i?!1:(n?.push(t.slice(i,a)),!0)},o=(e,t,n,r,i)=>{let o=i?.length??0;for(let{lits:c,node:l}of e){let e=a(c,t,i)?s(l,n,r,i):void 0;if(e!==void 0)return e;i&&(i.length=o)}},s=(e,t,n,r)=>{if(n>=t.length)return e.e;let i=t.indexOf(`/`,n),a=i<0?t.length:i,c=t.slice(n,a),l=a+1,u=e.s,d=Object.hasOwn(u,c)?s(u[c],t,l,r):void 0;if(d!==void 0)return d;let f=e.m&&o(e.m,c,t,l,r);if(f!==void 0)return f;if(e.p&&c){let n=r?.length??0;r?.push(c);let i=s(e.p,t,l,r);if(i!==void 0)return i;r&&(r.length=n)}return e.w!==void 0&&r?.push(t.slice(n)),e.w},c=(e,t,n)=>s(e,t,1,n);function l(a){let o=e(a);if(!o)return;let s=[],l=i?.[o]??c(n,o,s)??r?.[o]??c(t,o,s);if(!l)return;let u=Object.fromEntries(l.params?.map((e,t)=>[e,s[t]])??[]),d=({layouts:e,module:t,proxies:n})=>({kind:l.kind,layouts:e,module:t,params:u,proxies:n}),f=l.stack();return f instanceof Promise?f.then(d):d(f)}export{l as matchRouteToStack};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./constants-CB936btA.mjs";const e=e=>typeof e==`object`&&!!e,t=t=>e(t)&&t.digest===`wrenjs.response`,n=e=>{if(!e)return;let t=0,n=e.indexOf(`?`);n===-1&&(n=e.length);let r=e.indexOf(`#`);if(r!==-1&&r<n&&(n=r),e[0]!==`/`){let r=e.indexOf(`://`);if(r!==-1&&r<n){let i=e.indexOf(`/`,r+3);t=i!==-1&&i<n?i:n}}for(;n>t+1&&e[n-1]===`/`;)n--;let i=e.slice(t,n);return i[0]===`/`?i:`/${i}`};export{e as n,t as r,n as t};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wren-js/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Framework agnostic utilities for the wrenjs meta-framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"@wren-js/core",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"./config": "./dist/config.mjs",
|
|
47
47
|
"./constants": "./dist/constants.mjs",
|
|
48
48
|
"./link": "./dist/link.mjs",
|
|
49
|
+
"./response": "./dist/response.mjs",
|
|
49
50
|
"./runtime/prerender": "./dist/runtime/prerender.mjs",
|
|
50
51
|
"./runtime/router": "./dist/runtime/router.mjs",
|
|
51
52
|
"./package.json": "./package.json",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=`Accept`,t=`text/x-component;charset=utf-8`,n=`_.flt`,r=`x-server-action`,i=`wrenjs:invalidate-prefetch`,a=`virtual:wrenjs-routes`,o=`virtual:wrenjs-script-url:`,s=`virtual:wrenjs-hoist:`,c=`__wrenScripts`,l=/\.([cm]?[jt]sx?|astro|svelte|tsrx)$/,u=/\.[cm]?[jt]sx?$/;export{n as a,o as c,u as d,r as i,a as l,c as n,i as o,t as r,s,e as t,l as u};
|
package/dist/utils-DhsYUjpC.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const e=e=>typeof e==`object`&&!!e,t=e=>{if(!e)return;let t=0,n=e.indexOf(`?`);n===-1&&(n=e.length);let r=e.indexOf(`#`);if(r!==-1&&r<n&&(n=r),e[0]!==`/`){let r=e.indexOf(`://`);if(r!==-1&&r<n){let i=e.indexOf(`/`,r+3);t=i!==-1&&i<n?i:n}}for(;n>t+1&&e[n-1]===`/`;)n--;let i=e.slice(t,n);return i[0]===`/`?i:`/${i}`};export{e as n,t};
|