@learncard/create-http-bridge 1.1.35 → 1.1.36
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/CHANGELOG.md +8 -0
- package/package.json +2 -2
- package/dist/index.js +0 -499
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @learncard/create-http-bridge
|
|
2
2
|
|
|
3
|
+
## 1.1.36
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`4787227`](https://github.com/learningeconomy/LearnCard/commit/4787227c2e8a2b4ffa4c8b177920f80feed8a64b)]:
|
|
8
|
+
- @learncard/types@5.2.8
|
|
9
|
+
- @learncard/core@8.5.5
|
|
10
|
+
|
|
3
11
|
## 1.1.35
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@learncard/create-http-bridge",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.36",
|
|
4
4
|
"description": "Instantly create and deploy a Learn Card Bridge HTTP API via AWS Lambda!",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": "dist/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"use-immer": "^0.7.0",
|
|
32
32
|
"zod": "^3.20.2",
|
|
33
33
|
"@learncard/core": "8.5.5",
|
|
34
|
-
"@learncard/types": "5.2.
|
|
34
|
+
"@learncard/types": "5.2.8"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/aws-lambda": "^8.10.106",
|
package/dist/index.js
DELETED
|
@@ -1,499 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var ink = require('ink');
|
|
6
|
-
var commander = require('commander');
|
|
7
|
-
var path = require('node:path');
|
|
8
|
-
var promises = require('node:fs/promises');
|
|
9
|
-
var useImmer = require('use-immer');
|
|
10
|
-
var useStdOutDimensions = require('ink-use-stdout-dimensions');
|
|
11
|
-
var Gradient = require('ink-gradient');
|
|
12
|
-
var figlet = require('figlet');
|
|
13
|
-
var produce = require('immer');
|
|
14
|
-
var TextInput = require('ink-text-input');
|
|
15
|
-
var crypto = require('crypto');
|
|
16
|
-
var simpleGit = require('simple-git');
|
|
17
|
-
var Spinner = require('ink-spinner');
|
|
18
|
-
var SyntaxHighlight = require('ink-syntax-highlight');
|
|
19
|
-
var lookpath = require('lookpath');
|
|
20
|
-
|
|
21
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
22
|
-
|
|
23
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
24
|
-
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
|
|
25
|
-
var useStdOutDimensions__default = /*#__PURE__*/_interopDefaultLegacy(useStdOutDimensions);
|
|
26
|
-
var Gradient__default = /*#__PURE__*/_interopDefaultLegacy(Gradient);
|
|
27
|
-
var figlet__default = /*#__PURE__*/_interopDefaultLegacy(figlet);
|
|
28
|
-
var produce__default = /*#__PURE__*/_interopDefaultLegacy(produce);
|
|
29
|
-
var TextInput__default = /*#__PURE__*/_interopDefaultLegacy(TextInput);
|
|
30
|
-
var crypto__default = /*#__PURE__*/_interopDefaultLegacy(crypto);
|
|
31
|
-
var simpleGit__default = /*#__PURE__*/_interopDefaultLegacy(simpleGit);
|
|
32
|
-
var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
|
|
33
|
-
var SyntaxHighlight__default = /*#__PURE__*/_interopDefaultLegacy(SyntaxHighlight);
|
|
34
|
-
|
|
35
|
-
var __defProp$3 = Object.defineProperty;
|
|
36
|
-
var __defProps$2 = Object.defineProperties;
|
|
37
|
-
var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
|
|
38
|
-
var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
|
|
39
|
-
var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
|
|
40
|
-
var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
|
|
41
|
-
var __defNormalProp$3 = (obj, key, value) => key in obj ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
42
|
-
var __spreadValues$3 = (a, b) => {
|
|
43
|
-
for (var prop in b || (b = {}))
|
|
44
|
-
if (__hasOwnProp$3.call(b, prop))
|
|
45
|
-
__defNormalProp$3(a, prop, b[prop]);
|
|
46
|
-
if (__getOwnPropSymbols$3)
|
|
47
|
-
for (var prop of __getOwnPropSymbols$3(b)) {
|
|
48
|
-
if (__propIsEnum$3.call(b, prop))
|
|
49
|
-
__defNormalProp$3(a, prop, b[prop]);
|
|
50
|
-
}
|
|
51
|
-
return a;
|
|
52
|
-
};
|
|
53
|
-
var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
|
|
54
|
-
var __objRest$2 = (source, exclude) => {
|
|
55
|
-
var target = {};
|
|
56
|
-
for (var prop in source)
|
|
57
|
-
if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
58
|
-
target[prop] = source[prop];
|
|
59
|
-
if (source != null && __getOwnPropSymbols$3)
|
|
60
|
-
for (var prop of __getOwnPropSymbols$3(source)) {
|
|
61
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop))
|
|
62
|
-
target[prop] = source[prop];
|
|
63
|
-
}
|
|
64
|
-
return target;
|
|
65
|
-
};
|
|
66
|
-
const FullScreenBox = React__default["default"].forwardRef(function FullScreenBox2(_a, ref) {
|
|
67
|
-
var _b = _a, { children } = _b, props = __objRest$2(_b, ["children"]);
|
|
68
|
-
const [width, height] = useStdOutDimensions__default["default"]();
|
|
69
|
-
return (
|
|
70
|
-
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
71
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Box, __spreadProps$2(__spreadValues$3({ width: Math.min(width, 150), height: Math.min(height - 1, 50) }, props), { ref }), children)
|
|
72
|
-
);
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
const banner = figlet__default["default"].textSync("Learn Card", "Big Money-ne");
|
|
76
|
-
const Banner = () => {
|
|
77
|
-
return /* @__PURE__ */ React__default["default"].createElement(ink.Box, { marginBottom: 4 }, /* @__PURE__ */ React__default["default"].createElement(Gradient__default["default"], { colors: ["cyan", "green"] }, /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, banner)));
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
var __defProp$2 = Object.defineProperty;
|
|
81
|
-
var __defProps$1 = Object.defineProperties;
|
|
82
|
-
var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
|
|
83
|
-
var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
|
|
84
|
-
var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
|
|
85
|
-
var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
|
|
86
|
-
var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
87
|
-
var __spreadValues$2 = (a, b) => {
|
|
88
|
-
for (var prop in b || (b = {}))
|
|
89
|
-
if (__hasOwnProp$2.call(b, prop))
|
|
90
|
-
__defNormalProp$2(a, prop, b[prop]);
|
|
91
|
-
if (__getOwnPropSymbols$2)
|
|
92
|
-
for (var prop of __getOwnPropSymbols$2(b)) {
|
|
93
|
-
if (__propIsEnum$2.call(b, prop))
|
|
94
|
-
__defNormalProp$2(a, prop, b[prop]);
|
|
95
|
-
}
|
|
96
|
-
return a;
|
|
97
|
-
};
|
|
98
|
-
var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
|
|
99
|
-
function innerImmerOuterImmer(setState, field, value) {
|
|
100
|
-
if (value === void 0) {
|
|
101
|
-
return (innerValue) => {
|
|
102
|
-
setState((oldState) => {
|
|
103
|
-
if (innerValue instanceof Function)
|
|
104
|
-
innerValue(oldState[field]);
|
|
105
|
-
else
|
|
106
|
-
oldState[field] = innerValue;
|
|
107
|
-
});
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
setState((oldState) => {
|
|
111
|
-
if (value instanceof Function)
|
|
112
|
-
value(oldState[field]);
|
|
113
|
-
else
|
|
114
|
-
oldState[field] = value;
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
const curriedInnerImmerOuterImmer = (setState) => (field, value) => innerImmerOuterImmer(setState, field, value);
|
|
118
|
-
function innerReactOuterImmer(setState, field, value) {
|
|
119
|
-
if (value === void 0) {
|
|
120
|
-
return (innerValue) => {
|
|
121
|
-
setState((oldState) => {
|
|
122
|
-
if (innerValue instanceof Function)
|
|
123
|
-
innerValue(oldState[field]);
|
|
124
|
-
else
|
|
125
|
-
oldState[field] = innerValue;
|
|
126
|
-
});
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
setState((oldState) => {
|
|
130
|
-
oldState[field] = typeof value === "function" ? value(oldState[field]) : value;
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
const curriedInnerReactOuterImmer = (setState) => (field, value) => innerReactOuterImmer(setState, field, value);
|
|
134
|
-
function innerImmerOuterReact(setState, field, value) {
|
|
135
|
-
if (value === void 0) {
|
|
136
|
-
return (innerValue) => {
|
|
137
|
-
if (innerValue instanceof Function) {
|
|
138
|
-
setState(produce__default["default"]((oldState) => innerValue(oldState[field])));
|
|
139
|
-
} else
|
|
140
|
-
setState((oldState) => __spreadProps$1(__spreadValues$2({}, oldState), { [field]: innerValue }));
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
if (value instanceof Function) {
|
|
144
|
-
setState(produce__default["default"]((oldState) => value(oldState[field])));
|
|
145
|
-
} else
|
|
146
|
-
setState((oldState) => __spreadProps$1(__spreadValues$2({}, oldState), { [field]: value }));
|
|
147
|
-
}
|
|
148
|
-
const curriedInnerImmerOuterReact = (setState) => (field, value) => innerImmerOuterReact(setState, field, value);
|
|
149
|
-
function innerReactOuterReact(setState, field, value) {
|
|
150
|
-
if (value === void 0) {
|
|
151
|
-
return (innerValue) => {
|
|
152
|
-
setState((oldState) => __spreadProps$1(__spreadValues$2({}, oldState), {
|
|
153
|
-
[field]: innerValue instanceof Function ? innerValue(oldState[field]) : innerValue
|
|
154
|
-
}));
|
|
155
|
-
};
|
|
156
|
-
}
|
|
157
|
-
setState((oldState) => __spreadProps$1(__spreadValues$2({}, oldState), {
|
|
158
|
-
[field]: value instanceof Function ? value(oldState[field]) : value
|
|
159
|
-
}));
|
|
160
|
-
}
|
|
161
|
-
const curriedInnerReactOuterReact = (setState) => (field, value) => innerReactOuterReact(setState, field, value);
|
|
162
|
-
function curriedStateSlice(setState, options) {
|
|
163
|
-
var _a, _b, _c;
|
|
164
|
-
if (((_a = options == null ? void 0 : options.outer) != null ? _a : "immer") === "immer") {
|
|
165
|
-
return ((_b = options == null ? void 0 : options.inner) != null ? _b : "immer") === "immer" ? curriedInnerImmerOuterImmer(setState) : curriedInnerReactOuterImmer(setState);
|
|
166
|
-
}
|
|
167
|
-
return ((_c = options == null ? void 0 : options.inner) != null ? _c : "immer") === "immer" ? curriedInnerImmerOuterReact(setState) : curriedInnerReactOuterReact(setState);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
var __defProp$1 = Object.defineProperty;
|
|
171
|
-
var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
|
|
172
|
-
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
|
|
173
|
-
var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
|
|
174
|
-
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
175
|
-
var __spreadValues$1 = (a, b) => {
|
|
176
|
-
for (var prop in b || (b = {}))
|
|
177
|
-
if (__hasOwnProp$1.call(b, prop))
|
|
178
|
-
__defNormalProp$1(a, prop, b[prop]);
|
|
179
|
-
if (__getOwnPropSymbols$1)
|
|
180
|
-
for (var prop of __getOwnPropSymbols$1(b)) {
|
|
181
|
-
if (__propIsEnum$1.call(b, prop))
|
|
182
|
-
__defNormalProp$1(a, prop, b[prop]);
|
|
183
|
-
}
|
|
184
|
-
return a;
|
|
185
|
-
};
|
|
186
|
-
var __objRest$1 = (source, exclude) => {
|
|
187
|
-
var target = {};
|
|
188
|
-
for (var prop in source)
|
|
189
|
-
if (__hasOwnProp$1.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
190
|
-
target[prop] = source[prop];
|
|
191
|
-
if (source != null && __getOwnPropSymbols$1)
|
|
192
|
-
for (var prop of __getOwnPropSymbols$1(source)) {
|
|
193
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum$1.call(source, prop))
|
|
194
|
-
target[prop] = source[prop];
|
|
195
|
-
}
|
|
196
|
-
return target;
|
|
197
|
-
};
|
|
198
|
-
const Input = React__default["default"].forwardRef(function Input2(_a, ref) {
|
|
199
|
-
var _b = _a, { disabled = false, autoFocus = false, focusId, prompt, value, onChange, onSubmit } = _b, props = __objRest$1(_b, ["disabled", "autoFocus", "focusId", "prompt", "value", "onChange", "onSubmit"]);
|
|
200
|
-
const { isFocused } = ink.useFocus({ autoFocus, id: focusId, isActive: !disabled });
|
|
201
|
-
return (
|
|
202
|
-
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
203
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Box, __spreadValues$1({ ref }, props), /* @__PURE__ */ React__default["default"].createElement(ink.Box, { marginRight: 1 }, /* @__PURE__ */ React__default["default"].createElement(ink.Text, { color: "blueBright" }, prompt)), /* @__PURE__ */ React__default["default"].createElement(TextInput__default["default"], { value, onChange, focus: isFocused, onSubmit }))
|
|
204
|
-
);
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
var __defProp = Object.defineProperty;
|
|
208
|
-
var __defProps = Object.defineProperties;
|
|
209
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
210
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
211
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
212
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
213
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
214
|
-
var __spreadValues = (a, b) => {
|
|
215
|
-
for (var prop in b || (b = {}))
|
|
216
|
-
if (__hasOwnProp.call(b, prop))
|
|
217
|
-
__defNormalProp(a, prop, b[prop]);
|
|
218
|
-
if (__getOwnPropSymbols)
|
|
219
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
220
|
-
if (__propIsEnum.call(b, prop))
|
|
221
|
-
__defNormalProp(a, prop, b[prop]);
|
|
222
|
-
}
|
|
223
|
-
return a;
|
|
224
|
-
};
|
|
225
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
226
|
-
var __objRest = (source, exclude) => {
|
|
227
|
-
var target = {};
|
|
228
|
-
for (var prop in source)
|
|
229
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
230
|
-
target[prop] = source[prop];
|
|
231
|
-
if (source != null && __getOwnPropSymbols)
|
|
232
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
233
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
234
|
-
target[prop] = source[prop];
|
|
235
|
-
}
|
|
236
|
-
return target;
|
|
237
|
-
};
|
|
238
|
-
const RawButton = React__default["default"].forwardRef(function RawButton2(_a, ref) {
|
|
239
|
-
var _b = _a, { children, autoFocus = false, focusId, focusedProps = {}, onClick } = _b, props = __objRest(_b, ["children", "autoFocus", "focusId", "focusedProps", "onClick"]);
|
|
240
|
-
const { focusPrevious, focusNext } = ink.useFocusManager();
|
|
241
|
-
const { isFocused } = ink.useFocus({ autoFocus, id: focusId });
|
|
242
|
-
ink.useInput((input, key) => {
|
|
243
|
-
if (isFocused) {
|
|
244
|
-
if (key.leftArrow || key.upArrow || input === "h" || input === "k")
|
|
245
|
-
focusPrevious();
|
|
246
|
-
if (key.rightArrow || key.downArrow || input === "l" || input === "j")
|
|
247
|
-
focusNext();
|
|
248
|
-
if (key.return || input === " ")
|
|
249
|
-
onClick();
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
return (
|
|
253
|
-
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
254
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Box, __spreadValues(__spreadProps(__spreadValues({}, props), { ref }), isFocused ? focusedProps : {}), children)
|
|
255
|
-
);
|
|
256
|
-
});
|
|
257
|
-
const Button = React__default["default"].forwardRef(function Button2(_c, ref) {
|
|
258
|
-
var _d = _c, { children } = _d, props = __objRest(_d, ["children"]);
|
|
259
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
260
|
-
RawButton,
|
|
261
|
-
__spreadProps(__spreadValues({
|
|
262
|
-
height: 3,
|
|
263
|
-
width: 15,
|
|
264
|
-
borderStyle: "round",
|
|
265
|
-
justifyContent: "center",
|
|
266
|
-
alignItems: "center",
|
|
267
|
-
focusedProps: {
|
|
268
|
-
borderColor: "cyan"
|
|
269
|
-
}
|
|
270
|
-
}, props), {
|
|
271
|
-
ref
|
|
272
|
-
}),
|
|
273
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Text, null, children)
|
|
274
|
-
);
|
|
275
|
-
});
|
|
276
|
-
|
|
277
|
-
const generateRandomSeed = () => crypto__default["default"].randomBytes(32).toString("hex");
|
|
278
|
-
|
|
279
|
-
const Form = ({ state, setState, onSubmit, onCancel }) => {
|
|
280
|
-
const { focus } = ink.useFocusManager();
|
|
281
|
-
const updateSlice = curriedStateSlice(setState);
|
|
282
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
283
|
-
ink.Box,
|
|
284
|
-
{
|
|
285
|
-
flexGrow: 1,
|
|
286
|
-
flexDirection: "column",
|
|
287
|
-
padding: 2,
|
|
288
|
-
borderStyle: "round",
|
|
289
|
-
borderColor: "yellow"
|
|
290
|
-
},
|
|
291
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Box, { flexGrow: 1, flexDirection: "column", alignItems: "center" }, /* @__PURE__ */ React__default["default"].createElement(ink.Box, { marginBottom: 2, padding: 1, flexDirection: "column", borderStyle: "round" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
292
|
-
Input,
|
|
293
|
-
{
|
|
294
|
-
disabled: true,
|
|
295
|
-
focusId: "name",
|
|
296
|
-
prompt: "Name:",
|
|
297
|
-
value: state.name,
|
|
298
|
-
onChange: updateSlice("name"),
|
|
299
|
-
onSubmit: () => focus("editName")
|
|
300
|
-
}
|
|
301
|
-
), /* @__PURE__ */ React__default["default"].createElement(
|
|
302
|
-
Input,
|
|
303
|
-
{
|
|
304
|
-
marginTop: 1,
|
|
305
|
-
disabled: true,
|
|
306
|
-
focusId: "seed",
|
|
307
|
-
prompt: "Seed:",
|
|
308
|
-
value: state.seed,
|
|
309
|
-
onChange: updateSlice("seed"),
|
|
310
|
-
onSubmit: () => focus("editSeed")
|
|
311
|
-
}
|
|
312
|
-
)), /* @__PURE__ */ React__default["default"].createElement(Button, { autoFocus: true, focusId: "editName", onClick: () => focus("name"), width: 25 }, "Edit Name"), /* @__PURE__ */ React__default["default"].createElement(Button, { onClick: () => updateSlice("seed", generateRandomSeed()), width: 25 }, "Generate Random Seed"), /* @__PURE__ */ React__default["default"].createElement(
|
|
313
|
-
Button,
|
|
314
|
-
{
|
|
315
|
-
focusId: "editSeed",
|
|
316
|
-
onClick: () => {
|
|
317
|
-
updateSlice("seed", "");
|
|
318
|
-
focus("seed");
|
|
319
|
-
},
|
|
320
|
-
width: 25
|
|
321
|
-
},
|
|
322
|
-
"Enter Custom Seed"
|
|
323
|
-
)),
|
|
324
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Box, { height: 5, width: "100%", padding: 2, justifyContent: "space-between" }, /* @__PURE__ */ React__default["default"].createElement(Button, { onClick: onSubmit }, "Ok"), /* @__PURE__ */ React__default["default"].createElement(Button, { onClick: onCancel }, "Cancel"))
|
|
325
|
-
);
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
const git = simpleGit__default["default"]();
|
|
329
|
-
const Cloning = ({ path, onFinished }) => {
|
|
330
|
-
const app = ink.useApp();
|
|
331
|
-
React.useEffect(() => {
|
|
332
|
-
git.clone("https://github.com/TaylorBeeston/LCHTTPTest", path, ["-q"]).then(onFinished).catch((error) => {
|
|
333
|
-
app.exit();
|
|
334
|
-
console.error(error);
|
|
335
|
-
});
|
|
336
|
-
}, []);
|
|
337
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
338
|
-
ink.Box,
|
|
339
|
-
{
|
|
340
|
-
flexGrow: 1,
|
|
341
|
-
flexDirection: "column",
|
|
342
|
-
justifyContent: "center",
|
|
343
|
-
alignItems: "center",
|
|
344
|
-
padding: 2,
|
|
345
|
-
borderStyle: "round",
|
|
346
|
-
borderColor: "yellow"
|
|
347
|
-
},
|
|
348
|
-
/* @__PURE__ */ React__default["default"].createElement(Gradient__default["default"], { name: "rainbow" }, /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, /* @__PURE__ */ React__default["default"].createElement(Spinner__default["default"], { type: "material" }))),
|
|
349
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Text, null, "Cloning into ", path, "..."),
|
|
350
|
-
/* @__PURE__ */ React__default["default"].createElement(Gradient__default["default"], { name: "rainbow" }, /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, /* @__PURE__ */ React__default["default"].createElement(Spinner__default["default"], { type: "material" })))
|
|
351
|
-
);
|
|
352
|
-
};
|
|
353
|
-
|
|
354
|
-
const Info = ({ path }) => {
|
|
355
|
-
const [pnpm, setPnpm] = React.useState(true);
|
|
356
|
-
const [aws, setAws] = React.useState(true);
|
|
357
|
-
React.useEffect(() => {
|
|
358
|
-
const checkForBinaries = async () => {
|
|
359
|
-
setPnpm(!!await lookpath.lookpath("pnpm"));
|
|
360
|
-
setAws(!!await lookpath.lookpath("aws"));
|
|
361
|
-
};
|
|
362
|
-
checkForBinaries();
|
|
363
|
-
}, []);
|
|
364
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
365
|
-
ink.Box,
|
|
366
|
-
{
|
|
367
|
-
flexGrow: 1,
|
|
368
|
-
flexDirection: "column",
|
|
369
|
-
justifyContent: "center",
|
|
370
|
-
alignItems: "center",
|
|
371
|
-
padding: 2,
|
|
372
|
-
borderStyle: "round",
|
|
373
|
-
borderColor: "yellow"
|
|
374
|
-
},
|
|
375
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Text, null, "Success!"),
|
|
376
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Text, null, "Your new Learn Card HTTP Bridge is ready to deploy!"),
|
|
377
|
-
aws ? /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, "To deploy, run the following commands:") : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, "It looks like you might not have serverless/AWS set up yet!"), /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, "Please review the instructions at https://www.serverless.com/framework/docs/tutorial if you have any issues deploying the Learn Card HTTP Bridge!"), /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, "After you're all set up, run the following commands to deploy the Learn Card HTTP Bridge!")),
|
|
378
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Box, { borderStyle: "round", flexDirection: "column" }, !pnpm && /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, /* @__PURE__ */ React__default["default"].createElement(ink.Text, { color: "green" }, "$ "), /* @__PURE__ */ React__default["default"].createElement(SyntaxHighlight__default["default"], { code: "npm i -g pnpm # must use pnpm!", language: "bash" })), /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, /* @__PURE__ */ React__default["default"].createElement(ink.Text, { color: "green" }, "$ "), /* @__PURE__ */ React__default["default"].createElement(
|
|
379
|
-
SyntaxHighlight__default["default"],
|
|
380
|
-
{
|
|
381
|
-
code: `cd ${path}/packages/learn-card-bridge-http`,
|
|
382
|
-
language: "bash"
|
|
383
|
-
}
|
|
384
|
-
)), /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, /* @__PURE__ */ React__default["default"].createElement(ink.Text, { color: "green" }, "$ "), /* @__PURE__ */ React__default["default"].createElement(SyntaxHighlight__default["default"], { code: "pnpm i", language: "bash" })), /* @__PURE__ */ React__default["default"].createElement(ink.Text, null, /* @__PURE__ */ React__default["default"].createElement(ink.Text, { color: "green" }, "$ "), /* @__PURE__ */ React__default["default"].createElement(SyntaxHighlight__default["default"], { code: "pnpm serverless-deploy", language: "bash" })))
|
|
385
|
-
);
|
|
386
|
-
};
|
|
387
|
-
|
|
388
|
-
const randomSeed = generateRandomSeed();
|
|
389
|
-
const App = ({ name = "LearnCardHTTPBridge" }) => {
|
|
390
|
-
const app = ink.useApp();
|
|
391
|
-
const [step, setStep] = React.useState("form");
|
|
392
|
-
const [state, setState] = useImmer.useImmer({
|
|
393
|
-
name,
|
|
394
|
-
seed: randomSeed
|
|
395
|
-
});
|
|
396
|
-
const postClone = async () => {
|
|
397
|
-
await promises.writeFile(
|
|
398
|
-
path__default["default"].join(process.cwd(), `${state.name}/packages/learn-card-bridge-http`, ".env"),
|
|
399
|
-
`WALLET_SEED=${state.seed}`
|
|
400
|
-
);
|
|
401
|
-
setStep("info");
|
|
402
|
-
};
|
|
403
|
-
const COMPONENTS = {
|
|
404
|
-
form: /* @__PURE__ */ React__default["default"].createElement(
|
|
405
|
-
Form,
|
|
406
|
-
{
|
|
407
|
-
state,
|
|
408
|
-
setState,
|
|
409
|
-
onSubmit: () => setStep("cloning"),
|
|
410
|
-
onCancel: () => app.exit()
|
|
411
|
-
}
|
|
412
|
-
),
|
|
413
|
-
cloning: /* @__PURE__ */ React__default["default"].createElement(Cloning, { path: state.name, onFinished: postClone }),
|
|
414
|
-
info: /* @__PURE__ */ React__default["default"].createElement(Info, { path: state.name })
|
|
415
|
-
};
|
|
416
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
417
|
-
FullScreenBox,
|
|
418
|
-
{
|
|
419
|
-
flexDirection: "column",
|
|
420
|
-
justifyContent: "center",
|
|
421
|
-
alignItems: "center",
|
|
422
|
-
borderStyle: "double",
|
|
423
|
-
borderColor: "green"
|
|
424
|
-
},
|
|
425
|
-
/* @__PURE__ */ React__default["default"].createElement(ink.Box, { flexDirection: "column", padding: 2, height: "100%" }, /* @__PURE__ */ React__default["default"].createElement(Banner, null), COMPONENTS[step])
|
|
426
|
-
);
|
|
427
|
-
};
|
|
428
|
-
|
|
429
|
-
var name = "@learncard/create-http-bridge";
|
|
430
|
-
var version = "1.1.31";
|
|
431
|
-
var description = "Instantly create and deploy a Learn Card Bridge HTTP API via AWS Lambda!";
|
|
432
|
-
var main = "dist/index.js";
|
|
433
|
-
var bin = "dist/index.js";
|
|
434
|
-
var scripts = {
|
|
435
|
-
"serverless-deploy": "shx cp ../learn-card-core/src/didkit/pkg/didkit_wasm_bg.wasm src/didkit_wasm_bg.wasm && serverless deploy",
|
|
436
|
-
start: "rollup -c && node dist/index.js",
|
|
437
|
-
build: "rollup -c"
|
|
438
|
-
};
|
|
439
|
-
var author = "Learning Economy Foundation (www.learningeconomy.io)";
|
|
440
|
-
var license = "MIT";
|
|
441
|
-
var dependencies = {
|
|
442
|
-
"@learncard/core": "workspace:*",
|
|
443
|
-
"@learncard/types": "workspace:*",
|
|
444
|
-
"@rollup/plugin-json": "^4.1.0",
|
|
445
|
-
commander: "^9.3.0",
|
|
446
|
-
cors: "^2.8.5",
|
|
447
|
-
express: "~4.16.1",
|
|
448
|
-
figlet: "^1.5.2",
|
|
449
|
-
immer: "^9.0.15",
|
|
450
|
-
ink: "^3.2.0",
|
|
451
|
-
"ink-gradient": "^2.0.0",
|
|
452
|
-
"ink-spinner": "^4.0.3",
|
|
453
|
-
"ink-syntax-highlight": "^1.0.1",
|
|
454
|
-
"ink-text-input": "^4.0.3",
|
|
455
|
-
"ink-use-stdout-dimensions": "^1.0.5",
|
|
456
|
-
inquirer: "^8.2.4",
|
|
457
|
-
lookpath: "^1.2.2",
|
|
458
|
-
react: "^18.2.0",
|
|
459
|
-
rollup: "^2.71.1",
|
|
460
|
-
"rollup-plugin-esbuild": "^4.9.1",
|
|
461
|
-
"serverless-esbuild": "^1.25.0",
|
|
462
|
-
"serverless-http": "^3.0.1",
|
|
463
|
-
"serverless-plugin-warmup": "^8.1.0",
|
|
464
|
-
"simple-git": "^3.9.0",
|
|
465
|
-
"use-immer": "^0.7.0",
|
|
466
|
-
zod: "^3.20.2"
|
|
467
|
-
};
|
|
468
|
-
var devDependencies = {
|
|
469
|
-
"@types/aws-lambda": "^8.10.106",
|
|
470
|
-
"@types/cors": "^2.8.12",
|
|
471
|
-
"@types/express": "^4.17.13",
|
|
472
|
-
"@types/figlet": "^1.5.4",
|
|
473
|
-
"@types/ink-gradient": "^2.0.1",
|
|
474
|
-
"@types/inquirer": "^8.2.1",
|
|
475
|
-
"@types/node": "^18.0.0",
|
|
476
|
-
"@types/react": "^17.0.2",
|
|
477
|
-
nodemon: "^2.0.16",
|
|
478
|
-
"serverless-plugin-typescript": "^2.1.0",
|
|
479
|
-
shx: "^0.3.4",
|
|
480
|
-
"ts-node": "^10.8.1",
|
|
481
|
-
typescript: "^4.7.4"
|
|
482
|
-
};
|
|
483
|
-
var packageJson = {
|
|
484
|
-
name: name,
|
|
485
|
-
version: version,
|
|
486
|
-
description: description,
|
|
487
|
-
main: main,
|
|
488
|
-
bin: bin,
|
|
489
|
-
scripts: scripts,
|
|
490
|
-
author: author,
|
|
491
|
-
license: license,
|
|
492
|
-
dependencies: dependencies,
|
|
493
|
-
devDependencies: devDependencies
|
|
494
|
-
};
|
|
495
|
-
|
|
496
|
-
commander.program.version(packageJson.version).argument("[name]").action(async (name) => {
|
|
497
|
-
console.clear();
|
|
498
|
-
ink.render(/* @__PURE__ */ React__default["default"].createElement(App, { name }));
|
|
499
|
-
}).parse(process.argv);
|