fix(ci): add Gitea CI workflows, documentation updates, and packaging metadata tweaks
This commit is contained in:
88
readme.md
88
readme.md
@@ -19,6 +19,7 @@ pnpm add @git.zone/tsview
|
||||
## Features ✨
|
||||
|
||||
### 🗄️ S3 Storage Browser
|
||||
|
||||
- **Column View Navigation** — Mac Finder-style interface with resizable columns
|
||||
- **List View** — Traditional key-based view with hierarchical navigation
|
||||
- **Real-time Preview** — View images, JSON, text files, code, and more directly in the browser
|
||||
@@ -29,6 +30,7 @@ pnpm add @git.zone/tsview
|
||||
- **Breadcrumb Navigation** — Clickable path traversal
|
||||
|
||||
### 🍃 MongoDB Browser
|
||||
|
||||
- **Database Explorer** — Hierarchical navigation through databases and collections
|
||||
- **Database Overview** — Collection counts, data sizes, index stats at a glance
|
||||
- **Document Viewer** — Paginated table view with JSON filter support
|
||||
@@ -39,6 +41,7 @@ pnpm add @git.zone/tsview
|
||||
- **Show/Hide System Databases** — Toggle visibility of `admin`, `local`, `config`
|
||||
|
||||
### ⚡ Real-Time Change Streaming
|
||||
|
||||
- **MongoDB Change Streams** — Live updates via native MongoDB change streams
|
||||
- **S3 Change Detection** — Polling-based bucket monitoring with ETag comparison (5s intervals)
|
||||
- **Activity Stream** — Combined timeline of all changes from both sources, filterable by type
|
||||
@@ -47,6 +50,7 @@ pnpm add @git.zone/tsview
|
||||
- **Auto-Reconnect** — Subscriptions automatically restored after connection loss
|
||||
|
||||
### 🎨 Modern Web UI
|
||||
|
||||
- 🌙 Dark theme designed for developer comfort
|
||||
- 📱 Responsive layout with resizable panels
|
||||
- ⌨️ Context menus for quick actions
|
||||
@@ -114,12 +118,12 @@ viewer.setS3Config({
|
||||
port: 9000,
|
||||
accessKey: 'minioadmin',
|
||||
accessSecret: 'minioadmin',
|
||||
useSsl: false
|
||||
useSsl: false,
|
||||
});
|
||||
|
||||
viewer.setMongoConfig({
|
||||
mongoDbUrl: 'mongodb://localhost:27017',
|
||||
mongoDbName: 'mydb'
|
||||
mongoDbName: 'mydb',
|
||||
});
|
||||
|
||||
// Option 3: Cloud services
|
||||
@@ -128,12 +132,12 @@ viewer.setS3Config({
|
||||
accessKey: 'AKIAXXXXXXX',
|
||||
accessSecret: 'your-secret-key',
|
||||
useSsl: true,
|
||||
region: 'us-east-1'
|
||||
region: 'us-east-1',
|
||||
});
|
||||
|
||||
viewer.setMongoConfig({
|
||||
mongoDbUrl: 'mongodb+srv://user:pass@cluster.mongodb.net',
|
||||
mongoDbName: 'production'
|
||||
mongoDbName: 'production',
|
||||
});
|
||||
|
||||
// Start the server
|
||||
@@ -161,11 +165,11 @@ await viewer.stop();
|
||||
}
|
||||
```
|
||||
|
||||
| Option | Type | Default | Description |
|
||||
|--------|------|---------|-------------|
|
||||
| `port` | `number` | auto | Fixed port (auto-finds from 3010 if not set) |
|
||||
| `killIfBusy` | `boolean` | `false` | Kill existing process if port is busy |
|
||||
| `openBrowser` | `boolean` | `true` | Automatically open browser on start |
|
||||
| Option | Type | Default | Description |
|
||||
| ------------- | --------- | ------- | -------------------------------------------- |
|
||||
| `port` | `number` | auto | Fixed port (auto-finds from 3010 if not set) |
|
||||
| `killIfBusy` | `boolean` | `false` | Kill existing process if port is busy |
|
||||
| `openBrowser` | `boolean` | `true` | Automatically open browser on start |
|
||||
|
||||
**Port priority:** CLI `--port` flag → `npmextra.json` → auto-detect
|
||||
|
||||
@@ -173,54 +177,54 @@ await viewer.stop();
|
||||
|
||||
#### S3
|
||||
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `S3_ENDPOINT` | S3-compatible server hostname |
|
||||
| `S3_PORT` | Server port (optional) |
|
||||
| `S3_ACCESSKEY` | Access key ID |
|
||||
| `S3_SECRETKEY` | Secret access key |
|
||||
| `S3_USESSL` | Use HTTPS (`true`/`false`) |
|
||||
| Variable | Description |
|
||||
| -------------- | ----------------------------- |
|
||||
| `S3_ENDPOINT` | S3-compatible server hostname |
|
||||
| `S3_PORT` | Server port (optional) |
|
||||
| `S3_ACCESSKEY` | Access key ID |
|
||||
| `S3_SECRETKEY` | Secret access key |
|
||||
| `S3_USESSL` | Use HTTPS (`true`/`false`) |
|
||||
|
||||
#### MongoDB
|
||||
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `MONGODB_URL` | Full connection string (preferred) |
|
||||
| `MONGODB_NAME` | Default database name |
|
||||
| Variable | Description |
|
||||
| -------------- | ---------------------------------- |
|
||||
| `MONGODB_URL` | Full connection string (preferred) |
|
||||
| `MONGODB_NAME` | Default database name |
|
||||
|
||||
Or use individual variables:
|
||||
|
||||
| Variable | Description |
|
||||
|----------|-------------|
|
||||
| `MONGODB_HOST` | Hostname |
|
||||
| `MONGODB_PORT` | Port |
|
||||
| `MONGODB_USER` | Username |
|
||||
| `MONGODB_PASS` | Password |
|
||||
| Variable | Description |
|
||||
| -------------- | ------------- |
|
||||
| `MONGODB_HOST` | Hostname |
|
||||
| `MONGODB_PORT` | Port |
|
||||
| `MONGODB_USER` | Username |
|
||||
| `MONGODB_PASS` | Password |
|
||||
| `MONGODB_NAME` | Database name |
|
||||
|
||||
## Supported S3 Providers
|
||||
|
||||
tsview works with any S3-compatible storage:
|
||||
|
||||
| Provider | Status |
|
||||
|----------|--------|
|
||||
| **MinIO** | ✅ Perfect for local dev |
|
||||
| **AWS S3** | ✅ Amazon's object storage |
|
||||
| **DigitalOcean Spaces** | ✅ Simple object storage |
|
||||
| **Backblaze B2** | ✅ S3-compatible API |
|
||||
| **Cloudflare R2** | ✅ Zero egress fees |
|
||||
| **Wasabi** | ✅ Hot cloud storage |
|
||||
| **Self-hosted** | ✅ Any S3-compatible server |
|
||||
| Provider | Status |
|
||||
| ----------------------- | --------------------------- |
|
||||
| **MinIO** | ✅ Perfect for local dev |
|
||||
| **AWS S3** | ✅ Amazon's object storage |
|
||||
| **DigitalOcean Spaces** | ✅ Simple object storage |
|
||||
| **Backblaze B2** | ✅ S3-compatible API |
|
||||
| **Cloudflare R2** | ✅ Zero egress fees |
|
||||
| **Wasabi** | ✅ Hot cloud storage |
|
||||
| **Self-hosted** | ✅ Any S3-compatible server |
|
||||
|
||||
## Supported File Types for Preview
|
||||
|
||||
| Category | Extensions |
|
||||
|----------|------------|
|
||||
| **Images** | `.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg` |
|
||||
| **Text** | `.txt`, `.md`, `.log`, `.sh`, `.env` |
|
||||
| **Code** | `.json`, `.js`, `.ts`, `.tsx`, `.jsx`, `.html`, `.css` |
|
||||
| **Data** | `.csv`, `.xml`, `.yaml`, `.yml` |
|
||||
| **Documents** | `.pdf` |
|
||||
| Category | Extensions |
|
||||
| ------------- | ------------------------------------------------------ |
|
||||
| **Images** | `.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg` |
|
||||
| **Text** | `.txt`, `.md`, `.log`, `.sh`, `.env` |
|
||||
| **Code** | `.json`, `.js`, `.ts`, `.tsx`, `.jsx`, `.html`, `.css` |
|
||||
| **Data** | `.csv`, `.xml`, `.yaml`, `.yml` |
|
||||
| **Documents** | `.pdf` |
|
||||
|
||||
## Architecture
|
||||
|
||||
|
||||
Reference in New Issue
Block a user