drixio 1.2.0 → 1.2.1

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.
@@ -0,0 +1,65 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
2
+ <!--
3
+ Drixio App Icon — 512×512
4
+ D-mark: a proper D letterform (flat left spine, curved right),
5
+ filled with three horizontal data-row bands in brand colors.
6
+
7
+ D shape: spine at x=76, base at x=196, curve peaks at (436, 256).
8
+ Centered in 512×512: horizontal margin = 76, vertical margin = 90.
9
+ -->
10
+
11
+ <!-- Dark navy background -->
12
+ <rect width="512" height="512" rx="110" fill="transparent"/>
13
+
14
+ <defs>
15
+ <clipPath id="d">
16
+ <!--
17
+ Solid D letterform path:
18
+ - Left spine: x=76, from y=90 to y=422
19
+ - Base right to x=196
20
+ - Smooth bezier curve forming the right bow of the D,
21
+ peaking at x=436, y=256
22
+ - Returns to top at x=196, y=90
23
+ -->
24
+ <path d="
25
+ M 76 90
26
+ L 76 422
27
+ L 196 422
28
+ C 400 422 436 356 436 256
29
+ C 436 156 400 90 196 90
30
+ Z
31
+ "/>
32
+ </clipPath>
33
+ </defs>
34
+
35
+ <!--
36
+ Three horizontal color bands, all clipped to the D shape.
37
+ Gaps between bands are transparent → show the dark background through.
38
+ Band heights are equal; gap is 20px between each band.
39
+
40
+ Top y= 90 – 190 (h=100) sky blue #38bdf8
41
+ Gap y=190 – 210 transparent
42
+ Middle y=210 – 302 (h= 92) blue #3b82f6 (split in two halves)
43
+ Gap y=302 – 322 transparent
44
+ Bottom y=322 – 422 (h=100) indigo #6366f1
45
+ -->
46
+
47
+ <!-- Top band: sky blue -->
48
+ <rect x="0" y="90" width="512" height="100" fill="#38bdf8" clip-path="url(#d)"/>
49
+
50
+ <!-- Middle left half: blue -->
51
+ <rect x="0" y="210" width="230" height="92" fill="#3b82f6" clip-path="url(#d)"/>
52
+
53
+ <!-- Middle right half: blue (gap from x=230 to x=260 is transparent) -->
54
+ <rect x="260" y="210" width="252" height="92" fill="#3b82f6" clip-path="url(#d)"/>
55
+
56
+ <!-- Bottom band: indigo -->
57
+ <rect x="0" y="322" width="512" height="100" fill="#6366f1" clip-path="url(#d)"/>
58
+
59
+ <!--
60
+ Emerald accent dot — sits in the vertical gap between the two middle halves.
61
+ Gap center: x=(230+260)/2=245, y=(210+302)/2=256
62
+ Not clipped so it renders cleanly on top of the color bands.
63
+ -->
64
+ <circle cx="245" cy="256" r="22" fill="#34d399"/>
65
+ </svg>
@@ -8,9 +8,17 @@
8
8
  href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200"
9
9
  />
10
10
 
11
- <title>DRIXIO STUDIO BY HORIZORA</title>
12
- <script type="module" crossorigin src="./assets/index-DOTfHOMW.js"></script>
13
- <link rel="stylesheet" crossorigin href="./assets/index-DPNeFArq.css">
11
+ <link rel="manifest" href="./manifest.json" />
12
+ <link rel="icon" type="image/svg+xml" href="./icon.svg" />
13
+ <meta name="theme-color" content="#0b0f19" />
14
+ <meta name="apple-mobile-web-app-capable" content="yes" />
15
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
16
+ <meta name="apple-mobile-web-app-title" content="Drixio Studio" />
17
+
18
+ <title>Drixio Studio</title>
19
+ <script type="module" crossorigin src="./assets/index-CmbAXgDl.js"></script>
20
+ <link rel="modulepreload" crossorigin href="./assets/sql-formatter-B5XS8faB.js">
21
+ <link rel="stylesheet" crossorigin href="./assets/index-zlNWHZdK.css">
14
22
  </head>
15
23
 
16
24
  <body>
@@ -0,0 +1,72 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 64" fill="none">
2
+ <!--
3
+ Drixio horizontal logo — 200×64 viewBox, transparent background.
4
+ Place on any surface matching the app's dark navy (#0f172a).
5
+
6
+ Layout:
7
+ [D-mark icon 6–58px wide, 2–62px tall] [gap] [wordmark "drixio"]
8
+
9
+ D shape: spine at x=6, base right at x=20, bezier peak at (58, 32).
10
+ Total mark: ~52×60px, vertically centered in 64px height (2px top/bottom).
11
+ -->
12
+
13
+ <defs>
14
+ <clipPath id="dLogo">
15
+ <!--
16
+ D letterform:
17
+ - Left spine: x=6, y=2 → y=62
18
+ - Base: right to x=20
19
+ - Bezier bow: (20,62) → peak (58,32) → (20,2)
20
+ - Close back to spine top (6,2)
21
+ -->
22
+ <path d="
23
+ M 6 2
24
+ L 6 62
25
+ L 20 62
26
+ C 52 62 58 48 58 32
27
+ C 58 16 52 2 20 2
28
+ Z
29
+ "/>
30
+ </clipPath>
31
+ </defs>
32
+
33
+ <!--
34
+ Three horizontal bands clipped to the D shape.
35
+ Transparent gaps between bands show the surface behind the SVG.
36
+
37
+ Top y= 2 – 20 (h=18) sky blue #38bdf8
38
+ Gap y=20 – 25 transparent
39
+ Middle y=25 – 39 (h=14) blue #3b82f6 (split: left x<27, right x>33)
40
+ Gap y=39 – 44 transparent
41
+ Bottom y=44 – 62 (h=18) indigo #6366f1
42
+ -->
43
+
44
+ <!-- Top band: sky blue -->
45
+ <rect x="0" y="2" width="60" height="18" fill="#38bdf8" clip-path="url(#dLogo)"/>
46
+
47
+ <!-- Middle left half: blue -->
48
+ <rect x="0" y="25" width="27" height="14" fill="#3b82f6" clip-path="url(#dLogo)"/>
49
+
50
+ <!-- Middle right half: blue (vertical gap x=27–33 is transparent) -->
51
+ <rect x="33" y="25" width="27" height="14" fill="#3b82f6" clip-path="url(#dLogo)"/>
52
+
53
+ <!-- Bottom band: indigo -->
54
+ <rect x="0" y="44" width="60" height="18" fill="#6366f1" clip-path="url(#dLogo)"/>
55
+
56
+ <!--
57
+ Emerald accent dot — centered in the vertical gap (x=27–33) at mid-row (y=32).
58
+ Drawn outside clip-path so it renders on top cleanly.
59
+ -->
60
+ <circle cx="30" cy="32" r="4" fill="#34d399"/>
61
+
62
+ <!-- ── Wordmark ────────────────────────────────────────────── -->
63
+ <text
64
+ x="72"
65
+ y="32"
66
+ dominant-baseline="central"
67
+ font-family="Inter, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif"
68
+ font-size="28"
69
+ font-weight="600"
70
+ letter-spacing="0.3"
71
+ fill="#ffffff">drixio</text>
72
+ </svg>
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "Drixio Studio",
3
+ "short_name": "Drixio",
4
+ "description": "The developer-first database manager for SQLite, PostgreSQL & MySQL",
5
+ "start_url": "./",
6
+ "display": "standalone",
7
+ "background_color": "#0b0f19",
8
+ "theme_color": "#0b0f19",
9
+ "icons": [
10
+ {
11
+ "src": "icon.svg",
12
+ "sizes": "512x512",
13
+ "type": "image/svg+xml",
14
+ "purpose": "any maskable"
15
+ }
16
+ ]
17
+ }
18
+
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "drixio",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "A lightweight interactive TUI database client",
5
5
  "bin": {
6
6
  "drixio": "dist/cli.js"
7
7
  },
8
8
  "files": [
9
- "dist"
9
+ "dist/cli.js",
10
+ "dist/studio"
10
11
  ],
11
12
  "keywords": [
12
13
  "database",
@@ -34,31 +35,46 @@
34
35
  "access": "public"
35
36
  },
36
37
  "devDependencies": {
38
+ "@biomejs/biome": "^2.5.14",
39
+ "@types/mssql": "^12.3.0",
37
40
  "@types/node": "^26.1.2",
38
41
  "@types/pg": "^8.20.0",
39
- "gsap": "^3.15.0",
42
+ "@types/ssh2": "^1.15.6",
40
43
  "tsup": "^8.5.1",
41
44
  "tsx": "^4.23.1",
42
45
  "typescript": "^7.0.2",
43
46
  "vite": "^8.1.5",
44
- "vitest": "^4.1.10"
47
+ "vitest": "^4.1.10",
48
+ "sql-formatter": "^15.8.2"
45
49
  },
46
50
  "dependencies": {
47
51
  "@hono/node-server": "^2.0.12",
48
52
  "@inquirer/prompts": "^8.5.2",
49
53
  "hono": "^4.12.32",
54
+ "mongodb": "^7.6.0",
55
+ "mssql": "^12.7.2",
50
56
  "mysql2": "^3.23.2",
51
57
  "open": "^11.0.0",
52
58
  "pg": "^8.22.0",
53
- "picocolors": "^1.1.1"
59
+ "picocolors": "^1.1.1",
60
+ "ssh2": "^1.17.0"
54
61
  },
55
62
  "scripts": {
56
63
  "dev": "tsx bin/cli.ts",
57
64
  "dev:studio": "vite --config studio/vite.config.ts",
65
+ "dev:all": "node scripts/dev-all.js",
58
66
  "build:cli": "tsup",
59
67
  "build:studio": "vite build --config studio/vite.config.ts",
60
68
  "build": "pnpm build:cli && pnpm build:studio",
61
69
  "test": "node scripts/test-runner.js",
62
- "typecheck": "tsc --noEmit"
70
+ "typecheck": "tsc --noEmit",
71
+ "lint": "biome lint .",
72
+ "format": "biome format --write .",
73
+ "check": "biome check --write .",
74
+ "db:up": "docker compose up -d",
75
+ "db:down": "docker compose down",
76
+ "db:status": "docker compose ps",
77
+ "db:logs": "docker compose logs -f",
78
+ "build:sea": "node scripts/build-sea.js"
63
79
  }
64
80
  }