@voxgig/model 5.0.0 → 5.1.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 CHANGED
@@ -41,15 +41,6 @@ async function run() {
41
41
  }
42
42
 
43
43
 
44
- function exit(err) {
45
- let code = 0
46
- if(err) {
47
- code = 1
48
- }
49
- process.exit(code)
50
- }
51
-
52
-
53
44
  function resolveOptions() {
54
45
 
55
46
  const args = parseArgs({
@@ -99,7 +90,7 @@ function resolveOptions() {
99
90
 
100
91
  function validateOptions(rawOptions) {
101
92
  const optShape = Gubu({
102
- model: Fault('The first argument should be the model file.', String),
93
+ model: Fault('The first command line argument must be the model file path.', String),
103
94
  watch: Boolean,
104
95
  debug: One(String,Boolean),
105
96
  help: Boolean,
@@ -110,7 +101,9 @@ function validateOptions(rawOptions) {
110
101
  const options = optShape(rawOptions,{err})
111
102
 
112
103
  if(err[0]) {
113
- throw new Error(err[0].text)
104
+ const errtext = 'ERROR: '+err.map(err=>err.text).join('\n')
105
+ console.error(errtext)
106
+ exit(1)
114
107
  }
115
108
 
116
109
  return options
@@ -118,8 +111,7 @@ function validateOptions(rawOptions) {
118
111
 
119
112
 
120
113
  async function handleError(err) {
121
- CONSOLE.log('Voxgig Model Error:')
122
- CONSOLE.log(err)
114
+ CONSOLE.error(err)
123
115
  exit(err)
124
116
  }
125
117
 
@@ -135,10 +127,23 @@ function help() {
135
127
  }
136
128
 
137
129
 
130
+ function exit(err) {
131
+ let code = 0
132
+ if(err) {
133
+ code = 1
134
+ }
135
+ process.exit(code)
136
+ }
137
+
138
138
 
139
139
  async function generate(options) {
140
140
  let path = options.model
141
141
 
142
+ if(!Fs.existsSync(path)) {
143
+ console.error('ERROR: model file does not exist: '+(path.replace(process.cwd(),'.')))
144
+ exit(1)
145
+ }
146
+
142
147
  let fstats = Fs.statSync(path)
143
148
  let base = Path.resolve(path)
144
149
 
@@ -149,10 +154,7 @@ async function generate(options) {
149
154
 
150
155
  path = Path.resolve(path)
151
156
 
152
- let src = Fs.readFileSync(path).toString()
153
-
154
157
  let spec = {
155
- src,
156
158
  path,
157
159
  base,
158
160
  require: process.cwd(),
@@ -165,7 +167,7 @@ async function generate(options) {
165
167
  model.start()
166
168
  }
167
169
  else {
168
- let br = await model.run()
170
+ await model.run()
169
171
  }
170
172
  }
171
173
 
package/dist/build.d.ts CHANGED
@@ -1,21 +1,21 @@
1
1
  import { Val } from 'aontu';
2
- import type { Build, BuildResult, BuildAction, BuildContext, BuildSpec, Log } from './types';
2
+ import type { Build, BuildResult, BuildContext, BuildSpec, RunSpec, Log } from './types';
3
3
  declare class BuildImpl implements Build {
4
4
  id: string;
5
- src: string;
6
5
  base: string;
7
6
  path: string;
8
7
  root: any;
9
8
  opts: any;
10
- res: BuildAction[];
9
+ res: any[];
11
10
  spec: BuildSpec;
12
11
  model: any;
13
12
  use: {};
14
- err: any[];
13
+ errs: any[];
15
14
  ctx: BuildContext;
16
15
  log: Log;
16
+ fs: any;
17
17
  constructor(spec: BuildSpec, log: Log);
18
- run(): Promise<BuildResult>;
18
+ run(rspec: RunSpec): Promise<BuildResult>;
19
19
  }
20
20
  declare function makeBuild(spec: BuildSpec, log: Log): BuildImpl;
21
21
  export { makeBuild, BuildSpec, Val };
package/dist/build.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- /* Copyright © 2021-2023 Voxgig Ltd, MIT License. */
2
+ /* Copyright © 2021-2024 Voxgig Ltd, MIT License. */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.makeBuild = makeBuild;
5
5
  const aontu_1 = require("aontu");
@@ -7,15 +7,15 @@ class BuildImpl {
7
7
  constructor(spec, log) {
8
8
  this.root = aontu_1.Nil.make();
9
9
  this.use = {};
10
- this.err = [];
10
+ this.errs = [];
11
11
  this.id = String(Math.random()).substring(3, 9);
12
12
  this.log = log;
13
13
  this.spec = spec;
14
- this.src = spec.src;
14
+ this.fs = spec.fs;
15
15
  this.base = null == spec.base ? '' : spec.base;
16
16
  this.path = null == spec.path ? '' : spec.path;
17
17
  this.opts = {};
18
- this.ctx = { step: 'pre', state: {} };
18
+ this.ctx = { step: 'pre', watch: false, state: {} };
19
19
  if (null != spec.base) {
20
20
  this.opts.base = spec.base;
21
21
  this.opts.path = spec.path;
@@ -26,10 +26,9 @@ class BuildImpl {
26
26
  this.res = spec.res || [];
27
27
  Object.assign(this.use, spec.use || {});
28
28
  }
29
- async run() {
29
+ async run(rspec) {
30
30
  let hasErr = false;
31
- // this.ctx.step = 'pre'
32
- this.ctx = { step: 'pre', state: {} };
31
+ this.ctx = { step: 'pre', state: {}, watch: rspec.watch };
33
32
  const brlog = [];
34
33
  for (let builder of this.res) {
35
34
  try {
@@ -39,17 +38,28 @@ class BuildImpl {
39
38
  br.builder = builder.build.name;
40
39
  brlog.push(br);
41
40
  }
42
- catch (e) {
43
- this.err.push(e);
41
+ catch (err) {
42
+ this.errs.push(err);
44
43
  hasErr = true;
45
44
  break;
46
45
  }
47
46
  }
47
+ let src = '';
48
48
  if (!hasErr) {
49
- this.root = (0, aontu_1.Aontu)(this.src, this.opts);
49
+ try {
50
+ src = this.fs.readFileSync(this.path, 'utf8');
51
+ }
52
+ catch (err) {
53
+ hasErr = true;
54
+ this.errs.push(err);
55
+ }
56
+ }
57
+ if (!hasErr) {
58
+ this.root = (0, aontu_1.Aontu)(src, this.opts);
50
59
  hasErr = this.root.err && 0 < this.root.err.length;
51
60
  if (hasErr) {
52
- this.err.push(...this.root.err);
61
+ this.errs.push(...this.root.err);
62
+ // console.log('AONTU ERRS', this.errs)
53
63
  }
54
64
  }
55
65
  if (!hasErr) {
@@ -57,10 +67,9 @@ class BuildImpl {
57
67
  this.model = this.root.gen(genctx);
58
68
  hasErr = genctx.err && 0 < genctx.err.length;
59
69
  if (hasErr) {
60
- this.err.push(...genctx.err);
70
+ this.errs.push(...genctx.err);
61
71
  }
62
72
  else {
63
- // TODO: only call if path value has changed
64
73
  this.ctx.step = 'post';
65
74
  for (let builder of this.res) {
66
75
  try {
@@ -70,14 +79,15 @@ class BuildImpl {
70
79
  br.builder = builder.build.name;
71
80
  brlog.push(br);
72
81
  }
73
- catch (e) {
74
- this.err.push(e);
82
+ catch (err) {
83
+ hasErr = true;
84
+ this.errs.push(err);
75
85
  break;
76
86
  }
77
87
  }
78
88
  }
79
89
  }
80
- const br = { ok: !hasErr, build: this, builders: brlog, err: this.err };
90
+ const br = { ok: !hasErr, build: this, builders: brlog, errs: this.errs };
81
91
  return br;
82
92
  }
83
93
  }
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
@@ -10,44 +10,37 @@ const local_builder = async (build, ctx) => {
10
10
  ctx.state.local = (ctx.state.local || {});
11
11
  let actionDefs = ctx.state.local.actionDefs;
12
12
  if (null == actionDefs) {
13
- try {
14
- actionDefs = ctx.state.local.actionDefs = [];
15
- // TODO: need to provide project root via build
16
- let root = path_1.default.resolve(build.path, '..', '..');
17
- // TODO: build should do this
18
- let configbuild = build.use.config;
19
- let config = configbuild.watch.last.build.model;
20
- let builders = config.sys.model.builders;
21
- // TODO: order by comma sep string
22
- // Load builders
23
- for (let name in builders) {
24
- let builder = builders[name];
25
- let action_path = path_1.default.join(root, builder.load);
26
- // clear(action_path)
27
- let action = require(action_path);
28
- if (action instanceof Promise) {
29
- action = await action;
30
- }
31
- const step = action.step || 'post';
32
- actionDefs.push({ name, builder, action, step });
13
+ actionDefs = ctx.state.local.actionDefs = [];
14
+ // TODO: need to provide project root via build
15
+ let root = path_1.default.resolve(build.path, '..', '..');
16
+ // TODO: build should do this
17
+ let configbuild = build.use.config;
18
+ let config = configbuild.watch.last?.build.model || {};
19
+ let builders = config.sys?.model.builders || {};
20
+ // TODO: order by comma sep string
21
+ // Load builders
22
+ for (let name in builders) {
23
+ let builder = builders[name];
24
+ let action_path = path_1.default.join(root, builder.load);
25
+ let action = require(action_path);
26
+ if (action instanceof Promise) {
27
+ action = await action;
33
28
  }
34
- }
35
- catch (e) {
36
- throw e;
29
+ const step = action.step || 'post';
30
+ actionDefs.push({ name, builder, action, step });
37
31
  }
38
32
  }
39
33
  const runActionDefs = actionDefs.filter((ad) => ctx.step === ad.step || 'all' === ad.step);
40
- // console.log(runActionDefs)
41
34
  build.log.info({
42
35
  point: ctx.step + '-actions', step: ctx.step, actions: runActionDefs,
43
36
  note: runActionDefs.map((ad) => ad.name).join(';')
44
37
  });
45
38
  let ok = true;
46
- let brlog = [];
39
+ let areslog = [];
47
40
  for (let actionDef of runActionDefs) {
48
- let br = await actionDef.action(build.model, build);
49
- ok = ok && null != br && br.ok;
50
- brlog.push(br);
41
+ let ares = await actionDef.action(build.model, build, ctx);
42
+ ok = ok && null != ares && ares.ok;
43
+ areslog.push(ares);
51
44
  }
52
45
  return { ok: true, step: ctx.step, active: true };
53
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/builder/local.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/builder/local.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AAKvB,uCAAuC;AACvC,MAAM,aAAa,GAAY,KAAK,EAAE,KAAY,EAAE,GAAiB,EAAE,EAAE;IACvE,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACzC,IAAI,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAA;IAE3C,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QACvB,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAA;QAE5C,+CAA+C;QAC/C,IAAI,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAG/C,6BAA6B;QAC7B,IAAI,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAA;QAElC,IAAI,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAA;QAEtD,IAAI,QAAQ,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAA;QAE/C,kCAAkC;QAClC,gBAAgB;QAChB,KAAK,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC5B,IAAI,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAE/C,IAAI,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;YAEjC,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;gBAC9B,MAAM,GAAG,MAAM,MAAM,CAAA;YACvB,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAA;YAElC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;QAClD,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;IAE/F,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACb,KAAK,EAAE,GAAG,CAAC,IAAI,GAAG,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa;QACpE,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACxD,CAAC,CAAA;IAEF,IAAI,EAAE,GAAG,IAAI,CAAA;IACb,IAAI,OAAO,GAAG,EAAE,CAAA;IAEhB,KAAK,IAAI,SAAS,IAAI,aAAa,EAAE,CAAC;QACpC,IAAI,IAAI,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAA;QAC1D,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,CAAA;QAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACnD,CAAC,CAAA;AAIC,sCAAa"}
@@ -11,25 +11,20 @@ const model_builder = async (build, ctx) => {
11
11
  if ('post' !== ctx.step) {
12
12
  return { ok: true, step: ctx.step, active: false };
13
13
  }
14
- try {
15
- let json = JSON.stringify(build.root.gen(), null, 2);
16
- let filename = path_1.default.basename(build.path);
17
- let filenameparts = filename.match(/^(.*)\.[^.]+$/);
18
- if (filenameparts) {
19
- filename = filenameparts[1];
20
- }
21
- let file = build.opts.base + '/' + filename + '.json';
22
- build.log.info({
23
- point: 'write-model',
24
- path: file,
25
- note: file.replace(process.cwd(), '.')
26
- });
27
- await (0, promises_1.writeFile)(file, json);
28
- return { ok: true, step: ctx.step, active: true };
29
- }
30
- catch (e) {
31
- throw e;
14
+ let json = JSON.stringify(build.root.gen(), null, 2);
15
+ let filename = path_1.default.basename(build.path);
16
+ let filenameparts = filename.match(/^(.*)\.[^.]+$/);
17
+ if (filenameparts) {
18
+ filename = filenameparts[1];
32
19
  }
20
+ let file = build.opts.base + '/' + filename + '.json';
21
+ build.log.info({
22
+ point: 'write-model',
23
+ path: file,
24
+ note: file.replace(process.cwd(), '.')
25
+ });
26
+ await (0, promises_1.writeFile)(file, json);
27
+ return { ok: true, step: ctx.step, active: true };
33
28
  };
34
29
  exports.model_builder = model_builder;
35
30
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/builder/model.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AAEvB,0CAAuC;AAKvC,iDAAiD;AACjD,MAAM,aAAa,GAAY,KAAK,EAAE,KAAY,EAAE,GAAiB,EAAE,EAAE;IACvE,IAAI,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IACpD,CAAC;IAED,IAAI,CAAC;QACH,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QAEpD,IAAI,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QACnD,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;QAC7B,CAAC;QAED,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAA;QAErD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC;SACvC,CAAC,CAAA;QAEF,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAE3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IACnD,CAAC;IACD,OAAO,CAAM,EAAE,CAAC;QACd,MAAM,CAAC,CAAA;IACT,CAAC;AACH,CAAC,CAAA;AAGC,sCAAa"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/builder/model.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AAEvB,0CAAuC;AAKvC,iDAAiD;AACjD,MAAM,aAAa,GAAY,KAAK,EAAE,KAAY,EAAE,GAAiB,EAAE,EAAE;IACvE,IAAI,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IACpD,CAAC;IAED,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEpD,IAAI,QAAQ,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxC,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IACnD,IAAI,aAAa,EAAE,CAAC;QAClB,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAA;IAErD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACb,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC;KACvC,CAAC,CAAA;IAEF,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;AACnD,CAAC,CAAA;AAGC,sCAAa"}
package/dist/config.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import type { BuildResult, BuildSpec, Log } from './types';
2
2
  import { Watch } from './watch';
3
3
  declare class Config {
4
- build: any;
4
+ build: BuildSpec;
5
5
  watch: Watch;
6
6
  log: Log;
7
7
  constructor(spec: BuildSpec, log: Log);
8
- run(): Promise<BuildResult>;
8
+ run(watch: boolean): Promise<BuildResult>;
9
9
  start(): Promise<void>;
10
10
  stop(): Promise<void>;
11
11
  }
package/dist/config.js CHANGED
@@ -7,7 +7,6 @@ class Config {
7
7
  constructor(spec, log) {
8
8
  this.log = log;
9
9
  this.build = {
10
- src: spec.src,
11
10
  path: spec.path,
12
11
  base: spec.base,
13
12
  res: [
@@ -15,11 +14,12 @@ class Config {
15
14
  ],
16
15
  require: spec.require,
17
16
  log: this.log,
17
+ fs: spec.fs
18
18
  };
19
19
  this.watch = new watch_1.Watch(this.build, this.log);
20
20
  }
21
- async run() {
22
- return this.watch.run('config', true, '<config>');
21
+ async run(watch) {
22
+ return this.watch.run('config', watch, '<config>');
23
23
  }
24
24
  async start() {
25
25
  return this.watch.start();
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAKpD,mCAA+B;AAI/B,MAAM,MAAM;IAKV,YAAY,IAAe,EAAE,GAAQ;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE;gBACH,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;aACpB;YACD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAA;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,GAAG;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;CACF;AAGQ,wBAAM"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAKpD,mCAA+B;AAI/B,MAAM,MAAM;IAKV,YAAY,IAAe,EAAE,GAAQ;QACnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,IAAI,CAAC,KAAK,GAAG;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE;gBACH,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;aACpB;YACD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,EAAE,EAAE,IAAI,CAAC,EAAE;SACZ,CAAA;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,aAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAc;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAC1B,CAAC;CACF;AAGQ,wBAAM"}
package/dist/model.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { BuildResult, BuildSpec, Log } from './types';
1
+ import type { BuildResult, BuildSpec, ModelSpec, Log } from './types';
2
2
  import { Config } from './config';
3
3
  import { Watch } from './watch';
4
4
  declare class Model {
@@ -7,7 +7,8 @@ declare class Model {
7
7
  watch: Watch;
8
8
  trigger_model: boolean;
9
9
  log: Log;
10
- constructor(spec: BuildSpec);
10
+ fs: any;
11
+ constructor(mspec: ModelSpec);
11
12
  run(): Promise<BuildResult>;
12
13
  start(): Promise<void | BuildResult>;
13
14
  stop(): Promise<void>;
package/dist/model.js CHANGED
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.Model = void 0;
8
- // TODO: remove need for this
9
8
  const node_fs_1 = __importDefault(require("node:fs"));
10
9
  const util_1 = require("@voxgig/util");
11
10
  const config_1 = require("./config");
@@ -13,28 +12,27 @@ const watch_1 = require("./watch");
13
12
  const model_1 = require("./builder/model");
14
13
  const local_1 = require("./builder/local");
15
14
  class Model {
16
- constructor(spec) {
15
+ constructor(mspec) {
17
16
  this.trigger_model = false;
18
17
  const self = this;
19
- const pino = (0, util_1.prettyPino)('model', spec);
18
+ self.fs = mspec.fs || node_fs_1.default;
19
+ const pino = (0, util_1.prettyPino)('model', mspec);
20
20
  this.log = pino.child({ cmp: 'model' });
21
21
  this.log.info({ point: 'model-init' });
22
22
  this.log.debug({
23
- point: 'model-spec', spec, note: '\n' +
24
- JSON.stringify({ ...spec, src: '<NOT-SHOWN>' }, null, 2)
23
+ point: 'model-spec', mspec, note: '\n' +
24
+ JSON.stringify({ ...mspec, src: '<NOT-SHOWN>' }, null, 2)
25
25
  .replace(/"/g, '')
26
26
  .replaceAll(process.cwd(), '.')
27
27
  });
28
28
  // Config is a special Watch to handle model config.
29
- this.config = makeConfig(spec, this.log, {
29
+ this.config = makeConfig(mspec, this.log, this.fs, {
30
30
  path: '/',
31
31
  build: async function trigger_model(build, ctx) {
32
32
  if ('post' !== ctx.step) {
33
33
  return { ok: true };
34
34
  }
35
35
  let res;
36
- // console.log('TRIGGER', build.id, self.trigger_model, ctx)
37
- // console.log(new Error().stack)
38
36
  if (self.trigger_model) {
39
37
  // TODO: better design
40
38
  if (self.build.use) {
@@ -46,20 +44,21 @@ class Model {
46
44
  self.trigger_model = true;
47
45
  res = { ok: true };
48
46
  }
49
- const watchmap = build.model?.sys?.model?.watch;
50
- if (watchmap) {
51
- Object.keys(watchmap).map((file) => {
52
- self.watch.add(file);
53
- });
47
+ if (ctx.watch) {
48
+ const watchmap = build.model?.sys?.model?.watch;
49
+ if (watchmap) {
50
+ Object.keys(watchmap).map((file) => {
51
+ self.watch.add(file);
52
+ });
53
+ }
54
54
  }
55
55
  return res;
56
56
  }
57
57
  });
58
58
  // The actual model.
59
59
  this.build = {
60
- src: spec.src,
61
- path: spec.path,
62
- base: spec.base,
60
+ path: mspec.path,
61
+ base: mspec.base,
63
62
  use: { config: self.config },
64
63
  res: [
65
64
  {
@@ -71,20 +70,22 @@ class Model {
71
70
  build: local_1.local_builder
72
71
  }
73
72
  ],
74
- require: spec.require,
73
+ require: mspec.require,
75
74
  log: this.log,
75
+ fs: this.fs
76
76
  };
77
77
  this.watch = new watch_1.Watch(self.build, this.log);
78
78
  }
79
+ // Run once.
79
80
  async run() {
80
81
  this.trigger_model = false;
81
- const br = await this.config.run();
82
- return br.ok ? this.watch.run('model', true) : br;
82
+ const br = await this.config.run(false);
83
+ return br.ok ? this.watch.run('model', false, '<start>') : br;
83
84
  }
85
+ // Start watching for file changes. Run once initially.
84
86
  async start() {
85
87
  this.trigger_model = false;
86
- const br = await this.config.run();
87
- // console.log('MODEL CONFIG START', br.ok)
88
+ const br = await this.config.run(true);
88
89
  return br.ok ? this.watch.start() : br;
89
90
  }
90
91
  async stop() {
@@ -92,14 +93,22 @@ class Model {
92
93
  }
93
94
  }
94
95
  exports.Model = Model;
95
- function makeConfig(spec, log, trigger_model_build) {
96
- let cbase = spec.base + '/.model-config';
96
+ function makeConfig(mspec, log, fs, trigger_model_build) {
97
+ let cbase = mspec.base + '/.model-config';
97
98
  let cpath = cbase + '/model-config.jsonic';
98
- // Build should load file
99
- let src = node_fs_1.default.readFileSync(cpath).toString();
99
+ /*
100
+ try {
101
+ src = Fs.readFileSync(cpath).toString()
102
+ }
103
+ catch (err: any) {
104
+ log.error({
105
+ fail: 'read-file', point: 'model-config', path: cpath, err
106
+ })
107
+ throw err
108
+ }
109
+ */
100
110
  let cspec = {
101
111
  name: 'config',
102
- src: src,
103
112
  path: cpath,
104
113
  base: cbase,
105
114
  res: [
@@ -111,8 +120,9 @@ function makeConfig(spec, log, trigger_model_build) {
111
120
  // Trigger main model build.
112
121
  trigger_model_build
113
122
  ],
114
- require: spec.require,
123
+ require: mspec.require,
115
124
  log,
125
+ fs,
116
126
  };
117
127
  return new config_1.Config(cspec, log);
118
128
  }
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -2,7 +2,6 @@ import Pino from 'pino';
2
2
  type Log = ReturnType<typeof Pino>;
3
3
  interface Build {
4
4
  id: string;
5
- src: string;
6
5
  base: string;
7
6
  path: string;
8
7
  root: any;
@@ -15,9 +14,9 @@ interface Build {
15
14
  use: {
16
15
  [name: string]: any;
17
16
  };
18
- err: any[];
17
+ errs: any[];
19
18
  ctx: BuildContext;
20
- run: () => Promise<BuildResult>;
19
+ run: (rspec: RunSpec) => Promise<BuildResult>;
21
20
  log: Log;
22
21
  }
23
22
  interface BuildResult {
@@ -27,7 +26,7 @@ interface BuildResult {
27
26
  build?: Build;
28
27
  builders?: BuildResult[];
29
28
  step?: string;
30
- err?: any[];
29
+ errs?: any[];
31
30
  }
32
31
  interface BuildAction {
33
32
  path: string;
@@ -35,11 +34,11 @@ interface BuildAction {
35
34
  }
36
35
  interface BuildContext {
37
36
  step: 'pre' | 'post';
37
+ watch: boolean;
38
38
  state: Record<string, any>;
39
39
  }
40
40
  type Builder = (build: Build, ctx: BuildContext) => Promise<BuildResult>;
41
41
  interface BuildSpec {
42
- src: string;
43
42
  path?: string;
44
43
  base?: string;
45
44
  res?: BuildAction[];
@@ -51,12 +50,17 @@ interface BuildSpec {
51
50
  idle?: number;
52
51
  name?: string;
53
52
  debug?: boolean | string;
53
+ fs: any;
54
54
  }
55
55
  type Run = {
56
56
  canon: string;
57
57
  path: string;
58
58
  start: number;
59
59
  end: number;
60
+ result?: BuildResult;
61
+ };
62
+ type RunSpec = {
63
+ watch: boolean;
60
64
  };
61
65
  type Canon = {
62
66
  path: string;
@@ -67,4 +71,13 @@ type ChangeItem = {
67
71
  path: string;
68
72
  when: number;
69
73
  };
70
- export type { Build, BuildResult, BuildAction, Builder, BuildContext, BuildSpec, Log, Run, Canon, ChangeItem };
74
+ interface ModelSpec {
75
+ path?: string;
76
+ base?: string;
77
+ require?: any;
78
+ log?: Log;
79
+ idle?: number;
80
+ debug?: boolean | string;
81
+ fs?: any;
82
+ }
83
+ export type { Build, BuildResult, BuildAction, Builder, BuildContext, BuildSpec, Log, Run, Canon, ChangeItem, RunSpec, ModelSpec, };
package/dist/watch.d.ts CHANGED
@@ -24,9 +24,8 @@ declare class Watch {
24
24
  drain(): Promise<void>;
25
25
  add(path: string): Promise<void>;
26
26
  update(br: BuildResult): Promise<void>;
27
- run(name: string, once?: boolean, trigger?: string): Promise<BuildResult>;
27
+ run(name: string, watch?: boolean, trigger?: string): Promise<BuildResult>;
28
28
  stop(): Promise<void>;
29
- handleErrors(br: BuildResult): void;
30
29
  descDeps(deps: Record<string, Record<string, {
31
30
  tar: string;
32
31
  }>>): string;
package/dist/watch.js CHANGED
@@ -9,8 +9,6 @@ const node_path_1 = __importDefault(require("node:path"));
9
9
  const build_1 = require("./build");
10
10
  const chokidar_1 = require("chokidar");
11
11
  const promises_1 = require("fs/promises");
12
- const print = console.log;
13
- const warn = console.warn;
14
12
  class Watch {
15
13
  constructor(wspec, log) {
16
14
  this.wspec = wspec;
@@ -28,7 +26,7 @@ class Watch {
28
26
  this.lastrun = undefined;
29
27
  this.idle = wspec.idle || 111;
30
28
  this.fsw.on('change', async (path) => {
31
- // console.log('CHANGE', Date.now() - this.startTime, path)
29
+ // console.log('CHANGE:', path)
32
30
  this.handleChange(path);
33
31
  });
34
32
  }
@@ -41,17 +39,11 @@ class Watch {
41
39
  // const start = this.startTime
42
40
  const now = Date.now();
43
41
  const idleDuration = now - this.lastChange.when;
44
- // Only trigger a build if there was a actual change
45
- const trigger = this.lastChange.when !== this.lastTrigger.when &&
46
- this.lastChange.path !== this.lastTrigger.path;
47
- // console.log('CHECK-A', {
48
- // tick: (now - start),
49
- // idleDuration,
50
- // trigger,
51
- // running: this.running,
52
- // path: this.lastChange.path
53
- // })
42
+ // Only trigger a build if there was an actual change
43
+ const trigger = this.lastChange.when !== this.lastTrigger.when; // &&
44
+ // this.lastChange.path !== this.lastTrigger.path
54
45
  if (trigger) {
46
+ // console.log('TRIGGER', this.idle < idleDuration, this.idle, idleDuration)
55
47
  // Only add to build queue if we've been idle.
56
48
  // This allows external compilation outputting multiple files to complete fully.
57
49
  // IMPORTANT: always trigger a new build if there were changes *inside* a build period
@@ -60,12 +52,14 @@ class Watch {
60
52
  this.lastTrigger.when = this.lastChange.when;
61
53
  const path = this.lastChange.path;
62
54
  const canon = this.canon(path);
63
- this.runq.push({
55
+ const entry = {
64
56
  canon,
65
57
  path,
66
58
  start: now,
67
59
  end: -1,
68
- });
60
+ };
61
+ // console.log('RUNQ ENTRY', entry)
62
+ this.runq.push(entry);
69
63
  // Defer builds to the event loop to keep idle checking separate.
70
64
  setImmediate(this.drain.bind(this));
71
65
  }
@@ -95,14 +89,11 @@ class Watch {
95
89
  let r;
96
90
  // While there are queued runs, run them sequentially
97
91
  while (r = this.runq.shift()) {
98
- // console.log('===DRAIN-RUN', this.runq.length, new Date(), r.start, r.canon)
99
- // TODO: collect results and errors!!!
100
- let br = await this.run(this.name, false, r.canon);
101
- // console.log('BR', br)
92
+ let br = await this.run(this.name, true, r.canon);
93
+ r.result = br;
102
94
  r.end = Date.now();
103
95
  this.doneq.push(r);
104
96
  this.lastrun = r;
105
- // console.log('===DRAIN-DONE', this.runq.length, new Date(), r.start, r.canon)
106
97
  }
107
98
  this.running = false;
108
99
  }
@@ -122,7 +113,6 @@ class Watch {
122
113
  };
123
114
  this.canons.push(canon);
124
115
  this.fsw.add(path);
125
- // console.log('ADD', canon)
126
116
  }
127
117
  async update(br) {
128
118
  let build = br.build;
@@ -139,74 +129,61 @@ class Watch {
139
129
  }
140
130
  });
141
131
  }
142
- async run(name, once, trigger) {
143
- // console.trace()
144
- this.lastChangeTime = Date.now();
145
- // print('\n@voxgig/model =================', this.lastChangeTime, new Date(this.lastChangeTime))
146
- // print('TRIGGER:', trigger, '\n')
147
- this.log.info({
148
- point: 'build-start', last: this.lastChangeTime, watch: name,
149
- note: 'watch:' + name + ' last:' + new Date(this.lastChangeTime).toISOString()
150
- });
151
- this.log.info({
152
- point: 'build-trigger', trigger,
153
- note: 'watch:' + name + ' trigger:' + ('' + trigger).replace(process.cwd() + '/', '')
154
- });
155
- // TODO: build spec should not have src!
156
- let src = (await (0, promises_1.readFile)(this.wspec.path)).toString();
157
- this.wspec.src = src;
158
- this.build = this.build || (0, build_1.makeBuild)(this.wspec, this.log);
159
- // TODO: better way to do this?
160
- this.build.src = src;
161
- let br = await this.build.run();
162
- // print('\nFILES:\n' + this.descDeps((br as any).build.root.deps) + '\n')
163
- const deps = this.descDeps(br.build.root.deps);
164
- this.log.debug({
165
- point: 'deps', deps,
166
- note: 'watch:' + name + ' deps:\n' + deps
167
- });
168
- if (br.ok) {
169
- const rootkeys = Object.keys(br?.build?.model).join(';');
132
+ async run(name, watch, trigger) {
133
+ try {
134
+ this.lastChangeTime = Date.now();
170
135
  this.log.info({
171
- point: 'root-keys', keys: rootkeys,
172
- note: 'watch:' + name + ' keys: ' + rootkeys
136
+ point: 'build-start', last: this.lastChangeTime, watch: name,
137
+ note: 'watch:' + name + ' last:' + new Date(this.lastChangeTime).toISOString()
173
138
  });
174
- // print('TOP:', Object.keys(br?.build?.model).join(', '), '\n')
175
- if (!once) {
176
- // There may be new files.
177
- await this.update(br);
139
+ this.log.info({
140
+ point: 'build-trigger', trigger,
141
+ note: 'watch:' + name + ' trigger:' + ('' + trigger).replace(process.cwd() + '/', '')
142
+ });
143
+ this.build = this.build || (0, build_1.makeBuild)(this.wspec, this.log);
144
+ let rspec = { watch: true === watch };
145
+ let br = await this.build.run(rspec);
146
+ const deps = this.descDeps(br.build?.root.deps);
147
+ this.log.debug({
148
+ point: 'deps', deps,
149
+ note: 'watch:' + name + ' deps:\n' + deps
150
+ });
151
+ if (br.ok) {
152
+ const rootkeys = Object.keys(br.build?.model).join(';');
153
+ this.log.info({
154
+ point: 'root-keys', keys: rootkeys,
155
+ note: 'watch:' + name + ' keys: ' + rootkeys
156
+ });
157
+ if (watch) {
158
+ // There may be new files.
159
+ await this.update(br);
160
+ }
161
+ this.log.info({
162
+ point: 'build-end', watch: name,
163
+ note: 'watch:' + name + '\n',
164
+ });
178
165
  }
166
+ else {
167
+ let errs = br.errs || [new Error('Unknown build error')];
168
+ errs.map((err) => this.log.error({
169
+ fail: 'build', point: 'run-build', build: this, err
170
+ }));
171
+ // console.log('WATCH ERRS', errs)
172
+ }
173
+ this.last = br;
174
+ return br;
179
175
  }
180
- else {
181
- warn('MODEL ERRORS: ' + br.err?.length);
182
- this.handleErrors(br);
176
+ catch (err) {
177
+ let br = {
178
+ ok: false,
179
+ errs: [err]
180
+ };
181
+ return br;
183
182
  }
184
- this.last = br;
185
- this.log.info({
186
- point: 'build-end', watch: name,
187
- note: 'watch:' + name + '\n',
188
- });
189
- return br;
190
183
  }
191
184
  async stop() {
192
185
  await this.fsw.close();
193
186
  }
194
- handleErrors(br) {
195
- if (br.err) {
196
- for (let be of br.err) {
197
- // TODO: print stack if not a model error
198
- if (be.isVal && be.msg) {
199
- warn(be.msg);
200
- }
201
- // else if (be.message) {
202
- // warn(be.message)
203
- // }
204
- else {
205
- warn(be);
206
- }
207
- }
208
- }
209
- }
210
187
  descDeps(deps) {
211
188
  if (null == deps) {
212
189
  return '';
package/dist/watch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;AAEpD,0DAA4B;AAa5B,mCAAmC;AACnC,uCAAoC;AAEpC,0CAA4C;AAG5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAA;AACzB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AAIzB,MAAM,KAAK;IAkBT,YAAY,KAAgB,EAAE,GAAQ;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,OAAO,CAAA;QACjC,IAAI,CAAC,GAAG,GAAG,IAAI,oBAAS,EAAE,CAAA;QAC1B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QACd,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;QACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA;QAClB,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;QACvC,IAAI,CAAC,WAAW,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAA;QACxC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAExB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,GAAG,CAAA;QAE7B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;YAC3C,2DAA2D;YAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC,CAAC,CAAA;IACJ,CAAC;IAGD,4BAA4B;IAC5B,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3B,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QAE5B,gEAAgE;QAChE,WAAW,CAAC,GAAG,EAAE;YACf,+BAA+B;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,MAAM,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;YAE/C,oDAAoD;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI;gBAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;YAEhD,2BAA2B;YAC3B,yBAAyB;YACzB,kBAAkB;YAClB,aAAa;YACb,2BAA2B;YAC3B,+BAA+B;YAC/B,KAAK;YAEL,IAAI,OAAO,EAAE,CAAC;gBAEZ,8CAA8C;gBAC9C,gFAAgF;gBAChF,sFAAsF;gBACtF,IAAI,IAAI,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC;oBAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;oBAC5C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;oBAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAA;oBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAE9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBACb,KAAK;wBACL,IAAI;wBACJ,KAAK,EAAE,GAAG;wBACV,GAAG,EAAE,CAAC,CAAC;qBACR,CAAC,CAAA;oBAEF,iEAAiE;oBACjE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBACrC,CAAC;YACH,CAAC;QAEH,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAC/B,CAAC;IAGD,4EAA4E;IAC5E,KAAK,CAAC,IAAY;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC,IAAI,CAAA;YACnB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,YAAY,CAAC,IAAY;QACvB,kDAAkD;QAClD,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACnC,CAAC;IAGD,KAAK,CAAC,KAAK;QACT,0FAA0F;QAC1F,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAM;QACR,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAkB,CAAA;QAEtB,qDAAqD;QACrD,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAC7B,8EAA8E;YAE9E,sCAAsC;YACtC,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;YAClD,wBAAwB;YAExB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAClB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA;YAEhB,+EAA+E;QACjF,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAGD,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,IAAI,CAAC,mBAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAC5C,CAAC;QAED,yBAAyB;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YACpD,OAAM;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAI,EAAC,IAAI,CAAC,CAAA;QACjC,MAAM,KAAK,GAAU;YACnB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;YAChC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAEvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAElB,4BAA4B;IAC9B,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,EAAe;QAC1B,IAAI,KAAK,GAAI,EAAE,CAAC,KAAe,CAAA;QAE/B,IAAI,KAAK,GACP,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAe,EAAE,MAAW,EAAE,EAAE;YACnE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YAC1D,OAAO,KAAK,CAAA;QACd,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;QAGlB,6BAA6B;QAC7B,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;YACnC,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC;gBAC5B,EAAE,KAAK,IAAI;gBACX,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EACxB,CAAC;gBACD,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACtB,CAAC;QACH,CAAC,CAAC,CAAA;IAEJ,CAAC;IAID,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,IAAc,EAAE,OAAgB;QACtD,kBAAkB;QAElB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAChC,iGAAiG;QACjG,mCAAmC;QAEnC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI;YAC5D,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE;SAC/E,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,eAAe,EAAE,OAAO;YAC/B,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,WAAW,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,CAAC;SACtF,CAAC,CAAA;QAEF,wCAAwC;QACxC,IAAI,GAAG,GAAG,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QACtD,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAA;QAEpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAE1D,+BAA+B;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAA;QAEpB,IAAI,EAAE,GAAgB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;QAE5C,0EAA0E;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAE,EAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YACb,KAAK,EAAE,MAAM,EAAE,IAAI;YACnB,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI;SAC1C,CAAC,CAAA;QAGF,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACZ,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ;gBAClC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,QAAQ;aAC7C,CAAC,CAAA;YAEF,gEAAgE;YAEhE,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,0BAA0B;gBAC1B,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;aACI,CAAC;YACJ,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACvC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,EAAE,CAAA;QAEd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI;YAC/B,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI;SAC7B,CAAC,CAAA;QAGF,OAAO,EAAE,CAAA;IACX,CAAC;IAGD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAGD,YAAY,CAAC,EAAe;QAC1B,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;YACX,KAAK,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;gBACtB,yCAAyC;gBAEzC,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAA;gBACd,CAAC;gBACD,yBAAyB;gBACzB,qBAAqB;gBACrB,IAAI;qBACC,CAAC;oBACJ,IAAI,CAAC,EAAE,CAAC,CAAA;gBACV,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAqD;QAC5D,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAO,EAAE,CAAA;QACX,CAAC;QAED,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;QACvB,IAAI,IAAI,GAAG,EAAE,CAAA;QACb,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;YAC3B,KAAK,IAAI,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBACjD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBACnC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;CACF;AAIC,sBAAK"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/model",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "main": "dist/model.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/model.d.ts",
@@ -44,16 +44,17 @@
44
44
  "LICENSE"
45
45
  ],
46
46
  "dependencies": {
47
- "aontu": "0.25.0",
47
+ "aontu": "0.25.1",
48
48
  "chokidar": "4.0.1",
49
49
  "gubu": "^8.3.0"
50
50
  },
51
51
  "peerDependencies": {
52
- "@voxgig/util": ">=0"
52
+ "@voxgig/util": ">=0",
53
+ "pino": ">=9"
53
54
  },
54
55
  "devDependencies": {
56
+ "@hapi/code": "^9.0.3",
55
57
  "@types/node": "22.9.0",
56
- "typescript": "^5.6.3",
57
- "@hapi/code": "^9.0.3"
58
+ "typescript": "^5.6.3"
58
59
  }
59
60
  }