@voxgig/build 0.5.0 → 0.8.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/build.ts CHANGED
@@ -3,6 +3,8 @@
3
3
  import Fs from 'fs'
4
4
  import Path from 'path'
5
5
 
6
+ import { dive } from '@voxgig/model'
7
+
6
8
  const EnvLambda = {
7
9
 
8
10
  srv_yml: (model: any, spec: {
@@ -28,12 +30,14 @@ const EnvLambda = {
28
30
 
29
31
  let srvyml = `${name}:
30
32
  handler: ${handler.path.prefix}${name}${handler.path.suffix}
33
+ timeout: ${lambda.timeout}
31
34
  events:
32
35
  `
33
36
  const web = srv.api.web
34
37
 
35
38
  if (web.active) {
36
39
  let prefix = web.path.prefix
40
+ let suffix = web.path.suffix
37
41
  let area = web.path.area
38
42
  let method = web.method
39
43
  let corsflag = 'false'
@@ -53,7 +57,7 @@ const EnvLambda = {
53
57
 
54
58
 
55
59
  srvyml += ` - http:
56
- path: "${prefix}${area}${name}"
60
+ path: "${prefix}${area}${name}${suffix}"
57
61
  method: ${method}
58
62
  cors: ${corsflag}
59
63
  ${corsprops}
@@ -96,6 +100,49 @@ exports.handler = async (event, context) => {
96
100
  })
97
101
  },
98
102
 
103
+
104
+ resources_yml: (model: any, spec: {
105
+ folder: string
106
+ custom: string
107
+ }) => {
108
+ let resources_yml_path = Path.join(spec.folder, 'resources.yml')
109
+
110
+ let content = dive(model.main.ent).map(entry => {
111
+ // console.log('DYNAMO', entry)
112
+ let path = entry[0]
113
+ let ent = entry[1]
114
+
115
+ if (ent && ent.dynamo?.active) {
116
+ let name = path.join('')
117
+ let fullname = ent.dynamo.prefix +
118
+ name +
119
+ ent.dynamo.suffix
120
+
121
+ return `${name}:
122
+ Type: AWS::DynamoDB::Table
123
+ Properties:
124
+ TableName: ${fullname}
125
+ BillingMode: "PAY_PER_REQUEST"
126
+ PointInTimeRecoverySpecification:
127
+ PointInTimeRecoveryEnabled: "true"
128
+ AttributeDefinitions:
129
+ - AttributeName: "${ent.id.field}"
130
+ AttributeType: "S"
131
+ KeySchema:
132
+ - AttributeName: "${ent.id.field}"
133
+ KeyType: HASH
134
+ `
135
+ }
136
+ return ''
137
+ }).join('\n\n\n')
138
+
139
+ if (spec.custom) {
140
+ content = Fs.readFileSync(spec.custom).toString() + '\n\n\n' + content
141
+ }
142
+
143
+ Fs.writeFileSync(resources_yml_path, content)
144
+ }
145
+
99
146
  }
100
147
 
101
148
 
package/dist/build.d.ts CHANGED
@@ -5,5 +5,9 @@ declare const EnvLambda: {
5
5
  srv_handler: (model: any, spec: {
6
6
  folder: string;
7
7
  }) => void;
8
+ resources_yml: (model: any, spec: {
9
+ folder: string;
10
+ custom: string;
11
+ }) => void;
8
12
  };
9
13
  export { EnvLambda };
package/dist/build.js CHANGED
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.EnvLambda = void 0;
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const path_1 = __importDefault(require("path"));
10
+ const model_1 = require("@voxgig/model");
10
11
  const EnvLambda = {
11
12
  srv_yml: (model, spec) => {
12
13
  let srv_yml_path = path_1.default.join(spec.folder, 'srv.yml');
@@ -26,11 +27,13 @@ const EnvLambda = {
26
27
  }
27
28
  let srvyml = `${name}:
28
29
  handler: ${handler.path.prefix}${name}${handler.path.suffix}
30
+ timeout: ${lambda.timeout}
29
31
  events:
30
32
  `;
31
33
  const web = srv.api.web;
32
34
  if (web.active) {
33
35
  let prefix = web.path.prefix;
36
+ let suffix = web.path.suffix;
34
37
  let area = web.path.area;
35
38
  let method = web.method;
36
39
  let corsflag = 'false';
@@ -46,7 +49,7 @@ const EnvLambda = {
46
49
  }
47
50
  }
48
51
  srvyml += ` - http:
49
- path: "${prefix}${area}${name}"
52
+ path: "${prefix}${area}${name}${suffix}"
50
53
  method: ${method}
51
54
  cors: ${corsflag}
52
55
  ${corsprops}
@@ -80,6 +83,40 @@ exports.handler = async (event, context) => {
80
83
  }
81
84
  });
82
85
  },
86
+ resources_yml: (model, spec) => {
87
+ let resources_yml_path = path_1.default.join(spec.folder, 'resources.yml');
88
+ let content = (0, model_1.dive)(model.main.ent).map(entry => {
89
+ var _a;
90
+ // console.log('DYNAMO', entry)
91
+ let path = entry[0];
92
+ let ent = entry[1];
93
+ if (ent && ((_a = ent.dynamo) === null || _a === void 0 ? void 0 : _a.active)) {
94
+ let name = path.join('');
95
+ let fullname = ent.dynamo.prefix +
96
+ name +
97
+ ent.dynamo.suffix;
98
+ return `${name}:
99
+ Type: AWS::DynamoDB::Table
100
+ Properties:
101
+ TableName: ${fullname}
102
+ BillingMode: "PAY_PER_REQUEST"
103
+ PointInTimeRecoverySpecification:
104
+ PointInTimeRecoveryEnabled: "true"
105
+ AttributeDefinitions:
106
+ - AttributeName: "${ent.id.field}"
107
+ AttributeType: "S"
108
+ KeySchema:
109
+ - AttributeName: "${ent.id.field}"
110
+ KeyType: HASH
111
+ `;
112
+ }
113
+ return '';
114
+ }).join('\n\n\n');
115
+ if (spec.custom) {
116
+ content = fs_1.default.readFileSync(spec.custom).toString() + '\n\n\n' + content;
117
+ }
118
+ fs_1.default.writeFileSync(resources_yml_path, content);
119
+ }
83
120
  };
84
121
  exports.EnvLambda = EnvLambda;
85
122
  function empty(o) {
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../build.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@voxgig/build",
3
- "version": "0.5.0",
3
+ "version": "0.8.0",
4
4
  "main": "dist/build.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/build.d.ts",
@@ -40,14 +40,14 @@
40
40
  ],
41
41
  "dependencies": {},
42
42
  "devDependencies": {
43
- "@types/jest": "^28.1.6",
44
- "@voxgig/model": "^0.7.0",
45
- "@voxgig/system": "^0.4.1",
46
- "esbuild": "^0.15.2",
43
+ "@types/jest": "^28.1.7",
44
+ "@voxgig/model": "^0.10.0",
45
+ "@voxgig/system": "^0.4.2",
46
+ "esbuild": "^0.15.3",
47
47
  "esbuild-jest": "^0.5.0",
48
48
  "jest": "^28.1.3",
49
49
  "tinyify": "^3.1.0",
50
- "ts-jest": "^28.0.7",
50
+ "ts-jest": "^28.0.8",
51
51
  "typescript": "^4.7.4"
52
52
  }
53
53
  }