@learncard/create-http-bridge 1.1.34 → 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 CHANGED
@@ -1,5 +1,23 @@
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
+
11
+ ## 1.1.35
12
+
13
+ ### Patch Changes
14
+
15
+ - No change, just forcible version bump
16
+
17
+ - Updated dependencies []:
18
+ - @learncard/core@8.5.5
19
+ - @learncard/types@5.2.7
20
+
3
21
  ## 1.1.34
4
22
 
5
23
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@learncard/create-http-bridge",
3
- "version": "1.1.34",
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",
@@ -30,8 +30,8 @@
30
30
  "simple-git": "^3.9.0",
31
31
  "use-immer": "^0.7.0",
32
32
  "zod": "^3.20.2",
33
- "@learncard/core": "8.5.4",
34
- "@learncard/types": "5.2.6"
33
+ "@learncard/core": "8.5.5",
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,803 +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) {
22
- return e && typeof e === 'object' && 'default' in e ? e : { 'default': e };
23
- }
24
-
25
- var React__default = /*#__PURE__*/ _interopDefaultLegacy(React);
26
- var path__default = /*#__PURE__*/ _interopDefaultLegacy(path);
27
- var useStdOutDimensions__default = /*#__PURE__*/ _interopDefaultLegacy(useStdOutDimensions);
28
- var Gradient__default = /*#__PURE__*/ _interopDefaultLegacy(Gradient);
29
- var figlet__default = /*#__PURE__*/ _interopDefaultLegacy(figlet);
30
- var produce__default = /*#__PURE__*/ _interopDefaultLegacy(produce);
31
- var TextInput__default = /*#__PURE__*/ _interopDefaultLegacy(TextInput);
32
- var crypto__default = /*#__PURE__*/ _interopDefaultLegacy(crypto);
33
- var simpleGit__default = /*#__PURE__*/ _interopDefaultLegacy(simpleGit);
34
- var Spinner__default = /*#__PURE__*/ _interopDefaultLegacy(Spinner);
35
- var SyntaxHighlight__default = /*#__PURE__*/ _interopDefaultLegacy(SyntaxHighlight);
36
-
37
- var __defProp$3 = Object.defineProperty;
38
- var __defProps$2 = Object.defineProperties;
39
- var __getOwnPropDescs$2 = Object.getOwnPropertyDescriptors;
40
- var __getOwnPropSymbols$3 = Object.getOwnPropertySymbols;
41
- var __hasOwnProp$3 = Object.prototype.hasOwnProperty;
42
- var __propIsEnum$3 = Object.prototype.propertyIsEnumerable;
43
- var __defNormalProp$3 = (obj, key, value) =>
44
- key in obj
45
- ? __defProp$3(obj, key, { enumerable: true, configurable: true, writable: true, value })
46
- : (obj[key] = value);
47
- var __spreadValues$3 = (a, b) => {
48
- for (var prop in b || (b = {}))
49
- if (__hasOwnProp$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);
50
- if (__getOwnPropSymbols$3)
51
- for (var prop of __getOwnPropSymbols$3(b)) {
52
- if (__propIsEnum$3.call(b, prop)) __defNormalProp$3(a, prop, b[prop]);
53
- }
54
- return a;
55
- };
56
- var __spreadProps$2 = (a, b) => __defProps$2(a, __getOwnPropDescs$2(b));
57
- var __objRest$2 = (source, exclude) => {
58
- var target = {};
59
- for (var prop in source)
60
- if (__hasOwnProp$3.call(source, prop) && exclude.indexOf(prop) < 0)
61
- target[prop] = source[prop];
62
- if (source != null && __getOwnPropSymbols$3)
63
- for (var prop of __getOwnPropSymbols$3(source)) {
64
- if (exclude.indexOf(prop) < 0 && __propIsEnum$3.call(source, prop))
65
- target[prop] = source[prop];
66
- }
67
- return target;
68
- };
69
- const FullScreenBox = React__default['default'].forwardRef(function FullScreenBox2(_a, ref) {
70
- var _b = _a,
71
- { children } = _b,
72
- props = __objRest$2(_b, ['children']);
73
- const [width, height] = useStdOutDimensions__default['default']();
74
- return /* @__PURE__ */ React__default['default'].createElement(
75
- ink.Box,
76
- __spreadProps$2(
77
- __spreadValues$3(
78
- {
79
- width: Math.min(width, 150),
80
- height: Math.min(height - 1, 50),
81
- },
82
- props
83
- ),
84
- {
85
- ref,
86
- }
87
- ),
88
- children
89
- );
90
- });
91
-
92
- const banner = figlet__default['default'].textSync('Learn Card', 'Big Money-ne');
93
- const Banner = () => {
94
- return /* @__PURE__ */ React__default['default'].createElement(
95
- ink.Box,
96
- {
97
- marginBottom: 4,
98
- },
99
- /* @__PURE__ */ React__default['default'].createElement(
100
- Gradient__default['default'],
101
- {
102
- colors: ['cyan', 'green'],
103
- },
104
- /* @__PURE__ */ React__default['default'].createElement(ink.Text, null, banner)
105
- )
106
- );
107
- };
108
-
109
- var __defProp$2 = Object.defineProperty;
110
- var __defProps$1 = Object.defineProperties;
111
- var __getOwnPropDescs$1 = Object.getOwnPropertyDescriptors;
112
- var __getOwnPropSymbols$2 = Object.getOwnPropertySymbols;
113
- var __hasOwnProp$2 = Object.prototype.hasOwnProperty;
114
- var __propIsEnum$2 = Object.prototype.propertyIsEnumerable;
115
- var __defNormalProp$2 = (obj, key, value) =>
116
- key in obj
117
- ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value })
118
- : (obj[key] = value);
119
- var __spreadValues$2 = (a, b) => {
120
- for (var prop in b || (b = {}))
121
- if (__hasOwnProp$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);
122
- if (__getOwnPropSymbols$2)
123
- for (var prop of __getOwnPropSymbols$2(b)) {
124
- if (__propIsEnum$2.call(b, prop)) __defNormalProp$2(a, prop, b[prop]);
125
- }
126
- return a;
127
- };
128
- var __spreadProps$1 = (a, b) => __defProps$1(a, __getOwnPropDescs$1(b));
129
- function innerImmerOuterImmer(setState, field, value) {
130
- if (value === void 0) {
131
- return innerValue => {
132
- setState(oldState => {
133
- if (innerValue instanceof Function) innerValue(oldState[field]);
134
- else oldState[field] = innerValue;
135
- });
136
- };
137
- }
138
- setState(oldState => {
139
- if (value instanceof Function) value(oldState[field]);
140
- else oldState[field] = value;
141
- });
142
- }
143
- const curriedInnerImmerOuterImmer = setState => (field, value) =>
144
- innerImmerOuterImmer(setState, field, value);
145
- function innerReactOuterImmer(setState, field, value) {
146
- if (value === void 0) {
147
- return innerValue => {
148
- setState(oldState => {
149
- if (innerValue instanceof Function) innerValue(oldState[field]);
150
- else oldState[field] = innerValue;
151
- });
152
- };
153
- }
154
- setState(oldState => {
155
- oldState[field] = typeof value === 'function' ? value(oldState[field]) : value;
156
- });
157
- }
158
- const curriedInnerReactOuterImmer = setState => (field, value) =>
159
- innerReactOuterImmer(setState, field, value);
160
- function innerImmerOuterReact(setState, field, value) {
161
- if (value === void 0) {
162
- return innerValue => {
163
- if (innerValue instanceof Function) {
164
- setState(produce__default['default'](oldState => innerValue(oldState[field])));
165
- } else
166
- setState(oldState =>
167
- __spreadProps$1(__spreadValues$2({}, oldState), { [field]: innerValue })
168
- );
169
- };
170
- }
171
- if (value instanceof Function) {
172
- setState(produce__default['default'](oldState => value(oldState[field])));
173
- } else
174
- setState(oldState => __spreadProps$1(__spreadValues$2({}, oldState), { [field]: value }));
175
- }
176
- const curriedInnerImmerOuterReact = setState => (field, value) =>
177
- innerImmerOuterReact(setState, field, value);
178
- function innerReactOuterReact(setState, field, value) {
179
- if (value === void 0) {
180
- return innerValue => {
181
- setState(oldState =>
182
- __spreadProps$1(__spreadValues$2({}, oldState), {
183
- [field]:
184
- innerValue instanceof Function ? innerValue(oldState[field]) : innerValue,
185
- })
186
- );
187
- };
188
- }
189
- setState(oldState =>
190
- __spreadProps$1(__spreadValues$2({}, oldState), {
191
- [field]: value instanceof Function ? value(oldState[field]) : value,
192
- })
193
- );
194
- }
195
- const curriedInnerReactOuterReact = setState => (field, value) =>
196
- innerReactOuterReact(setState, field, value);
197
- function curriedStateSlice(setState, options) {
198
- var _a, _b, _c;
199
- if (((_a = options == null ? void 0 : options.outer) != null ? _a : 'immer') === 'immer') {
200
- return ((_b = options == null ? void 0 : options.inner) != null ? _b : 'immer') === 'immer'
201
- ? curriedInnerImmerOuterImmer(setState)
202
- : curriedInnerReactOuterImmer(setState);
203
- }
204
- return ((_c = options == null ? void 0 : options.inner) != null ? _c : 'immer') === 'immer'
205
- ? curriedInnerImmerOuterReact(setState)
206
- : curriedInnerReactOuterReact(setState);
207
- }
208
-
209
- var __defProp$1 = Object.defineProperty;
210
- var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
211
- var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
212
- var __propIsEnum$1 = Object.prototype.propertyIsEnumerable;
213
- var __defNormalProp$1 = (obj, key, value) =>
214
- key in obj
215
- ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value })
216
- : (obj[key] = value);
217
- var __spreadValues$1 = (a, b) => {
218
- for (var prop in b || (b = {}))
219
- if (__hasOwnProp$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);
220
- if (__getOwnPropSymbols$1)
221
- for (var prop of __getOwnPropSymbols$1(b)) {
222
- if (__propIsEnum$1.call(b, prop)) __defNormalProp$1(a, prop, b[prop]);
223
- }
224
- return a;
225
- };
226
- var __objRest$1 = (source, exclude) => {
227
- var target = {};
228
- for (var prop in source)
229
- if (__hasOwnProp$1.call(source, prop) && exclude.indexOf(prop) < 0)
230
- target[prop] = source[prop];
231
- if (source != null && __getOwnPropSymbols$1)
232
- for (var prop of __getOwnPropSymbols$1(source)) {
233
- if (exclude.indexOf(prop) < 0 && __propIsEnum$1.call(source, prop))
234
- target[prop] = source[prop];
235
- }
236
- return target;
237
- };
238
- const Input = React__default['default'].forwardRef(function Input2(_a, ref) {
239
- var _b = _a,
240
- { disabled = false, autoFocus = false, focusId, prompt, value, onChange, onSubmit } = _b,
241
- props = __objRest$1(_b, [
242
- 'disabled',
243
- 'autoFocus',
244
- 'focusId',
245
- 'prompt',
246
- 'value',
247
- 'onChange',
248
- 'onSubmit',
249
- ]);
250
- const { isFocused } = ink.useFocus({ autoFocus, id: focusId, isActive: !disabled });
251
- return /* @__PURE__ */ React__default['default'].createElement(
252
- ink.Box,
253
- __spreadValues$1(
254
- {
255
- ref,
256
- },
257
- props
258
- ),
259
- /* @__PURE__ */ React__default['default'].createElement(
260
- ink.Box,
261
- {
262
- marginRight: 1,
263
- },
264
- /* @__PURE__ */ React__default['default'].createElement(
265
- ink.Text,
266
- {
267
- color: 'blueBright',
268
- },
269
- prompt
270
- )
271
- ),
272
- /* @__PURE__ */ React__default['default'].createElement(TextInput__default['default'], {
273
- value,
274
- onChange,
275
- focus: isFocused,
276
- onSubmit,
277
- })
278
- );
279
- });
280
-
281
- var __defProp = Object.defineProperty;
282
- var __defProps = Object.defineProperties;
283
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
284
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
285
- var __hasOwnProp = Object.prototype.hasOwnProperty;
286
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
287
- var __defNormalProp = (obj, key, value) =>
288
- key in obj
289
- ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value })
290
- : (obj[key] = value);
291
- var __spreadValues = (a, b) => {
292
- for (var prop in b || (b = {}))
293
- if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
294
- if (__getOwnPropSymbols)
295
- for (var prop of __getOwnPropSymbols(b)) {
296
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
297
- }
298
- return a;
299
- };
300
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
301
- var __objRest = (source, exclude) => {
302
- var target = {};
303
- for (var prop in source)
304
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
305
- target[prop] = source[prop];
306
- if (source != null && __getOwnPropSymbols)
307
- for (var prop of __getOwnPropSymbols(source)) {
308
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
309
- target[prop] = source[prop];
310
- }
311
- return target;
312
- };
313
- const RawButton = React__default['default'].forwardRef(function RawButton2(_a, ref) {
314
- var _b = _a,
315
- { children, autoFocus = false, focusId, focusedProps = {}, onClick } = _b,
316
- props = __objRest(_b, ['children', 'autoFocus', 'focusId', 'focusedProps', 'onClick']);
317
- const { focusPrevious, focusNext } = ink.useFocusManager();
318
- const { isFocused } = ink.useFocus({ autoFocus, id: focusId });
319
- ink.useInput((input, key) => {
320
- if (isFocused) {
321
- if (key.leftArrow || key.upArrow || input === 'h' || input === 'k') focusPrevious();
322
- if (key.rightArrow || key.downArrow || input === 'l' || input === 'j') focusNext();
323
- if (key.return || input === ' ') onClick();
324
- }
325
- });
326
- return /* @__PURE__ */ React__default['default'].createElement(
327
- ink.Box,
328
- __spreadValues(
329
- __spreadProps(__spreadValues({}, props), {
330
- ref,
331
- }),
332
- isFocused ? focusedProps : {}
333
- ),
334
- children
335
- );
336
- });
337
- const Button = React__default['default'].forwardRef(function Button2(_c, ref) {
338
- var _d = _c,
339
- { children } = _d,
340
- props = __objRest(_d, ['children']);
341
- return /* @__PURE__ */ React__default['default'].createElement(
342
- RawButton,
343
- __spreadProps(
344
- __spreadValues(
345
- {
346
- height: 3,
347
- width: 15,
348
- borderStyle: 'round',
349
- justifyContent: 'center',
350
- alignItems: 'center',
351
- focusedProps: {
352
- borderColor: 'cyan',
353
- },
354
- },
355
- props
356
- ),
357
- {
358
- ref,
359
- }
360
- ),
361
- /* @__PURE__ */ React__default['default'].createElement(ink.Text, null, children)
362
- );
363
- });
364
-
365
- const generateRandomSeed = () => crypto__default['default'].randomBytes(32).toString('hex');
366
-
367
- const Form = ({ state, setState, onSubmit, onCancel }) => {
368
- const { focus } = ink.useFocusManager();
369
- const updateSlice = curriedStateSlice(setState);
370
- return /* @__PURE__ */ React__default['default'].createElement(
371
- ink.Box,
372
- {
373
- flexGrow: 1,
374
- flexDirection: 'column',
375
- padding: 2,
376
- borderStyle: 'round',
377
- borderColor: 'yellow',
378
- },
379
- /* @__PURE__ */ React__default['default'].createElement(
380
- ink.Box,
381
- {
382
- flexGrow: 1,
383
- flexDirection: 'column',
384
- alignItems: 'center',
385
- },
386
- /* @__PURE__ */ React__default['default'].createElement(
387
- ink.Box,
388
- {
389
- marginBottom: 2,
390
- padding: 1,
391
- flexDirection: 'column',
392
- borderStyle: 'round',
393
- },
394
- /* @__PURE__ */ React__default['default'].createElement(Input, {
395
- disabled: true,
396
- focusId: 'name',
397
- prompt: 'Name:',
398
- value: state.name,
399
- onChange: updateSlice('name'),
400
- onSubmit: () => focus('editName'),
401
- }),
402
- /* @__PURE__ */ React__default['default'].createElement(Input, {
403
- marginTop: 1,
404
- disabled: true,
405
- focusId: 'seed',
406
- prompt: 'Seed:',
407
- value: state.seed,
408
- onChange: updateSlice('seed'),
409
- onSubmit: () => focus('editSeed'),
410
- })
411
- ),
412
- /* @__PURE__ */ React__default['default'].createElement(
413
- Button,
414
- {
415
- autoFocus: true,
416
- focusId: 'editName',
417
- onClick: () => focus('name'),
418
- width: 25,
419
- },
420
- 'Edit Name'
421
- ),
422
- /* @__PURE__ */ React__default['default'].createElement(
423
- Button,
424
- {
425
- onClick: () => updateSlice('seed', generateRandomSeed()),
426
- width: 25,
427
- },
428
- 'Generate Random Seed'
429
- ),
430
- /* @__PURE__ */ React__default['default'].createElement(
431
- Button,
432
- {
433
- focusId: 'editSeed',
434
- onClick: () => {
435
- updateSlice('seed', '');
436
- focus('seed');
437
- },
438
- width: 25,
439
- },
440
- 'Enter Custom Seed'
441
- )
442
- ),
443
- /* @__PURE__ */ React__default['default'].createElement(
444
- ink.Box,
445
- {
446
- height: 5,
447
- width: '100%',
448
- padding: 2,
449
- justifyContent: 'space-between',
450
- },
451
- /* @__PURE__ */ React__default['default'].createElement(
452
- Button,
453
- {
454
- onClick: onSubmit,
455
- },
456
- 'Ok'
457
- ),
458
- /* @__PURE__ */ React__default['default'].createElement(
459
- Button,
460
- {
461
- onClick: onCancel,
462
- },
463
- 'Cancel'
464
- )
465
- )
466
- );
467
- };
468
-
469
- const git = simpleGit__default['default']();
470
- const Cloning = ({ path, onFinished }) => {
471
- const app = ink.useApp();
472
- React.useEffect(() => {
473
- git.clone('https://github.com/TaylorBeeston/LCHTTPTest', path, ['-q'])
474
- .then(onFinished)
475
- .catch(error => {
476
- app.exit();
477
- console.error(error);
478
- });
479
- }, []);
480
- return /* @__PURE__ */ React__default['default'].createElement(
481
- ink.Box,
482
- {
483
- flexGrow: 1,
484
- flexDirection: 'column',
485
- justifyContent: 'center',
486
- alignItems: 'center',
487
- padding: 2,
488
- borderStyle: 'round',
489
- borderColor: 'yellow',
490
- },
491
- /* @__PURE__ */ React__default['default'].createElement(
492
- Gradient__default['default'],
493
- {
494
- name: 'rainbow',
495
- },
496
- /* @__PURE__ */ React__default['default'].createElement(
497
- ink.Text,
498
- null,
499
- /* @__PURE__ */ React__default['default'].createElement(
500
- Spinner__default['default'],
501
- {
502
- type: 'material',
503
- }
504
- )
505
- )
506
- ),
507
- /* @__PURE__ */ React__default['default'].createElement(
508
- ink.Text,
509
- null,
510
- 'Cloning into ',
511
- path,
512
- '...'
513
- ),
514
- /* @__PURE__ */ React__default['default'].createElement(
515
- Gradient__default['default'],
516
- {
517
- name: 'rainbow',
518
- },
519
- /* @__PURE__ */ React__default['default'].createElement(
520
- ink.Text,
521
- null,
522
- /* @__PURE__ */ React__default['default'].createElement(
523
- Spinner__default['default'],
524
- {
525
- type: 'material',
526
- }
527
- )
528
- )
529
- )
530
- );
531
- };
532
-
533
- const Info = ({ path }) => {
534
- const [pnpm, setPnpm] = React.useState(true);
535
- const [aws, setAws] = React.useState(true);
536
- React.useEffect(() => {
537
- const checkForBinaries = async () => {
538
- setPnpm(!!(await lookpath.lookpath('pnpm')));
539
- setAws(!!(await lookpath.lookpath('aws')));
540
- };
541
- checkForBinaries();
542
- }, []);
543
- return /* @__PURE__ */ React__default['default'].createElement(
544
- ink.Box,
545
- {
546
- flexGrow: 1,
547
- flexDirection: 'column',
548
- justifyContent: 'center',
549
- alignItems: 'center',
550
- padding: 2,
551
- borderStyle: 'round',
552
- borderColor: 'yellow',
553
- },
554
- /* @__PURE__ */ React__default['default'].createElement(ink.Text, null, 'Success!'),
555
- /* @__PURE__ */ React__default['default'].createElement(
556
- ink.Text,
557
- null,
558
- 'Your new Learn Card HTTP Bridge is ready to deploy!'
559
- ),
560
- aws
561
- ? /* @__PURE__ */ React__default['default'].createElement(
562
- ink.Text,
563
- null,
564
- 'To deploy, run the following commands:'
565
- )
566
- : /* @__PURE__ */ React__default['default'].createElement(
567
- React__default['default'].Fragment,
568
- null,
569
- /* @__PURE__ */ React__default['default'].createElement(
570
- ink.Text,
571
- null,
572
- 'It looks like you might not have serverless/AWS set up yet!'
573
- ),
574
- /* @__PURE__ */ React__default['default'].createElement(
575
- ink.Text,
576
- null,
577
- 'Please review the instructions at https://www.serverless.com/framework/docs/tutorial if you have any issues deploying the Learn Card HTTP Bridge!'
578
- ),
579
- /* @__PURE__ */ React__default['default'].createElement(
580
- ink.Text,
581
- null,
582
- "After you're all set up, run the following commands to deploy the Learn Card HTTP Bridge!"
583
- )
584
- ),
585
- /* @__PURE__ */ React__default['default'].createElement(
586
- ink.Box,
587
- {
588
- borderStyle: 'round',
589
- flexDirection: 'column',
590
- },
591
- !pnpm &&
592
- /* @__PURE__ */ React__default['default'].createElement(
593
- ink.Text,
594
- null,
595
- /* @__PURE__ */ React__default['default'].createElement(
596
- ink.Text,
597
- {
598
- color: 'green',
599
- },
600
- '$ '
601
- ),
602
- /* @__PURE__ */ React__default['default'].createElement(
603
- SyntaxHighlight__default['default'],
604
- {
605
- code: 'npm i -g pnpm # must use pnpm!',
606
- language: 'bash',
607
- }
608
- )
609
- ),
610
- /* @__PURE__ */ React__default['default'].createElement(
611
- ink.Text,
612
- null,
613
- /* @__PURE__ */ React__default['default'].createElement(
614
- ink.Text,
615
- {
616
- color: 'green',
617
- },
618
- '$ '
619
- ),
620
- /* @__PURE__ */ React__default['default'].createElement(
621
- SyntaxHighlight__default['default'],
622
- {
623
- code: `cd ${path}/packages/learn-card-bridge-http`,
624
- language: 'bash',
625
- }
626
- )
627
- ),
628
- /* @__PURE__ */ React__default['default'].createElement(
629
- ink.Text,
630
- null,
631
- /* @__PURE__ */ React__default['default'].createElement(
632
- ink.Text,
633
- {
634
- color: 'green',
635
- },
636
- '$ '
637
- ),
638
- /* @__PURE__ */ React__default['default'].createElement(
639
- SyntaxHighlight__default['default'],
640
- {
641
- code: 'pnpm i',
642
- language: 'bash',
643
- }
644
- )
645
- ),
646
- /* @__PURE__ */ React__default['default'].createElement(
647
- ink.Text,
648
- null,
649
- /* @__PURE__ */ React__default['default'].createElement(
650
- ink.Text,
651
- {
652
- color: 'green',
653
- },
654
- '$ '
655
- ),
656
- /* @__PURE__ */ React__default['default'].createElement(
657
- SyntaxHighlight__default['default'],
658
- {
659
- code: 'pnpm serverless-deploy',
660
- language: 'bash',
661
- }
662
- )
663
- )
664
- )
665
- );
666
- };
667
-
668
- const randomSeed = generateRandomSeed();
669
- const App = ({ name = 'LearnCardHTTPBridge' }) => {
670
- const app = ink.useApp();
671
- const [step, setStep] = React.useState('form');
672
- const [state, setState] = useImmer.useImmer({
673
- name,
674
- seed: randomSeed,
675
- });
676
- const postClone = async () => {
677
- await promises.writeFile(
678
- path__default['default'].join(
679
- process.cwd(),
680
- `${state.name}/packages/learn-card-bridge-http`,
681
- '.env'
682
- ),
683
- `WALLET_SEED=${state.seed}`
684
- );
685
- setStep('info');
686
- };
687
- const COMPONENTS = {
688
- form: /* @__PURE__ */ React__default['default'].createElement(Form, {
689
- state,
690
- setState,
691
- onSubmit: () => setStep('cloning'),
692
- onCancel: () => app.exit(),
693
- }),
694
- cloning: /* @__PURE__ */ React__default['default'].createElement(Cloning, {
695
- path: state.name,
696
- onFinished: postClone,
697
- }),
698
- info: /* @__PURE__ */ React__default['default'].createElement(Info, {
699
- path: state.name,
700
- }),
701
- };
702
- return /* @__PURE__ */ React__default['default'].createElement(
703
- FullScreenBox,
704
- {
705
- flexDirection: 'column',
706
- justifyContent: 'center',
707
- alignItems: 'center',
708
- borderStyle: 'double',
709
- borderColor: 'green',
710
- },
711
- /* @__PURE__ */ React__default['default'].createElement(
712
- ink.Box,
713
- {
714
- flexDirection: 'column',
715
- padding: 2,
716
- height: '100%',
717
- },
718
- /* @__PURE__ */ React__default['default'].createElement(Banner, null),
719
- COMPONENTS[step]
720
- )
721
- );
722
- };
723
-
724
- var name = '@learncard/create-http-bridge';
725
- var version = '1.1.21';
726
- var description = 'Instantly create and deploy a Learn Card Bridge HTTP API via AWS Lambda!';
727
- var main = 'dist/index.js';
728
- var bin = 'dist/index.js';
729
- var scripts = {
730
- 'serverless-deploy':
731
- 'shx cp ../learn-card-core/src/didkit/pkg/didkit_wasm_bg.wasm src/didkit_wasm_bg.wasm && serverless deploy',
732
- start: 'rollup -c && node dist/index.js',
733
- build: 'rollup -c',
734
- };
735
- var author = 'Learning Economy Foundation (www.learningeconomy.io)';
736
- var license = 'MIT';
737
- var dependencies = {
738
- '@learncard/core': 'workspace:*',
739
- '@learncard/types': 'workspace:*',
740
- '@rollup/plugin-json': '^4.1.0',
741
- commander: '^9.3.0',
742
- cors: '^2.8.5',
743
- express: '~4.16.1',
744
- figlet: '^1.5.2',
745
- immer: '^9.0.15',
746
- ink: '^3.2.0',
747
- 'ink-gradient': '^2.0.0',
748
- 'ink-spinner': '^4.0.3',
749
- 'ink-syntax-highlight': '^1.0.1',
750
- 'ink-text-input': '^4.0.3',
751
- 'ink-use-stdout-dimensions': '^1.0.5',
752
- inquirer: '^8.2.4',
753
- lookpath: '^1.2.2',
754
- react: '^18.2.0',
755
- rollup: '^2.71.1',
756
- 'rollup-plugin-esbuild': '^4.9.1',
757
- 'serverless-esbuild': '^1.25.0',
758
- 'serverless-http': '^3.0.1',
759
- 'serverless-plugin-warmup': '^8.1.0',
760
- 'simple-git': '^3.9.0',
761
- 'use-immer': '^0.7.0',
762
- zod: '^3.17.3',
763
- };
764
- var devDependencies = {
765
- '@types/aws-lambda': '^8.10.106',
766
- '@types/cors': '^2.8.12',
767
- '@types/express': '^4.17.13',
768
- '@types/figlet': '^1.5.4',
769
- '@types/ink-gradient': '^2.0.1',
770
- '@types/inquirer': '^8.2.1',
771
- '@types/node': '^18.0.0',
772
- '@types/react': '^17.0.2',
773
- nodemon: '^2.0.16',
774
- 'serverless-plugin-typescript': '^2.1.0',
775
- shx: '^0.3.4',
776
- 'ts-node': '^10.8.1',
777
- typescript: '^4.7.4',
778
- };
779
- var packageJson = {
780
- name: name,
781
- version: version,
782
- description: description,
783
- main: main,
784
- bin: bin,
785
- scripts: scripts,
786
- author: author,
787
- license: license,
788
- dependencies: dependencies,
789
- devDependencies: devDependencies,
790
- };
791
-
792
- commander.program
793
- .version(packageJson.version)
794
- .argument('[name]')
795
- .action(async name => {
796
- console.clear();
797
- ink.render(
798
- /* @__PURE__ */ React__default['default'].createElement(App, {
799
- name,
800
- })
801
- );
802
- })
803
- .parse(process.argv);