@sealcode/sealgen 0.8.44 → 0.8.48

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 (423) hide show
  1. package/@types/index.d.ts +1 -0
  2. package/@types/page/stateful-page.d.ts +34 -0
  3. package/@types/templates/stateful-page.d.ts +1 -0
  4. package/@types/utils/base64.d.ts +2 -0
  5. package/@types/utils/utils.d.ts +3 -0
  6. package/lib/add-route.js +3 -0
  7. package/lib/generate-routes.js +2 -1
  8. package/lib/index.js +1 -0
  9. package/lib/make-env.js +1 -1
  10. package/lib/mount.js +1 -1
  11. package/lib/page/stateful-page.js +117 -0
  12. package/lib/templates/stateful-page.js +66 -0
  13. package/lib/utils/base64.js +12 -0
  14. package/lib/utils/utils.js +6 -1
  15. package/package.json +2 -1
  16. package/tsconfig.json +0 -1
  17. package/.arcconfig +0 -12
  18. package/.arclint +0 -18
  19. package/.eslintrc.js +0 -38
  20. package/.mocharc.js +0 -10
  21. package/.nyc_output/00b15432-2e8d-4b16-9dd6-7e23314363c9.json +0 -1
  22. package/.nyc_output/0190dc00-d309-48d0-a5db-e9484e3c7334.json +0 -1
  23. package/.nyc_output/04bfea78-9274-4d35-b7e4-d0bf42636911.json +0 -1
  24. package/.nyc_output/0d4efe84-14e0-4bf0-bf22-b95472fe2be4.json +0 -1
  25. package/.nyc_output/1faea508-9cb4-46f4-b7ad-94a816e1ee7d.json +0 -1
  26. package/.nyc_output/2b2df469-dc31-48c9-ab34-68a74266e2c2.json +0 -1
  27. package/.nyc_output/32b5e63b-c8f8-4d9d-a09b-d97656c0e3f6.json +0 -1
  28. package/.nyc_output/442ce939-4f43-496b-a8a9-2f1fb9cfa619.json +0 -1
  29. package/.nyc_output/4573bb03-90d4-4408-ba15-b6835c618b33.json +0 -1
  30. package/.nyc_output/468fbd9c-6a27-4e33-8423-dbaec01e62a9.json +0 -1
  31. package/.nyc_output/51894388-b88d-4f0b-8d5b-4a1dd71cf668.json +0 -1
  32. package/.nyc_output/56263b22-3ed5-4ce2-9bbb-f2c9575cdeee.json +0 -1
  33. package/.nyc_output/6934a9dd-6431-48aa-93f1-4eeef0095773.json +0 -1
  34. package/.nyc_output/70979008-f285-481b-bb09-ca48a1376f81.json +0 -1
  35. package/.nyc_output/817c9485-a0ef-486d-8dee-906456fe77fb.json +0 -1
  36. package/.nyc_output/9f725153-f783-4948-81d3-c4cc792738bf.json +0 -1
  37. package/.nyc_output/cd4d852c-f8fc-4cb1-807b-7d053a0ef8fc.json +0 -1
  38. package/.nyc_output/ec3011f0-8180-492e-8d85-4d92484ccb44.json +0 -1
  39. package/.nyc_output/f78b831a-65ca-497d-9f9e-001a3efa6f54.json +0 -1
  40. package/.nyc_output/processinfo/00b15432-2e8d-4b16-9dd6-7e23314363c9.json +0 -1
  41. package/.nyc_output/processinfo/0190dc00-d309-48d0-a5db-e9484e3c7334.json +0 -1
  42. package/.nyc_output/processinfo/04bfea78-9274-4d35-b7e4-d0bf42636911.json +0 -1
  43. package/.nyc_output/processinfo/0d4efe84-14e0-4bf0-bf22-b95472fe2be4.json +0 -1
  44. package/.nyc_output/processinfo/1faea508-9cb4-46f4-b7ad-94a816e1ee7d.json +0 -1
  45. package/.nyc_output/processinfo/2b2df469-dc31-48c9-ab34-68a74266e2c2.json +0 -1
  46. package/.nyc_output/processinfo/32b5e63b-c8f8-4d9d-a09b-d97656c0e3f6.json +0 -1
  47. package/.nyc_output/processinfo/442ce939-4f43-496b-a8a9-2f1fb9cfa619.json +0 -1
  48. package/.nyc_output/processinfo/4573bb03-90d4-4408-ba15-b6835c618b33.json +0 -1
  49. package/.nyc_output/processinfo/468fbd9c-6a27-4e33-8423-dbaec01e62a9.json +0 -1
  50. package/.nyc_output/processinfo/51894388-b88d-4f0b-8d5b-4a1dd71cf668.json +0 -1
  51. package/.nyc_output/processinfo/56263b22-3ed5-4ce2-9bbb-f2c9575cdeee.json +0 -1
  52. package/.nyc_output/processinfo/6934a9dd-6431-48aa-93f1-4eeef0095773.json +0 -1
  53. package/.nyc_output/processinfo/70979008-f285-481b-bb09-ca48a1376f81.json +0 -1
  54. package/.nyc_output/processinfo/817c9485-a0ef-486d-8dee-906456fe77fb.json +0 -1
  55. package/.nyc_output/processinfo/9f725153-f783-4948-81d3-c4cc792738bf.json +0 -1
  56. package/.nyc_output/processinfo/cd4d852c-f8fc-4cb1-807b-7d053a0ef8fc.json +0 -1
  57. package/.nyc_output/processinfo/ec3011f0-8180-492e-8d85-4d92484ccb44.json +0 -1
  58. package/.nyc_output/processinfo/f78b831a-65ca-497d-9f9e-001a3efa6f54.json +0 -1
  59. package/.nyc_output/processinfo/index.json +0 -1
  60. package/.nycrc +0 -6
  61. package/.prettierrc +0 -21
  62. package/.xunit +0 -47
  63. package/@types/forms/fields/files-multiple.d.ts +0 -12
  64. package/@types/sealgen-url.d.ts +0 -0
  65. package/@types/tests/manual/multiform.d.ts +0 -1
  66. package/coverage/clover.xml +0 -2240
  67. package/coverage/lcov-report/base.css +0 -224
  68. package/coverage/lcov-report/block-navigation.js +0 -79
  69. package/coverage/lcov-report/favicon.png +0 -0
  70. package/coverage/lcov-report/index.html +0 -231
  71. package/coverage/lcov-report/prettify.css +0 -1
  72. package/coverage/lcov-report/prettify.js +0 -2
  73. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  74. package/coverage/lcov-report/sorter.js +0 -170
  75. package/coverage/lcov-report/src/add-collection.ts.html +0 -173
  76. package/coverage/lcov-report/src/add-route.test.ts.html +0 -254
  77. package/coverage/lcov-report/src/add-route.ts.html +0 -338
  78. package/coverage/lcov-report/src/build.ts.html +0 -359
  79. package/coverage/lcov-report/src/cli.ts.html +0 -188
  80. package/coverage/lcov-report/src/components/components.ts.html +0 -86
  81. package/coverage/lcov-report/src/components/index.html +0 -141
  82. package/coverage/lcov-report/src/components/tabs.ts.html +0 -365
  83. package/coverage/lcov-report/src/components/toggle-modal.ts.html +0 -236
  84. package/coverage/lcov-report/src/example.test.ts.html +0 -89
  85. package/coverage/lcov-report/src/find-scss-includes.ts.html +0 -176
  86. package/coverage/lcov-report/src/forms/controls/array.ts.html +0 -758
  87. package/coverage/lcov-report/src/forms/controls/autocomplete.ts.html +0 -179
  88. package/coverage/lcov-report/src/forms/controls/big-radio-group.ts.html +0 -224
  89. package/coverage/lcov-report/src/forms/controls/checkbox-group.ts.html +0 -293
  90. package/coverage/lcov-report/src/forms/controls/checkbox.ts.html +0 -182
  91. package/coverage/lcov-report/src/forms/controls/checkboxed-list-input.ts.html +0 -230
  92. package/coverage/lcov-report/src/forms/controls/collapsible-checkbox-group.ts.html +0 -164
  93. package/coverage/lcov-report/src/forms/controls/collapsible-field-group.ts.html +0 -362
  94. package/coverage/lcov-report/src/forms/controls/controls.ts.html +0 -170
  95. package/coverage/lcov-report/src/forms/controls/derived-frame.ts.html +0 -353
  96. package/coverage/lcov-report/src/forms/controls/derived.ts.html +0 -404
  97. package/coverage/lcov-report/src/forms/controls/dropdown.ts.html +0 -341
  98. package/coverage/lcov-report/src/forms/controls/editable-collection-subset.ts.html +0 -371
  99. package/coverage/lcov-report/src/forms/controls/field-group.ts.html +0 -287
  100. package/coverage/lcov-report/src/forms/controls/file.ts.html +0 -221
  101. package/coverage/lcov-report/src/forms/controls/form-control.ts.html +0 -152
  102. package/coverage/lcov-report/src/forms/controls/form-field-control.ts.html +0 -146
  103. package/coverage/lcov-report/src/forms/controls/form-header.ts.html +0 -137
  104. package/coverage/lcov-report/src/forms/controls/form-paragraph.ts.html +0 -113
  105. package/coverage/lcov-report/src/forms/controls/frame.ts.html +0 -158
  106. package/coverage/lcov-report/src/forms/controls/hidden-input.ts.html +0 -146
  107. package/coverage/lcov-report/src/forms/controls/html.ts.html +0 -194
  108. package/coverage/lcov-report/src/forms/controls/index.html +0 -561
  109. package/coverage/lcov-report/src/forms/controls/multiple-files.ts.html +0 -848
  110. package/coverage/lcov-report/src/forms/controls/multiple-photos.ts.html +0 -212
  111. package/coverage/lcov-report/src/forms/controls/number.ts.html +0 -194
  112. package/coverage/lcov-report/src/forms/controls/photo.ts.html +0 -302
  113. package/coverage/lcov-report/src/forms/controls/radio.ts.html +0 -209
  114. package/coverage/lcov-report/src/forms/controls/reverse-single-reference.ts.html +0 -230
  115. package/coverage/lcov-report/src/forms/controls/simple-input.ts.html +0 -524
  116. package/coverage/lcov-report/src/forms/controls/textarea.ts.html +0 -260
  117. package/coverage/lcov-report/src/forms/controls/tickable.ts.html +0 -461
  118. package/coverage/lcov-report/src/forms/fields/boolean.test.ts.html +0 -188
  119. package/coverage/lcov-report/src/forms/fields/boolean.ts.html +0 -269
  120. package/coverage/lcov-report/src/forms/fields/checkboxed-list.ts.html +0 -278
  121. package/coverage/lcov-report/src/forms/fields/collection-field.ts.html +0 -266
  122. package/coverage/lcov-report/src/forms/fields/email.test.ts.html +0 -152
  123. package/coverage/lcov-report/src/forms/fields/email.ts.html +0 -140
  124. package/coverage/lcov-report/src/forms/fields/enum-multiple.test.ts.html +0 -173
  125. package/coverage/lcov-report/src/forms/fields/enum-multiple.ts.html +0 -266
  126. package/coverage/lcov-report/src/forms/fields/enum.test.ts.html +0 -155
  127. package/coverage/lcov-report/src/forms/fields/enum.ts.html +0 -248
  128. package/coverage/lcov-report/src/forms/fields/existing-sealious-value.ts.html +0 -146
  129. package/coverage/lcov-report/src/forms/fields/field.ts.html +0 -596
  130. package/coverage/lcov-report/src/forms/fields/file.ts.html +0 -347
  131. package/coverage/lcov-report/src/forms/fields/index.html +0 -456
  132. package/coverage/lcov-report/src/forms/fields/multiple-files.ts.html +0 -140
  133. package/coverage/lcov-report/src/forms/fields/number.test.ts.html +0 -182
  134. package/coverage/lcov-report/src/forms/fields/number.ts.html +0 -290
  135. package/coverage/lcov-report/src/forms/fields/pick-from-list.test.ts.html +0 -137
  136. package/coverage/lcov-report/src/forms/fields/pick-from-list.ts.html +0 -236
  137. package/coverage/lcov-report/src/forms/fields/proxy-field.ts.html +0 -152
  138. package/coverage/lcov-report/src/forms/fields/regexp.test.ts.html +0 -155
  139. package/coverage/lcov-report/src/forms/fields/regexp.ts.html +0 -239
  140. package/coverage/lcov-report/src/forms/fields/reverse-single-reference.ts.html +0 -140
  141. package/coverage/lcov-report/src/forms/fields/simple-form-field.ts.html +0 -170
  142. package/coverage/lcov-report/src/forms/fields/structured-array.ts.html +0 -161
  143. package/coverage/lcov-report/src/forms/form.test.ts.html +0 -1133
  144. package/coverage/lcov-report/src/forms/form.ts.html +0 -962
  145. package/coverage/lcov-report/src/forms/index.html +0 -156
  146. package/coverage/lcov-report/src/forms/multiform.test.ts.html +0 -1700
  147. package/coverage/lcov-report/src/forms/multiform.ts.html +0 -788
  148. package/coverage/lcov-report/src/generate-collections.ts.html +0 -311
  149. package/coverage/lcov-report/src/generate-routes.ts.html +0 -440
  150. package/coverage/lcov-report/src/index.html +0 -321
  151. package/coverage/lcov-report/src/index.ts.html +0 -152
  152. package/coverage/lcov-report/src/make-env.ts.html +0 -125
  153. package/coverage/lcov-report/src/make-hidden-inputs.ts.html +0 -152
  154. package/coverage/lcov-report/src/mount.ts.html +0 -335
  155. package/coverage/lcov-report/src/page/access-control.ts.html +0 -134
  156. package/coverage/lcov-report/src/page/index.html +0 -186
  157. package/coverage/lcov-report/src/page/list.ts.html +0 -800
  158. package/coverage/lcov-report/src/page/mountable-with-fields.ts.html +0 -554
  159. package/coverage/lcov-report/src/page/mountable.ts.html +0 -119
  160. package/coverage/lcov-report/src/page/page.ts.html +0 -218
  161. package/coverage/lcov-report/src/page/props-parser.ts.html +0 -194
  162. package/coverage/lcov-report/src/run.ts.html +0 -80
  163. package/coverage/lcov-report/src/sanitize.ts.html +0 -107
  164. package/coverage/lcov-report/src/templates/collection.ts.html +0 -113
  165. package/coverage/lcov-report/src/templates/form.ts.html +0 -260
  166. package/coverage/lcov-report/src/templates/index.html +0 -216
  167. package/coverage/lcov-report/src/templates/list.ts.html +0 -305
  168. package/coverage/lcov-report/src/templates/multiform.ts.html +0 -254
  169. package/coverage/lcov-report/src/templates/page.ts.html +0 -155
  170. package/coverage/lcov-report/src/templates/post.ts.html +0 -143
  171. package/coverage/lcov-report/src/templates/redirect.ts.html +0 -146
  172. package/coverage/lcov-report/src/templates/route-test.ts.html +0 -161
  173. package/coverage/lcov-report/src/test_utils/index.html +0 -111
  174. package/coverage/lcov-report/src/test_utils/locator_is_visible.ts.html +0 -131
  175. package/coverage/lcov-report/src/utils/assert-throws.ts.html +0 -134
  176. package/coverage/lcov-report/src/utils/browser-creator.js.html +0 -110
  177. package/coverage/lcov-report/src/utils/escape-url-params.ts.html +0 -122
  178. package/coverage/lcov-report/src/utils/exec.ts.html +0 -170
  179. package/coverage/lcov-report/src/utils/format-external-url.ts.html +0 -119
  180. package/coverage/lcov-report/src/utils/import-path.ts.html +0 -155
  181. package/coverage/lcov-report/src/utils/index.html +0 -366
  182. package/coverage/lcov-report/src/utils/input-wrapper.ts.html +0 -143
  183. package/coverage/lcov-report/src/utils/list-collections.ts.html +0 -128
  184. package/coverage/lcov-report/src/utils/make-slug.ts.html +0 -95
  185. package/coverage/lcov-report/src/utils/natural-numbers.ts.html +0 -95
  186. package/coverage/lcov-report/src/utils/prettier.ts.html +0 -119
  187. package/coverage/lcov-report/src/utils/question.ts.html +0 -149
  188. package/coverage/lcov-report/src/utils/render-attributes.ts.html +0 -131
  189. package/coverage/lcov-report/src/utils/sleep.ts.html +0 -89
  190. package/coverage/lcov-report/src/utils/translate.ts.html +0 -119
  191. package/coverage/lcov-report/src/utils/url-with-new-params.ts.html +0 -107
  192. package/coverage/lcov-report/src/utils/utils.ts.html +0 -122
  193. package/coverage/lcov-report/src/utils/walk.ts.html +0 -140
  194. package/coverage/lcov.info +0 -4697
  195. package/jenkins.sanity.sh +0 -3
  196. package/lib/add-collection.js.map +0 -1
  197. package/lib/add-route.js.map +0 -1
  198. package/lib/add-route.test.js.map +0 -1
  199. package/lib/build.js.map +0 -1
  200. package/lib/cli.js.map +0 -1
  201. package/lib/components/components.js.map +0 -1
  202. package/lib/components/tabs.js.map +0 -1
  203. package/lib/components/toggle-modal.js.map +0 -1
  204. package/lib/example.test.js.map +0 -1
  205. package/lib/find-scss-includes.js.map +0 -1
  206. package/lib/forms/controls/array.js.map +0 -1
  207. package/lib/forms/controls/autocomplete.js.map +0 -1
  208. package/lib/forms/controls/big-radio-group.js.map +0 -1
  209. package/lib/forms/controls/checkbox-group.js.map +0 -1
  210. package/lib/forms/controls/checkbox.js.map +0 -1
  211. package/lib/forms/controls/checkboxed-list-input.js.map +0 -1
  212. package/lib/forms/controls/collapsible-checkbox-group.js.map +0 -1
  213. package/lib/forms/controls/collapsible-field-group.js.map +0 -1
  214. package/lib/forms/controls/controls.js.map +0 -1
  215. package/lib/forms/controls/derived-frame.js.map +0 -1
  216. package/lib/forms/controls/derived.js.map +0 -1
  217. package/lib/forms/controls/dropdown.js.map +0 -1
  218. package/lib/forms/controls/editable-collection-subset.js.map +0 -1
  219. package/lib/forms/controls/field-group.js.map +0 -1
  220. package/lib/forms/controls/file.js.map +0 -1
  221. package/lib/forms/controls/form-control.js.map +0 -1
  222. package/lib/forms/controls/form-field-control.js.map +0 -1
  223. package/lib/forms/controls/form-header.js.map +0 -1
  224. package/lib/forms/controls/form-paragraph.js.map +0 -1
  225. package/lib/forms/controls/frame.js.map +0 -1
  226. package/lib/forms/controls/hidden-input.js.map +0 -1
  227. package/lib/forms/controls/html.js.map +0 -1
  228. package/lib/forms/controls/multiple-files.js.map +0 -1
  229. package/lib/forms/controls/multiple-photos.js.map +0 -1
  230. package/lib/forms/controls/number.js.map +0 -1
  231. package/lib/forms/controls/photo.js.map +0 -1
  232. package/lib/forms/controls/radio.js.map +0 -1
  233. package/lib/forms/controls/reverse-single-reference.js.map +0 -1
  234. package/lib/forms/controls/simple-input.js.map +0 -1
  235. package/lib/forms/controls/textarea.js.map +0 -1
  236. package/lib/forms/controls/tickable.js.map +0 -1
  237. package/lib/forms/fields/boolean.js.map +0 -1
  238. package/lib/forms/fields/boolean.test.js.map +0 -1
  239. package/lib/forms/fields/checkboxed-list.js.map +0 -1
  240. package/lib/forms/fields/collection-field.js.map +0 -1
  241. package/lib/forms/fields/email.js.map +0 -1
  242. package/lib/forms/fields/email.test.js.map +0 -1
  243. package/lib/forms/fields/enum-multiple.js.map +0 -1
  244. package/lib/forms/fields/enum-multiple.test.js.map +0 -1
  245. package/lib/forms/fields/enum.js.map +0 -1
  246. package/lib/forms/fields/enum.test.js.map +0 -1
  247. package/lib/forms/fields/existing-sealious-value.js.map +0 -1
  248. package/lib/forms/fields/field.js.map +0 -1
  249. package/lib/forms/fields/file.js.map +0 -1
  250. package/lib/forms/fields/files-multiple.js +0 -18
  251. package/lib/forms/fields/files-multiple.js.map +0 -1
  252. package/lib/forms/fields/multiple-files.js.map +0 -1
  253. package/lib/forms/fields/number.js.map +0 -1
  254. package/lib/forms/fields/number.test.js.map +0 -1
  255. package/lib/forms/fields/pick-from-list.js.map +0 -1
  256. package/lib/forms/fields/pick-from-list.test.js.map +0 -1
  257. package/lib/forms/fields/proxy-field.js.map +0 -1
  258. package/lib/forms/fields/regexp.js.map +0 -1
  259. package/lib/forms/fields/regexp.test.js.map +0 -1
  260. package/lib/forms/fields/reverse-single-reference.js.map +0 -1
  261. package/lib/forms/fields/simple-form-field.js.map +0 -1
  262. package/lib/forms/fields/structured-array.js.map +0 -1
  263. package/lib/forms/form.js.map +0 -1
  264. package/lib/forms/form.test.js.map +0 -1
  265. package/lib/forms/multiform.js.map +0 -1
  266. package/lib/forms/multiform.test.js.map +0 -1
  267. package/lib/generate-collections.js.map +0 -1
  268. package/lib/generate-routes.js.map +0 -1
  269. package/lib/index.js.map +0 -1
  270. package/lib/make-env.js.map +0 -1
  271. package/lib/make-hidden-inputs.js.map +0 -1
  272. package/lib/mount.js.map +0 -1
  273. package/lib/page/access-control.js.map +0 -1
  274. package/lib/page/list.js.map +0 -1
  275. package/lib/page/mountable-with-fields.js.map +0 -1
  276. package/lib/page/mountable.js.map +0 -1
  277. package/lib/page/page.js.map +0 -1
  278. package/lib/page/props-parser.js.map +0 -1
  279. package/lib/run.js.map +0 -1
  280. package/lib/sanitize.js.map +0 -1
  281. package/lib/sealgen-url.js +0 -1
  282. package/lib/sealgen-url.js.map +0 -1
  283. package/lib/templates/collection.js.map +0 -1
  284. package/lib/templates/form.js.map +0 -1
  285. package/lib/templates/list.js.map +0 -1
  286. package/lib/templates/multiform.js.map +0 -1
  287. package/lib/templates/page.js.map +0 -1
  288. package/lib/templates/post.js.map +0 -1
  289. package/lib/templates/redirect.js.map +0 -1
  290. package/lib/templates/route-test.js.map +0 -1
  291. package/lib/test_utils/locator_is_visible.js.map +0 -1
  292. package/lib/tests/manual/multiform.js +0 -95
  293. package/lib/tests/manual/multiform.js.map +0 -1
  294. package/lib/utils/assert-throws.js.map +0 -1
  295. package/lib/utils/browser-creator.js.map +0 -1
  296. package/lib/utils/escape-url-params.js.map +0 -1
  297. package/lib/utils/exec.js.map +0 -1
  298. package/lib/utils/format-external-url.js.map +0 -1
  299. package/lib/utils/import-path.js.map +0 -1
  300. package/lib/utils/input-wrapper.js.map +0 -1
  301. package/lib/utils/list-collections.js.map +0 -1
  302. package/lib/utils/make-slug.js.map +0 -1
  303. package/lib/utils/natural-numbers.js.map +0 -1
  304. package/lib/utils/prettier.js.map +0 -1
  305. package/lib/utils/question.js.map +0 -1
  306. package/lib/utils/render-attributes.js.map +0 -1
  307. package/lib/utils/sleep.js.map +0 -1
  308. package/lib/utils/translate.js.map +0 -1
  309. package/lib/utils/url-with-new-params.js.map +0 -1
  310. package/lib/utils/utils.js.map +0 -1
  311. package/lib/utils/walk.js.map +0 -1
  312. package/mocha_root_hooks.js +0 -6
  313. package/src/add-collection.ts +0 -31
  314. package/src/add-route.test.ts +0 -58
  315. package/src/add-route.ts +0 -86
  316. package/src/build.ts +0 -94
  317. package/src/cli.ts +0 -36
  318. package/src/components/components.ts +0 -2
  319. package/src/components/tabs.ts +0 -95
  320. package/src/components/toggle-modal.ts +0 -52
  321. package/src/example.test.ts +0 -3
  322. package/src/find-scss-includes.ts +0 -32
  323. package/src/forms/controls/array.ts +0 -226
  324. package/src/forms/controls/autocomplete.ts +0 -33
  325. package/src/forms/controls/big-radio-group.ts +0 -48
  326. package/src/forms/controls/checkbox-group.ts +0 -71
  327. package/src/forms/controls/checkbox.ts +0 -34
  328. package/src/forms/controls/checkboxed-list-input.ts +0 -50
  329. package/src/forms/controls/collapsible-checkbox-group.ts +0 -28
  330. package/src/forms/controls/collapsible-field-group.ts +0 -94
  331. package/src/forms/controls/controls.ts +0 -30
  332. package/src/forms/controls/derived-frame.ts +0 -91
  333. package/src/forms/controls/derived.ts +0 -108
  334. package/src/forms/controls/dropdown.ts +0 -87
  335. package/src/forms/controls/editable-collection-subset.ts +0 -97
  336. package/src/forms/controls/field-group.ts +0 -69
  337. package/src/forms/controls/file.ts +0 -47
  338. package/src/forms/controls/form-control.ts +0 -24
  339. package/src/forms/controls/form-field-control.ts +0 -22
  340. package/src/forms/controls/form-header.ts +0 -19
  341. package/src/forms/controls/form-paragraph.ts +0 -11
  342. package/src/forms/controls/frame.ts +0 -26
  343. package/src/forms/controls/hidden-input.ts +0 -22
  344. package/src/forms/controls/html.ts +0 -38
  345. package/src/forms/controls/multiple-files.ts +0 -256
  346. package/src/forms/controls/multiple-photos.ts +0 -44
  347. package/src/forms/controls/number.ts +0 -38
  348. package/src/forms/controls/photo.ts +0 -74
  349. package/src/forms/controls/radio.ts +0 -43
  350. package/src/forms/controls/reverse-single-reference.ts +0 -50
  351. package/src/forms/controls/simple-input.ts +0 -148
  352. package/src/forms/controls/textarea.ts +0 -60
  353. package/src/forms/controls/tickable.ts +0 -127
  354. package/src/forms/fields/boolean.test.ts +0 -36
  355. package/src/forms/fields/boolean.ts +0 -63
  356. package/src/forms/fields/checkboxed-list.ts +0 -66
  357. package/src/forms/fields/collection-field.ts +0 -62
  358. package/src/forms/fields/email.test.ts +0 -24
  359. package/src/forms/fields/email.ts +0 -20
  360. package/src/forms/fields/enum-multiple.test.ts +0 -31
  361. package/src/forms/fields/enum-multiple.ts +0 -62
  362. package/src/forms/fields/enum.test.ts +0 -25
  363. package/src/forms/fields/enum.ts +0 -56
  364. package/src/forms/fields/existing-sealious-value.ts +0 -22
  365. package/src/forms/fields/field.ts +0 -172
  366. package/src/forms/fields/file.ts +0 -89
  367. package/src/forms/fields/multiple-files.ts +0 -20
  368. package/src/forms/fields/number.test.ts +0 -34
  369. package/src/forms/fields/number.ts +0 -70
  370. package/src/forms/fields/pick-from-list.test.ts +0 -19
  371. package/src/forms/fields/pick-from-list.ts +0 -52
  372. package/src/forms/fields/proxy-field.ts +0 -24
  373. package/src/forms/fields/regexp.test.ts +0 -25
  374. package/src/forms/fields/regexp.ts +0 -53
  375. package/src/forms/fields/reverse-single-reference.ts +0 -20
  376. package/src/forms/fields/simple-form-field.ts +0 -30
  377. package/src/forms/fields/structured-array.ts +0 -27
  378. package/src/forms/form.test.ts +0 -351
  379. package/src/forms/form.ts +0 -294
  380. package/src/forms/forms.scss +0 -85
  381. package/src/forms/multiform.test.ts +0 -540
  382. package/src/forms/multiform.ts +0 -236
  383. package/src/generate-collections.ts +0 -77
  384. package/src/generate-routes.ts +0 -120
  385. package/src/index.ts +0 -24
  386. package/src/make-env.ts +0 -15
  387. package/src/make-hidden-inputs.ts +0 -24
  388. package/src/mount.ts +0 -85
  389. package/src/page/access-control.ts +0 -18
  390. package/src/page/list.ts +0 -240
  391. package/src/page/mountable-with-fields.ts +0 -158
  392. package/src/page/mountable.ts +0 -13
  393. package/src/page/page.ts +0 -46
  394. package/src/page/props-parser.ts +0 -38
  395. package/src/run.ts +0 -0
  396. package/src/sanitize.ts +0 -9
  397. package/src/templates/collection.ts +0 -11
  398. package/src/templates/form.ts +0 -60
  399. package/src/templates/list.ts +0 -75
  400. package/src/templates/multiform.ts +0 -58
  401. package/src/templates/page.ts +0 -25
  402. package/src/templates/post.ts +0 -21
  403. package/src/templates/redirect.ts +0 -22
  404. package/src/templates/route-test.ts +0 -27
  405. package/src/test_utils/locator_is_visible.ts +0 -17
  406. package/src/utils/assert-throws.ts +0 -18
  407. package/src/utils/browser-creator.js +0 -10
  408. package/src/utils/escape-url-params.ts +0 -14
  409. package/src/utils/exec.ts +0 -30
  410. package/src/utils/format-external-url.ts +0 -13
  411. package/src/utils/import-path.ts +0 -25
  412. package/src/utils/input-wrapper.ts +0 -21
  413. package/src/utils/list-collections.ts +0 -16
  414. package/src/utils/make-slug.ts +0 -5
  415. package/src/utils/natural-numbers.ts +0 -5
  416. package/src/utils/prettier.ts +0 -13
  417. package/src/utils/question.ts +0 -23
  418. package/src/utils/render-attributes.ts +0 -17
  419. package/src/utils/sleep.ts +0 -3
  420. package/src/utils/translate.ts +0 -13
  421. package/src/utils/url-with-new-params.ts +0 -9
  422. package/src/utils/utils.ts +0 -14
  423. package/src/utils/walk.ts +0 -20
@@ -1,170 +0,0 @@
1
- /* eslint-disable */
2
- var addSorting = (function() {
3
- 'use strict';
4
- var cols,
5
- currentSort = {
6
- index: 0,
7
- desc: false
8
- };
9
-
10
- // returns the summary table element
11
- function getTable() {
12
- return document.querySelector('.coverage-summary');
13
- }
14
- // returns the thead element of the summary table
15
- function getTableHeader() {
16
- return getTable().querySelector('thead tr');
17
- }
18
- // returns the tbody element of the summary table
19
- function getTableBody() {
20
- return getTable().querySelector('tbody');
21
- }
22
- // returns the th element for nth column
23
- function getNthColumn(n) {
24
- return getTableHeader().querySelectorAll('th')[n];
25
- }
26
-
27
- // loads all columns
28
- function loadColumns() {
29
- var colNodes = getTableHeader().querySelectorAll('th'),
30
- colNode,
31
- cols = [],
32
- col,
33
- i;
34
-
35
- for (i = 0; i < colNodes.length; i += 1) {
36
- colNode = colNodes[i];
37
- col = {
38
- key: colNode.getAttribute('data-col'),
39
- sortable: !colNode.getAttribute('data-nosort'),
40
- type: colNode.getAttribute('data-type') || 'string'
41
- };
42
- cols.push(col);
43
- if (col.sortable) {
44
- col.defaultDescSort = col.type === 'number';
45
- colNode.innerHTML =
46
- colNode.innerHTML + '<span class="sorter"></span>';
47
- }
48
- }
49
- return cols;
50
- }
51
- // attaches a data attribute to every tr element with an object
52
- // of data values keyed by column name
53
- function loadRowData(tableRow) {
54
- var tableCols = tableRow.querySelectorAll('td'),
55
- colNode,
56
- col,
57
- data = {},
58
- i,
59
- val;
60
- for (i = 0; i < tableCols.length; i += 1) {
61
- colNode = tableCols[i];
62
- col = cols[i];
63
- val = colNode.getAttribute('data-value');
64
- if (col.type === 'number') {
65
- val = Number(val);
66
- }
67
- data[col.key] = val;
68
- }
69
- return data;
70
- }
71
- // loads all row data
72
- function loadData() {
73
- var rows = getTableBody().querySelectorAll('tr'),
74
- i;
75
-
76
- for (i = 0; i < rows.length; i += 1) {
77
- rows[i].data = loadRowData(rows[i]);
78
- }
79
- }
80
- // sorts the table using the data for the ith column
81
- function sortByIndex(index, desc) {
82
- var key = cols[index].key,
83
- sorter = function(a, b) {
84
- a = a.data[key];
85
- b = b.data[key];
86
- return a < b ? -1 : a > b ? 1 : 0;
87
- },
88
- finalSorter = sorter,
89
- tableBody = document.querySelector('.coverage-summary tbody'),
90
- rowNodes = tableBody.querySelectorAll('tr'),
91
- rows = [],
92
- i;
93
-
94
- if (desc) {
95
- finalSorter = function(a, b) {
96
- return -1 * sorter(a, b);
97
- };
98
- }
99
-
100
- for (i = 0; i < rowNodes.length; i += 1) {
101
- rows.push(rowNodes[i]);
102
- tableBody.removeChild(rowNodes[i]);
103
- }
104
-
105
- rows.sort(finalSorter);
106
-
107
- for (i = 0; i < rows.length; i += 1) {
108
- tableBody.appendChild(rows[i]);
109
- }
110
- }
111
- // removes sort indicators for current column being sorted
112
- function removeSortIndicators() {
113
- var col = getNthColumn(currentSort.index),
114
- cls = col.className;
115
-
116
- cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, '');
117
- col.className = cls;
118
- }
119
- // adds sort indicators for current column being sorted
120
- function addSortIndicators() {
121
- getNthColumn(currentSort.index).className += currentSort.desc
122
- ? ' sorted-desc'
123
- : ' sorted';
124
- }
125
- // adds event listeners for all sorter widgets
126
- function enableUI() {
127
- var i,
128
- el,
129
- ithSorter = function ithSorter(i) {
130
- var col = cols[i];
131
-
132
- return function() {
133
- var desc = col.defaultDescSort;
134
-
135
- if (currentSort.index === i) {
136
- desc = !currentSort.desc;
137
- }
138
- sortByIndex(i, desc);
139
- removeSortIndicators();
140
- currentSort.index = i;
141
- currentSort.desc = desc;
142
- addSortIndicators();
143
- };
144
- };
145
- for (i = 0; i < cols.length; i += 1) {
146
- if (cols[i].sortable) {
147
- // add the click event handler on the th so users
148
- // dont have to click on those tiny arrows
149
- el = getNthColumn(i).querySelector('.sorter').parentElement;
150
- if (el.addEventListener) {
151
- el.addEventListener('click', ithSorter(i));
152
- } else {
153
- el.attachEvent('onclick', ithSorter(i));
154
- }
155
- }
156
- }
157
- }
158
- // adds sorting functionality to the UI
159
- return function() {
160
- if (!getTable()) {
161
- return;
162
- }
163
- cols = loadColumns();
164
- loadData();
165
- addSortIndicators();
166
- enableUI();
167
- };
168
- })();
169
-
170
- window.addEventListener('load', addSorting);
@@ -1,173 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/add-collection.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">src</a> add-collection.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>0/14</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/6</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/3</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>0/14</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- </div>
58
- <div class='status-line low'></div>
59
- <pre><table class="coverage">
60
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
- <a name='L2'></a><a href='#L2'>2</a>
62
- <a name='L3'></a><a href='#L3'>3</a>
63
- <a name='L4'></a><a href='#L4'>4</a>
64
- <a name='L5'></a><a href='#L5'>5</a>
65
- <a name='L6'></a><a href='#L6'>6</a>
66
- <a name='L7'></a><a href='#L7'>7</a>
67
- <a name='L8'></a><a href='#L8'>8</a>
68
- <a name='L9'></a><a href='#L9'>9</a>
69
- <a name='L10'></a><a href='#L10'>10</a>
70
- <a name='L11'></a><a href='#L11'>11</a>
71
- <a name='L12'></a><a href='#L12'>12</a>
72
- <a name='L13'></a><a href='#L13'>13</a>
73
- <a name='L14'></a><a href='#L14'>14</a>
74
- <a name='L15'></a><a href='#L15'>15</a>
75
- <a name='L16'></a><a href='#L16'>16</a>
76
- <a name='L17'></a><a href='#L17'>17</a>
77
- <a name='L18'></a><a href='#L18'>18</a>
78
- <a name='L19'></a><a href='#L19'>19</a>
79
- <a name='L20'></a><a href='#L20'>20</a>
80
- <a name='L21'></a><a href='#L21'>21</a>
81
- <a name='L22'></a><a href='#L22'>22</a>
82
- <a name='L23'></a><a href='#L23'>23</a>
83
- <a name='L24'></a><a href='#L24'>24</a>
84
- <a name='L25'></a><a href='#L25'>25</a>
85
- <a name='L26'></a><a href='#L26'>26</a>
86
- <a name='L27'></a><a href='#L27'>27</a>
87
- <a name='L28'></a><a href='#L28'>28</a>
88
- <a name='L29'></a><a href='#L29'>29</a>
89
- <a name='L30'></a><a href='#L30'>30</a>
90
- <a name='L31'></a><a href='#L31'>31</a>
91
- <a name='L32'></a><a href='#L32'>32</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
92
- <span class="cline-any cline-neutral">&nbsp;</span>
93
- <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-neutral">&nbsp;</span>
95
- <span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-no">&nbsp;</span>
98
- <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-no">&nbsp;</span>
101
- <span class="cline-any cline-no">&nbsp;</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-no">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-no">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-no">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-no">&nbsp;</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-no">&nbsp;</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-no">&nbsp;</span>
114
- <span class="cline-any cline-no">&nbsp;</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-no">&nbsp;</span>
117
- <span class="cline-any cline-no">&nbsp;</span>
118
- <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-no">&nbsp;</span>
120
- <span class="cline-any cline-no">&nbsp;</span>
121
- <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { resolve } from "path";
123
- import _locreq from "locreq";
124
- import { promises as fs, existsSync } from "fs";
125
- import { question } from "./utils/question";
126
- import { collectionTemplate } from "./templates/collection";
127
- import { generateCollections } from "./generate-collections";
128
- const target_locreq = <span class="cstat-no" title="statement not covered" >_locreq(process.cwd());</span>
129
- &nbsp;
130
- export async function <span class="fstat-no" title="function not covered" >addCollection(</span>): Promise&lt;void&gt; {
131
- const regex_pattern = <span class="cstat-no" title="statement not covered" >/^([A-Z_$][a-zA-Z0-9_$]*)$/;</span>
132
- const collection_name = <span class="cstat-no" title="statement not covered" >await question(</span>
133
- 'What\'s the name of the collection class (e.g. "SecretDocuments", must start with a capital letter): ',
134
- <span class="fstat-no" title="function not covered" > (s</span>: string) =&gt; <span class="cstat-no" title="statement not covered" >s.length &gt; 3 &amp;&amp; regex_pattern.test(s)</span>
135
- );
136
- const url = <span class="cstat-no" title="statement not covered" >await question(</span>
137
- "Enter the url-friendly name for the collection (e.g. secret-documents): ",
138
- <span class="fstat-no" title="function not covered" > (s</span>: string) =&gt; <span class="cstat-no" title="statement not covered" >!s.includes("/") &amp;&amp; !s.includes(" ")</span>
139
- );
140
- const file_path = <span class="cstat-no" title="statement not covered" >target_locreq.resolve(`src/back/collections/${url}.ts`);</span>
141
- &nbsp;
142
- <span class="cstat-no" title="statement not covered" > if (existsSync(file_path)) {</span>
143
- // eslint-disable-next-line no-console
144
- <span class="cstat-no" title="statement not covered" > console.error(`ERROR: File ${file_path} already exists.`);</span>
145
- <span class="cstat-no" title="statement not covered" > return;</span>
146
- }
147
- <span class="cstat-no" title="statement not covered" > await fs.mkdir(resolve(file_path, "../"), { recursive: true });</span>
148
- <span class="cstat-no" title="statement not covered" > await fs.writeFile(file_path, collectionTemplate(collection_name));</span>
149
- // eslint-disable-next-line no-console
150
- <span class="cstat-no" title="statement not covered" > console.log(`${file_path} created`);</span>
151
- <span class="cstat-no" title="statement not covered" > await generateCollections();</span>
152
- }
153
- &nbsp;</pre></td></tr></table></pre>
154
-
155
- <div class='push'></div><!-- for sticky footer -->
156
- </div><!-- /wrapper -->
157
- <div class='footer quiet pad2 space-top1 center small'>
158
- Code coverage generated by
159
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
160
- at Thu Apr 20 2023 20:03:31 GMT+0200 (Central European Summer Time)
161
- </div>
162
- </div>
163
- <script src="../prettify.js"></script>
164
- <script>
165
- window.onload = function () {
166
- prettyPrint();
167
- };
168
- </script>
169
- <script src="../sorter.js"></script>
170
- <script src="../block-navigation.js"></script>
171
- </body>
172
- </html>
173
-
@@ -1,254 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/add-route.test.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">src</a> add-route.test.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">94.44% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>34/36</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>3/6</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>3/3</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">97.06% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>33/34</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- </div>
58
- <div class='status-line high'></div>
59
- <pre><table class="coverage">
60
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
- <a name='L2'></a><a href='#L2'>2</a>
62
- <a name='L3'></a><a href='#L3'>3</a>
63
- <a name='L4'></a><a href='#L4'>4</a>
64
- <a name='L5'></a><a href='#L5'>5</a>
65
- <a name='L6'></a><a href='#L6'>6</a>
66
- <a name='L7'></a><a href='#L7'>7</a>
67
- <a name='L8'></a><a href='#L8'>8</a>
68
- <a name='L9'></a><a href='#L9'>9</a>
69
- <a name='L10'></a><a href='#L10'>10</a>
70
- <a name='L11'></a><a href='#L11'>11</a>
71
- <a name='L12'></a><a href='#L12'>12</a>
72
- <a name='L13'></a><a href='#L13'>13</a>
73
- <a name='L14'></a><a href='#L14'>14</a>
74
- <a name='L15'></a><a href='#L15'>15</a>
75
- <a name='L16'></a><a href='#L16'>16</a>
76
- <a name='L17'></a><a href='#L17'>17</a>
77
- <a name='L18'></a><a href='#L18'>18</a>
78
- <a name='L19'></a><a href='#L19'>19</a>
79
- <a name='L20'></a><a href='#L20'>20</a>
80
- <a name='L21'></a><a href='#L21'>21</a>
81
- <a name='L22'></a><a href='#L22'>22</a>
82
- <a name='L23'></a><a href='#L23'>23</a>
83
- <a name='L24'></a><a href='#L24'>24</a>
84
- <a name='L25'></a><a href='#L25'>25</a>
85
- <a name='L26'></a><a href='#L26'>26</a>
86
- <a name='L27'></a><a href='#L27'>27</a>
87
- <a name='L28'></a><a href='#L28'>28</a>
88
- <a name='L29'></a><a href='#L29'>29</a>
89
- <a name='L30'></a><a href='#L30'>30</a>
90
- <a name='L31'></a><a href='#L31'>31</a>
91
- <a name='L32'></a><a href='#L32'>32</a>
92
- <a name='L33'></a><a href='#L33'>33</a>
93
- <a name='L34'></a><a href='#L34'>34</a>
94
- <a name='L35'></a><a href='#L35'>35</a>
95
- <a name='L36'></a><a href='#L36'>36</a>
96
- <a name='L37'></a><a href='#L37'>37</a>
97
- <a name='L38'></a><a href='#L38'>38</a>
98
- <a name='L39'></a><a href='#L39'>39</a>
99
- <a name='L40'></a><a href='#L40'>40</a>
100
- <a name='L41'></a><a href='#L41'>41</a>
101
- <a name='L42'></a><a href='#L42'>42</a>
102
- <a name='L43'></a><a href='#L43'>43</a>
103
- <a name='L44'></a><a href='#L44'>44</a>
104
- <a name='L45'></a><a href='#L45'>45</a>
105
- <a name='L46'></a><a href='#L46'>46</a>
106
- <a name='L47'></a><a href='#L47'>47</a>
107
- <a name='L48'></a><a href='#L48'>48</a>
108
- <a name='L49'></a><a href='#L49'>49</a>
109
- <a name='L50'></a><a href='#L50'>50</a>
110
- <a name='L51'></a><a href='#L51'>51</a>
111
- <a name='L52'></a><a href='#L52'>52</a>
112
- <a name='L53'></a><a href='#L53'>53</a>
113
- <a name='L54'></a><a href='#L54'>54</a>
114
- <a name='L55'></a><a href='#L55'>55</a>
115
- <a name='L56'></a><a href='#L56'>56</a>
116
- <a name='L57'></a><a href='#L57'>57</a>
117
- <a name='L58'></a><a href='#L58'>58</a>
118
- <a name='L59'></a><a href='#L59'>59</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
119
- <span class="cline-any cline-yes">1x</span>
120
- <span class="cline-any cline-yes">1x</span>
121
- <span class="cline-any cline-yes">1x</span>
122
- <span class="cline-any cline-yes">1x</span>
123
- <span class="cline-any cline-yes">1x</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">1x</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-yes">1x</span>
128
- <span class="cline-any cline-yes">1x</span>
129
- <span class="cline-any cline-yes">1x</span>
130
- <span class="cline-any cline-yes">1x</span>
131
- <span class="cline-any cline-yes">1x</span>
132
- <span class="cline-any cline-yes">1x</span>
133
- <span class="cline-any cline-yes">1x</span>
134
- <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-yes">1x</span>
140
- <span class="cline-any cline-yes">1x</span>
141
- <span class="cline-any cline-yes">1x</span>
142
- <span class="cline-any cline-yes">1x</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-yes">1x</span>
146
- <span class="cline-any cline-yes">1x</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-yes">1x</span>
150
- <span class="cline-any cline-yes">1x</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-yes">1x</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-yes">1x</span>
157
- <span class="cline-any cline-yes">1x</span>
158
- <span class="cline-any cline-yes">1x</span>
159
- <span class="cline-any cline-yes">1x</span>
160
- <span class="cline-any cline-yes">1x</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">1x</span>
164
- <span class="cline-any cline-yes">1x</span>
165
- <span class="cline-any cline-yes">1x</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-yes">1x</span>
172
- <span class="cline-any cline-yes">1x</span>
173
- <span class="cline-any cline-no">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { promises as fs } from "fs";
177
- import { exec, spawn } from "child_process";
178
- import { promisify } from "util";
179
- import axios from "axios";
180
- import waitPort from "wait-port";
181
- import getPort from "get-port";
182
- &nbsp;
183
- const execAsync = promisify(exec);
184
- &nbsp;
185
- describe("add route test", () =&gt; {
186
- let node_pid = 0;
187
- const app_path = "/tmp/sealious-minimal";
188
- const container_name = "sealgen-test-mongo";
189
- afterEach(async function () {
190
- <span class="missing-if-branch" title="else path not taken" >E</span>if (node_pid != 0) await execAsync(`kill -9 ${node_pid}`);
191
- await Promise.all([
192
- fs.rm(app_path, { recursive: true, force: true }),
193
- execAsync(`docker rm -f ${container_name}`),
194
- ]);
195
- });
196
- &nbsp;
197
- it("creates minimal sealious app", async function () {
198
- this.timeout(250000);
199
- console.log("\tcloning sealious-minimal...");
200
- await execAsync(
201
- `git clone https://hub.sealcode.org/source/sealious-minimal.git ${app_path} &amp;&amp; cd ${app_path} &amp;&amp; git checkout f48991a0a8b426e0d2f4a4b448fdd41d643b0dae`
202
- );
203
- console.log("\tinstalling dependencies and sealgen...");
204
- await execAsync(
205
- `cd ${app_path} &amp;&amp; npm ci &amp;&amp; rm -rf node_modules/@sealcode/sealgen &amp;&amp; ln -s $OLDPWD node_modules/@sealcode/sealgen`
206
- );
207
- console.log("\trunning add-route and building app...");
208
- await execAsync(
209
- `cd ${app_path} &amp;&amp; npx sealgen add-route --url=/sample --action=Sample --mode=page &amp;&amp; npm run build`
210
- );
211
- console.log(
212
- "\tstarting the database...(if timeouts here, run 'docker pull mongo:4.4-bionic' to solve)"
213
- );
214
- const port = await getPort();
215
- await execAsync(`docker run -p ${port}:27017 --name ${container_name} -d mongo:4.4-bionic`);
216
- console.log("\trunning app and making request to the generated url...");
217
- const env = { ...process.env, SEALIOUS_MONGO_PORT: port.toString() };
218
- let app_start = spawn(`node`, [`${app_path}/dist/back/index.js`], {
219
- env,
220
- });
221
- <span class="missing-if-branch" title="if path not taken" >I</span>if (app_start.pid == undefined) <span class="cstat-no" title="statement not covered" >throw new Error("node failed to start");</span>
222
- node_pid = app_start.pid;
223
- await waitPort({
224
- host: "localhost",
225
- port: 8080,
226
- output: "silent",
227
- timeout: 6000,
228
- });
229
- const res = await axios.get("http://localhost:8080/sample");
230
- <span class="missing-if-branch" title="if path not taken" >I</span>if (res.status != 200)
231
- <span class="cstat-no" title="statement not covered" > throw new Error("url generated by add-route exists but doesnt return 200");</span>
232
- });
233
- });
234
- &nbsp;</pre></td></tr></table></pre>
235
-
236
- <div class='push'></div><!-- for sticky footer -->
237
- </div><!-- /wrapper -->
238
- <div class='footer quiet pad2 space-top1 center small'>
239
- Code coverage generated by
240
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
241
- at Thu Apr 20 2023 20:03:31 GMT+0200 (Central European Summer Time)
242
- </div>
243
- </div>
244
- <script src="../prettify.js"></script>
245
- <script>
246
- window.onload = function () {
247
- prettyPrint();
248
- };
249
- </script>
250
- <script src="../sorter.js"></script>
251
- <script src="../block-navigation.js"></script>
252
- </body>
253
- </html>
254
-