prjct-cli 1.15.0 → 1.16.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/CHANGELOG.md +37 -0
- package/core/__tests__/storage/sqlite-migration.test.ts +1016 -0
- package/core/__tests__/storage/storage-manager.test.ts +42 -38
- package/core/services/sync-service.ts +5 -3
- package/core/storage/database.ts +551 -0
- package/core/storage/index-storage.ts +105 -96
- package/core/storage/index.ts +20 -30
- package/core/storage/migrate-json.ts +720 -0
- package/core/storage/storage-manager.ts +27 -49
- package/dist/bin/prjct.mjs +1857 -900
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.16.0] - 2026-02-09
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
- remove JSON storage redundancy, SQLite-only backend (PRJ-303) (#158)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## [1.16.0] - 2026-02-08
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
- **Remove JSON storage redundancy** (PRJ-303): SQLite is now the sole storage backend. JSON dual-write removed from StorageManager and IndexStorage. Auto-migration runs during `prjct sync`, deletes source JSON files after backup.
|
|
14
|
+
|
|
15
|
+
### Implementation Details
|
|
16
|
+
- `StorageManager.write()` — removed JSON file write and temp file pattern; writes only to SQLite kv_store + regenerates context MD
|
|
17
|
+
- `StorageManager.read()` — removed JSON fallback; reads from cache → SQLite → default
|
|
18
|
+
- `StorageManager.exists()` — removed JSON file check; checks SQLite only
|
|
19
|
+
- `IndexStorage` — all 5 read methods (readIndex, readChecksums, readScores, readDomains, readCategories) no longer fall back to JSON; all 5 write methods no longer create JSON files
|
|
20
|
+
- `migrateJsonToSqlite()` — new cleanup step deletes `storage/*.json`, `index/*.json`, `memory/*.jsonl` after successful migration; keeps `storage/backup/`
|
|
21
|
+
- `SyncService.sync()` — auto-runs `migrateJsonToSqlite()` after directory setup (idempotent)
|
|
22
|
+
- `PrjctDatabase.getDb()` — ensures parent directory exists before creating SQLite DB
|
|
23
|
+
- `database.ts` — fixed all TS errors: `db.exec()` → `db.run()` (deprecated), `unknown[]` → `SQLQueryBindings[]`, `require()` → `fs.existsSync()`
|
|
24
|
+
|
|
25
|
+
### Test Plan
|
|
26
|
+
|
|
27
|
+
#### For QA
|
|
28
|
+
1. Run `bun test` — all 879 tests must pass
|
|
29
|
+
2. Run `prjct sync` on existing project — verify migration runs, JSON files deleted, `prjct.db` has data
|
|
30
|
+
3. Run `prjct sync` again — verify idempotent (no errors, migration skips)
|
|
31
|
+
4. Verify `storage/backup/` contains pre-migration JSON files
|
|
32
|
+
5. Verify `context/*.md` files still generated after writes
|
|
33
|
+
6. Run `prjct status` — verify state reads from SQLite
|
|
34
|
+
|
|
35
|
+
#### For Users
|
|
36
|
+
**What changed:** Storage is now fully SQLite-backed. JSON files are auto-migrated and removed during sync.
|
|
37
|
+
**How to use:** Run `prjct sync` — migration happens automatically.
|
|
38
|
+
**Breaking changes:** None — all public APIs unchanged. JSON backups preserved in `storage/backup/`.
|
|
39
|
+
|
|
3
40
|
## [1.15.0] - 2026-02-09
|
|
4
41
|
|
|
5
42
|
### Features
|