@tremho/mist-lift 2.1.4 → 2.2.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 (113) hide show
  1. package/README.md +11 -2
  2. package/build/QSTest/functions/IntegrationTest/IntegrationTest.test.js +47 -0
  3. package/build/QSTest/functions/IntegrationTest/IntegrationTest.test.js.map +1 -0
  4. package/build/QSTest/functions/IntegrationTest/src/local.js +33 -0
  5. package/build/QSTest/functions/IntegrationTest/src/local.js.map +1 -0
  6. package/build/QSTest/functions/IntegrationTest/src/main.js +29 -0
  7. package/build/QSTest/functions/IntegrationTest/src/main.js.map +1 -0
  8. package/build/commands/builtin/prebuilt-zips/API.zip +0 -0
  9. package/build/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  10. package/build/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  11. package/build/commands/deploy.js +4 -5
  12. package/build/commands/deploy.js.map +1 -1
  13. package/build/commands/package.js +1 -1
  14. package/build/commands/package.js.map +1 -1
  15. package/build/commands/publish.js +18 -10
  16. package/build/commands/publish.js.map +1 -1
  17. package/build/lib/ESBuild.js +8 -6
  18. package/build/lib/ESBuild.js.map +1 -1
  19. package/build/lib/IdSrc.js +23 -0
  20. package/build/lib/IdSrc.js.map +1 -0
  21. package/build/lib/openAPI/openApiConstruction.js.map +1 -1
  22. package/build/src/commands/actions/initQuestions.js +140 -0
  23. package/build/src/commands/actions/initQuestions.js.map +1 -0
  24. package/build/src/commands/actions/makePackageJson.js +2 -0
  25. package/build/src/commands/actions/makePackageJson.js.map +1 -0
  26. package/build/src/commands/actions/setupPackageJson.js +68 -0
  27. package/build/src/commands/actions/setupPackageJson.js.map +1 -0
  28. package/build/src/commands/build.js +209 -0
  29. package/build/src/commands/build.js.map +1 -0
  30. package/build/src/commands/builtin/ApiDocMaker.js +115 -0
  31. package/build/src/commands/builtin/ApiDocMaker.js.map +1 -0
  32. package/build/src/commands/builtin/BuiltInHandler.js +87 -0
  33. package/build/src/commands/builtin/BuiltInHandler.js.map +1 -0
  34. package/build/src/commands/builtin/DeployBuiltInZip.js +57 -0
  35. package/build/src/commands/builtin/DeployBuiltInZip.js.map +1 -0
  36. package/build/src/commands/builtin/StageWebrootZip.js +94 -0
  37. package/build/src/commands/builtin/StageWebrootZip.js.map +1 -0
  38. package/build/src/commands/create.js +90 -0
  39. package/build/src/commands/create.js.map +1 -0
  40. package/build/src/commands/deploy.js +220 -0
  41. package/build/src/commands/deploy.js.map +1 -0
  42. package/build/src/commands/doctor.js +150 -0
  43. package/build/src/commands/doctor.js.map +1 -0
  44. package/build/src/commands/help.js +231 -0
  45. package/build/src/commands/help.js.map +1 -0
  46. package/build/src/commands/info.js +71 -0
  47. package/build/src/commands/info.js.map +1 -0
  48. package/build/src/commands/init.js +103 -0
  49. package/build/src/commands/init.js.map +1 -0
  50. package/build/src/commands/package.js +258 -0
  51. package/build/src/commands/package.js.map +1 -0
  52. package/build/src/commands/publish.js +359 -0
  53. package/build/src/commands/publish.js.map +1 -0
  54. package/build/src/commands/settings.js +96 -0
  55. package/build/src/commands/settings.js.map +1 -0
  56. package/build/src/commands/start.js +181 -0
  57. package/build/src/commands/start.js.map +1 -0
  58. package/build/src/commands/test.js +52 -0
  59. package/build/src/commands/test.js.map +1 -0
  60. package/build/src/commands/update.js +68 -0
  61. package/build/src/commands/update.js.map +1 -0
  62. package/build/src/commands/user.js +20 -0
  63. package/build/src/commands/user.js.map +1 -0
  64. package/build/src/expressRoutes/all.js +134 -0
  65. package/build/src/expressRoutes/all.js.map +1 -0
  66. package/build/src/expressRoutes/api.js +24 -0
  67. package/build/src/expressRoutes/api.js.map +1 -0
  68. package/build/src/expressRoutes/functionBinder.js +201 -0
  69. package/build/src/expressRoutes/functionBinder.js.map +1 -0
  70. package/build/src/integration-tests/quickstart-scenario.test.js +86 -0
  71. package/build/src/integration-tests/quickstart-scenario.test.js.map +1 -0
  72. package/build/src/lib/CaseUtils.js +57 -0
  73. package/build/src/lib/CaseUtils.js.map +1 -0
  74. package/build/src/lib/DirectoryUtils.js +40 -0
  75. package/build/src/lib/DirectoryUtils.js.map +1 -0
  76. package/build/src/lib/ESBuild.js +99 -0
  77. package/build/src/lib/ESBuild.js.map +1 -0
  78. package/build/src/lib/IdSrc.js +23 -0
  79. package/build/src/lib/IdSrc.js.map +1 -0
  80. package/build/src/lib/LiftConfig.js +81 -0
  81. package/build/src/lib/LiftConfig.js.map +1 -0
  82. package/build/src/lib/LiftVersion.js +122 -0
  83. package/build/src/lib/LiftVersion.js.map +1 -0
  84. package/build/src/lib/Tests/fileCompare.test.js +56 -0
  85. package/build/src/lib/Tests/fileCompare.test.js.map +1 -0
  86. package/build/src/lib/askQuestion.js +42 -0
  87. package/build/src/lib/askQuestion.js.map +1 -0
  88. package/build/src/lib/executeCommand.js +58 -0
  89. package/build/src/lib/executeCommand.js.map +1 -0
  90. package/build/src/lib/fileCompare.js +49 -0
  91. package/build/src/lib/fileCompare.js.map +1 -0
  92. package/build/src/lib/openAPI/ApiBuildCollector.js +59 -0
  93. package/build/src/lib/openAPI/ApiBuildCollector.js.map +1 -0
  94. package/build/src/lib/openAPI/WebrootFileSupport.js +48 -0
  95. package/build/src/lib/openAPI/WebrootFileSupport.js.map +1 -0
  96. package/build/src/lib/openAPI/openApiConstruction.js +237 -0
  97. package/build/src/lib/openAPI/openApiConstruction.js.map +1 -0
  98. package/build/src/lib/pathResolve.js +27 -0
  99. package/build/src/lib/pathResolve.js.map +1 -0
  100. package/build/src/lib/utils.js +77 -0
  101. package/build/src/lib/utils.js.map +1 -0
  102. package/build/src/lift.js +134 -0
  103. package/build/src/lift.js.map +1 -0
  104. package/package.json +2 -3
  105. package/src/commands/builtin/prebuilt-zips/API.zip +0 -0
  106. package/src/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  107. package/src/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  108. package/src/commands/deploy.ts +4 -4
  109. package/src/commands/package.ts +1 -1
  110. package/src/commands/publish.ts +14 -5
  111. package/src/lib/ESBuild.ts +11 -9
  112. package/src/lib/IdSrc.ts +16 -0
  113. package/src/lib/openAPI/openApiConstruction.ts +2 -1
@@ -0,0 +1,258 @@
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.doPackageAsync = void 0;
39
+ const path_1 = __importDefault(require("path"));
40
+ const fs_1 = __importDefault(require("fs"));
41
+ const pathResolve_1 = require("../lib/pathResolve");
42
+ const ac = __importStar(require("ansi-colors"));
43
+ const DirectoryUtils_1 = require("../lib/DirectoryUtils");
44
+ const LiftVersion_1 = require("../lib/LiftVersion");
45
+ const executeCommand_1 = require("../lib/executeCommand");
46
+ const fileCompare_1 = require("../lib/fileCompare");
47
+ const build_1 = require("./build");
48
+ const utils_1 = require("../lib/utils");
49
+ // test then package
50
+ function doPackageAsync(args) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const projectPaths = (0, pathResolve_1.resolvePaths)();
53
+ if (!projectPaths.verified) {
54
+ console.log(ac.bold.magenta('current directory is not at project root'));
55
+ return -1;
56
+ }
57
+ const workPath = path_1.default.join(projectPaths.basePath, '.package_temp');
58
+ if (fs_1.default.existsSync(workPath))
59
+ fs_1.default.rmSync(workPath, { recursive: true });
60
+ fs_1.default.mkdirSync(workPath);
61
+ const buildFunctionsPath = path_1.default.join(projectPaths.buildPath, 'functions');
62
+ const funcsToPackage = [];
63
+ const options = [];
64
+ for (const arg of args) {
65
+ if (arg.charAt(0) === '-') {
66
+ options.push(arg.toLowerCase());
67
+ }
68
+ else
69
+ funcsToPackage.push(arg);
70
+ }
71
+ const ret = yield (0, build_1.doBuildAsync)(args);
72
+ if (ret !== 0)
73
+ return ret;
74
+ if (funcsToPackage.length === 0) {
75
+ let firstDepth = 0;
76
+ (0, DirectoryUtils_1.recurseDirectory)(buildFunctionsPath, (filepath, stats) => {
77
+ const depth = filepath.split(path_1.default.sep).length;
78
+ if (firstDepth === 0)
79
+ firstDepth = depth;
80
+ if (stats.isDirectory() && depth === firstDepth) {
81
+ funcsToPackage.push(path_1.default.basename(filepath));
82
+ }
83
+ return false;
84
+ });
85
+ }
86
+ let error = 0;
87
+ const recurse = (i) => __awaiter(this, void 0, void 0, function* () {
88
+ if (i >= funcsToPackage.length)
89
+ return;
90
+ const funcName = funcsToPackage[i];
91
+ const pe = yield packageFunction(funcName);
92
+ if (pe !== 0) {
93
+ error = pe;
94
+ return error;
95
+ }
96
+ yield recurse(++i);
97
+ });
98
+ yield recurse(0);
99
+ return error;
100
+ });
101
+ }
102
+ exports.doPackageAsync = doPackageAsync;
103
+ function packageFunction(funcName) {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ var _a, _b, _c, _d, _e;
106
+ const projectPaths = (0, pathResolve_1.resolvePaths)();
107
+ const buildFunctionsPath = path_1.default.join(projectPaths.buildPath, 'functions');
108
+ const all = [];
109
+ const error = 0;
110
+ const funcPath = path_1.default.join(buildFunctionsPath, funcName);
111
+ if (!fs_1.default.existsSync(funcPath)) {
112
+ console.error(ac.red.bold(`${funcName} does not exist`) + ', cannot package');
113
+ return -1;
114
+ }
115
+ const zipdir = path_1.default.join(projectPaths.basePath, 'MistLift_Zips');
116
+ const zipFile = path_1.default.join(zipdir, funcName + '.zip');
117
+ if (!fs_1.default.existsSync(zipdir)) {
118
+ fs_1.default.mkdirSync(zipdir);
119
+ }
120
+ const zfx = fs_1.default.existsSync(zipFile);
121
+ if (zfx) {
122
+ if (!(0, fileCompare_1.isNewerFile)(funcPath, zipFile, '.js', '.zip')) {
123
+ return 0;
124
+ }
125
+ fs_1.default.unlinkSync(zipFile);
126
+ }
127
+ const projectName = (_a = (0, LiftVersion_1.getProjectName)()) !== null && _a !== void 0 ? _a : '';
128
+ const projectVersion = (_c = (_b = (0, LiftVersion_1.getProjectVersion)()) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : '';
129
+ const liftVersion = (_e = (_d = (0, LiftVersion_1.getLiftVersion)()) === null || _d === void 0 ? void 0 : _d.toString()) !== null && _e !== void 0 ? _e : '';
130
+ // the main package json that has all imports
131
+ const mainPkgJsonPath = path_1.default.join(projectPaths.packagePath);
132
+ const mainPkgSrc = fs_1.default.readFileSync(mainPkgJsonPath).toString();
133
+ const mainPkgJson = JSON.parse(mainPkgSrc);
134
+ const workPath = path_1.default.join(projectPaths.basePath, '.package_temp');
135
+ console.log(ac.green.italic('packaging ') + ac.green.bold(funcName));
136
+ // make a nominal package.json
137
+ const pkgjson = {
138
+ name: funcName,
139
+ description: 'Lambda function ' + funcName + ' for ' + projectName + ', created with MistLift ' + liftVersion,
140
+ version: projectVersion,
141
+ main: 'runmain.mjs',
142
+ scripts: {
143
+ test: 'echo "No Tests Defined" && exit 1'
144
+ },
145
+ dependencies: {},
146
+ keywords: [],
147
+ author: '',
148
+ license: 'MIT'
149
+ };
150
+ // find all the imports in the sources
151
+ const imports = findAllImports(funcPath);
152
+ pkgjson.dependencies = reconcileVersionImports(imports, mainPkgJson);
153
+ // - write out new package.json to workPath
154
+ // console.log("writing package.json", pkgjson)
155
+ fs_1.default.writeFileSync(path_1.default.join(workPath, 'package.json'), JSON.stringify(pkgjson, null, 2));
156
+ // - execute npm i at workpath, create node_modules
157
+ yield (0, executeCommand_1.executeCommand)('npm i', [], workPath).then(() => {
158
+ // copy the lambda function
159
+ (0, DirectoryUtils_1.recurseDirectory)(funcPath, (filepath, stats) => {
160
+ if (filepath.substring(0, funcPath.length) === funcPath) {
161
+ const endpath = filepath.substring(funcPath.length);
162
+ if (!endpath.toLowerCase().includes(`${funcName}-tests`.toLowerCase())) { // skip tests
163
+ const fromPath = path_1.default.join(funcPath, endpath);
164
+ const toPath = path_1.default.join(workPath, endpath);
165
+ if (stats.isDirectory() && !fs_1.default.existsSync(toPath)) {
166
+ fs_1.default.mkdirSync(toPath);
167
+ }
168
+ if (stats.isFile()) {
169
+ fs_1.default.copyFileSync(fromPath, toPath);
170
+ }
171
+ }
172
+ }
173
+ return false;
174
+ });
175
+ // put a runmain.mjs into place
176
+ const templatePath = path_1.default.join(__dirname, '..', '..', 'templateData', 'function-runmain-mjs');
177
+ const runmainPath = path_1.default.join(workPath, 'runmain.mjs');
178
+ fs_1.default.writeFileSync(runmainPath, fs_1.default.readFileSync(templatePath));
179
+ all.push((0, utils_1.FolderToZip)(workPath, zipFile));
180
+ // console.log("now zip it")
181
+ });
182
+ return yield Promise.all(all).then(() => {
183
+ return error;
184
+ });
185
+ });
186
+ }
187
+ function findAllImports(folder) {
188
+ const imports = [];
189
+ if (fs_1.default.existsSync(folder)) {
190
+ (0, DirectoryUtils_1.recurseDirectory)(folder, (filepath, stats) => {
191
+ // console.log(`filepath = ${filepath}`);
192
+ if (!filepath.includes('__files__')) {
193
+ if (!stats.isDirectory()) {
194
+ const content = fs_1.default.readFileSync(filepath).toString();
195
+ for (const m of findImports(content)) {
196
+ // console.log(' import', m)
197
+ imports.push(m);
198
+ }
199
+ }
200
+ }
201
+ return false;
202
+ });
203
+ }
204
+ return imports;
205
+ }
206
+ function findImports(content) {
207
+ const imports = [];
208
+ const regexp = /require\s*\(\s*["|'](.+)["|']/gm;
209
+ const matches = content.matchAll(regexp);
210
+ for (const m of matches) {
211
+ imports.push(m[1]);
212
+ }
213
+ return imports;
214
+ }
215
+ function reconcileVersionImports(imports, mainPkgJson) {
216
+ var _a, _b;
217
+ const dependencies = (_a = mainPkgJson.dependencies) !== null && _a !== void 0 ? _a : {};
218
+ const devDependencies = (_b = mainPkgJson.devDependencies) !== null && _b !== void 0 ? _b : {};
219
+ const builtins = [
220
+ 'fs',
221
+ 'path',
222
+ 'process',
223
+ 'crypto',
224
+ 'http'
225
+ ];
226
+ const depsOut = {};
227
+ for (const m of imports) {
228
+ let isDev = false;
229
+ let r = dependencies[m];
230
+ if (r === undefined) {
231
+ isDev = true;
232
+ r = devDependencies[m];
233
+ }
234
+ if (r !== undefined) {
235
+ if (depsOut[m] !== undefined && depsOut[m] !== r) {
236
+ console.error(ac.red.bold(` Version mismatch on ${m}: ${r} vs ${depsOut[m]}`));
237
+ }
238
+ if (isDev) {
239
+ console.error(ac.magenta(` ${m} import is dev-only, not migrated`));
240
+ }
241
+ else {
242
+ if (depsOut[m] !== r)
243
+ console.log(ac.blue.dim(` ${m} exported as ${r}`));
244
+ depsOut[m] = r;
245
+ }
246
+ }
247
+ else {
248
+ // if not a builtin and not local..
249
+ if (!builtins.includes(m)) {
250
+ if (m.charAt(0) !== '.') {
251
+ console.error(ac.red.bold(' ERROR - Found no dependency reference for import'), m);
252
+ }
253
+ }
254
+ }
255
+ }
256
+ return depsOut;
257
+ }
258
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/commands/package.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,359 @@
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 os_1 = __importDefault(require("os"));
46
+ const pathResolve_1 = require("../lib/pathResolve");
47
+ const ApiBuildCollector_1 = require("../lib/openAPI/ApiBuildCollector");
48
+ const utils_1 = require("../lib/utils");
49
+ const ApiDocMaker_1 = require("./builtin/ApiDocMaker");
50
+ const BuiltInHandler_1 = require("./builtin/BuiltInHandler");
51
+ const ESBuild_1 = require("../lib/ESBuild");
52
+ const IdSrc_1 = require("../lib/IdSrc");
53
+ let projectPaths;
54
+ function doPublishAsync(stageName) {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ // let retCode = await doDeployAsync([])
57
+ // if(retCode) return retCode
58
+ const retCode = 0;
59
+ projectPaths = (0, pathResolve_1.resolvePaths)();
60
+ if (projectPaths.verified !== true) {
61
+ console.log(ac.bold.magenta('current directory is not at project root'));
62
+ return -1;
63
+ }
64
+ yield publishApi(stageName !== null && stageName !== void 0 ? stageName : 'Dev');
65
+ return retCode;
66
+ });
67
+ }
68
+ exports.doPublishAsync = doPublishAsync;
69
+ function publishApi(stageName) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ var _a, _b, _c, _d, _e, _f;
72
+ if (stageName === undefined)
73
+ stageName = 'Dev';
74
+ console.log(ac.green.bold(`Publishing Api to ${stageName}`));
75
+ // console.log('esbuild...')
76
+ yield (0, ESBuild_1.esbuilder)();
77
+ // console.log('done')
78
+ // do the built-in deploys
79
+ yield (0, BuiltInHandler_1.DeployWebrootBuiltIn)();
80
+ yield (0, BuiltInHandler_1.DeployRootFileserves)();
81
+ yield (0, BuiltInHandler_1.DeployApiBuiltin)();
82
+ // make a private api
83
+ // const fs = require('fs')
84
+ // const os = require('os')
85
+ // const path = require('path')
86
+ let tmpDir;
87
+ let apiBytes;
88
+ const appPrefix = 'MistLift';
89
+ try {
90
+ tmpDir = path_1.default.join(os_1.default.tmpdir(), appPrefix);
91
+ // console.log("making "+tmpDir)
92
+ (0, fs_1.mkdirSync)(tmpDir, { recursive: true });
93
+ const yamlFile = path_1.default.join(tmpDir, 'papi.yaml');
94
+ yield (0, ApiDocMaker_1.MakeBuiltinApiDoc)(yamlFile);
95
+ // console.log("reading "+yamlFile)
96
+ apiBytes = fs_1.default.readFileSync(yamlFile);
97
+ }
98
+ catch (e) {
99
+ console.error(ac.red.bold('Error creating temp staging folder ') + e.message);
100
+ throw Error();
101
+ }
102
+ finally {
103
+ try {
104
+ if (tmpDir !== undefined) {
105
+ fs_1.default.rmSync(tmpDir, { recursive: true });
106
+ }
107
+ }
108
+ catch (e) {
109
+ console.error(`An error has occurred while removing the temp folder at ${tmpDir !== null && tmpDir !== void 0 ? tmpDir : ''}. Please remove it manually. Error: ${e.message}`);
110
+ }
111
+ }
112
+ const client = new client_api_gateway_1.APIGatewayClient((0, LiftConfig_1.getAWSCredentials)());
113
+ yield RemoveExistingVersions(client);
114
+ const command = new client_api_gateway_1.ImportRestApiCommand({
115
+ failOnWarnings: false,
116
+ body: apiBytes
117
+ });
118
+ let apiId = '';
119
+ try {
120
+ const response = yield client.send(command);
121
+ const { name, id, version, warnings } = response;
122
+ console.log(ac.grey(`\n\nAPI ${(_a = name) !== null && _a !== void 0 ? _a : ''} version ${(_b = version) !== null && _b !== void 0 ? _b : ''} [${(_c = id) !== null && _c !== void 0 ? _c : ''}] schema created`));
123
+ apiId = id !== null && id !== void 0 ? id : '';
124
+ if ((warnings === null || warnings === void 0 ? void 0 : warnings.length) !== 0) {
125
+ console.log(ac.magenta(` with ${(_d = warnings === null || warnings === void 0 ? void 0 : warnings.length) !== null && _d !== void 0 ? _d : 0} warnings`));
126
+ if (warnings !== undefined) {
127
+ for (const warning of warnings) {
128
+ console.log(ac.grey.italic(` ${warning}`));
129
+ }
130
+ }
131
+ }
132
+ }
133
+ catch (e) {
134
+ console.error(ac.bold.red(e.message));
135
+ }
136
+ // const apidoc = new TextDecoder().decode(apiBytes)
137
+ // console.log(apidoc)
138
+ if (apiId === '')
139
+ return;
140
+ console.log(ac.grey('Continuing with binding...'));
141
+ const prereq = yield PrequisiteValues(apiId !== null && apiId !== void 0 ? apiId : '');
142
+ const intRequests = prereq.MakeRequests();
143
+ yield PutIntegrations(intRequests);
144
+ yield DeployApi(apiId !== null && apiId !== void 0 ? apiId : '', stageName);
145
+ const region = (_f = (_e = (0, LiftConfig_1.getSettings)()) === null || _e === void 0 ? void 0 : _e.awsPreferredRegion) !== null && _f !== void 0 ? _f : '';
146
+ const publishUrl = `https://${apiId !== null && apiId !== void 0 ? apiId : ''}.execute-api.${region}.amazonaws.com/${stageName}`;
147
+ console.log(ac.green.bold(`\n Successfully deployed to ${publishUrl}`));
148
+ recordLatestPublish(publishUrl);
149
+ // process.exit(0) // this was a dumb idea
150
+ });
151
+ }
152
+ function findApiName() {
153
+ var _a, _b;
154
+ const infoFile = path_1.default.join(projectPaths.functionPath, 'apiService.info.json');
155
+ const pkgFile = projectPaths.packagePath;
156
+ let pkg = {};
157
+ if (fs_1.default.existsSync(pkgFile)) {
158
+ pkg = JSON.parse(fs_1.default.readFileSync(pkgFile).toString());
159
+ }
160
+ let info = {};
161
+ if (fs_1.default.existsSync(infoFile)) {
162
+ info = JSON.parse(fs_1.default.readFileSync(infoFile).toString());
163
+ }
164
+ return (_b = (_a = info.title) !== null && _a !== void 0 ? _a : pkg.name) !== null && _b !== void 0 ? _b : 'API';
165
+ }
166
+ function RemoveExistingVersions(client) {
167
+ return __awaiter(this, void 0, void 0, function* () {
168
+ yield new Promise(resolve => {
169
+ const ourName = findApiName();
170
+ const listCommand = new client_api_gateway_1.GetRestApisCommand({});
171
+ client.send(listCommand).then((response) => {
172
+ const DeleteMatchingApis = (...args_1) => __awaiter(this, [...args_1], void 0, function* (i = 0) {
173
+ if (i >= response.items.length) {
174
+ resolve(undefined);
175
+ return yield Promise.resolve(undefined);
176
+ }
177
+ const item = response.items[i];
178
+ if (item.name === ourName) {
179
+ const deleteCommand = new client_api_gateway_1.DeleteRestApiCommand({
180
+ restApiId: item.id
181
+ });
182
+ try {
183
+ yield client.send(deleteCommand);
184
+ yield (0, utils_1.delay)(5000);
185
+ console.log(ac.magenta.bold(`Removed previous id ${item.id}`));
186
+ }
187
+ catch (e) {
188
+ console.error(`Failed to delete previous id ${item.id}: ${e.message}`);
189
+ }
190
+ }
191
+ return yield DeleteMatchingApis(++i);
192
+ });
193
+ DeleteMatchingApis().catch((reason) => undefined);
194
+ }).catch((reason) => undefined);
195
+ }).catch((reason) => undefined);
196
+ });
197
+ }
198
+ class FunctionInfo {
199
+ constructor() {
200
+ this.name = '';
201
+ this.arn = '';
202
+ }
203
+ }
204
+ class PrereqInfo {
205
+ constructor() {
206
+ this.requestApiId = '';
207
+ this.functions = [];
208
+ this.apis = []; // Resource + method
209
+ this.defs = [];
210
+ this.functions = [];
211
+ this.apis = [];
212
+ this.defs = [];
213
+ }
214
+ findApi(pathMap, allowedMethods) {
215
+ // find the pathmap in the apis list
216
+ // console.log("findApi "+pathMap, allowedMethods)
217
+ // see that this method exists in method map
218
+ for (const api of this.apis) {
219
+ if ((api === null || api === void 0 ? void 0 : api.path) === pathMap) {
220
+ // console.log("resourceMethods", api.resourceMethods)
221
+ const methodList = Object.getOwnPropertyNames(api.resourceMethods);
222
+ // ClogTrace("methodList", methodList)
223
+ for (const meth of allowedMethods.toUpperCase().split(',')) { // NOTE: we no longer try to support multiples, but this still works as is.
224
+ // console.log("meth", meth)
225
+ if (methodList.includes(meth)) {
226
+ (api).method = meth;
227
+ return api;
228
+ }
229
+ }
230
+ }
231
+ }
232
+ return null;
233
+ }
234
+ findARN(name) {
235
+ var _a;
236
+ // console.warn(`>>> finding name ${name} in functions ${JSON.stringify(this.functions)}`)
237
+ for (const f of (_a = this.functions) !== null && _a !== void 0 ? _a : []) {
238
+ const lastus = f.name.lastIndexOf((0, IdSrc_1.getIdDelimiter)());
239
+ const fname = f.name.substring(0, lastus);
240
+ // console.warn('comparing name, fname, lc ', {lastus, fname, name})
241
+ if (fname.toLowerCase() === name.toLowerCase()) {
242
+ // console.warn(">>> Match! ", f)
243
+ return f.arn;
244
+ }
245
+ }
246
+ console.log("$$$ Couldn't find " + name + ' in ', this.functions);
247
+ return '';
248
+ }
249
+ MakeRequests() {
250
+ var _a, _b, _c;
251
+ const region = (_b = (_a = (0, LiftConfig_1.getSettings)()) === null || _a === void 0 ? void 0 : _a.awsPreferredRegion) !== null && _b !== void 0 ? _b : '';
252
+ const out = [];
253
+ for (const d of this.defs) {
254
+ const def = (d);
255
+ const api = this.findApi(def.pathMap, def.method);
256
+ const arn = (_c = this.findARN(def.name)) !== null && _c !== void 0 ? _c : '';
257
+ if (arn === '') {
258
+ console.log(`>>> No ARN for ${def.name} ${def.pathMap}, ${api.id}`);
259
+ }
260
+ if (api !== undefined) {
261
+ out.push({
262
+ restApiId: this.requestApiId,
263
+ resourceId: api.id, // api.parentId
264
+ httpMethod: api.method,
265
+ integrationHttpMethod: 'POST', // api.method,
266
+ type: 'AWS_PROXY',
267
+ uri: `arn:aws:apigateway:${region}:lambda:path/2015-03-31/functions/${arn}/invocations`,
268
+ credentials: 'arn:aws:iam::545650260286:role/TBDLambdaExecution2'
269
+ });
270
+ }
271
+ }
272
+ return out;
273
+ }
274
+ }
275
+ function PrequisiteValues(id) {
276
+ return __awaiter(this, void 0, void 0, function* () {
277
+ const pri = new PrereqInfo();
278
+ const out = yield GetFunctionInfo(pri);
279
+ out.defs = (0, ApiBuildCollector_1.gatherFunctionDefinitions)();
280
+ (0, ApiDocMaker_1.addBuiltInDefinitions)(out.defs);
281
+ out.requestApiId = id;
282
+ yield GetMethodResources(id, out);
283
+ return out;
284
+ });
285
+ }
286
+ function GetFunctionInfo(info) {
287
+ return __awaiter(this, void 0, void 0, function* () {
288
+ var _a, _b, _c, _d;
289
+ const client = new client_lambda_1.LambdaClient((0, LiftConfig_1.getAWSCredentials)());
290
+ const listCommand = new client_lambda_1.ListFunctionsCommand({});
291
+ const response = yield client.send(listCommand);
292
+ const sfx = (0, IdSrc_1.decoratedName)('');
293
+ for (const func of (_a = response.Functions) !== null && _a !== void 0 ? _a : []) {
294
+ const fName = (_b = func === null || func === void 0 ? void 0 : func.FunctionName) !== null && _b !== void 0 ? _b : '';
295
+ if (fName.endsWith(sfx)) {
296
+ info.functions.push({
297
+ name: (_c = func.FunctionName) !== null && _c !== void 0 ? _c : '',
298
+ arn: (_d = func.FunctionArn) !== null && _d !== void 0 ? _d : ''
299
+ });
300
+ }
301
+ }
302
+ return info;
303
+ });
304
+ }
305
+ function GetMethodResources(id, info) {
306
+ return __awaiter(this, void 0, void 0, function* () {
307
+ const client = new client_api_gateway_1.APIGatewayClient((0, LiftConfig_1.getAWSCredentials)());
308
+ const listCommand = new client_api_gateway_1.GetResourcesCommand({
309
+ restApiId: id
310
+ });
311
+ const response = yield client.send(listCommand);
312
+ // ClogInfo("Resources response", response)
313
+ if ((response === null || response === void 0 ? void 0 : response.items) != null)
314
+ info.apis = response.items;
315
+ return info;
316
+ });
317
+ }
318
+ function PutIntegrations(integrations) {
319
+ return __awaiter(this, void 0, void 0, function* () {
320
+ const client = new client_api_gateway_1.APIGatewayClient((0, LiftConfig_1.getAWSCredentials)());
321
+ for (const input of integrations) {
322
+ try {
323
+ const command = new client_api_gateway_1.PutIntegrationCommand(input);
324
+ /* const intResp = */ yield client.send(command);
325
+ // ClogDebug("integration response", intResp);
326
+ yield (0, utils_1.delay)(5000);
327
+ }
328
+ catch (e) {
329
+ console.error('Problem with integration for ' + input.uri, { input });
330
+ throw e;
331
+ }
332
+ }
333
+ });
334
+ }
335
+ function DeployApi(restApiId, stageName) {
336
+ return __awaiter(this, void 0, void 0, function* () {
337
+ try {
338
+ const client = new client_api_gateway_1.APIGatewayClient((0, LiftConfig_1.getAWSCredentials)());
339
+ const command = new client_api_gateway_1.CreateDeploymentCommand({
340
+ restApiId,
341
+ stageName
342
+ });
343
+ yield client.send(command);
344
+ }
345
+ catch (e) {
346
+ console.error(ac.red.bold(`Error with deployApi: ${e.message}`));
347
+ throw e;
348
+ }
349
+ });
350
+ }
351
+ function recordLatestPublish(publishUrl) {
352
+ const publishRecord = {
353
+ url: publishUrl,
354
+ time: Date.now()
355
+ };
356
+ const publishedFile = path_1.default.join(projectPaths.basePath, '.published');
357
+ fs_1.default.writeFileSync(publishedFile, JSON.stringify(publishRecord));
358
+ }
359
+ //# 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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"}