ezekiel-cli 5.8.2

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 (854) hide show
  1. package/.editorconfig +24 -0
  2. package/.eslintrc +40 -0
  3. package/.prettierignore +1 -0
  4. package/README.md +139 -0
  5. package/bin/insites-cli-archive.js +35 -0
  6. package/bin/insites-cli-audit.js +5 -0
  7. package/bin/insites-cli-data-clean.js +69 -0
  8. package/bin/insites-cli-data-export.js +111 -0
  9. package/bin/insites-cli-data-import.js +105 -0
  10. package/bin/insites-cli-data.js +15 -0
  11. package/bin/insites-cli-deploy.js +43 -0
  12. package/bin/insites-cli-env-add.js +107 -0
  13. package/bin/insites-cli-env-list.js +22 -0
  14. package/bin/insites-cli-env.js +12 -0
  15. package/bin/insites-cli-gui-serve.js +47 -0
  16. package/bin/insites-cli-gui.js +8 -0
  17. package/bin/insites-cli-init.js +44 -0
  18. package/bin/insites-cli-logs.js +124 -0
  19. package/bin/insites-cli-logsv2-alerts-add.js +34 -0
  20. package/bin/insites-cli-logsv2-alerts-list.js +24 -0
  21. package/bin/insites-cli-logsv2-alerts-trigger.js +25 -0
  22. package/bin/insites-cli-logsv2-alerts.js +11 -0
  23. package/bin/insites-cli-logsv2-reports.js +36 -0
  24. package/bin/insites-cli-logsv2-search.js +40 -0
  25. package/bin/insites-cli-logsv2-searchAround.js +29 -0
  26. package/bin/insites-cli-logsv2.js +11 -0
  27. package/bin/insites-cli-modules-init.js +54 -0
  28. package/bin/insites-cli-modules-list.js +28 -0
  29. package/bin/insites-cli-modules-pull.js +43 -0
  30. package/bin/insites-cli-modules-remove.js +26 -0
  31. package/bin/insites-cli-modules-version.js +60 -0
  32. package/bin/insites-cli-modules.js +13 -0
  33. package/bin/insites-cli-pull.js +42 -0
  34. package/bin/insites-cli-sync.js +30 -0
  35. package/bin/insites-cli.js +53 -0
  36. package/gui/graphql/babel.config.js +21 -0
  37. package/gui/graphql/package-lock.json +4772 -0
  38. package/gui/graphql/package.json +28 -0
  39. package/gui/graphql/public/105.js +7 -0
  40. package/gui/graphql/public/178.js +1 -0
  41. package/gui/graphql/public/198.js +1 -0
  42. package/gui/graphql/public/441.js +4 -0
  43. package/gui/graphql/public/471.js +1 -0
  44. package/gui/graphql/public/480.js +24 -0
  45. package/gui/graphql/public/481.js +1 -0
  46. package/gui/graphql/public/571.js +12 -0
  47. package/gui/graphql/public/573.js +8 -0
  48. package/gui/graphql/public/574.js +1 -0
  49. package/gui/graphql/public/584.js +38 -0
  50. package/gui/graphql/public/588.js +1 -0
  51. package/gui/graphql/public/662.js +8 -0
  52. package/gui/graphql/public/724.js +1 -0
  53. package/gui/graphql/public/739.js +1 -0
  54. package/gui/graphql/public/744.js +1 -0
  55. package/gui/graphql/public/768.js +1 -0
  56. package/gui/graphql/public/79.js +1 -0
  57. package/gui/graphql/public/845.js +2 -0
  58. package/gui/graphql/public/863.js +1 -0
  59. package/gui/graphql/public/896.js +1 -0
  60. package/gui/graphql/public/92.js +2 -0
  61. package/gui/graphql/public/98.js +1 -0
  62. package/gui/graphql/public/980.js +1 -0
  63. package/gui/graphql/public/995.js +1 -0
  64. package/gui/graphql/public/index.html +12 -0
  65. package/gui/graphql/public/main.css +27 -0
  66. package/gui/graphql/public/main.js +2230 -0
  67. package/gui/graphql/public/main.js.LICENSE.txt +39 -0
  68. package/gui/graphql/src/index.jsx +139 -0
  69. package/gui/graphql/webpack.config.js +52 -0
  70. package/gui/liquid/public/index.html +82 -0
  71. package/gui/v1/build/_app/immutable/assets/0.251ef76d.css +1 -0
  72. package/gui/v1/build/_app/immutable/assets/10.ee72ee6d.css +1 -0
  73. package/gui/v1/build/_app/immutable/assets/12.f6879dba.css +1 -0
  74. package/gui/v1/build/_app/immutable/assets/13.bf080bcc.css +1 -0
  75. package/gui/v1/build/_app/immutable/assets/15.0e0670ce.css +1 -0
  76. package/gui/v1/build/_app/immutable/assets/2.4a46c382.css +1 -0
  77. package/gui/v1/build/_app/immutable/assets/4.73dde45b.css +1 -0
  78. package/gui/v1/build/_app/immutable/assets/6.6bcda092.css +1 -0
  79. package/gui/v1/build/_app/immutable/assets/7.c0038863.css +1 -0
  80. package/gui/v1/build/_app/immutable/assets/9.6957ad32.css +1 -0
  81. package/gui/v1/build/_app/immutable/assets/Aside.66c2d12f.css +1 -0
  82. package/gui/v1/build/_app/immutable/assets/JSONTree.507a2dde.css +1 -0
  83. package/gui/v1/build/_app/immutable/assets/JSONTree.79010849.css +1 -0
  84. package/gui/v1/build/_app/immutable/assets/_layout.4a46c382.css +1 -0
  85. package/gui/v1/build/_app/immutable/assets/_layout.6bcda092.css +1 -0
  86. package/gui/v1/build/_app/immutable/assets/_layout.73dde45b.css +1 -0
  87. package/gui/v1/build/_app/immutable/assets/_layout.85c17bd0.css +1 -0
  88. package/gui/v1/build/_app/immutable/assets/_page.0e0670ce.css +1 -0
  89. package/gui/v1/build/_app/immutable/assets/_page.425c1d28.css +1 -0
  90. package/gui/v1/build/_app/immutable/assets/_page.6957ad32.css +1 -0
  91. package/gui/v1/build/_app/immutable/assets/_page.bf080bcc.css +1 -0
  92. package/gui/v1/build/_app/immutable/assets/_page.c0038863.css +1 -0
  93. package/gui/v1/build/_app/immutable/assets/_page.ee72ee6d.css +1 -0
  94. package/gui/v1/build/_app/immutable/chunks/Aside.c28a1ec5.js +1 -0
  95. package/gui/v1/build/_app/immutable/chunks/Icon.1db6668c.js +1 -0
  96. package/gui/v1/build/_app/immutable/chunks/JSONTree.641da795.js +2 -0
  97. package/gui/v1/build/_app/immutable/chunks/backgroundJob.0f2693c5.js +53 -0
  98. package/gui/v1/build/_app/immutable/chunks/graphql.6101590b.js +1 -0
  99. package/gui/v1/build/_app/immutable/chunks/index.50c00146.js +1 -0
  100. package/gui/v1/build/_app/immutable/chunks/index.5744cd58.js +1 -0
  101. package/gui/v1/build/_app/immutable/chunks/index.88325b8f.js +4 -0
  102. package/gui/v1/build/_app/immutable/chunks/index.c35021d1.js +1 -0
  103. package/gui/v1/build/_app/immutable/chunks/singletons.b6d4da89.js +1 -0
  104. package/gui/v1/build/_app/immutable/chunks/state.adc829f2.js +1 -0
  105. package/gui/v1/build/_app/immutable/chunks/stores.71f75302.js +1 -0
  106. package/gui/v1/build/_app/immutable/chunks/table.71e66f99.js +16 -0
  107. package/gui/v1/build/_app/immutable/chunks/tryParseJSON.f125f883.js +1 -0
  108. package/gui/v1/build/_app/immutable/chunks/user.039256f6.js +31 -0
  109. package/gui/v1/build/_app/immutable/entry/app.44548b11.js +1 -0
  110. package/gui/v1/build/_app/immutable/entry/start.4e385061.js +3 -0
  111. package/gui/v1/build/_app/immutable/nodes/0.d27a86c9.js +1 -0
  112. package/gui/v1/build/_app/immutable/nodes/1.532e414a.js +1 -0
  113. package/gui/v1/build/_app/immutable/nodes/10.962850d6.js +26 -0
  114. package/gui/v1/build/_app/immutable/nodes/11.d0e2eb78.js +1 -0
  115. package/gui/v1/build/_app/immutable/nodes/12.6449d2bf.js +74 -0
  116. package/gui/v1/build/_app/immutable/nodes/13.d3883433.js +1 -0
  117. package/gui/v1/build/_app/immutable/nodes/14.b1e09778.js +1 -0
  118. package/gui/v1/build/_app/immutable/nodes/15.af2c20ae.js +1 -0
  119. package/gui/v1/build/_app/immutable/nodes/2.4d90d0b8.js +9 -0
  120. package/gui/v1/build/_app/immutable/nodes/3.06f6ef98.js +1 -0
  121. package/gui/v1/build/_app/immutable/nodes/4.32a26935.js +1 -0
  122. package/gui/v1/build/_app/immutable/nodes/5.06f6ef98.js +1 -0
  123. package/gui/v1/build/_app/immutable/nodes/6.57fec5aa.js +7 -0
  124. package/gui/v1/build/_app/immutable/nodes/7.ae78c23b.js +13 -0
  125. package/gui/v1/build/_app/immutable/nodes/8.f57c5fbf.js +1 -0
  126. package/gui/v1/build/_app/immutable/nodes/9.374909fd.js +1 -0
  127. package/gui/v1/build/_app/version.json +1 -0
  128. package/gui/v1/build/favicon.png +0 -0
  129. package/gui/v1/build/icon/apple-touch-icon-114x114.png +0 -0
  130. package/gui/v1/build/icon/apple-touch-icon-120x120.png +0 -0
  131. package/gui/v1/build/icon/apple-touch-icon-144x144.png +0 -0
  132. package/gui/v1/build/icon/apple-touch-icon-152x152.png +0 -0
  133. package/gui/v1/build/icon/apple-touch-icon-57x57.png +0 -0
  134. package/gui/v1/build/icon/apple-touch-icon-60x60.png +0 -0
  135. package/gui/v1/build/icon/apple-touch-icon-72x72.png +0 -0
  136. package/gui/v1/build/icon/apple-touch-icon-76x76.png +0 -0
  137. package/gui/v1/build/icon/code.txt +20 -0
  138. package/gui/v1/build/icon/favicon-128.png +0 -0
  139. package/gui/v1/build/icon/favicon-16x16.png +0 -0
  140. package/gui/v1/build/icon/favicon-196x196.png +0 -0
  141. package/gui/v1/build/icon/favicon-32x32.png +0 -0
  142. package/gui/v1/build/icon/favicon-96x96.png +0 -0
  143. package/gui/v1/build/icon/favicon.ico +0 -0
  144. package/gui/v1/build/icon/mstile-144x144.png +0 -0
  145. package/gui/v1/build/icon/mstile-150x150.png +0 -0
  146. package/gui/v1/build/icon/mstile-310x150.png +0 -0
  147. package/gui/v1/build/icon/mstile-310x310.png +0 -0
  148. package/gui/v1/build/icon/mstile-70x70.png +0 -0
  149. package/gui/v1/build/index.html +35 -0
  150. package/gui/v1/build/insites-logo-old.png +0 -0
  151. package/gui/v1/build/insites-logo.png +0 -0
  152. package/gui/v1/build/prism.js +8 -0
  153. package/gui/v1/package-lock.json +1616 -0
  154. package/gui/v1/package.json +27 -0
  155. package/gui/v1/playwright.config.js +10 -0
  156. package/gui/v1/pnpm-lock.yaml +992 -0
  157. package/gui/v1/src/app.html +12 -0
  158. package/gui/v1/src/lib/api/backgroundJob.js +124 -0
  159. package/gui/v1/src/lib/api/constant.js +68 -0
  160. package/gui/v1/src/lib/api/graphql.js +57 -0
  161. package/gui/v1/src/lib/api/logs.js +45 -0
  162. package/gui/v1/src/lib/api/record.js +286 -0
  163. package/gui/v1/src/lib/api/table.js +45 -0
  164. package/gui/v1/src/lib/api/user.js +78 -0
  165. package/gui/v1/src/lib/backgroundJob/Delete.svelte +61 -0
  166. package/gui/v1/src/lib/backgroundJob/Retry.svelte +45 -0
  167. package/gui/v1/src/lib/database/Create.svelte +324 -0
  168. package/gui/v1/src/lib/database/Delete.svelte +61 -0
  169. package/gui/v1/src/lib/database/Filters.svelte +155 -0
  170. package/gui/v1/src/lib/database/Sort.svelte +110 -0
  171. package/gui/v1/src/lib/database/Table.svelte +261 -0
  172. package/gui/v1/src/lib/database/Tables.svelte +276 -0
  173. package/gui/v1/src/lib/parseValue.js +51 -0
  174. package/gui/v1/src/lib/relativeTime.js +33 -0
  175. package/gui/v1/src/lib/state.js +190 -0
  176. package/gui/v1/src/lib/tryParseJSON.js +32 -0
  177. package/gui/v1/src/lib/ui/Aside.svelte +176 -0
  178. package/gui/v1/src/lib/ui/Code.svelte +50 -0
  179. package/gui/v1/src/lib/ui/ConnectionIndicator.svelte +133 -0
  180. package/gui/v1/src/lib/ui/Header.svelte +252 -0
  181. package/gui/v1/src/lib/ui/Icon.svelte +55 -0
  182. package/gui/v1/src/lib/ui/JSONTree.svelte +77 -0
  183. package/gui/v1/src/lib/ui/Notifications.svelte +111 -0
  184. package/gui/v1/src/lib/ui/forms/Toggle.svelte +114 -0
  185. package/gui/v1/src/routes/+layout.svelte +25 -0
  186. package/gui/v1/src/routes/+page.svelte +511 -0
  187. package/gui/v1/src/routes/backgroundJobs/+layout.svelte +366 -0
  188. package/gui/v1/src/routes/backgroundJobs/+page.svelte +0 -0
  189. package/gui/v1/src/routes/backgroundJobs/[type]/[id]/+page.svelte +157 -0
  190. package/gui/v1/src/routes/constants/+layout.svelte +1 -0
  191. package/gui/v1/src/routes/constants/+page.svelte +382 -0
  192. package/gui/v1/src/routes/database/+layout.svelte +67 -0
  193. package/gui/v1/src/routes/database/+page.svelte +3 -0
  194. package/gui/v1/src/routes/database/table/[id]/+page.svelte +219 -0
  195. package/gui/v1/src/routes/logs/+layout.svelte +1 -0
  196. package/gui/v1/src/routes/logs/+page.svelte +512 -0
  197. package/gui/v1/src/routes/users/+layout.svelte +252 -0
  198. package/gui/v1/src/routes/users/+page.svelte +4 -0
  199. package/gui/v1/src/routes/users/[id]/+page.svelte +127 -0
  200. package/gui/v1/src/style/button.css +141 -0
  201. package/gui/v1/src/style/code.css +4 -0
  202. package/gui/v1/src/style/config.css +186 -0
  203. package/gui/v1/src/style/forms.css +55 -0
  204. package/gui/v1/src/style/general.css +53 -0
  205. package/gui/v1/src/style/reset.css +75 -0
  206. package/gui/v1/static/favicon.png +0 -0
  207. package/gui/v1/static/icon/apple-touch-icon-114x114.png +0 -0
  208. package/gui/v1/static/icon/apple-touch-icon-120x120.png +0 -0
  209. package/gui/v1/static/icon/apple-touch-icon-144x144.png +0 -0
  210. package/gui/v1/static/icon/apple-touch-icon-152x152.png +0 -0
  211. package/gui/v1/static/icon/apple-touch-icon-57x57.png +0 -0
  212. package/gui/v1/static/icon/apple-touch-icon-60x60.png +0 -0
  213. package/gui/v1/static/icon/apple-touch-icon-72x72.png +0 -0
  214. package/gui/v1/static/icon/apple-touch-icon-76x76.png +0 -0
  215. package/gui/v1/static/icon/code.txt +20 -0
  216. package/gui/v1/static/icon/favicon-128.png +0 -0
  217. package/gui/v1/static/icon/favicon-16x16.png +0 -0
  218. package/gui/v1/static/icon/favicon-196x196.png +0 -0
  219. package/gui/v1/static/icon/favicon-32x32.png +0 -0
  220. package/gui/v1/static/icon/favicon-96x96.png +0 -0
  221. package/gui/v1/static/icon/favicon.ico +0 -0
  222. package/gui/v1/static/icon/mstile-144x144.png +0 -0
  223. package/gui/v1/static/icon/mstile-150x150.png +0 -0
  224. package/gui/v1/static/icon/mstile-310x150.png +0 -0
  225. package/gui/v1/static/icon/mstile-310x310.png +0 -0
  226. package/gui/v1/static/icon/mstile-70x70.png +0 -0
  227. package/gui/v1/static/insites-logo-old.png +0 -0
  228. package/gui/v1/static/insites-logo.png +0 -0
  229. package/gui/v1/static/prism.js +8 -0
  230. package/gui/v1/svelte.config.js +12 -0
  231. package/gui/v1/vite.config.js +9 -0
  232. package/gui/v2/.env.local.sample +1 -0
  233. package/gui/v2/.eslintrc.json +3 -0
  234. package/gui/v2/README.md +36 -0
  235. package/gui/v2/jsconfig.json +7 -0
  236. package/gui/v2/next.config.mjs +8 -0
  237. package/gui/v2/out/404/index.html +1 -0
  238. package/gui/v2/out/404.html +1 -0
  239. package/gui/v2/out/_next/static/chunks/1255.653490595d3fc3e0.js +1 -0
  240. package/gui/v2/out/_next/static/chunks/156-d7f9f402651cf1ce.js +1 -0
  241. package/gui/v2/out/_next/static/chunks/1607-f540467bd5a5afbb.js +1 -0
  242. package/gui/v2/out/_next/static/chunks/1846.1d14172e53de7bd5.js +1 -0
  243. package/gui/v2/out/_next/static/chunks/2380.950327f4432936af.js +1 -0
  244. package/gui/v2/out/_next/static/chunks/2572.bec81f6c42bcb825.js +1 -0
  245. package/gui/v2/out/_next/static/chunks/2650.fe9586a828cdca9d.js +1 -0
  246. package/gui/v2/out/_next/static/chunks/3331.562d592a07589250.js +1 -0
  247. package/gui/v2/out/_next/static/chunks/3510.61b58fad9f502d34.js +1 -0
  248. package/gui/v2/out/_next/static/chunks/363642f4-2accd15316551dfa.js +1 -0
  249. package/gui/v2/out/_next/static/chunks/4704.c49f871da8f25277.js +1 -0
  250. package/gui/v2/out/_next/static/chunks/49448ee7.02b7afe6f73c8f9d.js +1 -0
  251. package/gui/v2/out/_next/static/chunks/4d1bfaba-4c00fd5561f9a075.js +1 -0
  252. package/gui/v2/out/_next/static/chunks/5103.b86a80704c50b2cb.js +1 -0
  253. package/gui/v2/out/_next/static/chunks/5250-f85a6556cdac145c.js +1 -0
  254. package/gui/v2/out/_next/static/chunks/5253.6fc3f7a625a83de9.js +1 -0
  255. package/gui/v2/out/_next/static/chunks/6163.50329d0319b2e55b.js +1 -0
  256. package/gui/v2/out/_next/static/chunks/6262.57b323874390cc1b.js +1 -0
  257. package/gui/v2/out/_next/static/chunks/6442.5e49a9feebedaf1a.js +1 -0
  258. package/gui/v2/out/_next/static/chunks/6711.076ab1f536726d8d.js +1 -0
  259. package/gui/v2/out/_next/static/chunks/6729.9cc7e67fe8be26d8.js +1 -0
  260. package/gui/v2/out/_next/static/chunks/6744.73e5042f769356c2.js +1 -0
  261. package/gui/v2/out/_next/static/chunks/7058.e63b764d613d6d14.js +1 -0
  262. package/gui/v2/out/_next/static/chunks/714.039f29b090afd075.js +1 -0
  263. package/gui/v2/out/_next/static/chunks/720.b5dff7afd9961ccc.js +1 -0
  264. package/gui/v2/out/_next/static/chunks/7283.e2af380e1cb385c4.js +1 -0
  265. package/gui/v2/out/_next/static/chunks/7567.fb1e0ef7389df59d.js +1 -0
  266. package/gui/v2/out/_next/static/chunks/7604.12b8307c002ce3f4.js +1 -0
  267. package/gui/v2/out/_next/static/chunks/7612.f071dccc7f2b0711.js +1 -0
  268. package/gui/v2/out/_next/static/chunks/7737.6191e6708d094927.js +1 -0
  269. package/gui/v2/out/_next/static/chunks/7833.6ff3b0179c6aab2e.js +1 -0
  270. package/gui/v2/out/_next/static/chunks/7934.875b05fd89a8eeae.js +1 -0
  271. package/gui/v2/out/_next/static/chunks/7957.c1f316fb4f52b181.js +1 -0
  272. package/gui/v2/out/_next/static/chunks/7979.1ed8d3011a12e2f1.js +1 -0
  273. package/gui/v2/out/_next/static/chunks/8043.592171badd8f3ea1.js +57 -0
  274. package/gui/v2/out/_next/static/chunks/8047-327e12b999e88629.js +1 -0
  275. package/gui/v2/out/_next/static/chunks/8069-99e6658a6772ea80.js +1 -0
  276. package/gui/v2/out/_next/static/chunks/8414.c85352362d33de3e.js +1 -0
  277. package/gui/v2/out/_next/static/chunks/8700.4409d1a867db1bf3.js +1 -0
  278. package/gui/v2/out/_next/static/chunks/9121.b83f5b8780f6c093.js +1 -0
  279. package/gui/v2/out/_next/static/chunks/9336.17897c831ce187f3.js +1 -0
  280. package/gui/v2/out/_next/static/chunks/9479.f984522cec5ff059.js +1 -0
  281. package/gui/v2/out/_next/static/chunks/9557.471a0e1662abe246.js +1 -0
  282. package/gui/v2/out/_next/static/chunks/989.aa0766c8bb66a392.js +1 -0
  283. package/gui/v2/out/_next/static/chunks/app/background-job/page-0521f8d6e8ec9b55.js +1 -0
  284. package/gui/v2/out/_next/static/chunks/app/constants/page-f1397b414fe2e4c0.js +1 -0
  285. package/gui/v2/out/_next/static/chunks/app/database/layout-c1e28d1ae358bc77.js +1 -0
  286. package/gui/v2/out/_next/static/chunks/app/database/page-d2f667b24c673fbb.js +1 -0
  287. package/gui/v2/out/_next/static/chunks/app/error-3cf235b6b99c469f.js +1 -0
  288. package/gui/v2/out/_next/static/chunks/app/global-error-afc2c2c9b5e82f57.js +1 -0
  289. package/gui/v2/out/_next/static/chunks/app/graphql/page-ae7c858f41b54801.js +1 -0
  290. package/gui/v2/out/_next/static/chunks/app/layout-8194e46834cb4aba.js +1 -0
  291. package/gui/v2/out/_next/static/chunks/app/liquid/page-02caf239e75f472f.js +1 -0
  292. package/gui/v2/out/_next/static/chunks/app/loading-54414b5097331d64.js +1 -0
  293. package/gui/v2/out/_next/static/chunks/app/logs/layout-5f78d72b1b805625.js +1 -0
  294. package/gui/v2/out/_next/static/chunks/app/logs/page-ef7dd2b328d24734.js +1 -0
  295. package/gui/v2/out/_next/static/chunks/app/not-found-33cae8ec5bdcd26f.js +1 -0
  296. package/gui/v2/out/_next/static/chunks/app/page-73b1f8b1f7552d3f.js +1 -0
  297. package/gui/v2/out/_next/static/chunks/app/users/page-2195ac1594366ce4.js +1 -0
  298. package/gui/v2/out/_next/static/chunks/d9670eb5.68da5e9f84dd26cf.js +1 -0
  299. package/gui/v2/out/_next/static/chunks/fd9d1056-0e6b8922e4ebe23a.js +1 -0
  300. package/gui/v2/out/_next/static/chunks/framework-08aa667e5202eed8.js +33 -0
  301. package/gui/v2/out/_next/static/chunks/main-7b334683379129cf.js +1 -0
  302. package/gui/v2/out/_next/static/chunks/main-app-35b90d128e2e05cf.js +1 -0
  303. package/gui/v2/out/_next/static/chunks/pages/_app-57bdff7978360b1c.js +1 -0
  304. package/gui/v2/out/_next/static/chunks/pages/_error-29037c284dd0eec6.js +1 -0
  305. package/gui/v2/out/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js +1 -0
  306. package/gui/v2/out/_next/static/chunks/webpack-d07cc8d61c19af5d.js +1 -0
  307. package/gui/v2/out/_next/static/css/874c6e64ab8446a4.css +6 -0
  308. package/gui/v2/out/_next/static/css/88716ec5fc4aa1e3.css +15 -0
  309. package/gui/v2/out/_next/static/wmD1UwESxpzZj8pfiHFeB/_buildManifest.js +1 -0
  310. package/gui/v2/out/_next/static/wmD1UwESxpzZj8pfiHFeB/_ssgManifest.js +1 -0
  311. package/gui/v2/out/assets/icons/home-bg-job.png +0 -0
  312. package/gui/v2/out/assets/icons/home-constants.png +0 -0
  313. package/gui/v2/out/assets/icons/home-database.png +0 -0
  314. package/gui/v2/out/assets/icons/home-graphql.png +0 -0
  315. package/gui/v2/out/assets/icons/home-info-fill-light.png +0 -0
  316. package/gui/v2/out/assets/icons/home-info-light.png +0 -0
  317. package/gui/v2/out/assets/icons/home-liquid.png +0 -0
  318. package/gui/v2/out/assets/icons/home-logs.png +0 -0
  319. package/gui/v2/out/assets/icons/home-pin-fill-light.png +0 -0
  320. package/gui/v2/out/assets/icons/home-pin-light.png +0 -0
  321. package/gui/v2/out/assets/icons/home-support.png +0 -0
  322. package/gui/v2/out/assets/icons/home-users.png +0 -0
  323. package/gui/v2/out/assets/icons/menu-bg-job-dark.png +0 -0
  324. package/gui/v2/out/assets/icons/menu-bg-job-light.png +0 -0
  325. package/gui/v2/out/assets/icons/menu-console-dark.png +0 -0
  326. package/gui/v2/out/assets/icons/menu-console-light.png +0 -0
  327. package/gui/v2/out/assets/icons/menu-constants-dark.png +0 -0
  328. package/gui/v2/out/assets/icons/menu-constants-light.png +0 -0
  329. package/gui/v2/out/assets/icons/menu-database-dark.png +0 -0
  330. package/gui/v2/out/assets/icons/menu-database-light.png +0 -0
  331. package/gui/v2/out/assets/icons/menu-docs-dark.png +0 -0
  332. package/gui/v2/out/assets/icons/menu-docs-light.png +0 -0
  333. package/gui/v2/out/assets/icons/menu-graphql-dark.png +0 -0
  334. package/gui/v2/out/assets/icons/menu-graphql-light.png +0 -0
  335. package/gui/v2/out/assets/icons/menu-iia-dark.png +0 -0
  336. package/gui/v2/out/assets/icons/menu-iia-light.png +0 -0
  337. package/gui/v2/out/assets/icons/menu-liquid-dark.png +0 -0
  338. package/gui/v2/out/assets/icons/menu-liquid-light.png +0 -0
  339. package/gui/v2/out/assets/icons/menu-logs-dark.png +0 -0
  340. package/gui/v2/out/assets/icons/menu-logs-light.png +0 -0
  341. package/gui/v2/out/assets/icons/menu-support-dark.png +0 -0
  342. package/gui/v2/out/assets/icons/menu-support-light.png +0 -0
  343. package/gui/v2/out/assets/icons/menu-theme-dark.png +0 -0
  344. package/gui/v2/out/assets/icons/menu-theme-light.png +0 -0
  345. package/gui/v2/out/assets/icons/menu-users-dark.png +0 -0
  346. package/gui/v2/out/assets/icons/menu-users-light.png +0 -0
  347. package/gui/v2/out/assets/icons/search-icon-dark.svg +3 -0
  348. package/gui/v2/out/assets/ins-logo-dark.svg +35 -0
  349. package/gui/v2/out/assets/ins-logo-light.svg +35 -0
  350. package/gui/v2/out/background-job/index.html +1 -0
  351. package/gui/v2/out/background-job/index.txt +9 -0
  352. package/gui/v2/out/constants/index.html +1 -0
  353. package/gui/v2/out/constants/index.txt +11 -0
  354. package/gui/v2/out/database/index.html +1 -0
  355. package/gui/v2/out/database/index.txt +13 -0
  356. package/gui/v2/out/favicon.ico +0 -0
  357. package/gui/v2/out/favicon.png +0 -0
  358. package/gui/v2/out/graphql/index.html +1 -0
  359. package/gui/v2/out/graphql/index.txt +11 -0
  360. package/gui/v2/out/index.html +1 -0
  361. package/gui/v2/out/index.txt +11 -0
  362. package/gui/v2/out/liquid/index.html +1 -0
  363. package/gui/v2/out/liquid/index.txt +11 -0
  364. package/gui/v2/out/logs/index.html +1 -0
  365. package/gui/v2/out/logs/index.txt +13 -0
  366. package/gui/v2/out/next.svg +1 -0
  367. package/gui/v2/out/users/index.html +1 -0
  368. package/gui/v2/out/users/index.txt +11 -0
  369. package/gui/v2/out/vercel.svg +1 -0
  370. package/gui/v2/package-lock.json +9575 -0
  371. package/gui/v2/package.json +37 -0
  372. package/gui/v2/postcss.config.js +6 -0
  373. package/gui/v2/public/assets/icons/home-bg-job.png +0 -0
  374. package/gui/v2/public/assets/icons/home-constants.png +0 -0
  375. package/gui/v2/public/assets/icons/home-database.png +0 -0
  376. package/gui/v2/public/assets/icons/home-graphql.png +0 -0
  377. package/gui/v2/public/assets/icons/home-info-fill-light.png +0 -0
  378. package/gui/v2/public/assets/icons/home-info-light.png +0 -0
  379. package/gui/v2/public/assets/icons/home-liquid.png +0 -0
  380. package/gui/v2/public/assets/icons/home-logs.png +0 -0
  381. package/gui/v2/public/assets/icons/home-pin-fill-light.png +0 -0
  382. package/gui/v2/public/assets/icons/home-pin-light.png +0 -0
  383. package/gui/v2/public/assets/icons/home-support.png +0 -0
  384. package/gui/v2/public/assets/icons/home-users.png +0 -0
  385. package/gui/v2/public/assets/icons/menu-bg-job-dark.png +0 -0
  386. package/gui/v2/public/assets/icons/menu-bg-job-light.png +0 -0
  387. package/gui/v2/public/assets/icons/menu-console-dark.png +0 -0
  388. package/gui/v2/public/assets/icons/menu-console-light.png +0 -0
  389. package/gui/v2/public/assets/icons/menu-constants-dark.png +0 -0
  390. package/gui/v2/public/assets/icons/menu-constants-light.png +0 -0
  391. package/gui/v2/public/assets/icons/menu-database-dark.png +0 -0
  392. package/gui/v2/public/assets/icons/menu-database-light.png +0 -0
  393. package/gui/v2/public/assets/icons/menu-docs-dark.png +0 -0
  394. package/gui/v2/public/assets/icons/menu-docs-light.png +0 -0
  395. package/gui/v2/public/assets/icons/menu-graphql-dark.png +0 -0
  396. package/gui/v2/public/assets/icons/menu-graphql-light.png +0 -0
  397. package/gui/v2/public/assets/icons/menu-iia-dark.png +0 -0
  398. package/gui/v2/public/assets/icons/menu-iia-light.png +0 -0
  399. package/gui/v2/public/assets/icons/menu-liquid-dark.png +0 -0
  400. package/gui/v2/public/assets/icons/menu-liquid-light.png +0 -0
  401. package/gui/v2/public/assets/icons/menu-logs-dark.png +0 -0
  402. package/gui/v2/public/assets/icons/menu-logs-light.png +0 -0
  403. package/gui/v2/public/assets/icons/menu-support-dark.png +0 -0
  404. package/gui/v2/public/assets/icons/menu-support-light.png +0 -0
  405. package/gui/v2/public/assets/icons/menu-theme-dark.png +0 -0
  406. package/gui/v2/public/assets/icons/menu-theme-light.png +0 -0
  407. package/gui/v2/public/assets/icons/menu-users-dark.png +0 -0
  408. package/gui/v2/public/assets/icons/menu-users-light.png +0 -0
  409. package/gui/v2/public/assets/icons/search-icon-dark.svg +3 -0
  410. package/gui/v2/public/assets/ins-logo-dark.svg +35 -0
  411. package/gui/v2/public/assets/ins-logo-light.svg +35 -0
  412. package/gui/v2/public/favicon.png +0 -0
  413. package/gui/v2/public/next.svg +1 -0
  414. package/gui/v2/public/vercel.svg +1 -0
  415. package/gui/v2/src/app/background-job/page.js +35 -0
  416. package/gui/v2/src/app/constants/components/Field/Field.css +11 -0
  417. package/gui/v2/src/app/constants/components/Field/Field.js +52 -0
  418. package/gui/v2/src/app/constants/components/Filter.js +50 -0
  419. package/gui/v2/src/app/constants/components/Form/Form.css +3 -0
  420. package/gui/v2/src/app/constants/components/Form/Form.js +41 -0
  421. package/gui/v2/src/app/constants/page.js +40 -0
  422. package/gui/v2/src/app/database/components/Filters/FilterForm.js +70 -0
  423. package/gui/v2/src/app/database/components/Filters/FilterValue.js +68 -0
  424. package/gui/v2/src/app/database/components/Filters/Filters.js +72 -0
  425. package/gui/v2/src/app/database/components/Sidebar.js +46 -0
  426. package/gui/v2/src/app/database/components/Table.js +122 -0
  427. package/gui/v2/src/app/database/context.js +106 -0
  428. package/gui/v2/src/app/database/layout.js +10 -0
  429. package/gui/v2/src/app/database/page.js +31 -0
  430. package/gui/v2/src/app/error.js +25 -0
  431. package/gui/v2/src/app/favicon.ico +0 -0
  432. package/gui/v2/src/app/global-error.js +20 -0
  433. package/gui/v2/src/app/globals.css +30 -0
  434. package/gui/v2/src/app/graphql/graphql.js +71 -0
  435. package/gui/v2/src/app/graphql/page.js +11 -0
  436. package/gui/v2/src/app/layout.js +27 -0
  437. package/gui/v2/src/app/liquid/page.js +68 -0
  438. package/gui/v2/src/app/loading.js +7 -0
  439. package/gui/v2/src/app/logs/components/JsonTree.js +31 -0
  440. package/gui/v2/src/app/logs/components/LogMetadata/LogMetadata.js +61 -0
  441. package/gui/v2/src/app/logs/components/LogRow.js +62 -0
  442. package/gui/v2/src/app/logs/components/PinnedPanel/PinnedPanel.js +46 -0
  443. package/gui/v2/src/app/logs/components/Toolbar/ClearButton.js +10 -0
  444. package/gui/v2/src/app/logs/components/Toolbar/Filter.js +13 -0
  445. package/gui/v2/src/app/logs/components/Toolbar/MetaDataCheckbox.js +11 -0
  446. package/gui/v2/src/app/logs/components/Toolbar/ShowPinnedButton.js +8 -0
  447. package/gui/v2/src/app/logs/components/Toolbar/Toolbar.js +45 -0
  448. package/gui/v2/src/app/logs/context.js +66 -0
  449. package/gui/v2/src/app/logs/layout.js +10 -0
  450. package/gui/v2/src/app/logs/page.js +73 -0
  451. package/gui/v2/src/app/not-found.js +11 -0
  452. package/gui/v2/src/app/page.js +103 -0
  453. package/gui/v2/src/app/providers.js +18 -0
  454. package/gui/v2/src/app/users/components/UserDetails.js +38 -0
  455. package/gui/v2/src/app/users/page.js +121 -0
  456. package/gui/v2/src/components/CodeEditor/CodeEditor.css +12 -0
  457. package/gui/v2/src/components/CodeEditor/CodeEditor.js +76 -0
  458. package/gui/v2/src/components/layout/Header/Header.css +6 -0
  459. package/gui/v2/src/components/layout/Header/Header.js +139 -0
  460. package/gui/v2/src/constants/filters.js +32 -0
  461. package/gui/v2/src/constants/records.js +17 -0
  462. package/gui/v2/src/context/config.js +27 -0
  463. package/gui/v2/src/context/filters.js +22 -0
  464. package/gui/v2/src/context/menu.js +14 -0
  465. package/gui/v2/src/context/theme.js +29 -0
  466. package/gui/v2/src/hooks/config.js +6 -0
  467. package/gui/v2/src/hooks/constants.js +99 -0
  468. package/gui/v2/src/hooks/database.js +44 -0
  469. package/gui/v2/src/hooks/filters.js +30 -0
  470. package/gui/v2/src/hooks/menu.js +19 -0
  471. package/gui/v2/src/hooks/query.js +10 -0
  472. package/gui/v2/src/hooks/queryParams.js +20 -0
  473. package/gui/v2/src/hooks/recordQuery.js +109 -0
  474. package/gui/v2/src/hooks/theme.js +6 -0
  475. package/gui/v2/src/hooks/users.js +63 -0
  476. package/gui/v2/src/reducers/filter.js +28 -0
  477. package/gui/v2/src/reducers/menu.js +125 -0
  478. package/gui/v2/src/reducers/query.js +143 -0
  479. package/gui/v2/src/services/ConfigService.js +7 -0
  480. package/gui/v2/src/services/CoreService.js +68 -0
  481. package/gui/v2/src/services/GraphiQLService.js +14 -0
  482. package/gui/v2/src/services/LiquidService.js +7 -0
  483. package/gui/v2/src/services/LogService.js +7 -0
  484. package/gui/v2/src/services/RecordService.js +27 -0
  485. package/gui/v2/src/styles/app/database.css +10 -0
  486. package/gui/v2/src/styles/app/graphql.css +100 -0
  487. package/gui/v2/src/styles/app/liquid.css +4 -0
  488. package/gui/v2/src/styles/app/users.css +3 -0
  489. package/gui/v2/src/styles/general.css +31 -0
  490. package/gui/v2/src/styles/icons.css +7 -0
  491. package/gui/v2/src/styles/utils.css +103 -0
  492. package/gui/v2/src/styles/variables.css +94 -0
  493. package/gui/v2/tailwind.config.js +18 -0
  494. package/gui/v3/.cta.json +13 -0
  495. package/gui/v3/.cursorrules +7 -0
  496. package/gui/v3/.vscode/settings.json +18 -0
  497. package/gui/v3/README.md +300 -0
  498. package/gui/v3/components.json +21 -0
  499. package/gui/v3/index.html +17 -0
  500. package/gui/v3/out/assets/asn1-EdZsLKOL.js +1 -0
  501. package/gui/v3/out/assets/babel-C9dsZwsK.js +15 -0
  502. package/gui/v3/out/assets/clojure-BMjYHr_A.js +1 -0
  503. package/gui/v3/out/assets/codicon-DCmgc-ay.ttf +0 -0
  504. package/gui/v3/out/assets/constants-BTP7rcyh.js +1 -0
  505. package/gui/v3/out/assets/createLucideIcon-C36JZ1s3.js +21 -0
  506. package/gui/v3/out/assets/css-BnMrqG3P.js +1 -0
  507. package/gui/v3/out/assets/database-DV7gHS2m.js +106 -0
  508. package/gui/v3/out/assets/estree-DZUM3lmb.js +36 -0
  509. package/gui/v3/out/assets/format-Bs4upCOt.js +1 -0
  510. package/gui/v3/out/assets/graphql-7Dzro_xV.js +29 -0
  511. package/gui/v3/out/assets/graphql-Cg7bfA9N.js +6 -0
  512. package/gui/v3/out/assets/graphql-D05RS2Ys.js +29 -0
  513. package/gui/v3/out/assets/graphql-DeSRErpC.css +6 -0
  514. package/gui/v3/out/assets/graphql-Kf_-WQAL.js +335 -0
  515. package/gui/v3/out/assets/graphqlMode-BiZPK6IB.js +2 -0
  516. package/gui/v3/out/assets/icons/home-bg-job.png +0 -0
  517. package/gui/v3/out/assets/icons/home-constants.png +0 -0
  518. package/gui/v3/out/assets/icons/home-database.png +0 -0
  519. package/gui/v3/out/assets/icons/home-graphql.png +0 -0
  520. package/gui/v3/out/assets/icons/home-info-fill-light.png +0 -0
  521. package/gui/v3/out/assets/icons/home-info-light.png +0 -0
  522. package/gui/v3/out/assets/icons/home-liquid.png +0 -0
  523. package/gui/v3/out/assets/icons/home-logs.png +0 -0
  524. package/gui/v3/out/assets/icons/home-pin-fill-light.png +0 -0
  525. package/gui/v3/out/assets/icons/home-pin-light.png +0 -0
  526. package/gui/v3/out/assets/icons/home-support.png +0 -0
  527. package/gui/v3/out/assets/icons/home-users.png +0 -0
  528. package/gui/v3/out/assets/icons/menu-bg-job-dark.png +0 -0
  529. package/gui/v3/out/assets/icons/menu-bg-job-light.png +0 -0
  530. package/gui/v3/out/assets/icons/menu-console-dark.png +0 -0
  531. package/gui/v3/out/assets/icons/menu-console-light.png +0 -0
  532. package/gui/v3/out/assets/icons/menu-constants-dark.png +0 -0
  533. package/gui/v3/out/assets/icons/menu-constants-light.png +0 -0
  534. package/gui/v3/out/assets/icons/menu-database-dark.png +0 -0
  535. package/gui/v3/out/assets/icons/menu-database-light.png +0 -0
  536. package/gui/v3/out/assets/icons/menu-docs-dark.png +0 -0
  537. package/gui/v3/out/assets/icons/menu-docs-light.png +0 -0
  538. package/gui/v3/out/assets/icons/menu-graphql-dark.png +0 -0
  539. package/gui/v3/out/assets/icons/menu-graphql-light.png +0 -0
  540. package/gui/v3/out/assets/icons/menu-iia-dark.png +0 -0
  541. package/gui/v3/out/assets/icons/menu-iia-light.png +0 -0
  542. package/gui/v3/out/assets/icons/menu-liquid-dark.png +0 -0
  543. package/gui/v3/out/assets/icons/menu-liquid-light.png +0 -0
  544. package/gui/v3/out/assets/icons/menu-logs-dark.png +0 -0
  545. package/gui/v3/out/assets/icons/menu-logs-light.png +0 -0
  546. package/gui/v3/out/assets/icons/menu-support-dark.png +0 -0
  547. package/gui/v3/out/assets/icons/menu-support-light.png +0 -0
  548. package/gui/v3/out/assets/icons/menu-theme-dark.png +0 -0
  549. package/gui/v3/out/assets/icons/menu-theme-light.png +0 -0
  550. package/gui/v3/out/assets/icons/menu-users-dark.png +0 -0
  551. package/gui/v3/out/assets/icons/menu-users-light.png +0 -0
  552. package/gui/v3/out/assets/icons/search-icon-dark.svg +3 -0
  553. package/gui/v3/out/assets/index-AQmQqDwZ.js +68 -0
  554. package/gui/v3/out/assets/index-BkuncLX2.js +1 -0
  555. package/gui/v3/out/assets/index-Cf5jXmk6.css +1 -0
  556. package/gui/v3/out/assets/index-CizP5xBC.js +7 -0
  557. package/gui/v3/out/assets/index-DO4-OviR.js +1 -0
  558. package/gui/v3/out/assets/index-DuTWoEAJ.js +1 -0
  559. package/gui/v3/out/assets/index-Fzn1QYI7.js +41 -0
  560. package/gui/v3/out/assets/ins-logo-dark.svg +35 -0
  561. package/gui/v3/out/assets/ins-logo-light.svg +35 -0
  562. package/gui/v3/out/assets/javascript-qCveANmP.js +1 -0
  563. package/gui/v3/out/assets/jsonMode-D3_vpDO9.js +15 -0
  564. package/gui/v3/out/assets/liquid-eqk0BGFR.js +56 -0
  565. package/gui/v3/out/assets/lite-BCVbb_oz.js +2 -0
  566. package/gui/v3/out/assets/logs-DI6Go5dW.js +16 -0
  567. package/gui/v3/out/assets/mllike-CXdrOF99.js +1 -0
  568. package/gui/v3/out/assets/monaco-editor-C4cuflwX.js +722 -0
  569. package/gui/v3/out/assets/monaco-editor-D6kYW_CN.css +1 -0
  570. package/gui/v3/out/assets/mouseTarget-B_KnTiWf.js +9 -0
  571. package/gui/v3/out/assets/objectWithoutPropertiesLoose-Ls7qkcH1.js +1 -0
  572. package/gui/v3/out/assets/pug-DukmZTjD.js +1 -0
  573. package/gui/v3/out/assets/python-BuPzkPfP.js +1 -0
  574. package/gui/v3/out/assets/rpm-CTu-6PCP.js +1 -0
  575. package/gui/v3/out/assets/sql-D0XecflT.js +1 -0
  576. package/gui/v3/out/assets/standalone-BS_cqyLa.js +39 -0
  577. package/gui/v3/out/assets/table-D17Bwjdk.js +6 -0
  578. package/gui/v3/out/assets/toolkit-DToHxdMP.js +1 -0
  579. package/gui/v3/out/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  580. package/gui/v3/out/assets/users-DI3wqkEI.js +1 -0
  581. package/gui/v3/out/favicon.png +0 -0
  582. package/gui/v3/out/index.html +41 -0
  583. package/gui/v3/out/logo192.png +0 -0
  584. package/gui/v3/out/logo512.png +0 -0
  585. package/gui/v3/out/manifest.json +25 -0
  586. package/gui/v3/out/monacoeditorwork/editor.worker.bundle.js +13519 -0
  587. package/gui/v3/out/monacoeditorwork/graphql.worker..bundle.js +32105 -0
  588. package/gui/v3/out/monacoeditorwork/json.worker.bundle.js +21320 -0
  589. package/gui/v3/out/robots.txt +3 -0
  590. package/gui/v3/package-lock.json +7193 -0
  591. package/gui/v3/package.json +69 -0
  592. package/gui/v3/public/assets/icons/home-bg-job.png +0 -0
  593. package/gui/v3/public/assets/icons/home-constants.png +0 -0
  594. package/gui/v3/public/assets/icons/home-database.png +0 -0
  595. package/gui/v3/public/assets/icons/home-graphql.png +0 -0
  596. package/gui/v3/public/assets/icons/home-info-fill-light.png +0 -0
  597. package/gui/v3/public/assets/icons/home-info-light.png +0 -0
  598. package/gui/v3/public/assets/icons/home-liquid.png +0 -0
  599. package/gui/v3/public/assets/icons/home-logs.png +0 -0
  600. package/gui/v3/public/assets/icons/home-pin-fill-light.png +0 -0
  601. package/gui/v3/public/assets/icons/home-pin-light.png +0 -0
  602. package/gui/v3/public/assets/icons/home-support.png +0 -0
  603. package/gui/v3/public/assets/icons/home-users.png +0 -0
  604. package/gui/v3/public/assets/icons/menu-bg-job-dark.png +0 -0
  605. package/gui/v3/public/assets/icons/menu-bg-job-light.png +0 -0
  606. package/gui/v3/public/assets/icons/menu-console-dark.png +0 -0
  607. package/gui/v3/public/assets/icons/menu-console-light.png +0 -0
  608. package/gui/v3/public/assets/icons/menu-constants-dark.png +0 -0
  609. package/gui/v3/public/assets/icons/menu-constants-light.png +0 -0
  610. package/gui/v3/public/assets/icons/menu-database-dark.png +0 -0
  611. package/gui/v3/public/assets/icons/menu-database-light.png +0 -0
  612. package/gui/v3/public/assets/icons/menu-docs-dark.png +0 -0
  613. package/gui/v3/public/assets/icons/menu-docs-light.png +0 -0
  614. package/gui/v3/public/assets/icons/menu-graphql-dark.png +0 -0
  615. package/gui/v3/public/assets/icons/menu-graphql-light.png +0 -0
  616. package/gui/v3/public/assets/icons/menu-iia-dark.png +0 -0
  617. package/gui/v3/public/assets/icons/menu-iia-light.png +0 -0
  618. package/gui/v3/public/assets/icons/menu-liquid-dark.png +0 -0
  619. package/gui/v3/public/assets/icons/menu-liquid-light.png +0 -0
  620. package/gui/v3/public/assets/icons/menu-logs-dark.png +0 -0
  621. package/gui/v3/public/assets/icons/menu-logs-light.png +0 -0
  622. package/gui/v3/public/assets/icons/menu-support-dark.png +0 -0
  623. package/gui/v3/public/assets/icons/menu-support-light.png +0 -0
  624. package/gui/v3/public/assets/icons/menu-theme-dark.png +0 -0
  625. package/gui/v3/public/assets/icons/menu-theme-light.png +0 -0
  626. package/gui/v3/public/assets/icons/menu-users-dark.png +0 -0
  627. package/gui/v3/public/assets/icons/menu-users-light.png +0 -0
  628. package/gui/v3/public/assets/icons/search-icon-dark.svg +3 -0
  629. package/gui/v3/public/assets/ins-logo-dark.svg +35 -0
  630. package/gui/v3/public/assets/ins-logo-light.svg +35 -0
  631. package/gui/v3/public/favicon.png +0 -0
  632. package/gui/v3/public/logo192.png +0 -0
  633. package/gui/v3/public/logo512.png +0 -0
  634. package/gui/v3/public/manifest.json +25 -0
  635. package/gui/v3/public/robots.txt +3 -0
  636. package/gui/v3/src/components/CodeEditor.tsx +100 -0
  637. package/gui/v3/src/components/commons/DatePicker.tsx +93 -0
  638. package/gui/v3/src/components/commons/DateRangeFilter.tsx +76 -0
  639. package/gui/v3/src/components/commons/InputBox.tsx +88 -0
  640. package/gui/v3/src/components/data/DataPagination.tsx +116 -0
  641. package/gui/v3/src/components/data/DataTable.tsx +84 -0
  642. package/gui/v3/src/components/layout/Header.tsx +42 -0
  643. package/gui/v3/src/components/layout/Layout.tsx +15 -0
  644. package/gui/v3/src/components/ui/alert.tsx +66 -0
  645. package/gui/v3/src/components/ui/badge.tsx +48 -0
  646. package/gui/v3/src/components/ui/button.tsx +59 -0
  647. package/gui/v3/src/components/ui/calendar.tsx +211 -0
  648. package/gui/v3/src/components/ui/card.tsx +92 -0
  649. package/gui/v3/src/components/ui/dropdown-menu.tsx +255 -0
  650. package/gui/v3/src/components/ui/hover-card.tsx +42 -0
  651. package/gui/v3/src/components/ui/input.tsx +21 -0
  652. package/gui/v3/src/components/ui/navigation-menu.tsx +168 -0
  653. package/gui/v3/src/components/ui/pagination.tsx +127 -0
  654. package/gui/v3/src/components/ui/popover.tsx +46 -0
  655. package/gui/v3/src/components/ui/resizable.tsx +54 -0
  656. package/gui/v3/src/components/ui/select.tsx +183 -0
  657. package/gui/v3/src/components/ui/separator.tsx +28 -0
  658. package/gui/v3/src/components/ui/sheet.tsx +137 -0
  659. package/gui/v3/src/components/ui/sidebar.tsx +724 -0
  660. package/gui/v3/src/components/ui/skeleton.tsx +13 -0
  661. package/gui/v3/src/components/ui/switch.tsx +29 -0
  662. package/gui/v3/src/components/ui/table.tsx +114 -0
  663. package/gui/v3/src/components/ui/tooltip.tsx +61 -0
  664. package/gui/v3/src/features/config/context.ts +21 -0
  665. package/gui/v3/src/features/config/hooks.ts +11 -0
  666. package/gui/v3/src/features/config/provider.tsx +33 -0
  667. package/gui/v3/src/features/config/services.ts +14 -0
  668. package/gui/v3/src/features/config/type.ts +7 -0
  669. package/gui/v3/src/features/database/components/DatabaseLayout.tsx +44 -0
  670. package/gui/v3/src/features/database/components/DatabaseLoader.tsx +3 -0
  671. package/gui/v3/src/features/database/components/DatabaseNotFound.tsx +6 -0
  672. package/gui/v3/src/features/database/components/DatabaseSidebar.tsx +60 -0
  673. package/gui/v3/src/features/database/components/LoadingIndicator.tsx +3 -0
  674. package/gui/v3/src/features/database/components/RecordsFilter.tsx +89 -0
  675. package/gui/v3/src/features/database/components/RecordsTable.tsx +64 -0
  676. package/gui/v3/src/features/database/components/RecordsViewer.tsx +39 -0
  677. package/gui/v3/src/features/database/graphql/queries.ts +64 -0
  678. package/gui/v3/src/features/database/hooks/useDatabaseColumns.ts +34 -0
  679. package/gui/v3/src/features/database/hooks/useRecords.ts +21 -0
  680. package/gui/v3/src/features/database/hooks/useSelectedTable.ts +14 -0
  681. package/gui/v3/src/features/database/hooks/useTables.ts +18 -0
  682. package/gui/v3/src/features/database/reducers/useRecordsVariable.ts +66 -0
  683. package/gui/v3/src/features/database/schema/records.ts +82 -0
  684. package/gui/v3/src/features/database/schema/tables.ts +51 -0
  685. package/gui/v3/src/features/graphiql/components/GraphiQL.tsx +21 -0
  686. package/gui/v3/src/features/graphiql/style.css +120 -0
  687. package/gui/v3/src/features/liquid/components/LiquidEditor.tsx +95 -0
  688. package/gui/v3/src/features/liquid/service.ts +13 -0
  689. package/gui/v3/src/features/logs/components/LogMessage.tsx +83 -0
  690. package/gui/v3/src/features/logs/components/LogsTable.tsx +121 -0
  691. package/gui/v3/src/features/logs/components/LogsViewer.tsx +30 -0
  692. package/gui/v3/src/features/logs/hooks/useLogs.tsx +59 -0
  693. package/gui/v3/src/features/logs/types/schema.ts +8 -0
  694. package/gui/v3/src/features/menu/components/GuiMenu.tsx +32 -0
  695. package/gui/v3/src/features/menu/components/InsitesMenu.tsx +56 -0
  696. package/gui/v3/src/features/menu/components/TileMenu.tsx +88 -0
  697. package/gui/v3/src/features/menu/constants.ts +99 -0
  698. package/gui/v3/src/features/menu/hooks.ts +11 -0
  699. package/gui/v3/src/features/menu/store.ts +26 -0
  700. package/gui/v3/src/features/menu/types.ts +16 -0
  701. package/gui/v3/src/features/theme/context.tsx +16 -0
  702. package/gui/v3/src/features/theme/hook.tsx +11 -0
  703. package/gui/v3/src/features/theme/provider.tsx +35 -0
  704. package/gui/v3/src/features/theme/store.ts +17 -0
  705. package/gui/v3/src/features/theme/types.ts +1 -0
  706. package/gui/v3/src/features/users/components/Users.tsx +77 -0
  707. package/gui/v3/src/features/users/types.ts +31 -0
  708. package/gui/v3/src/features/users/usernames.ts +45 -0
  709. package/gui/v3/src/hooks/use-mobile.ts +19 -0
  710. package/gui/v3/src/lib/api/constants.ts +1 -0
  711. package/gui/v3/src/lib/api/errors.ts +22 -0
  712. package/gui/v3/src/lib/api/request.ts +57 -0
  713. package/gui/v3/src/lib/api/types.ts +16 -0
  714. package/gui/v3/src/lib/graphql/hooks.ts +27 -0
  715. package/gui/v3/src/lib/graphql/request.ts +31 -0
  716. package/gui/v3/src/lib/graphql/schema/filters.ts +108 -0
  717. package/gui/v3/src/lib/graphql/schema/sorts.ts +10 -0
  718. package/gui/v3/src/lib/graphql/types.ts +29 -0
  719. package/gui/v3/src/lib/providers/entries.ts +21 -0
  720. package/gui/v3/src/lib/providers/index.tsx +10 -0
  721. package/gui/v3/src/lib/providers/queryClient.tsx +16 -0
  722. package/gui/v3/src/lib/providers/types.ts +9 -0
  723. package/gui/v3/src/lib/utils.ts +30 -0
  724. package/gui/v3/src/logo.svg +44 -0
  725. package/gui/v3/src/main.tsx +42 -0
  726. package/gui/v3/src/pages/ConstantPage.tsx +3 -0
  727. package/gui/v3/src/pages/DatabasePage.tsx +31 -0
  728. package/gui/v3/src/pages/GraphqlPage.tsx +9 -0
  729. package/gui/v3/src/pages/HomePage.tsx +36 -0
  730. package/gui/v3/src/pages/LiquidPage.tsx +5 -0
  731. package/gui/v3/src/pages/LogsPage.tsx +10 -0
  732. package/gui/v3/src/pages/Userspage.tsx +5 -0
  733. package/gui/v3/src/reportWebVitals.ts +13 -0
  734. package/gui/v3/src/routeTree.gen.ts +189 -0
  735. package/gui/v3/src/routes/__root.tsx +6 -0
  736. package/gui/v3/src/routes/constants.tsx +7 -0
  737. package/gui/v3/src/routes/database.tsx +6 -0
  738. package/gui/v3/src/routes/graphql.tsx +6 -0
  739. package/gui/v3/src/routes/index.tsx +6 -0
  740. package/gui/v3/src/routes/liquid.tsx +6 -0
  741. package/gui/v3/src/routes/logs.tsx +6 -0
  742. package/gui/v3/src/routes/users.tsx +6 -0
  743. package/gui/v3/src/styles.css +247 -0
  744. package/gui/v3/tsconfig.json +28 -0
  745. package/gui/v3/vite.config.ts +43 -0
  746. package/lib/ServerError.js +122 -0
  747. package/lib/apiRequest.js +15 -0
  748. package/lib/archive.js +126 -0
  749. package/lib/assets/insites-icon.png +0 -0
  750. package/lib/assets/manifest.js +34 -0
  751. package/lib/assets/packAssets.js +53 -0
  752. package/lib/assets.js +56 -0
  753. package/lib/audit/detailed.js +97 -0
  754. package/lib/audit/duplicateFile.js +31 -0
  755. package/lib/audit/extensions.js +53 -0
  756. package/lib/audit/fileName.js +20 -0
  757. package/lib/audit/filters.js +99 -0
  758. package/lib/audit/orphanedIncludes.js +85 -0
  759. package/lib/audit/tags.js +69 -0
  760. package/lib/audit.js +47 -0
  761. package/lib/data/fetchFiles.js +93 -0
  762. package/lib/data/isValidJSON.js +12 -0
  763. package/lib/data/uploadFiles.js +92 -0
  764. package/lib/data/waitForStatus.js +31 -0
  765. package/lib/deploy/directAssetsUploadStrategy.js +57 -0
  766. package/lib/deploy/strategy.js +8 -0
  767. package/lib/directories.js +23 -0
  768. package/lib/downloadFile.js +16 -0
  769. package/lib/duration.js +7 -0
  770. package/lib/files.js +96 -0
  771. package/lib/insites-apig.js +18 -0
  772. package/lib/insites-console.js +24 -0
  773. package/lib/logger/rainbow.js +11 -0
  774. package/lib/logger/simple.js +9 -0
  775. package/lib/logger.js +63 -0
  776. package/lib/logsv2/http.js +40 -0
  777. package/lib/modules.js +129 -0
  778. package/lib/portal.js +52 -0
  779. package/lib/pos-proxy.js +162 -0
  780. package/lib/prepareArchive.js +49 -0
  781. package/lib/presignUrl.js +71 -0
  782. package/lib/proxy.js +75 -0
  783. package/lib/push.js +62 -0
  784. package/lib/s3UploadFile.js +56 -0
  785. package/lib/server.js +123 -0
  786. package/lib/settings.js +42 -0
  787. package/lib/shouldBeSynced.js +89 -0
  788. package/lib/swagger-client.js +287 -0
  789. package/lib/templates.js +52 -0
  790. package/lib/updateNotifier.js +8 -0
  791. package/lib/utils/valid-file-path.js +21 -0
  792. package/lib/validators/directoryEmpty.js +12 -0
  793. package/lib/validators/directoryExists.js +12 -0
  794. package/lib/validators/email.js +8 -0
  795. package/lib/validators/existence.js +9 -0
  796. package/lib/validators/index.js +13 -0
  797. package/lib/validators/url.js +8 -0
  798. package/lib/watch-files-extensions.js +39 -0
  799. package/lib/watch.js +192 -0
  800. package/mock/app.js +45 -0
  801. package/mock/bin/www +91 -0
  802. package/mock/package-lock.json +2287 -0
  803. package/mock/package.json +18 -0
  804. package/mock/public/stylesheets/style.css +8 -0
  805. package/mock/responses/constants.js +39 -0
  806. package/mock/responses/databases.js +3589 -0
  807. package/mock/responses/logs.js +126 -0
  808. package/mock/responses/records.js +443 -0
  809. package/mock/responses/schemas.js +36896 -0
  810. package/mock/responses/users.js +194 -0
  811. package/mock/routes/api.js +53 -0
  812. package/mock/routes/index.js +13 -0
  813. package/mock/routes/users.js +9 -0
  814. package/mock/views/error.jade +6 -0
  815. package/mock/views/index.jade +5 -0
  816. package/mock/views/layout.jade +7 -0
  817. package/package.json +77 -0
  818. package/tests/archive.test.js +33 -0
  819. package/tests/deploy.test.js +26 -0
  820. package/tests/fixtures/archive/default/app/assets/images/insites-logo.svg +55 -0
  821. package/tests/fixtures/archive/default/app/views/pages/hello.liquid +4 -0
  822. package/tests/fixtures/archive/default/modules/testModule/public/views/pages/hello-test-module.liquid +4 -0
  823. package/tests/fixtures/archive/default/modules/testModule/public/views/partials/dir/subdir/foo.liquid +1 -0
  824. package/tests/fixtures/deploy/default/app/assets/images/insites-logo.svg +55 -0
  825. package/tests/fixtures/deploy/default/app/views/pages/index.liquid +6 -0
  826. package/tests/fixtures/deploy/default/app/views/partials/test.liquid +1 -0
  827. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/README.md +22 -0
  828. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/api_calls/.keep +0 -0
  829. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/assets/.keep +0 -0
  830. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/emails/.keep +0 -0
  831. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/graphql/.keep +0 -0
  832. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/model_schemas/.keep +0 -0
  833. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/smses/.keep +0 -0
  834. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/translations/.keep +0 -0
  835. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/views/layouts/.keep +0 -0
  836. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/views/pages/.keep +0 -0
  837. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/private/views/partials/.keep +0 -0
  838. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/api_calls/.keep +0 -0
  839. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/assets/.keep +0 -0
  840. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/emails/.keep +0 -0
  841. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/graphql/.keep +0 -0
  842. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/model_schemas/.keep +0 -0
  843. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/smses/.keep +0 -0
  844. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/translations/.keep +0 -0
  845. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/layouts/.keep +0 -0
  846. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/pages/.keep +0 -0
  847. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/pages/demo.json.liquid +4 -0
  848. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/partials/.keep +0 -0
  849. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/partials/components/.keep +0 -0
  850. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/partials/components/test.html.liquid +1 -0
  851. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/public/views/partials/components/test.liquid +1 -0
  852. package/tests/fixtures/deploy/default/modules/insites-cli-demo-module/template-values.json +7 -0
  853. package/tests/utils/cliPath.js +4 -0
  854. package/tests/utils/exec.js +12 -0
@@ -0,0 +1,43 @@
1
+ import { defineConfig } from "vite";
2
+ import viteReact from "@vitejs/plugin-react";
3
+ import tailwindcss from "@tailwindcss/vite";
4
+
5
+ import { tanstackRouter } from "@tanstack/router-plugin/vite";
6
+ import { resolve } from "node:path";
7
+
8
+ import $monacoEditorPlugin from "vite-plugin-monaco-editor";
9
+ const monacoEditorPlugin = ($monacoEditorPlugin as any).default ?? $monacoEditorPlugin;
10
+
11
+ const testConfig = {
12
+ test: {
13
+ globals: true,
14
+ environment: "jsdom",
15
+ },
16
+ };
17
+
18
+ // https://vitejs.dev/config/
19
+ export default defineConfig({
20
+ build: {
21
+ outDir: "out",
22
+ },
23
+ plugins: [
24
+ tanstackRouter({ autoCodeSplitting: true }),
25
+ viteReact(),
26
+ tailwindcss(),
27
+ monacoEditorPlugin({
28
+ languageWorkers: ["editorWorkerService", "json"],
29
+ customWorkers: [
30
+ {
31
+ label: "graphql",
32
+ entry: "monaco-graphql/esm/graphql.worker.js",
33
+ },
34
+ ],
35
+ }),
36
+ ],
37
+ ...testConfig,
38
+ resolve: {
39
+ alias: {
40
+ "@": resolve(__dirname, "./src"),
41
+ },
42
+ },
43
+ });
@@ -0,0 +1,122 @@
1
+ const logger = require("./logger");
2
+
3
+ const shouldExit = (request) => {
4
+ const endsWith = (str) => request.options.uri.endsWith(str);
5
+
6
+ if (endsWith("releases/sync") || endsWith("/api/graph")) {
7
+ return false;
8
+ }
9
+ };
10
+
11
+ const ServerError = {
12
+ gatewayTimeout: (request) => {
13
+ logger.Debug(
14
+ `Gateway timeout error: ${JSON.stringify(request, null, 2)}`
15
+ );
16
+ logger.Error("Gateway timed out.", {
17
+ hideTimestamp: true,
18
+ exit: shouldExit(request),
19
+ });
20
+ },
21
+
22
+ badGateway: (request) => {
23
+ logger.Debug(`Bad gateway error: ${JSON.stringify(request, null, 2)}`);
24
+ logger.Error("Bad gateway.", {
25
+ hideTimestamp: true,
26
+ exit: shouldExit(request),
27
+ });
28
+ },
29
+
30
+ internal: (request) => {
31
+ logger.Debug(
32
+ `Internal server error: ${JSON.stringify(request, null, 2)}`
33
+ );
34
+ logger.Error(
35
+ "Something went wrong on the server.",
36
+ {
37
+ hideTimestamp: true,
38
+ exit: shouldExit(request),
39
+ }
40
+ );
41
+ },
42
+
43
+ entityTooLarge: (request) => {
44
+ logger.Debug(
45
+ `Entity too large: ${JSON.stringify(request.response, null, 2)}`
46
+ );
47
+ logger.Error(
48
+ "Archive you are trying to send is too large. Limit is 50MB.",
49
+ { hideTimestamp: true }
50
+ );
51
+ },
52
+
53
+ unprocessableEntity: (request) => {
54
+ logger.Debug(
55
+ `Unprocessable entity: ${JSON.stringify(request, null, 2)}`
56
+ );
57
+ const body = request.response.body;
58
+ const error = body.error || (body.errors && body.errors.join(", "));
59
+ if (error) {
60
+ const message = `${error}\n${
61
+ (body.details && body.details.file_path) || ""
62
+ }`;
63
+ logger.Error(message, {
64
+ hideTimestamp: true,
65
+ exit: shouldExit(request),
66
+ });
67
+ }
68
+ },
69
+
70
+ notFound: (request) => {
71
+ logger.Debug(`Not found: ${JSON.stringify(request, null, 2)}`);
72
+ const body = request.response.body;
73
+ logger.Error(
74
+ `${body.error}\n${(body.details && body.details.file_path) || ""}`,
75
+ {
76
+ hideTimestamp: true,
77
+ exit: shouldExit(request),
78
+ }
79
+ );
80
+ },
81
+
82
+ unauthorized: (request) => {
83
+ logger.Debug(`Unauthorized: ${JSON.stringify(request, null, 2)}`);
84
+ logger.Error(
85
+ "You are unauthorized to do this operation. Check if your Token/Instance UUID or email/password are correct.",
86
+ {
87
+ hideTimestamp: true,
88
+ exit: shouldExit(request),
89
+ }
90
+ );
91
+ },
92
+
93
+ addressNotFound: (request) => {
94
+ logger.Debug(
95
+ `Host name not found: ${JSON.stringify(request, null, 2)}`
96
+ );
97
+ logger.Error(`Could not resolve hostname: ${request.cause.hostname}`, {
98
+ hideTimestamp: true,
99
+ });
100
+ },
101
+
102
+ netDown: (request) => {
103
+ logger.Debug(`Net down: ${JSON.stringify(request, null, 2)}`);
104
+ logger.Error("Network is down", {
105
+ hideTimestamp: true,
106
+ exit: shouldExit(request),
107
+ });
108
+ },
109
+
110
+ default: (request) => {
111
+ logger.Debug(
112
+ `Default error: ${JSON.stringify(request.response, null, 2)}`
113
+ );
114
+ const err = JSON.stringify(request.response, null, 2).replace(
115
+ /Token [a-f0-9]{40}/,
116
+ "Token: <censored>"
117
+ );
118
+ logger.Error(err, { hideTimestamp: true });
119
+ },
120
+ };
121
+
122
+ module.exports = ServerError;
@@ -0,0 +1,15 @@
1
+ const requestPromise = require('request-promise');
2
+ // const errors = require('request-promise/errors');
3
+
4
+ const logger = require('./logger');
5
+ // const ServerError = require('./ServerError');
6
+
7
+ const apiRequest = ({ method = 'GET', uri, body, headers, formData, json = true, forever, request = requestPromise }) => {
8
+ logger.Debug(`[${method}] ${uri}`);
9
+ return request({method, uri, body, headers, formData, json, forever})
10
+ // when we catch the error here we are not able to react to them later
11
+ // .catch(errors.StatusCodeError, ServerError.handler)
12
+ // .catch(errors.RequestError, ServerError.requestHandler)
13
+ }
14
+
15
+ module.exports = apiRequest;
package/lib/archive.js ADDED
@@ -0,0 +1,126 @@
1
+ const fs = require('fs');
2
+ const shell = require('shelljs');
3
+ const glob = require('fast-glob');
4
+ const unzipper = require('unzipper');
5
+
6
+ const templates = require('../lib/templates');
7
+ const logger = require('../lib/logger');
8
+ const settings = require('../lib/settings');
9
+ const dir = require('../lib/directories');
10
+ const prepareArchive = require('../lib/prepareArchive');
11
+
12
+ const isEmpty = (dir) => shell.ls(dir).length == 0;
13
+
14
+ const addModulesToArchive = async (archive, withoutAssets) => {
15
+ if (!fs.existsSync(dir.MODULES)) {
16
+ return Promise.resolve(true);
17
+ }
18
+ const modules = await glob('*', { cwd: dir.MODULES, onlyFiles: false });
19
+ return Promise.all(modules.map((module) => addModuleToArchive(module, archive, withoutAssets)));
20
+ };
21
+
22
+ const addModuleToArchive = (module, archive, withoutAssets, pattern = '**/{private,public}/**') => {
23
+ return new Promise((resolve, reject) => {
24
+ glob(pattern, {
25
+ cwd: `${dir.MODULES}/${module}`,
26
+ filesOnly: true,
27
+ })
28
+ .then((files) => {
29
+ const moduleTemplateData = settings.loadSettingsFileForModule(module);
30
+
31
+ return Promise.all(
32
+ files
33
+ .filter((file) => {
34
+ return !withoutAssets || !(file.startsWith('public/assets/') || file.startsWith('private/assets'));
35
+ })
36
+ .map((f) => {
37
+ const path = `${dir.MODULES}/${module}/${f}`;
38
+ return new Promise((resolve, reject) => {
39
+ fs.lstat(path, (err, stat) => {
40
+ if (!stat.isDirectory()) {
41
+ const filledTemplate = templates.fillInTemplateValues(path, moduleTemplateData);
42
+ archive.append(filledTemplate, { name: path });
43
+ }
44
+ resolve();
45
+ });
46
+ });
47
+ })
48
+ ).then(() => resolve());
49
+ })
50
+ .catch((e) => {
51
+ logger.Error(e);
52
+ });
53
+ });
54
+ };
55
+
56
+ const findAppDirectory = () => {
57
+ let appDirectory = dir.APP;
58
+ if (dir.toWatch().length === 0) {
59
+ return logger.Error(
60
+ `Could not find any directory to deploy. Looked for ${dir.APP}, and ${dir.MODULES}`,
61
+ { exit: false }
62
+ );
63
+ }
64
+
65
+ if (!fs.existsSync(dir.APP) && fs.existsSync(dir.LEGACY_APP)) {
66
+ logger.Debug(`${dir.APP} not found, but ${dir.LEGACY_APP} is present. Setting ${dir.LEGACY_APP} as app dir.`);
67
+ logger.Warn(`Falling back to legacy app directory name. Please consider renaming ${dir.LEGACY_APP} to ${dir.APP}`);
68
+ appDirectory = dir.LEGACY_APP;
69
+ }
70
+ return appDirectory;
71
+ };
72
+
73
+ const makeArchive = async (env, { withoutAssets }) => {
74
+ const path = env.TARGET || './tmp/release.zip';
75
+ const directory = findAppDirectory();
76
+ if (!directory) return false;
77
+ if (dir.available().length === 0) {
78
+ return logger.Error(`At least one of ${dir.ALLOWED.join(', ')} directories is needed to deploy`, {
79
+ hideTimestamp: true,
80
+ exit: false,
81
+ });
82
+ }
83
+
84
+ if (isEmpty(dir.currentApp()) && !withoutAssets) {
85
+ return logger.Error(
86
+ `${dir.currentApp()} can't be empty if the deploy is not partial - it would remove all the files from the instance`,
87
+ { hideTimestamp: true, exit: false }
88
+ );
89
+ }
90
+ const options = {
91
+ cwd: directory,
92
+ ignore: withoutAssets ? ['assets/**'] : [],
93
+ };
94
+
95
+ return new Promise(async (resolve, reject) => {
96
+ const releaseArchive = prepareArchive(path, resolve, !withoutAssets);
97
+ // Think and decide
98
+ // Whitelist extensions that need to be included in deploy?
99
+ // Blacklist extensions that are most likely to be problematic (ie. break deploy, like .zip)
100
+ releaseArchive.glob('**/!(*.zip)*', options, { prefix: directory });
101
+ await addModulesToArchive(releaseArchive, withoutAssets);
102
+ await releaseArchive.finalize();
103
+ });
104
+ };
105
+
106
+ async function unArchive(packagePath, successMessage = 'Extraction complete!') {
107
+ const extractPath = process.cwd();
108
+ fs.createReadStream(packagePath)
109
+ .pipe(unzipper.Extract({ path: extractPath }))
110
+ .on('finish', () => {
111
+ fs.unlink(packagePath, (err) => {
112
+ if (err) {
113
+ console.error('Error deleting zip file:', err);
114
+ }
115
+ console.log(successMessage);
116
+ });
117
+ })
118
+ .on('error', (err) => {
119
+ console.error('Error extracting zip file:', err);
120
+ });
121
+ }
122
+
123
+ module.exports = {
124
+ makeArchive: makeArchive,
125
+ unArchive,
126
+ };
Binary file
@@ -0,0 +1,34 @@
1
+ const fs = require('fs'),
2
+ normalize = require('normalize-path'),
3
+ dir = require('../directories'),
4
+ files = require('../files');
5
+
6
+ const appDirectory = fs.existsSync(dir.APP) ? dir.APP : dir.LEGACY_APP;
7
+
8
+ const serializerManifestEntry = file => {
9
+ const fileProperties = fs.statSync(file);
10
+ const fileUpdatedAt = Math.floor(new Date(fileProperties['mtime']) / 1000);
11
+ const fileSize = fileProperties['size'];
12
+ return { physical_file_path: file.replace(new RegExp(`^${appDirectory}/`), ''), updated_at: fileUpdatedAt, file_size: fileSize };
13
+ };
14
+
15
+ const manifestGenerate = async () => {
16
+ const assets = await files.getAssets();
17
+ return manifestGenerateForAssets(assets);
18
+ };
19
+
20
+ const manifestGenerateForAssets = (assets) => {
21
+ let manifest = {};
22
+ for (const file of assets) {
23
+ const normalizedFile = normalize(file);
24
+ const path = normalizedFile.replace(new RegExp(`(public|private)/assets/|(${appDirectory})/assets/`), '');
25
+ manifest[path] = serializerManifestEntry(normalizedFile);
26
+ }
27
+
28
+ return manifest;
29
+ }
30
+
31
+ module.exports = {
32
+ manifestGenerate: manifestGenerate,
33
+ manifestGenerateForAssets: manifestGenerateForAssets
34
+ };
@@ -0,0 +1,53 @@
1
+ const archiver = require('archiver-promise'),
2
+ fs = require('fs'),
3
+ glob = require('fast-glob'),
4
+ shell = require('shelljs'),
5
+ templates = require('../templates'),
6
+ settings = require('../settings'),
7
+ dir = require('../directories');
8
+
9
+ const appDirectory = fs.existsSync(dir.APP) ? dir.APP : dir.LEGACY_APP;
10
+
11
+ const addModulesToArchive = async archive => {
12
+ if (!fs.existsSync(dir.MODULES)) return true;
13
+
14
+ let modules = await glob('./*', { cwd: dir.MODULES, onlyDirectories: true });
15
+ for (const module of modules) {
16
+ await addModuleToArchive(module, archive);
17
+ }
18
+ };
19
+
20
+ const publicAssetsSameAsPrivate = (file, files) => {
21
+ return file.startsWith('public/assets') && files.includes(file.replace(/public/, 'private'));
22
+ };
23
+
24
+ const addModuleToArchive = async (module, archive, pattern = '{public,private}/assets/**') => {
25
+ let files = await glob(pattern, { cwd: `${dir.MODULES}/${module}` });
26
+ for (const f of files) {
27
+ if (publicAssetsSameAsPrivate(f, files)) {
28
+ continue;
29
+ }
30
+
31
+ const path = `${dir.MODULES}/${module}/${f}`;
32
+ const pathInArchive = path.replace(/(public|private)\/assets\//, '');
33
+ const filledTemplate = templates.fillInTemplateValues(path, settings.loadSettingsFileForModule(module));
34
+ archive.append(filledTemplate, {
35
+ name: pathInArchive
36
+ });
37
+ }
38
+ };
39
+
40
+ const prepareDestination = path => {
41
+ shell.mkdir('-p', 'tmp');
42
+ if (path && path.length > 0) shell.rm('-rf', path);
43
+ };
44
+
45
+ const packAssets = async path => {
46
+ prepareDestination(path);
47
+ const assetsArchive = archiver(path, { zlib: { level: 6 }, store: true });
48
+ assetsArchive.glob('**/*', { cwd: `${appDirectory}/assets` });
49
+ await addModulesToArchive(assetsArchive);
50
+ return assetsArchive.finalize();
51
+ };
52
+
53
+ module.exports = packAssets;
package/lib/assets.js ADDED
@@ -0,0 +1,56 @@
1
+ const request = require('request-promise');
2
+ const packAssets = require('./assets/packAssets'),
3
+ manifestGenerate = require('./assets/manifest').manifestGenerate,
4
+ logger = require('./logger'),
5
+ uploadFile = require('./s3UploadFile').uploadFile,
6
+ presignUrl = require('./presignUrl').presignUrl;
7
+
8
+ const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
9
+
10
+ const waitForUnpack = async fileUrl => {
11
+ logger.Debug('Waiting for assets to be propagated to CDN');
12
+
13
+ let fileExists = false;
14
+ let counter = 0;
15
+ do {
16
+ logger.Debug(`Waiting for: ${fileUrl} to be deleted.`);
17
+ counter += 1;
18
+ if (fileExists) await sleep(1000);
19
+ fileExists = await request
20
+ .head(fileUrl)
21
+ .then(() => true)
22
+ .catch({ statusCode: 403 }, () => false)
23
+ .catch(error => logger.Error(error));
24
+ } while (fileExists && counter < 90);
25
+ };
26
+
27
+ const deployAssets = async (gateway, authData) => {
28
+ logger.Debug('Generating and uploading new assets manifest...');
29
+ const assetsArchiveName = './tmp/assets.zip';
30
+ const instance = await gateway.getInstance();
31
+ const now = Math.floor(new Date() / 1000);
32
+ const remoteAssetsArchiveName = `instances/${instance.id}/assets/${now}.assets_deploy.zip`;
33
+ logger.Debug(remoteAssetsArchiveName);
34
+ try {
35
+ await packAssets(assetsArchiveName);
36
+ const data = await presignUrl(remoteAssetsArchiveName, assetsArchiveName, authData.url, authData.key);
37
+ logger.Debug(data);
38
+ logger.Debug(assetsArchiveName)
39
+ await uploadFile(assetsArchiveName, data.uploadUrl);
40
+ logger.Debug('Assets uploaded to S3.');
41
+ await waitForUnpack(data.accessUrl);
42
+ const manifest = await manifestGenerate();
43
+ logger.Debug(manifest);
44
+ await gateway.sendManifest(manifest);
45
+ logger.Debug('Uploading assets');
46
+ } catch (e) {
47
+ logger.Error(e);
48
+ logger.Error(e.message);
49
+ logger.Error(e.stack);
50
+ logger.Error('Deploy assets failed.');
51
+ }
52
+ };
53
+
54
+ module.exports = {
55
+ deployAssets: deployAssets
56
+ };
@@ -0,0 +1,97 @@
1
+ const fs = require('fs');
2
+ const glob = require('fast-glob');
3
+
4
+ /*
5
+ glob [string - glob]
6
+ Try to be as specific as possible to make it fast.
7
+ Omit `app` and `modules` in your definition
8
+
9
+ test [string - regexp]
10
+ What test will look for in the file contents. Make sure you escape as this is JS string (ie. doube backslash \)
11
+
12
+ message [string]
13
+ Message to be displayed if offence is found
14
+ */
15
+ const detailed = [
16
+ {
17
+ name: 'profiler',
18
+ glob: 'views/pages/**/*.liquid',
19
+ test: '^enable_profiler: true$',
20
+ message: `[PERFORMANCE] Please remove "enable_profiler: true" setting for performance reasons.`
21
+ },
22
+ {
23
+ name: 'unnecessary_brackets',
24
+ glob: '*.liquid',
25
+ test: '\\.name\\s*-?}}\\[\\]',
26
+ message: `[DEPRECATED] Please remove hardcoded array indicators ([]) from your input names.
27
+ \nExample: <input name="{{ fields.company.name }}[]"> becomes <input name="{{ fields.company.name }}">`
28
+ },
29
+ {
30
+ name: 'resource_id',
31
+ glob: 'views/**/*.liquid',
32
+ test: '{%-?\\s*include_form.*resource_id:',
33
+ message: '[DEPRECATED ARGUMENT] "resource_id" of include_form tag, please replace with "id"'
34
+ },
35
+ {
36
+ name: 'configuration',
37
+ glob: '{form_configurations,forms}/**/*.liquid',
38
+ test: '^configuration:',
39
+ message: '[DEPRECATED KEY] "configuration", please replace with "fields"'
40
+ },
41
+ {
42
+ name: 'attribute_type',
43
+ glob: '{transactable_types,instance_profile_types,user_profile_types,custom_model_types,model_schemas}/**/*.yml',
44
+ test: '\\s*attribute_type:',
45
+ message: '[DEPRECATED KEY] "attribute_type", please replace with "type"'
46
+ },
47
+ {
48
+ name: 'custom_attributes',
49
+ glob: '{transactable_types,instance_profile_types,user_profile_types,custom_model_types,model_schemas}/**/*.yml',
50
+ test: '^custom_attributes:',
51
+ message: '[DEPRECATED KEY] "custom_attributes", please replace with "properties"'
52
+ },
53
+ {
54
+ name: 'camel_case',
55
+ glob: '{transactable_types,instance_profile_types,user_profile_types,custom_model_types,model_schemas}/**/*.yml',
56
+ test: '^name:\\s+([a-z\\_]*( |[A-Z]|-)[a-z\\_]*)+',
57
+ message: '[CONVENTION] Please use snake_case naming convention in model names'
58
+ },
59
+ {
60
+ name: 'headers',
61
+ glob: 'api_calls/**/*.liquid',
62
+ test: '^headers:',
63
+ message: '[DEPRECATED] "headers" has been renamed to "request_headers"',
64
+ }
65
+ ];
66
+
67
+ module.exports = {
68
+ audit: async () => {
69
+ let results = {};
70
+
71
+ for (let rule of detailed) {
72
+ const files = await glob(`{app,modules,marketplace_builder}/**/${rule.glob}`);
73
+
74
+ for (let file of files) {
75
+ const fileContents = fs.readFileSync(file, { encoding: 'utf8' });
76
+ const match = RegExp(rule.test, 'm').test(fileContents);
77
+
78
+ if (!match) {
79
+ continue;
80
+ }
81
+
82
+ const currentFiles = results[rule.name] && results[rule.name].files;
83
+ const updatedFiles = (currentFiles || []).concat(file);
84
+
85
+ results = {
86
+ ...results,
87
+ [rule.name]: {
88
+ files: updatedFiles,
89
+ message: rule.message
90
+ }
91
+ };
92
+ }
93
+ }
94
+
95
+ return results;
96
+ }
97
+ };
@@ -0,0 +1,31 @@
1
+ const glob = require('fast-glob');
2
+ const fs = require('fs');
3
+
4
+ const underScorePrefix = /^_*/;
5
+
6
+ module.exports = {
7
+ audit: async () => {
8
+ let results = {};
9
+
10
+ const files = await glob(['app/views/partials/**/_*.liquid', 'modules/**/{private,public}/views/partials/**/_*.liquid']);
11
+ for (let file of files) {
12
+ let parts = file.split('/');
13
+ let fileName = parts[parts.length - 1];
14
+ parts[parts.length - 1] = fileName.replace(underScorePrefix, '', -1);
15
+ const fileWithoutUndescore = parts.join('/');
16
+
17
+ if (fs.existsSync(fileWithoutUndescore)) {
18
+ results = {
19
+ ...results,
20
+ [`Multiple file names with the same partial for ${fileName}`]: {
21
+ files: [file, fileWithoutUndescore],
22
+ message: 'Multiple file names with the same partial path'
23
+ }
24
+
25
+ };
26
+ }
27
+ }
28
+
29
+ return results;
30
+ }
31
+ };
@@ -0,0 +1,53 @@
1
+ const glob = require('fast-glob');
2
+
3
+ const rules = [
4
+ {
5
+ directories: [
6
+ 'forms',
7
+ 'form_configurations',
8
+ 'authorization_policies',
9
+ 'notifications',
10
+ 'emails',
11
+ 'api_calls',
12
+ 'smses'
13
+ ],
14
+ extension: '.liquid'
15
+ },
16
+ {
17
+ directories: [
18
+ 'model_schemas',
19
+ 'custom_model_types',
20
+ 'user_profile_types',
21
+ 'instance_profile_types'
22
+ ],
23
+ extension: '.yml'
24
+ },
25
+ {
26
+ directories: ['graphql', 'graph_queries'],
27
+ extension: '.graphql'
28
+ }
29
+ ];
30
+
31
+ module.exports = {
32
+ audit: async () => {
33
+ let results = {};
34
+
35
+ for (let rule of rules) {
36
+ for (let dir of rule.directories) {
37
+ const files = (await glob([`app/${dir}/**/*`, `modules/*/{public,private}/${dir}/**/*`]))
38
+ .filter(file => !file.match(`\\${rule.extension}$`));
39
+ if (files.length > 0) {
40
+ results = {
41
+ ...results,
42
+ [`Only ${rule.extension} files should be in ${dir}`]: {
43
+ files: files,
44
+ message: `Only ${rule.extension} files should be in ${dir} directory`
45
+ }
46
+ };
47
+ }
48
+ }
49
+ }
50
+
51
+ return results;
52
+ }
53
+ };
@@ -0,0 +1,20 @@
1
+ const glob = require('fast-glob');
2
+ const isValidFilePath = require('../utils/valid-file-path');
3
+
4
+ module.exports = {
5
+ audit: async () => {
6
+ const files = await glob(['app/**/*', 'modules/*/{private,public}/**/*']);
7
+
8
+ const invalidFileNames = files.filter(filepath => !isValidFilePath(filepath));
9
+ if (invalidFileNames.length > 0) {
10
+ return {
11
+ ['Invalid filename']: {
12
+ files: invalidFileNames,
13
+ message: 'Invalid filename. It contains prohibited special characters.'
14
+ }
15
+ };
16
+ }
17
+
18
+ return {};
19
+ }
20
+ };