@tremho/mist-lift 1.0.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.
Files changed (121) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -0
  3. package/build/commands/actions/initQuestions.js +136 -0
  4. package/build/commands/actions/initQuestions.js.map +1 -0
  5. package/build/commands/actions/makePackageJson.js +2 -0
  6. package/build/commands/actions/makePackageJson.js.map +1 -0
  7. package/build/commands/actions/setupPackageJson.js +68 -0
  8. package/build/commands/actions/setupPackageJson.js.map +1 -0
  9. package/build/commands/build.js +191 -0
  10. package/build/commands/build.js.map +1 -0
  11. package/build/commands/builtin/ApiDocMaker.js +72 -0
  12. package/build/commands/builtin/ApiDocMaker.js.map +1 -0
  13. package/build/commands/builtin/BuiltInHandler.js +62 -0
  14. package/build/commands/builtin/BuiltInHandler.js.map +1 -0
  15. package/build/commands/builtin/DeployBuiltInZip.js +57 -0
  16. package/build/commands/builtin/DeployBuiltInZip.js.map +1 -0
  17. package/build/commands/builtin/StageWebrootZip.js +70 -0
  18. package/build/commands/builtin/StageWebrootZip.js.map +1 -0
  19. package/build/commands/builtin/prebuilt-zips/API.zip +0 -0
  20. package/build/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  21. package/build/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  22. package/build/commands/create.js +75 -0
  23. package/build/commands/create.js.map +1 -0
  24. package/build/commands/deploy.js +187 -0
  25. package/build/commands/deploy.js.map +1 -0
  26. package/build/commands/doctor.js +137 -0
  27. package/build/commands/doctor.js.map +1 -0
  28. package/build/commands/help.js +205 -0
  29. package/build/commands/help.js.map +1 -0
  30. package/build/commands/init.js +92 -0
  31. package/build/commands/init.js.map +1 -0
  32. package/build/commands/package.js +249 -0
  33. package/build/commands/package.js.map +1 -0
  34. package/build/commands/publish.js +344 -0
  35. package/build/commands/publish.js.map +1 -0
  36. package/build/commands/settings.js +95 -0
  37. package/build/commands/settings.js.map +1 -0
  38. package/build/commands/start.js +66 -0
  39. package/build/commands/start.js.map +1 -0
  40. package/build/commands/test.js +52 -0
  41. package/build/commands/test.js.map +1 -0
  42. package/build/commands/user.js +20 -0
  43. package/build/commands/user.js.map +1 -0
  44. package/build/expressRoutes/all.js +129 -0
  45. package/build/expressRoutes/all.js.map +1 -0
  46. package/build/expressRoutes/api.js +22 -0
  47. package/build/expressRoutes/api.js.map +1 -0
  48. package/build/expressRoutes/functionBinder.js +191 -0
  49. package/build/expressRoutes/functionBinder.js.map +1 -0
  50. package/build/lib/CaseUtils.js +57 -0
  51. package/build/lib/CaseUtils.js.map +1 -0
  52. package/build/lib/DirectoryUtils.js +37 -0
  53. package/build/lib/DirectoryUtils.js.map +1 -0
  54. package/build/lib/LiftConfig.js +83 -0
  55. package/build/lib/LiftConfig.js.map +1 -0
  56. package/build/lib/LiftVersion.js +117 -0
  57. package/build/lib/LiftVersion.js.map +1 -0
  58. package/build/lib/Tests/fileCompare.test.js +55 -0
  59. package/build/lib/Tests/fileCompare.test.js.map +1 -0
  60. package/build/lib/askQuestion.js +41 -0
  61. package/build/lib/askQuestion.js.map +1 -0
  62. package/build/lib/executeCommand.js +45 -0
  63. package/build/lib/executeCommand.js.map +1 -0
  64. package/build/lib/fileCompare.js +48 -0
  65. package/build/lib/fileCompare.js.map +1 -0
  66. package/build/lib/openAPI/ApiBuildCollector.js +58 -0
  67. package/build/lib/openAPI/ApiBuildCollector.js.map +1 -0
  68. package/build/lib/openAPI/WebrootFileSupport.js +44 -0
  69. package/build/lib/openAPI/WebrootFileSupport.js.map +1 -0
  70. package/build/lib/openAPI/openApiConstruction.js +203 -0
  71. package/build/lib/openAPI/openApiConstruction.js.map +1 -0
  72. package/build/lib/pathResolve.js +27 -0
  73. package/build/lib/pathResolve.js.map +1 -0
  74. package/build/lib/utils.js +76 -0
  75. package/build/lib/utils.js.map +1 -0
  76. package/build/lift.js +124 -0
  77. package/build/lift.js.map +1 -0
  78. package/package.json +69 -0
  79. package/src/commands/actions/initQuestions.ts +131 -0
  80. package/src/commands/actions/makePackageJson.ts +0 -0
  81. package/src/commands/actions/setupPackageJson.ts +36 -0
  82. package/src/commands/build.ts +165 -0
  83. package/src/commands/builtin/ApiDocMaker.ts +70 -0
  84. package/src/commands/builtin/BuiltInHandler.ts +51 -0
  85. package/src/commands/builtin/DeployBuiltInZip.ts +27 -0
  86. package/src/commands/builtin/StageWebrootZip.ts +39 -0
  87. package/src/commands/builtin/prebuilt-zips/API.zip +0 -0
  88. package/src/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  89. package/src/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  90. package/src/commands/create.ts +55 -0
  91. package/src/commands/deploy.ts +171 -0
  92. package/src/commands/doctor.ts +102 -0
  93. package/src/commands/help.ts +171 -0
  94. package/src/commands/init.ts +62 -0
  95. package/src/commands/package.ts +228 -0
  96. package/src/commands/publish.ts +350 -0
  97. package/src/commands/settings.ts +76 -0
  98. package/src/commands/start.ts +46 -0
  99. package/src/commands/test.ts +38 -0
  100. package/src/commands/user.ts +20 -0
  101. package/src/expressRoutes/all.ts +104 -0
  102. package/src/expressRoutes/api.ts +24 -0
  103. package/src/expressRoutes/functionBinder.ts +169 -0
  104. package/src/lib/CaseUtils.ts +68 -0
  105. package/src/lib/DirectoryUtils.ts +36 -0
  106. package/src/lib/LiftConfig.ts +83 -0
  107. package/src/lib/LiftVersion.ts +95 -0
  108. package/src/lib/Tests/dir1/file.1 +0 -0
  109. package/src/lib/Tests/dir1/file.2 +0 -0
  110. package/src/lib/Tests/dir2/file.1 +0 -0
  111. package/src/lib/Tests/fileCompare.test.ts +34 -0
  112. package/src/lib/askQuestion.ts +18 -0
  113. package/src/lib/executeCommand.ts +38 -0
  114. package/src/lib/fileCompare.ts +46 -0
  115. package/src/lib/openAPI/ApiBuildCollector.ts +47 -0
  116. package/src/lib/openAPI/WebrootFileSupport.ts +21 -0
  117. package/src/lib/openAPI/openApiConstruction.ts +202 -0
  118. package/src/lib/pathResolve.ts +32 -0
  119. package/src/lib/utils.ts +45 -0
  120. package/src/lift.ts +82 -0
  121. package/tsconfig.json +28 -0
@@ -0,0 +1,344 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.doPublishAsync = void 0;
39
+ const client_lambda_1 = require("@aws-sdk/client-lambda");
40
+ const client_api_gateway_1 = require("@aws-sdk/client-api-gateway");
41
+ const LiftConfig_1 = require("../lib/LiftConfig");
42
+ const ac = __importStar(require("ansi-colors"));
43
+ const path_1 = __importDefault(require("path"));
44
+ const fs_1 = __importStar(require("fs"));
45
+ const pathResolve_1 = require("../lib/pathResolve");
46
+ const ApiBuildCollector_1 = require("../lib/openAPI/ApiBuildCollector");
47
+ const utils_1 = require("../lib/utils");
48
+ const ApiDocMaker_1 = require("./builtin/ApiDocMaker");
49
+ const BuiltInHandler_1 = require("./builtin/BuiltInHandler");
50
+ const LiftVersion_1 = require("../lib/LiftVersion");
51
+ const md5_1 = __importDefault(require("md5"));
52
+ let projectPaths;
53
+ function doPublishAsync(stageName) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ // let retCode = await doDeployAsync([])
56
+ // if(retCode) return retCode
57
+ let retCode = 0;
58
+ projectPaths = (0, pathResolve_1.resolvePaths)();
59
+ yield publishApi(stageName !== null && stageName !== void 0 ? stageName : "Dev");
60
+ return retCode;
61
+ });
62
+ }
63
+ exports.doPublishAsync = doPublishAsync;
64
+ function publishApi(stageName) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ if (!stageName)
67
+ stageName = "Dev";
68
+ console.log(ac.green.bold(`Publishing Api to ${stageName}`));
69
+ // do the built-in deploys
70
+ yield (0, BuiltInHandler_1.DeployWebrootBuiltIn)();
71
+ yield (0, BuiltInHandler_1.DeployRootFileserves)();
72
+ yield (0, BuiltInHandler_1.DeployApiBuiltin)();
73
+ const projectPaths = (0, pathResolve_1.resolvePaths)();
74
+ // make a private api
75
+ const fs = require('fs');
76
+ const os = require('os');
77
+ const path = require('path');
78
+ let tmpDir;
79
+ let apiBytes;
80
+ const appPrefix = 'MistLift';
81
+ try {
82
+ tmpDir = path.join(os.tmpdir(), appPrefix);
83
+ // console.log("making "+tmpDir)
84
+ (0, fs_1.mkdirSync)(tmpDir, { recursive: true });
85
+ const yamlFile = path.join(tmpDir, 'papi.yaml');
86
+ yield (0, ApiDocMaker_1.MakeBuiltinApiDoc)(yamlFile);
87
+ // console.log("reading "+yamlFile)
88
+ apiBytes = fs.readFileSync(yamlFile);
89
+ }
90
+ catch (e) {
91
+ console.error(ac.red.bold("Error creating temp staging folder ") + e.message);
92
+ throw Error();
93
+ }
94
+ finally {
95
+ try {
96
+ if (tmpDir) {
97
+ // console.log("Removing "+tmpDir)
98
+ fs.rmSync(tmpDir, { recursive: true });
99
+ }
100
+ }
101
+ catch (e) {
102
+ console.error(`An error has occurred while removing the temp folder at ${tmpDir}. Please remove it manually. Error: ${e}`);
103
+ }
104
+ }
105
+ const client = new client_api_gateway_1.APIGatewayClient((0, LiftConfig_1.getAWSCredentials)());
106
+ yield RemoveExistingVersions(client);
107
+ const command = new client_api_gateway_1.ImportRestApiCommand({
108
+ failOnWarnings: false,
109
+ body: apiBytes
110
+ });
111
+ let apiId;
112
+ try {
113
+ const response = yield client.send(command);
114
+ const { name, id, rootResourceId, version, warnings } = response;
115
+ console.log(ac.grey(`\n\nAPI ${name} version ${version} [${id}] schema created`));
116
+ apiId = id;
117
+ if (warnings === null || warnings === void 0 ? void 0 : warnings.length) {
118
+ console.log(ac.magenta(` with ${warnings.length} warnings`));
119
+ for (let warning of warnings) {
120
+ console.log(ac.grey.italic(` ${warning}`));
121
+ }
122
+ }
123
+ }
124
+ catch (e) {
125
+ console.error(ac.bold.red(e.message));
126
+ }
127
+ var apidoc = new TextDecoder().decode(apiBytes);
128
+ // console.log(apidoc)
129
+ if (!apiId)
130
+ return;
131
+ console.log(ac.grey("Continuing with binding..."));
132
+ const prereq = yield PrequisiteValues(apiId);
133
+ const intRequests = prereq.MakeRequests();
134
+ yield PutIntegrations(intRequests);
135
+ yield DeployApi(apiId, stageName);
136
+ const region = (0, LiftConfig_1.getSettings)().awsPreferredRegion;
137
+ console.log(ac.green.bold(`\n Successfully deployed to https://${apiId}.execute-api.${region}.amazonaws.com/${stageName}`));
138
+ });
139
+ }
140
+ function findApiName() {
141
+ var _a, _b;
142
+ const infoFile = path_1.default.join(projectPaths.functionPath, "apiService.info.json");
143
+ const pkgFile = projectPaths.packagePath;
144
+ let pkg = {};
145
+ if (fs_1.default.existsSync(pkgFile)) {
146
+ pkg = JSON.parse(fs_1.default.readFileSync(pkgFile).toString());
147
+ }
148
+ let info = {};
149
+ if (fs_1.default.existsSync(infoFile)) {
150
+ info = JSON.parse(fs_1.default.readFileSync(infoFile).toString());
151
+ }
152
+ return (_b = (_a = info.title) !== null && _a !== void 0 ? _a : pkg.name) !== null && _b !== void 0 ? _b : "API";
153
+ }
154
+ function RemoveExistingVersions(client) {
155
+ return new Promise(resolve => {
156
+ const ourName = findApiName();
157
+ // ClogDebug("looking for name "+ ourName)
158
+ const listCommand = new client_api_gateway_1.GetRestApisCommand({});
159
+ const all = [];
160
+ client.send(listCommand).then((response) => {
161
+ // ClogInfo(`There are ${response.items.length} other APIs`)
162
+ const DeleteMatchingApis = (i = 0) => {
163
+ if (i >= response.items.length) {
164
+ resolve(undefined);
165
+ return Promise.resolve(undefined);
166
+ }
167
+ const item = response.items[i];
168
+ if (item.name === ourName) {
169
+ // ClogInfo(`Found previous ${ourName}, [${item.id}] -- deleting...`)
170
+ const deleteCommand = new client_api_gateway_1.DeleteRestApiCommand({
171
+ restApiId: item.id
172
+ });
173
+ return client.send(deleteCommand).then(() => {
174
+ (0, utils_1.delay)(5000).then(() => {
175
+ console.log(ac.magenta.bold(`Removed previous id ${item.id}`));
176
+ return DeleteMatchingApis(++i);
177
+ });
178
+ });
179
+ }
180
+ else {
181
+ return DeleteMatchingApis(++i);
182
+ }
183
+ };
184
+ DeleteMatchingApis();
185
+ });
186
+ });
187
+ }
188
+ class FunctionInfo {
189
+ constructor() {
190
+ this.name = "";
191
+ this.arn = "";
192
+ }
193
+ }
194
+ class APIInfo {
195
+ constructor() {
196
+ this.id = "";
197
+ this.parentId = "";
198
+ this.path = "";
199
+ this.pathPart = "";
200
+ this.resourceMethods = {};
201
+ }
202
+ }
203
+ class PrereqInfo {
204
+ constructor() {
205
+ this.requestApiId = "";
206
+ this.functions = [];
207
+ this.apis = []; // Resource + method
208
+ this.defs = [];
209
+ this.functions = [];
210
+ this.apis = [];
211
+ this.defs = [];
212
+ }
213
+ findApi(pathMap, allowedMethods) {
214
+ // find the pathmap in the apis list
215
+ // console.log("findApi "+pathMap, allowedMethods)
216
+ // see that this method exists in method map
217
+ for (let api of this.apis) {
218
+ if ((api === null || api === void 0 ? void 0 : api.path) === pathMap) {
219
+ // console.log("resourceMethods", api.resourceMethods)
220
+ const methodList = Object.getOwnPropertyNames(api.resourceMethods);
221
+ // ClogTrace("methodList", methodList)
222
+ for (let meth of allowedMethods.toUpperCase().split(',')) {
223
+ // console.log("meth", meth)
224
+ if (methodList.indexOf(meth) !== -1) {
225
+ api.method = meth;
226
+ return api;
227
+ }
228
+ }
229
+ }
230
+ }
231
+ return null;
232
+ }
233
+ findARN(name) {
234
+ var _a;
235
+ for (let f of (_a = this.functions) !== null && _a !== void 0 ? _a : []) {
236
+ let lastus = f.name.lastIndexOf('_');
237
+ const fname = f.name.substring(0, lastus);
238
+ if (fname.toLowerCase() === name.toLowerCase())
239
+ return f.arn;
240
+ }
241
+ console.log("$$$ Couldn't find " + name + " in ", this.functions);
242
+ return "";
243
+ }
244
+ MakeRequests() {
245
+ const region = (0, LiftConfig_1.getSettings)().awsPreferredRegion;
246
+ const out = [];
247
+ for (let d of this.defs) {
248
+ const def = d;
249
+ const api = this.findApi(def.pathMap, def.allowedMethods);
250
+ const arn = this.findARN(def.name);
251
+ if (!arn) {
252
+ console.log(`>>> No ARN for ${def.name} ${def.pathMap}, ${api.id}`);
253
+ }
254
+ if (api) {
255
+ out.push({
256
+ restApiId: this.requestApiId,
257
+ resourceId: api.id, // api.parentId
258
+ httpMethod: api.method,
259
+ integrationHttpMethod: 'POST', // api.method,
260
+ type: "AWS_PROXY",
261
+ uri: `arn:aws:apigateway:${region}:lambda:path/2015-03-31/functions/${arn}/invocations`,
262
+ credentials: "arn:aws:iam::545650260286:role/TBDLambdaExecution2"
263
+ });
264
+ }
265
+ }
266
+ return out;
267
+ }
268
+ }
269
+ function PrequisiteValues(id) {
270
+ return __awaiter(this, void 0, void 0, function* () {
271
+ const pri = new PrereqInfo();
272
+ const out = yield GetFunctionInfo(pri);
273
+ out.defs = (0, ApiBuildCollector_1.gatherFunctionDefinitions)();
274
+ (0, ApiDocMaker_1.addBuiltInDefinitions)(out.defs);
275
+ out.requestApiId = id;
276
+ yield GetMethodResources(id, out);
277
+ return out;
278
+ });
279
+ }
280
+ function GetFunctionInfo(info) {
281
+ return __awaiter(this, void 0, void 0, function* () {
282
+ var _a, _b, _c, _d, _e;
283
+ const client = new client_lambda_1.LambdaClient((0, LiftConfig_1.getAWSCredentials)());
284
+ const listCommand = new client_lambda_1.ListFunctionsCommand({});
285
+ const response = yield client.send(listCommand);
286
+ const sfx = "_" + (0, md5_1.default)(((_a = (0, LiftVersion_1.getProjectName)()) !== null && _a !== void 0 ? _a : "") + ((_b = (0, LiftVersion_1.getProjectVersion)()) !== null && _b !== void 0 ? _b : ""));
287
+ for (let func of (_c = response.Functions) !== null && _c !== void 0 ? _c : []) {
288
+ if (func.FunctionName.endsWith(sfx)) {
289
+ info.functions.push({
290
+ name: (_d = func.FunctionName) !== null && _d !== void 0 ? _d : "",
291
+ arn: (_e = func.FunctionArn) !== null && _e !== void 0 ? _e : ""
292
+ });
293
+ }
294
+ }
295
+ return info;
296
+ });
297
+ }
298
+ function GetMethodResources(id, info) {
299
+ return __awaiter(this, void 0, void 0, function* () {
300
+ const client = new client_api_gateway_1.APIGatewayClient((0, LiftConfig_1.getAWSCredentials)());
301
+ const listCommand = new client_api_gateway_1.GetResourcesCommand({
302
+ restApiId: id
303
+ });
304
+ const response = yield client.send(listCommand);
305
+ // ClogInfo("Resources response", response)
306
+ if (response === null || response === void 0 ? void 0 : response.items)
307
+ info.apis = response.items;
308
+ return info;
309
+ });
310
+ }
311
+ function PutIntegrations(integrations) {
312
+ return __awaiter(this, void 0, void 0, function* () {
313
+ const client = new client_api_gateway_1.APIGatewayClient((0, LiftConfig_1.getAWSCredentials)());
314
+ for (let input of integrations) {
315
+ try {
316
+ const command = new client_api_gateway_1.PutIntegrationCommand(input);
317
+ const intResp = yield client.send(command);
318
+ // ClogDebug("integration response", intResp);
319
+ yield (0, utils_1.delay)(5000);
320
+ }
321
+ catch (e) {
322
+ console.error("Problem with integration for " + input.uri, { input });
323
+ throw e;
324
+ }
325
+ }
326
+ });
327
+ }
328
+ function DeployApi(restApiId, stageName) {
329
+ return __awaiter(this, void 0, void 0, function* () {
330
+ try {
331
+ const client = new client_api_gateway_1.APIGatewayClient((0, LiftConfig_1.getAWSCredentials)());
332
+ const command = new client_api_gateway_1.CreateDeploymentCommand({
333
+ restApiId,
334
+ stageName
335
+ });
336
+ const resp = yield client.send(command);
337
+ }
338
+ catch (e) {
339
+ console.error(ac.red.bold("Error with deployApi: " + e.message));
340
+ throw e;
341
+ }
342
+ });
343
+ }
344
+ //# sourceMappingURL=publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.doSettings = void 0;
39
+ const path_1 = __importDefault(require("path"));
40
+ const fs_1 = __importDefault(require("fs"));
41
+ const os_1 = require("os");
42
+ const askQuestion_1 = require("../lib/askQuestion");
43
+ const ac = __importStar(require("ansi-colors"));
44
+ function doSettings() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ var _a, _b, _c;
47
+ try {
48
+ const mistLiftPath = path_1.default.join((0, os_1.homedir)(), ".mistlift");
49
+ let settings = { cloudHost: "AWS" };
50
+ if (fs_1.default.existsSync(mistLiftPath)) {
51
+ settings = JSON.parse(fs_1.default.readFileSync(mistLiftPath).toString());
52
+ }
53
+ let ok = false;
54
+ while (!ok) {
55
+ settings.cloudHost = (0, askQuestion_1.ask)("Type of cloud host (AWS)", "cloud host", settings.cloudHost);
56
+ ok = settings.cloudHost == "AWS"; // all we support now
57
+ }
58
+ ok = false;
59
+ if (settings.cloudHost === "AWS") {
60
+ console.log("Choose from a configured AWS profile, or leave empty to use a custom credentials config file");
61
+ while (!ok) {
62
+ settings.awsIniProfile = (0, askQuestion_1.ask)("Name of AWS profile to use", "AWS Profile", (_a = settings.awsIniProfile) !== null && _a !== void 0 ? _a : "default");
63
+ ok = settings.awsIniProfile !== "";
64
+ }
65
+ ok = false;
66
+ let runtime = settings.awsNodeRuntime;
67
+ while (!ok) {
68
+ runtime = (0, askQuestion_1.ask)("AWS Node Runtime Version", "NodeJS Runtime", "Nodejs20.x");
69
+ ok = !!runtime;
70
+ }
71
+ settings.awsNodeRuntime = runtime.toLowerCase();
72
+ ok = false;
73
+ while (!ok) {
74
+ settings.awsPreferredRegion = (0, askQuestion_1.ask)("Preferred AWS region", "preferred AWS region", (_b = settings.awsPreferredRegion) !== null && _b !== void 0 ? _b : "us-east-1");
75
+ ok = !!settings.awsPreferredRegion;
76
+ }
77
+ ok = false;
78
+ console.log("Supply the ARN for the service role you have created in your AWS IAM account for Lambda, S3, and Cloudwatch access");
79
+ while (!ok) {
80
+ settings.awsServiceRoleARN = (0, askQuestion_1.ask)("AWS service role ARN", "serviceRole ARN", (_c = settings.awsServiceRoleARN) !== null && _c !== void 0 ? _c : "arn:aws.iam::xxxxxxxxxxxx:role/service-role-name");
81
+ ok = settings.awsServiceRoleARN !== "arn:aws.iam::xxxxxxxxxxxx:role/service-role-name"
82
+ && settings.awsServiceRoleARN !== "";
83
+ }
84
+ }
85
+ fs_1.default.writeFileSync(mistLiftPath, JSON.stringify(settings));
86
+ return 0;
87
+ }
88
+ catch (e) {
89
+ console.error(ac.bold.red("Error with settings:"), e);
90
+ return -1;
91
+ }
92
+ });
93
+ }
94
+ exports.doSettings = doSettings;
95
+ //# sourceMappingURL=settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/commands/settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.startLocalServer = void 0;
30
+ /** Run Express Server */
31
+ const express_1 = __importDefault(require("express"));
32
+ const functionBinder_1 = __importStar(require("../expressRoutes/functionBinder"));
33
+ const api_1 = __importDefault(require("../expressRoutes/api"));
34
+ const all_1 = __importStar(require("../expressRoutes/all"));
35
+ const pathResolve_1 = require("../lib/pathResolve");
36
+ const ac = __importStar(require("ansi-colors"));
37
+ function startLocalServer() {
38
+ const projectPaths = (0, pathResolve_1.resolvePaths)();
39
+ if (!projectPaths.verified) {
40
+ console.log(ac.bold.red("Cannot start local server"));
41
+ console.log(ac.blue.italic("Not in a valid MistLift project directory"));
42
+ console.log("");
43
+ return;
44
+ }
45
+ const port = 8081;
46
+ (0, all_1.allBinder)();
47
+ (0, functionBinder_1.functionBinder)();
48
+ const app = (0, express_1.default)();
49
+ // for JSON posts
50
+ // app.use(bodyParser.json({limit: '50mb'}))
51
+ app.use(express_1.default.json());
52
+ // for form posts
53
+ app.use(express_1.default.urlencoded({ extended: true }));
54
+ app.use('/', functionBinder_1.default);
55
+ app.use('/api', api_1.default);
56
+ app.use('*', all_1.default);
57
+ // =========================================
58
+ // Start server
59
+ // http only
60
+ app.listen(port, function () {
61
+ console.log('http listening on port ' + port);
62
+ });
63
+ // ================================================
64
+ }
65
+ exports.startLocalServer = startLocalServer;
66
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yBAAyB;AACzB,sDAA6B;AAK7B,kFAA8E;AAE9E,+DAA4C;AAC5C,4DAAyD;AAGzD,oDAAgD;AAEhD,gDAAiC;AAEjC,SAAgB,gBAAgB;IAC5B,MAAM,YAAY,GAAG,IAAA,0BAAY,GAAE,CAAC;IACpC,IAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAA;QACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAA;QACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAM;IACV,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAA;IACjB,IAAA,eAAS,GAAE,CAAA;IACX,IAAA,+BAAc,GAAE,CAAA;IAChB,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAA;IACrB,iBAAiB;IACjB,4CAA4C;IAC5C,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxB,iBAAiB;IACjB,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC,CAAA;IAE7C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAc,CAAC,CAAA;IAC5B,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,aAAS,CAAC,CAAA;IAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,aAAS,CAAC,CAAA;IAE3B,4CAA4C;IAC5C,eAAe;IACf,YAAY;IACR,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;QACb,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IACN,mDAAmD;AACnD,CAAC;AA7BD,4CA6BC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.doTestAsync = void 0;
13
+ const executeCommand_1 = require("../lib/executeCommand");
14
+ const build_1 = require("./build");
15
+ function doTestAsync(args) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ if (yield (0, build_1.doBuildAsync)(args))
18
+ return 1; // don't test if build fails
19
+ if (args.length === 0)
20
+ args = ['*'];
21
+ let ret = 0;
22
+ for (let funcName of args) {
23
+ const result = yield (0, executeCommand_1.executeCommand)('tap', [
24
+ `build/functions/${funcName}/*-tests/*.js`,
25
+ /*
26
+ - base -- looks a lot like terse
27
+ - terse -- pass/fail counts
28
+ - min -- errors only
29
+ - dot -- like min, but a dot per assert
30
+ - silent
31
+ - json
32
+ - jsonstream
33
+ - markdown
34
+ - junit
35
+ - tap
36
+ */
37
+ '--reporter=base',
38
+ '--color',
39
+ '--passes',
40
+ '--allow-empty-coverage',
41
+ '--allow-incomplete-coverage'
42
+ ], '', true);
43
+ if (result.retcode) {
44
+ ret = result.retcode;
45
+ break;
46
+ }
47
+ }
48
+ return ret;
49
+ });
50
+ }
51
+ exports.doTestAsync = doTestAsync;
52
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAqD;AACrD,mCAAqC;AAErC,SAAsB,WAAW,CAAC,IAAa;;QAE3C,IAAG,MAAM,IAAA,oBAAY,EAAC,IAAI,CAAC;YAAE,OAAO,CAAC,CAAA,CAAC,4BAA4B;QAClE,IAAG,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAc,EAAC,KAAK,EAAE;gBACvC,mBAAmB,QAAQ,eAAe;gBAC1C;;;;;;;;;;;mBAWG;gBACH,iBAAiB;gBACjB,SAAS;gBACT,UAAU;gBACV,wBAAwB;gBACxB,6BAA6B;aAEhC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;YAEZ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAA;gBACpB,MAAM;YACV,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;CAAA;AAlCD,kCAkCC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ /** Handles the set of user management commands
3
+ *
4
+ * Default and prime user is the default of the AWS profile set
5
+ * In configuration, this can be changed to a different profile
6
+ * The user command module is meant to
7
+ */
8
+ // TODO:
9
+ /*
10
+ - lift user create <name>
11
+ - lift user destroy <name>
12
+ - lift user grant <name> <privilege>
13
+ - lift user revoke <name> <privilege>
14
+ - lift user show <name>
15
+ - lift user list
16
+
17
+ */
18
+ // }
19
+ //}
20
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/commands/user.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,QAAQ;AAER;;;;;;;;GAQG;AACH,OAAO;AACP,GAAG"}