@voxgig/model 0.1.3 → 0.3.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.
@@ -1,10 +1,19 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.model_builder = void 0;
7
+ const path_1 = __importDefault(require("path"));
4
8
  const promises_1 = require("fs/promises");
5
9
  const model_builder = async (build) => {
6
10
  let json = JSON.stringify(build.root.gen(), null, 2);
7
- let file = build.opts.base + '/model.json';
11
+ let filename = path_1.default.basename(build.path);
12
+ let filenameparts = filename.match(/^(.*)\.[^.]+$/);
13
+ if (filenameparts) {
14
+ filename = filenameparts[1];
15
+ }
16
+ let file = build.opts.base + '/' + filename + '.json';
8
17
  await (0, promises_1.writeFile)(file, json);
9
18
  return { ok: true };
10
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../lib/builder/model.ts"],"names":[],"mappings":";;;AACA,0CAAuC;AAKvC,MAAM,aAAa,GAAY,KAAK,EAAE,KAAY,EAAE,EAAE;IAEpD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAEpD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAE1C,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;AACrB,CAAC,CAAA;AAGC,sCAAa"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../lib/builder/model.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AAEvB,0CAAuC;AAKvC,MAAM,aAAa,GAAY,KAAK,EAAE,KAAY,EAAE,EAAE;IAEpD,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;QACjB,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;KAC5B;IAED,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ,GAAG,OAAO,CAAA;IAErD,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAE3B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;AACrB,CAAC,CAAA;AAGC,sCAAa"}
package/dist/model.js CHANGED
@@ -70,8 +70,8 @@ exports.Model = Model;
70
70
  function makeIntern() {
71
71
  return {
72
72
  makeConfig(spec, trigger_model_build) {
73
- let cbase = spec.base + '/config';
74
- let cpath = cbase + '/config.jsonic';
73
+ let cbase = spec.base + '/.model-config';
74
+ let cpath = cbase + '/model-config.jsonic';
75
75
  // Build should load file
76
76
  let src = fs_1.default.readFileSync(cpath).toString();
77
77
  let cspec = {
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../model.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
 
2
+ import Path from 'path'
3
+
2
4
  import { writeFile } from 'fs/promises'
3
5
 
4
6
  import { Build, Builder } from '../build'
@@ -8,7 +10,13 @@ const model_builder: Builder = async (build: Build) => {
8
10
 
9
11
  let json = JSON.stringify(build.root.gen(), null, 2)
10
12
 
11
- let file = build.opts.base + '/model.json'
13
+ let filename = Path.basename(build.path)
14
+ let filenameparts = filename.match(/^(.*)\.[^.]+$/)
15
+ if (filenameparts) {
16
+ filename = filenameparts[1]
17
+ }
18
+
19
+ let file = build.opts.base + '/' + filename + '.json'
12
20
 
13
21
  await writeFile(file, json)
14
22
 
File without changes
package/model/sys.jsonic CHANGED
@@ -6,68 +6,47 @@ shape: srv: {
6
6
  }
7
7
 
8
8
 
9
+ shape: app: {
10
+ name: string
11
+ layout: string
12
+ # TODO: test
13
+ # parts: {
14
+ # &: {
15
+ # part: string
16
+ # active: boolean
17
+ # # active: *true | boolean
18
+ # }
19
+ # }
20
+ }
9
21
 
10
-
11
-
12
- # shape: app: {
13
- # name: string
14
- # layout: string
15
- # # parts: {
16
- # # &={
17
- # # part: string
18
- # # active: boolean
19
- # # # active: *true | boolean
20
- # # }
21
- # # }
22
- # }
23
-
24
- # shape: part: img: {
25
- # src: string
26
- # svg: string
27
- # }
22
+ shape: part: img: {
23
+ src: string
24
+ svg: string
25
+ }
28
26
 
29
27
 
30
- # app: web: basic: /sys/shape/app
31
-
32
- # app: web: basic: {
33
- # name: basic
34
- # layout: BasicAdmin
35
- # }
36
-
37
- # app: web: basic: parts: {
38
- # head: {
39
- # part: BasicHead
40
- # }
41
-
42
- # side: {
43
- # part: BasicSide
44
- # }
28
+ app: web: basic: .sys.shape.app
45
29
 
46
- # main: {
47
- # part: BasicMain
48
- # }
49
-
50
- # foot: {
51
- # part: BasicFoot
52
- # }
53
- # }
30
+ app: web: basic: {
31
+ name: basic
32
+ layout: BasicAdmin
33
+ }
54
34
 
55
- # #app: web: basic: parts: head: {
56
- # # part: BasicHead
57
- # # logo: /sys/shape/part/img
58
- # #}
35
+ app: web: basic: parts: {
36
+ head: {
37
+ part: BasicHead
38
+ }
59
39
 
60
- # # app: web: basic: parts: side: {
61
- # # # part: BasicSide
62
- # # # # menu: /shape/part/menu
63
- # # }
40
+ side: {
41
+ part: BasicSide
42
+ }
64
43
 
65
- # # app: web: basic: parts: main: {
66
- # # part: BasicMain
67
- # # }
44
+ main: {
45
+ part: BasicMain
46
+ }
68
47
 
69
- # # app: web: basic: parts: foot: {
70
- # # part: BasicFoot
71
- # # }
72
-
48
+ foot: {
49
+ part: BasicFoot
50
+ }
51
+ }
73
52
 
package/model.ts CHANGED
@@ -91,8 +91,8 @@ class Model {
91
91
  function makeIntern() {
92
92
  return {
93
93
  makeConfig(spec: Spec, trigger_model_build: BuildAction) {
94
- let cbase = spec.base + '/config'
95
- let cpath = cbase + '/config.jsonic'
94
+ let cbase = spec.base + '/.model-config'
95
+ let cpath = cbase + '/model-config.jsonic'
96
96
 
97
97
  // Build should load file
98
98
  let src = Fs.readFileSync(cpath).toString()
@@ -112,6 +112,7 @@ function makeIntern() {
112
112
  trigger_model_build
113
113
  ]
114
114
  }
115
+
115
116
  return new Config(cspec)
116
117
  }
117
118
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/model",
3
- "version": "0.1.3",
3
+ "version": "0.3.0",
4
4
  "main": "dist/model.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/model.d.ts",
@@ -41,12 +41,12 @@
41
41
  "LICENSE"
42
42
  ],
43
43
  "dependencies": {
44
- "aontu": "^0.1.2",
44
+ "aontu": "^0.2.0",
45
45
  "chokidar": "^3.5.3"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/jest": "^27.5.1",
49
- "esbuild": "^0.14.39",
49
+ "esbuild": "^0.14.42",
50
50
  "esbuild-jest": "^0.5.0",
51
51
  "jest": "^28.1.0",
52
52
  "ts-jest": "^28.0.3",