planche 0.9.3 → 0.9.4
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/app/assets/{B4e4BJ-q.js → 2HDxyxt3.js} +1 -1
- package/app/assets/{DMmbl7oU.js → 2WcjYcT6.js} +1 -1
- package/app/assets/{B3qo2BmL.js → 34iJa-68.js} +1 -1
- package/app/assets/{aBt7vbXN.js → 62772Vyq.js} +1 -1
- package/app/assets/{XCH_yrJ8.js → 7hKKrols.js} +1 -1
- package/app/assets/{CtvJotUV.js → AR0v7sKO.js} +1 -1
- package/app/assets/B5FoXN4H.js +1 -0
- package/app/assets/{Xya13jwA.js → BB2_KYgp.js} +1 -1
- package/app/assets/{CCHDqJU3.js → BHsv1P4D.js} +1 -1
- package/app/assets/{Cv7B7xE1.js → BI5Ig187.js} +1 -1
- package/app/assets/{DyPVTkGX.js → BRKvj3qd.js} +1 -1
- package/app/assets/{BghfQrAj.js → BVZGLNq_.js} +1 -1
- package/app/assets/{CCBiFHWk.js → BWPrOT1U.js} +1 -1
- package/app/assets/{CMFMZu0I.js → BaTnCkNR.js} +1 -1
- package/app/assets/{BXogLn0j.js → BdhjYiGI.js} +1 -1
- package/app/assets/{D8_hwGjG.js → BihjBM79.js} +1 -1
- package/app/assets/{DpcElnaI.js → Bjx1jzlk.js} +1 -1
- package/app/assets/{uCGINy9d.js → BtBUwOf0.js} +1 -1
- package/app/assets/{CSjIZAje.js → Buf-_p3w.js} +1 -1
- package/app/assets/{C63wLpkg.js → BvkNY7SP.js} +1 -1
- package/app/assets/{mHq6YiMc.js → C-8Bh-gu.js} +1 -1
- package/app/assets/{D4aakMZ1.js → C1JbR1mO.js} +1 -1
- package/app/assets/{mA16m5gB.js → C3AWL5gC.js} +1 -1
- package/app/assets/{TqO-pPrr.js → C3aiaYZP.js} +1 -1
- package/app/assets/{Cu_sGzNJ.js → C76CctEl.js} +1 -1
- package/app/assets/{C3skRSMN.js → C82F2LSh.js} +1 -1
- package/app/assets/{_lYVFvcB.js → CCJEQIo6.js} +1 -1
- package/app/assets/{CSE_C1ca.js → CDfygETm.js} +1 -1
- package/app/assets/{BmnRSOWE.js → CGpFMM6B.js} +1 -1
- package/app/assets/{Ci1xBOLy.js → CH4cEkW4.js} +1 -1
- package/app/assets/{rSe5GrVH.js → CKUISE0C.js} +1 -1
- package/app/assets/{Bx57-46U.js → CN1CF2CU.js} +1 -1
- package/app/assets/{BFUEHSdO.js → CRYDH2ct.js} +1 -1
- package/app/assets/{DpPKm22O.js → CZRhmV_L.js} +2 -2
- package/app/assets/{D6SRSRpo.js → C_qmv4pB.js} +1 -1
- package/app/assets/{CgQ0qqq4.js → CcaDuuFY.js} +1 -1
- package/app/assets/{Dl3kZgxg.js → Cm-pfCIP.js} +1 -1
- package/app/assets/{C9jzAIEJ.js → Cme0nCT7.js} +1 -1
- package/app/assets/{Bsl10NAd.js → CoUCmmSB.js} +1 -1
- package/app/assets/{DtUkSj2L.js → CtsakJNi.js} +1 -1
- package/app/assets/{BYvM8E39.js → CxaujQob.js} +1 -1
- package/app/assets/{CYz610vE.js → CyX8oVsa.js} +1 -1
- package/app/assets/{baQnXYR8.js → D-DAzfgs.js} +1 -1
- package/app/assets/{X0frSBI-.js → D3VPMNTU.js} +1 -1
- package/app/assets/{B_zu4Zim.js → D4DxtYTA.js} +6 -6
- package/app/assets/{D2dO-cBr.js → D4c1cZWk.js} +1 -1
- package/app/assets/{BFxd4DZC.js → DG0u2CPf.js} +1 -1
- package/app/assets/{CYqQEBj7.js → DKObYbZY.js} +1 -1
- package/app/assets/{DU-Eln5x.js → DOy06rIE.js} +1 -1
- package/app/assets/{Uf0CXpNG.js → DT8Xdk78.js} +1 -1
- package/app/assets/{BFddfnRD.js → DXExbVos.js} +1 -1
- package/app/assets/{DBwwgHNb.js → DXQPcWS6.js} +1 -1
- package/app/assets/{CiL8zoYm.js → Dya0zxo6.js} +1 -1
- package/app/assets/{DdGvqbC0.js → IqMoIce-.js} +1 -1
- package/app/assets/{BNB2k8On.js → MeOkctzz.js} +1 -1
- package/app/assets/{B8kALM_o.js → NL8WOYEo.js} +1 -1
- package/app/assets/{D8dVzi6I.js → Ngd1VEiY.js} +1 -1
- package/app/assets/UEkRIZwQ.js +1 -0
- package/app/assets/{BGuDcBB_.js → UJzcIbfW.js} +1 -1
- package/app/assets/{cFpo8ItN.js → W81Xd8P5.js} +1 -1
- package/app/assets/{Bjupmf7v.js → Yn5aIyLX.js} +1 -1
- package/app/assets/{DP7G83e7.js → _N3A-NTc.js} +1 -1
- package/app/assets/{BLF41w4B.js → gvCOWBS0.js} +1 -1
- package/app/assets/{CAd2f6EE.js → iz6RnRcO.js} +1 -1
- package/app/assets/{DzRyVlxz.js → kTwcxyaO.js} +1 -1
- package/app/assets/{BanAYgsJ.js → oXAkF219.js} +1 -1
- package/app/assets/{ClHvsi-E.js → pDR31rvF.js} +1 -1
- package/app/assets/{DmDLn1hv.js → u9a-WHjb.js} +1 -1
- package/app/assets/{Ec3vNInq.js → yLCKuLgs.js} +1 -1
- package/app/assets/{CHn2dkeR.js → yfRSh-O-.js} +1 -1
- package/app/assets/{BPLdNS4h.js → zdvaVsTo.js} +1 -1
- package/app/index.html +19 -19
- package/package.json +1 -1
- package/app/assets/BEY3Hwp0.js +0 -1
- package/app/assets/BFw3KCAr.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./hePW80VL.js";import{p as t}from"./
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{p as t}from"./CyX8oVsa.js";import{t as n}from"./Dya0zxo6.js";import{i as r,r as i}from"./C76CctEl.js";import{a,i as o,n as s,o as c,t as l}from"./kTwcxyaO.js";import{a as u,i as d,n as f,r as p,t as m}from"./34iJa-68.js";import{t as h}from"./iz6RnRcO.js";import{n as g}from"./BihjBM79.js";import{n as _}from"./C_qmv4pB.js";import{C as v,a as y}from"./BVZGLNq_.js";import{r as b}from"./CH4cEkW4.js";import{o as x,r as S}from"./Buf-_p3w.js";import{c as C,vt as w}from"./D4DxtYTA.js";import{t as T}from"./CnYBZPf9.js";var E=e(t(),1),D=i();function O(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function k(){let{t:e}=r(),{activeDialog:t,closeDialog:i}=g(),{activeConnectionId:k,activeConnections:A}=h(),{trees:j}=v(),M=_(),N=t===`export-html`,P=(0,E.useMemo)(()=>k?S(j[k]??[]):[],[k,j]),F=(0,E.useMemo)(()=>{if(!k)return``;let e=M.activeTabId[k];return(M.tabs[k]??[]).find(t=>t.id===e)?.database||``},[k,M.activeTabId,M.tabs]),[I,L]=(0,E.useState)(``),R=(0,E.useMemo)(()=>!k||!I?[]:x(j[k]??[],I),[k,I,j]),[z,B]=(0,E.useState)([]),[V,H]=(0,E.useState)(!0),[U,W]=(0,E.useState)(!0),[G,K]=(0,E.useState)(!0),[q,J]=(0,E.useState)(!1);(0,E.useEffect)(()=>{N&&F&&L(F)},[N,F]);function Y(e){e||(i(),L(``),B([]),H(!0),W(!0),K(!0))}function X(e){B(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function Z(){B(R.length===z.length?[]:[...R])}async function Q(){if(z.length===0||!k)return;let t=A.find(e=>e.id===k);if(!t?.serverConnectionId)return;J(!0);let{introspect:n}=b(k),r=y(t.serverConnectionId),a=(e,t,n)=>{let r=`<h3>${O(e)}</h3>\n<table border="1" cellpadding="4" cellspacing="0">\n`;r+=`<tr>${t.map(e=>`<th>${O(e)}</th>`).join(``)}</tr>\n`;for(let e of n)r+=`<tr>${e.map(e=>`<td>${O(e==null?`NULL`:String(e))}</td>`).join(``)}</tr>\n`;return r+`</table>
|
|
2
2
|
`};try{let t=[];for(let i of z){let o=`<h2>${O(i)}</h2>\n`;if(V){let t=await n.listColumns(r,I,i);t.length>0&&(o+=a(e(`database.html.sectionColumns`),[`Field`,`Type`,`Null`,`Key`,`Default`,`Extra`,`Comment`],t.map(e=>[e.name,e.type,e.nullable?`YES`:`NO`,e.key,e.defaultValue,e.extra,e.comment])))}if(U){let t=await n.listIndexes(r,I,i);t.length>0&&(o+=a(e(`database.html.sectionIndexes`),[`Key_name`,`Type`,`Columns`],t.map(e=>[e.name,e.type,e.columns.join(`, `)])))}if(G){let t=await n.getTableInfo(r,I,i);t&&(o+=a(e(`database.html.sectionProperties`),[`Name`,`Engine`,`Collation`,`Rows`,`Data_length`,`Create_time`,`Update_time`,`Comment`],[[t.name,t.engine,t.collation,t.rows,t.dataLength,t.createTime,t.updateTime,t.comment]]))}t.push(o)}let i=`<!DOCTYPE html>
|
|
3
3
|
<html lang="en">
|
|
4
4
|
<head>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./hePW80VL.js";import{o as t,p as n}from"./
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{o as t,p as n}from"./CyX8oVsa.js";import{t as r}from"./Dya0zxo6.js";import{i,r as a}from"./C76CctEl.js";import{a as o,i as ee,n as te,o as ne,r as re,t as ie}from"./kTwcxyaO.js";import{a as s,i as c,n as l,r as u,t as d}from"./34iJa-68.js";import{t as f}from"./iz6RnRcO.js";import{n as p,t as m}from"./BihjBM79.js";import{a as h}from"./BVZGLNq_.js";import{r as g}from"./CH4cEkW4.js";import{n as ae,s as _}from"./CZRhmV_L.js";import{Bt as oe,Ct as se,c as v,l as ce,pt as y,vt as le}from"./D4DxtYTA.js";var b=e(n(),1),ue=[`SUM`,`AVG`,`MIN`,`MAX`],x=`row_count`;function S(e,t){if(t.columns.length===0)return``;let n=t=>e.quoteIdentifier(t),r=t.columns.map(n),i=[...r,`COUNT(*) AS ${n(x)}`];if(t.aggregate){let{fn:e,column:r}=t.aggregate;i.push(`${e}(${n(r)}) AS ${n(`${e.toLowerCase()}_${r}`)}`)}let a=[];return t.where&&a.push(t.where),a.push(`GROUP BY ${r.join(`, `)}`),t.minCount&&t.minCount>1&&a.push(`HAVING COUNT(*) >= ${Math.floor(t.minCount)}`),a.push(`ORDER BY COUNT(*) DESC`),t.limit>0&&a.push(e.limitClause(t.limit)),e.getQuery(`SELECT_TABLE`,t.database,t.table,i.join(`, `),a.join(` `))}function C(e){let t=new Set;for(let n of e){let e=n.columns[0];e&&t.add(e.toLowerCase())}return t}function w(e,t){return t.has(e.toLowerCase())}function de(e,t){let n=C(t);return e.some(e=>w(e,n))}var T=a(),E=`none`,fe=/\b(int|dec|numeric|number|float|double|real|money|serial)/i;function D(){let{t:e}=i(),n=p(e=>e.activeDialog),a=p(e=>e.closeDialog),x=m(`group-by`),D=n===`group-by`,O=f(e=>e.activeConnections),pe=f(e=>e.activeConnectionId),me=(0,b.useMemo)(()=>O.filter(e=>e.serverConnectionId),[O]),[k,he]=(0,b.useState)(()=>x?.connectionId??pe??``),[A,j]=(0,b.useState)(()=>x?.database??``),[M,N]=(0,b.useState)(()=>x?.table??``),[P,F]=(0,b.useState)([]),[I,L]=(0,b.useState)([]),R=x&&k===x.connectionId&&A===x.database&&M===x.table?x.where??``:``,[z,ge]=(0,b.useState)([]),[B,_e]=(0,b.useState)([]),[V,H]=(0,b.useState)(()=>x?.column?[x.column]:[]),[U,ve]=(0,b.useState)(E),[W,ye]=(0,b.useState)(``),[G,be]=(0,b.useState)(`1`),[K,xe]=(0,b.useState)(!0),[q,J]=(0,b.useState)(``),[Se,Y]=(0,b.useState)(!1),X=e=>f.getState().activeConnections.find(t=>t.id===e)?.serverConnectionId;(0,b.useEffect)(()=>{if(!D||!k)return;let e=X(k);if(!e)return;let t=!1;return(async()=>{try{let n=await g(k).introspect.listDatabases(h(e));if(t)return;F(n),j(e=>e&&n.includes(e)?e:n[0]??``)}catch(e){t||J(e instanceof Error?e.message:String(e))}})(),()=>{t=!0}},[D,k]),(0,b.useEffect)(()=>{if(!D||!k||!A)return;let e=X(k);if(!e)return;let t=!1;return(async()=>{try{let n=await g(k).introspect.listTables(h(e),A);if(t)return;let r=n.map(e=>e.name);L(r),N(e=>e&&r.includes(e)?e:r[0]??``)}catch(e){t||J(e instanceof Error?e.message:String(e))}})(),()=>{t=!0}},[D,k,A]),(0,b.useEffect)(()=>{if(!D||!k||!M)return;let e=X(k);if(!e)return;let t=!1;return(async()=>{let n=h(e),r=g(k).introspect;try{let[e,i]=await Promise.all([r.listColumns(n,A,M),r.listIndexes(n,A,M).catch(()=>[])]);if(t)return;ge(e),_e(i),H(t=>t.filter(t=>e.some(e=>e.name===t)))}catch(e){t||J(e instanceof Error?e.message:String(e))}})(),()=>{t=!0}},[D,k,A,M]);let Ce=(0,b.useMemo)(()=>C(B),[B]),we=(0,b.useMemo)(()=>z.filter(e=>fe.test(e.type)),[z]),Z=(0,b.useMemo)(()=>!k||V.length===0?``:S(g(k),{database:A,table:M,columns:V,aggregate:U!==E&&W?{fn:U,column:W}:null,where:K?R:``,minCount:Number(G)||1,limit:_()}),[k,A,M,V,U,W,G,K,R]),Q=V.length>0&&B.length>0&&!de(V,B);function Te(e){H(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function $(e){t(`group_by`,{action:e,dbms:g(k).id,columns:V.length,aggregate:U,filtered:!!(K&&R),indexed:!Q})}function Ee(){Z&&($(`open`),y(k,Z,A,e(`database.groupBy.tabTitle`,{table:M})),a())}async function De(){if(!Z)return;$(`run`),Y(!0);let t=y(k,Z,A,e(`database.groupBy.tabTitle`,{table:M}));a();try{await ae(k,t)}finally{Y(!1)}}return(0,T.jsx)(ie,{open:D,onOpenChange:e=>{e||a()},children:(0,T.jsxs)(te,{className:`flex max-h-[85vh] flex-col sm:max-w-[720px]`,children:[(0,T.jsxs)(o,{children:[(0,T.jsx)(ne,{children:e(`database.groupBy.title`)}),(0,T.jsx)(re,{children:e(`database.groupBy.description`,{table:M})})]}),q&&(0,T.jsx)(`p`,{className:`rounded-md border border-destructive/40 px-3 py-2 text-xs text-destructive`,children:q}),(0,T.jsxs)(`div`,{className:`grid grid-cols-3 gap-2`,children:[(0,T.jsxs)(`div`,{className:`space-y-1`,children:[(0,T.jsx)(v,{className:`text-xs`,children:e(`database.groupBy.connection`)}),(0,T.jsxs)(d,{value:k,onValueChange:he,children:[(0,T.jsx)(c,{className:`h-8 text-xs`,children:(0,T.jsx)(s,{})}),(0,T.jsx)(l,{children:me.map(e=>(0,T.jsx)(u,{value:e.id,children:e.hostName||e.host||e.file||e.id},e.id))})]})]}),(0,T.jsxs)(`div`,{className:`space-y-1`,children:[(0,T.jsx)(v,{className:`text-xs`,children:e(`database.groupBy.database`)}),(0,T.jsxs)(d,{value:A,onValueChange:j,children:[(0,T.jsx)(c,{className:`h-8 text-xs`,children:(0,T.jsx)(s,{})}),(0,T.jsx)(l,{children:P.map(e=>(0,T.jsx)(u,{value:e,children:e},e))})]})]}),(0,T.jsxs)(`div`,{className:`space-y-1`,children:[(0,T.jsx)(v,{className:`text-xs`,children:e(`database.groupBy.table`)}),(0,T.jsxs)(d,{value:M,onValueChange:N,children:[(0,T.jsx)(c,{className:`h-8 text-xs`,children:(0,T.jsx)(s,{})}),(0,T.jsx)(l,{children:I.map(e=>(0,T.jsx)(u,{value:e,children:e},e))})]})]})]}),(0,T.jsxs)(`div`,{className:`grid min-h-0 grid-cols-[1fr_1fr] gap-4`,children:[(0,T.jsxs)(`div`,{className:`flex min-h-0 flex-col gap-1.5`,children:[(0,T.jsx)(v,{className:`text-xs`,children:e(`database.groupBy.columns`)}),(0,T.jsx)(le,{className:`h-[260px] rounded-md border`,children:(0,T.jsx)(`ul`,{className:`p-1`,children:z.map(t=>{let n=w(t.name,Ce);return(0,T.jsx)(`li`,{children:(0,T.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded px-2 py-1 text-xs hover:bg-accent`,children:[(0,T.jsx)(`input`,{type:`checkbox`,checked:V.includes(t.name),onChange:()=>Te(t.name)}),(0,T.jsx)(`span`,{className:`truncate font-medium`,children:t.name}),(0,T.jsx)(`span`,{className:`truncate text-muted-foreground`,children:t.type}),n&&(0,T.jsx)(oe,{className:`ml-auto h-3 w-3 shrink-0 text-muted-foreground`,"aria-label":e(`database.groupBy.indexed`)})]})},t.name)})})})]}),(0,T.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,T.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,T.jsx)(v,{className:`text-xs`,children:e(`database.groupBy.aggregate`)}),(0,T.jsxs)(`div`,{className:`flex gap-2`,children:[(0,T.jsxs)(d,{value:U,onValueChange:ve,children:[(0,T.jsx)(c,{className:`h-8 w-[110px] text-xs`,children:(0,T.jsx)(s,{})}),(0,T.jsxs)(l,{children:[(0,T.jsx)(u,{value:E,children:e(`database.groupBy.countOnly`)}),ue.map(e=>(0,T.jsx)(u,{value:e,children:e},e))]})]}),(0,T.jsxs)(d,{value:W,onValueChange:ye,disabled:U===E,children:[(0,T.jsx)(c,{className:`h-8 flex-1 text-xs`,children:(0,T.jsx)(s,{placeholder:e(`database.groupBy.column`)})}),(0,T.jsx)(l,{children:we.map(e=>(0,T.jsx)(u,{value:e.name,children:e.name},e.name))})]})]})]}),(0,T.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,T.jsx)(v,{htmlFor:`gb-min`,className:`text-xs`,children:e(`database.groupBy.minCount`)}),(0,T.jsx)(ce,{id:`gb-min`,type:`number`,min:1,value:G,onChange:e=>be(e.target.value),className:`h-8 text-xs`})]}),R&&(0,T.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,T.jsx)(`input`,{type:`checkbox`,checked:K,onChange:e=>xe(e.target.checked)}),e(`database.groupBy.useFilter`)]}),Q&&(0,T.jsxs)(`p`,{className:`flex gap-1.5 rounded-md border border-dashed px-2 py-1.5 text-xs text-muted-foreground`,children:[(0,T.jsx)(se,{className:`mt-0.5 h-3.5 w-3.5 shrink-0`}),(0,T.jsx)(`span`,{children:e(`database.groupBy.noIndexWarning`)})]})]})]}),(0,T.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,T.jsx)(v,{className:`text-xs`,children:e(`database.groupBy.preview`)}),(0,T.jsx)(`pre`,{className:`max-h-[120px] overflow-auto rounded-md border bg-muted p-2 font-mono text-xs whitespace-pre-wrap`,children:Z||e(`database.groupBy.pickColumn`)})]}),(0,T.jsxs)(ee,{children:[(0,T.jsx)(r,{variant:`outline`,onClick:a,children:e(`command.close`)}),(0,T.jsx)(r,{variant:`outline`,onClick:Ee,disabled:!Z,children:e(`database.groupBy.openInTab`)}),(0,T.jsx)(r,{onClick:De,disabled:!Z||Se,children:e(`database.groupBy.run`)})]})]})})}export{D as GroupByDialog};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as e}from"./hePW80VL.js";import{o as t,p as n}from"./
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{o as t,p as n}from"./CyX8oVsa.js";import{t as r}from"./Dya0zxo6.js";import{i,r as a}from"./C76CctEl.js";import{a as o,i as s,n as c,o as l,t as u}from"./kTwcxyaO.js";import{a as d,i as f,n as p,r as m,t as h}from"./34iJa-68.js";import{t as g}from"./iz6RnRcO.js";import{n as _,t as ee}from"./BihjBM79.js";import{a as v}from"./BVZGLNq_.js";import{r as y}from"./CH4cEkW4.js";import{t as te}from"./UEkRIZwQ.js";import{t as b}from"./Bs5VSn0X.js";import{c as x,dt as S,pt as ne}from"./D4DxtYTA.js";var C=e(n(),1),w=[`VIEW`,`PROCEDURE`,`FUNCTION`,`TRIGGER`,`EVENT`];function T(e,t){return e.replace(/\bDEFINER\s*=\s*(?:`[^`]*`|'[^']*'|"[^"]*"|\w+)@(?:`[^`]*`|'[^']*'|"[^"]*"|[\w.%-]+)/gi,``).replace(/\bSQL SECURITY (?:DEFINER|INVOKER)\b/gi,``).replace(/\bALGORITHM\s*=\s*\w+/gi,``).replace(RegExp(`[\`"\\[]?${t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}[\`"\\]]?\\.`,`gi`),``).replace(/\s+/g,` `).replace(/;\s*$/,``).trim()}function E(e,t){let n=[];for(let r of w){let i=e.objects?.get(r),a=t.objects?.get(r);if(!i&&!a)continue;let o=[...new Set([...i?.keys()??[],...a?.keys()??[]])].sort();for(let s of o){let o=i?.get(s)??null,c=a?.get(s)??null,l;l=o?c?o.sql!==null&&c.sql!==null&&T(o.sql,e.database)===T(c.sql,t.database)?`identical`:`changed`:`missingInTarget`:`missingInSource`,n.push({type:r,name:s,status:l,source:o,target:c})}}return n}var D=e=>e.toLowerCase().replace(/\s+/g,` `).trim(),O=e=>e===null?null:e.trim().replace(/^'(.*)'(?:::\w+)?$/s,`$1`),k=e=>e.addedColumns.length+e.removedColumns.length+e.changedColumns.length+e.addedIndexes.length+e.removedIndexes.length+e.changedIndexes.length>0;function A(e,t){let n=[];return D(e.type)!==D(t.type)&&n.push(`type`),e.nullable!==t.nullable&&n.push(`nullable`),O(e.defaultValue)!==O(t.defaultValue)&&n.push(`default`),e.extra.toLowerCase()!==t.extra.toLowerCase()&&n.push(`extra`),n}var j=(e,t)=>e.type===t.type&&e.columns.length===t.columns.length&&e.columns.every((e,n)=>e===t.columns[n]);function M(e,t,n){let r=t.columns.get(e)??[],i=n.columns.get(e)??[],a=new Map(i.map(e=>[e.name,e])),o=new Map(r.map(e=>[e.name,e])),s={table:e,addedColumns:r.filter(e=>!a.has(e.name)),removedColumns:i.filter(e=>!o.has(e.name)),changedColumns:[],addedIndexes:[],removedIndexes:[],changedIndexes:[]};for(let e of r){let t=a.get(e.name);if(!t)continue;let n=A(e,t);n.length>0&&s.changedColumns.push({name:e.name,source:e,target:t,attributes:n})}let c=t.indexes.get(e)??[],l=n.indexes.get(e)??[],u=new Map(l.map(e=>[e.name,e])),d=new Map(c.map(e=>[e.name,e]));s.addedIndexes=c.filter(e=>!u.has(e.name)),s.removedIndexes=l.filter(e=>!d.has(e.name));for(let e of c){let t=u.get(e.name);t&&!j(e,t)&&s.changedIndexes.push({name:e.name,source:e,target:t})}return s}function N(e,t){let n=new Set(t.tables),r=new Set(e.tables),i={missingInTarget:[],missingInSource:[],changed:[],identical:[],objects:E(e,t)};for(let r of e.tables){if(!n.has(r)){i.missingInTarget.push(r);continue}let a=M(r,e,t);k(a)?i.changed.push(a):i.identical.push(r)}return i.missingInSource=t.tables.filter(e=>!r.has(e)),i}var P=e=>e.split(`
|
|
2
2
|
`).map(e=>`-- ${e}`).join(`
|
|
3
3
|
`);function F(e,t,n,r,i={}){let a=n.ddl,o=r.database,s=e=>i.includeDrops?e:P(e),c=[`-- Schema sync: ${t.database} -> ${o} (${n.label})`,`-- Review before running. Statements that drop data are commented out unless "Include DROP statements" was checked.`,``];for(let r of e.missingInTarget)c.push(`-- Table ${r} is missing in the target`),c.push(I(r,t,n,o)),c.push(``);for(let t of e.changed){c.push(`-- Table ${t.table}`);for(let e of t.removedIndexes)c.push(s(a.dropIndex(o,t.table,e.name)));for(let e of t.changedIndexes)c.push(s(a.dropIndex(o,t.table,e.name)));for(let e of t.addedColumns)c.push(a.addColumn(o,t.table,e));for(let e of t.changedColumns){let r=a.alterColumn(o,t.table,e.source);c.push(r??P(`${n.label} cannot alter column ${e.name} in place (${e.attributes.join(`, `)}): recreate the table`))}for(let e of t.removedColumns)c.push(s(a.dropColumn(o,t.table,e.name)));for(let e of t.addedIndexes)c.push(a.createIndex(o,t.table,e));for(let e of t.changedIndexes)c.push(a.createIndex(o,t.table,e.source));c.push(``)}for(let t of e.missingInSource)c.push(`-- Table ${t} exists only in the target`),c.push(s(`DROP TABLE ${n.qualify(o,t)};`)),c.push(``);for(let t of e.objects){if(t.status===`identical`)continue;let e=`${t.type.charAt(0)}${t.type.slice(1).toLowerCase()} ${t.name}`,r=R(n,o,t);t.status===`missingInSource`?(c.push(`-- ${e} exists only in the target`),c.push(s(r))):(c.push(t.status===`changed`?`-- ${e} differs; recreated from the source`:`-- ${e} is missing in the target`),t.status===`changed`&&c.push(s(r)),c.push(t.source?.sql?z(t.source.sql):P(`the source engine did not return a CREATE statement for ${e}`))),c.push(``)}return c.join(`
|
|
4
4
|
`).replace(/\n{3,}/g,`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e}from"./hePW80VL.js";import{o as t,p as n}from"./
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{o as t,p as n}from"./CyX8oVsa.js";import{t as r}from"./Dya0zxo6.js";import{i,r as a}from"./C76CctEl.js";import{a as o,i as s,n as c,o as l,t as u}from"./kTwcxyaO.js";import{a as d,i as f,n as p,r as m,t as h}from"./34iJa-68.js";import{t as g}from"./iz6RnRcO.js";import{n as _,t as ee}from"./BihjBM79.js";import{a as v}from"./BVZGLNq_.js";import{r as y}from"./CH4cEkW4.js";import{t as te}from"./UEkRIZwQ.js";import{G as b,_ as x,c as S,g as C,pt as ne,v as re}from"./D4DxtYTA.js";var w=e(n(),1),T=a(),E=e=>e instanceof Error?e.message:String(e),D=e=>e.hostName||e.host||e.file||e.id,O=5e4;function k({id:e,label:t,side:n,onChange:r,connections:a,disabled:o}){let{t:s}=i(),[c,l]=(0,w.useState)([]),[u,g]=(0,w.useState)([]),_=a.find(e=>e.id===n.connectionId);return(0,w.useEffect)(()=>{if(!_?.serverConnectionId)return;let e=!1;return(async()=>{try{let t=await y(_.id).introspect.listDatabases(v(_.serverConnectionId));if(e)return;l(t),t.includes(n.database)||r({connectionId:_.id,database:t[0]??``,table:``})}catch{e||l([])}})(),()=>{e=!0}},[_?.id,_?.serverConnectionId]),(0,w.useEffect)(()=>{if(!_?.serverConnectionId||!n.database)return;let e=!1;return(async()=>{try{let t=await y(_.id).introspect.listTables(v(_.serverConnectionId),n.database);if(e)return;let i=t.map(e=>e.name);g(i),n.table&&!i.includes(n.table)&&r({...n,table:``})}catch{e||g([])}})(),()=>{e=!0}},[_?.id,_?.serverConnectionId,n.database]),(0,T.jsxs)(`div`,{className:`space-y-2 rounded-md border p-3`,children:[(0,T.jsx)(S,{className:`font-medium`,children:t}),(0,T.jsxs)(h,{value:n.connectionId,onValueChange:e=>r({connectionId:e,database:``,table:``}),disabled:o,children:[(0,T.jsx)(f,{id:`${e}-conn`,className:`w-full`,children:(0,T.jsx)(d,{placeholder:s(`database.diff.pickConnection`)})}),(0,T.jsx)(p,{children:a.map(e=>(0,T.jsx)(m,{value:e.id,children:D(e)},e.id))})]}),(0,T.jsxs)(h,{value:n.database,onValueChange:e=>r({...n,database:e,table:``}),disabled:o||c.length===0,children:[(0,T.jsx)(f,{id:`${e}-db`,className:`w-full`,children:(0,T.jsx)(d,{placeholder:s(`database.diff.pickDatabase`)})}),(0,T.jsx)(p,{children:c.map(e=>(0,T.jsx)(m,{value:e,children:e},e))})]}),(0,T.jsxs)(h,{value:n.table,onValueChange:e=>r({...n,table:e}),disabled:o||u.length===0,children:[(0,T.jsx)(f,{id:`${e}-table`,className:`w-full`,children:(0,T.jsx)(d,{placeholder:s(`database.dataDiff.pickTable`)})}),(0,T.jsx)(p,{children:u.map(e=>(0,T.jsx)(m,{value:e,children:e},e))})]})]})}async function A(e,t){let n=await b({connectionId:e.connectionId,database:e.database,table:e.table,limit:O,onProgress:t}),r=[];for await(let e of n.pages)r.push(...e);return{rows:r,columns:n.fields.map(e=>e.name),capped:r.length>=O}}function j({diff:e,row:t,other:n,changed:r}){let{t:a}=i(),o=[...e.keyColumns,...e.compareColumns];return(0,T.jsxs)(`table`,{className:`w-full text-xs font-mono`,children:[(0,T.jsx)(`thead`,{className:`text-muted-foreground`,children:(0,T.jsxs)(`tr`,{children:[(0,T.jsx)(`th`,{className:`text-left font-normal pr-2`,children:a(`database.diff.column`)}),(0,T.jsx)(`th`,{className:`text-left font-normal pr-2`,children:a(`database.diff.source`)}),(0,T.jsx)(`th`,{className:`text-left font-normal`,children:a(`database.diff.target`)})]})}),(0,T.jsx)(`tbody`,{children:o.map(e=>(0,T.jsxs)(`tr`,{className:r?.includes(e)?`text-amber-600 dark:text-amber-400`:``,children:[(0,T.jsx)(`td`,{className:`pr-2 align-top whitespace-nowrap`,children:e}),(0,T.jsx)(`td`,{className:`pr-2 align-top break-all`,children:x(t[e])}),(0,T.jsx)(`td`,{className:`align-top break-all`,children:n?x(n[e]):`—`})]},e))})]})}function M(){let{t:e}=i(),n=_(e=>e.activeDialog),a=_(e=>e.closeDialog),d=ee(`data-diff`),f=g(e=>e.activeConnections),p=(0,w.useMemo)(()=>f.filter(e=>e.serverConnectionId),[f]),m=g(e=>e.activeConnectionId),h=n===`data-diff`,[b,S]=(0,w.useState)(()=>d&&p.some(e=>e.id===d.connectionId)?{connectionId:d.connectionId,database:d.database,table:d.table}:{connectionId:m&&p.some(e=>e.id===m)?m:p[0]?.id??``,database:``,table:``}),[D,M]=(0,w.useState)(()=>({connectionId:p.find(e=>e.id!==b.connectionId)?.id??b.connectionId,database:``,table:``})),[N,ie]=(0,w.useState)([]),[P,F]=(0,w.useState)(null),[I,L]=(0,w.useState)(!1),[R,z]=(0,w.useState)(`changed`),[B,V]=(0,w.useState)(0),[H,ae]=(0,w.useState)(!1),[U,W]=(0,w.useState)(!1),[G,K]=(0,w.useState)({source:null,target:null}),[q,J]=(0,w.useState)(null),oe=e=>M(e.database&&!e.table&&b.table?{...e,table:b.table}:e),Y=b.connectionId===D.connectionId&&b.database===D.database&&b.table===D.table,se=!!b.table&&!!D.table&&!Y,X=D.connectionId?y(D.connectionId):null;async function ce(){W(!0),J(null),F(null);try{let n=g.getState().activeConnections.find(e=>e.id===b.connectionId);if(!n?.serverConnectionId)throw Error(e(`services.query.notConnected`));let r=await y(b.connectionId).introspect.getPrimaryKeys(v(n.serverConnectionId),b.database,b.table);if(r.length===0)throw Error(e(`database.dataDiff.noPrimaryKey`,{table:b.table}));K({source:{loaded:0,total:null},target:{loaded:0,total:null}});let[i,a]=await Promise.all([A(b,e=>K(t=>({...t,source:e}))),A(D,e=>K(t=>({...t,target:e})))]);if(r.some(e=>!a.columns.includes(e)))throw Error(e(`database.dataDiff.keyMissingInTarget`,{columns:r.join(`, `)}));let o=re(i.rows,a.rows,r,i.columns,a.columns);ie(r),L(i.capped||a.capped),F(o),z(o.changed.length>0?`changed`:o.added.length>0?`added`:`removed`),V(0),te(`compare_data`),t(`data_diff`,{source_dbms:y(b.connectionId).id,target_dbms:X?.id??`unknown`,added:o.added.length,changed:o.changed.length,removed:o.removed.length})}catch(e){J(E(e))}finally{W(!1),K({source:null,target:null})}}let Z=e=>e?e.total===null?e.loaded.toLocaleString():`${e.loaded.toLocaleString()} / ${e.total.toLocaleString()}`:``,Q=(0,w.useMemo)(()=>P&&X?C(P,X,{database:D.database,table:D.table},{includeDeletes:H}):``,[P,X,D.database,D.table,H]);function le(){Q&&(ne(D.connectionId,Q,D.database,e(`database.dataDiff.tabTitle`,{table:D.table})),a())}let $=P?R===`added`?P.added:R===`removed`?P.removed:P.changed.map(e=>e.source):[],ue=!!P&&P.added.length+P.changed.length+P.removed.length>0,de=e=>N.map(t=>x(e[t])).join(`, `);return(0,T.jsx)(u,{open:h,onOpenChange:e=>{e||a()},children:(0,T.jsxs)(c,{className:`sm:max-w-[900px]`,children:[(0,T.jsx)(o,{children:(0,T.jsx)(l,{children:e(`database.dataDiff.title`)})}),(0,T.jsxs)(`div`,{className:`space-y-3`,children:[(0,T.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,T.jsx)(k,{id:`ddiff-source`,label:e(`database.diff.source`),side:b,onChange:S,connections:p,disabled:U}),(0,T.jsx)(k,{id:`ddiff-target`,label:e(`database.diff.target`),side:D,onChange:oe,connections:p,disabled:U})]}),(0,T.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`database.dataDiff.hint`,{cap:O.toLocaleString()})}),Y&&b.table&&(0,T.jsx)(`p`,{className:`text-xs text-destructive`,children:e(`database.dataDiff.sameSide`)}),q&&(0,T.jsx)(`p`,{className:`text-sm text-destructive whitespace-pre-wrap`,children:q}),U&&(G.source||G.target)&&(0,T.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`database.dataDiff.loading`,{source:Z(G.source),target:Z(G.target)})}),P&&(0,T.jsxs)(`div`,{className:`space-y-2`,children:[(0,T.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 text-xs`,children:[(0,T.jsx)(`span`,{className:`text-muted-foreground`,children:e(`database.dataDiff.summary`,{key:N.join(`, `),added:P.added.length,changed:P.changed.length,removed:P.removed.length,identical:P.identical})}),I&&(0,T.jsx)(`span`,{className:`text-amber-600 dark:text-amber-400`,children:e(`database.dataDiff.capped`,{cap:O.toLocaleString()})}),(P.sourceOnlyColumns.length>0||P.targetOnlyColumns.length>0)&&(0,T.jsx)(`span`,{className:`text-muted-foreground`,children:e(`database.dataDiff.ignoredColumns`,{columns:[...P.sourceOnlyColumns,...P.targetOnlyColumns].join(`, `)})})]}),(0,T.jsx)(`div`,{className:`flex gap-1 text-xs`,children:[`added`,`changed`,`removed`].map(t=>(0,T.jsx)(`button`,{type:`button`,onClick:()=>{z(t),V(0)},className:`rounded border px-2 py-0.5 ${R===t?`bg-accent`:``}`,children:e(`database.dataDiff.${t}`,{count:t===`added`?P.added.length:t===`removed`?P.removed.length:P.changed.length})},t))}),(0,T.jsxs)(`div`,{className:`grid grid-cols-[240px_1fr] gap-3 h-[280px]`,children:[(0,T.jsxs)(`ul`,{className:`overflow-auto rounded-md border text-sm font-mono`,children:[$.slice(0,2e3).map((e,t)=>(0,T.jsx)(`li`,{className:`px-2 py-1 cursor-pointer ${B===t?`bg-accent`:``}`,onClick:()=>V(t),children:de(e)},t)),$.length===0&&(0,T.jsx)(`li`,{className:`px-2 py-1 text-muted-foreground`,children:e(`database.dataDiff.none`)}),$.length>2e3&&(0,T.jsx)(`li`,{className:`px-2 py-1 text-muted-foreground`,children:e(`database.dataDiff.more`,{count:$.length-2e3})})]}),(0,T.jsx)(`div`,{className:`overflow-auto rounded-md border p-2`,children:$[B]?R===`changed`?(0,T.jsx)(j,{diff:P,row:P.changed[B].source,other:P.changed[B].target,changed:P.changed[B].columns}):R===`removed`?(0,T.jsx)(j,{diff:P,row:{},other:$[B]}):(0,T.jsx)(j,{diff:P,row:$[B]}):(0,T.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e(`database.diff.selectTable`)})})]}),(0,T.jsxs)(`label`,{className:`flex items-center gap-1.5 text-xs cursor-pointer`,children:[(0,T.jsx)(`input`,{type:`checkbox`,checked:H,onChange:e=>ae(e.target.checked)}),(0,T.jsx)(`span`,{className:H?`text-destructive`:``,children:e(`database.dataDiff.includeDeletes`)})]})]})]}),(0,T.jsxs)(s,{children:[(0,T.jsx)(r,{variant:`outline`,onClick:a,children:e(`database.diff.close`)}),(0,T.jsx)(r,{variant:`secondary`,onClick:()=>{ce()},disabled:!se||U,children:e(U?`database.diff.comparing`:`database.diff.compare`)}),(0,T.jsx)(r,{onClick:le,disabled:!ue,children:e(`database.diff.openScript`)})]})]})})}export{M as DataDiffDialog};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./
|
|
1
|
+
import{a as e}from"./Cme0nCT7.js";import{t}from"./Nro86Y63.js";import{t as n}from"./Bit0Kfog.js";var r=`http://127.0.0.1:8888`,i=n(`tunnelAgent`,()=>({url:null,token:null}));function a(e){i.url=e.url?.replace(/\/+$/,``)||null,i.token=e.token?.trim()||null}var o=new Set([`127.0.0.1`,`localhost`,`[::1]`,`::1`]);function s(e){try{let t=new URL(e);return(t.protocol===`http:`||t.protocol===`https:`)&&o.has(t.hostname)}catch{return!1}}function c(e){try{return typeof window<`u`&&new URL(e).origin===window.location.origin}catch{return!1}}function l(e){return s(e)||c(e)}function u(){return i.url!==null&&i.url!==`/api`&&!l(i.url)}function d(){return i.url??r}function f(){let t=d();return t===`/api`?e.t(`services.agent.devProxyUrl`,{url:`http://localhost:8888`}):t}async function p(){let t=f(),n;try{let e={};i.token&&(e.Authorization=`Bearer ${i.token}`),n=await(await fetch(`${d()}/health`,{cache:`no-store`,headers:e})).json()}catch(e){return{state:`offline`,url:t,message:e instanceof Error?e.message:String(e)}}if(n.name!==`planche`||typeof n.version!=`string`||!/^[\w.+-]{1,32}$/.test(n.version))return{state:`offline`,url:t,message:e.t(`services.agent.notPlanche`)};let r=n.install===`standalone`?`standalone`:`npx`;return n.protocolVersion===2?n.authorized===!1||i.token===null&&n.authorized===void 0?{state:`unauthorized`,url:t,version:n.version,install:r}:{state:`online`,url:t,version:n.version,activeConnections:n.activeConnections??0,install:r,...n.gateway?{gateway:n.gateway}:{}}:{state:`outdated`,url:t,version:n.version,protocolVersion:n.protocolVersion??0,install:r}}async function m(){let t=await fetch(`${d()}/profiles`,{cache:`no-store`,headers:M()}),n=await t.json().catch(()=>null);if(!t.ok||!n||n.success!==!0)throw new N(n?.message??e.t(`services.agent.httpError`,{status:t.status,statusText:t.statusText}),t.status);return n}async function h(){return E(`/ai/config`,{method:`GET`})}async function g(e){return E(`/ai/config`,{method:`PUT`,body:JSON.stringify(e)})}async function _(){return E(`/ai/config`,{method:`DELETE`})}async function v(){try{return(await(await fetch(`${d()}/health`,{cache:`no-store`,headers:M()})).json()).ai?.tools===!0}catch{return!1}}async function y(e){await E(`/bridge/tools`,{method:`POST`,body:JSON.stringify({tools:e})})}async function b(e,t,n){await E(`/bridge/result`,{method:`POST`,body:JSON.stringify({id:e,content:t,isError:n})})}async function x(t,n){let r=new AbortController,i=await fetch(`${d()}/bridge/events`,{headers:M(),signal:r.signal,cache:`no-store`});if(!i.ok||!i.body)throw new N(e.t(`services.agent.httpError`,{status:i.status,statusText:i.statusText}),i.status);return(async()=>{let e=i.body.getReader(),r=new TextDecoder,a=``;try{for(;;){let{done:n,value:i}=await e.read();if(n)break;a+=r.decode(i,{stream:!0});let o=a.indexOf(`
|
|
2
2
|
|
|
3
3
|
`);for(;o!==-1;){let e=a.slice(0,o);a=a.slice(o+2);for(let n of e.split(`
|
|
4
4
|
`))n.startsWith(`data: `)&&t(n.slice(6));o=a.indexOf(`
|
package/app/index.html
CHANGED
|
@@ -50,30 +50,30 @@
|
|
|
50
50
|
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }
|
|
51
51
|
}
|
|
52
52
|
</script>
|
|
53
|
-
<script type="module" crossorigin src="/assets/
|
|
53
|
+
<script type="module" crossorigin src="/assets/D4DxtYTA.js"></script>
|
|
54
54
|
<link rel="modulepreload" crossorigin href="/assets/hePW80VL.js">
|
|
55
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
56
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
57
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
58
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
59
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
60
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
61
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
55
|
+
<link rel="modulepreload" crossorigin href="/assets/CyX8oVsa.js">
|
|
56
|
+
<link rel="modulepreload" crossorigin href="/assets/C76CctEl.js">
|
|
57
|
+
<link rel="modulepreload" crossorigin href="/assets/Dya0zxo6.js">
|
|
58
|
+
<link rel="modulepreload" crossorigin href="/assets/Cme0nCT7.js">
|
|
59
|
+
<link rel="modulepreload" crossorigin href="/assets/kTwcxyaO.js">
|
|
60
|
+
<link rel="modulepreload" crossorigin href="/assets/UJzcIbfW.js">
|
|
61
|
+
<link rel="modulepreload" crossorigin href="/assets/Ngd1VEiY.js">
|
|
62
62
|
<link rel="modulepreload" crossorigin href="/assets/eFSiW0Lh.js">
|
|
63
63
|
<link rel="modulepreload" crossorigin href="/assets/Nro86Y63.js">
|
|
64
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
65
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
64
|
+
<link rel="modulepreload" crossorigin href="/assets/DOy06rIE.js">
|
|
65
|
+
<link rel="modulepreload" crossorigin href="/assets/iz6RnRcO.js">
|
|
66
66
|
<link rel="modulepreload" crossorigin href="/assets/Bit0Kfog.js">
|
|
67
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
68
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
69
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
70
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
71
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
67
|
+
<link rel="modulepreload" crossorigin href="/assets/zdvaVsTo.js">
|
|
68
|
+
<link rel="modulepreload" crossorigin href="/assets/BihjBM79.js">
|
|
69
|
+
<link rel="modulepreload" crossorigin href="/assets/C_qmv4pB.js">
|
|
70
|
+
<link rel="modulepreload" crossorigin href="/assets/BVZGLNq_.js">
|
|
71
|
+
<link rel="modulepreload" crossorigin href="/assets/CH4cEkW4.js">
|
|
72
72
|
<link rel="modulepreload" crossorigin href="/assets/DAFA-E1-.js">
|
|
73
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
74
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
75
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
76
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
73
|
+
<link rel="modulepreload" crossorigin href="/assets/Buf-_p3w.js">
|
|
74
|
+
<link rel="modulepreload" crossorigin href="/assets/C3AWL5gC.js">
|
|
75
|
+
<link rel="modulepreload" crossorigin href="/assets/CZRhmV_L.js">
|
|
76
|
+
<link rel="modulepreload" crossorigin href="/assets/UEkRIZwQ.js">
|
|
77
77
|
<link rel="modulepreload" crossorigin href="/assets/Bs5VSn0X.js">
|
|
78
78
|
<link rel="stylesheet" crossorigin href="/assets/92hmrkfN.css">
|
|
79
79
|
</head>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "planche",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"description": "Local agent for Planche — lets the browser-based Planche database client reach MySQL/MariaDB/PostgreSQL/SQLite/SQL Server/Oracle/Neon/Supabase/Cloudflare D1 databases, Redis, Elasticsearch/OpenSearch and local Durable Object storage from your machine.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"homepage": "https://planche.dev",
|
package/app/assets/BEY3Hwp0.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as e}from"./CAd2f6EE.js";import{S as t}from"./BPLdNS4h.js";function n(n){t(n),e(n)}export{n as t};
|
package/app/assets/BFw3KCAr.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./Cu_sGzNJ.js";var t=e(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]);export{t};
|