@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,96 @@
|
|
|
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, _d;
|
|
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
|
+
ok = false;
|
|
61
|
+
console.log('Choose from a configured AWS profile, or leave empty to use a custom credentials config file');
|
|
62
|
+
while (!ok) {
|
|
63
|
+
settings.awsIniProfile = (0, askQuestion_1.ask)('Name of AWS profile to use', 'AWS Profile', (_a = settings.awsIniProfile) !== null && _a !== void 0 ? _a : 'default');
|
|
64
|
+
ok = settings.awsIniProfile !== '';
|
|
65
|
+
}
|
|
66
|
+
ok = false;
|
|
67
|
+
let runtime = settings.awsNodeRuntime;
|
|
68
|
+
while (!ok) {
|
|
69
|
+
runtime = (0, askQuestion_1.ask)('AWS Node Runtime Version', 'NodeJS Runtime', 'Nodejs20.x');
|
|
70
|
+
ok = runtime !== '';
|
|
71
|
+
}
|
|
72
|
+
settings.awsNodeRuntime = runtime.toLowerCase();
|
|
73
|
+
ok = false;
|
|
74
|
+
while (!ok) {
|
|
75
|
+
settings.awsPreferredRegion = (0, askQuestion_1.ask)('Preferred AWS region', 'preferred AWS region', (_b = settings.awsPreferredRegion) !== null && _b !== void 0 ? _b : 'us-east-1');
|
|
76
|
+
ok = ((_c = settings.awsPreferredRegion) !== null && _c !== void 0 ? _c : '') !== '';
|
|
77
|
+
}
|
|
78
|
+
ok = false;
|
|
79
|
+
console.log('Supply the ARN for the service role you have created in your AWS IAM account for Lambda and Cloudwatch access');
|
|
80
|
+
while (!ok) {
|
|
81
|
+
settings.awsServiceRoleARN = (0, askQuestion_1.ask)('AWS service role ARN', 'serviceRole ARN', (_d = settings.awsServiceRoleARN) !== null && _d !== void 0 ? _d : 'arn:aws.iam::xxxxxxxxxxxx:role/service-role-name');
|
|
82
|
+
ok = settings.awsServiceRoleARN !== 'arn:aws.iam::xxxxxxxxxxxx:role/service-role-name' &&
|
|
83
|
+
settings.awsServiceRoleARN !== '';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
fs_1.default.writeFileSync(mistLiftPath, JSON.stringify(settings));
|
|
87
|
+
return 0;
|
|
88
|
+
}
|
|
89
|
+
catch (e) {
|
|
90
|
+
console.error(ac.bold.red('Error with settings:'), e);
|
|
91
|
+
return -1;
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
exports.doSettings = doSettings;
|
|
96
|
+
//# 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,181 @@
|
|
|
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.startLocalServer = void 0;
|
|
39
|
+
/** Run Express Server */
|
|
40
|
+
const express_1 = __importDefault(require("express"));
|
|
41
|
+
const node_watch_1 = __importDefault(require("node-watch"));
|
|
42
|
+
const express_ws_1 = __importDefault(require("express-ws"));
|
|
43
|
+
const functionBinder_1 = __importStar(require("../expressRoutes/functionBinder"));
|
|
44
|
+
const api_1 = __importDefault(require("../expressRoutes/api"));
|
|
45
|
+
const all_1 = __importStar(require("../expressRoutes/all"));
|
|
46
|
+
const pathResolve_1 = require("../lib/pathResolve");
|
|
47
|
+
const ESBuild_1 = require("../lib/ESBuild");
|
|
48
|
+
const build_1 = require("./build");
|
|
49
|
+
const ac = __importStar(require("ansi-colors"));
|
|
50
|
+
const path_1 = __importDefault(require("path"));
|
|
51
|
+
const defaultPort = 8081;
|
|
52
|
+
const serverConfig = (0, ESBuild_1.readServerConfig)();
|
|
53
|
+
let server = null;
|
|
54
|
+
const app = (0, express_1.default)();
|
|
55
|
+
function startLocalServer() {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
console.warn('startLocalServer');
|
|
58
|
+
const projectPaths = (0, pathResolve_1.resolvePaths)();
|
|
59
|
+
if (!projectPaths.verified) {
|
|
60
|
+
console.log(ac.bold.red('Cannot start local server'));
|
|
61
|
+
console.log(ac.blue.italic('Not in a valid MistLift project directory'));
|
|
62
|
+
console.log('');
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// first build will exit on an error regardless of config
|
|
66
|
+
yield (0, build_1.doBuildAsync)([]);
|
|
67
|
+
yield (0, all_1.allBinder)();
|
|
68
|
+
// Log.Trace('calling functionBinder')
|
|
69
|
+
yield (0, functionBinder_1.functionBinder)();
|
|
70
|
+
// Log.Trace('done calling functionBinder')
|
|
71
|
+
// for JSON posts
|
|
72
|
+
// app.use(bodyParser.json({limit: '50mb'}))
|
|
73
|
+
app.use(express_1.default.json());
|
|
74
|
+
// for form posts
|
|
75
|
+
app.use(express_1.default.urlencoded({ extended: true }));
|
|
76
|
+
app.use('/', functionBinder_1.default);
|
|
77
|
+
app.use('/api', api_1.default);
|
|
78
|
+
app.use('*', all_1.default);
|
|
79
|
+
startServers();
|
|
80
|
+
void funcWatcher(path_1.default.join(projectPaths.basePath, 'functions'), path_1.default.join(projectPaths.basePath, 'webroot'));
|
|
81
|
+
// sleep(5000).then(() => esbuilder())
|
|
82
|
+
void (0, ESBuild_1.esbuilder)(triggerRebuild, false);
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
exports.startLocalServer = startLocalServer;
|
|
86
|
+
function startServers() {
|
|
87
|
+
startWebSocketConnection(app);
|
|
88
|
+
server = app.listen(serverConfig.port, function () {
|
|
89
|
+
var _a;
|
|
90
|
+
const port = (_a = serverConfig === null || serverConfig === void 0 ? void 0 : serverConfig.port) !== null && _a !== void 0 ? _a : defaultPort;
|
|
91
|
+
console.log(`http listening on port ${port}`);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
function funcWatcher(watchPath, webrootPath) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
if (serverConfig.rebuildFunctionsOnChange !== true)
|
|
97
|
+
return;
|
|
98
|
+
// console.log('watching for changes in functions')
|
|
99
|
+
(0, node_watch_1.default)(watchPath, { recursive: true }, onWatch1);
|
|
100
|
+
if (serverConfig.refreshBrowserOnWebrootChange === true) {
|
|
101
|
+
// console.log('watching for webroot changes')
|
|
102
|
+
(0, node_watch_1.default)(webrootPath, { recursive: true }, onWatch2);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
function onWatch1(evt, name) {
|
|
107
|
+
// console.log("funcWatch Event seen", {evt, name})
|
|
108
|
+
void triggerRebuild();
|
|
109
|
+
}
|
|
110
|
+
function onWatch2(evt, name) {
|
|
111
|
+
console.log('Webroot Watch Event seen', { evt, name });
|
|
112
|
+
void triggerBrowserRestart();
|
|
113
|
+
}
|
|
114
|
+
let alreadyBuilding = false;
|
|
115
|
+
function triggerRebuild() {
|
|
116
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
117
|
+
if (!alreadyBuilding) {
|
|
118
|
+
alreadyBuilding = true;
|
|
119
|
+
const errRet = yield (0, build_1.doBuildAsync)([]);
|
|
120
|
+
if (errRet !== 0) {
|
|
121
|
+
process.exit(errRet);
|
|
122
|
+
}
|
|
123
|
+
alreadyBuilding = false;
|
|
124
|
+
if (serverConfig.refreshBrowserOnFunctionChange === true) {
|
|
125
|
+
void triggerBrowserRestart();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
let closing = false;
|
|
131
|
+
function triggerBrowserRestart() {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
if (closing) {
|
|
134
|
+
console.warn('restarting...');
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
if (server !== null) {
|
|
138
|
+
closing = true;
|
|
139
|
+
yield socketClose();
|
|
140
|
+
yield server.close();
|
|
141
|
+
// await sleep(1000)
|
|
142
|
+
closing = false;
|
|
143
|
+
startServers();
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
closing = false;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
// class WSConnection {
|
|
151
|
+
// on: any
|
|
152
|
+
// sendUTF: any
|
|
153
|
+
// remoteAddress: string = ''
|
|
154
|
+
// }
|
|
155
|
+
let socketClose = () => { };
|
|
156
|
+
function startWebSocketConnection(app) {
|
|
157
|
+
// console.log("Starting WebSocket Connection Listener")
|
|
158
|
+
const ews = (0, express_ws_1.default)(app);
|
|
159
|
+
const wsapp = ews.app;
|
|
160
|
+
socketClose = (e) => {
|
|
161
|
+
// console.log("close wss", e)
|
|
162
|
+
ews.getWss().close();
|
|
163
|
+
};
|
|
164
|
+
// wsapp.use((err:any, req:any, res:any, next:any) => {
|
|
165
|
+
// console.error(err.stack);
|
|
166
|
+
// res.status(500).send('Something broke!');
|
|
167
|
+
// })
|
|
168
|
+
wsapp.get('/watch', (req, res, next) => {
|
|
169
|
+
// console.log('get route', req.testing)
|
|
170
|
+
});
|
|
171
|
+
wsapp.ws('/watch', (ws, req) => {
|
|
172
|
+
ws.on('message', (msg) => {
|
|
173
|
+
// console.log('Received WS Message: ' + msg)
|
|
174
|
+
ws.send(msg);
|
|
175
|
+
});
|
|
176
|
+
ws.on('close', () => {
|
|
177
|
+
// console.log("Websocket connection closed")
|
|
178
|
+
});
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=start.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -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)) !== 0)
|
|
18
|
+
return 1; // don't test if build fails
|
|
19
|
+
if (args.length === 0)
|
|
20
|
+
args = ['*'];
|
|
21
|
+
let ret = 0;
|
|
22
|
+
for (const funcName of args) {
|
|
23
|
+
const result = yield (0, executeCommand_1.executeCommand)('tap', [
|
|
24
|
+
`build/functions/${funcName}/*.test.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 !== 0) {
|
|
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,0DAAsD;AACtD,mCAAsC;AAEtC,SAAsB,WAAW,CAAE,IAAc;;QAC/C,IAAI,CAAA,MAAM,IAAA,oBAAY,EAAC,IAAI,CAAC,MAAK,CAAC;YAAE,OAAO,CAAC,CAAA,CAAC,4BAA4B;QACzE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,GAAG,GAAG,CAAC,CAAA;QACX,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAc,EAAC,KAAK,EAAE;gBACnC,mBAAmB,QAAQ,YAAY;gBACvC;;;;;;;;;;;mBAWG;gBACH,iBAAiB;gBACjB,SAAS;gBACT,UAAU;gBACV,wBAAwB;gBACxB,6BAA6B;aAEpC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAA;YAEZ,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACzB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAA;gBACpB,MAAK;YACP,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;CAAA;AAjCD,kCAiCC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.doUpdateAsync = void 0;
|
|
36
|
+
const ac = __importStar(require("ansi-colors"));
|
|
37
|
+
const pathResolve_1 = require("../lib/pathResolve");
|
|
38
|
+
const BuiltInHandler_1 = require("./builtin/BuiltInHandler");
|
|
39
|
+
const ESBuild_1 = require("../lib/ESBuild");
|
|
40
|
+
/// Info command
|
|
41
|
+
function doUpdateAsync(stageName) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
const projectPaths = (0, pathResolve_1.resolvePaths)();
|
|
44
|
+
// console.warn('>>> Update')
|
|
45
|
+
if (!projectPaths.verified) {
|
|
46
|
+
console.log(ac.bold.magenta('current directory is not at project root'));
|
|
47
|
+
return -1;
|
|
48
|
+
}
|
|
49
|
+
if (stageName === undefined)
|
|
50
|
+
stageName = 'Dev';
|
|
51
|
+
console.log(ac.green.bold(`Updating Webroot files to ${stageName}`));
|
|
52
|
+
try {
|
|
53
|
+
// console.warn(">>> esbuilder")
|
|
54
|
+
yield (0, ESBuild_1.esbuilder)();
|
|
55
|
+
// console.warn(">>> DeployRootFileserves")
|
|
56
|
+
yield (0, BuiltInHandler_1.DeployRootFileserves)();
|
|
57
|
+
// console.warn(">>> DeployWebrootBuiltIn")
|
|
58
|
+
yield (0, BuiltInHandler_1.DeployWebrootBuiltIn)();
|
|
59
|
+
return 0;
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
console.log(ac.bold.red('Unexpected failure updating Webroot deployments'));
|
|
63
|
+
return -1;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
exports.doUpdateAsync = doUpdateAsync;
|
|
68
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/commands/update.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiC;AACjC,oDAAiD;AACjD,6DAAqF;AACrF,4CAA0C;AAE1C,gBAAgB;AAChB,SAAsB,aAAa,CACjC,SAAkB;;QAElB,MAAM,YAAY,GAAG,IAAA,0BAAY,GAAE,CAAA;QAEnC,6BAA6B;QAE7B,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,CAAA;YACxE,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;QAED,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS,GAAG,KAAK,CAAA;QAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC,CAAA;QAEpE,IAAI,CAAC;YACH,gCAAgC;YAChC,MAAM,IAAA,mBAAS,GAAE,CAAA;YACjB,2CAA2C;YAC3C,MAAM,IAAA,qCAAoB,GAAE,CAAA;YAC5B,2CAA2C;YAC3C,MAAM,IAAA,qCAAoB,GAAE,CAAA;YAC5B,OAAO,CAAC,CAAA;QACV,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAA;YAC3E,OAAO,CAAC,CAAC,CAAA;QACX,CAAC;IACH,CAAC;CAAA;AA3BD,sCA2BC"}
|
|
@@ -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,IAAI"}
|
|
@@ -0,0 +1,134 @@
|
|
|
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.allBinder = void 0;
|
|
30
|
+
const path_1 = __importDefault(require("path"));
|
|
31
|
+
const fs_1 = __importDefault(require("fs"));
|
|
32
|
+
const ac = __importStar(require("ansi-colors"));
|
|
33
|
+
const pathResolve_1 = require("../lib/pathResolve");
|
|
34
|
+
const ApiBuildCollector_1 = require("../lib/openAPI/ApiBuildCollector");
|
|
35
|
+
const express_1 = __importDefault(require("express"));
|
|
36
|
+
const router = express_1.default.Router();
|
|
37
|
+
function allBinder() {
|
|
38
|
+
const projectPaths = (0, pathResolve_1.resolvePaths)();
|
|
39
|
+
const defs = (0, ApiBuildCollector_1.gatherFunctionDefinitions)();
|
|
40
|
+
/**
|
|
41
|
+
* @name /all
|
|
42
|
+
* @description
|
|
43
|
+
* Catch-all handler for URLs
|
|
44
|
+
* Provides some simple spam blocking and checks for file pass through at file root.
|
|
45
|
+
*
|
|
46
|
+
* ##### Filtering:
|
|
47
|
+
* - all .php extension references
|
|
48
|
+
*
|
|
49
|
+
* ##### File root:
|
|
50
|
+
* - file root is at service root + 'Public'
|
|
51
|
+
* - no path or path ending in / is appended with '/index.html' for folder root default behavior
|
|
52
|
+
* - File contents passed through using `sendFile` (will handle its own 404 if not found)
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
55
|
+
router.all('*', (req, res, next) => {
|
|
56
|
+
var _a;
|
|
57
|
+
// any PHP requests should be ignored
|
|
58
|
+
if (req.originalUrl.includes('.php')) {
|
|
59
|
+
return res.send('');
|
|
60
|
+
}
|
|
61
|
+
if (req.originalUrl.includes('.env')) {
|
|
62
|
+
return res.send('');
|
|
63
|
+
}
|
|
64
|
+
if (req.originalUrl.endsWith('webroot/favicon.ico')) {
|
|
65
|
+
return res.send('');
|
|
66
|
+
}
|
|
67
|
+
let filepath = (_a = req.originalUrl) !== null && _a !== void 0 ? _a : '/';
|
|
68
|
+
// match cloud behavior for docs because /api doesn't change cwd there
|
|
69
|
+
if (filepath.substring(0, 10) === '/api/docs/') {
|
|
70
|
+
filepath = filepath.replace('/api', '');
|
|
71
|
+
}
|
|
72
|
+
let funcFound = filepath === '/api'; // reserved "function"
|
|
73
|
+
if (!funcFound) {
|
|
74
|
+
if (filepath.charAt(0) === '/') {
|
|
75
|
+
let n = filepath.indexOf('/', 1);
|
|
76
|
+
if (n === -1)
|
|
77
|
+
n = filepath.length;
|
|
78
|
+
let rootEntity = filepath.substring(0, n);
|
|
79
|
+
n = rootEntity.indexOf('?');
|
|
80
|
+
if (n === -1)
|
|
81
|
+
n = rootEntity.length;
|
|
82
|
+
rootEntity = rootEntity.substring(0, n);
|
|
83
|
+
for (const entry of defs) {
|
|
84
|
+
let entryRoot = entry.pathMap;
|
|
85
|
+
const n = entryRoot.indexOf('/{');
|
|
86
|
+
if (n !== -1)
|
|
87
|
+
entryRoot = entryRoot.substring(0, n);
|
|
88
|
+
if (rootEntity === entryRoot) {
|
|
89
|
+
funcFound = true;
|
|
90
|
+
break;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (!funcFound) {
|
|
96
|
+
// check for '/' in path beyond the first one
|
|
97
|
+
if (filepath.includes('/', 1)) {
|
|
98
|
+
// console.log(ac.magenta.italic("Warning: / path delimiters will not be honored in a cloud deployment, use + instead ")+filepath)
|
|
99
|
+
}
|
|
100
|
+
// convert any incoming + to / to match cloud behavior
|
|
101
|
+
while (filepath.includes('+'))
|
|
102
|
+
filepath = filepath.replace('+', '/');
|
|
103
|
+
// Put any other filtering here
|
|
104
|
+
if (filepath.includes('?')) {
|
|
105
|
+
filepath = filepath.substring(0, filepath.indexOf('?'));
|
|
106
|
+
}
|
|
107
|
+
if (filepath.substring(filepath.length - 1) === '/')
|
|
108
|
+
filepath += 'index.html';
|
|
109
|
+
if (filepath.substring(0, 10) === '/api/docs/') {
|
|
110
|
+
filepath = filepath.replace('/api', '');
|
|
111
|
+
}
|
|
112
|
+
if (filepath.includes('/docs')) {
|
|
113
|
+
if (filepath.includes('.map')) {
|
|
114
|
+
return res.sendStatus(200);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (!filepath.endsWith('.websocket')) {
|
|
118
|
+
filepath = path_1.default.resolve(path_1.default.join(projectPaths.basePath, 'webroot', filepath)); // .. out of build
|
|
119
|
+
if (fs_1.default.existsSync(filepath)) {
|
|
120
|
+
return res.sendFile(filepath);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
console.log(ac.red.bold("can't find " + filepath));
|
|
124
|
+
return res.sendStatus(404);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// if none of the above, tickle enumerator so we can process other paths
|
|
129
|
+
next();
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
exports.allBinder = allBinder;
|
|
133
|
+
exports.default = router;
|
|
134
|
+
//# sourceMappingURL=all.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"all.js","sourceRoot":"","sources":["../../../src/expressRoutes/all.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
/* eslint @typescript-eslint/no-var-requires: "off" */
|
|
7
|
+
const express_1 = __importDefault(require("express"));
|
|
8
|
+
const LiftVersion_1 = require("../lib/LiftVersion");
|
|
9
|
+
const openApiUi = require('openapi-ui');
|
|
10
|
+
const router = express_1.default.Router();
|
|
11
|
+
router.get('/', function (req, res, next) {
|
|
12
|
+
res.send(generateApiDoc());
|
|
13
|
+
});
|
|
14
|
+
exports.default = router;
|
|
15
|
+
function generateApiDoc() {
|
|
16
|
+
var _a, _b, _c;
|
|
17
|
+
console.log('---- Serving up api');
|
|
18
|
+
return openApiUi.generateIndex({
|
|
19
|
+
baseUrl: 'docs',
|
|
20
|
+
title: `${(_a = (0, LiftVersion_1.getProjectName)()) !== null && _a !== void 0 ? _a : ''} ${(_c = (_b = (0, LiftVersion_1.getProjectVersion)()) === null || _b === void 0 ? void 0 : _b.toString()) !== null && _c !== void 0 ? _c : ''}`,
|
|
21
|
+
url: 'docs/apidoc.yaml'
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/expressRoutes/api.ts"],"names":[],"mappings":";;;;;AAAA,sDAAsD;AACtD,sDAA6B;AAE7B,oDAAsE;AAEtE,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AACvC,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;AAE/B,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,EAAE,GAAG,EAAE,IAAI;IACtC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAA;AAC5B,CAAC,CAAC,CAAA;AAEF,kBAAe,MAAM,CAAA;AAErB,SAAS,cAAc;;IACrB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IAClC,OAAO,SAAS,CAAC,aAAa,CAAC;QAC7B,OAAO,EAAE,MAAM;QACf,KAAK,EAAE,GAAG,MAAA,IAAA,4BAAc,GAAE,mCAAI,EAAE,IAAI,MAAA,MAAA,IAAA,+BAAiB,GAAE,0CAAE,QAAQ,EAAE,mCAAI,EAAE,EAAE;QAC3E,GAAG,EAAE,kBAAkB;KACxB,CAAC,CAAA;AACJ,CAAC"}
|