@tremho/mist-lift 2.1.5 → 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 +8 -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 -2
- 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,87 @@
|
|
|
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.DeployApiBuiltin = exports.DeployRootFileserves = exports.DeployWebrootBuiltIn = void 0;
|
|
39
|
+
const StageWebrootZip_1 = require("./StageWebrootZip");
|
|
40
|
+
const DeployBuiltInZip_1 = require("./DeployBuiltInZip");
|
|
41
|
+
const WebrootFileSupport_1 = require("../../lib/openAPI/WebrootFileSupport");
|
|
42
|
+
const ac = __importStar(require("ansi-colors"));
|
|
43
|
+
const fs_1 = __importDefault(require("fs"));
|
|
44
|
+
const path_1 = __importDefault(require("path"));
|
|
45
|
+
function DeployWebrootBuiltIn() {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
// console.warn(">> DeployWebrootBuiltIn")
|
|
48
|
+
const wrZip = yield (0, StageWebrootZip_1.StageWebrootZip)();
|
|
49
|
+
// console.log(">> Deploy Webroot Builtin from "+wrZip)
|
|
50
|
+
yield (0, DeployBuiltInZip_1.DeployBuiltInZip)('Webroot', wrZip);
|
|
51
|
+
// remove temp zip when done
|
|
52
|
+
// console.warn("a.zip is left behind")
|
|
53
|
+
fs_1.default.rmSync(wrZip, { recursive: true });
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
exports.DeployWebrootBuiltIn = DeployWebrootBuiltIn;
|
|
57
|
+
function DeployRootFileserves() {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
// Get root paths
|
|
60
|
+
const roots = (0, WebrootFileSupport_1.GetWebrootServePaths)();
|
|
61
|
+
// for each, deploy under the name of each
|
|
62
|
+
const fileserveZip = path_1.default.join(__dirname, 'prebuilt-zips', 'FileServe.zip');
|
|
63
|
+
const all = [];
|
|
64
|
+
for (let root of roots) {
|
|
65
|
+
root = root.trim();
|
|
66
|
+
let name = 'fileserve_' + root;
|
|
67
|
+
while (name.includes('/')) {
|
|
68
|
+
name = name.replace('/', '');
|
|
69
|
+
}
|
|
70
|
+
// console.log('pushing ', {name, fileserveZip})
|
|
71
|
+
all.push((0, DeployBuiltInZip_1.DeployBuiltInZip)(name, fileserveZip));
|
|
72
|
+
}
|
|
73
|
+
console.log(ac.green.italic(`deploying ${all.length} file groups...`));
|
|
74
|
+
yield Promise.all(all);
|
|
75
|
+
// console.log('all complete');
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
exports.DeployRootFileserves = DeployRootFileserves;
|
|
79
|
+
function DeployApiBuiltin() {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
// get the prebuilt zip location
|
|
82
|
+
const apiZip = path_1.default.join(__dirname, 'prebuilt-zips', 'API.zip');
|
|
83
|
+
yield (0, DeployBuiltInZip_1.DeployBuiltInZip)('api', apiZip);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
exports.DeployApiBuiltin = DeployApiBuiltin;
|
|
87
|
+
//# sourceMappingURL=BuiltInHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BuiltInHandler.js","sourceRoot":"","sources":["../../../../src/commands/builtin/BuiltInHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAmD;AACnD,yDAAqD;AACrD,6EAA2E;AAC3E,gDAAiC;AAEjC,4CAAmB;AACnB,gDAAuB;AAEvB,SAAsB,oBAAoB;;QAGxC,0CAA0C;QAC1C,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAe,GAAE,CAAA;QACrC,uDAAuD;QACvD,MAAM,IAAA,mCAAgB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACxC,4BAA4B;QAC5B,uCAAuC;QACvC,YAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;CAAA;AAVD,oDAUC;AAED,SAAsB,oBAAoB;;QAGxC,iBAAiB;QACjB,MAAM,KAAK,GAAG,IAAA,yCAAoB,GAAE,CAAA;QACpC,0CAA0C;QAC1C,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;QAC3E,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAClB,IAAI,IAAI,GAAG,YAAY,GAAG,IAAI,CAAA;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAC9B,CAAC;YACD,gDAAgD;YAChD,GAAG,CAAC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAA;QAChD,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,MAAM,iBAAiB,CAAC,CAAC,CAAA;QACtE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,+BAA+B;IACjC,CAAC;CAAA;AApBD,oDAoBC;AAED,SAAsB,gBAAgB;;QAGpC,gCAAgC;QAChC,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,CAAA;QAC/D,MAAM,IAAA,mCAAgB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IACvC,CAAC;CAAA;AAND,4CAMC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
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.DeployFileserve = exports.DeployBuiltInZip = void 0;
|
|
36
|
+
const path = __importStar(require("path"));
|
|
37
|
+
const deploy_1 = require("../deploy");
|
|
38
|
+
function DeployBuiltInZip(name, zipPath) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
// console.log(">> Deploying "+name)
|
|
41
|
+
yield (0, deploy_1.deployPackage)(name, zipPath);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
exports.DeployBuiltInZip = DeployBuiltInZip;
|
|
45
|
+
function DeployFileserve(root) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
// rootName is without slash
|
|
48
|
+
if (root !== '') {
|
|
49
|
+
const rootName = root.replace('/', '');
|
|
50
|
+
const name = 'fileserve_' + rootName;
|
|
51
|
+
const zipPath = path.join(__dirname, 'prebuilt-zips', 'FileServe.zip');
|
|
52
|
+
yield DeployBuiltInZip(name, zipPath);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
exports.DeployFileserve = DeployFileserve;
|
|
57
|
+
//# sourceMappingURL=DeployBuiltInZip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeployBuiltInZip.js","sourceRoot":"","sources":["../../../../src/commands/builtin/DeployBuiltInZip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA4B;AAC5B,sCAAyC;AAEzC,SAAsB,gBAAgB,CAEpC,IAAY,EACZ,OAAe;;QAEf,oCAAoC;QACpC,MAAM,IAAA,sBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC;CAAA;AAPD,4CAOC;AAED,SAAsB,eAAe,CAEnC,IAAY;;QAEZ,4BAA4B;QAC5B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YACtC,MAAM,IAAI,GAAG,YAAY,GAAG,QAAQ,CAAA;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;YACtE,MAAM,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvC,CAAC;IACH,CAAC;CAAA;AAXD,0CAWC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
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.StageWebrootZip = void 0;
|
|
36
|
+
const ApiDocMaker_1 = require("./ApiDocMaker");
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const pathResolve_1 = require("../../lib/pathResolve");
|
|
40
|
+
const DirectoryUtils_1 = require("../../lib/DirectoryUtils");
|
|
41
|
+
const utils_1 = require("../../lib/utils");
|
|
42
|
+
// import { executeCommand } from '../../lib/executeCommand'
|
|
43
|
+
const fs_1 = require("fs");
|
|
44
|
+
function StageWebrootZip() {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
// console.log(">>>> staging webroot to zip")
|
|
47
|
+
const projectPaths = (0, pathResolve_1.resolvePaths)();
|
|
48
|
+
const webroot = path.join(projectPaths.basePath, 'webroot');
|
|
49
|
+
const packageTemp = path.join(projectPaths.basePath, '.package_temp');
|
|
50
|
+
const stagedWebrootFolder = path.join(packageTemp, 'Webroot');
|
|
51
|
+
const zipFilesPath = path.join(stagedWebrootFolder, '__files__');
|
|
52
|
+
// console.log(">>>> paths", {webroot, packageTemp, stagedWebrootFolder, zipFilesPath})
|
|
53
|
+
if (fs.existsSync(stagedWebrootFolder))
|
|
54
|
+
(0, fs_1.rmSync)(stagedWebrootFolder, { recursive: true });
|
|
55
|
+
yield fs.mkdirSync(stagedWebrootFolder);
|
|
56
|
+
// make a public yaml
|
|
57
|
+
yield (0, ApiDocMaker_1.MakePublicApiDoc)(); // writes apidoc.yaml to docs
|
|
58
|
+
const builtinPath = path.join(__dirname, 'prebuilt-zips', 'Webroot.zip');
|
|
59
|
+
const exdir = path.join(projectPaths.basePath, '.package_temp');
|
|
60
|
+
// console.log(">>>> unzipping from "+builtinPath+" to "+exdir)
|
|
61
|
+
yield (0, utils_1.UnzipToFolder)(builtinPath, exdir);
|
|
62
|
+
yield (0, fs_1.rmSync)(path.join(stagedWebrootFolder, 'Api.test.js'));
|
|
63
|
+
yield (0, fs_1.rmSync)(path.join(stagedWebrootFolder, 'Api.test.js.map'));
|
|
64
|
+
yield (0, fs_1.rmSync)(path.join(stagedWebrootFolder, 'FileServe.test.js'));
|
|
65
|
+
yield (0, fs_1.rmSync)(path.join(stagedWebrootFolder, 'FileServe.test.js.map'));
|
|
66
|
+
yield (0, fs_1.rmSync)(path.join(stagedWebrootFolder, 'Webroot.test.js'));
|
|
67
|
+
yield (0, fs_1.rmSync)(path.join(stagedWebrootFolder, 'Webroot.test.js.map'));
|
|
68
|
+
// console.log("is exdir "+exdir+"/Webroot the same as stagedWebrootFolder "+stagedWebrootFolder+"?")
|
|
69
|
+
// console.log(">>>> Code-only webroot folder at "+stagedWebrootFolder)
|
|
70
|
+
// await executeCommand('ls', [ '-l', stagedWebrootFolder], '', true)
|
|
71
|
+
// console.log(">>>> making zipFilesPath "+zipFilesPath)
|
|
72
|
+
yield fs.mkdirSync(zipFilesPath);
|
|
73
|
+
// console.log(">>>> enumerating "+webroot)
|
|
74
|
+
yield (0, DirectoryUtils_1.recurseDirectory)(webroot, (filepath, stats) => {
|
|
75
|
+
const relPath = filepath.substring(webroot.length);
|
|
76
|
+
if (stats.isDirectory()) {
|
|
77
|
+
fs.mkdirSync(zipFilesPath + relPath, { recursive: true });
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
// console.log(">>>> copying "+filepath+" to "+zipFilesPath+relPath)
|
|
81
|
+
fs.copyFileSync(filepath, zipFilesPath + relPath);
|
|
82
|
+
}
|
|
83
|
+
return false;
|
|
84
|
+
});
|
|
85
|
+
const webrootZip = path.join(projectPaths.basePath, 'a.zip');
|
|
86
|
+
// console.log(">>>> Combined webroot folder at "+stagedWebrootFolder)
|
|
87
|
+
// await executeCommand('ls', [ '-l', stagedWebrootFolder+'/__files__'], '', true)
|
|
88
|
+
yield (0, utils_1.FolderToZip)(stagedWebrootFolder, webrootZip);
|
|
89
|
+
// return path to this zip
|
|
90
|
+
return webrootZip;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
exports.StageWebrootZip = StageWebrootZip;
|
|
94
|
+
//# sourceMappingURL=StageWebrootZip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StageWebrootZip.js","sourceRoot":"","sources":["../../../../src/commands/builtin/StageWebrootZip.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/** Handles fucntion creation via the create command */
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
+
if (mod && mod.__esModule) return mod;
|
|
21
|
+
var result = {};
|
|
22
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
+
__setModuleDefault(result, mod);
|
|
24
|
+
return result;
|
|
25
|
+
};
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.doCreate = void 0;
|
|
28
|
+
const fs = __importStar(require("fs"));
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
const ac = __importStar(require("ansi-colors"));
|
|
31
|
+
const pathResolve_1 = require("../lib/pathResolve");
|
|
32
|
+
const CaseUtils_1 = require("../lib/CaseUtils");
|
|
33
|
+
const help_1 = require("./help");
|
|
34
|
+
/// Create command
|
|
35
|
+
function doCreate(funcName // name of function to create
|
|
36
|
+
) {
|
|
37
|
+
if (funcName === '' || funcName === undefined) {
|
|
38
|
+
(0, help_1.helpCreate)();
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
console.log(ac.green.bold('Creating new function named ') + funcName);
|
|
42
|
+
const projectPaths = (0, pathResolve_1.resolvePaths)();
|
|
43
|
+
if (!projectPaths.verified) {
|
|
44
|
+
console.log(ac.bold.magenta('current directory is not at project root'));
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const funcPath = path.join(projectPaths.functionPath, funcName);
|
|
48
|
+
if (!fs.existsSync(funcPath))
|
|
49
|
+
fs.mkdirSync(funcPath);
|
|
50
|
+
const dataDir = path.join(__dirname, '..', '..', 'templateData');
|
|
51
|
+
const testFileName = (0, CaseUtils_1.pascalCase)(funcName) + '.test.ts';
|
|
52
|
+
if (!fs.existsSync(path.join(funcPath, 'src')))
|
|
53
|
+
fs.mkdirSync(path.join(funcPath, 'src'));
|
|
54
|
+
// create link to common lib
|
|
55
|
+
if (!fs.existsSync(path.join(funcPath, 'src', 'commonLib'))) {
|
|
56
|
+
const funcSrc = path.join(funcPath, 'src');
|
|
57
|
+
const relPath = path.relative(funcSrc, projectPaths.basePath);
|
|
58
|
+
let from = path.join(relPath, 'commonLib');
|
|
59
|
+
let to = path.join(funcSrc, 'lib');
|
|
60
|
+
if (path.sep !== '/') {
|
|
61
|
+
while (from.includes('/'))
|
|
62
|
+
from = from.replace('/', path.sep);
|
|
63
|
+
while (to.includes('/'))
|
|
64
|
+
to = to.replace('/', path.sep);
|
|
65
|
+
}
|
|
66
|
+
fs.symlinkSync(from, to, 'dir');
|
|
67
|
+
}
|
|
68
|
+
let localsrc = fs.readFileSync(path.join(dataDir, 'function-local-ts')).toString();
|
|
69
|
+
while (localsrc.includes('$$FUNCTION_NAME$$')) {
|
|
70
|
+
localsrc = localsrc.replace('$$FUNCTION_NAME$$', funcName);
|
|
71
|
+
}
|
|
72
|
+
fs.writeFileSync(path.join(funcPath, 'src', 'local.ts'), localsrc);
|
|
73
|
+
let defsrc = fs.readFileSync(path.join(dataDir, 'function-definition-template')).toString();
|
|
74
|
+
while (defsrc.includes('$$FUNCTION_NAME$$')) {
|
|
75
|
+
defsrc = defsrc.replace('$$FUNCTION_NAME$$', funcName);
|
|
76
|
+
}
|
|
77
|
+
const defpathMap = '/' + funcName.toLowerCase();
|
|
78
|
+
defsrc = defsrc.replace('$$PATHMAP$$', defpathMap);
|
|
79
|
+
fs.writeFileSync(path.join(funcPath, 'src', 'definition.json'), defsrc);
|
|
80
|
+
let mainsrc = fs.readFileSync(path.join(dataDir, 'function-main-ts')).toString();
|
|
81
|
+
while (mainsrc.includes('$$TemplateName$$')) {
|
|
82
|
+
mainsrc = mainsrc.replace('$$TemplateName$$', funcName);
|
|
83
|
+
}
|
|
84
|
+
fs.writeFileSync(path.join(funcPath, 'src', 'main.ts'), mainsrc);
|
|
85
|
+
fs.copyFileSync(path.join(dataDir, 'function-test-template'), path.join(funcPath, testFileName));
|
|
86
|
+
fs.copyFileSync(path.join(dataDir, 'function-runmain-mjs'), path.join(funcPath, 'runmain.mjs'));
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
exports.doCreate = doCreate;
|
|
90
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/create.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;;;;;;;;;;;;;;;;;;;;;;;;AAEvD,uCAAwB;AACxB,2CAA4B;AAC5B,gDAAiC;AACjC,oDAAiD;AACjD,gDAA6C;AAC7C,iCAAmC;AAEnC,kBAAkB;AAClB,SAAgB,QAAQ,CACtB,QAAiB,CAAC,6BAA6B;;IAE/C,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC9C,IAAA,iBAAU,GAAE,CAAA;IACd,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,GAAG,QAAQ,CAAC,CAAA;QAErE,MAAM,YAAY,GAAG,IAAA,0BAAY,GAAE,CAAA;QACnC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,CAAA;YACxE,OAAM;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;QAEhE,MAAM,YAAY,GAAG,IAAA,sBAAU,EAAC,QAAQ,CAAC,GAAG,UAAU,CAAA;QACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;QAExF,4BAA4B;QAC5B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;YAC7D,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YAC1C,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAClC,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;gBAC7D,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YACzD,CAAC;YAED,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;QACjC,CAAC;QAED,IAAI,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAClF,OAAO,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC9C,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;QAC5D,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;QAClE,IAAI,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC3F,OAAO,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC5C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAA;QACxD,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAA;QAC/C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAA;QAClD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAA;QACvE,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QAChF,OAAO,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5C,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAA;QACzD,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAA;QAChE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAA;QAChG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAA;IACjG,CAAC;AACH,CAAC;AAtDD,4BAsDC"}
|
|
@@ -0,0 +1,220 @@
|
|
|
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.deployPackage = exports.doDeployAsync = void 0;
|
|
39
|
+
const client_lambda_1 = require("@aws-sdk/client-lambda");
|
|
40
|
+
// import md5 from 'md5'
|
|
41
|
+
const path_1 = __importDefault(require("path"));
|
|
42
|
+
const fs_1 = __importDefault(require("fs"));
|
|
43
|
+
const pathResolve_1 = require("../lib/pathResolve");
|
|
44
|
+
const ac = __importStar(require("ansi-colors"));
|
|
45
|
+
const DirectoryUtils_1 = require("../lib/DirectoryUtils");
|
|
46
|
+
const utils_1 = require("../lib/utils");
|
|
47
|
+
const package_1 = require("./package");
|
|
48
|
+
const LiftConfig_1 = require("../lib/LiftConfig");
|
|
49
|
+
const IdSrc_1 = require("../lib/IdSrc");
|
|
50
|
+
// import { executeCommand } from '../lib/executeCommand'
|
|
51
|
+
let projectPaths;
|
|
52
|
+
let deploymentRecord = {}; // a map of last deployment times
|
|
53
|
+
// package then deploy
|
|
54
|
+
function doDeployAsync(args) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
var _a;
|
|
57
|
+
projectPaths = (0, pathResolve_1.resolvePaths)();
|
|
58
|
+
if (!projectPaths.verified) {
|
|
59
|
+
console.log(ac.bold.magenta('current directory is not at project root'));
|
|
60
|
+
return -1;
|
|
61
|
+
}
|
|
62
|
+
const deploymentRecordPath = path_1.default.join(projectPaths.basePath, '.deployed');
|
|
63
|
+
try {
|
|
64
|
+
deploymentRecord = JSON.parse(fs_1.default.readFileSync(deploymentRecordPath).toString());
|
|
65
|
+
}
|
|
66
|
+
catch (_b) { }
|
|
67
|
+
const funcsToDeploy = [];
|
|
68
|
+
const options = [];
|
|
69
|
+
for (const arg of args) {
|
|
70
|
+
if (arg.charAt(0) === '-') {
|
|
71
|
+
options.push(arg.toLowerCase());
|
|
72
|
+
}
|
|
73
|
+
else
|
|
74
|
+
funcsToDeploy.push(arg);
|
|
75
|
+
}
|
|
76
|
+
if (!options.includes('--no-package')) {
|
|
77
|
+
const ret = yield (0, package_1.doPackageAsync)(args);
|
|
78
|
+
if (ret !== 0)
|
|
79
|
+
return ret;
|
|
80
|
+
else
|
|
81
|
+
yield (0, utils_1.delay)(2500);
|
|
82
|
+
}
|
|
83
|
+
if (options.includes('--clean')) {
|
|
84
|
+
deploymentRecord = {};
|
|
85
|
+
}
|
|
86
|
+
if (funcsToDeploy.length === 0) {
|
|
87
|
+
let firstDepth = 0;
|
|
88
|
+
(0, DirectoryUtils_1.recurseDirectory)(projectPaths.functionPath, (filepath, stats) => {
|
|
89
|
+
const depth = filepath.split(path_1.default.sep).length;
|
|
90
|
+
if (firstDepth === 0)
|
|
91
|
+
firstDepth = depth;
|
|
92
|
+
if (stats.isDirectory() && depth === firstDepth) {
|
|
93
|
+
funcsToDeploy.push(path_1.default.basename(filepath));
|
|
94
|
+
}
|
|
95
|
+
return false;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
for (const funcName of funcsToDeploy) {
|
|
99
|
+
const zipFile = path_1.default.join(projectPaths.basePath, 'MistLift_Zips', funcName + '.zip');
|
|
100
|
+
if (fs_1.default.existsSync(zipFile)) {
|
|
101
|
+
const zipTime = fs_1.default.statSync(zipFile).mtime;
|
|
102
|
+
if (zipTime.getTime() > ((_a = deploymentRecord[funcName]) !== null && _a !== void 0 ? _a : 0)) {
|
|
103
|
+
yield deployPackage(funcName);
|
|
104
|
+
deploymentRecord[funcName] = Date.now();
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
console.error('deploy: ' + zipFile + ac.red.bold(` ${funcName} does not exist`));
|
|
109
|
+
return -1;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
fs_1.default.writeFileSync(deploymentRecordPath, JSON.stringify(deploymentRecord));
|
|
114
|
+
}
|
|
115
|
+
catch (_c) { }
|
|
116
|
+
return 0;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
exports.doDeployAsync = doDeployAsync;
|
|
120
|
+
// ------------
|
|
121
|
+
function deployPackage(funcName, zipFile) {
|
|
122
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
// first off, anchor a base directory
|
|
125
|
+
projectPaths = (0, pathResolve_1.resolvePaths)();
|
|
126
|
+
zipFile !== null && zipFile !== void 0 ? zipFile : (zipFile = path_1.default.join(projectPaths.basePath, 'MistLift_Zips', funcName + '.zip'));
|
|
127
|
+
const defFile = path_1.default.join(projectPaths.basePath, 'functions', funcName, 'src', 'definition.json');
|
|
128
|
+
let def = {};
|
|
129
|
+
try {
|
|
130
|
+
def = JSON.parse(fs_1.default.readFileSync(defFile).toString());
|
|
131
|
+
}
|
|
132
|
+
catch (e) {
|
|
133
|
+
// hack for assigning a definition -- the defs from ApiDocMaker don't appear here
|
|
134
|
+
if (funcName === 'Webroot') {
|
|
135
|
+
def.name = 'Webroot';
|
|
136
|
+
def.timeoutSeconds = 8;
|
|
137
|
+
def.memorySize = 256;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
const timeout = (_a = def.timeoutSeconds) !== null && _a !== void 0 ? _a : 0; // zero will mean default (3 seconds on AWS)
|
|
141
|
+
const memorySize = (_b = def.memorySize) !== null && _b !== void 0 ? _b : 0; // zero is default (128 [mb] for AWS)
|
|
142
|
+
// funcname gets decorated with current instance identifier
|
|
143
|
+
const dFuncName = (0, IdSrc_1.decoratedName)(funcName);
|
|
144
|
+
// See if function exists
|
|
145
|
+
const client = new client_lambda_1.LambdaClient((0, LiftConfig_1.getAWSCredentials)());
|
|
146
|
+
const command = new client_lambda_1.DeleteFunctionCommand({
|
|
147
|
+
FunctionName: dFuncName
|
|
148
|
+
});
|
|
149
|
+
client.send(command).then((response) => {
|
|
150
|
+
}).catch((e) => {
|
|
151
|
+
});
|
|
152
|
+
// Use to detect runmain.mjs in zips (including built-ins)
|
|
153
|
+
// console.log(ac.green.italic("deploying ")+ac.green.bold(funcName)+" from "+zipFile)
|
|
154
|
+
// await executeCommand('unzip', ['-t', zipFile, '|', 'grep runmain.mjs'], '', true);
|
|
155
|
+
try {
|
|
156
|
+
const response = yield CreateCloudFunction(dFuncName, zipFile, timeout, memorySize);
|
|
157
|
+
const parts = response.FunctionArn.split(':');
|
|
158
|
+
const principal = parts[4];
|
|
159
|
+
yield AddPermissions(client, dFuncName, principal);
|
|
160
|
+
let deployMsg = `Successfully deployed ${funcName}`;
|
|
161
|
+
if (memorySize > 0 || timeout > 0) {
|
|
162
|
+
deployMsg += ac.grey.italic(' with ');
|
|
163
|
+
const useAnd = memorySize > 9 && timeout > 0;
|
|
164
|
+
if (memorySize > 0) {
|
|
165
|
+
deployMsg += ac.grey(`memorySize ${memorySize}mb`);
|
|
166
|
+
if (useAnd)
|
|
167
|
+
deployMsg += ac.grey.italic(' and ');
|
|
168
|
+
}
|
|
169
|
+
if (timeout > 0) {
|
|
170
|
+
deployMsg += ac.grey(`timeout ${timeout} seconds`);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
console.log(ac.green.bold(deployMsg));
|
|
174
|
+
}
|
|
175
|
+
catch (e) {
|
|
176
|
+
console.error(ac.red.bold.italic('Error deploying ' + funcName), e);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
exports.deployPackage = deployPackage;
|
|
181
|
+
function CreateCloudFunction(funcName, zipFile, timeout, memorySize) {
|
|
182
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
183
|
+
var _a;
|
|
184
|
+
const settings = (0, LiftConfig_1.getSettings)();
|
|
185
|
+
const nodeRuntime = settings.awsNodeRuntime;
|
|
186
|
+
const serviceRole = (_a = settings.awsServiceRoleARN) !== null && _a !== void 0 ? _a : '';
|
|
187
|
+
const zipFileBase64 = fs_1.default.readFileSync(zipFile);
|
|
188
|
+
const client = new client_lambda_1.LambdaClient((0, LiftConfig_1.getAWSCredentials)());
|
|
189
|
+
const command = new client_lambda_1.CreateFunctionCommand({
|
|
190
|
+
FunctionName: funcName,
|
|
191
|
+
Runtime: nodeRuntime,
|
|
192
|
+
Role: serviceRole,
|
|
193
|
+
Handler: 'runmain.handler',
|
|
194
|
+
Code: {
|
|
195
|
+
ZipFile: zipFileBase64
|
|
196
|
+
},
|
|
197
|
+
Timeout: timeout > 0 ? timeout : undefined,
|
|
198
|
+
MemorySize: memorySize > 0 ? memorySize : undefined
|
|
199
|
+
});
|
|
200
|
+
const resp = yield client.send(command); // response
|
|
201
|
+
return resp;
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
function AddPermissions(client, funcName, principal) {
|
|
205
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
206
|
+
var _a;
|
|
207
|
+
const region = (_a = (0, LiftConfig_1.getSettings)().awsPreferredRegion) !== null && _a !== void 0 ? _a : '';
|
|
208
|
+
const WSApi = '/' + funcName.toLowerCase();
|
|
209
|
+
const command = new client_lambda_1.AddPermissionCommand({
|
|
210
|
+
FunctionName: funcName,
|
|
211
|
+
StatementId: 'InvokePermission',
|
|
212
|
+
Action: 'lambda:invokeFunction',
|
|
213
|
+
Principal: 'apigateway.amazonaws.com',
|
|
214
|
+
SourceArn: `arn:aws:execute-api:${region}:${principal}:${WSApi}`
|
|
215
|
+
});
|
|
216
|
+
const resp = yield client.send(command);
|
|
217
|
+
return resp;
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=deploy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/commands/deploy.ts"],"names":[],"mappings":"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"}
|