@youtyan/code-viewer 0.6.10 → 0.8.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/README.md CHANGED
@@ -32,8 +32,9 @@ Requires Node.js 20 or newer when installed from npm. Development uses
32
32
  - Switch the viewer UI between English and Japanese from Viewer Settings —
33
33
  the language toggle live-updates every screen including the datastore
34
34
  viewer.
35
- - Browse SQLite, PostgreSQL, MySQL, Redis, Elasticsearch, and S3-compatible
36
- object storage (MinIO, LocalStack) with a built-in datastore viewer.
35
+ - Browse SQLite, PostgreSQL, MySQL, Redis, Elasticsearch, DynamoDB, and
36
+ S3-compatible object storage (MinIO, LocalStack) with a built-in datastore
37
+ viewer.
37
38
  Local Supabase CLI (`supabase start`) Postgres projects are auto-discovered
38
39
  too, without needing a `docker-compose.yml`.
39
40
  - Read the built-in Help page for getting started, the `.code-viewer/`
@@ -198,6 +199,7 @@ root:
198
199
  - `annotations.json` — AI Code Annotations.
199
200
  - `query-history.json` — datastore query history.
200
201
  - `db-snapshots.sqlite` — datastore snapshots and diff blobs.
202
+ - `datastore-connections.json` — saved non-secret datastore connection settings.
201
203
 
202
204
  The `.code-viewer` directory is tool-internal: it never shows up in the file
203
205
  tree, searches, or diffs. Add it to `.gitignore` if you do not want to share
@@ -210,13 +212,14 @@ browser-based viewer for exploring their contents.
210
212
 
211
213
  **SQLite** files (`.db`, `.sqlite`, `.sqlite3`, `.s3db`) are detected
212
214
  automatically by scanning the repository tree. **PostgreSQL**, **MySQL**,
213
- **Redis**, **Elasticsearch**, **MinIO**, and **LocalStack S3** services are
214
- detected from any `docker-compose.yml`, `docker-compose.yaml`, `compose.yml`,
215
- or `compose.yaml` found by the same recursive scan — both the repository root
216
- and subdirectories are considered, so a single `code-viewer --cwd <root>`
217
- brings up every DB defined under that root. `.git/`, `.code-viewer/`, and
218
- `node_modules/` are skipped, and discovery is capped at a few-level depth and
219
- a few dozen services per scan to keep startup cheap.
215
+ **Redis**, **Elasticsearch**, **DynamoDB on LocalStack**, **MinIO**, and
216
+ **LocalStack S3** services are detected from any `docker-compose.yml`,
217
+ `docker-compose.yaml`, `compose.yml`, or `compose.yaml` found by the same
218
+ recursive scan both the repository root and subdirectories are considered,
219
+ so a single `code-viewer --cwd <root>` brings up every DB defined under that
220
+ root. `.git/`, `.code-viewer/`, and `node_modules/` are skipped, and discovery
221
+ is capped at a few-level depth and a few dozen services per scan to keep
222
+ startup cheap.
220
223
 
221
224
  Services whose names collide across subdirectories are kept distinct via
222
225
  `docker:<service>@<relDir>` ids (cwd-direct compose files keep the historical
@@ -243,6 +246,11 @@ small allowlist of `_search` / `_count` / `_msearch` / `_explain` /
243
246
  concurrency via `_seq_no` / `_primary_term`), create new documents, and delete
244
247
  existing ones. Snapshots and diffs over `_search` iteration are supported.
245
248
 
249
+ **DynamoDB** support: detect LocalStack services with DynamoDB enabled, list
250
+ tables across paginated responses, inspect key schemas, scan or query items,
251
+ page with `LastEvaluatedKey`, and open an item detail view with a copyable key.
252
+ The explorer is read-only.
253
+
246
254
  **S3-compatible object storage** (MinIO, LocalStack): browse
247
255
  buckets as a folder tree, search by prefix or filename, sort scanned objects by
248
256
  update time, and preview images, video, audio, PDFs, Markdown, HTML, and text
@@ -266,6 +274,22 @@ constraint violation.
266
274
 
267
275
  Open Datastores in the global navigation to access:
268
276
 
277
+ - **Saved connections** — use the `+` action beside the datastore selector to
278
+ add PostgreSQL, MySQL, Redis, Elasticsearch, S3-compatible, or DynamoDB
279
+ endpoints that are not present in the repository's local discovery files.
280
+ Required fields are marked in the connection dialog, and **Test connection**
281
+ verifies the current values before saving. Saved connections can be edited
282
+ or deleted from the adjacent actions.
283
+ PostgreSQL, MySQL, and Redis use Node.js drivers installed automatically with
284
+ this package, while Elasticsearch, S3, and DynamoDB use built-in HTTP
285
+ clients. No database CLI or `curl` installation is required for saved
286
+ connections.
287
+ Non-secret settings are stored in `.code-viewer/datastore-connections.json`.
288
+ User names, access key IDs, passwords, secret keys, and session tokens remain
289
+ in server memory only and are never written to that file or returned by
290
+ list/edit responses, so they must be entered again after restarting
291
+ code-viewer.
292
+
269
293
  - **Multi-DB tabs** — open multiple databases side by side, with their own
270
294
  sidebar, panes, and history. `+` adds an empty tab; `×` or middle-click
271
295
  closes one (the last tab resets to empty instead of vanishing). Tabs can be
@@ -311,10 +335,11 @@ Open Datastores in the global navigation to access:
311
335
  snapshots to see inserted, updated, and deleted rows with full before/after
312
336
  values.
313
337
  - **Datastore explorers** — first-class sidebars for Redis (DB / SCAN),
314
- Elasticsearch (indices / mappings / docs), and S3 (folder tree, kind
315
- badges) so the same Multi-DB tab UI works for non-SQL stores too. Each
316
- explorer supports value editing / document creation / object upload /
317
- deletion via in-line panes and confirmation dialogs.
338
+ Elasticsearch (indices / mappings / docs), DynamoDB (tables / scan / query),
339
+ and S3 (folder tree, kind badges) so the same Multi-DB tab UI works for
340
+ non-SQL stores too. Redis, Elasticsearch, and S3 support editing or creation
341
+ through in-line panes and confirmation dialogs; DynamoDB browsing is
342
+ read-only.
318
343
 
319
344
  ### CLI
320
345