@speedkit/cli 2.4.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 (385) hide show
  1. package/README.md +775 -0
  2. package/bin/dev +18 -0
  3. package/bin/dev.cmd +3 -0
  4. package/bin/run +4 -0
  5. package/bin/run.cmd +3 -0
  6. package/dist/commands/airports_iata.json +1 -0
  7. package/dist/commands/build-parameter-query.d.ts +15 -0
  8. package/dist/commands/build-parameter-query.js +95 -0
  9. package/dist/commands/build-prewarm-query.d.ts +15 -0
  10. package/dist/commands/build-prewarm-query.js +69 -0
  11. package/dist/commands/deploy.d.ts +17 -0
  12. package/dist/commands/deploy.js +39 -0
  13. package/dist/commands/document-handler.d.ts +16 -0
  14. package/dist/commands/document-handler.js +36 -0
  15. package/dist/commands/find-pops.d.ts +17 -0
  16. package/dist/commands/find-pops.js +84 -0
  17. package/dist/commands/generate-customer-config.d.ts +10 -0
  18. package/dist/commands/generate-customer-config.js +29 -0
  19. package/dist/commands/generate-pop-config.d.ts +27 -0
  20. package/dist/commands/generate-pop-config.js +231 -0
  21. package/dist/commands/login.d.ts +10 -0
  22. package/dist/commands/login.js +35 -0
  23. package/dist/commands/onboarding.d.ts +16 -0
  24. package/dist/commands/onboarding.js +25 -0
  25. package/dist/commands/param-diff.d.ts +16 -0
  26. package/dist/commands/param-diff.js +111 -0
  27. package/dist/commands/pop-prewarm.d.ts +17 -0
  28. package/dist/commands/pop-prewarm.js +80 -0
  29. package/dist/commands/prewarm.d.ts +40 -0
  30. package/dist/commands/prewarm.js +127 -0
  31. package/dist/commands/pull.d.ts +14 -0
  32. package/dist/commands/pull.js +24 -0
  33. package/dist/commands/wpt-launcher.d.ts +21 -0
  34. package/dist/commands/wpt-launcher.js +79 -0
  35. package/dist/helpers/CustomerConfig.d.ts +51 -0
  36. package/dist/helpers/CustomerConfig.js +150 -0
  37. package/dist/helpers/build-query-helper.d.ts +32 -0
  38. package/dist/helpers/build-query-helper.js +216 -0
  39. package/dist/helpers/cli-config.d.ts +22 -0
  40. package/dist/helpers/cli-config.js +85 -0
  41. package/dist/helpers/file-helper.d.ts +8 -0
  42. package/dist/helpers/file-helper.js +63 -0
  43. package/dist/helpers/get-parsed-config.d.ts +11 -0
  44. package/dist/helpers/get-parsed-config.js +63 -0
  45. package/dist/helpers/getChromePath.d.ts +7 -0
  46. package/dist/helpers/getChromePath.js +27 -0
  47. package/dist/helpers/isDirectory.d.ts +1 -0
  48. package/dist/helpers/isDirectory.js +17 -0
  49. package/dist/helpers/isExecutable.d.ts +1 -0
  50. package/dist/helpers/isExecutable.js +15 -0
  51. package/dist/helpers/isFile.d.ts +1 -0
  52. package/dist/helpers/isFile.js +17 -0
  53. package/dist/helpers/logging-helper.d.ts +12 -0
  54. package/dist/helpers/logging-helper.js +27 -0
  55. package/dist/helpers/normalize.d.ts +40 -0
  56. package/dist/helpers/normalize.js +112 -0
  57. package/dist/helpers/race.d.ts +1 -0
  58. package/dist/helpers/race.js +16 -0
  59. package/dist/helpers/safe.d.ts +10 -0
  60. package/dist/helpers/safe.js +34 -0
  61. package/dist/helpers/scrape.d.ts +1 -0
  62. package/dist/helpers/scrape.js +11 -0
  63. package/dist/helpers/speedKitRuleToRegExp.d.ts +1 -0
  64. package/dist/helpers/speedKitRuleToRegExp.js +10 -0
  65. package/dist/helpers/watchFiles.d.ts +1 -0
  66. package/dist/helpers/watchFiles.js +20 -0
  67. package/dist/models/cli-parameters.d.ts +73 -0
  68. package/dist/models/cli-parameters.js +82 -0
  69. package/dist/models/files.d.ts +20 -0
  70. package/dist/models/files.js +23 -0
  71. package/dist/models/install.d.ts +24 -0
  72. package/dist/models/install.js +2 -0
  73. package/dist/services/athena-service.d.ts +30 -0
  74. package/dist/services/athena-service.js +139 -0
  75. package/dist/services/bundler/bundle-service-factory.d.ts +4 -0
  76. package/dist/services/bundler/bundle-service-factory.js +10 -0
  77. package/dist/services/bundler/bundle-service.d.ts +25 -0
  78. package/dist/services/bundler/bundle-service.js +84 -0
  79. package/dist/services/bundler/index.d.ts +2 -0
  80. package/dist/services/bundler/index.js +5 -0
  81. package/dist/services/cli/cli-service-factory.d.ts +5 -0
  82. package/dist/services/cli/cli-service-factory.js +14 -0
  83. package/dist/services/cli/cli-service-model.d.ts +27 -0
  84. package/dist/services/cli/cli-service-model.js +9 -0
  85. package/dist/services/cli/cli-service.d.ts +37 -0
  86. package/dist/services/cli/cli-service.js +123 -0
  87. package/dist/services/cli/error/cli-type-error.d.ts +3 -0
  88. package/dist/services/cli/error/cli-type-error.js +7 -0
  89. package/dist/services/cli/hooks.d.ts +11 -0
  90. package/dist/services/cli/hooks.js +33 -0
  91. package/dist/services/cli/index.d.ts +3 -0
  92. package/dist/services/cli/index.js +6 -0
  93. package/dist/services/config-api/client.d.ts +16 -0
  94. package/dist/services/config-api/client.js +54 -0
  95. package/dist/services/config-api/config-api-service.d.ts +16 -0
  96. package/dist/services/config-api/config-api-service.js +56 -0
  97. package/dist/services/config-api/context/config-api-context.d.ts +5 -0
  98. package/dist/services/config-api/context/config-api-context.js +9 -0
  99. package/dist/services/config-api/error/json-response-error.d.ts +2 -0
  100. package/dist/services/config-api/error/json-response-error.js +5 -0
  101. package/dist/services/config-api/error/login-error.d.ts +5 -0
  102. package/dist/services/config-api/error/login-error.js +12 -0
  103. package/dist/services/config-api/factory/config-api-service-factory.d.ts +10 -0
  104. package/dist/services/config-api/factory/config-api-service-factory.js +38 -0
  105. package/dist/services/config-api/factory/entity-manager-factory.d.ts +5 -0
  106. package/dist/services/config-api/factory/entity-manager-factory.js +21 -0
  107. package/dist/services/config-api/interface/config-api-context-interface.d.ts +4 -0
  108. package/dist/services/config-api/interface/config-api-context-interface.js +2 -0
  109. package/dist/services/config-api/interface/request-extension-interface.d.ts +5 -0
  110. package/dist/services/config-api/interface/request-extension-interface.js +2 -0
  111. package/dist/services/config-api-service.d.ts +18 -0
  112. package/dist/services/config-api-service.js +96 -0
  113. package/dist/services/context/app-context.d.ts +1 -0
  114. package/dist/services/context/app-context.js +2 -0
  115. package/dist/services/context/error/context-runtime-error.d.ts +3 -0
  116. package/dist/services/context/error/context-runtime-error.js +7 -0
  117. package/dist/services/context/interface/context-interface.d.ts +2 -0
  118. package/dist/services/context/interface/context-interface.js +2 -0
  119. package/dist/services/customer-config/customer-config-service-context.d.ts +5 -0
  120. package/dist/services/customer-config/customer-config-service-context.js +15 -0
  121. package/dist/services/customer-config/customer-config-service-factory.d.ts +8 -0
  122. package/dist/services/customer-config/customer-config-service-factory.js +24 -0
  123. package/dist/services/customer-config/customer-config-service-model.d.ts +39 -0
  124. package/dist/services/customer-config/customer-config-service-model.js +23 -0
  125. package/dist/services/customer-config/customer-config-service.d.ts +27 -0
  126. package/dist/services/customer-config/customer-config-service.js +263 -0
  127. package/dist/services/customer-config/index.d.ts +4 -0
  128. package/dist/services/customer-config/index.js +7 -0
  129. package/dist/services/customer-config/templates/config_SpeedKit.js.hbs +351 -0
  130. package/dist/services/customer-config/templates/config_customer.js.hbs +75 -0
  131. package/dist/services/customer-config/templates/config_documentHandler.js.hbs +162 -0
  132. package/dist/services/customer-config/templates/config_dynamicBlocks.es6.hbs +263 -0
  133. package/dist/services/customer-config/templates/config_dynamicStyles.css.hbs +116 -0
  134. package/dist/services/customer-config/templates/config_loadHandler.js.hbs +394 -0
  135. package/dist/services/customer-config/templates/deploymentDetection.es6.hbs +262 -0
  136. package/dist/services/customer-config/templates/downtimeDetection.js.hbs +110 -0
  137. package/dist/services/deploy/builder/install-resource-builder.d.ts +14 -0
  138. package/dist/services/deploy/builder/install-resource-builder.js +48 -0
  139. package/dist/services/deploy/checks/post-deploy/revalidated-module-check.d.ts +11 -0
  140. package/dist/services/deploy/checks/post-deploy/revalidated-module-check.js +30 -0
  141. package/dist/services/deploy/checks/post-deploy/save-files-check.d.ts +9 -0
  142. package/dist/services/deploy/checks/post-deploy/save-files-check.js +25 -0
  143. package/dist/services/deploy/context/deploy-context.d.ts +12 -0
  144. package/dist/services/deploy/context/deploy-context.js +26 -0
  145. package/dist/services/deploy/deploy-service-factory.d.ts +15 -0
  146. package/dist/services/deploy/deploy-service-factory.js +68 -0
  147. package/dist/services/deploy/deploy-service.d.ts +17 -0
  148. package/dist/services/deploy/deploy-service.js +63 -0
  149. package/dist/services/deploy/error/create-find-temp-directory-error.d.ts +4 -0
  150. package/dist/services/deploy/error/create-find-temp-directory-error.js +10 -0
  151. package/dist/services/deploy/error/deploy-app-error.d.ts +2 -0
  152. package/dist/services/deploy/error/deploy-app-error.js +5 -0
  153. package/dist/services/deploy/error/no-active-installation-error.d.ts +4 -0
  154. package/dist/services/deploy/error/no-active-installation-error.js +10 -0
  155. package/dist/services/deploy/handler/customer-config-handler.d.ts +21 -0
  156. package/dist/services/deploy/handler/customer-config-handler.js +85 -0
  157. package/dist/services/deploy/handler/install-resource-handler.d.ts +25 -0
  158. package/dist/services/deploy/handler/install-resource-handler.js +104 -0
  159. package/dist/services/deploy/handler/install-resource-modifier/deleted-file-check.d.ts +13 -0
  160. package/dist/services/deploy/handler/install-resource-modifier/deleted-file-check.js +51 -0
  161. package/dist/services/deploy/handler/module-handler.d.ts +14 -0
  162. package/dist/services/deploy/handler/module-handler.js +81 -0
  163. package/dist/services/deploy/handler/module-modifier/deployment-detection-modifier.d.ts +9 -0
  164. package/dist/services/deploy/handler/module-modifier/deployment-detection-modifier.js +24 -0
  165. package/dist/services/deploy/handler/server-config-handler.d.ts +12 -0
  166. package/dist/services/deploy/handler/server-config-handler.js +63 -0
  167. package/dist/services/deploy/interface/deploy-handler-interface.d.ts +6 -0
  168. package/dist/services/deploy/interface/deploy-handler-interface.js +2 -0
  169. package/dist/services/deploy/interface/install-configs.d.ts +11 -0
  170. package/dist/services/deploy/interface/install-configs.js +2 -0
  171. package/dist/services/deploy/interface/install-resource-processor-interface.d.ts +5 -0
  172. package/dist/services/deploy/interface/install-resource-processor-interface.js +2 -0
  173. package/dist/services/deploy/interface/install.d.ts +14 -0
  174. package/dist/services/deploy/interface/install.js +2 -0
  175. package/dist/services/deploy/interface/post-deploy-check-interface.d.ts +3 -0
  176. package/dist/services/deploy/interface/post-deploy-check-interface.js +2 -0
  177. package/dist/services/deploy/interface/runtime-modifier.d.ts +6 -0
  178. package/dist/services/deploy/interface/runtime-modifier.js +2 -0
  179. package/dist/services/deploy/interface/validate-origins-response.d.ts +4 -0
  180. package/dist/services/deploy/interface/validate-origins-response.js +2 -0
  181. package/dist/services/diff/diff-model.d.ts +5 -0
  182. package/dist/services/diff/diff-model.js +12 -0
  183. package/dist/services/diff/diff-service-factory.d.ts +7 -0
  184. package/dist/services/diff/diff-service-factory.js +20 -0
  185. package/dist/services/diff/diff-service.d.ts +34 -0
  186. package/dist/services/diff/diff-service.js +134 -0
  187. package/dist/services/diff/index.d.ts +3 -0
  188. package/dist/services/diff/index.js +6 -0
  189. package/dist/services/diff-service.d.ts +24 -0
  190. package/dist/services/diff-service.js +112 -0
  191. package/dist/services/document-handler-runtime/context/document-handler-runtime-context.d.ts +23 -0
  192. package/dist/services/document-handler-runtime/context/document-handler-runtime-context.js +41 -0
  193. package/dist/services/document-handler-runtime/document-handler-runtime-service.d.ts +32 -0
  194. package/dist/services/document-handler-runtime/document-handler-runtime-service.js +220 -0
  195. package/dist/services/document-handler-runtime/document-handler-server.d.ts +42 -0
  196. package/dist/services/document-handler-runtime/document-handler-server.js +225 -0
  197. package/dist/services/document-handler-runtime/error/handler/required-file-not-found-handler.d.ts +6 -0
  198. package/dist/services/document-handler-runtime/error/handler/required-file-not-found-handler.js +14 -0
  199. package/dist/services/document-handler-runtime/error/required-file-not-found-error.d.ts +3 -0
  200. package/dist/services/document-handler-runtime/error/required-file-not-found-error.js +7 -0
  201. package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.d.ts +24 -0
  202. package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.js +106 -0
  203. package/dist/services/document-handler-runtime/interface/document-handler-runtime-config-interface.d.ts +3 -0
  204. package/dist/services/document-handler-runtime/interface/document-handler-runtime-config-interface.js +6 -0
  205. package/dist/services/document-handler-runtime/interface/template-context-interface.d.ts +3 -0
  206. package/dist/services/document-handler-runtime/interface/template-context-interface.js +2 -0
  207. package/dist/services/document-handler-runtime/interface/template-interface.d.ts +6 -0
  208. package/dist/services/document-handler-runtime/interface/template-interface.js +2 -0
  209. package/dist/services/document-handler-runtime/interface/template-param-interface.d.ts +4 -0
  210. package/dist/services/document-handler-runtime/interface/template-param-interface.js +2 -0
  211. package/dist/services/document-handler-runtime/templates/abstract-template.d.ts +9 -0
  212. package/dist/services/document-handler-runtime/templates/abstract-template.js +18 -0
  213. package/dist/services/document-handler-runtime/templates/database-mock.d.ts +6 -0
  214. package/dist/services/document-handler-runtime/templates/database-mock.js +111 -0
  215. package/dist/services/document-handler-runtime/templates/execute-document-handler.d.ts +6 -0
  216. package/dist/services/document-handler-runtime/templates/execute-document-handler.js +76 -0
  217. package/dist/services/document-handler-runtime/templates/orestes-mock.d.ts +9 -0
  218. package/dist/services/document-handler-runtime/templates/orestes-mock.js +168 -0
  219. package/dist/services/document-handler-runtime/templates/package-json.d.ts +8 -0
  220. package/dist/services/document-handler-runtime/templates/package-json.js +21 -0
  221. package/dist/services/document-handler-runtime/templates/test.d.ts +6 -0
  222. package/dist/services/document-handler-runtime/templates/test.js +63 -0
  223. package/dist/services/error-handling/abstract/abstract-async-error-handling-factory.d.ts +6 -0
  224. package/dist/services/error-handling/abstract/abstract-async-error-handling-factory.js +19 -0
  225. package/dist/services/error-handling/abstract/abstract-async-error-handling-service.d.ts +6 -0
  226. package/dist/services/error-handling/abstract/abstract-async-error-handling-service.js +18 -0
  227. package/dist/services/error-handling/abstract/abstract-error-handling-factory.d.ts +6 -0
  228. package/dist/services/error-handling/abstract/abstract-error-handling-factory.js +19 -0
  229. package/dist/services/error-handling/abstract/abstract-error-handling-service.d.ts +6 -0
  230. package/dist/services/error-handling/abstract/abstract-error-handling-service.js +19 -0
  231. package/dist/services/error-handling/error/application-error.d.ts +5 -0
  232. package/dist/services/error-handling/error/application-error.js +11 -0
  233. package/dist/services/error-handling/error/handler/default-error-handler.d.ts +5 -0
  234. package/dist/services/error-handling/error/handler/default-error-handler.js +13 -0
  235. package/dist/services/error-handling/error-handling-service.d.ts +7 -0
  236. package/dist/services/error-handling/error-handling-service.js +27 -0
  237. package/dist/services/error-handling/factory/error-handling-factory.d.ts +8 -0
  238. package/dist/services/error-handling/factory/error-handling-factory.js +21 -0
  239. package/dist/services/error-handling/interface/error-context-interface.d.ts +6 -0
  240. package/dist/services/error-handling/interface/error-context-interface.js +2 -0
  241. package/dist/services/error-handling/interface/error-handler-interface.d.ts +5 -0
  242. package/dist/services/error-handling/interface/error-handler-interface.js +2 -0
  243. package/dist/services/error-handling/interface/error-handling-factory-interface.d.ts +8 -0
  244. package/dist/services/error-handling/interface/error-handling-factory-interface.js +2 -0
  245. package/dist/services/error-handling/interface/error-handling-service-interface.d.ts +8 -0
  246. package/dist/services/error-handling/interface/error-handling-service-interface.js +2 -0
  247. package/dist/services/integration-api/context/integration-api-context.d.ts +9 -0
  248. package/dist/services/integration-api/context/integration-api-context.js +20 -0
  249. package/dist/services/integration-api/error/customer-config-error.d.ts +2 -0
  250. package/dist/services/integration-api/error/customer-config-error.js +5 -0
  251. package/dist/services/integration-api/error/customer-config-legacy-error.d.ts +3 -0
  252. package/dist/services/integration-api/error/customer-config-legacy-error.js +7 -0
  253. package/dist/services/integration-api/error/handler/customer-config-handler.d.ts +5 -0
  254. package/dist/services/integration-api/error/handler/customer-config-handler.js +19 -0
  255. package/dist/services/integration-api/error/handler/customer-config-legacy-handler.d.ts +6 -0
  256. package/dist/services/integration-api/error/handler/customer-config-legacy-handler.js +24 -0
  257. package/dist/services/integration-api/error/handler/origin-handler.d.ts +6 -0
  258. package/dist/services/integration-api/error/handler/origin-handler.js +22 -0
  259. package/dist/services/integration-api/error/load-customer-error.d.ts +4 -0
  260. package/dist/services/integration-api/error/load-customer-error.js +10 -0
  261. package/dist/services/integration-api/error/mandatory-file-missing-error.d.ts +3 -0
  262. package/dist/services/integration-api/error/mandatory-file-missing-error.js +8 -0
  263. package/dist/services/integration-api/error/origin-error.d.ts +3 -0
  264. package/dist/services/integration-api/error/origin-error.js +7 -0
  265. package/dist/services/integration-api/external/external-file-reader.d.ts +4 -0
  266. package/dist/services/integration-api/external/external-file-reader.js +17 -0
  267. package/dist/services/integration-api/factory/integration-api-service-factory.d.ts +13 -0
  268. package/dist/services/integration-api/factory/integration-api-service-factory.js +55 -0
  269. package/dist/services/integration-api/file-list.d.ts +18 -0
  270. package/dist/services/integration-api/file-list.js +79 -0
  271. package/dist/services/integration-api/file-reader.d.ts +15 -0
  272. package/dist/services/integration-api/file-reader.js +97 -0
  273. package/dist/services/integration-api/file-writer.d.ts +9 -0
  274. package/dist/services/integration-api/file-writer.js +27 -0
  275. package/dist/services/integration-api/handler/customer-config-handler.d.ts +16 -0
  276. package/dist/services/integration-api/handler/customer-config-handler.js +55 -0
  277. package/dist/services/integration-api/handler/file-handler.d.ts +9 -0
  278. package/dist/services/integration-api/handler/file-handler.js +20 -0
  279. package/dist/services/integration-api/handler/install-resource-handler.d.ts +33 -0
  280. package/dist/services/integration-api/handler/install-resource-handler.js +67 -0
  281. package/dist/services/integration-api/handler/module-handler.d.ts +12 -0
  282. package/dist/services/integration-api/handler/module-handler.js +20 -0
  283. package/dist/services/integration-api/handler/server-config-handler.d.ts +8 -0
  284. package/dist/services/integration-api/handler/server-config-handler.js +21 -0
  285. package/dist/services/integration-api/integration-api-model.d.ts +89 -0
  286. package/dist/services/integration-api/integration-api-model.js +2 -0
  287. package/dist/services/integration-api/integration-api-service.d.ts +21 -0
  288. package/dist/services/integration-api/integration-api-service.js +76 -0
  289. package/dist/services/integration-api/struct/customer-config-file.d.ts +10 -0
  290. package/dist/services/integration-api/struct/customer-config-file.js +32 -0
  291. package/dist/services/integration-api/struct/customer-config.d.ts +22 -0
  292. package/dist/services/integration-api/struct/customer-config.js +67 -0
  293. package/dist/services/integration-api/struct/file.d.ts +19 -0
  294. package/dist/services/integration-api/struct/file.js +61 -0
  295. package/dist/services/integration-api/struct/install-resource-file.d.ts +6 -0
  296. package/dist/services/integration-api/struct/install-resource-file.js +12 -0
  297. package/dist/services/integration-api/struct/module-file.d.ts +5 -0
  298. package/dist/services/integration-api/struct/module-file.js +10 -0
  299. package/dist/services/integration-api/struct/ro-file.d.ts +13 -0
  300. package/dist/services/integration-api/struct/ro-file.js +26 -0
  301. package/dist/services/integration-api/struct/server-config-file.d.ts +9 -0
  302. package/dist/services/integration-api/struct/server-config-file.js +22 -0
  303. package/dist/services/integration-api/struct/virtual-file.d.ts +14 -0
  304. package/dist/services/integration-api/struct/virtual-file.js +28 -0
  305. package/dist/services/integration-api/validator/customer-config-validator.d.ts +5 -0
  306. package/dist/services/integration-api/validator/customer-config-validator.js +23 -0
  307. package/dist/services/integration-api/validator/mandatory-files-validator.d.ts +7 -0
  308. package/dist/services/integration-api/validator/mandatory-files-validator.js +39 -0
  309. package/dist/services/integration-api/virtual/external-recipe.d.ts +9 -0
  310. package/dist/services/integration-api/virtual/external-recipe.js +19 -0
  311. package/dist/services/integration-api/virtual/virtual-file-handler.d.ts +7 -0
  312. package/dist/services/integration-api/virtual/virtual-file-handler.js +38 -0
  313. package/dist/services/onboarding/browser/abort-response.d.ts +5 -0
  314. package/dist/services/onboarding/browser/abort-response.js +10 -0
  315. package/dist/services/onboarding/browser/baqend-response.d.ts +12 -0
  316. package/dist/services/onboarding/browser/baqend-response.js +52 -0
  317. package/dist/services/onboarding/browser/origin-response.d.ts +8 -0
  318. package/dist/services/onboarding/browser/origin-response.js +20 -0
  319. package/dist/services/onboarding/config-renderer/install-file-recipe.d.ts +7 -0
  320. package/dist/services/onboarding/config-renderer/install-file-recipe.js +13 -0
  321. package/dist/services/onboarding/config-renderer/speed-kit-install-context.d.ts +22 -0
  322. package/dist/services/onboarding/config-renderer/speed-kit-install-context.js +78 -0
  323. package/dist/services/onboarding/dashboard/athena-service.d.ts +11 -0
  324. package/dist/services/onboarding/dashboard/athena-service.js +70 -0
  325. package/dist/services/onboarding/dashboard/frontend-dist/assets/index-87b53ed4.css +1 -0
  326. package/dist/services/onboarding/dashboard/frontend-dist/assets/main-274b5625.js +9 -0
  327. package/dist/services/onboarding/dashboard/frontend-dist/index.html +18 -0
  328. package/dist/services/onboarding/dashboard/index.d.ts +16 -0
  329. package/dist/services/onboarding/dashboard/index.js +78 -0
  330. package/dist/services/onboarding/dashboard/param-query-builder.d.ts +9 -0
  331. package/dist/services/onboarding/dashboard/param-query-builder.js +67 -0
  332. package/dist/services/onboarding/dashboard/request-diff-service.d.ts +11 -0
  333. package/dist/services/onboarding/dashboard/request-diff-service.js +59 -0
  334. package/dist/services/onboarding/error/vm-error.d.ts +2 -0
  335. package/dist/services/onboarding/error/vm-error.js +6 -0
  336. package/dist/services/onboarding/fetch-event-handler.d.ts +19 -0
  337. package/dist/services/onboarding/fetch-event-handler.js +155 -0
  338. package/dist/services/onboarding/fetch-events/customer-domain-document-response.d.ts +24 -0
  339. package/dist/services/onboarding/fetch-events/customer-domain-document-response.js +118 -0
  340. package/dist/services/onboarding/fetch-events/customer-service-worker-js.d.ts +14 -0
  341. package/dist/services/onboarding/fetch-events/customer-service-worker-js.js +30 -0
  342. package/dist/services/onboarding/fetch-events/dashboard-request.d.ts +15 -0
  343. package/dist/services/onboarding/fetch-events/dashboard-request.js +29 -0
  344. package/dist/services/onboarding/fetch-events/speed-kit-asset-request.d.ts +26 -0
  345. package/dist/services/onboarding/fetch-events/speed-kit-asset-request.js +138 -0
  346. package/dist/services/onboarding/fetch-events/speed-kit-install-html.d.ts +15 -0
  347. package/dist/services/onboarding/fetch-events/speed-kit-install-html.js +49 -0
  348. package/dist/services/onboarding/fetch-events/speed-kit-install-js.d.ts +22 -0
  349. package/dist/services/onboarding/fetch-events/speed-kit-install-js.js +62 -0
  350. package/dist/services/onboarding/fetch-events/speed-kit-rum-pi-request.d.ts +21 -0
  351. package/dist/services/onboarding/fetch-events/speed-kit-rum-pi-request.js +43 -0
  352. package/dist/services/onboarding/fetch-events/speed-kit-service-worker-js.d.ts +17 -0
  353. package/dist/services/onboarding/fetch-events/speed-kit-service-worker-js.js +27 -0
  354. package/dist/services/onboarding/file-events/fileWatcher.d.ts +28 -0
  355. package/dist/services/onboarding/file-events/fileWatcher.js +133 -0
  356. package/dist/services/onboarding/index.d.ts +3 -0
  357. package/dist/services/onboarding/index.js +8 -0
  358. package/dist/services/onboarding/onboarding-model.d.ts +30 -0
  359. package/dist/services/onboarding/onboarding-model.js +53 -0
  360. package/dist/services/onboarding/onboarding-service-factory.d.ts +16 -0
  361. package/dist/services/onboarding/onboarding-service-factory.js +163 -0
  362. package/dist/services/onboarding/onboarding-service.d.ts +31 -0
  363. package/dist/services/onboarding/onboarding-service.js +130 -0
  364. package/dist/services/onboarding/request-cache/cache.d.ts +15 -0
  365. package/dist/services/onboarding/request-cache/cache.js +32 -0
  366. package/dist/services/onboarding/templates/install-speed-kit-html-template.d.ts +4 -0
  367. package/dist/services/onboarding/templates/install-speed-kit-html-template.js +264 -0
  368. package/dist/services/onboarding/templates/install-speed-kit-js-template.d.ts +4 -0
  369. package/dist/services/onboarding/templates/install-speed-kit-js-template.js +41 -0
  370. package/dist/services/onboarding/todo-collector.d.ts +18 -0
  371. package/dist/services/onboarding/todo-collector.js +48 -0
  372. package/dist/services/prewarm-service.d.ts +5 -0
  373. package/dist/services/prewarm-service.js +57 -0
  374. package/dist/services/pull/index.d.ts +3 -0
  375. package/dist/services/pull/index.js +6 -0
  376. package/dist/services/pull/pull-service-factory.d.ts +12 -0
  377. package/dist/services/pull/pull-service-factory.js +44 -0
  378. package/dist/services/pull/pull-service-model.d.ts +43 -0
  379. package/dist/services/pull/pull-service-model.js +27 -0
  380. package/dist/services/pull/pull-service.d.ts +18 -0
  381. package/dist/services/pull/pull-service.js +106 -0
  382. package/dist/templates/pops.js +97 -0
  383. package/dist/templates/speedKit.Revalidated.js +86 -0
  384. package/oclif.manifest.json +700 -0
  385. package/package.json +128 -0
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DocumentHandlerServer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const document_handler_runtime_context_1 = require("./context/document-handler-runtime-context");
6
+ const required_file_not_found_error_1 = tslib_1.__importDefault(require("./error/required-file-not-found-error"));
7
+ const database_mock_1 = tslib_1.__importDefault(require("./templates/database-mock"));
8
+ const vm = tslib_1.__importStar(require("vm"));
9
+ const vm_error_1 = require("../onboarding/error/vm-error");
10
+ // documentHandlerDependencies
11
+ var parse5 = require('parse5');
12
+ var parse5Htmlparser2TreeAdapter = require('parse5-htmlparser2-tree-adapter');
13
+ var domSerializer = require('dom-serializer');
14
+ var domhandler = require('domhandler');
15
+ var domelementtype = require('domelementtype');
16
+ var domutils = require('domutils');
17
+ var cssSelect = require('css-select');
18
+ var fetch = require('node-fetch');
19
+ class DocumentHandlerServer {
20
+ customerConfig;
21
+ files;
22
+ bundler;
23
+ cli;
24
+ verboseLevel;
25
+ documentHandlerCode;
26
+ database;
27
+ constructor(customerConfig, files, bundler, cli, verboseLevel = false) {
28
+ this.customerConfig = customerConfig;
29
+ this.files = files;
30
+ this.bundler = bundler;
31
+ this.cli = cli;
32
+ this.verboseLevel = verboseLevel;
33
+ }
34
+ async transform(html, variation, url, headers) {
35
+ if (!this.documentHandlerCode) {
36
+ await this.buildDocumentHandler();
37
+ }
38
+ const skInternalRequest = {
39
+ query: { variation, headers: JSON.stringify(headers), url }, body: html
40
+ };
41
+ const vmContext = {
42
+ db: await this.createDataBaseMock(),
43
+ skInternalRequest,
44
+ skInternalHtml: "",
45
+ skInternalError: {},
46
+ 'Abort': Error,
47
+ 'APP': this.customerConfig.app,
48
+ 'DYNAMIC_FETCHER': await this.getDynamicFetcher(),
49
+ 'DYNAMIC_FETCHER_CONFIG': await this.getDynamicFetcherConfig(),
50
+ 'CUSTOM_STYLES': this.getStyles(),
51
+ ...this.createNodeVmContext(),
52
+ };
53
+ const script = new vm.Script(this.documentHandlerCode + this.getTransformFunctionWrapper());
54
+ try {
55
+ return await (async () => {
56
+ return await new Promise((resolve, reject) => {
57
+ // @ts-ignore
58
+ vmContext.resolve = resolve;
59
+ // @ts-ignore
60
+ vmContext.reject = reject;
61
+ const context = vm.createContext(vmContext);
62
+ script.runInContext(context);
63
+ });
64
+ })();
65
+ }
66
+ catch (error) {
67
+ if (error instanceof Error) {
68
+ throw new vm_error_1.VmError(error.message);
69
+ }
70
+ throw new vm_error_1.VmError(String(error) + JSON.stringify(error));
71
+ }
72
+ }
73
+ getTransformFunctionWrapper() {
74
+ return `\n\ndocumentHandler.transform(db, skInternalRequest).then(result => {resolve(result);}).catch((err)=>{reject(err);});`;
75
+ }
76
+ async buildDocumentHandler() {
77
+ this.documentHandlerCode = await this.createDocumentHandlerFile();
78
+ this.cli.writeSuccess('rebuild documentHandler');
79
+ }
80
+ async createDocumentHandlerFile() {
81
+ const docHandler = await this.getDocumentHandler();
82
+ const docHandlerConfig = this.getDocumentHandlerConfig()
83
+ .replace('export const post', 'const post');
84
+ return `${this.getContextVars()} ${docHandler} ${docHandlerConfig}`;
85
+ }
86
+ async getDocumentHandler() {
87
+ // todo use fetchRemoteFile from integration api
88
+ if (!this.files.hasFile(document_handler_runtime_context_1.LOCAL_DOCUMENT_HANDLER)) {
89
+ const response = await fetch(document_handler_runtime_context_1.LATEST_DOCUMENT_HANDLER_URL);
90
+ return await response.text();
91
+ }
92
+ return this.files.getByName(document_handler_runtime_context_1.LOCAL_DOCUMENT_HANDLER).getContent();
93
+ }
94
+ async getDynamicFetcher() {
95
+ // todo use fetchRemoteFile from integration api
96
+ if (!this.files.hasFile(document_handler_runtime_context_1.LOCAL_DYNAMIC_FETCHER)) {
97
+ const response = await fetch(document_handler_runtime_context_1.LATEST_DYNAMIC_FETCHER_URL);
98
+ return await this.bundleDynamicFetcher({ 'dynamic-fetcher': 'https://www.baqend.com/speed-kit/latest/' }, await response.text());
99
+ }
100
+ return this.files.getByName(document_handler_runtime_context_1.LOCAL_DYNAMIC_FETCHER).getContent();
101
+ }
102
+ async getDynamicFetcherConfig() {
103
+ return this.files.getByName(document_handler_runtime_context_1.LOCAL_DYNAMIC_FETCHER_CONFIG).getContent();
104
+ }
105
+ getStyles() {
106
+ return this.files.getByName(document_handler_runtime_context_1.LOCAL_STYLES).getContent();
107
+ }
108
+ getDocumentHandlerConfig() {
109
+ const docHandlerFile = this.files.getByName(document_handler_runtime_context_1.LOCAL_DOCUMENT_HANDLER_CONFIG);
110
+ if (!docHandlerFile) {
111
+ throw new required_file_not_found_error_1.default({ message: `file ${document_handler_runtime_context_1.LOCAL_DOCUMENT_HANDLER_CONFIG} not found` });
112
+ }
113
+ return docHandlerFile.getContent();
114
+ }
115
+ getContextVars() {
116
+ let template = '';
117
+ for (let key in this.customerConfig) {
118
+ template += `var ${key.toUpperCase()} = '${this.customerConfig[key]}';\n`;
119
+ }
120
+ return template;
121
+ }
122
+ async createDataBaseMock() {
123
+ const vmConsole = {
124
+ log: (context) => {
125
+ this.verboseLevel ? this.cli.write(`[documentHandler.dbLog]: ${JSON.stringify(context)}`) : "";
126
+ },
127
+ info: (context) => {
128
+ this.verboseLevel ? this.cli.writeWarning(`[documentHandler.dbLog]: ${JSON.stringify(context)}`) : "";
129
+ },
130
+ error: (context) => {
131
+ this.verboseLevel ? this.cli.writeError(`[documentHandler.dbLog]: ${JSON.stringify(context)}`) : "";
132
+ },
133
+ };
134
+ if (!this.database) {
135
+ const dataBaseMock = new database_mock_1.default();
136
+ const dbCode = dataBaseMock.render(dataBaseMock.buildContext(this.customerConfig.origins[0], this.customerConfig.app));
137
+ const vmContext = { console: vmConsole, module: { exports: {} } };
138
+ vm.runInNewContext(dbCode, vmContext);
139
+ this.database = vmContext.module.exports;
140
+ }
141
+ return this.database;
142
+ }
143
+ createNodeVmContext() {
144
+ const context = {
145
+ process: this.createProcessPartial(),
146
+ require: this.createRequireMock(),
147
+ 'URL': URL,
148
+ 'fetch': fetch,
149
+ 'Buffer': Buffer,
150
+ };
151
+ if (this.verboseLevel) {
152
+ context['console'] = console;
153
+ }
154
+ return context;
155
+ }
156
+ createRequireMock() {
157
+ return (module) => {
158
+ if (module === 'baqend') {
159
+ return { baqend: { message: { RevalidateAssets: () => true } } };
160
+ }
161
+ if (module.includes('fetch')) {
162
+ return async (url, options) => {
163
+ if (this.verboseLevel) {
164
+ this.cli.writeWarning(`[documentHandler.fetch]: ${url}`);
165
+ }
166
+ return fetch(url, options);
167
+ };
168
+ }
169
+ if (module.includes('css-select')) {
170
+ return cssSelect;
171
+ }
172
+ if (module.includes('domutils')) {
173
+ return domutils;
174
+ }
175
+ if (module.includes('domelementtype')) {
176
+ return domelementtype;
177
+ }
178
+ if (module.includes('domhandler')) {
179
+ return domhandler;
180
+ }
181
+ if (module.includes('dom-serializer')) {
182
+ return domSerializer;
183
+ }
184
+ if (module.includes('parse5-htmlparser2-tree-adapter')) {
185
+ return parse5Htmlparser2TreeAdapter;
186
+ }
187
+ if (module.includes('parse5')) {
188
+ return parse5;
189
+ }
190
+ const moduleFileName = module.split('/')?.pop();
191
+ if (this.files.hasFile(moduleFileName)) {
192
+ const vmContext = { module: { exports: {} }, exports: {}, ...this.createNodeVmContext() };
193
+ vm.runInNewContext(this.files.getByName(moduleFileName).getContent(), vmContext);
194
+ return { ...vmContext.module.exports, ...vmContext.exports };
195
+ }
196
+ };
197
+ }
198
+ createProcessPartial() {
199
+ return {
200
+ hrtime: process.hrtime
201
+ };
202
+ }
203
+ /**
204
+ * Fetches and returns the latest dynamic fetcher from the code repository. If a new version is available online it is
205
+ * downloaded and cached, otherwise the fetcher id returned from cache. The resulting module gets minified afterwards.
206
+ *
207
+ * @param {Map<string, string>} basePaths tha path mapping to resolve imports from
208
+ * @param {string} dynamicFetcher the dynamic fetcher to bundle the config with
209
+ *
210
+ * @returns {Promise<string>} a Promise which resolves to the latest dynamic fetcher
211
+ */
212
+ async bundleDynamicFetcher(basePaths, dynamicFetcher) {
213
+ const IMPORT_PATHS = {
214
+ 'dynamicFetcher': 'https://www.baqend.com/speed-kit/latest/',
215
+ };
216
+ return this.bundler.bundle({
217
+ basePaths: basePaths,
218
+ entryPoints: { "dynamicFetcher.js": dynamicFetcher },
219
+ target: "es6",
220
+ minify: true,
221
+ platform: "browser",
222
+ });
223
+ }
224
+ }
225
+ exports.DocumentHandlerServer = DocumentHandlerServer;
@@ -0,0 +1,6 @@
1
+ import ErrorHandlerInterface from "../../../error-handling/interface/error-handler-interface";
2
+ import RequiredFileNotFoundError from "../required-file-not-found-error";
3
+ export default class RequiredFileNotFoundHandler implements ErrorHandlerInterface {
4
+ canHandle(error: any): boolean;
5
+ handle(error: RequiredFileNotFoundError): any;
6
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const required_file_not_found_error_1 = tslib_1.__importDefault(require("../required-file-not-found-error"));
5
+ class RequiredFileNotFoundHandler {
6
+ canHandle(error) {
7
+ return error instanceof required_file_not_found_error_1.default;
8
+ }
9
+ handle(error) {
10
+ console.error(error.message);
11
+ console.warn('Did you choose the correct folder?');
12
+ }
13
+ }
14
+ exports.default = RequiredFileNotFoundHandler;
@@ -0,0 +1,3 @@
1
+ import ApplicationError from "../../error-handling/error/application-error";
2
+ export default class RequiredFileNotFoundError extends ApplicationError {
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const application_error_1 = tslib_1.__importDefault(require("../../error-handling/error/application-error"));
5
+ class RequiredFileNotFoundError extends application_error_1.default {
6
+ }
7
+ exports.default = RequiredFileNotFoundError;
@@ -0,0 +1,24 @@
1
+ import DocumentHandlerRuntimeContext from "../context/document-handler-runtime-context";
2
+ import DocumentHandlerRuntimeService from "../document-handler-runtime-service";
3
+ import AbstractAsyncErrorHandlingFactory from "../../error-handling/abstract/abstract-async-error-handling-factory";
4
+ import ErrorHandlerInterface from "../../error-handling/interface/error-handler-interface";
5
+ import { DocumentHandlerServer } from "../document-handler-server";
6
+ import { FileListInterface } from "../../integration-api/integration-api-model";
7
+ import { UserCliConfig } from "../../../helpers/cli-config";
8
+ export default class DocumentHandlerRuntimeServiceFactory extends AbstractAsyncErrorHandlingFactory {
9
+ private readonly context;
10
+ private cliConfig;
11
+ private files?;
12
+ constructor(context: DocumentHandlerRuntimeContext, cliConfig: UserCliConfig, files?: FileListInterface);
13
+ _buildService(): Promise<DocumentHandlerRuntimeService>;
14
+ buildDocumentHandlerServer(): Promise<DocumentHandlerServer>;
15
+ private prepareIntegrationApi;
16
+ private getIntegrationFiles;
17
+ private checkRequiredFiles;
18
+ private createNeededFolderStructure;
19
+ private prepareLocalDocumentHandler;
20
+ private preparePackageJson;
21
+ private prepareTestCases;
22
+ private getCustomerConfig;
23
+ static getErrorHandlers(): ErrorHandlerInterface[];
24
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const integration_api_context_1 = tslib_1.__importDefault(require("../../integration-api/context/integration-api-context"));
5
+ const integration_api_service_factory_1 = tslib_1.__importDefault(require("../../integration-api/factory/integration-api-service-factory"));
6
+ const document_handler_runtime_context_1 = require("../context/document-handler-runtime-context");
7
+ const document_handler_runtime_service_1 = tslib_1.__importDefault(require("../document-handler-runtime-service"));
8
+ const abstract_async_error_handling_factory_1 = tslib_1.__importDefault(require("../../error-handling/abstract/abstract-async-error-handling-factory"));
9
+ const cli_1 = require("../../cli");
10
+ const required_file_not_found_handler_1 = tslib_1.__importDefault(require("../error/handler/required-file-not-found-handler"));
11
+ const required_file_not_found_error_1 = tslib_1.__importDefault(require("../error/required-file-not-found-error"));
12
+ const document_handler_server_1 = require("../document-handler-server");
13
+ const bundler_1 = require("../../bundler");
14
+ class DocumentHandlerRuntimeServiceFactory extends abstract_async_error_handling_factory_1.default {
15
+ context;
16
+ cliConfig;
17
+ files;
18
+ constructor(context, cliConfig, files) {
19
+ super();
20
+ this.context = context;
21
+ this.cliConfig = cliConfig;
22
+ this.files = files;
23
+ }
24
+ async _buildService() {
25
+ const integrationApi = this.prepareIntegrationApi();
26
+ const files = await this.getIntegrationFiles(integrationApi);
27
+ this.checkRequiredFiles(files);
28
+ const cliService = (new cli_1.CliServiceFactory()).getService();
29
+ const customerConfig = this.getCustomerConfig(files);
30
+ this.preparePackageJson(integrationApi, customerConfig);
31
+ return new document_handler_runtime_service_1.default(files, customerConfig, cliService, { testNames: this.context.testNames || [] }, customerConfig.skCliPre, customerConfig.skCliPost);
32
+ }
33
+ async buildDocumentHandlerServer() {
34
+ const integrationApiContext = new integration_api_context_1.default(this.context.customerPath, this.context.configName, []);
35
+ const files = this.files || await new integration_api_service_factory_1.default(integrationApiContext, this.cliConfig).buildService().run();
36
+ const customerConfig = this.getCustomerConfig(files);
37
+ const bundler = new bundler_1.BundleServiceFactory().buildService();
38
+ const cliService = (new cli_1.CliServiceFactory()).getService();
39
+ return new document_handler_server_1.DocumentHandlerServer(customerConfig, files, bundler, cliService, this.context.verboseLevel);
40
+ }
41
+ prepareIntegrationApi() {
42
+ const integrationApiContext = new integration_api_context_1.default(this.context.customerPath, this.context.configName, this.context.fileDependencies, ['.git', '.idea', 'node_modules']);
43
+ return new integration_api_service_factory_1.default(integrationApiContext, this.cliConfig).buildService();
44
+ }
45
+ async getIntegrationFiles(integrationApi) {
46
+ this.createNeededFolderStructure(integrationApi);
47
+ this.prepareLocalDocumentHandler(integrationApi);
48
+ this.prepareTestCases(integrationApi);
49
+ return await integrationApi.run();
50
+ }
51
+ checkRequiredFiles(files) {
52
+ this.context.requiredFiles.forEach((requiredFile) => {
53
+ if (!files.hasFile(requiredFile)) {
54
+ throw new required_file_not_found_error_1.default({ message: `file ${requiredFile} not found` });
55
+ }
56
+ });
57
+ }
58
+ createNeededFolderStructure(integrationApi) {
59
+ integrationApi.createFolder('.local');
60
+ integrationApi.createFolder('.local/test');
61
+ integrationApi.createFolder('.local/test/src');
62
+ integrationApi.createFolder('.local/test/tmp');
63
+ integrationApi.createFolder('.local/test/tmp/server');
64
+ }
65
+ prepareLocalDocumentHandler(integrationApi) {
66
+ if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_DOCUMENT_HANDLER_FILE_NAME}`)) {
67
+ integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_DOCUMENT_HANDLER_FILE_NAME}`);
68
+ }
69
+ if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_DATABASE_MOCK_FILE_NAME}`)) {
70
+ integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_DATABASE_MOCK_FILE_NAME}`);
71
+ }
72
+ if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_ORESTES_MOCK_FILE_NAME}`)) {
73
+ integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_ORESTES_MOCK_FILE_NAME}`);
74
+ }
75
+ if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_RUNTIME_FILE_NAME}`)) {
76
+ integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_RUNTIME_FILE_NAME}`);
77
+ }
78
+ if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_PACKAGE_JSON}`, "json")) {
79
+ integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_PACKAGE_JSON}`, "json");
80
+ }
81
+ }
82
+ preparePackageJson(integrationApi, customerConfig) {
83
+ if (customerConfig.dependencies && !integrationApi.fileExists(`.local/test/${document_handler_runtime_context_1.TEST_PACKAGE_JSON}`, 'json')) {
84
+ integrationApi.writeFile(`.local/test/${document_handler_runtime_context_1.TEST_PACKAGE_JSON}`, 'json');
85
+ }
86
+ }
87
+ prepareTestCases(integrationApi) {
88
+ if (this.context.testNames && this.context.testNames.length > 0) {
89
+ this.context.testNames.map(async (testName) => {
90
+ if (!integrationApi.fileExists(`.local/test/${document_handler_runtime_context_1.TEST_FILE_NAME_PREFIX}-${testName}`)) {
91
+ integrationApi.writeFile(`.local/test/${document_handler_runtime_context_1.TEST_FILE_NAME_PREFIX}-${testName}`);
92
+ }
93
+ });
94
+ }
95
+ }
96
+ getCustomerConfig(files) {
97
+ const configFile = files.getByName('config_customer');
98
+ return configFile.config;
99
+ }
100
+ static getErrorHandlers() {
101
+ return [
102
+ new required_file_not_found_handler_1.default()
103
+ ];
104
+ }
105
+ }
106
+ exports.default = DocumentHandlerRuntimeServiceFactory;
@@ -0,0 +1,3 @@
1
+ export default class DocumentHandlerRuntimeConfigInterface {
2
+ readonly testNames?: string[];
3
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class DocumentHandlerRuntimeConfigInterface {
4
+ testNames;
5
+ }
6
+ exports.default = DocumentHandlerRuntimeConfigInterface;
@@ -0,0 +1,3 @@
1
+ export default interface TemplateContextInterface {
2
+ [key: string]: string | number | object | boolean;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import TemplateParam from "./template-param-interface";
2
+ import TemplateContextInterface from "./template-context-interface";
3
+ export default interface TemplateInterface {
4
+ _buildContext(...params: TemplateParam[]): TemplateContextInterface;
5
+ render(context: TemplateContextInterface): string;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export default interface TemplateParam {
2
+ key: string;
3
+ value: string | number | object;
4
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ import TemplateInterface from "../interface/template-interface";
2
+ import TemplateParam from "../interface/template-param-interface";
3
+ import TemplateContextInterface from "../interface/template-context-interface";
4
+ import { Template } from 'handlebars';
5
+ export default abstract class AbstractTemplate implements TemplateInterface {
6
+ _buildContext(...params: TemplateParam[]): TemplateContextInterface;
7
+ render(context: TemplateContextInterface): string;
8
+ protected abstract getTemplate(): Template;
9
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
5
+ class AbstractTemplate {
6
+ _buildContext(...params) {
7
+ let context = {};
8
+ params.forEach(({ key, value }) => {
9
+ context[key] = value;
10
+ });
11
+ return context;
12
+ }
13
+ render(context) {
14
+ const template = handlebars_1.default.compile(this.getTemplate());
15
+ return template(context);
16
+ }
17
+ }
18
+ exports.default = AbstractTemplate;
@@ -0,0 +1,6 @@
1
+ import AbstractTemplate from "./abstract-template";
2
+ import TemplateContextInterface from "../interface/template-context-interface";
3
+ export default class DatabaseMock extends AbstractTemplate {
4
+ buildContext(domain: string, app: string): TemplateContextInterface;
5
+ getTemplate(): string;
6
+ }
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const abstract_template_1 = tslib_1.__importDefault(require("./abstract-template"));
5
+ class DatabaseMock extends abstract_template_1.default {
6
+ buildContext(domain, app) {
7
+ return { domain, app };
8
+ }
9
+ getTemplate() {
10
+ return `
11
+ class dataHandler {
12
+ data = []
13
+ constructor(data = []){
14
+ this.data = data
15
+ }
16
+
17
+ static load() {
18
+ return this
19
+ }
20
+
21
+ static send() {
22
+ return this
23
+ }
24
+
25
+ static where(query) {
26
+ return this
27
+ }
28
+
29
+ static find() {
30
+ return this
31
+ }
32
+
33
+ static save() {
34
+ return this
35
+ }
36
+
37
+ static eq() {
38
+ return this
39
+ }
40
+
41
+ static le() {
42
+ return this
43
+ }
44
+
45
+ static gt() {
46
+ return this
47
+ }
48
+
49
+ static limit(number) {
50
+ return this
51
+ }
52
+
53
+ static equal(number) {
54
+ return this
55
+ }
56
+
57
+ static count(number) {
58
+ return this
59
+ }
60
+
61
+ static sort(number) {
62
+ return this
63
+ }
64
+
65
+ static descending(direction) {
66
+ return this
67
+ }
68
+
69
+ static singleResult() {
70
+ return
71
+ }
72
+
73
+ static resultList(callback) {
74
+ callback()
75
+ }
76
+ }
77
+
78
+ class database {
79
+ static 'jobs.Status' = dataHandler
80
+ static 'jobs.Definition' = dataHandler
81
+ static 'speedKit.Release' = dataHandler
82
+ static 'speedKit.Asset' = dataHandler
83
+ static 'MasterHash' = dataHandler
84
+ static 'connection' = {
85
+ secure:true,
86
+ host:"{{app}}.app.baqend.com",
87
+ port:"443"
88
+ }
89
+
90
+ static log = {
91
+ info: (msg, dump) => {
92
+ console.log('info: ' + msg, dump)
93
+ },
94
+ warn: (msg, dump) => {
95
+ console.info('warn: ' + msg, dump)
96
+ },
97
+ error: (msg, dump) => {
98
+ console.error('error: '+ msg, dump)
99
+ },
100
+ debug: (msg, dump) => {
101
+ console.log('error: ' + msg, dump)
102
+ },
103
+ }
104
+ }
105
+
106
+ module.exports = database
107
+
108
+ `;
109
+ }
110
+ }
111
+ exports.default = DatabaseMock;
@@ -0,0 +1,6 @@
1
+ import AbstractTemplate from "./abstract-template";
2
+ import TemplateContextInterface from "../interface/template-context-interface";
3
+ export default class ExecuteDocumentHandler extends AbstractTemplate {
4
+ buildContext(domain: string, file: string): TemplateContextInterface;
5
+ protected getTemplate(): Handlebars.Template;
6
+ }
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const abstract_template_1 = tslib_1.__importDefault(require("./abstract-template"));
5
+ class ExecuteDocumentHandler extends abstract_template_1.default {
6
+ buildContext(domain, file) {
7
+ return { domain, file };
8
+ }
9
+ getTemplate() {
10
+ return `const database = require('./database-mock');
11
+ const documentHandler = require('./testDocumentHandler');
12
+ const fs = require('fs');
13
+ const fetch = require('node-fetch');
14
+ const {resolve} = require("path");
15
+ global.Abort = Error;
16
+ const NS_PER_SEC = 1e9;
17
+ const MS_PER_NS = 1e-6;
18
+ const DEFAULT_HEADERS = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'}
19
+ const files = [
20
+ {
21
+ url: '{{domain}}',
22
+ file: '{{file}}',
23
+ variation: 'DEFAULT',
24
+ headers: JSON.stringify(DEFAULT_HEADERS),
25
+ },
26
+ ]
27
+
28
+ const testLimit = 1;
29
+
30
+ async function run(iterator) {
31
+ const promises = [];
32
+ for (item of files) {
33
+ let fileName = item.file;
34
+ let file = await (await fetch(item.url,{headers: item?.headers ? JSON.parse(item.headers) : DEFAULT_HEADERS})).text()
35
+ let time = process.hrtime();
36
+
37
+ let query = {
38
+ variation: item.variation || 'DEFAULT',
39
+ headers: item?.headers ? item.headers : JSON.stringify(DEFAULT_HEADERS),
40
+ url: item.url,
41
+ }
42
+ let req = {
43
+ query, body: file
44
+ }
45
+ for (i = 0; i < testLimit; i++) {
46
+
47
+ // promises.push((async () => {
48
+ const content = await documentHandler.transform(database, req);
49
+ fs.writeFileSync(resolve(__dirname,'../tmp/' + fileName + i + item.variation + '-processed.html'), content);
50
+ benchmark(time)
51
+ // })())
52
+ }
53
+ }
54
+ // Promise.all(promises)
55
+ }
56
+
57
+ const runTest = async () => {
58
+ await run()
59
+ }
60
+
61
+ runTest()
62
+
63
+ // ===================================================== //
64
+
65
+ function benchmark(time) {
66
+ const used = process.memoryUsage();
67
+ for (let key in used) {
68
+ console.log(\`\${key} \${Math.round(used[key] / 1024 / 1024 * 100) / 100} MB\`);
69
+ }
70
+ const diff = process.hrtime(time);
71
+ console.log(\`Benchmark took \${(diff[0] * NS_PER_SEC + diff[1]) * MS_PER_NS} milliseconds\`);
72
+ }
73
+ `;
74
+ }
75
+ }
76
+ exports.default = ExecuteDocumentHandler;