@symbo.ls/mermaid 3.14.105 → 3.14.485
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/CHANGELOG.md +19 -1
- package/dist/esm/src/bundle.js +4 -4
- package/dist/esm/src/render.js +18 -18
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,28 @@
|
|
|
1
1
|
# @symbo.ls/mermaid
|
|
2
2
|
|
|
3
|
+
## 3.14.485
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Auto-generated cross-repo patch release.
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @symbo.ls/utils@3.14.485
|
|
10
|
+
|
|
11
|
+
## 3.14.267
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Auto-generated cross-repo patch release.
|
|
16
|
+
|
|
3
17
|
## 3.14.105
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
6
20
|
|
|
7
|
-
-
|
|
21
|
+
- Manual patch bump triggered via workflow_dispatch (scope: all).
|
|
22
|
+
No source change behind this bump — released to refresh dist or
|
|
23
|
+
coordinate a cross-package version line.
|
|
24
|
+
- Updated dependencies
|
|
25
|
+
- @symbo.ls/utils@3.14.105
|
|
8
26
|
|
|
9
27
|
## 3.14.104
|
|
10
28
|
|
package/dist/esm/src/bundle.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import r from"./utils/logger.js";import
|
|
2
|
-
var context = Smbls.deepDestringifyFunctions(${
|
|
1
|
+
import r from"./utils/logger.js";import m from"smbls/iife-string";r.debug(`[BUNDLE] smbls IIFE loaded from smbls/iife-string (${m.length} bytes)`);const p=s=>s.replace(/</g,"\\u003c");function L(){return m}function k(s,e,t,{ProjectDataService:a}={}){if(r.debug(`[BUNDLE] getBundleScript started for ${s}`),!e)return r.warn("[BUNDLE] No data provided, returning empty"),"";try{if(e.merged)Object.assign(e,e.merged),r.debug(`[BUNDLE] Applied precomputed merged data for project ${e.id}`);else if(a&&Array.isArray(e.sharedLibraries)&&e.sharedLibraries.length>0){const o=a.mergeSharedLibraries(e,e.sharedLibraries,e.projectType);Object.assign(e,o),r.debug(`[BUNDLE] Merged ${e.sharedLibraries.length} shared libraries`)}}catch(o){r.error(`[BUNDLE] Failed to ensure merged data: ${o.message}`)}try{if(e.dependencies&&Array.isArray(e.sharedLibraries))for(const o of e.sharedLibraries){const u=o&&o.key;if(u)for(const v of["@symbo-ls","@symbo.ls"]){const i=`${v}/${u}`;e.dependencies[i]&&(delete e.dependencies[i],r.debug(`[BUNDLE] Dropped CDN dependency ${i} \u2014 already merged as shared library`))}}}catch(o){r.error(`[BUNDLE] Failed to strip shared-library dependencies: ${o.message}`)}const f=p(JSON.stringify(e)),g=t?.headers&&typeof t.headers.get=="function"&&t.headers.get("host")||t?.headers?.host||t?.host||t?.url&&(()=>{try{return new URL(t.url).host}catch{return""}})()||"",n=String(g).toLowerCase().split(":")[0],c=(()=>{if(t?.query)return t.query;try{return Object.fromEntries(new URL(t?.url||"","http://x").searchParams)}catch{return{}}})(),b=c.release||!1,y=c.version,l=n.endsWith(".symbo.ls")||n.endsWith(".preview.symbols.app")||n==="localhost"||n.endsWith(".localhost"),d=!!b||!!y||!l,S=e&&(e._id||e.projectId||e.id)||null,x=l?p(JSON.stringify({...e.settings,liveSync:!d,inspect:!0,verbose:!d,projectId:S})):"null",h=`
|
|
2
|
+
var context = Smbls.deepDestringifyFunctions(${f});
|
|
3
3
|
context.packageManager = 'esm.sh';
|
|
4
4
|
if (context.db && context.db.createClient) delete context.db.createClient;
|
|
5
5
|
if (context.fetch && context.fetch.createClient) delete context.fetch.createClient;
|
|
@@ -16,7 +16,7 @@ import r from"./utils/logger.js";import h from"smbls/iife-string";r.debug(`[BUND
|
|
|
16
16
|
|
|
17
17
|
var app = context.app || {};
|
|
18
18
|
delete context.app;
|
|
19
|
-
var settings = ${
|
|
19
|
+
var settings = ${x};
|
|
20
20
|
if (settings) context.editor = settings;
|
|
21
21
|
|
|
22
22
|
// Theme initialization: set data-theme before app renders to avoid FOUC.
|
|
@@ -94,4 +94,4 @@ import r from"./utils/logger.js";import h from"smbls/iife-string";r.debug(`[BUND
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
Smbls.create(app, context);
|
|
97
|
-
`;return r.debug(`[BUNDLE] Script generated (${
|
|
97
|
+
`;return r.debug(`[BUNDLE] Script generated (${h.length} bytes)`),h}export{k as getBundleScript,L as getSmblsIife};
|
package/dist/esm/src/render.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import E from"./utils/logger.js";import at from"./utils/vartranformer.js";import{getBundleScript as pt,getSmblsIife as ft}from"./bundle.js";import{deepDestringifyFunctions as gt}from"./utils/deepDestringify.js";import{transpile as C}from"./utils/funcql-transpile.js";import{normalizeRoute as ht,resolvePageRoute as mt}from"./route.js";import{generateMetaTags as dt,getPageMetadata as ut,getImportMapScript as yt}from"@symbo.ls/utils";const H=(t,o)=>{if(typeof t=="string"){if(o&&typeof o[t]=="string")return o[t];if(/^(#|rgb|hsl|var\(|[a-z]+$)/i.test(t))return t}},bt=process.env.BRENDER!=="false";let B=null,z=null,U=null;if(bt)try{const t=await import("@symbo.ls/brender");B=t.renderRoute,z=t.generateSitemap,U=t.prefetchPageData}catch(t){E.debug(`[MERMAID] Brender not available: ${t.message}`)}const St=`<!doctype html>
|
|
2
2
|
<html'\${{{ ROOT_ATTRS }}}'>
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="UTF-8" />
|
|
@@ -20,25 +20,25 @@ import b from"./utils/logger.js";import at from"./utils/vartranformer.js";import
|
|
|
20
20
|
<\/script>
|
|
21
21
|
'\${{{ EDITOR }}}'
|
|
22
22
|
</body>
|
|
23
|
-
</html>`;function M(t,
|
|
24
|
-
`);
|
|
25
|
-
`);const
|
|
26
|
-
`),e={metadata:
|
|
27
|
-
`);d
|
|
28
|
-
`);const
|
|
29
|
-
`),
|
|
30
|
-
`:`<!-- symbols | ${
|
|
31
|
-
`,
|
|
32
|
-
<meta name="color-scheme" content="light dark">`:"";return{html:at(
|
|
33
|
-
`+I+`
|
|
23
|
+
</html>`;function M(t,o=Array.isArray(t)?[]:{}){for(const r in t){if(!Object.prototype.hasOwnProperty.call(t,r))continue;const s=t[r];if(typeof s=="string"){const n=s.trim();if(n.startsWith("(")&&n.includes("=>")||n.startsWith("function")||n.startsWith("async ")){const m=C(s);o[r]=m?m.schema:null}else o[r]=s}else Array.isArray(s)?o[r]=s.map(n=>{if(typeof n=="string"){const f=n.trim();if(f.startsWith("(")&&f.includes("=>")||f.startsWith("function")||f.startsWith("async ")){const $=C(n);return $?$.schema:null}}return n&&typeof n=="object"?M(n):n}):s&&typeof s=="object"&&!Array.isArray(s)?o[r]=M(s):o[r]=s}return o}async function _t(t,o={}){const{appkey:r,pathname:s="/",channel:n="production",userEnv:f=n,isProd:m=!1,req:$,query:$t,userId:j,smblsIife:K,editorBundle:k,analyzedScript:W="",indexHtml:V,ssrCache:l,ProjectDataService:Y}=o;if(!t)return{html:"",status:404,contentType:"text/html"};if(typeof r=="string"&&r.includes("/")){const[i,g]=r.split("/");t.key||(t.key=g),t.owner||(t.owner=i)}const N=ht(s),T=mt(t.pages,s),I=f==="production"||f==="staging";let O="",x="",e=null,v=null,D="";if(l&&I){O=l.html||"";const i=[];l.fontLinks&&i.push(l.fontLinks);const g=[l.globalCSS||"",l.resetCss||""].filter(Boolean).join(`
|
|
24
|
+
`);g&&i.push(`<style>${g}</style>`),l.css&&i.push(`<style data-emotion="smbls">${l.css}</style>`),x=i.join(`
|
|
25
|
+
`);const d=[];if(l.ssrTranslations){const a=(t.config||t.settings||{}).polyglot||t.polyglot,c=a?.storagePrefix||"",p=a?.storageLangKey||"",h=[];for(const u in l.ssrTranslations){const y=l.ssrTranslations[u];y&&typeof y=="object"&&h.push(`localStorage.setItem(${JSON.stringify(c+u)},${JSON.stringify(JSON.stringify(y))})`)}if(p){const u=a?.defaultLang||"en";h.push(`if(!localStorage.getItem(${JSON.stringify(p)}))localStorage.setItem(${JSON.stringify(p)},${JSON.stringify(u)})`)}h.length&&d.push(`<script>try{${h.join(";")}}catch(e){}<\/script>`)}d.push("<script>window.__BRENDER__=true<\/script>"),D=d.join(`
|
|
26
|
+
`),e={metadata:l.metadata,prefetchedState:l.prefetchedState,activeLang:l.activeLang}}else if(B&&I)try{const i=T?T.route:N;E.debug(`[MERMAID] Running brender for route: ${i}`);let g=!1;try{(0,eval)("1"),g=!0}catch{}if(v=g?gt(t):M(t),e=await B(v,{route:i,pathname:N}),e){O=e.html||"";const d=[];e.fontLinks&&d.push(e.fontLinks);const b=e.globalCSS||{},a=[b.rootRule||"",e.resetCss||"",b.keyframeRules||""].filter(Boolean).join(`
|
|
27
|
+
`);a&&d.push(`<style>${a}</style>`),e.css&&d.push(`<style data-emotion="smbls">${e.css}</style>`),x=d.join(`
|
|
28
|
+
`);const c=[];if(e.ssrTranslations){const h=(v?.config||{}).polyglot||v?.polyglot,u=h?.storagePrefix||"",y=h?.storageLangKey||"",R=[];for(const w in e.ssrTranslations){const L=e.ssrTranslations[w];L&&typeof L=="object"&&R.push(`localStorage.setItem(${JSON.stringify(u+w)},${JSON.stringify(JSON.stringify(L))})`)}if(y){const w=h?.defaultLang||"en";R.push(`if(!localStorage.getItem(${JSON.stringify(y)}))localStorage.setItem(${JSON.stringify(y)},${JSON.stringify(w)})`)}R.length&&c.push(`<script>try{${R.join(";")}}catch(e){}<\/script>`)}g&&e.brRegistry&&Object.keys(e.brRegistry).length&&c.push(`<script>window.__BR_REGISTRY__=${JSON.stringify(e.brRegistry)}<\/script>`),c.push("<script>window.__BRENDER__=true<\/script>"),D=c.join(`
|
|
29
|
+
`),E.debug(`[MERMAID] Brender completed: body=${O.length}b, registry=${Object.keys(e.brRegistry||{}).length}`)}}catch(i){E.warn(`[MERMAID] Brender failed, falling back to client render: ${i.message}`)}const q=pt(r,t,$,{ProjectDataService:Y}),G=yt(t,t?.settings?.cdnProvider||"esmsh"),Q=t?.files&&t.files["index.html"],X=V||Q?.code||St,Z=j?`<script>window.__SYMBOLS_AUTH__=${JSON.stringify({userId:j})}<\/script>`:"",_=e?.prefetchedState,tt=(t.config||t.settings||{}).polyglot||t.polyglot,et=e?.activeLang||tt?.defaultLang||"en",st=_&&Object.keys(_).length?{state:_,lang:et,actualPathname:s}:{actualPathname:s},nt=e?.metadata&&Object.keys(e.metadata).length?e.metadata:ut(t,T?T.route:N,st,{isProduction:m,channel:n}),ot=dt(nt,m),A=K||ft();if(!A)return E.error("[MERMAID] smbls IIFE bundle not available"),{html:"Internal Server Error: smbls bundle not found",status:500,contentType:"text/plain"};const rt=k&&!m?`<script defer type="text/javascript">${k}<\/script>`:"",it=m?`<!-- built with symbols.app -->
|
|
30
|
+
`:`<!-- symbols | ${r} | ${f} | ${I?"ssr":"csr"} | noindex -->
|
|
31
|
+
`,P=t.useDocumentTheme!==!1,S=t.globalTheme&&t.globalTheme!=="auto"?String(t.globalTheme):null,F=t.themeStorageKey?String(t.themeStorageKey):"",ct=P&&S?' data-theme="'+S+'"':"",lt=P?"<script>(function(){try{var t=null;try{t=new URLSearchParams(location.search).get('globalTheme')}catch(e){}"+(F?"if(!t){try{t=localStorage.getItem("+JSON.stringify(F)+")}catch(e){}}":"")+"if(!t||t==='auto'){"+(S?"t="+JSON.stringify(S)+";":"try{t=window.matchMedia&&window.matchMedia('(prefers-color-scheme: dark)').matches?'dark':'light'}catch(e){}")+`}if(t&&t!=='auto')document.documentElement.setAttribute('data-theme',t);}catch(e){}})();<\/script>
|
|
32
|
+
<meta name="color-scheme" content="light dark">`:"";let J="";if(P){const i=t.designSystem||t.config&&t.config.designSystem||{},g=i.color||{},d=i.theme&&i.theme.document||{},b=c=>{const p=d["@"+c];if(!p)return null;const h=H(p.background,g),u=H(p.color,g);return[h&&`background:${h}`,u&&`color:${u}`].filter(Boolean).join(";")||null},a=[];if(S){const c=b(S);c&&a.push(`html{${c}}`)}else{const c=b("dark"),p=b("light");c&&(a.push(`@media (prefers-color-scheme:dark){:root:not([data-theme]) html{${c}}}`),a.push(`[data-theme="dark"] html{${c}}`)),p&&(a.push(`@media (prefers-color-scheme:light){:root:not([data-theme]) html{${p}}}`),a.push(`[data-theme="light"] html{${p}}`))}a.length&&(J=`<style>${a.join("")}</style>`)}return{html:at(it+X,{ROOT_ATTRS:ct,HEAD_BOOT:lt+J,META:ot+`
|
|
34
33
|
`+x+`
|
|
35
|
-
`+
|
|
34
|
+
`+D+`
|
|
35
|
+
`+Z,BUNDLE:q,BODY:O,SMBLS_IIFE:A,NODE_ENV:"'production'",IMPORTMAP:G,EDITOR:rt+W},{allowScript:!0}),status:200,contentType:"text/html"}}function Pt(t,o="production",r=null){const s=o!=="production"?` (${o})`:"",n=r==="not_public",f=n?"Site Not Yet Public":"Not Published",m=n?`This site isn't public yet${s}`:`This project hasn't been published yet${s}`;return`<!doctype html>
|
|
36
36
|
<html>
|
|
37
37
|
<head>
|
|
38
38
|
<meta charset="UTF-8">
|
|
39
39
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
40
40
|
<meta name="robots" content="noindex">
|
|
41
|
-
<title>${
|
|
41
|
+
<title>${f}</title>
|
|
42
42
|
<style>
|
|
43
43
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
44
44
|
body { min-height: 100vh; display: flex; align-items: center; justify-content: center; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; background: #0a0a0a; color: #fafafa; }
|
|
@@ -53,9 +53,9 @@ import b from"./utils/logger.js";import at from"./utils/vartranformer.js";import
|
|
|
53
53
|
</head>
|
|
54
54
|
<body>
|
|
55
55
|
<div class="container">
|
|
56
|
-
<h1>${
|
|
57
|
-
<p>${
|
|
58
|
-
<span class="env">${t}${
|
|
56
|
+
<h1>${m}</h1>
|
|
57
|
+
<p>${n?"The owner has connected this domain but the project's visibility is set to private. Once they switch it to public in the workspace settings, the site will appear here automatically.":'Run <code>smbls publish</code> to deploy your project, or visit <a href="https://symbols.app">symbols.app</a> to get started.'}</p>
|
|
58
|
+
<span class="env">${t}${s}</span>
|
|
59
59
|
</div>
|
|
60
60
|
</body>
|
|
61
|
-
</html>`}export{
|
|
61
|
+
</html>`}export{St as DEFAULT_TEMPLATE_HTML,z as generateSitemap,U as prefetchPageData,Pt as renderNotPublishedHtml,_t as renderProjectHtml,M as transpileFunctionStrings};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@symbo.ls/mermaid",
|
|
3
|
-
"version": "3.14.
|
|
3
|
+
"version": "3.14.485",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "CC-BY-NC-4.0",
|
|
6
6
|
"description": "Self-sustaining server runner for Symbols projects from JSON. Renders DOMQL projects to HTML with optional brender SSR.",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"mermaid": "./dist/esm/bin/start.js"
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@symbo.ls/utils": "^3.14.
|
|
72
|
+
"@symbo.ls/utils": "^3.14.485",
|
|
73
73
|
"cors": "^2.8.6",
|
|
74
74
|
"express": "^4.21.2"
|
|
75
75
|
},
|