canofold 0.3.0 → 0.3.2
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/build-72JU66ZI.js +2 -0
- package/dist/{check-SPGDVG46.js → check-EJ4AQZQN.js} +2 -2
- package/dist/{chunk-EQOADO2H.js → chunk-BSFJWPWR.js} +2 -2
- package/dist/chunk-GLAK57S4.js +45 -0
- package/dist/chunk-JACOFQSH.js +2 -0
- package/dist/{chunk-OKX7SQKX.js → chunk-LGMGXZ4I.js} +22 -20
- package/dist/{chunk-KJ7FG6AY.js → chunk-LP3NAJM7.js} +4 -4
- package/dist/chunk-VMPJIE5E.js +2 -0
- package/dist/{clean-V2SP7IRD.js → clean-REXZDZX4.js} +2 -2
- package/dist/cli.js +1 -1
- package/dist/demo-engine.d.ts +4 -0
- package/dist/{deploy-47AUDPYE.js → deploy-VQKVGFX5.js} +2 -2
- package/dist/dev-4LCWVCHW.js +2 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.js +1 -1
- package/dist/{init-3PS74OVB.js → init-TVOVOMAO.js} +3 -3
- package/dist/{load-BG2H2Q65.js → load-4UYHBETN.js} +2 -2
- package/dist/{preview-OAMF5HXH.js → preview-FB3HCXFC.js} +2 -2
- package/dist/search-client.js +1 -1
- package/dist/styles.input.css +2 -12
- package/package.json +10 -9
- package/dist/build-UYV2L7WT.js +0 -2
- package/dist/chunk-2XMX5JW6.js +0 -2
- package/dist/chunk-ACUMTEQL.js +0 -2
- package/dist/chunk-HS5LEPRC.js +0 -45
- package/dist/dev-3C4T3COS.js +0 -2
package/dist/chunk-HS5LEPRC.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import{b as C}from"./chunk-M6T5RSNJ.js";import{c as I}from"./chunk-JK7ZNBUA.js";import{a as r}from"./chunk-AYDF3IFZ.js";import{createServer as O}from"http";import{readFile as T,realpath as M}from"fs/promises";import{extname as k,isAbsolute as B,join as w,normalize as L,relative as z,resolve as F,sep as J}from"path";var _={".html":"text/html; charset=utf-8",".css":"text/css; charset=utf-8",".js":"text/javascript; charset=utf-8",".mjs":"text/javascript; charset=utf-8",".json":"application/json; charset=utf-8",".txt":"text/plain; charset=utf-8",".md":"text/markdown; charset=utf-8",".svg":"image/svg+xml",".xml":"application/xml; charset=utf-8",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".ico":"image/x-icon",".woff":"font/woff",".woff2":"font/woff2",".pagefind":"application/wasm"};function U(t){return _[k(t).toLowerCase()]??"application/octet-stream"}r(U,"contentTypeFor");var W=15e3;function G(t){for(let o of t)o.end();t.clear()}r(G,"closeReloadClients");function y(t,o){for(let n of t)try{n.write(o)}catch{t.delete(n);try{n.end()}catch{}}}r(y,"writeReloadClients");function K(t){y(t,`:keepalive
|
|
2
|
-
|
|
3
|
-
`)}r(K,"heartbeatReloadClients");function D(t,o=""){let n=o.replace(/\r\n?/g,`
|
|
4
|
-
`).split(`
|
|
5
|
-
`);return`event: ${t}
|
|
6
|
-
${n.map(l=>`data: ${l}`).join(`
|
|
7
|
-
`)}
|
|
8
|
-
|
|
9
|
-
`}r(D,"formatServerSentEvent");function A(t,o="/__canofold/events"){let n=`<script type="module">
|
|
10
|
-
const source=new EventSource(${JSON.stringify(o)});
|
|
11
|
-
let connected=false,disconnected=false;
|
|
12
|
-
let overlay=null;
|
|
13
|
-
function showError(msg){
|
|
14
|
-
if(!overlay){overlay=document.createElement('dialog');overlay.style.cssText='all:initial;position:fixed;inset:0;width:100%;height:100%;border:none;background:rgba(15,15,20,.92);color:#f87171;font:14px/1.6 monospace;padding:2rem;box-sizing:border-box;z-index:2147483647;overflow:auto;white-space:pre-wrap;word-break:break-all;';document.documentElement.appendChild(overlay);}
|
|
15
|
-
overlay.textContent='\u26A0\uFE0F Build error:\\n\\n'+msg;
|
|
16
|
-
if(!overlay.open)overlay.showModal();
|
|
17
|
-
}
|
|
18
|
-
function clearError(){if(overlay&&overlay.open){overlay.close();overlay.remove();overlay=null;}}
|
|
19
|
-
function normalizeRoute(value){const path=value.split(/[?#]/,1)[0]||'/';return path.endsWith('/')?path:path+'/';}
|
|
20
|
-
async function applyPageUpdate(update){
|
|
21
|
-
const currentRoute=normalizeRoute(location.pathname);
|
|
22
|
-
if(!update.routes.some((route)=>normalizeRoute(route)===currentRoute))return true;
|
|
23
|
-
const response=await fetch(location.href,{cache:'no-store',headers:{accept:'text/html'}});
|
|
24
|
-
if(!response.ok||!(response.headers.get('content-type')||'').includes('text/html'))return false;
|
|
25
|
-
const nextDocument=new DOMParser().parseFromString(await response.text(),'text/html');
|
|
26
|
-
if(typeof window.__canofoldApplyPageDocument!=='function')return false;
|
|
27
|
-
return window.__canofoldApplyPageDocument(nextDocument,{mode:'update'});
|
|
28
|
-
}
|
|
29
|
-
source.onopen=()=>{if(connected&&disconnected){clearError();location.reload();}connected=true;disconnected=false;};
|
|
30
|
-
source.onerror=()=>{if(connected)disconnected=true;};
|
|
31
|
-
source.onmessage=()=>{clearError();location.reload();};
|
|
32
|
-
source.addEventListener('update',async(event)=>{
|
|
33
|
-
clearError();
|
|
34
|
-
try{
|
|
35
|
-
const update=JSON.parse(event.data);
|
|
36
|
-
if(update.protocol!==1||update.type!=='update'||update.mode!=='page'){location.reload();return;}
|
|
37
|
-
if(!await applyPageUpdate(update))location.reload();
|
|
38
|
-
}catch{location.reload();}
|
|
39
|
-
});
|
|
40
|
-
source.addEventListener('build-error',(e)=>showError(e.data));
|
|
41
|
-
source.addEventListener('build-ok',()=>clearError());
|
|
42
|
-
</script>`;return t.replace("</body>",`${n}</body>`)}r(A,"injectLiveReloadScript");function Q(t,o="/"){if(o==="/")return t;let n=o.replace(/\/$/,"");return t===n?"/":t.startsWith(`${n}/`)?t.slice(n.length)||"/":void 0}r(Q,"resolveMountedRequestPath");function V(t,o){let n=F(t),l=o.split("/").map(f=>{let d=decodeURIComponent(f);if(d==="."||d===".."||d.includes("/")||d.includes("\\")||/[\u0000-\u001f]/.test(d))throw new Error("Forbidden");return d}),m=L(l.join("/"));if(m.split(/[\\/]/).includes(".."))throw new Error("Forbidden");let c=F(w(n,m)),v=m.endsWith("/")?[w(c,"index.html")]:k(m)===""?[c,w(c,"index.html")]:[c];for(let f of v){let d=z(n,f);if(d===".."||d.startsWith(`..${J}`)||B(d))throw new Error("Forbidden")}return v}r(V,"resolveRequestCandidates");async function $(t,o){let[n,l]=await Promise.all([M(t),M(o)]);if(!I(n,l))throw new Error("Forbidden");return l}r($,"resolveExistingRequestPath");async function X(t){try{let o=await $(t,w(t,"404.html"));return await T(o)}catch(o){if(o.code==="ENOENT")return;throw o}}r(X,"readGeneratedNotFound");async function oe({root:t,port:o,liveReload:n=!1,basePath:l="/",configureServer:m}){let c=new Set,v=r(async(i,e)=>{if(i.method!=="GET"&&i.method!=="HEAD"){e.writeHead(405,{allow:"GET, HEAD"}),e.end("Method not allowed");return}let s=new URL(i.url??"/","http://127.0.0.1"),u=typeof l=="function"?l():l,S=`${u==="/"?"":u.replace(/\/$/,"")}/__canofold/events`;if(n&&s.pathname===S){e.writeHead(200,{"content-type":"text/event-stream","cache-control":"no-cache",connection:"keep-alive"}),e.write(`:connected
|
|
43
|
-
|
|
44
|
-
`),c.add(e);let a=r(()=>c.delete(e),"removeClient");i.once("close",a),e.once("close",a),e.once("error",a);return}let H=Q(s.pathname,u),g,b=r(async()=>{e.statusCode=404;let a=await X(g);if(a){e.setHeader("content-type",_[".html"]??"text/html; charset=utf-8"),n&&(a=Buffer.from(A(a.toString("utf8"),S))),e.end(i.method==="HEAD"?void 0:a);return}e.end(i.method==="HEAD"?void 0:"Not found")},"sendNotFound"),R=r(a=>{C("Static server error:",a),e.statusCode=500,e.end(i.method==="HEAD"?void 0:"Internal server error")},"sendInternalError");if(g=F(typeof t=="function"?t():t),H===void 0){try{await b()}catch(a){R(a)}return}let N;try{N=V(g,H)}catch{e.statusCode=403,e.end("Forbidden");return}try{let a,p;for(let P of N)try{let h=await $(g,P);p=await T(h),a=h;break}catch(h){if(h.message==="Forbidden"){e.statusCode=403,e.end("Forbidden");return}let j=h.code;if(j!=="ENOENT"&&j!=="EISDIR")throw h}if(!a||!p){await b();return}e.setHeader("content-type",U(a)),e.setHeader("cache-control","no-store"),n&&k(a)===".html"&&(p=Buffer.from(A(p.toString("utf8"),S))),e.end(i.method==="HEAD"?void 0:p)}catch(a){let p=a.code;if(p==="ENOENT"||p==="EISDIR")try{await b()}catch(P){R(P)}else R(a)}},"staticHandler"),f,d=O((i,e)=>{let s=r(u=>{if(u){C("Mounted development server error:",u),e.statusCode=500,e.end("Internal server error");return}v(i,e)},"next");if(!f){s();return}try{f.middleware(i,e,s)}catch(u){s(u)}});f=await m?.(d),await new Promise((i,e)=>{let s=r(u=>e(u),"onError");d.once("error",s),d.listen(o,"127.0.0.1",()=>{d.off("error",s),i()})});let E=d.address();if(!E||typeof E=="string")throw new Error("Failed to start server");let x=n?setInterval(()=>K(c),W):void 0;return x?.unref(),{port:E.port,reload:r((i={protocol:1,type:"update",mode:"full",routes:[]})=>{y(c,D("update",JSON.stringify(i)))},"reload"),sendBuildError:r(i=>{y(c,D("build-error",i))},"sendBuildError"),sendBuildOk:r(()=>{y(c,D("build-ok"))},"sendBuildOk"),close:r(async()=>{x&&clearInterval(x),G(c),await f?.close?.(),await new Promise((i,e)=>d.close(s=>s?e(s):i()))},"close")}}r(oe,"startStaticServer");export{oe as a};
|
|
45
|
-
//# sourceMappingURL=chunk-HS5LEPRC.js.map
|
package/dist/dev-3C4T3COS.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as B}from"./chunk-HS5LEPRC.js";import{b}from"./chunk-OKX7SQKX.js";import{a as P}from"./chunk-EQOADO2H.js";import"./chunk-KJ7FG6AY.js";import{b as w}from"./chunk-ENPRUF6E.js";import"./chunk-XYJ2OBL3.js";import"./chunk-ACUMTEQL.js";import{a as S,b as v}from"./chunk-M6T5RSNJ.js";import"./chunk-2XMX5JW6.js";import"./chunk-EAYVCA3Z.js";import{c as y,e as D}from"./chunk-JK7ZNBUA.js";import{a as r}from"./chunk-AYDF3IFZ.js";import O from"chokidar";import{createMarkdownRenderer as T}from"@canofold/markdown/server";import{relative as I,resolve as E,sep as K}from"path";function k(n,f,u){let t=E(n,u),i=I(n,t).split(K);return i.includes("node_modules")||i.includes(".git")||i.includes(".canofold")||i.some(o=>/^\..+\.(?:tmp|backup)-/.test(o))?!0:y(D(n,f),t)||y(P(n),t)}r(k,"shouldIgnoreGeneratedPath");function U({build:n,reload:f,onBuildError:u=r(o=>v(o instanceof Error?o.message:String(o)),"onBuildError"),onBuildOk:t,debounceMs:i=80}){let o,d,l=!1,c=!1,p=r(()=>{if(o=void 0,!c){if(d){l=!0;return}d=(async()=>{try{let a=await n();c||(t?.(),f(a))}catch(a){u(a)}finally{d=void 0,l&&!c&&(l=!1,o=setTimeout(p,0))}})()}},"run");return{schedule(){if(!c){if(d){l=!0;return}o&&clearTimeout(o),o=setTimeout(p,i)}},async close(){c=!0,l=!1,o&&clearTimeout(o),o=void 0,await d}}}r(U,"createBuildScheduler");async function M({cwd:n,port:f}){let u=T(),t=await b({cwd:n,renderer:u,demoMode:"dev"}),i,o,d,l=r(()=>{let e=t.config.demos.engine;if(!(!t.demoManifest||!e?.startDev))return JSON.stringify({id:e.id,version:e.version??"",cacheKey:e.cacheKey??null,basePath:t.config.basePath,outputDir:t.config.outputDir,setup:t.config.demos.setup??null})},"runtimeKeyForCurrentBuild"),c=r(async()=>{let e=t.config.demos.engine;if(!(!t.demoManifest||!e?.startDev||!d))return e.startDev({cwd:n,basePath:t.config.basePath,setup:t.config.demos.setup,server:d,getDemos:r(()=>Object.values(t.demoManifest?.demos??{}),"getDemos"),shouldIgnorePath:r(s=>k(n,t.config.outputDir,s),"shouldIgnorePath")})},"createDemoRuntime"),p=r(async()=>{let e=l();if(e===o){await i?.update?.();return}let s=await c(),m=i;i=s,o=e,await m?.close()},"refreshDemoRuntime"),a=await B({root:r(()=>D(n,t.config.outputDir),"root"),port:f,liveReload:!0,basePath:r(()=>t.config.basePath,"basePath"),configureServer:r(async e=>(d=e,i=await c(),o=l(),{middleware(s,m,g){if(!i?.middleware){g();return}i.middleware(s,m,()=>g())},close:r(()=>i?.close(),"close")}),"configureServer")}),h=O.watch(".",{cwd:n,ignoreInitial:!0,ignored:r(e=>k(n,t.config.outputDir,e),"ignored")}),R=U({build:r(async()=>{t=await b({cwd:n,renderer:u,demoMode:"dev"}),await p();let e=t.changedPages.flatMap(s=>{let m=t.graph.pages.find(g=>g.sourceRelativePath===s);return m?[w(t.config,m.routePath)]:[]});return{protocol:1,type:"update",mode:t.partialReload&&e.length===1?"page":"full",routes:e}},"build"),reload:r(e=>a.reload(e),"reload"),onBuildError:r(e=>{let s=e instanceof Error?e.message:String(e);v("Build error:",s),a.sendBuildError(s)},"onBuildError"),onBuildOk:r(()=>a.sendBuildOk(),"onBuildOk")});return h.on("all",(e,s)=>{i?.handlesFile?.(E(n,s))||R.schedule()}),h.on("error",e=>{let s=e instanceof Error?e.message:String(e);v("File watcher error:",s),a.sendBuildError(s)}),{port:a.port,close:r(async()=>{await h.close(),await R.close(),await a.close()},"close")}}r(M,"startDevServer");async function L({cwd:n,port:f=3333}){let u=await M({cwd:n,port:f});return S(`Dev server running at http://127.0.0.1:${u.port}/`),u}r(L,"runDev");export{L as runDev};
|
|
2
|
-
//# sourceMappingURL=dev-3C4T3COS.js.map
|