pglens 2.0.1 → 2.2.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/.github/workflows/release.yml +30 -0
- package/CHANGELOG.md +32 -1
- package/README.md +41 -5
- package/bin/pglens +1 -1
- package/client/app.js +910 -126
- package/client/index.html +63 -1
- package/client/styles.css +1438 -586
- package/electron/assets/icon.ico +0 -0
- package/electron/assets/icon.png +0 -0
- package/electron/main.js +85 -0
- package/package.json +64 -4
- package/src/db/connection.js +104 -10
- package/src/server.js +29 -42
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
push:
|
|
6
|
+
tags:
|
|
7
|
+
- "v*"
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
build:
|
|
11
|
+
strategy:
|
|
12
|
+
matrix:
|
|
13
|
+
os: [macos-latest, ubuntu-latest, windows-latest]
|
|
14
|
+
runs-on: ${{ matrix.os }}
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
- uses: actions/setup-node@v4
|
|
19
|
+
with:
|
|
20
|
+
node-version: 20
|
|
21
|
+
- run: npm ci
|
|
22
|
+
- run: npm run dist
|
|
23
|
+
- uses: softprops/action-gh-release@v1
|
|
24
|
+
with:
|
|
25
|
+
files: |
|
|
26
|
+
dist/*.dmg
|
|
27
|
+
dist/*.zip
|
|
28
|
+
dist/*.exe
|
|
29
|
+
dist/*.AppImage
|
|
30
|
+
dist/*.deb
|
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,38 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.2.0] - 2026-02-02
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Row Numbers**: Table rows now display row numbers for easier navigation and reference.
|
|
13
|
+
- **Table Schema Viewer**: View table structure and column definitions directly from the UI.
|
|
14
|
+
- **Spotlight Search**: Quick table search with `Cmd+K` / `Ctrl+K` keyboard shortcut for fast navigation.
|
|
15
|
+
- **Connection Persistence**: Desktop app now saves connections and restores them on restart.
|
|
16
|
+
- **Auto-Updates**: Desktop app automatically checks for updates and notifies when new versions are available.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Cleaner codebase with reduced unnecessary comments.
|
|
21
|
+
|
|
22
|
+
## [2.1.0] - 2026-01-11
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- **Default Landing Page**: The app now defaults to an "All Connections" grid view on startup.
|
|
27
|
+
- **Simplified Sidebar**: Connection management (Edit/Delete) is now centralized on the Landing Page.
|
|
28
|
+
- **Smart View Switching**: Table list and search are hidden until a server is explicitly selected.
|
|
29
|
+
|
|
30
|
+
### Changed
|
|
31
|
+
|
|
32
|
+
- **Navigation Flow**: "Add Connection" and Logo clicks efficiently return you to the Landing Page.
|
|
33
|
+
- **Auto-Connect Disabled**: Adding a new connection returns to the grid instead of auto-opening the server.
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- **View Persistence**: Reconnecting to an active server no longer overwrites open tabs with a loading screen.
|
|
38
|
+
- **Connection Updates**: Fixed issue where the connection grid would not update immediately after adding a server.
|
|
39
|
+
|
|
8
40
|
## [2.0.0] - 2026-01-01
|
|
9
41
|
|
|
10
42
|
### Added
|
|
@@ -68,4 +100,3 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
68
100
|
|
|
69
101
|
[1.1.0]: https://github.com/tsvillain/pglens/compare/v1.0.0...v1.1.0
|
|
70
102
|
[1.0.0]: https://github.com/tsvillain/pglens/releases/tag/v1.0.0
|
|
71
|
-
|
package/README.md
CHANGED
|
@@ -5,9 +5,13 @@ A simple PostgreSQL database viewer tool. Perfect to quickly view and explore yo
|
|
|
5
5
|
## Features
|
|
6
6
|
|
|
7
7
|
- 🔌 **Connection Manager**: Manage multiple database connections from a single UI
|
|
8
|
+
- 💾 **Connection Persistence**: Saved connections are restored when you reopen the app
|
|
8
9
|
- 🚀 **Background Service**: Runs as a daemon process for persistent access
|
|
9
10
|
- 🗂️ **Table Browser**: View all tables in your database in a clean, searchable sidebar
|
|
11
|
+
- 🔎 **Spotlight Search**: Quick table search with `Cmd+K` / `Ctrl+K` for fast navigation
|
|
10
12
|
- 📊 **Data Viewer**: Browse table rows with a modern, easy-to-read interface
|
|
13
|
+
- 🔢 **Row Numbers**: Row numbers displayed for easier navigation and reference
|
|
14
|
+
- 📋 **Table Schema**: View table structure and column definitions directly from the UI
|
|
11
15
|
- 📝 **Cell Content Viewer**: Double-click any cell to view full content in a popup
|
|
12
16
|
- 🎨 **JSON/JSONB Formatting**: Auto-formats JSON data with syntax highlighting
|
|
13
17
|
- 🕒 **Timezone Support**: View timestamps in local, UTC, or other timezones
|
|
@@ -21,6 +25,7 @@ A simple PostgreSQL database viewer tool. Perfect to quickly view and explore yo
|
|
|
21
25
|
- 🎨 **Theme Support**: Choose between light, dark, or system theme
|
|
22
26
|
- ⚡ **Optimized Performance**: Uses cursor-based pagination for efficient large table navigation
|
|
23
27
|
- 🔒 **SSL Support**: Configurable SSL modes (Disable, Require, Prefer, Verify CA/Full)
|
|
28
|
+
- 🔄 **Auto-Updates**: Desktop app automatically checks for and installs updates
|
|
24
29
|
- 🚀 **Easy Setup**: Install globally and run with a single command
|
|
25
30
|
|
|
26
31
|
## Installation
|
|
@@ -54,13 +59,14 @@ pglens url
|
|
|
54
59
|
|
|
55
60
|
### Connect to a Database
|
|
56
61
|
|
|
57
|
-
1. Open `http://localhost:54321`
|
|
58
|
-
2. Click the **+** icon in the
|
|
62
|
+
1. Open `http://localhost:54321` to see the **All Connections** landing page.
|
|
63
|
+
2. Click the **Add Connection** card or the **+** icon in the grid.
|
|
59
64
|
3. Enter your connection details using one of the tabs:
|
|
60
65
|
- **Parameters** (Default): Enter Host, Port, Database, User, and Password separately.
|
|
61
66
|
- **Connection URL**: Paste a standard PostgreSQL connection string (e.g., `postgresql://user:pass@localhost:5432/db`).
|
|
62
67
|
4. Select the **SSL Mode** appropriate for your server.
|
|
63
|
-
5. Click **Connect**.
|
|
68
|
+
5. Click **Connect**. The server will be added to your grid.
|
|
69
|
+
6. Click the server card to open the **Explorer**.
|
|
64
70
|
|
|
65
71
|
### Stop the Server
|
|
66
72
|
|
|
@@ -74,7 +80,7 @@ pglens stop
|
|
|
74
80
|
|
|
75
81
|
1. **Start**: Run `pglens start` to launch the background service
|
|
76
82
|
2. **Connect**: Add one or more database connections via the Web UI
|
|
77
|
-
3. **Explore**:
|
|
83
|
+
3. **Explore**:
|
|
78
84
|
- Use the sidebar to browse tables across different connections
|
|
79
85
|
- Double-click cells to view detailed content
|
|
80
86
|
- Use the "Columns" menu to toggle visibility
|
|
@@ -89,10 +95,40 @@ To develop or modify pglens:
|
|
|
89
95
|
git clone https://github.com/tsvillain/pglens.git
|
|
90
96
|
cd pglens
|
|
91
97
|
|
|
98
|
+
# Install dependencies
|
|
92
99
|
# Install dependencies
|
|
93
100
|
npm install
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Run Desktop App
|
|
104
|
+
|
|
105
|
+
To run the application as a standalone desktop app during development:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npm run electron:start
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Build Desktop App
|
|
94
112
|
|
|
95
|
-
|
|
113
|
+
To build the desktop application for your current platform:
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
npm run dist
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
To build for specific platforms (requires supported environment):
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
npm run dist:mac # Build for macOS
|
|
123
|
+
npm run dist:win # Build for Windows
|
|
124
|
+
npm run dist:linux # Build for Linux
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Run Server Locally
|
|
128
|
+
|
|
129
|
+
To run the server locally in foreground:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
96
132
|
node bin/pglens serve
|
|
97
133
|
```
|
|
98
134
|
|
package/bin/pglens
CHANGED
|
@@ -13,7 +13,7 @@ const PORT_FILE = path.join(os.homedir(), '.pglens.port');
|
|
|
13
13
|
program
|
|
14
14
|
.name('pglens')
|
|
15
15
|
.description('A simple PostgreSQL database viewer tool')
|
|
16
|
-
.version('
|
|
16
|
+
.version('1.0.0');
|
|
17
17
|
|
|
18
18
|
function getRunningPort() {
|
|
19
19
|
if (fs.existsSync(PORT_FILE)) {
|