db-studio 1.6.2 → 1.7.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/core-dist/assets/{_pathlessLayout-C6DihnsN.js → _pathlessLayout-BLRwD5g-.js} +1 -1
- package/dist/core-dist/assets/_queryId-BROKSsgS.js +1 -0
- package/dist/core-dist/assets/{_table-D-Om_ZWr.js → _table-CrFsb8Bd.js} +5 -5
- package/dist/core-dist/assets/{_table-oMebxIBG.js → _table-LJbpBTkW.js} +2 -2
- package/dist/core-dist/assets/cdoe-editor-CXS1wJCV.js +9 -0
- package/dist/core-dist/assets/{dialog-jogVSiaL.js → dialog-NOXqo2EN.js} +1 -1
- package/dist/core-dist/assets/{index-CVuaUgmF.js → index-Crj0r42w.js} +1 -1
- package/dist/core-dist/assets/index-D7H4Bs2r.js +57 -0
- package/dist/core-dist/assets/index-D7q1LI5S.js +1 -0
- package/dist/core-dist/assets/{queries.store-Cfzf5198.js → queries.store-wzDhN-Dv.js} +1 -1
- package/dist/core-dist/assets/{runner-tab-C3hNjCPD.js → runner-tab-BpzninmR.js} +9 -3
- package/dist/core-dist/assets/{scroll-area-BqJhlKZJ.js → scroll-area-B8tj0yXD.js} +1 -1
- package/dist/core-dist/assets/{tooltip-BoaJ5LJp.js → tooltip-TM7R5amY.js} +1 -1
- package/dist/core-dist/assets/{use-delete-column-Bg30Zigo.js → use-delete-column-kH939ilb.js} +1 -1
- package/dist/core-dist/index.html +1 -1
- package/dist/index.js +190 -131
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/core-dist/assets/_queryId-Dp0aC9mO.js +0 -1
- package/dist/core-dist/assets/cdoe-editor-SdZQ1WiR.js +0 -9
- package/dist/core-dist/assets/index-C9jsi0UO.js +0 -1
- package/dist/core-dist/assets/index-CJ0NUCyi.js +0 -58
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "db-studio",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.7.0",
|
|
5
5
|
"description": "Modern database client for PostgreSQL with spreadsheet-like grid, AI-powered SQL assistance, ER diagrams, fast data browsing and editing. CLI tool, upcoming desktop & web versions.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"database client",
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
"commander": "^14.0.3",
|
|
58
58
|
"dotenv": "^17.3.1",
|
|
59
59
|
"hono": "^4.10.4",
|
|
60
|
+
"mongodb": "^7.1.1",
|
|
60
61
|
"mssql": "^12.2.0",
|
|
61
62
|
"mysql2": "^3.18.2",
|
|
62
63
|
"pg": "^8.13.1",
|
|
@@ -76,4 +77,4 @@
|
|
|
76
77
|
"typescript": "^5.8.3",
|
|
77
78
|
"vitest": "^4.0.17"
|
|
78
79
|
}
|
|
79
|
-
}
|
|
80
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as r}from"./radix-ui-c-7GrHMM.js";import{R as t}from"./runner-tab-C3hNjCPD.js";import{aa as m}from"./index-CJ0NUCyi.js";import"./icons-B2mES2Qq.js";import"./react-dom-BcUZDRtY.js";import"./monaco-editor-BMj4E99D.js";import"./tanstack-BaWakKkc.js";import"./index-CVuaUgmF.js";import"./format-cell-value-Cn3RA9a1.js";import"./tooltip-BoaJ5LJp.js";import"./queries.store-Cfzf5198.js";function j(){const{queryId:o}=m.useParams();return r.jsx(t,{queryId:o})}export{j as component};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{j as O}from"./radix-ui-c-7GrHMM.js";import{l as e,e as L,K as l,a as N}from"./monaco-editor-BMj4E99D.js";import{r as A}from"./icons-B2mES2Qq.js";import{t as S}from"./index-CJ0NUCyi.js";import"./react-dom-BcUZDRtY.js";import"./tanstack-BaWakKkc.js";const g=["SELECT","FROM","WHERE","INSERT","UPDATE","DELETE","CREATE","DROP","ALTER","TABLE","INDEX","VIEW","DATABASE","SCHEMA","FUNCTION","PROCEDURE","TRIGGER","AND","OR","NOT","IN","BETWEEN","LIKE","IS","NULL","JOIN","LEFT","RIGHT","INNER","OUTER","CROSS","ON","USING","GROUP","BY","HAVING","ORDER","ASC","DESC","LIMIT","OFFSET","UNION","INTERSECT","EXCEPT","AS","DISTINCT","ALL","EXISTS","CASE","WHEN","THEN","ELSE","END","WITH","RECURSIVE","PRIMARY","KEY","FOREIGN","REFERENCES","UNIQUE","CHECK","DEFAULT","CASCADE","RESTRICT","NO","ACTION","SET","CONSTRAINT","BEGIN","COMMIT","ROLLBACK","SAVEPOINT","TRANSACTION","GRANT","REVOKE","PRIVILEGES","TO","RETURNING"],G=["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%",">>","<<","+=","-=","*=","/=","&=","|=","^=","%="],U=["COUNT","SUM","AVG","MIN","MAX","COALESCE","NULLIF","CAST","CONCAT","SUBSTRING","LOWER","UPPER","TRIM","LENGTH","NOW","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","EXTRACT","DATE_TRUNC","AGE","ARRAY_AGG","JSON_BUILD_OBJECT","JSON_AGG","ROW_NUMBER","RANK","DENSE_RANK","LAG","LEAD","FIRST_VALUE","LAST_VALUE","STRING_AGG","GENERATE_SERIES"],b=["INTEGER","INT","SMALLINT","BIGINT","DECIMAL","NUMERIC","REAL","DOUBLE","PRECISION","SERIAL","BIGSERIAL","VARCHAR","CHAR","TEXT","BOOLEAN","BOOL","DATE","TIME","TIMESTAMP","TIMESTAMPTZ","INTERVAL","UUID","JSON","JSONB","ARRAY","BYTEA","INET","CIDR"],f=["SELECT","FROM","WHERE","INSERT INTO","UPDATE","DELETE FROM","CREATE TABLE","DROP TABLE","ALTER TABLE","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","GROUP BY","ORDER BY","HAVING","LIMIT"],D=["COUNT(*)","SUM()","AVG()","MIN()","MAX()","COALESCE()","CONCAT()","NOW()","CURRENT_DATE","CURRENT_TIMESTAMP","STRING_AGG()","ARRAY_AGG()","JSON_AGG()"],M=["INTEGER","VARCHAR","TEXT","BOOLEAN","TIMESTAMP","DATE","JSON","JSONB","UUID","SERIAL","BIGSERIAL"],V=({initialQuery:d,queryId:R,savedQuery:I,onQueryChange:m,onUnsavedChanges:E,onExecuteQuery:u,onSaveQuery:c})=>{const a=A.useRef(null),p=A.useRef(null);return A.useEffect(()=>{if(!a.current)return;e.register({id:"pgsql"}),e.registerDocumentFormattingEditProvider("pgsql",{provideDocumentFormattingEdits:t=>{const T=t.getValue().replace(/\s+/g," ").replace(/\s*,\s*/g,`,
|
|
2
|
-
`).replace(/\b(SELECT|FROM|WHERE|JOIN|LEFT JOIN|RIGHT JOIN|INNER JOIN|GROUP BY|ORDER BY|HAVING|LIMIT|OFFSET)\b/gi,`
|
|
3
|
-
$1`).replace(/\b(AND|OR)\b/gi,`
|
|
4
|
-
$1`).trim().split(`
|
|
5
|
-
`).map(o=>{const i=o.trim();return i.startsWith("AND")||i.startsWith("OR")||/^[^A-Z]/.test(i)?` ${i}`:i}).join(`
|
|
6
|
-
`);return[{range:t.getFullModelRange(),text:T}]}}),e.setMonarchTokensProvider("pgsql",{defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,keywords:g,operators:G,builtinFunctions:U,builtinTypes:b,tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@keywords":"keyword","@operators":"operator","@builtinFunctions":"predefined","@builtinTypes":"type","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][-+]?\d+)?/,"number"]],strings:[[/'/,{token:"string",next:"@string"}],[/"/,{token:"string.double",next:"@stringDouble"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],stringDouble:[[/[^"]+/,"string.double"],[/""/,"string.double"],[/"/,{token:"string.double",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]]}}),e.registerCompletionItemProvider("pgsql",{provideCompletionItems:(t,s)=>{const T=t.getWordUntilPosition(s),o={startLineNumber:s.lineNumber,endLineNumber:s.lineNumber,startColumn:T.startColumn,endColumn:T.endColumn};return{suggestions:[...f.map(r=>({label:r,kind:e.CompletionItemKind.Keyword,insertText:r,range:o})),...D.map(r=>({label:r,kind:e.CompletionItemKind.Function,insertText:r.includes("(*)")?r:r.replace("()","($0)"),insertTextRules:e.CompletionItemInsertTextRule.InsertAsSnippet,range:o})),...M.map(r=>({label:r,kind:e.CompletionItemKind.TypeParameter,insertText:r,range:o})),{label:"select-template",kind:e.CompletionItemKind.Snippet,insertText:["SELECT ${1:columns}","FROM ${2:table}","WHERE ${3:condition};"].join(`
|
|
7
|
-
`),insertTextRules:e.CompletionItemInsertTextRule.InsertAsSnippet,documentation:"SELECT statement template",range:o},{label:"create-table-template",kind:e.CompletionItemKind.Snippet,insertText:["CREATE TABLE ${1:table_name} ("," ${2:id} SERIAL PRIMARY KEY,"," ${3:column_name} ${4:VARCHAR(255)} ${5:NOT NULL},"," created_at TIMESTAMP DEFAULT NOW()",");"].join(`
|
|
8
|
-
`),insertTextRules:e.CompletionItemInsertTextRule.InsertAsSnippet,documentation:"CREATE TABLE template",range:o},{label:"insert-template",kind:e.CompletionItemKind.Snippet,insertText:["INSERT INTO ${1:table} (${2:columns})","VALUES (${3:values})","RETURNING *;"].join(`
|
|
9
|
-
`),insertTextRules:e.CompletionItemInsertTextRule.InsertAsSnippet,documentation:"INSERT statement template",range:o}]}}});const n=L.create(a.current,{value:d,language:"pgsql",theme:"vs-dark",fontSize:14,minimap:{enabled:!1},lineNumbers:"on",roundedSelection:!0,scrollBeyondLastLine:!0,scrollbar:{horizontal:"hidden",vertical:"hidden",useShadows:!1,verticalHasArrows:!1,horizontalHasArrows:!1,arrowSize:0},automaticLayout:!0,tabSize:4,insertSpaces:!0,wordWrap:"on",folding:!0,bracketPairColorization:{enabled:!0},suggest:{showKeywords:!0,showSnippets:!0},quickSuggestions:{other:!0,comments:!1,strings:!1}});if(p.current=n,n.addCommand(l.CtrlCmd|N.Enter,()=>{const t=n.getValue();if(!t.trim()){S.error("Query is empty!");return}u(t)}),n.addCommand(l.CtrlCmd|l.Shift|N.KeyF,()=>{n.trigger("keyboard","editor.action.formatDocument",{}),S.success("Query formatted")}),n.addCommand(l.CtrlCmd|N.KeyS,()=>{c()}),m(n.getValue()),R){const t=n.getValue();E(t!==I)}else E(!1);const C=n.onDidChangeModelContent(()=>{const t=n.getValue();if(m(t),!R){E(!1);return}E(t!==I)});return()=>{C.dispose(),n.dispose()}},[d,R,I,m,E,u]),O.jsx("div",{ref:a,className:"flex-1 min-h-0 overflow-y-scroll"})};export{V as CodeEditor};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as o}from"./radix-ui-c-7GrHMM.js";import{R as t}from"./runner-tab-C3hNjCPD.js";import"./icons-B2mES2Qq.js";import"./react-dom-BcUZDRtY.js";import"./monaco-editor-BMj4E99D.js";import"./tanstack-BaWakKkc.js";import"./index-CJ0NUCyi.js";import"./index-CVuaUgmF.js";import"./format-cell-value-Cn3RA9a1.js";import"./tooltip-BoaJ5LJp.js";import"./queries.store-Cfzf5198.js";function f(){return o.jsx(t,{})}export{f as component};
|