@voxgig/model 9.1.0 → 9.2.2
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 +25 -9
- package/dist/init.js +4 -4
- package/dist/init.js.map +1 -1
- package/dist/model.d.ts +1 -1
- package/dist/model.js +19 -8
- package/dist/model.js.map +1 -1
- package/dist/producer/local.js +3 -1
- package/dist/producer/local.js.map +1 -1
- package/dist/producer/model.js +18 -1
- package/dist/producer/model.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +16 -9
- /package/model/.model-config/{model-config.jsonic → model-config.aontu} +0 -0
- /package/model/{sys.jsonic → sys.aontu} +0 -0
package/bin/voxgig-model
CHANGED
|
@@ -7,7 +7,7 @@ const Path = require('node:path')
|
|
|
7
7
|
const Pkg = require('../package.json')
|
|
8
8
|
const { Model, initModel } = require('../dist/model.js')
|
|
9
9
|
|
|
10
|
-
const { Jsonic } = require('jsonic')
|
|
10
|
+
const { Jsonic } = require('@tabnas/jsonic')
|
|
11
11
|
const { Shape, Fault, One, Any } = require('shape')
|
|
12
12
|
|
|
13
13
|
|
|
@@ -82,7 +82,12 @@ function resolveOptions() {
|
|
|
82
82
|
short: 'b',
|
|
83
83
|
default: ''
|
|
84
84
|
},
|
|
85
|
-
|
|
85
|
+
|
|
86
|
+
// Skip the .model-config build and run the model on its own.
|
|
87
|
+
'no-config': {
|
|
88
|
+
type: 'boolean',
|
|
89
|
+
},
|
|
90
|
+
|
|
86
91
|
help: {
|
|
87
92
|
type: 'boolean',
|
|
88
93
|
short: 'h',
|
|
@@ -102,6 +107,7 @@ function resolveOptions() {
|
|
|
102
107
|
debug: args.values.debug,
|
|
103
108
|
dryrun: args.values.dryrun,
|
|
104
109
|
build: args.values.build,
|
|
110
|
+
config: !args.values['no-config'],
|
|
105
111
|
help: !!args.values.help,
|
|
106
112
|
version: !!args.values.version,
|
|
107
113
|
}
|
|
@@ -117,6 +123,7 @@ function validateOptions(rawOptions) {
|
|
|
117
123
|
debug: One(String,Boolean),
|
|
118
124
|
dryrun: false,
|
|
119
125
|
build: Any(),
|
|
126
|
+
config: Boolean,
|
|
120
127
|
help: Boolean,
|
|
121
128
|
version: Boolean,
|
|
122
129
|
})
|
|
@@ -160,7 +167,7 @@ function doInit(dir) {
|
|
|
160
167
|
const res = initModel(dir, Fs)
|
|
161
168
|
res.created.forEach(p => KONSOLE.log('created: ' + p))
|
|
162
169
|
res.skipped.forEach(p => KONSOLE.log('exists: ' + p))
|
|
163
|
-
KONSOLE.log('Next: voxgig-model ' + Path.join(dir, 'model', 'model.
|
|
170
|
+
KONSOLE.log('Next: voxgig-model ' + Path.join(dir, 'model', 'model.aontu'))
|
|
164
171
|
}
|
|
165
172
|
|
|
166
173
|
|
|
@@ -198,6 +205,7 @@ async function generate(options) {
|
|
|
198
205
|
debug: options.debug,
|
|
199
206
|
dryrun: options.dryrun,
|
|
200
207
|
buildargs: options.buildargs,
|
|
208
|
+
config: options.config,
|
|
201
209
|
|
|
202
210
|
// TODO: read more complex options from elsewhere?
|
|
203
211
|
watch: {
|
|
@@ -213,7 +221,13 @@ async function generate(options) {
|
|
|
213
221
|
model.start()
|
|
214
222
|
}
|
|
215
223
|
else {
|
|
216
|
-
await model.run()
|
|
224
|
+
const br = await model.run()
|
|
225
|
+
|
|
226
|
+
// Propagate a failed build as a non-zero exit code (the build's own
|
|
227
|
+
// errors are reported through the model logger). Mirrors the Go CLI.
|
|
228
|
+
if(br && false === br.ok) {
|
|
229
|
+
exit(1)
|
|
230
|
+
}
|
|
217
231
|
}
|
|
218
232
|
}
|
|
219
233
|
|
|
@@ -234,11 +248,13 @@ Usage:
|
|
|
234
248
|
--dryrun Perform a dry run, where no files are modified.
|
|
235
249
|
-y
|
|
236
250
|
|
|
237
|
-
--build <spec> Provide a jsonic specification for build actions.
|
|
251
|
+
--build <spec> Provide a jsonic specification for build actions.
|
|
238
252
|
-b
|
|
239
253
|
|
|
254
|
+
--no-config Skip the .model-config build and run the model on its own.
|
|
255
|
+
|
|
240
256
|
--debug Set log level (default: info): trace, error, debug, info, warn, fatal.
|
|
241
|
-
-g
|
|
257
|
+
-g
|
|
242
258
|
|
|
243
259
|
--help Print this help message.
|
|
244
260
|
-h
|
|
@@ -251,11 +267,11 @@ Examples:
|
|
|
251
267
|
|
|
252
268
|
# Scaffold a new model in ./model, then build it
|
|
253
269
|
> voxgig-model init
|
|
254
|
-
> voxgig-model model/model.
|
|
270
|
+
> voxgig-model model/model.aontu
|
|
255
271
|
|
|
256
272
|
# Basic usage
|
|
257
|
-
> voxgig-model model/model.
|
|
258
|
-
# Builds a model defined in the file model/model.
|
|
273
|
+
> voxgig-model model/model.aontu
|
|
274
|
+
# Builds a model defined in the file model/model.aontu
|
|
259
275
|
|
|
260
276
|
See also: https://voxgig.com/model
|
|
261
277
|
`
|
package/dist/init.js
CHANGED
|
@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
exports.initModel = initModel;
|
|
8
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
9
9
|
const STARTER_MODEL = `# Voxgig model. Edit this file, then build it:
|
|
10
|
-
# voxgig-model model/model.
|
|
10
|
+
# voxgig-model model/model.aontu
|
|
11
11
|
#
|
|
12
|
-
# Models are unified .
|
|
12
|
+
# Models are unified .aontu - add types, defaults, references, imports.
|
|
13
13
|
# Tutorial: https://github.com/voxgig/model/blob/main/docs/tutorial.md
|
|
14
14
|
|
|
15
15
|
name: 'my-model'
|
|
@@ -29,8 +29,8 @@ sys: model: order: action: *''
|
|
|
29
29
|
function initModel(dir, fs) {
|
|
30
30
|
const d = dir || '.';
|
|
31
31
|
const files = [
|
|
32
|
-
[node_path_1.default.join(d, 'model', 'model.
|
|
33
|
-
[node_path_1.default.join(d, 'model', '.model-config', 'model-config.
|
|
32
|
+
[node_path_1.default.join(d, 'model', 'model.aontu'), STARTER_MODEL],
|
|
33
|
+
[node_path_1.default.join(d, 'model', '.model-config', 'model-config.aontu'), STARTER_CONFIG],
|
|
34
34
|
];
|
|
35
35
|
const created = [];
|
|
36
36
|
const skipped = [];
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;AA2DlD,8BAAS;AAzDX,0DAA4B;AAG5B,MAAM,aAAa,GAAG;;;;;;;CAOrB,CAAA;AAED,MAAM,cAAc,GAAG;;;;;;;;;CAStB,CAAA;AASD,4EAA4E;AAC5E,kBAAkB;AAClB,SAAS,SAAS,CAAC,GAAW,EAAE,EAAO;IACrC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,CAAA;IACpB,MAAM,KAAK,GAAuB;QAChC,CAAC,mBAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;AA2DlD,8BAAS;AAzDX,0DAA4B;AAG5B,MAAM,aAAa,GAAG;;;;;;;CAOrB,CAAA;AAED,MAAM,cAAc,GAAG;;;;;;;;;CAStB,CAAA;AASD,4EAA4E;AAC5E,kBAAkB;AAClB,SAAS,SAAS,CAAC,GAAW,EAAE,EAAO;IACrC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,CAAA;IACpB,MAAM,KAAK,GAAuB;QAChC,CAAC,mBAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,aAAa,CAAC;QACrD,CAAC,mBAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,oBAAoB,CAAC,EAAE,cAAc,CAAC;KAC/E,CAAA;IAED,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,KAAK,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACf,SAAQ;QACV,CAAC;QACD,EAAE,CAAC,SAAS,CAAC,mBAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAClD,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC"}
|
package/dist/model.d.ts
CHANGED
package/dist/model.js
CHANGED
|
@@ -63,8 +63,11 @@ class Model {
|
|
|
63
63
|
.replaceAll(process.cwd(), '.')
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
|
-
// Config is a special Watch to handle model config.
|
|
67
|
-
|
|
66
|
+
// Config is a special Watch to handle model config. It is optional: when
|
|
67
|
+
// mspec.config is false, the .model-config/ build is skipped entirely and
|
|
68
|
+
// the model runs on its own (see run/start below).
|
|
69
|
+
const useConfig = false !== mspec.config;
|
|
70
|
+
this.config = !useConfig ? undefined : makeConfig(mspec, this.log, this.fs, {
|
|
68
71
|
path: '/',
|
|
69
72
|
build: async function trigger_model(build, ctx) {
|
|
70
73
|
let pres = {
|
|
@@ -109,7 +112,7 @@ class Model {
|
|
|
109
112
|
debug: mspec.debug,
|
|
110
113
|
dryrun: mspec.dryrun,
|
|
111
114
|
buildargs: mspec.buildargs,
|
|
112
|
-
use: { config: self.config },
|
|
115
|
+
use: self.config ? { config: self.config } : {},
|
|
113
116
|
res: [
|
|
114
117
|
{
|
|
115
118
|
path: '/',
|
|
@@ -127,16 +130,24 @@ class Model {
|
|
|
127
130
|
};
|
|
128
131
|
this.watch = new watch_1.Watch(self.build, this.log);
|
|
129
132
|
}
|
|
130
|
-
// Run once.
|
|
133
|
+
// Run once. With config enabled, the config build runs first and triggers
|
|
134
|
+
// the model build; without it, the model build runs directly.
|
|
131
135
|
async run() {
|
|
132
136
|
this.trigger_model = false;
|
|
137
|
+
if (!this.config) {
|
|
138
|
+
return this.watch.run('model', false, '<start>');
|
|
139
|
+
}
|
|
133
140
|
const br = await this.config.run(false);
|
|
134
141
|
return br.ok ? this.watch.run('model', false, '<start>') : br;
|
|
135
142
|
}
|
|
136
143
|
// Start watching for file changes. Runs an initial build, then watches
|
|
137
|
-
// both the model files and the config files for ongoing
|
|
144
|
+
// both the model files and (when enabled) the config files for ongoing
|
|
145
|
+
// changes.
|
|
138
146
|
async start() {
|
|
139
147
|
this.trigger_model = false;
|
|
148
|
+
if (!this.config) {
|
|
149
|
+
return this.watch.start();
|
|
150
|
+
}
|
|
140
151
|
const br = await this.config.run(true);
|
|
141
152
|
if (!br.ok) {
|
|
142
153
|
return br;
|
|
@@ -150,18 +161,18 @@ class Model {
|
|
|
150
161
|
async stop() {
|
|
151
162
|
// start() also spins up a config-file watcher; stop both so no
|
|
152
163
|
// chokidar handle is left open keeping the process alive.
|
|
153
|
-
await this.config
|
|
164
|
+
await this.config?.stop();
|
|
154
165
|
return this.watch.stop();
|
|
155
166
|
}
|
|
156
167
|
}
|
|
157
168
|
exports.Model = Model;
|
|
158
169
|
function makeConfig(mspec, log, fs, trigger_model_build) {
|
|
159
170
|
let cbase = mspec.base + '/.model-config';
|
|
160
|
-
let cpath = cbase + '/model-config.
|
|
171
|
+
let cpath = cbase + '/model-config.aontu';
|
|
161
172
|
if (!fs.existsSync(cpath)) {
|
|
162
173
|
fs.mkdirSync(cbase, { recursive: true });
|
|
163
174
|
fs.writeFileSync(cpath, `
|
|
164
|
-
@"@voxgig/model/model/.model-config/model-config.
|
|
175
|
+
@"@voxgig/model/model/.model-config/model-config.aontu"
|
|
165
176
|
|
|
166
177
|
sys: model: action: {}
|
|
167
178
|
`);
|
package/dist/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGpD,gDAAiC;AAEjC,iCAAsC;AAEtC,uCAAyC;AAezC,qCAAiC;AACjC,mCAA+B;AAE/B,4CAAiD;AACjD,4CAAiD;AAEjD,iCAAkC;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/producer/local.js
CHANGED
|
@@ -15,7 +15,9 @@ const local_producer = async (build, ctx) => {
|
|
|
15
15
|
// TODO: need to provide project root via build
|
|
16
16
|
let root = path_1.default.resolve(build.path, '..', '..');
|
|
17
17
|
// TODO: build should do this
|
|
18
|
-
|
|
18
|
+
// Config is optional: with no .model-config build linked in, there are no
|
|
19
|
+
// declared actions and the model runs on its own.
|
|
20
|
+
let configBuildResult = build.use.config?.watch?.last;
|
|
19
21
|
let configBuild = configBuildResult?.build();
|
|
20
22
|
let config = configBuild?.model || {};
|
|
21
23
|
let actions = config.sys?.model?.action ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/producer/local.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AAIvB,MAAM,iBAAiB,GAAG,UAAU,CAAA;AAEpC,wCAAwC;AACxC,MAAM,cAAc,GAAa,KAAK,EAAE,KAAY,EAAE,GAAiB,EAAE,EAAE;IAEzE,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;QAE/C,6BAA6B;QAC7B,IAAI,iBAAiB,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/producer/local.ts"],"names":[],"mappings":"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"}
|
package/dist/producer/model.js
CHANGED
|
@@ -5,6 +5,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.model_producer = void 0;
|
|
7
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
+
// Recursively sort object keys alphabetically so the serialized model output
|
|
9
|
+
// is byte-for-byte identical to the Go implementation, whose encoding/json
|
|
10
|
+
// emits object keys in sorted order. Arrays keep their order; only object keys
|
|
11
|
+
// are reordered. Returns a new value and does not mutate the input model.
|
|
12
|
+
function sortKeys(value) {
|
|
13
|
+
if (Array.isArray(value)) {
|
|
14
|
+
return value.map(sortKeys);
|
|
15
|
+
}
|
|
16
|
+
if (null != value && 'object' === typeof value) {
|
|
17
|
+
const out = {};
|
|
18
|
+
for (const key of Object.keys(value).sort()) {
|
|
19
|
+
out[key] = sortKeys(value[key]);
|
|
20
|
+
}
|
|
21
|
+
return out;
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
8
25
|
// Builds the main model file, after unification.
|
|
9
26
|
const model_producer = async (build, ctx) => {
|
|
10
27
|
let pr = {
|
|
@@ -19,7 +36,7 @@ const model_producer = async (build, ctx) => {
|
|
|
19
36
|
if ('post' !== ctx.step) {
|
|
20
37
|
return pr;
|
|
21
38
|
}
|
|
22
|
-
let json = JSON.stringify(build.model, null, 2);
|
|
39
|
+
let json = JSON.stringify(sortKeys(build.model), null, 2);
|
|
23
40
|
let filename = path_1.default.basename(build.path);
|
|
24
41
|
let filenameparts = filename.match(/^(.*)\.[^.]+$/);
|
|
25
42
|
if (filenameparts) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/producer/model.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AAKvB,iDAAiD;AACjD,MAAM,cAAc,GAAa,KAAK,EAAE,KAAY,EAAE,GAAiB,EAAE,EAAE;IACzE,IAAI,EAAE,GAAmB;QACvB,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,EAAE;KACX,CAAA;IAED,IAAI,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/producer/model.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voxgig/model",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.2.2",
|
|
4
4
|
"main": "dist/model.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"types": "dist/model.d.ts",
|
|
@@ -24,14 +24,20 @@
|
|
|
24
24
|
"test-cov": "rm -rf ./coverage && mkdir -p ./coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --enable-source-maps --test \"dist-test/*.test.js\"",
|
|
25
25
|
"watch": "tsc --build src test -w",
|
|
26
26
|
"build": "tsc --build src test",
|
|
27
|
-
"test-model": "voxgig-model test/sys01/model/model.
|
|
28
|
-
"model": "voxgig-model -w model/sys.
|
|
29
|
-
"model-build": "voxgig-model -g debug model/sys.
|
|
27
|
+
"test-model": "voxgig-model test/sys01/model/model.aontu",
|
|
28
|
+
"model": "voxgig-model -w model/sys.aontu",
|
|
29
|
+
"model-build": "voxgig-model -g debug model/sys.aontu",
|
|
30
30
|
"clean": "rm -rf node_modules dist dist-test yarn.lock package-lock.json",
|
|
31
31
|
"reset": "npm run clean && npm i && npm run build && npm test",
|
|
32
|
+
"repo-bump": "npm version patch --no-git-tag-version && node -e \"console.log('bumped to v' + require('./package.json').version + ' (package.json only - commit via repo-tag / repo-release)')\"",
|
|
32
33
|
"repo-tag": "REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo TAG: v$REPO_VERSION && git commit -a -m v$REPO_VERSION && git push && git tag v$REPO_VERSION && git push --tags;",
|
|
34
|
+
"repo-tag-dry": "REPO_VERSION=`node -e \"console.log(require('./package').version)\"` && echo \"[dry-run] TAG: v$REPO_VERSION\" && if git rev-parse -q --verify refs/tags/v$REPO_VERSION >/dev/null; then echo \"[dry-run] WARNING: tag v$REPO_VERSION already exists - bump the version first\"; else echo \"[dry-run] would commit -a, push, tag v$REPO_VERSION and push --tags; nothing done\"; fi && git status --short",
|
|
33
35
|
"repo-publish": "npm run clean && npm i && npm run repo-publish-quick",
|
|
34
|
-
"repo-publish-
|
|
36
|
+
"repo-publish-dry": "npm run clean && npm i && npm run repo-publish-quick-dry",
|
|
37
|
+
"repo-publish-quick": "npm run build && npm run test && npm run repo-tag && npm publish --registry https://registry.npmjs.org --access=public",
|
|
38
|
+
"repo-publish-quick-dry": "npm run build && npm run test && ( npm publish --dry-run --registry https://registry.npmjs.org --access=public || echo \"[dry-run] npm publish refused (see npm error above) - usually the version is already published; bump package.json before a real release\" )",
|
|
39
|
+
"repo-release": "npm run repo-publish && npm run repo-tag",
|
|
40
|
+
"repo-release-dry": "npm run repo-publish-quick-dry && npm run repo-tag-dry"
|
|
35
41
|
},
|
|
36
42
|
"license": "MIT",
|
|
37
43
|
"files": [
|
|
@@ -43,10 +49,11 @@
|
|
|
43
49
|
"LICENSE"
|
|
44
50
|
],
|
|
45
51
|
"dependencies": {
|
|
46
|
-
"
|
|
52
|
+
"@tabnas/jsonic": "0.2.0",
|
|
53
|
+
"aontu": "0.48.1",
|
|
47
54
|
"chokidar": "5.0.0",
|
|
48
|
-
"
|
|
49
|
-
"
|
|
55
|
+
"memfs": "4.60.0",
|
|
56
|
+
"shape": "10.1.0"
|
|
50
57
|
},
|
|
51
58
|
"peerDependencies": {
|
|
52
59
|
"@voxgig/util": ">=0",
|
|
@@ -58,7 +65,7 @@
|
|
|
58
65
|
}
|
|
59
66
|
},
|
|
60
67
|
"devDependencies": {
|
|
61
|
-
"@types/node": "
|
|
68
|
+
"@types/node": "26.1.0",
|
|
62
69
|
"typescript": "6.0.3"
|
|
63
70
|
}
|
|
64
71
|
}
|
|
File without changes
|
|
File without changes
|