@live-change/cli 0.9.95 → 0.9.97
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/lib/starter.js +54 -1
- package/package.json +8 -8
package/lib/starter.js
CHANGED
|
@@ -290,10 +290,27 @@ export default function starter(servicesConfig = null, args = {}) {
|
|
|
290
290
|
type: 'string',
|
|
291
291
|
default: '*'
|
|
292
292
|
})
|
|
293
|
+
startOptions(yargs)
|
|
293
294
|
}, async (argv) => {
|
|
294
295
|
await setupApp({...argv, uidBorders: '[]'})
|
|
295
296
|
await changes(argv)
|
|
296
297
|
})
|
|
298
|
+
.command('update', 'apply changes', (yargs) => {
|
|
299
|
+
yargs.option('service', {
|
|
300
|
+
describe: 'service that will be described',
|
|
301
|
+
type: 'string',
|
|
302
|
+
default: '*'
|
|
303
|
+
})
|
|
304
|
+
yargs.option('force', {
|
|
305
|
+
describe: 'force update',
|
|
306
|
+
type: 'boolean',
|
|
307
|
+
default: false
|
|
308
|
+
})
|
|
309
|
+
startOptions(yargs)
|
|
310
|
+
}, async (argv) => {
|
|
311
|
+
await setupApp({...argv, uidBorders: '[]'})
|
|
312
|
+
await update(argv)
|
|
313
|
+
})
|
|
297
314
|
.option('verbose', {
|
|
298
315
|
alias: 'v',
|
|
299
316
|
type: 'boolean',
|
|
@@ -308,7 +325,7 @@ export async function changes(argv) {
|
|
|
308
325
|
await services.loadServices()
|
|
309
326
|
await services.processDefinitions()
|
|
310
327
|
async function printChanges(service) {
|
|
311
|
-
const oldServiceJson = app.getOldServiceDefinition(service.name)
|
|
328
|
+
const oldServiceJson = await app.getOldServiceDefinition(service.name)
|
|
312
329
|
const changes = service.computeChanges(oldServiceJson)
|
|
313
330
|
console.log("Service", service.name)
|
|
314
331
|
for(const change of changes) {
|
|
@@ -330,6 +347,42 @@ export async function changes(argv) {
|
|
|
330
347
|
process.exit(0)
|
|
331
348
|
}
|
|
332
349
|
|
|
350
|
+
|
|
351
|
+
export async function update(argv) {
|
|
352
|
+
if(globalServicesConfig) argv.services = globalServicesConfig
|
|
353
|
+
const services = new Services(argv.services)
|
|
354
|
+
await services.loadServices()
|
|
355
|
+
await services.processDefinitions()
|
|
356
|
+
await (app.dao.request(['database', 'createTable'], app.databaseName, 'services').catch(e => 'ok'))
|
|
357
|
+
async function applyChanges(serviceDefinition) {
|
|
358
|
+
if(!serviceDefinition.processed) {
|
|
359
|
+
app.processServiceDefinition(serviceDefinition)
|
|
360
|
+
serviceDefinition.processed = true
|
|
361
|
+
}
|
|
362
|
+
const oldServiceJson = await app.getOldServiceDefinition(serviceDefinition.name)
|
|
363
|
+
const changes = serviceDefinition.computeChanges(oldServiceJson)
|
|
364
|
+
console.log("#### UPDATE SERVICE", serviceDefinition.name)
|
|
365
|
+
await app.applyChanges(changes, serviceDefinition, undefined, Boolean(argv.force))
|
|
366
|
+
|
|
367
|
+
console.log("#### UPDATED SERVICE", serviceDefinition.name)
|
|
368
|
+
await app.dao.request(['database', 'put'], app.databaseName, 'services',
|
|
369
|
+
{ id: serviceDefinition.name , ...serviceDefinition })
|
|
370
|
+
}
|
|
371
|
+
if(argv.service === '*') {
|
|
372
|
+
for(const serviceDefinition of services.serviceDefinitions) {
|
|
373
|
+
await applyChanges(serviceDefinition)
|
|
374
|
+
}
|
|
375
|
+
} else {
|
|
376
|
+
const service = services.serviceDefinitions.find(s => s.name === argv.service)
|
|
377
|
+
if(service) {
|
|
378
|
+
await applyChanges(service)
|
|
379
|
+
} else {
|
|
380
|
+
console.error("Service", argv.service, "not found")
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
process.exit(0)
|
|
384
|
+
}
|
|
385
|
+
|
|
333
386
|
export async function describe(argv) {
|
|
334
387
|
if(globalServicesConfig) argv.services = globalServicesConfig
|
|
335
388
|
const services = new Services(argv.services)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@live-change/cli",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.97",
|
|
4
4
|
"description": "Live Change Framework - command line interface",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
"type": "module",
|
|
26
26
|
"homepage": "https://github.com/live-change/live-change-stack",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@live-change/dao": "^0.9.
|
|
29
|
-
"@live-change/dao-sockjs": "^0.9.
|
|
30
|
-
"@live-change/dao-websocket": "^0.9.
|
|
31
|
-
"@live-change/db-server": "^0.9.
|
|
32
|
-
"@live-change/framework": "^0.9.
|
|
33
|
-
"@live-change/server": "^0.9.
|
|
28
|
+
"@live-change/dao": "^0.9.97",
|
|
29
|
+
"@live-change/dao-sockjs": "^0.9.97",
|
|
30
|
+
"@live-change/dao-websocket": "^0.9.97",
|
|
31
|
+
"@live-change/db-server": "^0.9.97",
|
|
32
|
+
"@live-change/framework": "^0.9.97",
|
|
33
|
+
"@live-change/server": "^0.9.97",
|
|
34
34
|
"dotenv": "^16.4.4",
|
|
35
35
|
"express": "^4.18.2",
|
|
36
36
|
"http-proxy-middleware": "2.0.6",
|
|
@@ -40,5 +40,5 @@
|
|
|
40
40
|
"websocket": "^1.0.34",
|
|
41
41
|
"yargs": "^17.7.2"
|
|
42
42
|
},
|
|
43
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "10ec914fe91a9fe10464d68c6d145e152bb1073e"
|
|
44
44
|
}
|