@tremho/mist-lift 1.0.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 (121) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -0
  3. package/build/commands/actions/initQuestions.js +136 -0
  4. package/build/commands/actions/initQuestions.js.map +1 -0
  5. package/build/commands/actions/makePackageJson.js +2 -0
  6. package/build/commands/actions/makePackageJson.js.map +1 -0
  7. package/build/commands/actions/setupPackageJson.js +68 -0
  8. package/build/commands/actions/setupPackageJson.js.map +1 -0
  9. package/build/commands/build.js +191 -0
  10. package/build/commands/build.js.map +1 -0
  11. package/build/commands/builtin/ApiDocMaker.js +72 -0
  12. package/build/commands/builtin/ApiDocMaker.js.map +1 -0
  13. package/build/commands/builtin/BuiltInHandler.js +62 -0
  14. package/build/commands/builtin/BuiltInHandler.js.map +1 -0
  15. package/build/commands/builtin/DeployBuiltInZip.js +57 -0
  16. package/build/commands/builtin/DeployBuiltInZip.js.map +1 -0
  17. package/build/commands/builtin/StageWebrootZip.js +70 -0
  18. package/build/commands/builtin/StageWebrootZip.js.map +1 -0
  19. package/build/commands/builtin/prebuilt-zips/API.zip +0 -0
  20. package/build/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  21. package/build/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  22. package/build/commands/create.js +75 -0
  23. package/build/commands/create.js.map +1 -0
  24. package/build/commands/deploy.js +187 -0
  25. package/build/commands/deploy.js.map +1 -0
  26. package/build/commands/doctor.js +137 -0
  27. package/build/commands/doctor.js.map +1 -0
  28. package/build/commands/help.js +205 -0
  29. package/build/commands/help.js.map +1 -0
  30. package/build/commands/init.js +92 -0
  31. package/build/commands/init.js.map +1 -0
  32. package/build/commands/package.js +249 -0
  33. package/build/commands/package.js.map +1 -0
  34. package/build/commands/publish.js +344 -0
  35. package/build/commands/publish.js.map +1 -0
  36. package/build/commands/settings.js +95 -0
  37. package/build/commands/settings.js.map +1 -0
  38. package/build/commands/start.js +66 -0
  39. package/build/commands/start.js.map +1 -0
  40. package/build/commands/test.js +52 -0
  41. package/build/commands/test.js.map +1 -0
  42. package/build/commands/user.js +20 -0
  43. package/build/commands/user.js.map +1 -0
  44. package/build/expressRoutes/all.js +129 -0
  45. package/build/expressRoutes/all.js.map +1 -0
  46. package/build/expressRoutes/api.js +22 -0
  47. package/build/expressRoutes/api.js.map +1 -0
  48. package/build/expressRoutes/functionBinder.js +191 -0
  49. package/build/expressRoutes/functionBinder.js.map +1 -0
  50. package/build/lib/CaseUtils.js +57 -0
  51. package/build/lib/CaseUtils.js.map +1 -0
  52. package/build/lib/DirectoryUtils.js +37 -0
  53. package/build/lib/DirectoryUtils.js.map +1 -0
  54. package/build/lib/LiftConfig.js +83 -0
  55. package/build/lib/LiftConfig.js.map +1 -0
  56. package/build/lib/LiftVersion.js +117 -0
  57. package/build/lib/LiftVersion.js.map +1 -0
  58. package/build/lib/Tests/fileCompare.test.js +55 -0
  59. package/build/lib/Tests/fileCompare.test.js.map +1 -0
  60. package/build/lib/askQuestion.js +41 -0
  61. package/build/lib/askQuestion.js.map +1 -0
  62. package/build/lib/executeCommand.js +45 -0
  63. package/build/lib/executeCommand.js.map +1 -0
  64. package/build/lib/fileCompare.js +48 -0
  65. package/build/lib/fileCompare.js.map +1 -0
  66. package/build/lib/openAPI/ApiBuildCollector.js +58 -0
  67. package/build/lib/openAPI/ApiBuildCollector.js.map +1 -0
  68. package/build/lib/openAPI/WebrootFileSupport.js +44 -0
  69. package/build/lib/openAPI/WebrootFileSupport.js.map +1 -0
  70. package/build/lib/openAPI/openApiConstruction.js +203 -0
  71. package/build/lib/openAPI/openApiConstruction.js.map +1 -0
  72. package/build/lib/pathResolve.js +27 -0
  73. package/build/lib/pathResolve.js.map +1 -0
  74. package/build/lib/utils.js +76 -0
  75. package/build/lib/utils.js.map +1 -0
  76. package/build/lift.js +124 -0
  77. package/build/lift.js.map +1 -0
  78. package/package.json +69 -0
  79. package/src/commands/actions/initQuestions.ts +131 -0
  80. package/src/commands/actions/makePackageJson.ts +0 -0
  81. package/src/commands/actions/setupPackageJson.ts +36 -0
  82. package/src/commands/build.ts +165 -0
  83. package/src/commands/builtin/ApiDocMaker.ts +70 -0
  84. package/src/commands/builtin/BuiltInHandler.ts +51 -0
  85. package/src/commands/builtin/DeployBuiltInZip.ts +27 -0
  86. package/src/commands/builtin/StageWebrootZip.ts +39 -0
  87. package/src/commands/builtin/prebuilt-zips/API.zip +0 -0
  88. package/src/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  89. package/src/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  90. package/src/commands/create.ts +55 -0
  91. package/src/commands/deploy.ts +171 -0
  92. package/src/commands/doctor.ts +102 -0
  93. package/src/commands/help.ts +171 -0
  94. package/src/commands/init.ts +62 -0
  95. package/src/commands/package.ts +228 -0
  96. package/src/commands/publish.ts +350 -0
  97. package/src/commands/settings.ts +76 -0
  98. package/src/commands/start.ts +46 -0
  99. package/src/commands/test.ts +38 -0
  100. package/src/commands/user.ts +20 -0
  101. package/src/expressRoutes/all.ts +104 -0
  102. package/src/expressRoutes/api.ts +24 -0
  103. package/src/expressRoutes/functionBinder.ts +169 -0
  104. package/src/lib/CaseUtils.ts +68 -0
  105. package/src/lib/DirectoryUtils.ts +36 -0
  106. package/src/lib/LiftConfig.ts +83 -0
  107. package/src/lib/LiftVersion.ts +95 -0
  108. package/src/lib/Tests/dir1/file.1 +0 -0
  109. package/src/lib/Tests/dir1/file.2 +0 -0
  110. package/src/lib/Tests/dir2/file.1 +0 -0
  111. package/src/lib/Tests/fileCompare.test.ts +34 -0
  112. package/src/lib/askQuestion.ts +18 -0
  113. package/src/lib/executeCommand.ts +38 -0
  114. package/src/lib/fileCompare.ts +46 -0
  115. package/src/lib/openAPI/ApiBuildCollector.ts +47 -0
  116. package/src/lib/openAPI/WebrootFileSupport.ts +21 -0
  117. package/src/lib/openAPI/openApiConstruction.ts +202 -0
  118. package/src/lib/pathResolve.ts +32 -0
  119. package/src/lib/utils.ts +45 -0
  120. package/src/lift.ts +82 -0
  121. package/tsconfig.json +28 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Steven Ohmert
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,37 @@
1
+
2
+ # MistLift
3
+
4
+ _CLI tools and structured project support for easy-access cloud development_
5
+
6
+ MistLift is an OpenSource project aimed at providing an easy and seamless platform for developers
7
+ to quickly develop cloud services locally and then migrating to cloud with a simple and
8
+ lightweight Command Line API that avoids some of the more intimidating aspects of
9
+ using larger frameworks for such purposes.
10
+
11
+ This provides a much lower barrier to entry to would-be cloud developers
12
+ and encourages a more open, distributed set of architectural choices from the
13
+ very beginnings of a new project.
14
+
15
+ The initial version of MistLift is complete with minimal viability
16
+ to represent its future potential. It focuses on a Typescript (JavaScript) oriented
17
+ NodeJS stack hosted on the Amazon Web Services (AWS) Cloud infrastructure.
18
+
19
+ In the future, other stacks will be supported, including DotNet and Python, and
20
+ other stacks supported by AWS.
21
+ Other cloud hosts, such as Azure, are also planned to be supported in future versions.
22
+
23
+ ## Contributions Needed
24
+
25
+ MistLift is fully functional now, but there is much more planned in the
26
+ vision roadmap, and your help is needed!
27
+ Any level of involvement or contribution is appreciated. Please see
28
+ the [Contribution Guidelines](CONTRIBUTING.md).
29
+
30
+ Also review the [Future States Plan](doc/Future%20State%20Planning.md)
31
+ and the [issues page](https://github.com/tremho/MistLift/issues) for future state plans and status.
32
+
33
+ ## Getting Started
34
+
35
+ To get started using Mist Lift, please see the [QuickStart Guide](./doc/MistLift Quick Start.md)
36
+
37
+
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /** Handles the input the user must supply upon init
3
+ */
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || function (mod) {
21
+ if (mod && mod.__esModule) return mod;
22
+ var result = {};
23
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
24
+ __setModuleDefault(result, mod);
25
+ return result;
26
+ };
27
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
28
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29
+ return new (P || (P = Promise))(function (resolve, reject) {
30
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
31
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
34
+ });
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.interrogateUserForPackageJsonSettings = void 0;
38
+ const path = __importStar(require("path"));
39
+ const fs = __importStar(require("fs"));
40
+ const executeCommand_1 = require("../../lib/executeCommand");
41
+ const askQuestion_1 = require("../../lib/askQuestion");
42
+ function interrogateUserForPackageJsonSettings(projectPath) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ // get existing package.json or {}
45
+ // name of project - module name, display name, short name
46
+ // description
47
+ // set version
48
+ // gitAuthor ?? Author
49
+ // create a repository under gitAuthor?
50
+ // copyright
51
+ // spdx licence
52
+ var _a, _b, _c, _d, _e, _f;
53
+ const gitAuthor = yield findGitAuthor();
54
+ const pkgJson = existingPackageJson(projectPath);
55
+ let name = (_a = pkgJson.name) !== null && _a !== void 0 ? _a : nameFromProjectPath(projectPath);
56
+ let version = (_b = pkgJson.version) !== null && _b !== void 0 ? _b : "0.1.0-prerelease.1";
57
+ let description = (_c = pkgJson.description) !== null && _c !== void 0 ? _c : "";
58
+ let author = (_d = pkgJson.author) !== null && _d !== void 0 ? _d : gitAuthor;
59
+ let copyright = (_e = pkgJson.copyright) !== null && _e !== void 0 ? _e : defaultCopyright(author);
60
+ let spdx = (_f = pkgJson.license) !== null && _f !== void 0 ? _f : "MIT";
61
+ let ok = false;
62
+ while (!ok) {
63
+ name = (0, askQuestion_1.ask)("Module name of this project", "module name", name);
64
+ ok = name && name.indexOf(' ') === -1;
65
+ }
66
+ ok = false;
67
+ while (!ok) {
68
+ version = (0, askQuestion_1.ask)("Project version. Use prerelease suffix for development versions. Use Semantic Versioning (https://semver.org).", "version", version !== null && version !== void 0 ? version : "0.1.0-prerelease.1");
69
+ ok = version && version.indexOf('.') !== -1;
70
+ }
71
+ ok = false;
72
+ while (!ok) {
73
+ description = (0, askQuestion_1.ask)("Give a brief description of what this project does / what it is for", "description", description !== null && description !== void 0 ? description : "");
74
+ ok = description !== "";
75
+ }
76
+ ok = false;
77
+ while (!ok) {
78
+ author = (0, askQuestion_1.ask)("Identify yourself as the author of this project", "name", author);
79
+ ok = author !== "";
80
+ }
81
+ ok = false;
82
+ while (!ok) {
83
+ copyright = (0, askQuestion_1.ask)("Specify a displayable copyright notice", "Copyright", copyright);
84
+ ok = copyright !== "";
85
+ }
86
+ ok = false;
87
+ while (!ok) {
88
+ spdx = (0, askQuestion_1.ask)("Specify the appropriate SPDX license identifier for this project. See https://spdx.org/licenses/ for more info.", "spdx identifier", spdx);
89
+ ok = spdx !== "";
90
+ }
91
+ pkgJson.name = name;
92
+ pkgJson.version = version;
93
+ pkgJson.description = description;
94
+ pkgJson.author = author;
95
+ pkgJson.copyright = copyright;
96
+ pkgJson.license = spdx;
97
+ const pkgPath = path.join(projectPath, "package.json");
98
+ fs.writeFileSync(pkgPath, JSON.stringify(pkgJson, null, 2));
99
+ });
100
+ }
101
+ exports.interrogateUserForPackageJsonSettings = interrogateUserForPackageJsonSettings;
102
+ function findGitAuthor() {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ return (0, executeCommand_1.executeCommand)('git', ['config', '--get', 'user.name']).then(rt => {
105
+ let name = '';
106
+ if (rt.retcode) {
107
+ console.error('Error ' + rt.retcode, rt.errStr);
108
+ }
109
+ else {
110
+ name = rt.stdStr.trim().toLowerCase();
111
+ }
112
+ return name;
113
+ });
114
+ });
115
+ }
116
+ function defaultCopyright(name) {
117
+ return `(C) ${new Date(Date.now()).getFullYear()} ${name}. All rights reserved.`;
118
+ }
119
+ function nameFromProjectPath(refPath) {
120
+ const n = refPath.lastIndexOf('/') + 1;
121
+ return refPath.substring(n);
122
+ }
123
+ function existingPackageJson(refPath) {
124
+ let packageJson = {};
125
+ const pkgPath = path.join(refPath, "package.json");
126
+ if (fs.existsSync((pkgPath))) {
127
+ try {
128
+ packageJson = JSON.parse(fs.readFileSync(pkgPath).toString());
129
+ }
130
+ catch (e) {
131
+ // error in existing package.json. Please fix or remove and try again.
132
+ }
133
+ }
134
+ return packageJson;
135
+ }
136
+ //# sourceMappingURL=initQuestions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initQuestions.js","sourceRoot":"","sources":["../../../src/commands/actions/initQuestions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=makePackageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makePackageJson.js","sourceRoot":"","sources":["../../../src/commands/actions/makePackageJson.ts"],"names":[],"mappings":""}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ /** Adds necessary scripts to package.json */
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
+ return new (P || (P = Promise))(function (resolve, reject) {
29
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
30
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
31
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
33
+ });
34
+ };
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.installDevPackage = exports.installPackage = exports.addPackageScripts = void 0;
37
+ const path = __importStar(require("path"));
38
+ const fs = __importStar(require("fs"));
39
+ const executeCommand_1 = require("../../lib/executeCommand");
40
+ /**
41
+ * Adds necessary scripts to package.json
42
+ */
43
+ function addPackageScripts(projectPath) {
44
+ var _a;
45
+ const pkgPath = path.join(projectPath, "package.json");
46
+ let pkgJson = {};
47
+ try {
48
+ pkgJson = JSON.parse(fs.readFileSync(pkgPath).toString());
49
+ }
50
+ catch (_b) { }
51
+ const script = (_a = pkgJson.script) !== null && _a !== void 0 ? _a : {};
52
+ script.test = "lift test";
53
+ pkgJson.script = script;
54
+ }
55
+ exports.addPackageScripts = addPackageScripts;
56
+ function installPackage(projectPath, packageName) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ return (0, executeCommand_1.executeCommand)("npm", ["i", packageName], projectPath, true);
59
+ });
60
+ }
61
+ exports.installPackage = installPackage;
62
+ function installDevPackage(projectPath, packageName) {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ return (0, executeCommand_1.executeCommand)("npm", ["i", "--save-dev", packageName], projectPath, true);
65
+ });
66
+ }
67
+ exports.installDevPackage = installDevPackage;
68
+ //# sourceMappingURL=setupPackageJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupPackageJson.js","sourceRoot":"","sources":["../../../src/commands/actions/setupPackageJson.ts"],"names":[],"mappings":";AAAA,6CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE7C,2CAA4B;AAC5B,uCAAwB;AACxB,6DAAwD;AAExD;;GAEG;AACH,SAAgB,iBAAiB,CAC7B,WAAkB;;IAGlB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IACtD,IAAI,OAAO,GAAO,EAAE,CAAC;IACrB,IAAI,CAAC;QAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;IAAC,CAAC;IAAC,WAAM,CAAC,CAAA,CAAC;IAC1E,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,EAAE,CAAA;IACnC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAA;IACzB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AAE5B,CAAC;AAXD,8CAWC;AACD,SAAsB,cAAc,CAChC,WAAkB,EAClB,WAAkB;;QAGlB,OAAO,IAAA,+BAAc,EAAC,KAAK,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;IACvE,CAAC;CAAA;AAND,wCAMC;AAED,SAAsB,iBAAiB,CACnC,WAAkB,EAClB,WAAkB;;QAGlB,OAAO,IAAA,+BAAc,EAAC,KAAK,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;IACrF,CAAC;CAAA;AAND,8CAMC"}
@@ -0,0 +1,191 @@
1
+ "use strict";
2
+ /** handles building in the project directory */
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
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
27
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
28
+ return new (P || (P = Promise))(function (resolve, reject) {
29
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
30
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
31
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
32
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
33
+ });
34
+ };
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.doBuildAsync = void 0;
37
+ const path = __importStar(require("path"));
38
+ const fs = __importStar(require("fs"));
39
+ const ac = __importStar(require("ansi-colors"));
40
+ const pathResolve_1 = require("../lib/pathResolve");
41
+ const DirectoryUtils_1 = require("../lib/DirectoryUtils");
42
+ const fileCompare_1 = require("../lib/fileCompare");
43
+ const executeCommand_1 = require("../lib/executeCommand");
44
+ // Build command
45
+ function doBuildAsync(args // zero or more functions to build. zero means build all
46
+ ) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const projectPaths = (0, pathResolve_1.resolvePaths)();
49
+ const funcsToBuild = [];
50
+ const options = [];
51
+ for (let arg of args) {
52
+ if (arg.charAt(0) == '-') {
53
+ options.push(arg.toLowerCase());
54
+ }
55
+ else
56
+ funcsToBuild.push(arg);
57
+ }
58
+ if (!funcsToBuild.length) {
59
+ let firstDepth = 0;
60
+ (0, DirectoryUtils_1.recurseDirectory)(projectPaths.functionPath, (filepath, stats) => {
61
+ let depth = filepath.split(path.sep).length;
62
+ if (!firstDepth)
63
+ firstDepth = depth;
64
+ if (stats.isDirectory() && depth == firstDepth) {
65
+ funcsToBuild.push(path.basename(filepath));
66
+ }
67
+ });
68
+ }
69
+ let fails = 0;
70
+ let failFast = options.indexOf("--failfast") !== -1;
71
+ if (options.indexOf("--deferfail") !== -1)
72
+ failFast = false;
73
+ for (let func of funcsToBuild) {
74
+ const funcDir = path.join(projectPaths.functionPath, func);
75
+ if (fs.existsSync(funcDir)) {
76
+ fails += yield buildSingleFunction(funcDir, options);
77
+ if (fails && failFast)
78
+ break;
79
+ }
80
+ else {
81
+ console.log(ac.red.bold(`${func} does not exist as a function`));
82
+ fails++;
83
+ if (failFast)
84
+ break;
85
+ }
86
+ }
87
+ return fails;
88
+ });
89
+ }
90
+ exports.doBuildAsync = doBuildAsync;
91
+ function buildSingleFunction(funcDir, options) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ const funcName = funcDir.substring(funcDir.lastIndexOf('/') + 1);
94
+ const buildPath = path.normalize(path.join(funcDir, '..', '..', 'build', 'functions', funcName));
95
+ if (options.indexOf('--clean') !== -1) {
96
+ if (fs.existsSync(buildPath)) {
97
+ fs.rmSync(buildPath, { recursive: true });
98
+ }
99
+ }
100
+ // strategy here is to invoke tsc on a per-folder basis rather than letting tsc do the recurse because it is easier to control this way
101
+ return yield buildFunctionModules(funcName, funcDir, buildPath, options);
102
+ });
103
+ }
104
+ function buildFunctionModules(funcName, funcDir, buildPath, options) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ const announce = ac.blue.dim(`building ${funcName}...`);
107
+ let announced = false;
108
+ let fails = 0;
109
+ let builds = 0;
110
+ let failFast = options.indexOf("--failfast") !== -1;
111
+ if (options.indexOf("--deferfail") !== -1)
112
+ failFast = false;
113
+ const all = [];
114
+ (0, DirectoryUtils_1.recurseDirectory)(funcDir, (filepath, stats) => {
115
+ if (path.extname(filepath) === ".ts") {
116
+ let relPath = filepath.substring(funcDir.length);
117
+ relPath = relPath.substring(0, relPath.lastIndexOf('/'));
118
+ let outDir = path.join(buildPath, relPath);
119
+ // console.log(`tsc --esModuleInterop true --outdir ${outDir} ${filepath}`);
120
+ if (!(fails && failFast)) {
121
+ if ((0, fileCompare_1.isNewer)(filepath, outDir)) {
122
+ if (!announced) {
123
+ announced = true;
124
+ console.log(announce);
125
+ }
126
+ builds++;
127
+ all.push((0, executeCommand_1.executeCommand)('tsc', [
128
+ '--esModuleInterop', 'true',
129
+ '--target', 'ES2015',
130
+ '--module', 'commonjs',
131
+ '--lib', 'dom,es2015,scripthost,es2015.proxy',
132
+ '--strict', 'true',
133
+ '--noImplicitAny', 'false',
134
+ '--skipLibCheck', 'true',
135
+ '--forceConsistentCasingInFileNames', 'true',
136
+ '--sourceMap', 'true',
137
+ '--outdir', outDir,
138
+ filepath
139
+ ], '', true).then(result => {
140
+ if (result.retcode) {
141
+ fails++;
142
+ // console.log("error detected", fails)
143
+ const now = new Date();
144
+ fs.utimesSync(filepath, now, now); // touch file so it is not skipped next build
145
+ }
146
+ }));
147
+ }
148
+ }
149
+ }
150
+ });
151
+ return Promise.all(all).then(() => __awaiter(this, void 0, void 0, function* () {
152
+ fails += yield doPostBuildSteps(funcDir, buildPath);
153
+ return fails;
154
+ }));
155
+ });
156
+ }
157
+ function doPostBuildSteps(funcDir, buildPath) {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ // copy the definitions,json file over
160
+ const srcdef = path.join(funcDir, 'src', 'definition.json');
161
+ const dstdef = path.join(buildPath, 'src', 'definition.json');
162
+ if (fs.existsSync(srcdef)) {
163
+ fs.copyFileSync(srcdef, dstdef);
164
+ }
165
+ else {
166
+ console.error(ac.red.bold("no definition file found at " + srcdef));
167
+ return 1;
168
+ }
169
+ // copy the __files__ folder if it exists
170
+ const filedirPath = path.join(funcDir, "__files__");
171
+ if (fs.existsSync(filedirPath)) {
172
+ const bfiles = path.join(buildPath, '__files__');
173
+ if (!fs.existsSync(bfiles))
174
+ fs.mkdirSync(bfiles, { recursive: true });
175
+ (0, DirectoryUtils_1.recurseDirectory)(filedirPath, (filepath, stats) => {
176
+ let relPath = filepath.substring(funcDir.length);
177
+ relPath = relPath.substring(0, relPath.lastIndexOf('/'));
178
+ let outDir = path.join(buildPath, relPath);
179
+ let target = path.join(outDir, path.basename(filepath));
180
+ if (stats.isDirectory() && !fs.existsSync(target)) {
181
+ fs.mkdirSync(target, { recursive: true });
182
+ }
183
+ if (stats.isFile()) {
184
+ fs.copyFileSync(filepath, target);
185
+ }
186
+ });
187
+ }
188
+ return 0;
189
+ });
190
+ }
191
+ //# sourceMappingURL=build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
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.addBuiltInDefinitions = exports.MakeBuiltinApiDoc = exports.MakePublicApiDoc = void 0;
13
+ const ApiBuildCollector_1 = require("../../lib/openAPI/ApiBuildCollector");
14
+ const openApiConstruction_1 = require("../../lib/openAPI/openApiConstruction");
15
+ const WebrootFileSupport_1 = require("../../lib/openAPI/WebrootFileSupport");
16
+ function MakePublicApiDoc() {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ const defs = (0, ApiBuildCollector_1.gatherFunctionDefinitions)();
19
+ return yield (0, openApiConstruction_1.buildOpenApi)(defs);
20
+ });
21
+ }
22
+ exports.MakePublicApiDoc = MakePublicApiDoc;
23
+ function MakeBuiltinApiDoc(yamlFile) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const defs = (0, ApiBuildCollector_1.gatherFunctionDefinitions)();
26
+ addBuiltInDefinitions(defs);
27
+ return yield (0, openApiConstruction_1.buildOpenApi)(defs, false, yamlFile); //, true)
28
+ });
29
+ }
30
+ exports.MakeBuiltinApiDoc = MakeBuiltinApiDoc;
31
+ function addBuiltInDefinitions(defs) {
32
+ // console.warn("NOT ADDING ANY BUILTIN API INTEGRATIONS")
33
+ // console.log("ADDING apiDef");
34
+ defs.push(apiDef);
35
+ // console.log("ADDING webrootDef");
36
+ defs.push(webrootDef);
37
+ // console.warn("Adding webroot literals");
38
+ // do just /docs and see how that goes
39
+ let fsdef = Object.assign({}, fileServeDef); // copy
40
+ fsdef.name = "fileserve_docs";
41
+ fsdef.pathMap = "/docs/{path}";
42
+ defs.push(fsdef);
43
+ const roots = (0, WebrootFileSupport_1.GetWebrootServePaths)();
44
+ // console.log("roots", roots)
45
+ for (let root of roots) {
46
+ if (root) {
47
+ let rootName = root;
48
+ while (rootName.indexOf("/") != -1)
49
+ rootName = rootName.replace("/", "").toLowerCase().trim();
50
+ let fileserve = Object.assign({}, fileServeDef); // copy
51
+ fileserve.name = "fileserve_" + rootName;
52
+ fileserve.pathMap = `${root}/{path}`;
53
+ defs.push(fileserve);
54
+ }
55
+ }
56
+ }
57
+ exports.addBuiltInDefinitions = addBuiltInDefinitions;
58
+ const apiDef = { "name": "API", "description": "", "version": "1.0.0", "pathMap": "/api", "allowedMethods": "GET",
59
+ "logLevel": "Debug", "sessionRequired": false, "userRequired": false, "schemas": {}, "parameters": [],
60
+ "returns": { "200": { "type": "empty", "description": "successful response." }, "500": { "type": "string",
61
+ "description": "Error details" } } };
62
+ const fileServeDef = { "name": "FileServe", "description": "file service", "version": "1.0.0", "pathMap": "",
63
+ "allowedMethods": "GET", "logLevel": "Debug", "sessionRequired": false, "userRequired": false,
64
+ "schemas": {}, "parameters": [{ "name": "path", "in": "path" }],
65
+ "returns": { "200": { "type": "empty", "description": "successful response." },
66
+ "500": { "type": "string", "description": "Error details" } } };
67
+ const webrootDef = { "name": "Webroot", "description": "Serves files from the webroot /", "version": "1.0.0",
68
+ "pathMap": "/{path}", "allowedMethods": "get", "logLevel": "Debug", "sessionRequired": false, "userRequired": false,
69
+ "schemas": {}, "parameters": [{ "name": "path", "in": "path" }],
70
+ "returns": { "200": { "type": "empty", "description": "successful response." },
71
+ "500": { "type": "string", "description": "Error details" } } };
72
+ //# sourceMappingURL=ApiDocMaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApiDocMaker.js","sourceRoot":"","sources":["../../../src/commands/builtin/ApiDocMaker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DeployApiBuiltin = exports.DeployRootFileserves = exports.DeployWebrootBuiltIn = void 0;
16
+ const StageWebrootZip_1 = require("./StageWebrootZip");
17
+ const DeployBuiltInZip_1 = require("./DeployBuiltInZip");
18
+ const WebrootFileSupport_1 = require("../../lib/openAPI/WebrootFileSupport");
19
+ const fs_1 = __importDefault(require("fs"));
20
+ const path_1 = __importDefault(require("path"));
21
+ function DeployWebrootBuiltIn() {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const wrZip = yield (0, StageWebrootZip_1.StageWebrootZip)();
24
+ // console.log("Deploy Webroot Builtin from "+wrZip)
25
+ yield (0, DeployBuiltInZip_1.DeployBuiltInZip)("Webroot", wrZip);
26
+ // remove temp zip when done
27
+ fs_1.default.rmSync(wrZip, { recursive: true });
28
+ });
29
+ }
30
+ exports.DeployWebrootBuiltIn = DeployWebrootBuiltIn;
31
+ function DeployRootFileserves() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ // console.log("Deploy Root Fileserves")
34
+ // Get root paths
35
+ const roots = (0, WebrootFileSupport_1.GetWebrootServePaths)();
36
+ // for each, deploy under the name of each
37
+ const fileserveZip = path_1.default.join(__dirname, 'prebuilt-zips', 'FileServe.zip');
38
+ let all = [];
39
+ for (let root of roots) {
40
+ root = root.trim();
41
+ let name = "fileserve_" + root;
42
+ while (name.indexOf("/") !== -1) {
43
+ name = name.replace('/', '');
44
+ }
45
+ all.push((0, DeployBuiltInZip_1.DeployBuiltInZip)(name, fileserveZip));
46
+ }
47
+ // console.log('wait all');
48
+ yield Promise.all(all);
49
+ // console.log('all complete');
50
+ });
51
+ }
52
+ exports.DeployRootFileserves = DeployRootFileserves;
53
+ function DeployApiBuiltin() {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ console.log("Deploy API Builtin");
56
+ // get the prebuilt zip location
57
+ const apiZip = path_1.default.join(__dirname, 'prebuilt-zips', 'API.zip');
58
+ yield (0, DeployBuiltInZip_1.DeployBuiltInZip)("api", apiZip);
59
+ });
60
+ }
61
+ exports.DeployApiBuiltin = DeployApiBuiltin;
62
+ //# sourceMappingURL=BuiltInHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuiltInHandler.js","sourceRoot":"","sources":["../../../src/commands/builtin/BuiltInHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uDAAkD;AAClD,yDAAoD;AACpD,6EAA0E;AAE1E,4CAAmB;AACnB,gDAAuB;AAGvB,SAAsB,oBAAoB;;QAItC,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAe,GAAE,CAAA;QACrC,oDAAoD;QACpD,MAAM,IAAA,mCAAgB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACxC,4BAA4B;QAC5B,YAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;IACxC,CAAC;CAAA;AATD,oDASC;AAED,SAAsB,oBAAoB;;QAItC,wCAAwC;QACxC,iBAAiB;QACjB,MAAM,KAAK,GAAG,IAAA,yCAAoB,GAAE,CAAC;QACrC,0CAA0C;QAC1C,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;QAC3E,IAAI,GAAG,GAAkB,EAAE,CAAC;QAC5B,KAAI,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACpB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAClB,IAAI,IAAI,GAAG,YAAY,GAAG,IAAI,CAAC;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC9B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACjC,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAA,mCAAgB,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAA;QAClD,CAAC;QACD,2BAA2B;QAC3B,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,+BAA+B;IACnC,CAAC;CAAA;AArBD,oDAqBC;AAED,SAAsB,gBAAgB;;QAIlC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;QACjC,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;IACzC,CAAC;CAAA;AARD,4CAQC"}