@live-change/cli 0.8.1 → 0.8.3

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/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2019-2022 Michał Łaszczewski
1
+ Copyright 2019-2024 Michał Łaszczewski
2
2
 
3
3
  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
4
 
package/lib/starter.js CHANGED
@@ -15,6 +15,7 @@ const app = App.app()
15
15
  import {
16
16
 
17
17
  SsrServer,
18
+ Services,
18
19
 
19
20
  createLoopbackDao,
20
21
  setupApiServer,
@@ -235,6 +236,15 @@ export default function starter(servicesConfig = null) {
235
236
  await setupApp({...argv, uidBorders: '[]'})
236
237
  await server({...argv, uidBorders: '[]'}, true)
237
238
  })
239
+ .command('describe', 'describe server', (yargs) => {
240
+ yargs.option('service', {
241
+ describe: 'service that will be described',
242
+ type: 'string',
243
+ default: '*'
244
+ })
245
+ }, async (argv) => {
246
+ await describe(argv)
247
+ })
238
248
  .option('verbose', {
239
249
  alias: 'v',
240
250
  type: 'boolean',
@@ -244,6 +254,52 @@ export default function starter(servicesConfig = null) {
244
254
  }
245
255
 
246
256
 
257
+ async function describe(argv) {
258
+ if(globalServicesConfig) argv.services = globalServicesConfig
259
+ const services = new Services(argv.services)
260
+ await services.loadServices()
261
+ await services.processDefinitions()
262
+ function describeService(service) {
263
+ console.log("Service", service.name)
264
+ console.log(" models:")
265
+ for(const modelName in service.models) {
266
+ const model = service.models[modelName]
267
+ const properties = Object.keys(model.properties ?? {})
268
+ console.log(" ", modelName, "(", properties.join(', '), ")")
269
+ }
270
+ console.log(" actions:")
271
+ for(const actionName in service.actions) {
272
+ const action = service.actions[actionName]
273
+ const properties = Object.keys(action.properties ?? {})
274
+ console.log(" ", actionName, "(", properties.join(', '), ")")
275
+ }
276
+ console.log(" views:")
277
+ for(const viewName in service.views) {
278
+ const view = service.views[viewName]
279
+ const properties = Object.keys(view.properties ?? {})
280
+ console.log(" ", viewName, "(", properties.join(', '), ")")
281
+ }
282
+ console.log(" events:")
283
+ for(const eventName in service.events) {
284
+ const event = service.events[eventName]
285
+ const properties = Object.keys(event.properties ?? {})
286
+ console.log(" ", eventName, "(", properties.join(', '), ")")
287
+ }
288
+ }
289
+ if(argv.service == '*') {
290
+ for(const service of services.serviceDefinitions) {
291
+ describeService(service)
292
+ }
293
+ } else {
294
+ const service = services.serviceDefinitions.find(s => s.name == argv.service)
295
+ if(service) {
296
+ describeService(service)
297
+ } else {
298
+ console.error("Service", argv.service, "not found")
299
+ }
300
+ }
301
+ }
302
+
247
303
  async function apiServer(argv) {
248
304
  if(globalServicesConfig) argv.services = globalServicesConfig
249
305
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@live-change/cli",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "description": "Live Change Framework - command line interface",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -26,11 +26,11 @@
26
26
  "homepage": "https://github.com/live-change/live-change-framework",
27
27
  "dependencies": {
28
28
  "@live-change/dao": "0.6.0",
29
- "@live-change/dao-sockjs": "0.6.0",
30
- "@live-change/dao-websocket": "0.6.0",
31
- "@live-change/db-server": "0.7.3",
32
- "@live-change/framework": "^0.8.1",
33
- "@live-change/server": "^0.8.1",
29
+ "@live-change/dao-sockjs": "0.8.2",
30
+ "@live-change/dao-websocket": "0.8.2",
31
+ "@live-change/db-server": "^0.8.3",
32
+ "@live-change/framework": "0.8.2",
33
+ "@live-change/server": "^0.8.3",
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": "d26056b63edb7fecb98c6b9ee14eba859360f900"
43
+ "gitHead": "81b4ac5a36ab1abdf9d521e3c4fbea6d194bb892"
44
44
  }