@tremho/mist-lift 2.2.9 → 2.5.1

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 (173) hide show
  1. package/README.md +14 -1
  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 +28 -0
  7. package/build/QSTest/functions/IntegrationTest/src/main.js.map +1 -0
  8. package/build/{commands → src/commands}/actions/initQuestions.js +18 -9
  9. package/build/src/commands/actions/initQuestions.js.map +1 -0
  10. package/build/src/commands/actions/makePackageJson.js.map +1 -0
  11. package/build/{commands → src/commands}/actions/setupPackageJson.js +20 -11
  12. package/build/src/commands/actions/setupPackageJson.js.map +1 -0
  13. package/build/src/commands/actions/updateDeployedPermissions.js +118 -0
  14. package/build/src/commands/actions/updateDeployedPermissions.js.map +1 -0
  15. package/build/{commands → src/commands}/build.js +18 -9
  16. package/build/src/commands/build.js.map +1 -0
  17. package/build/{commands → src/commands}/builtin/ApiDocMaker.js +21 -14
  18. package/build/src/commands/builtin/ApiDocMaker.js.map +1 -0
  19. package/build/{commands → src/commands}/builtin/BuiltInHandler.js +26 -14
  20. package/build/src/commands/builtin/BuiltInHandler.js.map +1 -0
  21. package/build/{commands → src/commands}/builtin/DeployBuiltInZip.js +1 -2
  22. package/build/src/commands/builtin/DeployBuiltInZip.js.map +1 -0
  23. package/build/src/commands/builtin/ExportWebroot.js +253 -0
  24. package/build/src/commands/builtin/ExportWebroot.js.map +1 -0
  25. package/build/{commands → src/commands}/builtin/StageWebrootZip.js +28 -15
  26. package/build/src/commands/builtin/StageWebrootZip.js.map +1 -0
  27. package/build/src/commands/builtin/webroot-export/s3webroot.js +128 -0
  28. package/build/src/commands/builtin/webroot-export/s3webroot.js.map +1 -0
  29. package/build/{commands → src/commands}/create.js +18 -9
  30. package/build/src/commands/create.js.map +1 -0
  31. package/build/{commands → src/commands}/deploy.js +25 -14
  32. package/build/src/commands/deploy.js.map +1 -0
  33. package/build/{commands → src/commands}/doctor.js +19 -10
  34. package/build/src/commands/doctor.js.map +1 -0
  35. package/build/{commands → src/commands}/help.js +34 -24
  36. package/build/src/commands/help.js.map +1 -0
  37. package/build/{commands → src/commands}/info.js +18 -9
  38. package/build/src/commands/info.js.map +1 -0
  39. package/build/{commands → src/commands}/init.js +67 -18
  40. package/build/src/commands/init.js.map +1 -0
  41. package/build/{commands → src/commands}/package.js +51 -10
  42. package/build/src/commands/package.js.map +1 -0
  43. package/build/{commands → src/commands}/publish.js +58 -22
  44. package/build/src/commands/publish.js.map +1 -0
  45. package/build/{commands → src/commands}/settings.js +18 -9
  46. package/build/src/commands/settings.js.map +1 -0
  47. package/build/{commands → src/commands}/start.js +20 -10
  48. package/build/src/commands/start.js.map +1 -0
  49. package/build/{commands → src/commands}/test.js +18 -9
  50. package/build/src/commands/test.js.map +1 -0
  51. package/build/{commands → src/commands}/update.js +19 -9
  52. package/build/src/commands/update.js.map +1 -0
  53. package/build/src/commands/user.js.map +1 -0
  54. package/build/{expressRoutes → src/expressRoutes}/all.js +19 -9
  55. package/build/src/expressRoutes/all.js.map +1 -0
  56. package/build/src/expressRoutes/api.js.map +1 -0
  57. package/build/{expressRoutes → src/expressRoutes}/functionBinder.js +181 -26
  58. package/build/src/expressRoutes/functionBinder.js.map +1 -0
  59. package/build/{integration-tests → src/integration-tests}/quickstart-scenario.test.js +1 -1
  60. package/build/src/integration-tests/quickstart-scenario.test.js.map +1 -0
  61. package/build/{lib → src/lib}/CaseUtils.js +5 -6
  62. package/build/src/lib/CaseUtils.js.map +1 -0
  63. package/build/{lib → src/lib}/DirectoryUtils.js +4 -4
  64. package/build/src/lib/DirectoryUtils.js.map +1 -0
  65. package/build/{lib → src/lib}/ESBuild.js +19 -10
  66. package/build/src/lib/ESBuild.js.map +1 -0
  67. package/build/src/lib/IdSrc.js +67 -0
  68. package/build/src/lib/IdSrc.js.map +1 -0
  69. package/build/{lib → src/lib}/LiftConfig.js +7 -7
  70. package/build/src/lib/LiftConfig.js.map +1 -0
  71. package/build/{lib → src/lib}/LiftVersion.js +21 -11
  72. package/build/src/lib/LiftVersion.js.map +1 -0
  73. package/build/{lib → src/lib}/Tests/fileCompare.test.js +17 -7
  74. package/build/src/lib/Tests/fileCompare.test.js.map +1 -0
  75. package/build/src/lib/TypeCheck.js +1206 -0
  76. package/build/src/lib/TypeCheck.js.map +1 -0
  77. package/build/{lib → src/lib}/askQuestion.js +18 -9
  78. package/build/src/lib/askQuestion.js.map +1 -0
  79. package/build/{lib → src/lib}/executeCommand.js +2 -3
  80. package/build/src/lib/executeCommand.js.map +1 -0
  81. package/build/{lib → src/lib}/fileCompare.js +2 -3
  82. package/build/src/lib/fileCompare.js.map +1 -0
  83. package/build/{lib → src/lib}/openAPI/ApiBuildCollector.js +1 -2
  84. package/build/src/lib/openAPI/ApiBuildCollector.js.map +1 -0
  85. package/build/{lib → src/lib}/openAPI/WebrootFileSupport.js +18 -9
  86. package/build/src/lib/openAPI/WebrootFileSupport.js.map +1 -0
  87. package/build/src/lib/openAPI/openApiConstruction.js +435 -0
  88. package/build/src/lib/openAPI/openApiConstruction.js.map +1 -0
  89. package/build/{lib → src/lib}/pathResolve.js +1 -2
  90. package/build/src/lib/pathResolve.js.map +1 -0
  91. package/build/{lib → src/lib}/utils.js +20 -11
  92. package/build/src/lib/utils.js.map +1 -0
  93. package/build/{lift.js → src/lift.js} +19 -9
  94. package/build/src/lift.js.map +1 -0
  95. package/package.json +6 -4
  96. package/src/commands/actions/updateDeployedPermissions.ts +80 -0
  97. package/src/commands/builtin/ApiDocMaker.ts +17 -10
  98. package/src/commands/builtin/BuiltInHandler.ts +7 -2
  99. package/src/commands/builtin/ExportWebroot.ts +195 -0
  100. package/src/commands/builtin/StageWebrootZip.ts +13 -5
  101. package/src/commands/builtin/prebuilt-zips/API.zip +0 -0
  102. package/src/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  103. package/src/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  104. package/src/commands/builtin/webroot-export/s3webroot.ts +82 -0
  105. package/src/commands/deploy.ts +6 -4
  106. package/src/commands/help.ts +4 -2
  107. package/src/commands/init.ts +51 -8
  108. package/src/commands/package.ts +35 -2
  109. package/src/commands/publish.ts +38 -13
  110. package/src/commands/start.ts +2 -1
  111. package/src/commands/update.ts +1 -0
  112. package/src/expressRoutes/all.ts +1 -0
  113. package/src/expressRoutes/functionBinder.ts +155 -15
  114. package/src/integration-tests/quickstart-scenario.test.ts +1 -1
  115. package/src/lib/DirectoryUtils.ts +2 -1
  116. package/src/lib/IdSrc.ts +17 -4
  117. package/src/lib/TypeCheck.ts +1171 -0
  118. package/src/lib/executeCommand.ts +1 -1
  119. package/src/lib/openAPI/openApiConstruction.ts +230 -41
  120. package/src/lift.ts +2 -2
  121. package/templateData/app/MainPage.tsx +10 -0
  122. package/templateData/app/app.tsx +39 -0
  123. package/templateData/function-main-ts +8 -1
  124. package/templateData/webroot/app.js +7 -7
  125. package/build/commands/actions/initQuestions.js.map +0 -1
  126. package/build/commands/actions/makePackageJson.js.map +0 -1
  127. package/build/commands/actions/setupPackageJson.js.map +0 -1
  128. package/build/commands/build.js.map +0 -1
  129. package/build/commands/builtin/ApiDocMaker.js.map +0 -1
  130. package/build/commands/builtin/BuiltInHandler.js.map +0 -1
  131. package/build/commands/builtin/DeployBuiltInZip.js.map +0 -1
  132. package/build/commands/builtin/StageWebrootZip.js.map +0 -1
  133. package/build/commands/builtin/prebuilt-zips/API.zip +0 -0
  134. package/build/commands/builtin/prebuilt-zips/FileServe.zip +0 -0
  135. package/build/commands/builtin/prebuilt-zips/Webroot.zip +0 -0
  136. package/build/commands/create.js.map +0 -1
  137. package/build/commands/deploy.js.map +0 -1
  138. package/build/commands/doctor.js.map +0 -1
  139. package/build/commands/help.js.map +0 -1
  140. package/build/commands/info.js.map +0 -1
  141. package/build/commands/init.js.map +0 -1
  142. package/build/commands/package.js.map +0 -1
  143. package/build/commands/publish.js.map +0 -1
  144. package/build/commands/settings.js.map +0 -1
  145. package/build/commands/start.js.map +0 -1
  146. package/build/commands/test.js.map +0 -1
  147. package/build/commands/update.js.map +0 -1
  148. package/build/commands/user.js.map +0 -1
  149. package/build/expressRoutes/all.js.map +0 -1
  150. package/build/expressRoutes/api.js.map +0 -1
  151. package/build/expressRoutes/functionBinder.js.map +0 -1
  152. package/build/integration-tests/quickstart-scenario.test.js.map +0 -1
  153. package/build/lib/CaseUtils.js.map +0 -1
  154. package/build/lib/DirectoryUtils.js.map +0 -1
  155. package/build/lib/ESBuild.js.map +0 -1
  156. package/build/lib/IdSrc.js +0 -43
  157. package/build/lib/IdSrc.js.map +0 -1
  158. package/build/lib/LiftConfig.js.map +0 -1
  159. package/build/lib/LiftVersion.js.map +0 -1
  160. package/build/lib/Tests/fileCompare.test.js.map +0 -1
  161. package/build/lib/askQuestion.js.map +0 -1
  162. package/build/lib/executeCommand.js.map +0 -1
  163. package/build/lib/fileCompare.js.map +0 -1
  164. package/build/lib/openAPI/ApiBuildCollector.js.map +0 -1
  165. package/build/lib/openAPI/WebrootFileSupport.js.map +0 -1
  166. package/build/lib/openAPI/openApiConstruction.js +0 -237
  167. package/build/lib/openAPI/openApiConstruction.js.map +0 -1
  168. package/build/lib/pathResolve.js.map +0 -1
  169. package/build/lib/utils.js.map +0 -1
  170. package/build/lift.js.map +0 -1
  171. /package/build/{commands → src/commands}/actions/makePackageJson.js +0 -0
  172. /package/build/{commands → src/commands}/user.js +0 -0
  173. /package/build/{expressRoutes → src/expressRoutes}/api.js +0 -0
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -35,7 +45,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
45
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
46
  };
37
47
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.DeployApiBuiltin = exports.DeployRootFileserves = exports.DeployWebrootBuiltIn = void 0;
48
+ exports.DeployWebrootBuiltIn = DeployWebrootBuiltIn;
49
+ exports.DeployRootFileserves = DeployRootFileserves;
50
+ exports.DeployApiBuiltin = DeployApiBuiltin;
39
51
  const StageWebrootZip_1 = require("./StageWebrootZip");
40
52
  const DeployBuiltInZip_1 = require("./DeployBuiltInZip");
41
53
  const WebrootFileSupport_1 = require("../../lib/openAPI/WebrootFileSupport");
@@ -44,17 +56,19 @@ const IdSrc_1 = require("../../lib/IdSrc");
44
56
  const fs_1 = __importDefault(require("fs"));
45
57
  const path_1 = __importDefault(require("path"));
46
58
  function DeployWebrootBuiltIn() {
47
- return __awaiter(this, void 0, void 0, function* () {
59
+ return __awaiter(this, arguments, void 0, function* (externalizedFolders = true) {
48
60
  // console.warn(">> DeployWebrootBuiltIn")
61
+ // const withRoot = externalizedFolders
62
+ // const withFolders = true
49
63
  const wrZip = yield (0, StageWebrootZip_1.StageWebrootZip)();
50
- // console.log(">> Deploy Webroot Builtin from "+wrZip)
51
- yield (0, DeployBuiltInZip_1.DeployBuiltInZip)('Webroot', wrZip);
64
+ const wrName = (0, IdSrc_1.decoratedName)('Webroot');
65
+ // console.log(">> Deploy Webroot Builtin from "+wrZip+" as "+wrName)
66
+ yield (0, DeployBuiltInZip_1.DeployBuiltInZip)(wrName, wrZip);
52
67
  // remove temp zip when done
53
68
  // console.warn("a.zip is left behind")
54
69
  fs_1.default.rmSync(wrZip, { recursive: true });
55
70
  });
56
71
  }
57
- exports.DeployWebrootBuiltIn = DeployWebrootBuiltIn;
58
72
  function DeployRootFileserves() {
59
73
  return __awaiter(this, void 0, void 0, function* () {
60
74
  // Get root paths
@@ -77,7 +91,6 @@ function DeployRootFileserves() {
77
91
  // console.log('all complete');
78
92
  });
79
93
  }
80
- exports.DeployRootFileserves = DeployRootFileserves;
81
94
  function DeployApiBuiltin() {
82
95
  return __awaiter(this, void 0, void 0, function* () {
83
96
  // get the prebuilt zip location
@@ -85,5 +98,4 @@ function DeployApiBuiltin() {
85
98
  yield (0, DeployBuiltInZip_1.DeployBuiltInZip)('api', apiZip);
86
99
  });
87
100
  }
88
- exports.DeployApiBuiltin = DeployApiBuiltin;
89
101
  //# sourceMappingURL=BuiltInHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuiltInHandler.js","sourceRoot":"","sources":["../../../../src/commands/builtin/BuiltInHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,oDAeC;AAED,oDAqBC;AAED,4CAMC;AAvDD,uDAAmD;AACnD,yDAAqD;AACrD,6EAA2E;AAC3E,gDAAiC;AACjC,2CAA+C;AAE/C,4CAAmB;AACnB,gDAAuB;AAEvB,SAAsB,oBAAoB;yDAExC,sBAA+B,IAAI;QAEnC,0CAA0C;QAC1C,uCAAuC;QACvC,2BAA2B;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAe,GAAE,CAAA;QACrC,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,SAAS,CAAC,CAAA;QACvC,qEAAqE;QAErE,MAAM,IAAA,mCAAgB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACrC,4BAA4B;QAC5B,uCAAuC;QACvC,YAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACvC,CAAC;CAAA;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,IAAA,qBAAa,EAAC,YAAY,GAAG,IAAI,CAAC,CAAA;YAC7C,kDAAkD;YAClD,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;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"}
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DeployBuiltInZip = void 0;
12
+ exports.DeployBuiltInZip = DeployBuiltInZip;
13
13
  // import * as path from 'path'
14
14
  const deploy_1 = require("../deploy");
15
15
  // import sha1 from 'sha1'
@@ -21,5 +21,4 @@ function DeployBuiltInZip(name, zipPath) {
21
21
  // console.log(ac.gray.dim('>> returning from DeployBuiltInZip '))
22
22
  });
23
23
  }
24
- exports.DeployBuiltInZip = DeployBuiltInZip;
25
24
  //# sourceMappingURL=DeployBuiltInZip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeployBuiltInZip.js","sourceRoot":"","sources":["../../../../src/commands/builtin/DeployBuiltInZip.ts"],"names":[],"mappings":";;;;;;;;;;;AAMA,4CAQC;AAbD,+BAA+B;AAC/B,sCAAyC;AACzC,0BAA0B;AAC1B,oCAAoC;AAEpC,SAAsB,gBAAgB,CAEpC,IAAY,EACZ,OAAe;;QAEf,mDAAmD;QACnD,MAAM,IAAA,sBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAClC,kEAAkE;IACpE,CAAC;CAAA"}
@@ -0,0 +1,253 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.WebrootExportConfig = exports.WebrootExportType = exports.WebrootDefaultOptions = exports.WebrootS3Options = exports.WebrootScriptOptions = void 0;
46
+ exports.ExportWebroot = ExportWebroot;
47
+ exports.getWebrootSettings = getWebrootSettings;
48
+ const path = __importStar(require("path"));
49
+ const fs = __importStar(require("fs"));
50
+ const ac = __importStar(require("ansi-colors"));
51
+ const pathResolve_1 = require("../../lib/pathResolve");
52
+ const DirectoryUtils_1 = require("../../lib/DirectoryUtils");
53
+ // import { isNewer } from '../../lib/fileCompare'
54
+ const executeCommand_1 = require("../../lib/executeCommand");
55
+ // import { mkdirSync } from 'fs'
56
+ const BuiltInHandler_1 = require("./BuiltInHandler");
57
+ // import { ServiceSettingsData } from '@tremho/inverse-y'
58
+ const s3webroot_1 = require("./webroot-export/s3webroot");
59
+ /*
60
+ Here we want to handle exporting the webroot to other serving sources according to configuration.
61
+
62
+ - Read the config options
63
+ - enumerate the webroot and find recent changes
64
+ - write these file paths to a temp file
65
+ - per config, call the handler that will do this
66
+ - to S3
67
+ - to script
68
+ later:
69
+ - to Blob ?
70
+ -
71
+
72
+ */
73
+ /*
74
+ Script will be called with comma delimited list of files as arg 1, and options (string) as arg2
75
+ */
76
+ class WebrootScriptOptions {
77
+ constructor() {
78
+ this.scriptName = ''; // name of script to call (relative to project root)
79
+ this.options = ''; // options passed as second parameter to script (see comment above)
80
+ }
81
+ }
82
+ exports.WebrootScriptOptions = WebrootScriptOptions;
83
+ class WebrootS3Options {
84
+ constructor() {
85
+ this.unused = ''; // empty (lint)
86
+ }
87
+ }
88
+ exports.WebrootS3Options = WebrootS3Options;
89
+ class WebrootDefaultOptions {
90
+ constructor() {
91
+ this.unused = ''; // empty (lint)
92
+ }
93
+ }
94
+ exports.WebrootDefaultOptions = WebrootDefaultOptions;
95
+ /*
96
+ For non-SELF types, only the files *not* in subdirectories will be packaged to the deployed webroot
97
+ */
98
+ var WebrootExportType;
99
+ (function (WebrootExportType) {
100
+ WebrootExportType["SELF"] = "SELF";
101
+ WebrootExportType["SCRIPT"] = "SCRIPT";
102
+ WebrootExportType["S3"] = "S3"; // built-in function (instead of script) is called for an S3 target
103
+ })(WebrootExportType || (exports.WebrootExportType = WebrootExportType = {}));
104
+ /*
105
+ This is what webrootConfig.json looks like
106
+ */
107
+ class WebrootExportConfig {
108
+ constructor() {
109
+ this.type = WebrootExportType.SELF;
110
+ this.options = new WebrootDefaultOptions();
111
+ }
112
+ }
113
+ exports.WebrootExportConfig = WebrootExportConfig;
114
+ let basePath = '';
115
+ /**
116
+ * Exports the webroot according to configuration
117
+ */
118
+ function ExportWebroot() {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ const projectPaths = (0, pathResolve_1.resolvePaths)();
121
+ basePath = projectPaths.basePath;
122
+ const webrootConfig = readWebrootConfig(path.join(basePath, 'webrootConfig.json'));
123
+ // console.log(">> ExportWebroot", {webrootConfig})
124
+ const fla = yield getUpdatedExportFileList();
125
+ switch (webrootConfig.type) {
126
+ case WebrootExportType.SELF:
127
+ yield exportSelf();
128
+ break;
129
+ case WebrootExportType.S3:
130
+ yield (0, s3webroot_1.exportWebrootToS3)(fla, webrootConfig.options);
131
+ break;
132
+ case WebrootExportType.SCRIPT:
133
+ yield exportScript(fla, webrootConfig.options);
134
+ break;
135
+ default: {
136
+ throw new Error('UNSUPPORTED WEBROOT EXPORT TYPE (must be SELF, S3, or SCRIPT)');
137
+ }
138
+ }
139
+ });
140
+ }
141
+ function getWebrootSettings() {
142
+ return __awaiter(this, void 0, void 0, function* () {
143
+ var _a;
144
+ const projectPaths = (0, pathResolve_1.resolvePaths)();
145
+ basePath = projectPaths.basePath;
146
+ const webrootConfig = readWebrootConfig(path.join(basePath, 'webrootConfig.json'));
147
+ let baseUrl = '';
148
+ switch (webrootConfig.type) {
149
+ case WebrootExportType.SELF:
150
+ baseUrl = '';
151
+ break;
152
+ case WebrootExportType.S3:
153
+ baseUrl = yield (0, s3webroot_1.getS3Prefix)();
154
+ break;
155
+ case WebrootExportType.SCRIPT: {
156
+ const options = webrootConfig.options;
157
+ const scriptPath = path.join(basePath, options.scriptName);
158
+ const out = yield (0, executeCommand_1.executeCommand)(scriptPath, ['--prefix'], basePath, false);
159
+ baseUrl = out.stdStr.trim();
160
+ break;
161
+ }
162
+ default: {
163
+ const unreachable = (_a = webrootConfig.type) !== null && _a !== void 0 ? _a : '<none?';
164
+ throw new Error(`UNSUPPORTED WEBROOT EXPORT ${unreachable}`);
165
+ }
166
+ }
167
+ return {
168
+ webrootMethod: webrootConfig.type.toString(),
169
+ webrootBaseUrl: baseUrl
170
+ };
171
+ });
172
+ }
173
+ let warned = false;
174
+ function readWebrootConfig(configPath) {
175
+ let conf = new WebrootExportConfig();
176
+ let content = '';
177
+ // console.log("... reading from "+configPath)
178
+ try {
179
+ // console.log(" >> readWebrootConfig")
180
+ content = fs.readFileSync(configPath).toString();
181
+ conf = JSON.parse(content);
182
+ }
183
+ catch (e) {
184
+ if (!warned) {
185
+ warned = true;
186
+ console.error(ac.yellow.bold('Warning: Failed to read or parse ' + configPath));
187
+ console.warn(ac.yellow.bold.dim("Falling back to 'self' publish mode"));
188
+ }
189
+ }
190
+ return conf;
191
+ }
192
+ function exportSelf() {
193
+ return __awaiter(this, void 0, void 0, function* () {
194
+ // zip up everything
195
+ // console.log(">> exportSelf")
196
+ // console.log(" >> deployWebrootBuiltIn")
197
+ yield (0, BuiltInHandler_1.DeployWebrootBuiltIn)(false);
198
+ // console.log(" >> deployRootFileserves")
199
+ yield (0, BuiltInHandler_1.DeployRootFileserves)();
200
+ });
201
+ }
202
+ function exportScript(fla, options) {
203
+ return __awaiter(this, void 0, void 0, function* () {
204
+ // console.log(">> exportScript")
205
+ // console.log(" >> DeployWebrootBuiltIn")
206
+ // await DeployWebrootBuiltIn(true)
207
+ console.log(ac.bold.green(`calling webroot exportScript ${options.scriptName}`));
208
+ // console.log("files", fla)
209
+ const fl = fla.join(',');
210
+ const args = [fl];
211
+ // args.unshift(options.options)
212
+ // console.log("args", args)
213
+ const scriptPath = path.join(basePath, options.scriptName);
214
+ // console.log("Executing script", scriptPath)
215
+ yield (0, executeCommand_1.executeCommand)(scriptPath, args, basePath, true);
216
+ });
217
+ }
218
+ function getUpdatedExportFileList() {
219
+ return __awaiter(this, void 0, void 0, function* () {
220
+ // console.log(">> getUpdatedExportFileList")
221
+ // find the last published time from .published file
222
+ let lastPublished = 0;
223
+ try {
224
+ const pubjson = JSON.parse(fs.readFileSync(path.join(basePath, '.published')).toString());
225
+ lastPublished = pubjson.time;
226
+ // console.log("last published ", lastPublished)
227
+ }
228
+ catch (e) {
229
+ console.warn(ac.yellow.italic.dim('no .published information available - full export'));
230
+ }
231
+ const outbin = [];
232
+ // enumerate at webroot and files from all non-root directories
233
+ const folder = path.join(basePath, 'webroot');
234
+ const rootpathsteps = folder.split(path.sep).length;
235
+ // const enumerating = true
236
+ function gatherFiles(filepath, stats) {
237
+ // console.log(filepath, {steps:filepath.split(path.sep).length, rootpathsteps, isDir:stats.isDirectory()})
238
+ if (filepath.split(path.sep).length > rootpathsteps + 1) {
239
+ // console.log({filepath, mtime:stats.mtime.getTime(), lastPublished})
240
+ if (stats.mtime.getTime() >= lastPublished) {
241
+ filepath = '+' + filepath;
242
+ // console.log("will update "+filepath)
243
+ }
244
+ outbin.push(filepath);
245
+ }
246
+ return false;
247
+ }
248
+ // console.log("recursing folder ", folder)
249
+ yield (0, DirectoryUtils_1.recurseDirectory)(folder, gatherFiles);
250
+ return outbin;
251
+ });
252
+ }
253
+ //# sourceMappingURL=ExportWebroot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportWebroot.js","sourceRoot":"","sources":["../../../../src/commands/builtin/ExportWebroot.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
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
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -32,7 +42,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
32
42
  });
33
43
  };
34
44
  Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.StageWebrootZip = void 0;
45
+ exports.StageWebrootZip = StageWebrootZip;
36
46
  const ApiDocMaker_1 = require("./ApiDocMaker");
37
47
  const path = __importStar(require("path"));
38
48
  const fs = __importStar(require("fs"));
@@ -43,7 +53,7 @@ const utils_1 = require("../../lib/utils");
43
53
  const fs_1 = require("fs");
44
54
  // import * as ac from 'ansi-colors'
45
55
  function StageWebrootZip() {
46
- return __awaiter(this, void 0, void 0, function* () {
56
+ return __awaiter(this, arguments, void 0, function* (withRoot = true, withFolders = true) {
47
57
  // console.log(">>>> staging webroot to zip")
48
58
  const projectPaths = (0, pathResolve_1.resolvePaths)();
49
59
  const webroot = path.join(projectPaths.basePath, 'webroot');
@@ -90,6 +100,7 @@ function StageWebrootZip() {
90
100
  // console.log(">>>> making zipFilesPath "+zipFilesPath)
91
101
  yield fs.mkdirSync(zipFilesPath);
92
102
  // todo: read the redirects.json file
103
+ // todo: Document as deprecated
93
104
  let redirected = [];
94
105
  try {
95
106
  const redir = JSON.parse(fs.readFileSync(path.join(webroot, 'redirects.json')).toString());
@@ -102,14 +113,17 @@ function StageWebrootZip() {
102
113
  // console.log(">>>> enumerating "+webroot)
103
114
  yield (0, DirectoryUtils_1.recurseDirectory)(webroot, (filepath, stats) => {
104
115
  const relPath = filepath.substring(webroot.length);
105
- if (stats.isDirectory()) {
116
+ if (stats.isDirectory() && withFolders) {
106
117
  fs.mkdirSync(zipFilesPath + relPath, { recursive: true });
107
118
  }
108
119
  else {
109
- // console.log(ac.grey.dim('>> considering ' + relPath))
110
- if (!redirected.includes(relPath.substring(1))) {
111
- // console.log(ac.grey.dim('>> copying...'))
112
- fs.copyFileSync(filepath, zipFilesPath + relPath); // copy only if not in redirected list
120
+ if ((relPath.includes(path.sep) && withFolders) ||
121
+ ((!relPath.includes(path.sep)) && withRoot)) {
122
+ // TODO: Deprecate redirection. we'll continue to supoort it here, though for now
123
+ if (!redirected.includes(relPath.substring(1))) {
124
+ // console.log(ac.grey.dim('>> copying...'))
125
+ fs.copyFileSync(filepath, zipFilesPath + relPath); // copy only if not in redirected list
126
+ }
113
127
  }
114
128
  }
115
129
  return false;
@@ -122,5 +136,4 @@ function StageWebrootZip() {
122
136
  return webrootZip;
123
137
  });
124
138
  }
125
- exports.StageWebrootZip = StageWebrootZip;
126
139
  //# sourceMappingURL=StageWebrootZip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StageWebrootZip.js","sourceRoot":"","sources":["../../../../src/commands/builtin/StageWebrootZip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,0CAwEC;AAnFD,+CAAgD;AAEhD,2CAA4B;AAC5B,uCAAwB;AACxB,uDAAoD;AACpD,6DAA2D;AAC3D,2CAA4D;AAC5D,4DAA4D;AAC5D,2BAA2B;AAC3B,oCAAoC;AAEpC,SAAsB,eAAe;yDAEnC,WAAoB,IAAI,EACxB,cAAuB,IAAI;QAE3B,6CAA6C;QAC7C,MAAM,YAAY,GAAG,IAAA,0BAAY,GAAE,CAAA;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;QACrE,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;QAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA;QAChE,uFAAuF;QACvF,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC;YAAE,IAAA,WAAM,EAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxF,MAAM,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAA;QACvC,qBAAqB;QACrB,MAAM,IAAA,8BAAgB,GAAE,CAAA,CAAC,6BAA6B;QACtD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,aAAa,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;QAC/D,+DAA+D;QAC/D,MAAM,IAAA,qBAAa,EAAC,WAAW,EAAE,KAAK,CAAC,CAAA;QAEvC,IAAI,CAAC;YAAC,MAAM,IAAA,WAAM,EAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC,CAAA,CAAC;QACrF,IAAI,CAAC;YAAC,MAAM,IAAA,WAAM,EAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC,CAAA,CAAC;QACzF,IAAI,CAAC;YAAC,MAAM,IAAA,WAAM,EAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC,CAAA,CAAC;QAC3F,IAAI,CAAC;YAAC,MAAM,IAAA,WAAM,EAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,uBAAuB,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC,CAAA,CAAC;QAC/F,IAAI,CAAC;YAAC,MAAM,IAAA,WAAM,EAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC,CAAA,CAAC;QACzF,IAAI,CAAC;YAAC,MAAM,IAAA,WAAM,EAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAAA;QAAC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC,CAAA,CAAC;QAE7F,qGAAqG;QACrG,uEAAuE;QACvE,qEAAqE;QAErE,wDAAwD;QACxD,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAEhC,qCAAqC;QACrC,+BAA+B;QAC/B,IAAI,UAAU,GAAa,EAAE,CAAA;QAC7B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC1F,UAAU,GAAG,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;YAC9C,+DAA+D;QACjE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,qEAAqE;QACvE,CAAC;QAED,2CAA2C;QAC3C,MAAM,IAAA,iCAAgB,EAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;YAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAClD,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,WAAW,EAAE,CAAC;gBACvC,EAAE,CAAC,SAAS,CAAC,YAAY,GAAG,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,IACE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;oBAC1C,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,EAC5C,CAAC;oBACD,kFAAkF;oBAClF,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/C,4CAA4C;wBAC5C,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,CAAA,CAAC,sCAAsC;oBAC1F,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QACF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC5D,sEAAsE;QACtE,kFAAkF;QAElF,MAAM,IAAA,mBAAW,EAAC,mBAAmB,EAAE,UAAU,CAAC,CAAA;QAClD,0BAA0B;QAC1B,OAAO,UAAU,CAAA;IACnB,CAAC;CAAA"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ /* eslint-disable */
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 () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ exports.exportWebrootToS3 = exportWebrootToS3;
47
+ exports.getS3Prefix = getS3Prefix;
48
+ const basic_s3_actions_1 = require("@tremho/basic-s3-actions");
49
+ const fs = __importStar(require("fs"));
50
+ const ac = __importStar(require("ansi-colors"));
51
+ const BuiltInHandler_1 = require("../BuiltInHandler");
52
+ function exportWebrootToS3(exportFileList, options) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ const bucketName = determineBucketName();
55
+ console.log(ac.green.bold('webroot export to s3 bucket name ' + bucketName));
56
+ let existing = [];
57
+ try {
58
+ // console.log("fetching existing")
59
+ existing = yield getExistingDeployedFileList(bucketName);
60
+ }
61
+ catch (e) {
62
+ console.log(ac.blue.italic('creating webroot bucket ' + bucketName));
63
+ yield (0, basic_s3_actions_1.s3CreateBucket)(bucketName, true);
64
+ // console.log("bucket created")
65
+ }
66
+ console.log(ac.blue.italic('Deploying base webroot handling'));
67
+ yield (0, BuiltInHandler_1.DeployWebrootBuiltIn)(true);
68
+ yield (0, BuiltInHandler_1.DeployRootFileserves)();
69
+ // console.log("existing ", existing)
70
+ let update = false;
71
+ for (let file of exportFileList) {
72
+ update = (file.charAt(0) == '+');
73
+ if (update)
74
+ file = file.substring(1);
75
+ const i = file.indexOf('/webroot/') + 9;
76
+ const sfile = file.substring(i);
77
+ if (!sfile)
78
+ continue;
79
+ if (sfile.substring(0, 4) === 'docs')
80
+ continue; // keep these in self-serve only
81
+ const xi = existing.indexOf(sfile);
82
+ let disp = 'created';
83
+ if (xi !== -1) {
84
+ existing.splice(xi, 1);
85
+ disp = 'updated';
86
+ }
87
+ if (update) {
88
+ // console.log(sfile+"...")
89
+ try {
90
+ yield (0, basic_s3_actions_1.s3UploadFile)(bucketName, file, sfile);
91
+ console.log(ac.green.italic(`${disp} ${sfile}`));
92
+ }
93
+ catch (e) {
94
+ break;
95
+ }
96
+ }
97
+ }
98
+ for (const leftover of existing) {
99
+ yield (0, basic_s3_actions_1.s3Delete)(bucketName, leftover);
100
+ console.log(ac.green.italic(`deleted ${leftover}`));
101
+ }
102
+ });
103
+ }
104
+ function determineBucketName() {
105
+ let pkg = {};
106
+ try {
107
+ pkg = JSON.parse(fs.readFileSync('./package.json').toString());
108
+ }
109
+ catch (e) {
110
+ console.error(ac.bold.red('Failed to read package.json ' + e.message));
111
+ }
112
+ return (pkg.author + '-' + pkg.name).toLowerCase();
113
+ }
114
+ function getExistingDeployedFileList(bucketName) {
115
+ return __awaiter(this, void 0, void 0, function* () {
116
+ // S3ActionsLog.setMinimumLevel('Console', 'trace')
117
+ // S3ActionsLog.Debug("Getting bucket list for "+bucketName)
118
+ const list = yield (0, basic_s3_actions_1.s3ListObjects)(bucketName);
119
+ // S3ActionsLog.setMinimumLevel('Console', 'error')
120
+ return list;
121
+ });
122
+ }
123
+ function getS3Prefix() {
124
+ const name = determineBucketName();
125
+ return `https://${name}.s3.us-west-1.amazonaws.com/`;
126
+ }
127
+ /* eslint-enable */
128
+ //# sourceMappingURL=s3webroot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3webroot.js","sourceRoot":"","sources":["../../../../../src/commands/builtin/webroot-export/s3webroot.ts"],"names":[],"mappings":"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"}
@@ -16,15 +16,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
16
16
  }) : function(o, v) {
17
17
  o["default"] = v;
18
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
- };
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
26
36
  Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.doCreate = void 0;
37
+ exports.doCreate = doCreate;
28
38
  const fs = __importStar(require("fs"));
29
39
  const path = __importStar(require("path"));
30
40
  const ac = __importStar(require("ansi-colors"));
@@ -86,5 +96,4 @@ function doCreate(funcName // name of function to create
86
96
  fs.copyFileSync(path.join(dataDir, 'function-runmain-mjs'), path.join(funcPath, 'runmain.mjs'));
87
97
  }
88
98
  }
89
- exports.doCreate = doCreate;
90
99
  //# 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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"}