hotstaq 0.8.94 → 0.8.100

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 (75) hide show
  1. package/README.md +21 -0
  2. package/build/src/HotBuilder.d.ts +11 -0
  3. package/build/src/HotBuilder.d.ts.map +1 -1
  4. package/build/src/HotBuilder.js +97 -65
  5. package/build/src/HotBuilder.js.map +1 -1
  6. package/build/src/HotCLI.d.ts.map +1 -1
  7. package/build/src/HotCLI.js +91 -1
  8. package/build/src/HotCLI.js.map +1 -1
  9. package/build/src/HotDB.d.ts +16 -5
  10. package/build/src/HotDB.d.ts.map +1 -1
  11. package/build/src/HotDB.js +15 -3
  12. package/build/src/HotDB.js.map +1 -1
  13. package/build/src/HotDBConnectionInterface.d.ts +5 -1
  14. package/build/src/HotDBConnectionInterface.d.ts.map +1 -1
  15. package/build/src/HotHTTPServer.d.ts +49 -0
  16. package/build/src/HotHTTPServer.d.ts.map +1 -1
  17. package/build/src/HotHTTPServer.js +69 -4
  18. package/build/src/HotHTTPServer.js.map +1 -1
  19. package/build/src/HotStaq.d.ts.map +1 -1
  20. package/build/src/HotStaq.js +1 -1
  21. package/build/src/HotStaq.js.map +1 -1
  22. package/build/src/HotWebSocketServer.d.ts.map +1 -1
  23. package/build/src/HotWebSocketServer.js +6 -2
  24. package/build/src/HotWebSocketServer.js.map +1 -1
  25. package/build/src/api.d.ts +4 -2
  26. package/build/src/api.d.ts.map +1 -1
  27. package/build/src/api.js +7 -1
  28. package/build/src/api.js.map +1 -1
  29. package/build/src/schemas/HotDBInflux.d.ts +2 -2
  30. package/build/src/schemas/HotDBInflux.d.ts.map +1 -1
  31. package/build/src/schemas/HotDBInflux.js +1 -1
  32. package/build/src/schemas/HotDBInflux.js.map +1 -1
  33. package/build/src/schemas/HotDBMySQL.d.ts +4 -3
  34. package/build/src/schemas/HotDBMySQL.d.ts.map +1 -1
  35. package/build/src/schemas/HotDBMySQL.js +40 -22
  36. package/build/src/schemas/HotDBMySQL.js.map +1 -1
  37. package/build/src/schemas/HotDBPostgres.d.ts +65 -0
  38. package/build/src/schemas/HotDBPostgres.d.ts.map +1 -0
  39. package/build/src/schemas/HotDBPostgres.js +308 -0
  40. package/build/src/schemas/HotDBPostgres.js.map +1 -0
  41. package/build/src/schemas/postgres/PostgresSchema.d.ts +8 -0
  42. package/build/src/schemas/postgres/PostgresSchema.d.ts.map +1 -0
  43. package/build/src/schemas/postgres/PostgresSchema.js +14 -0
  44. package/build/src/schemas/postgres/PostgresSchema.js.map +1 -0
  45. package/build-web/HotStaq.js +2 -2
  46. package/build-web/HotStaq.min.js +213 -213
  47. package/builder/docker/docker-compose.gen.yaml +1 -2
  48. package/builder/docker/scripts/build.bat +1 -1
  49. package/builder/docker/scripts/build.sh +1 -1
  50. package/builder/docker/scripts/start.bat +1 -1
  51. package/builder/docker/scripts/start.sh +1 -1
  52. package/builder/docker/scripts/stop.bat +1 -1
  53. package/builder/docker/scripts/stop.sh +1 -1
  54. package/builder/helm-chart/.helmignore +23 -0
  55. package/builder/helm-chart/Chart.yaml +24 -0
  56. package/builder/helm-chart/README.md +2 -0
  57. package/builder/helm-chart/questions.yaml +1 -0
  58. package/builder/helm-chart/values.yaml +111 -0
  59. package/docker-compose.yaml +27 -7
  60. package/env-example +5 -2
  61. package/package.json +8 -1
  62. package/src/HotBuilder.ts +126 -80
  63. package/src/HotCLI.ts +146 -0
  64. package/src/HotDB.ts +18 -5
  65. package/src/HotDBConnectionInterface.ts +5 -1
  66. package/src/HotHTTPServer.ts +139 -4
  67. package/src/HotStaq.ts +1 -1
  68. package/src/HotWebSocketServer.ts +8 -2
  69. package/src/api.ts +10 -2
  70. package/src/schemas/HotDBInflux.ts +2 -2
  71. package/src/schemas/HotDBMySQL.ts +22 -11
  72. package/src/schemas/HotDBPostgres.ts +323 -0
  73. package/src/schemas/postgres/PostgresSchema.ts +12 -0
  74. package/start-dev.sh +1 -3
  75. package/stop-dev.sh +1 -1
package/README.md CHANGED
@@ -52,6 +52,7 @@ You can configure how HotStaq starts by using the following environment variable
52
52
  * Accepted values:
53
53
  * mysql
54
54
  * influx
55
+ * postgres
55
56
  * DATABASE_DISABLE
56
57
  * Type: number
57
58
  * Description: If set to 0, the database will not be used.
@@ -64,6 +65,7 @@ You can configure how HotStaq starts by using the following environment variable
64
65
  * Accepted values:
65
66
  * MySql example: 127.0.0.1
66
67
  * Influx example: http://127.0.0.1:8086
68
+ * Postgres example: 127.0.0.1
67
69
  * DATABASE_PORT
68
70
  * Type: number
69
71
  * Description: The database port to use.
@@ -116,6 +118,25 @@ You can configure how HotStaq starts by using the following environment variable
116
118
  * verbose
117
119
  * all
118
120
  * none
121
+ * RATE_LIMITER_REDIS_HOST
122
+ * Type: string
123
+ * Description: The Redis host to use for the rate limiter.
124
+ * Accepted values:
125
+ * RATE_LIMITER_REDIS_PORT
126
+ * Type: string
127
+ * Description: The Redis port to use for the rate limiter.
128
+ * Accepted values:
129
+ * Any string.
130
+ * RATE_LIMITER_REDIS_USERNAME
131
+ * Type: string
132
+ * Description: The Redis username to use for the rate limiter.
133
+ * Accepted values:
134
+ * Any string.
135
+ * RATE_LIMITER_REDIS_PASSWORD
136
+ * Type: string
137
+ * Description: The Redis password to use for the rate limiter.
138
+ * Accepted values:
139
+ * Any string.
119
140
 
120
141
  ## HotStaq Development Specific Environment Variables
121
142
  The following environment variables are only used during development and testing of HotStaq. These are not meant to be used for HotStaq applications:
@@ -117,6 +117,17 @@ export declare class HotBuilder {
117
117
  * Get the correct NPM name from the given name. This will remove the version.
118
118
  */
119
119
  static getNameFromNPMName(name: string): string;
120
+ /**
121
+ * Prepare a HotSite for building. This will return the replace keys to use for
122
+ * every file that will be generated. Additionally, this will ensure the HotSite
123
+ * is named properly, and check if the target output directory already exists.
124
+ * Also, this will normalize the output directory.
125
+ *
126
+ * @param generatorType The type of generator to use. Can be:
127
+ * * docker
128
+ * * helm
129
+ */
130
+ protected prepareHotsiteBuild(hotsite: HotSite, generatorType: "docker" | "helm"): Promise<any>;
120
131
  /**
121
132
  * During install, copy files to their correct locations. All copying will
122
133
  * stop if stopAfterFirstIsFound is set to true, and the first file is found.
@@ -1 +1 @@
1
- {"version":3,"file":"HotBuilder.d.ts","sourceRoot":"","sources":["../../src/HotBuilder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAElC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,UAAU;IAEtB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;gBAEL,MAAM,EAAE,MAAM;IAa3B;;OAEG;WACU,aAAa,CAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwGvE;;OAEG;WACU,WAAW,CAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwRrE;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAehD;;;;;OAKG;qBACoB,mBAAmB,CAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAC/F,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC5E,OAAO,EAAE,MAAM,EAAE,qBAAqB,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkHvE;;;;OAIG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAgI7B;;OAEG;cACa,iBAAiB,CAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAatG"}
1
+ {"version":3,"file":"HotBuilder.d.ts","sourceRoot":"","sources":["../../src/HotBuilder.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AASlC;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAElC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,UAAU;IAEtB;;OAEG;IACH,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB;;;OAGG;IACH,GAAG,EAAE,OAAO,CAAC;IACb;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;gBAEL,MAAM,EAAE,MAAM;IAa3B;;OAEG;WACU,aAAa,CAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwGvE;;OAEG;WACU,WAAW,CAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwRrE;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAehD;;;;;;;;;OASG;cACa,mBAAmB,CAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA8DtG;;;;;OAKG;qBACoB,mBAAmB,CAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAC/F,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC5E,OAAO,EAAE,MAAM,EAAE,qBAAqB,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkHvE;;;;OAIG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAsG7B;;OAEG;cACa,iBAAiB,CAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAatG"}
@@ -321,6 +321,63 @@ return (newModule);
321
321
  }
322
322
  return (name);
323
323
  }
324
+ /**
325
+ * Prepare a HotSite for building. This will return the replace keys to use for
326
+ * every file that will be generated. Additionally, this will ensure the HotSite
327
+ * is named properly, and check if the target output directory already exists.
328
+ * Also, this will normalize the output directory.
329
+ *
330
+ * @param generatorType The type of generator to use. Can be:
331
+ * * docker
332
+ * * helm
333
+ */
334
+ prepareHotsiteBuild(hotsite, generatorType) {
335
+ return __awaiter(this, void 0, void 0, function* () {
336
+ if (hotsite.name == null)
337
+ throw new Error(`HotSite ${hotsite.hotsitePath} is missing a name!`);
338
+ HotStaq_1.HotStaq.checkHotSiteName(hotsite.name, true);
339
+ this.outputDir = ppath.normalize(`${this.outputDir}/`);
340
+ let dockerfilePortsStr = "";
341
+ let httpPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "http"]);
342
+ let httpsPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "https"]);
343
+ let httpApiPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "apiHttp"]);
344
+ let httpsApiPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "apiHttps"]);
345
+ let hotsitePath = `/app/HotSite.json`;
346
+ if ((yield HotIO_1.HotIO.exists(`${this.outputDir}/${generatorType}/${hotsite.name}/app/`)) === true) {
347
+ this.logger.info(`Unable to create ${generatorType} files because the directory "${this.outputDir}/${generatorType}/${hotsite.name}/app/" already exists!`);
348
+ return;
349
+ }
350
+ yield HotIO_1.HotIO.mkdir(`${this.outputDir}/${generatorType}/${hotsite.name}/app/`);
351
+ if (httpPort != null) {
352
+ dockerfilePortsStr += `ARG HTTP_PORT=${httpPort}
353
+ ENV HTTP_PORT \${HTTP_PORT}
354
+ EXPOSE \${HTTP_PORT}`;
355
+ }
356
+ if (httpsPort != null) {
357
+ dockerfilePortsStr += `ARG HTTPS_PORT=${httpsPort}
358
+ ENV HTTPS_PORT \${HTTPS_PORT}
359
+ EXPOSE \${HTTPS_PORT}`;
360
+ }
361
+ if (dockerfilePortsStr === "") {
362
+ httpPort = 5000;
363
+ dockerfilePortsStr += `ARG HTTP_PORT=5000
364
+ ENV HTTP_PORT \${HTTP_PORT}
365
+ EXPOSE \${HTTP_PORT}`;
366
+ }
367
+ if (httpApiPort == null)
368
+ httpApiPort = 5001;
369
+ let replaceKeys = {
370
+ NAMESPACE: this.dockerNamespace,
371
+ HOTSITE_NAME: hotsite.name,
372
+ REAL_HOTSTAQ_VERSION: this.hotstaqVersion,
373
+ DOCKERFILE_PORTS: dockerfilePortsStr,
374
+ REAL_HTTP_PORT: httpPort.toString(),
375
+ REAL_API_HTTP_PORT: httpApiPort.toString(),
376
+ HOTSITE_PATH: hotsitePath
377
+ };
378
+ return (replaceKeys);
379
+ });
380
+ }
324
381
  /**
325
382
  * During install, copy files to their correct locations. All copying will
326
383
  * stop if stopAfterFirstIsFound is set to true, and the first file is found.
@@ -429,80 +486,55 @@ return (newModule);
429
486
  const dockerDir = ppath.normalize(`${__dirname}/../../builder/docker`);
430
487
  for (let iIdx = 0; iIdx < this.hotsites.length; iIdx++) {
431
488
  const hotsite = this.hotsites[iIdx];
489
+ this.logger.info(`Preparing Dockerfile "${hotsite.name}"...`);
490
+ let replaceKeys = yield this.prepareHotsiteBuild(hotsite, "docker");
432
491
  this.logger.info(`Building Dockerfile "${hotsite.name}"...`);
433
- if (hotsite.name == null)
434
- throw new Error(`HotSite ${hotsite.hotsitePath} is missing a name!`);
435
- HotStaq_1.HotStaq.checkHotSiteName(hotsite.name, true);
436
- const hotsiteName = hotsite.name;
437
- let outputDir = ppath.normalize(`${this.outputDir}/`);
438
- let dockerfilePortsStr = "";
439
- let httpPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "http"]);
440
- let httpsPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "https"]);
441
- let httpApiPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "apiHttp"]);
442
- let httpsApiPort = HotStaq_1.HotStaq.getValueFromHotSiteObj(hotsite, ["server", "ports", "apiHttps"]);
443
- let hotsitePath = `/app/HotSite.json`;
444
- if ((yield HotIO_1.HotIO.exists(`${outputDir}/docker/${hotsiteName}/app/`)) === true) {
445
- this.logger.info(`Unable to create Docker files because the directory "${outputDir}/docker/${hotsiteName}/app/" already exists!`);
446
- return;
447
- }
448
- yield HotIO_1.HotIO.mkdir(`${outputDir}/docker/${hotsiteName}/app/`);
449
- if (httpPort != null) {
450
- dockerfilePortsStr += `ARG HTTP_PORT=${httpPort}
451
- ENV HTTP_PORT \${HTTP_PORT}
452
- EXPOSE \${HTTP_PORT}`;
453
- }
454
- if (httpsPort != null) {
455
- dockerfilePortsStr += `ARG HTTPS_PORT=${httpsPort}
456
- ENV HTTPS_PORT \${HTTPS_PORT}
457
- EXPOSE \${HTTPS_PORT}`;
458
- }
459
- if (dockerfilePortsStr === "") {
460
- httpPort = 5000;
461
- dockerfilePortsStr += `ARG HTTP_PORT=5000
462
- ENV HTTP_PORT \${HTTP_PORT}
463
- EXPOSE \${HTTP_PORT}`;
464
- }
465
- if (httpApiPort == null)
466
- httpApiPort = 5001;
467
- let replaceKeys = {
468
- NAMESPACE: this.dockerNamespace,
469
- HOTSITE_NAME: hotsiteName,
470
- REAL_HOTSTAQ_VERSION: this.hotstaqVersion,
471
- DOCKERFILE_PORTS: dockerfilePortsStr,
472
- REAL_HTTP_PORT: httpPort.toString(),
473
- REAL_API_HTTP_PORT: httpApiPort.toString(),
474
- HOTSITE_PATH: hotsitePath
475
- };
476
- yield HotIO_1.HotIO.copyFile(ppath.normalize(`${dockerDir}/Dockerfile.hardened.linux.gen`), `${outputDir}/docker/${hotsiteName}/prod.dockerfile`);
477
- yield HotIO_1.HotIO.copyFile(ppath.normalize(`${dockerDir}/Dockerfile.linux.gen`), `${outputDir}/docker/${hotsiteName}/dev.dockerfile`);
478
- yield this.replaceKeysInFile(`${outputDir}/docker/${hotsiteName}/prod.dockerfile`, replaceKeys);
479
- yield this.replaceKeysInFile(`${outputDir}/docker/${hotsiteName}/dev.dockerfile`, replaceKeys);
480
- yield HotIO_1.HotIO.copyFiles(`${dockerDir}/scripts/`, `${outputDir}/`);
481
- yield HotIO_1.HotIO.copyFiles(`${dockerDir}/app/`, `${outputDir}/docker/${hotsiteName}/app/`);
482
- yield HotIO_1.HotIO.copyFile(`${dockerDir}/dockerignore`, `${outputDir}/.dockerignore`);
483
- yield HotIO_1.HotIO.copyFile(`${dockerDir}/docker-compose.gen.yaml`, `${outputDir}/docker-compose.yaml`);
484
- yield HotIO_1.HotIO.copyFile(`${dockerDir}/env-skeleton`, `${outputDir}/env-skeleton`);
485
- yield this.replaceKeysInFile(`${outputDir}/docker/${hotsiteName}/app/start.sh`, replaceKeys);
486
- yield this.replaceKeysInFile(`${outputDir}/docker/${hotsiteName}/app/start-pkg.sh`, replaceKeys);
487
- yield this.replaceKeysInFile(`${outputDir}/env-skeleton`, replaceKeys);
488
- yield this.replaceKeysInFile(`${outputDir}/docker-compose.yaml`, replaceKeys);
489
- yield this.replaceKeysInFile(`${outputDir}/build.bat`, replaceKeys);
490
- yield this.replaceKeysInFile(`${outputDir}/build.sh`, replaceKeys);
491
- yield this.replaceKeysInFile(`${outputDir}/start.bat`, replaceKeys);
492
- yield this.replaceKeysInFile(`${outputDir}/start.sh`, replaceKeys);
493
- yield this.replaceKeysInFile(`${outputDir}/stop.bat`, replaceKeys);
494
- yield this.replaceKeysInFile(`${outputDir}/stop.sh`, replaceKeys);
495
- if ((yield HotIO_1.HotIO.exists(`${outputDir}/README.md`)) === true) {
496
- const prevREADME = yield HotIO_1.HotIO.readTextFile(`${outputDir}/README.md`);
492
+ yield HotIO_1.HotIO.copyFile(ppath.normalize(`${dockerDir}/Dockerfile.hardened.linux.gen`), `${this.outputDir}/docker/${hotsite.name}/prod.dockerfile`);
493
+ yield HotIO_1.HotIO.copyFile(ppath.normalize(`${dockerDir}/Dockerfile.linux.gen`), `${this.outputDir}/docker/${hotsite.name}/dev.dockerfile`);
494
+ yield this.replaceKeysInFile(`${this.outputDir}/docker/${hotsite.name}/prod.dockerfile`, replaceKeys);
495
+ yield this.replaceKeysInFile(`${this.outputDir}/docker/${hotsite.name}/dev.dockerfile`, replaceKeys);
496
+ yield HotIO_1.HotIO.copyFiles(`${dockerDir}/scripts/`, `${this.outputDir}/`);
497
+ yield HotIO_1.HotIO.copyFiles(`${dockerDir}/app/`, `${this.outputDir}/docker/${hotsite.name}/app/`);
498
+ yield HotIO_1.HotIO.copyFile(`${dockerDir}/dockerignore`, `${this.outputDir}/.dockerignore`);
499
+ yield HotIO_1.HotIO.copyFile(`${dockerDir}/docker-compose.gen.yaml`, `${this.outputDir}/docker-compose.yaml`);
500
+ yield HotIO_1.HotIO.copyFile(`${dockerDir}/env-skeleton`, `${this.outputDir}/env-skeleton`);
501
+ yield this.replaceKeysInFile(`${this.outputDir}/docker/${hotsite.name}/app/start.sh`, replaceKeys);
502
+ yield this.replaceKeysInFile(`${this.outputDir}/docker/${hotsite.name}/app/start-pkg.sh`, replaceKeys);
503
+ yield this.replaceKeysInFile(`${this.outputDir}/env-skeleton`, replaceKeys);
504
+ yield this.replaceKeysInFile(`${this.outputDir}/docker-compose.yaml`, replaceKeys);
505
+ yield this.replaceKeysInFile(`${this.outputDir}/build.bat`, replaceKeys);
506
+ yield this.replaceKeysInFile(`${this.outputDir}/build.sh`, replaceKeys);
507
+ yield this.replaceKeysInFile(`${this.outputDir}/start.bat`, replaceKeys);
508
+ yield this.replaceKeysInFile(`${this.outputDir}/start.sh`, replaceKeys);
509
+ yield this.replaceKeysInFile(`${this.outputDir}/stop.bat`, replaceKeys);
510
+ yield this.replaceKeysInFile(`${this.outputDir}/stop.sh`, replaceKeys);
511
+ if ((yield HotIO_1.HotIO.exists(`${this.outputDir}/README.md`)) === true) {
512
+ const prevREADME = yield HotIO_1.HotIO.readTextFile(`${this.outputDir}/README.md`);
497
513
  const dockerREADME = yield HotIO_1.HotIO.readTextFile(`${dockerDir}/README.md`);
498
514
  // Only append the docker readme if it's not already there...
499
515
  if (prevREADME.indexOf("Docker Getting Started") < 0)
500
- yield HotIO_1.HotIO.writeTextFile(`${outputDir}/README.md`, `${prevREADME}\n${dockerREADME}`);
516
+ yield HotIO_1.HotIO.writeTextFile(`${this.outputDir}/README.md`, `${prevREADME}\n${dockerREADME}`);
501
517
  }
502
518
  this.logger.info(`Finished building Dockerfile "${hotsite.name}"...`);
503
519
  }
504
520
  this.logger.info("Finished building docker files...");
505
521
  }
522
+ if (this.helmChart === true) {
523
+ this.logger.info("Building helm chart files (THIS IS EXPERIMENTAL AND UNTESTED)...");
524
+ const helmDir = ppath.normalize(`${__dirname}/../../builder/helm-chart`);
525
+ for (let iIdx = 0; iIdx < this.hotsites.length; iIdx++) {
526
+ const hotsite = this.hotsites[iIdx];
527
+ this.logger.info(`Preparing Helm Chart "${hotsite.name}"...`);
528
+ let replaceKeys = yield this.prepareHotsiteBuild(hotsite, "helm");
529
+ this.logger.info(`Building Helm Chart "${hotsite.name}"...`);
530
+ yield HotIO_1.HotIO.copyFiles(`${helmDir}/`, `${this.outputDir}/helm/`);
531
+ yield this.replaceKeysInFile(`${this.outputDir}/helm/values.yaml`, replaceKeys);
532
+ yield this.replaceKeysInFile(`${this.outputDir}/helm/Chart.yaml`, replaceKeys);
533
+ yield this.replaceKeysInFile(`${this.outputDir}/helm/README.md`, replaceKeys);
534
+ this.logger.info("Finished building Helm Chart...");
535
+ }
536
+ this.logger.info("Finished building helm chart files (THIS IS EXPERIMENTAL AND UNTESTED)...");
537
+ }
506
538
  });
507
539
  }
508
540
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HotBuilder.js","sourceRoot":"","sources":["../../src/HotBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HotBuilder.js","sourceRoot":"","sources":["../../src/HotBuilder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAE9B,+BAA4B;AAE5B,mCAAgC;AAEhC,uCAAoC;AA2EpC;;GAEG;AACH,MAAa,UAAU;IAwCtB,YAAa,MAAc;QAE1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAE,GAAG,OAAO,CAAC,GAAG,EAAG,GAAG,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,MAAM,CAAO,aAAa,CAAE,OAA2B;;YAEtD,IAAI,IAAI,GAAW,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,WAAW,GAAW,OAAO,CAAC,WAAW,CAAC;YAC9C,IAAI,SAAS,GAAY,OAAO,CAAC,SAAS,CAAC;YAC3C,IAAI,GAAG,GAAW,OAAO,CAAC,GAAG,CAAC;YAC9B,IAAI,OAAO,GAAY,OAAO,CAAC,OAAO,CAAC;YACvC,IAAI,WAAW,GAAW,OAAO,CAAC,WAAW,CAAC;YAC9C,IAAI,MAAM,GAAW,OAAO,CAAC,MAAM,CAAC;YACpC,IAAI,OAAO,GAAW,OAAO,CAAC,OAAO,CAAC;YAEtC,IAAI,WAAW,IAAI,IAAI;gBACtB,WAAW,GAAG,SAAS,CAAC;YAEzB,IAAI,GAAG,IAAI,IAAI;gBACd,GAAG,GAAG,OAAO,CAAC,GAAG,EAAG,CAAC;YAEtB,IAAI,OAAO,GAAW,CAAC,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACvD,IAAI,OAAO,GAAW,QAAQ,CAAC;YAE/B,IAAI,OAAO,GAAG,CAAC,EACf;gBACC,IAAI,WAAW,GAAW,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC;gBACjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAE,WAAW,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAE,CAAC,EAAE,WAAW,CAAC,CAAC;aACvC;YAED,IAAI,MAAM,KAAK,EAAE;gBAChB,MAAM,GAAG,GAAG,GAAG,2BAA2B,IAAI,GAAG,CAAC;YAEnD,IAAI,OAAO,KAAK,EAAE;gBACjB,OAAO,GAAG,qBAAqB,IAAI,GAAG,CAAC;YAExC,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,MAAM,CAAC,MAAK,KAAK;gBACxC,MAAM,aAAK,CAAC,KAAK,CAAE,MAAM,CAAC,CAAC;YAE5B,IAAI,gBAAgB,GAAW,EAAE,CAAC;YAElC,IAAI,WAAW,KAAK,SAAS;gBAC5B,gBAAgB,GAAG,IAAI,OAAO,EAAE,CAAC;YAElC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAE,0BAA0B,IAAI,GAAG,gBAAgB,EAAE,CAAC,CAAC;YAE5E,MAAM,aAAK,CAAC,IAAI,CAAE,MAAM,GAAG,WAAW,WAAW,KAAK,IAAI,GAAG,gBAAgB,GAAG,CAAC,CAAC;YAElF,MAAM,SAAS,GAAW,MAAM,aAAK,CAAC,IAAI,CAAE,MAAM,GAAG,+BAA+B,IAAI,EAAE,CAAC,CAAC;YAC5F,MAAM,MAAM,GAAQ,IAAI,CAAC,KAAK,CAAE,SAAS,CAAC,CAAC;YAC3C,OAAO,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,0CAA0C;YAE7F,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;YAE5C,MAAM,SAAS,CAAC,WAAW,CAAE,WAAW,CAAC,CAAC;YAE1C,IAAI,aAAa,GAAW,OAAO,CAAC,aAAa,CAAC;YAElD,IAAI,aAAa,CAAC,WAAW,EAAG,CAAC,OAAO,CAAE,OAAO,CAAC,GAAG,CAAC;gBACrD,aAAa,IAAI,OAAO,CAAC;YAE1B,aAAa,GAAG,KAAK,CAAC,SAAS,CAAE,aAAa,CAAC,CAAC;YAEhD,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,aAAa,CAAC,MAAK,KAAK,EAChD;gBACC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;gBAEtC,IAAI,aAAa,CAAC,WAAW,EAAG,CAAC,OAAO,CAAE,OAAO,CAAC,GAAG,CAAC;oBACrD,aAAa,IAAI,OAAO,CAAC;gBAE1B,aAAa,GAAG,KAAK,CAAC,SAAS,CAAE,aAAa,CAAC,CAAC;aAChD;YAED,IAAI,aAAa,GAAY,IAAI,iBAAO,EAAG,CAAC;YAC5C,MAAM,aAAa,CAAC,WAAW,CAAE,aAAa,CAAC,CAAC;YAChD,MAAM,aAAa,CAAC,cAAc,EAAG,CAAC;YAEtC,IAAI,iBAAiB,GAAY,aAAa,CAAC,OAAO,CAAC;YACvD,IAAI,IAAI,GAAG,iBAAiB,CAAC,YAAY,CAAC;YAE1C,IAAI,IAAI,IAAI,IAAI,EAChB;gBACC,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EACpB;oBACC,IAAI,QAAQ,GAAW,EAAE,CAAC;oBAE1B,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,EAC5B;wBACC,IAAI,UAAU,GAAW,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAE3C,QAAQ,IAAI,IAAI,OAAO,IAAI,UAAU,IAAI,CAAC;qBAC1C;oBAED,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,kBAAkB,QAAQ,EAAE,CAAC,CAAC;oBACxD,MAAM,aAAK,CAAC,IAAI,CAAE,MAAM,GAAG,mBAAmB,QAAQ,EAAE,CAAC,CAAC;oBAE1D,2CAA2C;oBAC3C,IAAI,WAAW,KAAK,MAAM;wBACzB,MAAM,aAAK,CAAC,IAAI,CAAE,MAAM,GAAG,WAAW,WAAW,KAAK,IAAI,GAAG,gBAAgB,GAAG,CAAC,CAAC;oBAEnF,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,wBAAwB,CAAC,CAAC;iBACpD;aACD;YAED,SAAS,CAAC,MAAM,CAAC,IAAI,CAAE,mCAAmC,IAAI,GAAG,gBAAgB,EAAE,CAAC,CAAC;QACtF,CAAC;KAAA;IAED;;OAEG;IACH,MAAM,CAAO,WAAW,CAAE,OAA2B;;YAEpD,IAAI,IAAI,GAAW,OAAO,CAAC,IAAI,CAAC;YAChC,IAAI,SAAS,GAAW,OAAO,CAAC,SAAS,CAAC;YAC1C,IAAI,SAAS,GAAY,OAAO,CAAC,SAAS,CAAC;YAC3C,IAAI,GAAG,GAAW,OAAO,CAAC,GAAG,CAAC;YAC9B,IAAI,MAAM,GAAW,OAAO,CAAC,MAAM,CAAC;YACpC,IAAI,OAAO,GAAW,OAAO,CAAC,OAAO,CAAC;YAEtC,IAAI,OAAO,GAAW,CAAC,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACvD,IAAI,OAAO,GAAW,QAAQ,CAAC;YAE/B,IAAI,OAAO,GAAG,CAAC,EACf;gBACC,IAAI,WAAW,GAAW,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC;gBACjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAE,WAAW,GAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAE,CAAC,EAAE,WAAW,CAAC,CAAC;aACvC;YAED,IAAI,UAAU,GAAW,OAAO,CAAC,UAAU,CAAC;YAC5C,IAAI,aAAa,GAAW,OAAO,CAAC,aAAa,CAAC;YAElD,IAAI,aAAa,CAAC,WAAW,EAAG,CAAC,OAAO,CAAE,OAAO,CAAC,GAAG,CAAC;gBACrD,aAAa,IAAI,OAAO,CAAC;YAE1B,aAAa,GAAG,KAAK,CAAC,SAAS,CAAE,aAAa,CAAC,CAAC;YAEhD,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,aAAa,CAAC,MAAK,KAAK,EAChD;gBACC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;gBAEtC,IAAI,aAAa,CAAC,WAAW,EAAG,CAAC,OAAO,CAAE,OAAO,CAAC,GAAG,CAAC;oBACrD,aAAa,IAAI,OAAO,CAAC;gBAE1B,aAAa,GAAG,KAAK,CAAC,SAAS,CAAE,aAAa,CAAC,CAAC;aAChD;YAED,IAAI,aAAa,GAAY,IAAI,iBAAO,EAAG,CAAC;YAC5C,MAAM,aAAa,CAAC,WAAW,CAAE,aAAa,CAAC,CAAC;YAChD,MAAM,aAAa,CAAC,cAAc,EAAG,CAAC;YAEtC,IAAI,iBAAiB,GAAY,aAAa,CAAC,OAAO,CAAC;YACvD,IAAI,IAAI,GAAG,iBAAiB,CAAC,YAAY,CAAC;YAE1C,IAAI,MAAM,KAAK,EAAE;gBAChB,MAAM,GAAG,GAAG,GAAG,2BAA2B,IAAI,GAAG,CAAC;YAEnD,IAAI,OAAO,KAAK,EAAE;gBACjB,OAAO,GAAG,qBAAqB,IAAI,GAAG,CAAC;YAExC,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,MAAM,CAAC,MAAK,KAAK;gBACxC,MAAM,aAAK,CAAC,KAAK,CAAE,MAAM,CAAC,CAAC;YAE5B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAE,2BAA2B,IAAI,EAAE,CAAC,CAAC;YAE1D,IAAI,gBAAgB,GAAW,EAAE,CAAC;YAClC,IAAI,KAAK,GAAkB;gBACzB,EAAE,EAAE,EAAE;gBACN,GAAG,EAAE,EAAE;gBACP,IAAI,EAAE,EAAE;gBACR,UAAU,EAAE,EAAE;aACd,CAAC;YAEH,IAAI,IAAI,IAAI,IAAI,EAChB;gBACC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,EAC1B;oBACC,IAAI,gBAAgB,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;oBACnF,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,iCAAiC,gBAAgB,EAAE,CAAC,CAAC;oBAC/E,IAAI,aAAa,GAAW,OAAO,CAAC,OAAO,CAAE,gBAAgB,CAAC,CAAC;oBAC/D,IAAI,SAAS,GAAG,OAAO,CAAE,aAAa,CAAC,CAAC;oBAExC,IAAI,SAAS,CAAC,WAAW,IAAI,IAAI;wBAChC,MAAM,IAAI,KAAK,CAAE,wBAAwB,aAAa,kDAAkD,CAAC,CAAC;oBAI3G,IAAI,eAAe,GAOb,MAAM,SAAS,CAAC,WAAW,EAAG,CAAC;oBAErC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAE,eAAe,CAAC,EAAE,CAAC,CAAC;oBAE9G,IAAI,eAAe,IAAI,IAAI,EAC3B;wBACC,IAAI,eAAe,CAAC,MAAM,IAAI,IAAI,EAClC;4BACC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,kBAAkB,CAAC,CAAC;4BAE9C,sEAAsE;4BACtE,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAC/D;gCACC,IAAI,UAAU,GAAe,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCAC1D,IAAI,UAAU,GAAW,EAAE,CAAC;gCAC5B,IAAI,WAAW,GAAa,EAAE,CAAC;gCAE/B,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,QAAQ;oCACnC,UAAU,GAAG,UAAU,CAAC;qCAEzB;oCACC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;oCAC7B,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;iCAC/B;gCAED,IAAI,UAAU,GAAW,GAAG,GAAG,iBAAiB,UAAU,GAAG,CAAC;gCAC9D,IAAI,QAAQ,GAAa,WAAW,CAAC;gCAErC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;oCAC3B,QAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;gCAEzC,qEAAqE;gCACrE,mEAAmE;gCACnE,gEAAgE;gCAChE,MAAM,UAAU,CAAC,mBAAmB,CAAE,SAAS,EAAE,IAAI,EACpD,UAAU,EACV,GAAG,MAAM,aAAa,EACtB,QAAQ,EACR,CAAC,GAAG,UAAU,QAAQ;oCACtB,GAAG,UAAU,WAAW;oCACxB,GAAG,UAAU,YAAY;oCACzB,GAAG,UAAU,SAAS;oCACtB,GAAG,UAAU,YAAY;oCACzB,GAAG,UAAU,aAAa;oCAC1B,GAAG,UAAU,MAAM,CAAC,EACpB,KAAK,CAAC,EAAE,EACR,GAAG,OAAO,aAAa,EACvB,KAAK,CAAC,CAAC;gCAER,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;oCAC3B,QAAQ,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gCAEjC,4DAA4D;gCAC5D,MAAM,UAAU,CAAC,mBAAmB,CAAE,SAAS,EAAE,KAAK,EACrD,UAAU,EACV,GAAG,MAAM,cAAc,EACvB,QAAQ,EACR,CAAC,GAAG,UAAU,QAAQ;oCACtB,GAAG,UAAU,YAAY;oCACzB,GAAG,UAAU,SAAS;oCACtB,GAAG,UAAU,aAAa;oCAC1B,GAAG,UAAU,OAAO,CAAC,EACrB,KAAK,CAAC,GAAG,EACT,GAAG,OAAO,cAAc,EACxB,KAAK,CAAC,CAAC;6BACR;4BAED,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,2BAA2B,CAAC,CAAC;yBACvD;wBAED,IAAI,mBAAmB,GAAG,CAAO,MAAmB,EAAE,WAAmB,EAAE,YAAoB,EAAE,QAAkB,EAAE,EAAE;4BAEtH,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,WAAW,CAAC,MAAK,KAAK;gCAC7C,MAAM,aAAK,CAAC,KAAK,CAAE,WAAW,CAAC,CAAC;4BAEjC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,EAC/C;gCACC,IAAI,QAAQ,GAAc,MAAM,CAAC,IAAI,CAAC,CAAC;gCAEvC,IAAI,QAAQ,IAAI,IAAI;oCACnB,SAAS;gCAEV,IAAI,SAAS,GAAW,EAAE,CAAC;gCAE3B,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ;oCACjC,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;;oCAE1B,SAAS,GAAG,QAAQ,CAAC;gCAEtB,IAAI,UAAU,CAAC,QAAQ,CAAE,GAAG,CAAC,KAAK,KAAK;oCACtC,UAAU,IAAI,GAAG,CAAC;gCAEnB,SAAS,GAAG,KAAK,CAAC,SAAS,CAAE,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC,CAAC;gCAE1D,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,oBAAoB,SAAS,EAAE,CAAC,CAAC;gCAE3D,MAAM,KAAK,GAAG,MAAM,IAAA,WAAI,EAAE,SAAS,CAAC,CAAC;gCAErC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAC9C;oCACC,IAAI,IAAI,GAAW,KAAK,CAAC,IAAI,CAAC,CAAC;oCAC/B,IAAI,QAAQ,GAAW,KAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oCACpD,IAAI,GAAG,GAAW,IAAI,CAAC;oCACvB,IAAI,IAAI,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC,CAAC;oCAElE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;oCACzD,MAAM,aAAK,CAAC,QAAQ,CAAE,GAAG,EAAE,IAAI,CAAC,CAAC;oCAEjC,IAAI,OAAO,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,YAAY,IAAI,QAAQ,EAAE,CAAC,CAAC;oCACtE,QAAQ,CAAC,IAAI,CAAE,OAAO,CAAC,CAAC;iCACxB;6BACD;wBACF,CAAC,CAAA,CAAC;wBAEF,IAAI,eAAe,CAAC,IAAI,IAAI,IAAI;4BAC/B,MAAM,mBAAmB,CAAE,eAAe,CAAC,IAAI,EAAE,GAAG,MAAM,eAAe,EAAE,GAAG,OAAO,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAEnH,IAAI,eAAe,CAAC,GAAG,IAAI,IAAI;4BAC9B,MAAM,mBAAmB,CAAE,eAAe,CAAC,GAAG,EAAE,GAAG,MAAM,cAAc,EAAE,GAAG,OAAO,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;wBAE/G,IAAI,eAAe,CAAC,EAAE,IAAI,IAAI;4BAC7B,MAAM,mBAAmB,CAAE,eAAe,CAAC,EAAE,EAAE,GAAG,MAAM,aAAa,EAAE,GAAG,OAAO,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;wBAE3G,IAAI,eAAe,CAAC,gBAAgB,IAAI,IAAI;4BAC3C,gBAAgB,GAAG,eAAe,CAAC,gBAAgB,CAAC;wBAErD,IAAI,eAAe,CAAC,UAAU,IAAI,IAAI,EACtC;4BACC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,EACnE;gCACC,aAAa;gCACb,KAAK,CAAC,UAAU,CAAC,IAAI,CAAE,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;6BACzD;yBACD;qBACD;iBACD;aACD;YAED,IAAI,UAAU,GAAG,CAAC,QAAkB,EAAE,UAAmB,KAAK,EAAE,EAAE;gBAEhE,IAAI,cAAc,GAAW,EAAE,CAAC;gBAEhC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EACjD;oBACC,IAAI,IAAI,GAAW,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,YAAY,GAAW,KAAK,CAAC,QAAQ,CAAE,IAAI,CAAC,CAAC;oBAEjD,IAAI,OAAO,KAAK,IAAI,EACpB;wBACC,uDAAuD;wBACvD,MAAM,aAAa,GAAW,GAAG,IAAI,IAAI,YAAY,EAAE,CAAC,WAAW,EAAG,CAAC;wBACvE,cAAc,IAAI,YAAY,aAAa,aAAa,IAAI,SAAS,CAAC;qBACtE;;wBAEA,cAAc,IAAI,IAAI,IAAI,OAAO,CAAC;iBACnC;gBAED,IAAI,cAAc,KAAK,EAAE;oBACxB,cAAc,GAAG,cAAc,CAAC,MAAM,CAAE,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAEvE,OAAO,CAAC,cAAc,CAAC,CAAC;YACzB,CAAC,CAAC;YACH,IAAI,UAAU,GAAW,UAAU,CAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/C,IAAI,WAAW,GAAW,UAAU,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,YAAY,GAAW,UAAU,CAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,kBAAkB,GAAW,EAAE,CAAC;YAEpC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,EACzD;gBACC,IAAI,SAAS,GAAW,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/C,kBAAkB,IAAI,IAAI,SAAS,OAAO,CAAC;aAC3C;YAED,IAAI,kBAAkB,KAAK,EAAE;gBAC5B,kBAAkB,GAAG,kBAAkB,CAAC,MAAM,CAAE,CAAC,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEnF,MAAM,WAAW,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,MAAM,WAAW,CAAC,CAAC;YAEnE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,6BAA6B,WAAW,EAAE,CAAC,CAAC;YACtE,MAAM,aAAK,CAAC,aAAa,CAAE,WAAW,EACxC,gCAAgC,iBAAO,CAAC,OAAO,OAAO,IAAI,IAAI,EAAG,CAAC,QAAQ,EAAG;6CAChC,IAAI;;kBAE/B,UAAU;mBACT,WAAW;oBACV,YAAY;gCACA,gBAAgB;0BACtB,kBAAkB;;;CAG3C,CAAC,CAAC;YAED,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,uBAAuB,CAAC,CAAC;YACnD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAE,oCAAoC,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;KAAA;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAE,IAAY;QAEtC,IAAI,OAAO,GAAW,CAAC,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACvD,IAAI,OAAO,GAAW,QAAQ,CAAC;QAE/B,IAAI,OAAO,GAAG,CAAC,EACf;YACC,IAAI,WAAW,GAAW,IAAI,CAAC,WAAW,CAAE,GAAG,CAAC,CAAC;YACjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAE,WAAW,GAAG,CAAC,CAAC,CAAC;YACvC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAE,CAAC,EAAE,WAAW,CAAC,CAAC;SACvC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED;;;;;;;;;OASG;IACa,mBAAmB,CAAE,OAAgB,EAAE,aAAgC;;YAEtF,IAAI,OAAO,CAAC,IAAI,IAAI,IAAI;gBACvB,MAAM,IAAI,KAAK,CAAE,WAAW,OAAO,CAAC,WAAW,qBAAqB,CAAC,CAAC;YAEvE,iBAAO,CAAC,gBAAgB,CAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE9C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAE,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACxD,IAAI,kBAAkB,GAAW,EAAE,CAAC;YACpC,IAAI,QAAQ,GAAW,iBAAO,CAAC,sBAAsB,CAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7F,IAAI,SAAS,GAAW,iBAAO,CAAC,sBAAsB,CAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/F,IAAI,WAAW,GAAW,iBAAO,CAAC,sBAAsB,CAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;YACnG,IAAI,YAAY,GAAW,iBAAO,CAAC,sBAAsB,CAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YACrG,IAAI,WAAW,GAAW,mBAAmB,CAAC;YAE9C,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,GAAG,IAAI,CAAC,SAAS,IAAI,aAAa,IAAI,OAAO,CAAC,IAAI,OAAO,CAAC,MAAK,IAAI,EAC3F;gBACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,oBAAoB,aAAa,iCAAiC,IAAI,CAAC,SAAS,IAAI,aAAa,IAAI,OAAO,CAAC,IAAI,wBAAwB,CAAC,CAAC;gBAE7J,OAAO;aACP;YAED,MAAM,aAAK,CAAC,KAAK,CAAE,GAAG,IAAI,CAAC,SAAS,IAAI,aAAa,IAAI,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC;YAE9E,IAAI,QAAQ,IAAI,IAAI,EACpB;gBACC,kBAAkB,IAAI,iBAAiB,QAAQ;;sBAE5B,CAAC;aACpB;YAED,IAAI,SAAS,IAAI,IAAI,EACrB;gBACC,kBAAkB,IAAI,kBAAkB,SAAS;;uBAE7B,CAAC;aACrB;YAED,IAAI,kBAAkB,KAAK,EAAE,EAC7B;gBACC,QAAQ,GAAG,IAAI,CAAC;gBAChB,kBAAkB,IAAI;;sBAEH,CAAC;aACpB;YAED,IAAI,WAAW,IAAI,IAAI;gBACtB,WAAW,GAAG,IAAI,CAAC;YAEpB,IAAI,WAAW,GAAG;gBAChB,SAAS,EAAE,IAAI,CAAC,eAAe;gBAC/B,YAAY,EAAE,OAAO,CAAC,IAAI;gBAC1B,oBAAoB,EAAE,IAAI,CAAC,cAAc;gBACzC,gBAAgB,EAAE,kBAAkB;gBACpC,cAAc,EAAE,QAAQ,CAAC,QAAQ,EAAG;gBACpC,kBAAkB,EAAE,WAAW,CAAC,QAAQ,EAAG;gBAC3C,YAAY,EAAE,WAAW;aACzB,CAAC;YAEH,OAAO,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC;KAAA;IAED;;;;;OAKG;IACO,MAAM,CAAO,mBAAmB,CAAE,SAAkB,EAAE,IAAY,EAAE,UAAkB,EAC/F,MAAc,EAAE,QAAkB,EAAE,UAAoB,EAAE,QAAkB,EAC5E,OAAe,EAAE,wBAAiC,IAAI;;YAEtD,IAAI,QAAQ,GAAG,CAAO,GAAW,EAAE,IAAY,EAAE,OAAe,EAAE,EAAE;gBAElE,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;gBACzD,MAAM,aAAK,CAAC,QAAQ,CAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBAEjC,IAAI,OAAO,GAAW,OAAO,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAE,OAAO,CAAC,CAAC;YACzB,CAAC,CAAA,CAAC;YACH,IAAI,eAAe,GAAG,CAAO,IAAY,EAAE,EAAE;gBAE3C,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,IAAI,CAAC,MAAK,KAAK;oBACtC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEhB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EACjD;oBACC,IAAI,OAAO,GAAW,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,iBAAiB,GAAY,KAAK,CAAC;oBAEvC,MAAM,KAAK,GAAG,MAAM,IAAA,WAAI,EAAE,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;oBAEjD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAC9C;wBACC,IAAI,IAAI,GAAW,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAG,CAAC;wBAC9C,IAAI,QAAQ,GAAW,KAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;wBACpD,IAAI,WAAW,GAAW,KAAK,CAAC,OAAO,CAAE,IAAI,CAAC,CAAC;wBAE/C,IAAI,WAAW,KAAK,EAAE;4BACrB,SAAS;wBAEV,IAAI,GAAG,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC;wBAC1D,IAAI,IAAI,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;wBAC7D,IAAI,OAAO,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;wBAEjE,MAAM,QAAQ,CAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;qBACpC;oBAED,iBAAiB,GAAG,IAAI,CAAC;oBAEzB,cAAc;oBACd,IAAI,iBAAiB,KAAK,IAAI,EAC9B;wBACC,IAAI,qBAAqB,KAAK,IAAI;4BACjC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAEf,MAAM;qBACN;iBACD;gBAED,OAAO,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAA,CAAC;YAEH,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,MAAM,CAAC,MAAK,KAAK;gBACxC,MAAM,aAAK,CAAC,KAAK,CAAE,MAAM,CAAC,CAAC;YAE5B,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,GAAG,UAAU,eAAe,CAAC,MAAK,IAAI,EAC9D;gBACC,IAAI,cAAc,GAAW,MAAM,aAAK,CAAC,YAAY,CAAE,GAAG,UAAU,eAAe,CAAC,CAAC;gBACrF,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAE,cAAc,CAAC,CAAC;gBACjD,IAAI,eAAe,GAAa,EAAE,CAAC;gBAEnC,IAAI,IAAI,KAAK,IAAI;oBAChB,eAAe,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAEzC,IAAI,IAAI,KAAK,KAAK;oBACjB,eAAe,GAAG,CAAC,OAAO,CAAC,CAAC;gBAE7B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,EACxD;oBACC,IAAI,IAAI,GAAW,eAAe,CAAC,IAAI,CAAC,CAAC;oBAEzC,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,IAAI,EAChC;wBACC,IAAI,QAAQ,GAAW,cAAc,CAAC,IAAI,CAAC,CAAC;wBAC5C,IAAI,YAAY,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAC;wBACzE,IAAI,QAAQ,GAAW,KAAK,CAAC,QAAQ,CAAE,YAAY,CAAC,CAAC;wBACrD,IAAI,GAAG,GAAW,KAAK,CAAC,OAAO,CAAE,QAAQ,CAAC,CAAC;wBAC3C,IAAI,IAAI,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC,CAAC;wBAC7D,IAAI,OAAO,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;wBAEjE,mCAAmC;wBACnC,IAAI,GAAG,CAAC,OAAO,CAAE,OAAO,CAAC,GAAG,CAAC,EAC7B;4BACC,IAAI,IAAI,GAAW,KAAK,CAAC,QAAQ,CAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;4BAClD,IAAI,YAAY,GAAG,GAAG,IAAI,OAAO,GAAG,EAAE,CAAC;4BACvC,IAAI,WAAW,GAAW,KAAK,CAAC,OAAO,CAAE,YAAY,CAAC,CAAC;4BACvD,IAAI,gBAAgB,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC,CAAC;4BAElF,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,gBAAgB,CAAC,MAAK,IAAI,EAClD;gCACC,YAAY,GAAG,gBAAgB,CAAC;gCAChC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAE,GAAG,MAAM,IAAI,YAAY,EAAE,CAAC,CAAC;gCACrD,OAAO,GAAG,KAAK,CAAC,SAAS,CAAE,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;6BACzD;yBACD;wBAED,MAAM,QAAQ,CAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;wBAE7C,OAAO;qBACP;iBACD;aACD;YAED,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,EACnD;gBACC,IAAI,SAAS,GAAW,KAAK,CAAC,SAAS,CAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAY,MAAM,eAAe,CAAE,SAAS,CAAC,CAAC;gBAE9D,IAAI,UAAU,KAAK,IAAI;oBACtB,OAAO;aACR;QACF,CAAC;KAAA;IAED;;;;OAIG;IACG,KAAK;;YAEV,IAAI,iBAAiB,GAAW,MAAM,aAAK,CAAC,YAAY,CAAE,KAAK,CAAC,SAAS,CAAE,GAAG,SAAS,qBAAqB,CAAC,CAAC,CAAC;YAC/G,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAE,iBAAiB,CAAC,CAAC;YAEvD,IAAI,IAAI,CAAC,cAAc,KAAK,EAAE;gBAC7B,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC;YAEjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,qCAAqC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;YAE9E,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,EACrB;gBACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,qBAAqB,CAAC,CAAC;gBAEzC,wBAAwB;gBAExB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,8BAA8B,CAAC,CAAC;aAClD;YAED,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAC7B;gBACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,0BAA0B,CAAC,CAAC;gBAE9C,MAAM,SAAS,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,SAAS,uBAAuB,CAAC,CAAC;gBAEhF,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EACtD;oBACC,MAAM,OAAO,GAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAE7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,yBAAyB,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;oBAE/D,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAErE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,wBAAwB,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;oBAE9D,MAAM,aAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,SAAS,CAAE,GAAG,SAAS,gCAAgC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,WAAW,OAAO,CAAC,IAAI,kBAAkB,CAAC,CAAC;oBAClJ,MAAM,aAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,SAAS,CAAE,GAAG,SAAS,uBAAuB,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,WAAW,OAAO,CAAC,IAAI,iBAAiB,CAAC,CAAC;oBACxI,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,WAAW,OAAO,CAAC,IAAI,kBAAkB,EAAE,WAAW,CAAC,CAAC;oBACvG,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,WAAW,OAAO,CAAC,IAAI,iBAAiB,EAAE,WAAW,CAAC,CAAC;oBACtG,MAAM,aAAK,CAAC,SAAS,CAAE,GAAG,SAAS,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;oBACtE,MAAM,aAAK,CAAC,SAAS,CAAE,GAAG,SAAS,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,WAAW,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC;oBAC7F,MAAM,aAAK,CAAC,QAAQ,CAAE,GAAG,SAAS,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC;oBACtF,MAAM,aAAK,CAAC,QAAQ,CAAE,GAAG,SAAS,0BAA0B,EAAE,GAAG,IAAI,CAAC,SAAS,sBAAsB,CAAC,CAAC;oBACvG,MAAM,aAAK,CAAC,QAAQ,CAAE,GAAG,SAAS,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,eAAe,CAAC,CAAC;oBAErF,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,WAAW,OAAO,CAAC,IAAI,eAAe,EAAE,WAAW,CAAC,CAAC;oBACpG,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,WAAW,OAAO,CAAC,IAAI,mBAAmB,EAAE,WAAW,CAAC,CAAC;oBACxG,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,eAAe,EAAE,WAAW,CAAC,CAAC;oBAE7E,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,sBAAsB,EAAE,WAAW,CAAC,CAAC;oBACpF,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,YAAY,EAAE,WAAW,CAAC,CAAC;oBAC1E,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,WAAW,EAAE,WAAW,CAAC,CAAC;oBACzE,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,YAAY,EAAE,WAAW,CAAC,CAAC;oBAC1E,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,WAAW,EAAE,WAAW,CAAC,CAAC;oBACzE,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,WAAW,EAAE,WAAW,CAAC,CAAC;oBACzE,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,UAAU,EAAE,WAAW,CAAC,CAAC;oBAExE,IAAI,CAAA,MAAM,aAAK,CAAC,MAAM,CAAE,GAAG,IAAI,CAAC,SAAS,YAAY,CAAC,MAAK,IAAI,EAC/D;wBACC,MAAM,UAAU,GAAW,MAAM,aAAK,CAAC,YAAY,CAAE,GAAG,IAAI,CAAC,SAAS,YAAY,CAAC,CAAC;wBACpF,MAAM,YAAY,GAAW,MAAM,aAAK,CAAC,YAAY,CAAE,GAAG,SAAS,YAAY,CAAC,CAAC;wBAEjF,6DAA6D;wBAC7D,IAAI,UAAU,CAAC,OAAO,CAAE,wBAAwB,CAAC,GAAG,CAAC;4BACpD,MAAM,aAAK,CAAC,aAAa,CAAE,GAAG,IAAI,CAAC,SAAS,YAAY,EAAE,GAAG,UAAU,KAAK,YAAY,EAAE,CAAC,CAAC;qBAC7F;oBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,iCAAiC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;iBACvE;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,mCAAmC,CAAC,CAAC;aACvD;YAED,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAC3B;gBACC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,kEAAkE,CAAC,CAAC;gBAEtF,MAAM,OAAO,GAAW,KAAK,CAAC,SAAS,CAAE,GAAG,SAAS,2BAA2B,CAAC,CAAC;gBAElF,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EACtD;oBACC,MAAM,OAAO,GAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAE7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,yBAAyB,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;oBAE/D,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBAEnE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,wBAAwB,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;oBAE9D,MAAM,aAAK,CAAC,SAAS,CAAE,GAAG,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC,CAAC;oBAEjE,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,mBAAmB,EAAE,WAAW,CAAC,CAAC;oBACjF,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,kBAAkB,EAAE,WAAW,CAAC,CAAC;oBAChF,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,IAAI,CAAC,SAAS,iBAAiB,EAAE,WAAW,CAAC,CAAC;oBAE/E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,iCAAiC,CAAC,CAAC;iBACrD;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,2EAA2E,CAAC,CAAC;aAC/F;QACF,CAAC;KAAA;IAED;;OAEG;IACa,iBAAiB,CAAE,QAAgB,EAAE,IAAiC;;YAErF,IAAI,QAAQ,GAAW,MAAM,aAAK,CAAC,YAAY,CAAE,QAAQ,CAAC,CAAC;YAE3D,KAAK,IAAI,GAAG,IAAI,IAAI,EACpB;gBACC,IAAI,KAAK,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE9B,QAAQ,GAAG,iBAAO,CAAC,UAAU,CAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;aACrD;YAED,MAAM,aAAK,CAAC,aAAa,CAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;KAAA;CACD;AA1wBD,gCA0wBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HotCLI.d.ts","sourceRoot":"","sources":["../../src/HotCLI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HotCLI.d.ts","sourceRoot":"","sources":["../../src/HotCLI.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,8 @@ const HotGenerator_1 = require("./HotGenerator");
48
48
  const HotCreator_1 = require("./HotCreator");
49
49
  const HotTesterMochaSelenium_1 = require("./HotTesterMochaSelenium");
50
50
  const HotDBMySQL_1 = require("./schemas/HotDBMySQL");
51
+ const HotDBInflux_1 = require("./schemas/HotDBInflux");
52
+ const HotDBPostgres_1 = require("./schemas/HotDBPostgres");
51
53
  const HotIO_1 = require("./HotIO");
52
54
  const HotAgentAPI_1 = require("./HotAgentAPI");
53
55
  const HotTesterMocha_1 = require("./HotTesterMocha");
@@ -121,6 +123,10 @@ class HotCLI {
121
123
  let dbClass = null;
122
124
  if (dbinfo.type === "mysql")
123
125
  dbClass = HotDBMySQL_1.HotDBMySQL;
126
+ if (dbinfo.type === "influx")
127
+ dbClass = HotDBInflux_1.HotDBInflux;
128
+ if (dbinfo.type === "postgres")
129
+ dbClass = HotDBPostgres_1.HotDBPostgres;
124
130
  api.db = new dbClass();
125
131
  yield server.setAPI(api);
126
132
  if (dbinfo.username === "")
@@ -192,6 +198,10 @@ class HotCLI {
192
198
  createHotBuilder();
193
199
  builder.dockerNamespace = arg;
194
200
  });
201
+ buildCmd.option("--helm", "Build Helm Charts from the given HotSite.json files. THIS IS EXPERIMENTAL AND UNTESTED. GOOD LUCK.", (arg, previous) => {
202
+ createHotBuilder();
203
+ builder.helmChart = true;
204
+ });
195
205
  buildCmd.option("--hotstaq-version <version>", `Specify the HotStaq version to use. If not specified, the current version of HotStaq will be used to generate the files.`, (arg, previous) => {
196
206
  createHotBuilder();
197
207
  builder.hotstaqVersion = arg;
@@ -466,6 +476,16 @@ class HotCLI {
466
476
  let disableFileLoading = false;
467
477
  let skipSecretFiles = true;
468
478
  let dontLoadAPIFiles = false;
479
+ let cors = {
480
+ origin: "*",
481
+ allowedHeaders: []
482
+ };
483
+ let rateLimiter = {
484
+ enabled: null,
485
+ windowLength: 60000,
486
+ limit: 500,
487
+ store: null
488
+ };
469
489
  let testerSettings = {
470
490
  tester: "",
471
491
  address: "127.0.0.1",
@@ -664,8 +684,31 @@ class HotCLI {
664
684
  }
665
685
  if (globalApi !== "")
666
686
  this.processor.hotSite.server.globalApi = globalApi;
667
- if ((serverType === "api") || (serverType === "web-api"))
687
+ if (serverType === "api") {
688
+ if (rateLimiter.enabled != null)
689
+ rateLimiter.enabled = true;
690
+ }
691
+ if ((serverType === "api") || (serverType === "web-api")) {
668
692
  runAPIServer = true;
693
+ if (cors.allowedHeaders.length === 0)
694
+ cors.allowedHeaders = ["Origin", "X-Requested-With", "Content-Type", "Accept"];
695
+ apiServer.cors.origin = cors.origin;
696
+ apiServer.cors.allowedHeaders = cors.allowedHeaders;
697
+ apiServer.rateLimiter.enabled = rateLimiter.enabled;
698
+ apiServer.rateLimiter.windowLength = rateLimiter.windowLength;
699
+ apiServer.rateLimiter.limit = rateLimiter.limit;
700
+ if (rateLimiter.store != null) {
701
+ apiServer.rateLimiter.store.redisConfig = {
702
+ host: rateLimiter.store.host
703
+ };
704
+ if (rateLimiter.store.port != null)
705
+ apiServer.rateLimiter.store.redisConfig.port = rateLimiter.store.port;
706
+ if (rateLimiter.store.username != null)
707
+ apiServer.rateLimiter.store.redisConfig.username = rateLimiter.store.username;
708
+ if (rateLimiter.store.password != null)
709
+ apiServer.rateLimiter.store.redisConfig.password = rateLimiter.store.password;
710
+ }
711
+ }
669
712
  if (dbinfo != null)
670
713
  this.processor.logger.verbose(`Connecting to ${dbinfo.type} database at ${dbinfo.server}:${dbinfo.port} using schema ${dbinfo.database}`);
671
714
  /// @fixme Allow for multiple APIs to be loaded, and have their
@@ -908,6 +951,7 @@ class HotCLI {
908
951
  runCmd.option(`--${currentServerType}-port <port>`, `Set the ${currentServerType} HTTP port`, (port, previous) => {
909
952
  try {
910
953
  const tempPort = parseInt(port);
954
+ // @ts-ignore
911
955
  if (currentServerType === "web")
912
956
  webServer.ports.http = tempPort;
913
957
  else
@@ -1029,6 +1073,52 @@ class HotCLI {
1029
1073
  runCmd.option(`--server-type <type>`, `Set the type of server. Can be (web, api, web-api)`, (type, previous) => {
1030
1074
  serverType = type;
1031
1075
  }, "web");
1076
+ runCmd.option(`--rate-limiter <enabled>`, `Enable or disable the rate limiter. If the server-type is set to API, this will be enabled by default. Can be (true, false)`, (type, previous) => {
1077
+ rateLimiter.enabled = false;
1078
+ if (type === "true")
1079
+ rateLimiter.enabled = true;
1080
+ }, "true");
1081
+ runCmd.option(`--rate-limiter-window <length>`, `The number of milliseconds to remember requests for. Default: 60000`, (value, previous) => {
1082
+ try {
1083
+ rateLimiter.windowLength = parseInt(value);
1084
+ }
1085
+ catch (ex) {
1086
+ this.processor.logger.error(`Unable to parse rate-limiter-window ${value}`);
1087
+ }
1088
+ }, "60000");
1089
+ runCmd.option(`--rate-limiter-limit <length>`, `The number of requests allowed per window. Default: 500`, (value, previous) => {
1090
+ try {
1091
+ rateLimiter.limit = parseInt(value);
1092
+ }
1093
+ catch (ex) {
1094
+ this.processor.logger.error(`Unable to parse rate-limiter-limit ${value}`);
1095
+ }
1096
+ }, "500");
1097
+ runCmd.option(`--rate-limiter-redis-host <host>`, `Use Redis to store rate limiter data, this will set the redis host to connect to. This must be set if a rate limiter store is being used.`, (value, previous) => {
1098
+ rateLimiter.store = {
1099
+ host: value
1100
+ };
1101
+ }, "localhost");
1102
+ runCmd.option(`--rate-limiter-redis-port <port>`, `Will set the Redis port to use for the rate limiter store.`, (value, previous) => {
1103
+ try {
1104
+ rateLimiter.store.port = parseInt(value);
1105
+ }
1106
+ catch (ex) {
1107
+ this.processor.logger.error(`Unable to parse rate-limiter-redis-port ${value}`);
1108
+ }
1109
+ }, "6379");
1110
+ runCmd.option(`--rate-limiter-redis-username <username>`, `Will set the Redis username to use for the rate limiter store.`, (value, previous) => {
1111
+ rateLimiter.store.username = value;
1112
+ });
1113
+ runCmd.option(`--rate-limiter-redis-password <password>`, `Will set the Redis password to use for the rate limiter store.`, (value, previous) => {
1114
+ rateLimiter.store.password = value;
1115
+ });
1116
+ runCmd.option(`--cors-origin <value>`, `The cors origin(s) to set comma separated if necessary. Default: *`, (value, previous) => {
1117
+ cors.origin = value;
1118
+ }, "*");
1119
+ runCmd.option(`--cors-allowed-header <value>`, `The cors allowed header to set, this can be set multiple times. Default: ["Origin", "X-Requested-With", "Content-Type", "Accept"]`, (value, previous) => {
1120
+ cors.allowedHeaders.push(value);
1121
+ });
1032
1122
  runCmd.option(`--global-api <api_name>`, `Set the global api to be used across all pages.`, (api_name, previous) => {
1033
1123
  globalApi = api_name;
1034
1124
  }, "");