@tremho/mist-lift 2.1.4 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +11 -2
  2. package/build/QSTest/functions/IntegrationTest/IntegrationTest.test.js +47 -0
  3. package/build/QSTest/functions/IntegrationTest/IntegrationTest.test.js.map +1 -0
  4. package/build/QSTest/functions/IntegrationTest/src/local.js +33 -0
  5. package/build/QSTest/functions/IntegrationTest/src/local.js.map +1 -0
  6. package/build/QSTest/functions/IntegrationTest/src/main.js +29 -0
  7. package/build/QSTest/functions/IntegrationTest/src/main.js.map +1 -0
  8. package/build/commands/builtin/prebuilt-zips/API.zip +0 -0
  9. package/build/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  10. package/build/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  11. package/build/commands/deploy.js +4 -5
  12. package/build/commands/deploy.js.map +1 -1
  13. package/build/commands/package.js +1 -1
  14. package/build/commands/package.js.map +1 -1
  15. package/build/commands/publish.js +18 -10
  16. package/build/commands/publish.js.map +1 -1
  17. package/build/lib/ESBuild.js +8 -6
  18. package/build/lib/ESBuild.js.map +1 -1
  19. package/build/lib/IdSrc.js +23 -0
  20. package/build/lib/IdSrc.js.map +1 -0
  21. package/build/lib/openAPI/openApiConstruction.js.map +1 -1
  22. package/build/src/commands/actions/initQuestions.js +140 -0
  23. package/build/src/commands/actions/initQuestions.js.map +1 -0
  24. package/build/src/commands/actions/makePackageJson.js +2 -0
  25. package/build/src/commands/actions/makePackageJson.js.map +1 -0
  26. package/build/src/commands/actions/setupPackageJson.js +68 -0
  27. package/build/src/commands/actions/setupPackageJson.js.map +1 -0
  28. package/build/src/commands/build.js +209 -0
  29. package/build/src/commands/build.js.map +1 -0
  30. package/build/src/commands/builtin/ApiDocMaker.js +115 -0
  31. package/build/src/commands/builtin/ApiDocMaker.js.map +1 -0
  32. package/build/src/commands/builtin/BuiltInHandler.js +87 -0
  33. package/build/src/commands/builtin/BuiltInHandler.js.map +1 -0
  34. package/build/src/commands/builtin/DeployBuiltInZip.js +57 -0
  35. package/build/src/commands/builtin/DeployBuiltInZip.js.map +1 -0
  36. package/build/src/commands/builtin/StageWebrootZip.js +94 -0
  37. package/build/src/commands/builtin/StageWebrootZip.js.map +1 -0
  38. package/build/src/commands/create.js +90 -0
  39. package/build/src/commands/create.js.map +1 -0
  40. package/build/src/commands/deploy.js +220 -0
  41. package/build/src/commands/deploy.js.map +1 -0
  42. package/build/src/commands/doctor.js +150 -0
  43. package/build/src/commands/doctor.js.map +1 -0
  44. package/build/src/commands/help.js +231 -0
  45. package/build/src/commands/help.js.map +1 -0
  46. package/build/src/commands/info.js +71 -0
  47. package/build/src/commands/info.js.map +1 -0
  48. package/build/src/commands/init.js +103 -0
  49. package/build/src/commands/init.js.map +1 -0
  50. package/build/src/commands/package.js +258 -0
  51. package/build/src/commands/package.js.map +1 -0
  52. package/build/src/commands/publish.js +359 -0
  53. package/build/src/commands/publish.js.map +1 -0
  54. package/build/src/commands/settings.js +96 -0
  55. package/build/src/commands/settings.js.map +1 -0
  56. package/build/src/commands/start.js +181 -0
  57. package/build/src/commands/start.js.map +1 -0
  58. package/build/src/commands/test.js +52 -0
  59. package/build/src/commands/test.js.map +1 -0
  60. package/build/src/commands/update.js +68 -0
  61. package/build/src/commands/update.js.map +1 -0
  62. package/build/src/commands/user.js +20 -0
  63. package/build/src/commands/user.js.map +1 -0
  64. package/build/src/expressRoutes/all.js +134 -0
  65. package/build/src/expressRoutes/all.js.map +1 -0
  66. package/build/src/expressRoutes/api.js +24 -0
  67. package/build/src/expressRoutes/api.js.map +1 -0
  68. package/build/src/expressRoutes/functionBinder.js +201 -0
  69. package/build/src/expressRoutes/functionBinder.js.map +1 -0
  70. package/build/src/integration-tests/quickstart-scenario.test.js +86 -0
  71. package/build/src/integration-tests/quickstart-scenario.test.js.map +1 -0
  72. package/build/src/lib/CaseUtils.js +57 -0
  73. package/build/src/lib/CaseUtils.js.map +1 -0
  74. package/build/src/lib/DirectoryUtils.js +40 -0
  75. package/build/src/lib/DirectoryUtils.js.map +1 -0
  76. package/build/src/lib/ESBuild.js +99 -0
  77. package/build/src/lib/ESBuild.js.map +1 -0
  78. package/build/src/lib/IdSrc.js +23 -0
  79. package/build/src/lib/IdSrc.js.map +1 -0
  80. package/build/src/lib/LiftConfig.js +81 -0
  81. package/build/src/lib/LiftConfig.js.map +1 -0
  82. package/build/src/lib/LiftVersion.js +122 -0
  83. package/build/src/lib/LiftVersion.js.map +1 -0
  84. package/build/src/lib/Tests/fileCompare.test.js +56 -0
  85. package/build/src/lib/Tests/fileCompare.test.js.map +1 -0
  86. package/build/src/lib/askQuestion.js +42 -0
  87. package/build/src/lib/askQuestion.js.map +1 -0
  88. package/build/src/lib/executeCommand.js +58 -0
  89. package/build/src/lib/executeCommand.js.map +1 -0
  90. package/build/src/lib/fileCompare.js +49 -0
  91. package/build/src/lib/fileCompare.js.map +1 -0
  92. package/build/src/lib/openAPI/ApiBuildCollector.js +59 -0
  93. package/build/src/lib/openAPI/ApiBuildCollector.js.map +1 -0
  94. package/build/src/lib/openAPI/WebrootFileSupport.js +48 -0
  95. package/build/src/lib/openAPI/WebrootFileSupport.js.map +1 -0
  96. package/build/src/lib/openAPI/openApiConstruction.js +237 -0
  97. package/build/src/lib/openAPI/openApiConstruction.js.map +1 -0
  98. package/build/src/lib/pathResolve.js +27 -0
  99. package/build/src/lib/pathResolve.js.map +1 -0
  100. package/build/src/lib/utils.js +77 -0
  101. package/build/src/lib/utils.js.map +1 -0
  102. package/build/src/lift.js +134 -0
  103. package/build/src/lift.js.map +1 -0
  104. package/package.json +2 -3
  105. package/src/commands/builtin/prebuilt-zips/API.zip +0 -0
  106. package/src/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  107. package/src/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  108. package/src/commands/deploy.ts +4 -4
  109. package/src/commands/package.ts +1 -1
  110. package/src/commands/publish.ts +14 -5
  111. package/src/lib/ESBuild.ts +11 -9
  112. package/src/lib/IdSrc.ts +16 -0
  113. package/src/lib/openAPI/openApiConstruction.ts +2 -1
@@ -0,0 +1,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":"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"}
@@ -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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"}