Skip to content

Commit 56141a2

Browse files
author
ljacobsson
committed
fix: badly formatted event pattern in evb-diagram, replay bug, prettier code bindings
1 parent 4bb3c5e commit 56141a2

File tree

9 files changed

+201
-7035
lines changed

9 files changed

+201
-7035
lines changed

package-lock.json

Lines changed: 27 additions & 6875 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mhlabs/evb-cli",
3-
"version": "1.1.38",
3+
"version": "1.1.39",
44
"description": "A package for building EventBridge/CloudWatch Events patterns",
55
"main": "index.js",
66
"scripts": {
@@ -15,7 +15,7 @@
1515
"dependencies": {
1616
"@mhlabs/aws-sdk-sso": "^0.0.16",
1717
"aws-sdk": "^2.853.0",
18-
"axios": "^0.21.1",
18+
"axios": "^0.21.4",
1919
"cli-spinner": "^0.2.10",
2020
"commander": "^4.1.1",
2121
"date-prompt": "^1.0.0",

src/commands/code-binding/code-binding.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
const schemaBrowser = require("../shared/schema-browser");
22
const inputUtil = require("../shared/input-util");
33
const templateParser = require("../shared/template-parser");
4-
const program = require("commander");
54
const SchemasClient = require("aws-sdk/clients/schemas");
65
const schemas = new SchemasClient();
7-
const authHelper = require("../shared/auth-helper");
86
const jsf = require("json-schema-faker");
97
const jp = require("jsonpath");
108
const toJsonSchema = require("to-json-schema");
119
const fs = require("fs");
1210
const {
1311
quicktype,
1412
InputData,
15-
jsonInputForTargetLanguage,
1613
JSONSchemaInput,
1714
JSONSchemaStore,
18-
TargetLanguage,
1915
} = require("quicktype-core");
2016
const languages = require("quicktype-core/dist/language/All");
21-
17+
require("./languages/csharp");
18+
require("./languages/typescript");
19+
require("./languages/python");
20+
require("./languages/java");
21+
require("./languages/swift");
2222
async function loadFromRegistry(cmd) {
2323
const schemaLocation = await schemaBrowser.getSchemaName(schemas);
2424
const schema = await schemas

src/commands/code-binding/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ program
77
.alias("cb")
88
.option("-t, --template [template]", "Path to template file")
99
.option("-n, --type-name [typeName]", "Type name", "MyType")
10+
.option("-p, --profile [profile]", "AWS profile to use")
1011
.option(
1112
"-o, --output-file [outputFile]",
1213
"Output file name. Writes to std out if skipped"

src/commands/diagram/diagram-builder.js

Lines changed: 146 additions & 145 deletions
Large diffs are not rendered by default.

src/commands/diagram/ui/index.html

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
<script type="text/javascript">
3939
let network;
40-
let token = uuidv4();
40+
let token = uuidv4();
4141
let socket;
4242
const rule = {
4343
EventPattern: '{"source":["aws.events"]}',
@@ -71,6 +71,9 @@
7171
function draw() {
7272
// create a network
7373
var container = document.getElementById("mynetwork");
74+
edges.forEach((edge) => {
75+
edge.title = preTitle(edge.title);
76+
});
7477
var data = {
7578
nodes: nodes,
7679
edges: edges,
@@ -106,7 +109,7 @@
106109
},
107110
};
108111
network = new vis.Network(container, data, options);
109-
network.on("selectEdge", function (params) {
112+
network.on("selectEdge", function (params) {
110113
if (socket) {
111114
socket.close();
112115
}
@@ -227,6 +230,12 @@
227230
}
228231
}
229232

233+
function preTitle(text) {
234+
const container = document.createElement("pre");
235+
container.innerText = text;
236+
return container;
237+
}
238+
230239
function groupByTag(event) {
231240
const tag = event.target.value;
232241
nodes = new vis.DataSet(nodes.get({ filter: (p) => !p.tagRelation }));
@@ -282,7 +291,9 @@
282291
>:<select id="tagFilterValue"></select>
283292
<div id="mynetwork"></div>
284293
<div id="wssOutput">
285-
<div>Event feed:<br>Click on a connection to subscribe to its events</div>
294+
<div>
295+
Event feed:<br />Click on a connection to subscribe to its events
296+
</div>
286297
<pre id="feed"></pre>
287298
</div>
288299
</body>

src/commands/local/listeners/localPatternListener.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ async function initLocalPatternListener(
6363
let rules = [];
6464
for (const resourceKey of Object.keys(template.Resources)) {
6565
const resource = template.Resources[resourceKey];
66-
templateParser.handleSAMFunction(resource, rules, resourceKey, replaySettings);
66+
templateParser.handleSAMResource(resource, rules, resourceKey, replaySettings);
6767
templateParser.handleEventsRule(resource, rules, resourceKey, replaySettings);
6868
rules = rules.sort((a, b) => a.Name > b.Name);
6969
}

src/commands/local/templateParser.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
const { replay } = require("../shared/archive-util");
22

3-
function handleSAMFunction(resource, rules, resourceKey, replaySettings) {
3+
function handleSAMResource(resource, rules, resourceKey, replaySettings) {
44
if (
5-
resource.Type === "AWS::Serverless::Function" &&
5+
(resource.Type === "AWS::Serverless::Function" || resource.Type === "AWS::Serverless::StateMachine") &&
66
resource.Properties &&
77
resource.Properties.Events
88
) {
@@ -62,5 +62,5 @@ function handleEventsRule(resource, rules, resourceKey, replaySettings) {
6262

6363
module.exports = {
6464
handleEventsRule,
65-
handleSAMFunction,
65+
handleSAMResource,
6666
};

src/commands/replay-dead-letter/replay-lambda.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ async function replayLambda(cmd) {
3838
config.FunctionEventInvokeConfigs.length &&
3939
config.FunctionEventInvokeConfigs[0].DestinationConfig &&
4040
config.FunctionEventInvokeConfigs[0].DestinationConfig.OnFailure &&
41+
config.FunctionEventInvokeConfigs[0].DestinationConfig.OnFailure.Destination &&
4142
config.FunctionEventInvokeConfigs[0].DestinationConfig.OnFailure.Destination.startsWith(
4243
"arn:aws:events:"
4344
)
@@ -53,7 +54,7 @@ async function replayLambda(cmd) {
5354
let functionConfig;
5455

5556
if (destinations.length > 1) {
56-
functionConfig = inputUtil.selectFrom(
57+
functionConfig = await inputUtil.selectFrom(
5758
destinations.map((d) => {
5859
return {
5960
name: d.FunctionEventInvokeConfigs[0].FunctionArn.split(":").slice(

0 commit comments

Comments
 (0)