@voxgig/model 4.0.0 → 5.0.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.
Files changed (45) hide show
  1. package/bin/voxgig-model +150 -31
  2. package/dist/{lib/build.d.ts → build.d.ts} +6 -5
  3. package/dist/{lib/build.js → build.js} +4 -3
  4. package/dist/build.js.map +1 -0
  5. package/dist/{lib/builder → builder}/local.js +13 -34
  6. package/dist/builder/local.js.map +1 -0
  7. package/dist/{lib/builder → builder}/model.js +5 -0
  8. package/dist/builder/model.js.map +1 -0
  9. package/dist/{lib/config.d.ts → config.d.ts} +4 -3
  10. package/dist/{lib/config.js → config.js} +6 -4
  11. package/dist/config.js.map +1 -0
  12. package/dist/model.d.ts +7 -6
  13. package/dist/model.js +33 -19
  14. package/dist/model.js.map +1 -1
  15. package/dist/tsconfig.tsbuildinfo +1 -0
  16. package/dist/{lib/types.d.ts → types.d.ts} +25 -3
  17. package/dist/types.js +4 -0
  18. package/dist/types.js.map +1 -0
  19. package/dist/{lib/watch.d.ts → watch.d.ts} +6 -19
  20. package/dist/{lib/watch.js → watch.js} +41 -16
  21. package/dist/watch.js.map +1 -0
  22. package/package.json +19 -20
  23. package/dist/lib/build.js.map +0 -1
  24. package/dist/lib/builder/local.js.map +0 -1
  25. package/dist/lib/builder/model.js.map +0 -1
  26. package/dist/lib/config.js.map +0 -1
  27. package/dist/lib/model-builder.d.ts +0 -0
  28. package/dist/lib/model-builder.js +0 -2
  29. package/dist/lib/model-builder.js.map +0 -1
  30. package/dist/lib/types.js +0 -3
  31. package/dist/lib/types.js.map +0 -1
  32. package/dist/lib/util.d.ts +0 -7
  33. package/dist/lib/util.js +0 -94
  34. package/dist/lib/util.js.map +0 -1
  35. package/dist/lib/watch.js.map +0 -1
  36. package/dist/model.min.js +0 -94
  37. package/lib/build.ts +0 -138
  38. package/lib/builder/local.ts +0 -130
  39. package/lib/builder/model.ts +0 -37
  40. package/lib/config.ts +0 -50
  41. package/lib/types.ts +0 -67
  42. package/lib/watch.ts +0 -301
  43. package/model.ts +0 -147
  44. /package/dist/{lib/builder → builder}/local.d.ts +0 -0
  45. /package/dist/{lib/builder → builder}/model.d.ts +0 -0
package/model.ts DELETED
@@ -1,147 +0,0 @@
1
- /* Copyright © 2021-2023 Voxgig Ltd, MIT License. */
2
-
3
- // TODO: remove need for this
4
- import Fs from 'fs'
5
-
6
-
7
- import type { Build, BuildResult, BuildAction, BuildContext, Spec } from './lib/types'
8
-
9
-
10
- import { Config } from './lib/config'
11
- import { Watch } from './lib/watch'
12
-
13
- import { model_builder } from './lib/builder/model'
14
- import { local_builder } from './lib/builder/local'
15
-
16
-
17
- class Model {
18
- config: Config
19
- build: any
20
- watch: Watch
21
-
22
- trigger_model = false
23
-
24
-
25
- constructor(spec: Spec) {
26
- const self = this
27
-
28
- // Config is a special Watch to handle model config.
29
- this.config = makeConfig(spec, {
30
- path: '/',
31
- build: async function trigger_model(build: Build, ctx: BuildContext) {
32
- if ('post' !== ctx.step) {
33
- return { ok: true }
34
- }
35
-
36
- let res
37
-
38
- // console.log('TRIGGER', build.id, self.trigger_model, ctx)
39
- // console.log(new Error().stack)
40
-
41
- if (self.trigger_model) {
42
-
43
- // TODO: fix!!!
44
- self.build.use.config.watch.last.build = build
45
-
46
- res = self.watch.run(true)
47
- }
48
- else {
49
- self.trigger_model = true
50
- res = { ok: true }
51
- }
52
-
53
- const watchmap = build.model?.sys?.model?.watch
54
-
55
- if (watchmap) {
56
- Object.keys(watchmap).map((file: string) => {
57
- self.watch.add(file)
58
- })
59
- }
60
-
61
- return res
62
- }
63
- })
64
-
65
-
66
- // The actual model.
67
- this.build = {
68
- src: spec.src,
69
- path: spec.path,
70
- base: spec.base,
71
- use: { config: self.config },
72
- res: [
73
- {
74
- path: '/',
75
- build: model_builder
76
- },
77
- {
78
- path: '/',
79
- build: local_builder
80
- }
81
- ],
82
- require: spec.require
83
- }
84
-
85
-
86
- this.watch = new Watch(self.build)
87
- }
88
-
89
-
90
- async run(): Promise<BuildResult> {
91
- this.trigger_model = false
92
- const br = await this.config.run()
93
- return br.ok ? this.watch.run(true) : br
94
- }
95
-
96
-
97
- async start() {
98
- this.trigger_model = false
99
-
100
- const br = await this.config.run()
101
- // console.log('MODEL CONFIG START', br.ok)
102
- return br.ok ? this.watch.start() : br
103
- }
104
-
105
-
106
- async stop() {
107
- return this.watch.stop()
108
- }
109
- }
110
-
111
-
112
- function makeConfig(spec: Spec, trigger_model_build: BuildAction) {
113
- let cbase = spec.base + '/.model-config'
114
- let cpath = cbase + '/model-config.jsonic'
115
-
116
- // Build should load file
117
- let src = Fs.readFileSync(cpath).toString()
118
-
119
- let cspec: Spec = {
120
- src: src,
121
- path: cpath,
122
- base: cbase,
123
- res: [
124
-
125
- // Generate full config model and save as a file.
126
- {
127
- path: '/',
128
- build: model_builder
129
- },
130
-
131
- // Trigger main model build.
132
- trigger_model_build
133
- ],
134
- require: spec.require
135
- }
136
-
137
- return new Config(cspec)
138
- }
139
-
140
-
141
-
142
- export {
143
- Model,
144
- Spec,
145
- }
146
-
147
-
File without changes
File without changes