@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
package/@types/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * as Controls from "./forms/controls/controls";
11
11
  export * as Fields from "./forms/fields/field";
12
12
  export * from "./page/mountable";
13
13
  export * from "./page/page";
14
+ export * from "./page/stateful-page";
14
15
  export * from "./forms/form";
15
16
  export * from "./page/props-parser";
16
17
  export * from "./utils/utils";
@@ -0,0 +1,34 @@
1
+ /// <reference types="koa__router" />
2
+ import Router from "@koa/router";
3
+ import { BaseContext } from "koa";
4
+ import { Templatable } from "tempstream";
5
+ import { ExtractTail } from "../utils/utils";
6
+ import { Mountable } from "./mountable";
7
+ export declare abstract class StatefulPage<State extends Record<string, unknown>, Actions extends Record<string, (state: State, inputs: Record<string, string>, ...args: unknown[]) => State>> extends Mountable {
8
+ abstract actions: Actions;
9
+ abstract getInitialState(): State;
10
+ abstract render(ctx: BaseContext, state: State, inputs: Record<string, string>): Templatable | Promise<Templatable>;
11
+ canAccess(): Promise<{
12
+ readonly canAccess: true;
13
+ readonly message: "";
14
+ }>;
15
+ constructor();
16
+ abstract wrapInLayout(ctx: BaseContext, content: Templatable): Templatable;
17
+ wrapInForm(state: State, content: Templatable): Templatable;
18
+ makeActionButton<ActionName extends keyof Actions>(state: State, action_description: {
19
+ action: ActionName;
20
+ label?: string;
21
+ } | ActionName, ...args: ExtractTail<ExtractTail<Parameters<Actions[ActionName]>>>): string;
22
+ extractState(ctx: BaseContext): {
23
+ state: State;
24
+ inputs: Record<string, string>;
25
+ action: keyof Actions;
26
+ action_args: string;
27
+ } | {
28
+ state: State;
29
+ inputs: Record<string, string>;
30
+ action: null;
31
+ action_args: null;
32
+ };
33
+ mount(router: Router, path: string): void;
34
+ }
@@ -0,0 +1 @@
1
+ export declare function statefulPageTemplate(action_name: string, newfilefullpath: string): Promise<string>;
@@ -0,0 +1,2 @@
1
+ export declare function to_base64(s: string): string;
2
+ export declare function from_base64(s: string): string;
@@ -1,5 +1,7 @@
1
1
  export declare type Awaited<T> = T extends Promise<infer U> ? U : T;
2
2
  export declare type UnwrapArray<T> = T extends Array<infer U> ? U : T;
3
+ export declare function keys<S extends string>(object: Record<S, unknown>): S[];
4
+ export declare type ExtractTail<T extends any[]> = T extends [infer _, ...infer Tail] ? Tail : never;
3
5
  export { sleep } from "./sleep";
4
6
  export { naturalNumbers } from "./natural-numbers";
5
7
  export { UrlWithNewParams } from "./url-with-new-params";
@@ -11,3 +13,4 @@ export { assertThrowsAsync } from "./assert-throws";
11
13
  export * from "./make-slug";
12
14
  export * from "./render-attributes";
13
15
  export * from "./format-external-url";
16
+ export * from "./base64";
package/lib/add-route.js CHANGED
@@ -17,6 +17,7 @@ const route_test_1 = require("./templates/route-test");
17
17
  const escape_url_params_1 = require("./utils/escape-url-params");
18
18
  const prompts = require("prompts");
19
19
  const post_1 = require("./templates/post");
20
+ const stateful_page_1 = require("./templates/stateful-page");
20
21
  async function addRoute(params, app_directory = process.cwd()) {
21
22
  const target_locreq = locreq_1.default(app_directory);
22
23
  prompts.override(params);
@@ -39,6 +40,7 @@ async function addRoute(params, app_directory = process.cwd()) {
39
40
  message: "What kind of route is it?",
40
41
  choices: [
41
42
  { title: "page", value: "page" },
43
+ { title: "stateful page", value: "sreact" },
42
44
  { title: "form", value: "form" },
43
45
  { title: "list", value: "list" },
44
46
  { title: "multiform", value: "multiform" },
@@ -57,6 +59,7 @@ async function addRoute(params, app_directory = process.cwd()) {
57
59
  multiform: multiform_1.multiformTemplate,
58
60
  redirect: redirect_1.redirectTemplate,
59
61
  post: post_1.postTemplate,
62
+ sreact: stateful_page_1.statefulPageTemplate,
60
63
  }[mode];
61
64
  if (!template) {
62
65
  throw new Error(`Could not get template ${mode}`);
@@ -66,7 +66,8 @@ async function generateRoutes() {
66
66
  f.endsWith(".multiform.ts") ||
67
67
  f.endsWith(".list.ts") ||
68
68
  f.endsWith(".redirect.ts") ||
69
- f.endsWith(".post.ts"))
69
+ f.endsWith(".post.ts") ||
70
+ f.endsWith(".sreact.ts"))
70
71
  .map(async (fullpath) => ({
71
72
  fullpath,
72
73
  actionName: await extractActionName(fullpath),
package/lib/index.js CHANGED
@@ -27,6 +27,7 @@ exports.Controls = __importStar(require("./forms/controls/controls"));
27
27
  exports.Fields = __importStar(require("./forms/fields/field"));
28
28
  __exportStar(require("./page/mountable"), exports);
29
29
  __exportStar(require("./page/page"), exports);
30
+ __exportStar(require("./page/stateful-page"), exports);
30
31
  __exportStar(require("./forms/form"), exports);
31
32
  __exportStar(require("./page/props-parser"), exports);
32
33
  __exportStar(require("./utils/utils"), exports);
package/lib/make-env.js CHANGED
@@ -11,7 +11,7 @@ const target_locreq = locreq_1.default(process.cwd());
11
11
  async function makeEnv() {
12
12
  const { uid, gid } = os_1.default.userInfo();
13
13
  const content = `USER_ID=${uid}
14
- GROUD_ID=${gid}
14
+ GROUP_ID=${gid}
15
15
  `;
16
16
  const path = target_locreq.resolve(".env");
17
17
  await fs_1.promises.writeFile(path, content);
package/lib/mount.js CHANGED
@@ -54,7 +54,7 @@ function mount(router, url, mountable, use_dummy_app = false) {
54
54
  const url2 = ctx.URL;
55
55
  if (!url2.pathname.endsWith("/")) {
56
56
  url2.pathname += "/";
57
- ctx.redirect(url2.pathname);
57
+ ctx.redirect(url2.href);
58
58
  }
59
59
  await next();
60
60
  });
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StatefulPage = void 0;
7
+ const ts_predicates_1 = require("@sealcode/ts-predicates");
8
+ const deepmerge_1 = __importDefault(require("deepmerge"));
9
+ const tempstream_1 = require("tempstream");
10
+ const base64_1 = require("../utils/base64");
11
+ const mountable_1 = require("./mountable");
12
+ class StatefulPage extends mountable_1.Mountable {
13
+ async canAccess() {
14
+ return { canAccess: true, message: "" };
15
+ }
16
+ constructor() {
17
+ super();
18
+ const original_render = this.render.bind(this);
19
+ this.render = async (ctx, state, inputs) => {
20
+ return this.wrapInLayout(ctx, this.wrapInForm(state, await original_render(ctx, state, inputs)));
21
+ };
22
+ }
23
+ wrapInForm(state, content) {
24
+ return tempstream_1.tempstream /* HTML */ `<form action="./" method="POST">
25
+ <input
26
+ name="state"
27
+ type="hidden"
28
+ value="${base64_1.to_base64(JSON.stringify(state))}"
29
+ />
30
+ ${content}
31
+ </form>`;
32
+ }
33
+ makeActionButton(state, action_description, ...args) {
34
+ let label, action;
35
+ if (ts_predicates_1.is(action_description, ts_predicates_1.predicates.object)) {
36
+ action = action_description.action.toString();
37
+ label = action_description.label || action;
38
+ }
39
+ else {
40
+ action = action_description.toString();
41
+ label = action;
42
+ }
43
+ return /* HTML */ `
44
+ <input
45
+ type="submit"
46
+ value=${label}
47
+ formaction="./?action=${action}&args=${base64_1.to_base64(JSON.stringify(args))}"
48
+ />
49
+ `;
50
+ }
51
+ extractState(ctx) {
52
+ if (!ts_predicates_1.hasShape({
53
+ action: ts_predicates_1.predicates.maybe(ts_predicates_1.predicates.string),
54
+ state: ts_predicates_1.predicates.string,
55
+ args: ts_predicates_1.predicates.maybe(ts_predicates_1.predicates.string),
56
+ $: ts_predicates_1.predicates.maybe(ts_predicates_1.predicates.object),
57
+ }, ctx.$body)) {
58
+ console.error("Wrong data: ", ctx.$body);
59
+ throw new Error("wrong formdata shape");
60
+ }
61
+ const inputs = Object.fromEntries(Object.entries(ctx.$body).filter(([key]) => !["action", "state", "args", "$"].includes(key)));
62
+ // the "$" key is parsed as dot notation and overrides the state
63
+ const original_state = JSON.parse(base64_1.from_base64(ctx.$body.state));
64
+ const modified_state = deepmerge_1.default(original_state, ctx.$body.$ || {}, {
65
+ arrayMerge: (target, source, options) => {
66
+ // https://github.com/TehShrike/deepmerge#user-content-arraymerge-example-combine-arrays
67
+ const destination = target.slice();
68
+ source.forEach((item, index) => {
69
+ if (typeof destination[index] === "undefined") {
70
+ destination[index] =
71
+ options.cloneUnlessOtherwiseSpecified(item, options);
72
+ }
73
+ else if (options.isMergeableObject(item)) {
74
+ destination[index] = deepmerge_1.default(target[index], item, options);
75
+ }
76
+ else if (target.indexOf(item) === -1) {
77
+ destination.push(item);
78
+ }
79
+ });
80
+ return destination;
81
+ },
82
+ });
83
+ if (ctx.$body.action && ctx.$body.args) {
84
+ return {
85
+ state: modified_state,
86
+ action: ctx.$body.action,
87
+ inputs,
88
+ action_args: ctx.$body.args,
89
+ };
90
+ }
91
+ else {
92
+ return {
93
+ state: modified_state,
94
+ action: null,
95
+ action_args: null,
96
+ inputs,
97
+ };
98
+ }
99
+ }
100
+ mount(router, path) {
101
+ router.get(path, (ctx) => {
102
+ ctx.body = this.render(ctx, this.getInitialState(), {});
103
+ });
104
+ router.post(path, (ctx) => {
105
+ const { action, state, inputs, action_args } = this.extractState(ctx);
106
+ if (action) {
107
+ ctx.body = this.render(ctx, this.actions[action](state, inputs, ...JSON.parse(base64_1.from_base64(action_args))), inputs);
108
+ }
109
+ else {
110
+ ctx.body = this.render(ctx, state, inputs);
111
+ }
112
+ ctx.status = 433;
113
+ });
114
+ }
115
+ }
116
+ exports.StatefulPage = StatefulPage;
117
+ //# sourceMappingURL=stateful-page.js.map
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.statefulPageTemplate = void 0;
4
+ const import_path_1 = require("../utils/import-path");
5
+ async function statefulPageTemplate(action_name, newfilefullpath) {
6
+ const rel = import_path_1.curryImportPath(newfilefullpath);
7
+ return `import { BaseContext } from "koa";
8
+ import { tempstream, Templatable } from "tempstream";
9
+ import { StatefulPage } from "@sealcode/sealgen";
10
+ import html from "${rel("src/back/html")}";
11
+
12
+ export const actionName = "${action_name}";
13
+
14
+ const actions = <const>{
15
+ add: (state: State, inputs: Record<string, string>) => {
16
+ console.log({ inputs });
17
+ return {
18
+ ...state,
19
+ elements: [...state.elements, inputs.element_to_add || "new element"],
20
+ };
21
+ },
22
+ remove: (state: State, _: unknown, index_to_remove: number) => {
23
+ return {
24
+ ...state,
25
+ elements: state.elements.filter((_, index) => index != index_to_remove),
26
+ };
27
+ },
28
+ };
29
+
30
+ type State = {
31
+ elements: string[];
32
+ };
33
+
34
+ export default new (class ${action_name}Page extends StatefulPage<State, typeof actions> {
35
+ actions = actions;
36
+
37
+ getInitialState() {
38
+ return { elements: ["one", "two", "three"] };
39
+ }
40
+
41
+ wrapInLayout(ctx: BaseContext, content: Templatable): Templatable {
42
+ return html(ctx, "${action_name}", content);
43
+ }
44
+
45
+ render(ctx: BaseContext, state: State, inputs: Record<string, string>) {
46
+ return tempstream/* HTML */ \`<ul>
47
+ \${state.elements.map(
48
+ (e, index) => /* HTML */ \`<li>
49
+ \${e} \${this.makeActionButton(state, "remove", index)}
50
+ </li>\`
51
+ )}
52
+ </ul>
53
+ <div>
54
+ <input
55
+ name="element_to_add"
56
+ type="text"
57
+ value="\${inputs.element_to_add || ""}"
58
+ />
59
+ \${this.makeActionButton(state, "add")}
60
+ </div>\`;
61
+ }
62
+ })();
63
+ `;
64
+ }
65
+ exports.statefulPageTemplate = statefulPageTemplate;
66
+ //# sourceMappingURL=stateful-page.js.map
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.from_base64 = exports.to_base64 = void 0;
4
+ function to_base64(s) {
5
+ return Buffer.from(s).toString("base64");
6
+ }
7
+ exports.to_base64 = to_base64;
8
+ function from_base64(s) {
9
+ return Buffer.from(s, "base64").toString("utf-8");
10
+ }
11
+ exports.from_base64 = from_base64;
12
+ //# sourceMappingURL=base64.js.map
@@ -10,7 +10,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.assertThrowsAsync = exports.walkDir = exports.listCollections = exports.curryImportPath = exports.importPath = exports.exec = exports.UrlWithNewParams = exports.naturalNumbers = exports.sleep = void 0;
13
+ exports.assertThrowsAsync = exports.walkDir = exports.listCollections = exports.curryImportPath = exports.importPath = exports.exec = exports.UrlWithNewParams = exports.naturalNumbers = exports.sleep = exports.keys = void 0;
14
+ function keys(object) {
15
+ return Object.keys(object);
16
+ }
17
+ exports.keys = keys;
14
18
  var sleep_1 = require("./sleep");
15
19
  Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return sleep_1.sleep; } });
16
20
  var natural_numbers_1 = require("./natural-numbers");
@@ -31,4 +35,5 @@ Object.defineProperty(exports, "assertThrowsAsync", { enumerable: true, get: fun
31
35
  __exportStar(require("./make-slug"), exports);
32
36
  __exportStar(require("./render-attributes"), exports);
33
37
  __exportStar(require("./format-external-url"), exports);
38
+ __exportStar(require("./base64"), exports);
34
39
  //# sourceMappingURL=utils.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sealcode/sealgen",
3
- "version": "0.8.44",
3
+ "version": "0.8.48",
4
4
  "description": "Module to automate adding routes and collections to a sealious application",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -47,6 +47,7 @@
47
47
  "dependencies": {
48
48
  "@koa/router": "^10.1.1",
49
49
  "@sealcode/ts-predicates": "^0.4.3",
50
+ "deepmerge": "^4.3.1",
50
51
  "esbuild": "^0.15.5",
51
52
  "esbuild-sass-plugin": "^2.3.1",
52
53
  "koa": "^2.13.0",
package/tsconfig.json CHANGED
@@ -16,7 +16,6 @@
16
16
  "resolveJsonModule": true,
17
17
  "sourceMap": true,
18
18
  "allowSyntheticDefaultImports": true,
19
- "keyofStringsOnly": true,
20
19
  "skipLibCheck": true
21
20
  },
22
21
  "include": ["src/**/*"],
package/.arcconfig DELETED
@@ -1,12 +0,0 @@
1
- {
2
- "phabricator.uri": "https://hub.sealcode.org/",
3
- "arc.land.onto.default": "hotwire",
4
- "load": [
5
- "arcanist-linters",
6
- "arc-unit-mocha/src"
7
- ],
8
- "unit.engine": "MochaEngine",
9
- "unit.mocha.include": [
10
- ".test/**/*.ts"
11
- ]
12
- }
package/.arclint DELETED
@@ -1,18 +0,0 @@
1
- {
2
- "linters": {
3
- "prettier": {
4
- "type": "prettier",
5
- "bin": "./node_modules/.bin/prettier",
6
- "include": [
7
- "(src/.*\\.[tj]s$)"
8
- ]
9
- },
10
- "eslint": {
11
- "type": "eslint",
12
- "include": [
13
- "(src/.*\\.ts$)",
14
- "(src/.*\\.js$)"
15
- ]
16
- }
17
- }
18
- }
package/.eslintrc.js DELETED
@@ -1,38 +0,0 @@
1
- module.exports = {
2
- env: { node: true },
3
- parser: "@typescript-eslint/parser",
4
- plugins: ["@typescript-eslint", "prettier"],
5
- extends: [
6
- "eslint:recommended",
7
- "plugin:@typescript-eslint/recommended",
8
- "plugin:@typescript-eslint/recommended-requiring-type-checking",
9
- "plugin:prettier/recommended",
10
- ],
11
- ignorePatterns: [".eslintrc.js", "src/**/*.test.ts", "@types/*", "mocha_root_hooks.js"],
12
- parserOptions: {
13
- sourceType: "module",
14
- ecmaFeatures: {
15
- modules: true,
16
- },
17
- project: ["./tsconfig.json"],
18
- },
19
- rules: {
20
- "@typescript-eslint/require-await": 0,
21
- "no-await-in-loop": 2,
22
- "@typescript-eslint/no-misused-promises": 0,
23
- },
24
- settings: { jsdoc: { mode: "typescript" } },
25
- overrides: [
26
- {
27
- files: ["*.subtest.ts", "*.test.ts"],
28
- rules: {
29
- "@typescript-eslint/no-unsafe-member-access": 0,
30
- "prefer-const": 0,
31
- "@typescript-eslint/no-unsafe-call": 0,
32
- "@typescript-eslint/no-unsafe-return": 0,
33
- "@typescript-eslint/no-unsafe-assignment": 0,
34
- "no-await-in-loop": 1, // sometimes it's easier to debug when requests run sequentially
35
- },
36
- },
37
- ],
38
- };
package/.mocharc.js DELETED
@@ -1,10 +0,0 @@
1
- module.exports = {
2
- require: [
3
- "ts-node/register",
4
- "source-map-support/register",
5
- "./mocha_root_hooks.js",
6
- ],
7
- recursive: true,
8
- timeout: "10000",
9
- spec: ["src/*.test.ts", "src/**/*.test.ts"],
10
- };