@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.
- package/bin/voxgig-model +150 -31
- package/dist/{lib/build.d.ts → build.d.ts} +6 -5
- package/dist/{lib/build.js → build.js} +4 -3
- package/dist/build.js.map +1 -0
- package/dist/{lib/builder → builder}/local.js +13 -34
- package/dist/builder/local.js.map +1 -0
- package/dist/{lib/builder → builder}/model.js +5 -0
- package/dist/builder/model.js.map +1 -0
- package/dist/{lib/config.d.ts → config.d.ts} +4 -3
- package/dist/{lib/config.js → config.js} +6 -4
- package/dist/config.js.map +1 -0
- package/dist/model.d.ts +7 -6
- package/dist/model.js +33 -19
- package/dist/model.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/{lib/types.d.ts → types.d.ts} +25 -3
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -0
- package/dist/{lib/watch.d.ts → watch.d.ts} +6 -19
- package/dist/{lib/watch.js → watch.js} +41 -16
- package/dist/watch.js.map +1 -0
- package/package.json +19 -20
- package/dist/lib/build.js.map +0 -1
- package/dist/lib/builder/local.js.map +0 -1
- package/dist/lib/builder/model.js.map +0 -1
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/model-builder.d.ts +0 -0
- package/dist/lib/model-builder.js +0 -2
- package/dist/lib/model-builder.js.map +0 -1
- package/dist/lib/types.js +0 -3
- package/dist/lib/types.js.map +0 -1
- package/dist/lib/util.d.ts +0 -7
- package/dist/lib/util.js +0 -94
- package/dist/lib/util.js.map +0 -1
- package/dist/lib/watch.js.map +0 -1
- package/dist/model.min.js +0 -94
- package/lib/build.ts +0 -138
- package/lib/builder/local.ts +0 -130
- package/lib/builder/model.ts +0 -37
- package/lib/config.ts +0 -50
- package/lib/types.ts +0 -67
- package/lib/watch.ts +0 -301
- package/model.ts +0 -147
- /package/dist/{lib/builder → builder}/local.d.ts +0 -0
- /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
|