@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.
- package/README.md +11 -2
- package/build/QSTest/functions/IntegrationTest/IntegrationTest.test.js +47 -0
- package/build/QSTest/functions/IntegrationTest/IntegrationTest.test.js.map +1 -0
- package/build/QSTest/functions/IntegrationTest/src/local.js +33 -0
- package/build/QSTest/functions/IntegrationTest/src/local.js.map +1 -0
- package/build/QSTest/functions/IntegrationTest/src/main.js +29 -0
- package/build/QSTest/functions/IntegrationTest/src/main.js.map +1 -0
- package/build/commands/builtin/prebuilt-zips/API.zip +0 -0
- package/build/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
- package/build/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
- package/build/commands/deploy.js +4 -5
- package/build/commands/deploy.js.map +1 -1
- package/build/commands/package.js +1 -1
- package/build/commands/package.js.map +1 -1
- package/build/commands/publish.js +18 -10
- package/build/commands/publish.js.map +1 -1
- package/build/lib/ESBuild.js +8 -6
- package/build/lib/ESBuild.js.map +1 -1
- package/build/lib/IdSrc.js +23 -0
- package/build/lib/IdSrc.js.map +1 -0
- package/build/lib/openAPI/openApiConstruction.js.map +1 -1
- package/build/src/commands/actions/initQuestions.js +140 -0
- package/build/src/commands/actions/initQuestions.js.map +1 -0
- package/build/src/commands/actions/makePackageJson.js +2 -0
- package/build/src/commands/actions/makePackageJson.js.map +1 -0
- package/build/src/commands/actions/setupPackageJson.js +68 -0
- package/build/src/commands/actions/setupPackageJson.js.map +1 -0
- package/build/src/commands/build.js +209 -0
- package/build/src/commands/build.js.map +1 -0
- package/build/src/commands/builtin/ApiDocMaker.js +115 -0
- package/build/src/commands/builtin/ApiDocMaker.js.map +1 -0
- package/build/src/commands/builtin/BuiltInHandler.js +87 -0
- package/build/src/commands/builtin/BuiltInHandler.js.map +1 -0
- package/build/src/commands/builtin/DeployBuiltInZip.js +57 -0
- package/build/src/commands/builtin/DeployBuiltInZip.js.map +1 -0
- package/build/src/commands/builtin/StageWebrootZip.js +94 -0
- package/build/src/commands/builtin/StageWebrootZip.js.map +1 -0
- package/build/src/commands/create.js +90 -0
- package/build/src/commands/create.js.map +1 -0
- package/build/src/commands/deploy.js +220 -0
- package/build/src/commands/deploy.js.map +1 -0
- package/build/src/commands/doctor.js +150 -0
- package/build/src/commands/doctor.js.map +1 -0
- package/build/src/commands/help.js +231 -0
- package/build/src/commands/help.js.map +1 -0
- package/build/src/commands/info.js +71 -0
- package/build/src/commands/info.js.map +1 -0
- package/build/src/commands/init.js +103 -0
- package/build/src/commands/init.js.map +1 -0
- package/build/src/commands/package.js +258 -0
- package/build/src/commands/package.js.map +1 -0
- package/build/src/commands/publish.js +359 -0
- package/build/src/commands/publish.js.map +1 -0
- package/build/src/commands/settings.js +96 -0
- package/build/src/commands/settings.js.map +1 -0
- package/build/src/commands/start.js +181 -0
- package/build/src/commands/start.js.map +1 -0
- package/build/src/commands/test.js +52 -0
- package/build/src/commands/test.js.map +1 -0
- package/build/src/commands/update.js +68 -0
- package/build/src/commands/update.js.map +1 -0
- package/build/src/commands/user.js +20 -0
- package/build/src/commands/user.js.map +1 -0
- package/build/src/expressRoutes/all.js +134 -0
- package/build/src/expressRoutes/all.js.map +1 -0
- package/build/src/expressRoutes/api.js +24 -0
- package/build/src/expressRoutes/api.js.map +1 -0
- package/build/src/expressRoutes/functionBinder.js +201 -0
- package/build/src/expressRoutes/functionBinder.js.map +1 -0
- package/build/src/integration-tests/quickstart-scenario.test.js +86 -0
- package/build/src/integration-tests/quickstart-scenario.test.js.map +1 -0
- package/build/src/lib/CaseUtils.js +57 -0
- package/build/src/lib/CaseUtils.js.map +1 -0
- package/build/src/lib/DirectoryUtils.js +40 -0
- package/build/src/lib/DirectoryUtils.js.map +1 -0
- package/build/src/lib/ESBuild.js +99 -0
- package/build/src/lib/ESBuild.js.map +1 -0
- package/build/src/lib/IdSrc.js +23 -0
- package/build/src/lib/IdSrc.js.map +1 -0
- package/build/src/lib/LiftConfig.js +81 -0
- package/build/src/lib/LiftConfig.js.map +1 -0
- package/build/src/lib/LiftVersion.js +122 -0
- package/build/src/lib/LiftVersion.js.map +1 -0
- package/build/src/lib/Tests/fileCompare.test.js +56 -0
- package/build/src/lib/Tests/fileCompare.test.js.map +1 -0
- package/build/src/lib/askQuestion.js +42 -0
- package/build/src/lib/askQuestion.js.map +1 -0
- package/build/src/lib/executeCommand.js +58 -0
- package/build/src/lib/executeCommand.js.map +1 -0
- package/build/src/lib/fileCompare.js +49 -0
- package/build/src/lib/fileCompare.js.map +1 -0
- package/build/src/lib/openAPI/ApiBuildCollector.js +59 -0
- package/build/src/lib/openAPI/ApiBuildCollector.js.map +1 -0
- package/build/src/lib/openAPI/WebrootFileSupport.js +48 -0
- package/build/src/lib/openAPI/WebrootFileSupport.js.map +1 -0
- package/build/src/lib/openAPI/openApiConstruction.js +237 -0
- package/build/src/lib/openAPI/openApiConstruction.js.map +1 -0
- package/build/src/lib/pathResolve.js +27 -0
- package/build/src/lib/pathResolve.js.map +1 -0
- package/build/src/lib/utils.js +77 -0
- package/build/src/lib/utils.js.map +1 -0
- package/build/src/lift.js +134 -0
- package/build/src/lift.js.map +1 -0
- package/package.json +2 -3
- package/src/commands/builtin/prebuilt-zips/API.zip +0 -0
- package/src/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
- package/src/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
- package/src/commands/deploy.ts +4 -4
- package/src/commands/package.ts +1 -1
- package/src/commands/publish.ts +14 -5
- package/src/lib/ESBuild.ts +11 -9
- package/src/lib/IdSrc.ts +16 -0
- 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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"}
|