@live-change/db-server 0.8.14 → 0.8.16
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/ai/metadata.json.bak +1048 -0
- package/lib/backend.js +2 -2
- package/lib/dbDao.js +50 -50
- package/package.json +13 -13
- package/vole-apps.db.bak/metadata.json.bak +2786 -0
package/lib/backend.js
CHANGED
|
@@ -121,8 +121,8 @@ function createBackend({ name, url, maxDbs, mapSize }) {
|
|
|
121
121
|
const env = new this.lmdb.Env()
|
|
122
122
|
const envConfig = {
|
|
123
123
|
path: path,
|
|
124
|
-
maxDbs: maxDbs ||
|
|
125
|
-
mapSize: mapSize || (
|
|
124
|
+
maxDbs: maxDbs || 1024,
|
|
125
|
+
mapSize: mapSize || (200 * 1024 * 1024 * 1024),
|
|
126
126
|
...options
|
|
127
127
|
}
|
|
128
128
|
env.open(envConfig)
|
package/lib/dbDao.js
CHANGED
|
@@ -3,7 +3,7 @@ import ReactiveDao from "@live-change/dao"
|
|
|
3
3
|
function localRequests(server, scriptContext) {
|
|
4
4
|
return {
|
|
5
5
|
createDatabase: async (dbName, options = {}) => {
|
|
6
|
-
if(dbName
|
|
6
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
7
7
|
if(server.metadata.databases[dbName]) throw new Error("databaseAlreadyExists")
|
|
8
8
|
server.metadata.databases[dbName] = options
|
|
9
9
|
const database = await server.initDatabase(dbName, options)
|
|
@@ -18,7 +18,7 @@ function localRequests(server, scriptContext) {
|
|
|
18
18
|
return 'ok'
|
|
19
19
|
},
|
|
20
20
|
deleteDatabase: async (dbName) => {
|
|
21
|
-
if(dbName
|
|
21
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
22
22
|
if(!server.metadata.databases[dbName]) throw new Error("databaseNotFound")
|
|
23
23
|
delete server.metadata.databases[dbName]
|
|
24
24
|
const database = server.databases.get(dbName)
|
|
@@ -56,7 +56,7 @@ function localRequests(server, scriptContext) {
|
|
|
56
56
|
return index.clearOpLog(lastTimestamp || Date.now() - 60 * 1000, limit)
|
|
57
57
|
},
|
|
58
58
|
createTable: async (dbName, tableName, options = {}) => {
|
|
59
|
-
if(dbName
|
|
59
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
60
60
|
const db = server.databases.get(dbName)
|
|
61
61
|
if(!db) throw new Error('databaseNotFound')
|
|
62
62
|
const table = await db.createTable(tableName, options)
|
|
@@ -67,15 +67,15 @@ function localRequests(server, scriptContext) {
|
|
|
67
67
|
})
|
|
68
68
|
return 'ok'
|
|
69
69
|
},
|
|
70
|
-
deleteTable: async (dbName, tableName
|
|
71
|
-
if(dbName
|
|
70
|
+
deleteTable: async (dbName, tableName) => {
|
|
71
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
72
72
|
const db = server.databases.get(dbName)
|
|
73
73
|
if(!db) throw new Error('databaseNotFound')
|
|
74
|
-
if(tableName[tableName.length - 1]
|
|
74
|
+
if(tableName[tableName.length - 1] === "*") {
|
|
75
75
|
const list = db.tablesListObservable.list.slice()
|
|
76
76
|
for(const foundTableName of list) {
|
|
77
77
|
const base = tableName.slice(0, -1)
|
|
78
|
-
if(foundTableName.slice(0, base.length)
|
|
78
|
+
if(foundTableName.slice(0, base.length) !== base) continue
|
|
79
79
|
const table = db.table(foundTableName)
|
|
80
80
|
if(!table) throw new Error("tableNotFound")
|
|
81
81
|
const uid = table.configObservable.value.uid
|
|
@@ -92,7 +92,7 @@ function localRequests(server, scriptContext) {
|
|
|
92
92
|
return 'ok'
|
|
93
93
|
},
|
|
94
94
|
renameTable: async (dbName, tableName, newTableName) => {
|
|
95
|
-
if(dbName
|
|
95
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
96
96
|
const db = server.databases.get(dbName)
|
|
97
97
|
if(!db) throw new Error('databaseNotFound')
|
|
98
98
|
const table = db.table(tableName)
|
|
@@ -104,7 +104,7 @@ function localRequests(server, scriptContext) {
|
|
|
104
104
|
return db.renameTable(tableName, newTableName)
|
|
105
105
|
},
|
|
106
106
|
createIndex: async (dbName, indexName, code, params, options = {}) => {
|
|
107
|
-
if(dbName
|
|
107
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
108
108
|
const db = server.databases.get(dbName)
|
|
109
109
|
if(!db) throw new Error('databaseNotFound')
|
|
110
110
|
const index = await db.createIndex(indexName, code, params, options)
|
|
@@ -115,15 +115,15 @@ function localRequests(server, scriptContext) {
|
|
|
115
115
|
})
|
|
116
116
|
return 'ok'
|
|
117
117
|
},
|
|
118
|
-
deleteIndex: async (dbName, indexName
|
|
119
|
-
if(dbName
|
|
118
|
+
deleteIndex: async (dbName, indexName) => {
|
|
119
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
120
120
|
const db = server.databases.get(dbName)
|
|
121
121
|
if(!db) throw new Error('databaseNotFound')
|
|
122
|
-
if(indexName[indexName.length - 1]
|
|
122
|
+
if(indexName[indexName.length - 1] === "*") {
|
|
123
123
|
const base = indexName.slice(0, -1)
|
|
124
124
|
const list = db.indexesListObservable.list.slice()
|
|
125
125
|
for(const foundIndexName of list) {
|
|
126
|
-
if(foundIndexName.slice(0, base.length)
|
|
126
|
+
if(foundIndexName.slice(0, base.length) !== base) continue
|
|
127
127
|
const index = await db.index(foundIndexName)
|
|
128
128
|
if(!index) throw new Error("indexNotFound")
|
|
129
129
|
const uid = index.configObservable.value.uid
|
|
@@ -140,7 +140,7 @@ function localRequests(server, scriptContext) {
|
|
|
140
140
|
return 'ok'
|
|
141
141
|
},
|
|
142
142
|
renameIndex: async (dbName, indexName, newIndexName) => {
|
|
143
|
-
if(dbName
|
|
143
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
144
144
|
const db = server.databases.get(dbName)
|
|
145
145
|
if(!db) throw await new Error('databaseNotFound')
|
|
146
146
|
const index = await db.index(indexName)
|
|
@@ -152,7 +152,7 @@ function localRequests(server, scriptContext) {
|
|
|
152
152
|
return db.renameIndex(indexName, newIndexName)
|
|
153
153
|
},
|
|
154
154
|
createLog: async (dbName, logName, options = {}) => {
|
|
155
|
-
if(dbName
|
|
155
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
156
156
|
const db = server.databases.get(dbName)
|
|
157
157
|
if(!db) throw new Error('databaseNotFound')
|
|
158
158
|
const log = await db.createLog(logName, options)
|
|
@@ -163,8 +163,8 @@ function localRequests(server, scriptContext) {
|
|
|
163
163
|
})
|
|
164
164
|
return 'ok'
|
|
165
165
|
},
|
|
166
|
-
deleteLog: async (dbName, logName
|
|
167
|
-
if(dbName
|
|
166
|
+
deleteLog: async (dbName, logName) => {
|
|
167
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
168
168
|
const db = server.databases.get(dbName)
|
|
169
169
|
if(!db) throw new Error('databaseNotFound')
|
|
170
170
|
const log = db.log(logName)
|
|
@@ -175,7 +175,7 @@ function localRequests(server, scriptContext) {
|
|
|
175
175
|
return 'ok'
|
|
176
176
|
},
|
|
177
177
|
renameLog: async (dbName, logName, newLogName) => {
|
|
178
|
-
if(dbName
|
|
178
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
179
179
|
const db = server.databases.get(dbName)
|
|
180
180
|
if(!db) throw new Error('databaseNotFound')
|
|
181
181
|
const log = db.log(logName)
|
|
@@ -187,7 +187,7 @@ function localRequests(server, scriptContext) {
|
|
|
187
187
|
return db.renameLog(logName, newLogName)
|
|
188
188
|
},
|
|
189
189
|
put: (dbName, tableName, object) => {
|
|
190
|
-
if(dbName
|
|
190
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
191
191
|
const db = server.databases.get(dbName)
|
|
192
192
|
if(!db) throw new Error('databaseNotFound')
|
|
193
193
|
const table = db.table(tableName)
|
|
@@ -195,7 +195,7 @@ function localRequests(server, scriptContext) {
|
|
|
195
195
|
return table.put(object)
|
|
196
196
|
},
|
|
197
197
|
delete: (dbName, tableName, id) => {
|
|
198
|
-
if(dbName
|
|
198
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
199
199
|
const db = server.databases.get(dbName)
|
|
200
200
|
if(!db) throw new Error('databaseNotFound')
|
|
201
201
|
const table = db.table(tableName)
|
|
@@ -203,7 +203,7 @@ function localRequests(server, scriptContext) {
|
|
|
203
203
|
return table.delete(id)
|
|
204
204
|
},
|
|
205
205
|
update: (dbName, tableName, id, operations, options) => {
|
|
206
|
-
if(dbName
|
|
206
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
207
207
|
const db = server.databases.get(dbName)
|
|
208
208
|
if(!db) throw new Error('databaseNotFound')
|
|
209
209
|
const table = db.table(tableName)
|
|
@@ -212,7 +212,7 @@ function localRequests(server, scriptContext) {
|
|
|
212
212
|
return table.update(id, operations, options)
|
|
213
213
|
},
|
|
214
214
|
putLog: (dbName, logName, object) => {
|
|
215
|
-
if(dbName
|
|
215
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
216
216
|
const db = server.databases.get(dbName)
|
|
217
217
|
if(!db) throw new Error('databaseNotFound')
|
|
218
218
|
const log = db.log(logName)
|
|
@@ -220,7 +220,7 @@ function localRequests(server, scriptContext) {
|
|
|
220
220
|
return log.put(object)
|
|
221
221
|
},
|
|
222
222
|
putOldLog: (dbName, logName, object) => {
|
|
223
|
-
if(dbName
|
|
223
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
224
224
|
const db = server.databases.get(dbName)
|
|
225
225
|
if(!db) throw new Error('databaseNotFound')
|
|
226
226
|
const log = db.log(logName)
|
|
@@ -228,7 +228,7 @@ function localRequests(server, scriptContext) {
|
|
|
228
228
|
return log.putOld(object)
|
|
229
229
|
},
|
|
230
230
|
query: (dbName, code, params) => {
|
|
231
|
-
if(dbName
|
|
231
|
+
if(dbName === 'system') throw new Error("system database is not writable")
|
|
232
232
|
if(!dbName) throw new Error("databaseNameRequired")
|
|
233
233
|
const db = server.databases.get(dbName)
|
|
234
234
|
if(!db) throw new Error('databaseNotFound')
|
|
@@ -389,122 +389,122 @@ function localReads(server, scriptContext) {
|
|
|
389
389
|
}
|
|
390
390
|
},
|
|
391
391
|
tablesList: {
|
|
392
|
-
observable: (dbName
|
|
392
|
+
observable: (dbName) => {
|
|
393
393
|
const db = server.databases.get(dbName)
|
|
394
394
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
395
395
|
return db.tablesListObservable
|
|
396
396
|
},
|
|
397
|
-
get: async (dbName
|
|
397
|
+
get: async (dbName) =>{
|
|
398
398
|
const db = server.databases.get(dbName)
|
|
399
399
|
if(!db) throw new Error('databaseNotFound')
|
|
400
400
|
return db.tablesListObservable.list
|
|
401
401
|
}
|
|
402
402
|
},
|
|
403
403
|
indexesList: {
|
|
404
|
-
observable: (dbName
|
|
404
|
+
observable: (dbName) => {
|
|
405
405
|
const db = server.databases.get(dbName)
|
|
406
406
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
407
407
|
return db.indexesListObservable
|
|
408
408
|
},
|
|
409
|
-
get: async (dbName
|
|
409
|
+
get: async (dbName) =>{
|
|
410
410
|
const db = server.databases.get(dbName)
|
|
411
411
|
if(!db) throw new Error('databaseNotFound')
|
|
412
412
|
return db.indexesListObservable.list
|
|
413
413
|
}
|
|
414
414
|
},
|
|
415
415
|
logsList: {
|
|
416
|
-
observable: (dbName
|
|
416
|
+
observable: (dbName) => {
|
|
417
417
|
const db = server.databases.get(dbName)
|
|
418
418
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
419
419
|
return db.logsListObservable
|
|
420
420
|
},
|
|
421
|
-
get: async (dbName
|
|
421
|
+
get: async (dbName) => {
|
|
422
422
|
const db = server.databases.get(dbName)
|
|
423
423
|
if(!db) throw new Error('databaseNotFound')
|
|
424
424
|
return db.logsListObservable.list
|
|
425
425
|
}
|
|
426
426
|
},
|
|
427
427
|
tablesCount: {
|
|
428
|
-
observable: (dbName
|
|
428
|
+
observable: (dbName) => {
|
|
429
429
|
const db = server.databases.get(dbName)
|
|
430
430
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
431
431
|
return db.tablesListObservable.next(tables => tables.length ?? 0)
|
|
432
432
|
},
|
|
433
|
-
get: async (dbName
|
|
433
|
+
get: async (dbName) =>{
|
|
434
434
|
const db = server.databases.get(dbName)
|
|
435
435
|
if(!db) throw new Error('databaseNotFound')
|
|
436
436
|
return db.tablesListObservable.list.length
|
|
437
437
|
}
|
|
438
438
|
},
|
|
439
439
|
indexesCount: {
|
|
440
|
-
observable: (dbName
|
|
440
|
+
observable: (dbName) => {
|
|
441
441
|
const db = server.databases.get(dbName)
|
|
442
442
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
443
443
|
return db.indexesListObservable.next(tables => tables.length ?? 0)
|
|
444
444
|
},
|
|
445
|
-
get: async (dbName
|
|
445
|
+
get: async (dbName) =>{
|
|
446
446
|
const db = server.databases.get(dbName)
|
|
447
447
|
if(!db) throw new Error('databaseNotFound')
|
|
448
448
|
return db.indexesListObservable.list.length
|
|
449
449
|
}
|
|
450
450
|
},
|
|
451
451
|
logsCount: {
|
|
452
|
-
observable: (dbName
|
|
452
|
+
observable: (dbName) => {
|
|
453
453
|
const db = server.databases.get(dbName)
|
|
454
454
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
455
455
|
return db.logsListObservable.next(tables => tables.length ?? 0)
|
|
456
456
|
},
|
|
457
|
-
get: async (dbName
|
|
457
|
+
get: async (dbName) =>{
|
|
458
458
|
const db = server.databases.get(dbName)
|
|
459
459
|
if(!db) throw new Error('databaseNotFound')
|
|
460
460
|
return db.logsListObservable.list.length
|
|
461
461
|
}
|
|
462
462
|
},
|
|
463
463
|
tables: {
|
|
464
|
-
observable: (dbName
|
|
464
|
+
observable: (dbName) => {
|
|
465
465
|
const db = server.databases.get(dbName)
|
|
466
466
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
467
467
|
return db.tablesListObservable.next(list => list.map(dbName => ({ id: dbName })))
|
|
468
468
|
},
|
|
469
|
-
get: async (dbName
|
|
469
|
+
get: async (dbName) =>{
|
|
470
470
|
const db = server.databases.get(dbName)
|
|
471
471
|
if(!db) throw new Error('databaseNotFound')
|
|
472
472
|
return db.tablesListObservable.list.map(dbName => ({ id: dbName }))
|
|
473
473
|
}
|
|
474
474
|
},
|
|
475
475
|
indexes: {
|
|
476
|
-
observable: (dbName
|
|
476
|
+
observable: (dbName) => {
|
|
477
477
|
const db = server.databases.get(dbName)
|
|
478
478
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
479
479
|
return db.indexesListObservable.next(list => list.map(dbName => ({ id: dbName })))
|
|
480
480
|
},
|
|
481
|
-
get: async (dbName
|
|
481
|
+
get: async (dbName) =>{
|
|
482
482
|
const db = server.databases.get(dbName)
|
|
483
483
|
if(!db) throw new Error('databaseNotFound')
|
|
484
484
|
return db.indexesListObservable.list.map(dbName => ({ id: dbName }))
|
|
485
485
|
}
|
|
486
486
|
},
|
|
487
487
|
logs: {
|
|
488
|
-
observable: (dbName
|
|
488
|
+
observable: (dbName) => {
|
|
489
489
|
const db = server.databases.get(dbName)
|
|
490
490
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
491
491
|
return db.logsListObservable.next(list => list.map(dbName => ({ id: dbName })))
|
|
492
492
|
},
|
|
493
|
-
get: async (dbName
|
|
493
|
+
get: async (dbName) => {
|
|
494
494
|
const db = server.databases.get(dbName)
|
|
495
495
|
if(!db) throw new Error('databaseNotFound')
|
|
496
496
|
return db.logsListObservable.list.map(dbName => ({ id: dbName }))
|
|
497
497
|
}
|
|
498
498
|
},
|
|
499
499
|
tableConfig: {
|
|
500
|
-
observable: (dbName, tableName
|
|
500
|
+
observable: (dbName, tableName) => {
|
|
501
501
|
const db = server.databases.get(dbName)
|
|
502
502
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
503
503
|
const table = db.table(tableName)
|
|
504
504
|
if(!table) return new ReactiveDao.ObservableError('tableNotFound')
|
|
505
505
|
return table.configObservable
|
|
506
506
|
},
|
|
507
|
-
get: async (dbName, tableName
|
|
507
|
+
get: async (dbName, tableName) => {
|
|
508
508
|
const db = server.databases.get(dbName)
|
|
509
509
|
if(!db) throw new Error('databaseNotFound')
|
|
510
510
|
const table = db.table(tableName)
|
|
@@ -513,14 +513,14 @@ function localReads(server, scriptContext) {
|
|
|
513
513
|
}
|
|
514
514
|
},
|
|
515
515
|
indexConfig: {
|
|
516
|
-
observable: async (dbName, indexName
|
|
516
|
+
observable: async (dbName, indexName) => {
|
|
517
517
|
const db = server.databases.get(dbName)
|
|
518
518
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
519
519
|
const index = await db.index(indexName)
|
|
520
520
|
if(!index) return new ReactiveDao.ObservableError('indexNotFound')
|
|
521
521
|
return index.configObservable
|
|
522
522
|
},
|
|
523
|
-
get: async (dbName, indexName
|
|
523
|
+
get: async (dbName, indexName) =>{
|
|
524
524
|
const db = server.databases.get(dbName)
|
|
525
525
|
if(!db) throw new Error('databaseNotFound')
|
|
526
526
|
const index = await db.index(indexName)
|
|
@@ -529,14 +529,14 @@ function localReads(server, scriptContext) {
|
|
|
529
529
|
}
|
|
530
530
|
},
|
|
531
531
|
indexCode: {
|
|
532
|
-
observable: async (dbName, indexName
|
|
532
|
+
observable: async (dbName, indexName) => {
|
|
533
533
|
const db = server.databases.get(dbName)
|
|
534
534
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
535
535
|
const index = await db.index(indexName)
|
|
536
536
|
if(!index) return new ReactiveDao.ObservableError('indexNotFound')
|
|
537
537
|
return index.codeObservable
|
|
538
538
|
},
|
|
539
|
-
get: async (dbName, indexName
|
|
539
|
+
get: async (dbName, indexName) =>{
|
|
540
540
|
const db = server.databases.get(dbName)
|
|
541
541
|
if(!db) throw new Error('databaseNotFound')
|
|
542
542
|
const index = await db.index(indexName)
|
|
@@ -545,14 +545,14 @@ function localReads(server, scriptContext) {
|
|
|
545
545
|
}
|
|
546
546
|
},
|
|
547
547
|
logConfig: {
|
|
548
|
-
observable: (dbName, logName
|
|
548
|
+
observable: (dbName, logName) => {
|
|
549
549
|
const db = server.databases.get(dbName)
|
|
550
550
|
if(!db) return new ReactiveDao.ObservableError('databaseNotFound')
|
|
551
551
|
const log = db.log(logName)
|
|
552
552
|
if(!log) return new ReactiveDao.ObservableError('logNotFound')
|
|
553
553
|
return log.configObservable
|
|
554
554
|
},
|
|
555
|
-
get: async (dbName, logName
|
|
555
|
+
get: async (dbName, logName) =>{
|
|
556
556
|
const db = server.databases.get(dbName)
|
|
557
557
|
if(!db) throw new Error('databaseNotFound')
|
|
558
558
|
const log = db.log(logName)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@live-change/db-server",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.16",
|
|
4
4
|
"description": "Database with observable data for live queries",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -29,17 +29,17 @@
|
|
|
29
29
|
"tape": "^5.7.4"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@live-change/dao": "^0.8.
|
|
33
|
-
"@live-change/dao-message": "^0.8.
|
|
34
|
-
"@live-change/dao-sockjs": "^0.8.
|
|
35
|
-
"@live-change/dao-websocket": "^0.8.
|
|
36
|
-
"@live-change/db": "^0.8.
|
|
37
|
-
"@live-change/db-admin": "^0.8.
|
|
38
|
-
"@live-change/db-client": "^0.8.
|
|
39
|
-
"@live-change/db-store-level": "^0.8.
|
|
40
|
-
"@live-change/db-store-lmdb": "^0.8.
|
|
41
|
-
"@live-change/db-store-observable-db": "^0.8.
|
|
42
|
-
"@live-change/db-store-rbtree": "^0.8.
|
|
32
|
+
"@live-change/dao": "^0.8.16",
|
|
33
|
+
"@live-change/dao-message": "^0.8.16",
|
|
34
|
+
"@live-change/dao-sockjs": "^0.8.16",
|
|
35
|
+
"@live-change/dao-websocket": "^0.8.16",
|
|
36
|
+
"@live-change/db": "^0.8.16",
|
|
37
|
+
"@live-change/db-admin": "^0.8.16",
|
|
38
|
+
"@live-change/db-client": "^0.8.16",
|
|
39
|
+
"@live-change/db-store-level": "^0.8.16",
|
|
40
|
+
"@live-change/db-store-lmdb": "^0.8.16",
|
|
41
|
+
"@live-change/db-store-observable-db": "^0.8.16",
|
|
42
|
+
"@live-change/db-store-rbtree": "^0.8.16",
|
|
43
43
|
"@live-change/sockjs": "0.4.1",
|
|
44
44
|
"express": "^4.18.2",
|
|
45
45
|
"line-reader": "^0.4.0",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"websocket": "^1.0.34",
|
|
50
50
|
"yargs": "^17.7.2"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "b8ac84cbe1a8c435c7b5003dfc64ddc41a4e15a6"
|
|
53
53
|
}
|