@defra/forms-engine-plugin 4.7.2 → 4.8.0

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 (407) hide show
  1. package/.public/javascripts/shared.min.js +1 -1
  2. package/.public/javascripts/shared.min.js.map +1 -1
  3. package/.server/client/javascripts/geospatial-map.d.ts +6 -6
  4. package/.server/client/javascripts/geospatial-map.js +3 -3
  5. package/.server/client/javascripts/location-map.d.ts +1 -1
  6. package/.server/client/javascripts/location-map.js +1 -1
  7. package/.server/client/javascripts/map.d.ts +5 -1
  8. package/.server/client/javascripts/map.js +10 -2
  9. package/.server/client/javascripts/map.js.map +1 -1
  10. package/.server/client/javascripts/shared.d.ts +7 -7
  11. package/.server/server/index.d.ts +1 -1
  12. package/.server/server/plugins/crumb.d.ts +1 -1
  13. package/.server/server/plugins/engine/beta/form-context.d.ts +6 -6
  14. package/.server/server/plugins/engine/components/AutocompleteField.d.ts +4 -4
  15. package/.server/server/plugins/engine/components/CheckboxesField.d.ts +2 -2
  16. package/.server/server/plugins/engine/components/CheckboxesField.js +2 -2
  17. package/.server/server/plugins/engine/components/CheckboxesField.js.map +1 -1
  18. package/.server/server/plugins/engine/components/ComponentBase.d.ts +5 -5
  19. package/.server/server/plugins/engine/components/ComponentCollection.d.ts +8 -8
  20. package/.server/server/plugins/engine/components/DatePartsField.d.ts +11 -11
  21. package/.server/server/plugins/engine/components/DeclarationField.d.ts +3 -3
  22. package/.server/server/plugins/engine/components/Details.d.ts +1 -1
  23. package/.server/server/plugins/engine/components/EastingNorthingField.d.ts +22 -22
  24. package/.server/server/plugins/engine/components/EmailAddressField.d.ts +4 -4
  25. package/.server/server/plugins/engine/components/FileUploadField.d.ts +3 -3
  26. package/.server/server/plugins/engine/components/FormComponent.d.ts +10 -10
  27. package/.server/server/plugins/engine/components/GeospatialField.d.ts +6 -6
  28. package/.server/server/plugins/engine/components/HiddenField.d.ts +2 -2
  29. package/.server/server/plugins/engine/components/Html.d.ts +1 -1
  30. package/.server/server/plugins/engine/components/InsetText.d.ts +1 -1
  31. package/.server/server/plugins/engine/components/LatLongField.d.ts +22 -22
  32. package/.server/server/plugins/engine/components/List.d.ts +8 -8
  33. package/.server/server/plugins/engine/components/ListFormComponent.d.ts +10 -10
  34. package/.server/server/plugins/engine/components/LocationFieldBase.d.ts +6 -6
  35. package/.server/server/plugins/engine/components/LocationFieldHelpers.d.ts +14 -14
  36. package/.server/server/plugins/engine/components/Markdown.d.ts +1 -1
  37. package/.server/server/plugins/engine/components/MonthYearField.d.ts +11 -11
  38. package/.server/server/plugins/engine/components/MultilineTextField.d.ts +5 -5
  39. package/.server/server/plugins/engine/components/NationalGridFieldNumberField.d.ts +1 -1
  40. package/.server/server/plugins/engine/components/NumberField.d.ts +3 -3
  41. package/.server/server/plugins/engine/components/OsGridRefField.d.ts +1 -1
  42. package/.server/server/plugins/engine/components/PaymentField.d.ts +12 -12
  43. package/.server/server/plugins/engine/components/RadiosField.d.ts +1 -1
  44. package/.server/server/plugins/engine/components/SelectField.d.ts +4 -4
  45. package/.server/server/plugins/engine/components/SelectionControlField.d.ts +10 -10
  46. package/.server/server/plugins/engine/components/TelephoneNumberField.d.ts +4 -4
  47. package/.server/server/plugins/engine/components/TextField.d.ts +2 -2
  48. package/.server/server/plugins/engine/components/UkAddressField.d.ts +11 -11
  49. package/.server/server/plugins/engine/components/YesNoField.d.ts +2 -2
  50. package/.server/server/plugins/engine/components/helpers/__stubs__/geospatial.d.ts +1 -1
  51. package/.server/server/plugins/engine/components/helpers/components.d.ts +5 -5
  52. package/.server/server/plugins/engine/components/helpers/geospatial.d.ts +1 -1
  53. package/.server/server/plugins/engine/components/index.d.ts +27 -27
  54. package/.server/server/plugins/engine/components/types.d.ts +1 -1
  55. package/.server/server/plugins/engine/configureEnginePlugin.d.ts +4 -4
  56. package/.server/server/plugins/engine/date-helper.d.ts +1 -1
  57. package/.server/server/plugins/engine/helpers.d.ts +8 -8
  58. package/.server/server/plugins/engine/index.d.ts +5 -5
  59. package/.server/server/plugins/engine/models/FormModel.d.ts +6 -6
  60. package/.server/server/plugins/engine/models/SummaryViewModel.d.ts +6 -6
  61. package/.server/server/plugins/engine/models/index.d.ts +2 -2
  62. package/.server/server/plugins/engine/models/types.d.ts +4 -4
  63. package/.server/server/plugins/engine/options.d.ts +1 -1
  64. package/.server/server/plugins/engine/options.js +1 -1
  65. package/.server/server/plugins/engine/options.test.js +1 -1
  66. package/.server/server/plugins/engine/outputFormatters/adapter/v1.d.ts +4 -4
  67. package/.server/server/plugins/engine/outputFormatters/human/v1.d.ts +4 -4
  68. package/.server/server/plugins/engine/outputFormatters/index.d.ts +5 -5
  69. package/.server/server/plugins/engine/outputFormatters/machine/v1.d.ts +4 -4
  70. package/.server/server/plugins/engine/outputFormatters/machine/v2.d.ts +4 -4
  71. package/.server/server/plugins/engine/pageControllers/FileUploadPageController.d.ts +8 -8
  72. package/.server/server/plugins/engine/pageControllers/PageController.d.ts +6 -6
  73. package/.server/server/plugins/engine/pageControllers/QuestionPageController.d.ts +8 -8
  74. package/.server/server/plugins/engine/pageControllers/RepeatPageController.d.ts +5 -5
  75. package/.server/server/plugins/engine/pageControllers/StartPageController.d.ts +4 -4
  76. package/.server/server/plugins/engine/pageControllers/StatusPageController.d.ts +4 -4
  77. package/.server/server/plugins/engine/pageControllers/SummaryPageController.d.ts +5 -5
  78. package/.server/server/plugins/engine/pageControllers/TerminalPageController.d.ts +3 -3
  79. package/.server/server/plugins/engine/pageControllers/__stubs__/request.d.ts +2 -2
  80. package/.server/server/plugins/engine/pageControllers/errors.d.ts +1 -1
  81. package/.server/server/plugins/engine/pageControllers/helpers/pages.d.ts +2 -2
  82. package/.server/server/plugins/engine/pageControllers/helpers/state.d.ts +5 -5
  83. package/.server/server/plugins/engine/pageControllers/helpers/state.js +1 -1
  84. package/.server/server/plugins/engine/pageControllers/helpers/state.js.map +1 -1
  85. package/.server/server/plugins/engine/pageControllers/helpers/submission.d.ts +1 -1
  86. package/.server/server/plugins/engine/pageControllers/index.d.ts +7 -7
  87. package/.server/server/plugins/engine/plugin.d.ts +1 -1
  88. package/.server/server/plugins/engine/routes/file-upload.d.ts +1 -1
  89. package/.server/server/plugins/engine/routes/index.d.ts +3 -3
  90. package/.server/server/plugins/engine/routes/payment-helper.d.ts +3 -3
  91. package/.server/server/plugins/engine/routes/payment-helper.js +2 -2
  92. package/.server/server/plugins/engine/routes/payment.js +5 -5
  93. package/.server/server/plugins/engine/routes/payment.test.js +1 -1
  94. package/.server/server/plugins/engine/routes/questions.d.ts +2 -2
  95. package/.server/server/plugins/engine/routes/repeaters/item-delete.d.ts +2 -2
  96. package/.server/server/plugins/engine/routes/repeaters/summary.d.ts +2 -2
  97. package/.server/server/plugins/engine/services/index.d.ts +3 -3
  98. package/.server/server/plugins/engine/services/notifyService.d.ts +4 -4
  99. package/.server/server/plugins/engine/services/uploadService.d.ts +2 -2
  100. package/.server/server/plugins/engine/services/uploadService.js +1 -1
  101. package/.server/server/plugins/engine/types/index.d.ts +10 -10
  102. package/.server/server/plugins/engine/types/schema.d.ts +1 -1
  103. package/.server/server/plugins/engine/types.d.ts +25 -16
  104. package/.server/server/plugins/engine/types.js.map +1 -1
  105. package/.server/server/plugins/engine/validationHelpers.d.ts +2 -2
  106. package/.server/server/plugins/engine/vision.d.ts +1 -1
  107. package/.server/server/plugins/map/index.d.ts +1 -1
  108. package/.server/server/plugins/map/index.js +1 -1
  109. package/.server/server/plugins/map/routes/get-os-token.d.ts +11 -1
  110. package/.server/server/plugins/map/routes/get-os-token.js +12 -2
  111. package/.server/server/plugins/map/routes/get-os-token.js.map +1 -1
  112. package/.server/server/plugins/map/routes/index.d.ts +4 -4
  113. package/.server/server/plugins/map/routes/index.js +3 -2
  114. package/.server/server/plugins/map/routes/index.js.map +1 -1
  115. package/.server/server/plugins/map/routes/vts/esri-aerial.json +23 -0
  116. package/.server/server/plugins/map/service.d.ts +1 -1
  117. package/.server/server/plugins/map/service.js +5 -2
  118. package/.server/server/plugins/map/service.js.map +1 -1
  119. package/.server/server/plugins/map/test/__stubs__/find.d.ts +1 -1
  120. package/.server/server/plugins/map/test/__stubs__/find.js +1 -1
  121. package/.server/server/plugins/nunjucks/context.d.ts +2 -2
  122. package/.server/server/plugins/nunjucks/context.js +2 -2
  123. package/.server/server/plugins/nunjucks/context.test.js +1 -1
  124. package/.server/server/plugins/nunjucks/enviroment.test.js +1 -1
  125. package/.server/server/plugins/nunjucks/environment.d.ts +3 -3
  126. package/.server/server/plugins/nunjucks/environment.js +3 -3
  127. package/.server/server/plugins/nunjucks/filters/answer.d.ts +1 -1
  128. package/.server/server/plugins/nunjucks/filters/answer.js +2 -2
  129. package/.server/server/plugins/nunjucks/filters/answer.test.js +1 -1
  130. package/.server/server/plugins/nunjucks/filters/evaluate.d.ts +1 -1
  131. package/.server/server/plugins/nunjucks/filters/evaluate.js +1 -1
  132. package/.server/server/plugins/nunjucks/filters/field.d.ts +1 -1
  133. package/.server/server/plugins/nunjucks/filters/field.js +1 -1
  134. package/.server/server/plugins/nunjucks/filters/field.test.js +1 -1
  135. package/.server/server/plugins/nunjucks/filters/href.d.ts +1 -1
  136. package/.server/server/plugins/nunjucks/filters/href.js +1 -1
  137. package/.server/server/plugins/nunjucks/filters/href.test.js +1 -1
  138. package/.server/server/plugins/nunjucks/filters/index.d.ts +8 -8
  139. package/.server/server/plugins/nunjucks/filters/page.d.ts +1 -1
  140. package/.server/server/plugins/nunjucks/filters/page.js +1 -1
  141. package/.server/server/plugins/nunjucks/filters/page.test.js +1 -1
  142. package/.server/server/plugins/nunjucks/index.d.ts +3 -3
  143. package/.server/server/plugins/nunjucks/render.d.ts +2 -2
  144. package/.server/server/plugins/nunjucks/render.js +1 -1
  145. package/.server/server/plugins/nunjucks/types.d.ts +1 -1
  146. package/.server/server/plugins/nunjucks/types.js +1 -1
  147. package/.server/server/plugins/payment/helper.d.ts +2 -2
  148. package/.server/server/plugins/payment/helper.js +1 -1
  149. package/.server/server/plugins/payment/service.d.ts +3 -3
  150. package/.server/server/plugins/payment/service.js +1 -1
  151. package/.server/server/plugins/postcode-lookup/index.d.ts +1 -1
  152. package/.server/server/plugins/postcode-lookup/index.js +1 -1
  153. package/.server/server/plugins/postcode-lookup/models/index.d.ts +6 -6
  154. package/.server/server/plugins/postcode-lookup/models/index.js +1 -1
  155. package/.server/server/plugins/postcode-lookup/routes/index.d.ts +6 -6
  156. package/.server/server/plugins/postcode-lookup/routes/index.js +15 -15
  157. package/.server/server/plugins/postcode-lookup/routes/index.js.map +1 -1
  158. package/.server/server/plugins/postcode-lookup/service.d.ts +1 -1
  159. package/.server/server/plugins/postcode-lookup/service.js +5 -2
  160. package/.server/server/plugins/postcode-lookup/service.js.map +1 -1
  161. package/.server/server/plugins/postcode-lookup/types.js +1 -1
  162. package/.server/server/routes/index.d.ts +2 -2
  163. package/.server/server/routes/types.d.ts +1 -1
  164. package/.server/server/schemas/index.d.ts +2 -2
  165. package/.server/server/services/cacheService.d.ts +8 -8
  166. package/.server/server/services/cacheService.js +2 -5
  167. package/.server/server/services/cacheService.js.map +1 -1
  168. package/.server/server/services/httpService.test.js +1 -1
  169. package/.server/server/services/index.d.ts +1 -1
  170. package/.server/server/types.d.ts +7 -7
  171. package/.server/server/utils/file-form-service.d.ts +2 -2
  172. package/.server/server/utils/file-form-service.js +1 -1
  173. package/package.json +8 -4
  174. package/src/client/javascripts/application.js +1 -1
  175. package/src/client/javascripts/geospatial-map.js +4 -4
  176. package/src/client/javascripts/location-map.js +2 -2
  177. package/src/client/javascripts/map.js +13 -4
  178. package/src/client/javascripts/shared.js +7 -7
  179. package/src/index.ts +3 -3
  180. package/src/server/common/helpers/logging/logger-options.ts +1 -1
  181. package/src/server/common/helpers/logging/logger.ts +1 -1
  182. package/src/server/common/helpers/logging/request-logger.ts +1 -1
  183. package/src/server/common/helpers/logging/request-tracing.js +1 -1
  184. package/src/server/common/helpers/redis-client.js +2 -2
  185. package/src/server/index.ts +13 -13
  186. package/src/server/plugins/crumb.ts +2 -2
  187. package/src/server/plugins/engine/beta/form-context.ts +9 -9
  188. package/src/server/plugins/engine/components/AutocompleteField.ts +3 -3
  189. package/src/server/plugins/engine/components/CheckboxesField.ts +7 -8
  190. package/src/server/plugins/engine/components/ComponentBase.ts +5 -5
  191. package/src/server/plugins/engine/components/ComponentCollection.ts +9 -9
  192. package/src/server/plugins/engine/components/DatePartsField.ts +8 -8
  193. package/src/server/plugins/engine/components/DeclarationField.ts +3 -3
  194. package/src/server/plugins/engine/components/Details.ts +1 -1
  195. package/src/server/plugins/engine/components/EastingNorthingField.ts +9 -9
  196. package/src/server/plugins/engine/components/EmailAddressField.ts +3 -3
  197. package/src/server/plugins/engine/components/FileUploadField.ts +6 -6
  198. package/src/server/plugins/engine/components/FormComponent.ts +4 -4
  199. package/src/server/plugins/engine/components/GeospatialField.ts +5 -5
  200. package/src/server/plugins/engine/components/HiddenField.ts +4 -4
  201. package/src/server/plugins/engine/components/Html.ts +1 -1
  202. package/src/server/plugins/engine/components/InsetText.ts +1 -1
  203. package/src/server/plugins/engine/components/LatLongField.ts +9 -9
  204. package/src/server/plugins/engine/components/List.ts +2 -2
  205. package/src/server/plugins/engine/components/ListFormComponent.ts +4 -4
  206. package/src/server/plugins/engine/components/LocationFieldBase.ts +5 -5
  207. package/src/server/plugins/engine/components/LocationFieldHelpers.ts +5 -5
  208. package/src/server/plugins/engine/components/Markdown.ts +1 -1
  209. package/src/server/plugins/engine/components/MonthYearField.ts +8 -8
  210. package/src/server/plugins/engine/components/MultilineTextField.ts +4 -4
  211. package/src/server/plugins/engine/components/NationalGridFieldNumberField.ts +2 -2
  212. package/src/server/plugins/engine/components/NumberField.ts +3 -3
  213. package/src/server/plugins/engine/components/OsGridRefField.ts +2 -2
  214. package/src/server/plugins/engine/components/PaymentField.ts +8 -8
  215. package/src/server/plugins/engine/components/RadiosField.ts +1 -1
  216. package/src/server/plugins/engine/components/SelectField.ts +2 -2
  217. package/src/server/plugins/engine/components/SelectionControlField.ts +4 -4
  218. package/src/server/plugins/engine/components/TelephoneNumberField.ts +4 -4
  219. package/src/server/plugins/engine/components/TextField.ts +3 -3
  220. package/src/server/plugins/engine/components/UkAddressField.ts +7 -7
  221. package/src/server/plugins/engine/components/YesNoField.ts +5 -5
  222. package/src/server/plugins/engine/components/helpers/__stubs__/geospatial.ts +1 -1
  223. package/src/server/plugins/engine/components/helpers/components.ts +8 -8
  224. package/src/server/plugins/engine/components/helpers/geospatial.ts +1 -1
  225. package/src/server/plugins/engine/components/index.ts +27 -27
  226. package/src/server/plugins/engine/components/types.ts +1 -1
  227. package/src/server/plugins/engine/configureEnginePlugin.ts +10 -10
  228. package/src/server/plugins/engine/date-helper.ts +1 -1
  229. package/src/server/plugins/engine/helpers.ts +8 -8
  230. package/src/server/plugins/engine/index.ts +8 -8
  231. package/src/server/plugins/engine/models/FormModel.ts +15 -15
  232. package/src/server/plugins/engine/models/SummaryViewModel.ts +10 -10
  233. package/src/server/plugins/engine/models/index.ts +2 -2
  234. package/src/server/plugins/engine/models/types.ts +4 -4
  235. package/src/server/plugins/engine/options.js +3 -3
  236. package/src/server/plugins/engine/outputFormatters/adapter/v1.ts +6 -6
  237. package/src/server/plugins/engine/outputFormatters/human/v1.ts +9 -9
  238. package/src/server/plugins/engine/outputFormatters/index.ts +8 -8
  239. package/src/server/plugins/engine/outputFormatters/machine/v1.ts +7 -7
  240. package/src/server/plugins/engine/outputFormatters/machine/v2.ts +6 -6
  241. package/src/server/plugins/engine/pageControllers/FileUploadPageController.ts +9 -9
  242. package/src/server/plugins/engine/pageControllers/PageController.ts +7 -7
  243. package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +13 -13
  244. package/src/server/plugins/engine/pageControllers/RepeatPageController.ts +6 -6
  245. package/src/server/plugins/engine/pageControllers/StartPageController.ts +3 -3
  246. package/src/server/plugins/engine/pageControllers/StatusPageController.ts +5 -5
  247. package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +12 -12
  248. package/src/server/plugins/engine/pageControllers/TerminalPageController.ts +3 -3
  249. package/src/server/plugins/engine/pageControllers/__stubs__/request.ts +3 -3
  250. package/src/server/plugins/engine/pageControllers/__stubs__/server.ts +2 -2
  251. package/src/server/plugins/engine/pageControllers/errors.ts +1 -1
  252. package/src/server/plugins/engine/pageControllers/helpers/pages.ts +2 -2
  253. package/src/server/plugins/engine/pageControllers/helpers/state.ts +9 -9
  254. package/src/server/plugins/engine/pageControllers/helpers/submission.ts +5 -5
  255. package/src/server/plugins/engine/pageControllers/index.ts +7 -7
  256. package/src/server/plugins/engine/pageControllers/validationOptions.ts +1 -1
  257. package/src/server/plugins/engine/plugin.ts +14 -14
  258. package/src/server/plugins/engine/routes/file-upload.ts +2 -2
  259. package/src/server/plugins/engine/routes/index.ts +10 -10
  260. package/src/server/plugins/engine/routes/payment-helper.js +4 -4
  261. package/src/server/plugins/engine/routes/payment.js +9 -9
  262. package/src/server/plugins/engine/routes/questions.ts +10 -10
  263. package/src/server/plugins/engine/routes/repeaters/item-delete.ts +6 -6
  264. package/src/server/plugins/engine/routes/repeaters/summary.ts +5 -5
  265. package/src/server/plugins/engine/services/formSubmissionService.js +2 -2
  266. package/src/server/plugins/engine/services/index.js +3 -3
  267. package/src/server/plugins/engine/services/localFormsService.js +2 -2
  268. package/src/server/plugins/engine/services/notifyService.ts +9 -9
  269. package/src/server/plugins/engine/services/uploadService.js +3 -3
  270. package/src/server/plugins/engine/types/index.ts +10 -10
  271. package/src/server/plugins/engine/types/schema.ts +2 -2
  272. package/src/server/plugins/engine/types.ts +22 -17
  273. package/src/server/plugins/engine/validationHelpers.ts +3 -3
  274. package/src/server/plugins/engine/vision.ts +3 -3
  275. package/src/server/plugins/map/index.js +2 -2
  276. package/src/server/plugins/map/routes/get-os-token.js +15 -3
  277. package/src/server/plugins/map/routes/index.js +7 -5
  278. package/src/server/plugins/map/routes/vts/esri-aerial.json +23 -0
  279. package/src/server/plugins/map/service.js +7 -4
  280. package/src/server/plugins/map/test/__stubs__/find.js +1 -1
  281. package/src/server/plugins/nunjucks/context.js +5 -5
  282. package/src/server/plugins/nunjucks/environment.js +6 -6
  283. package/src/server/plugins/nunjucks/filters/answer.js +3 -3
  284. package/src/server/plugins/nunjucks/filters/evaluate.js +2 -2
  285. package/src/server/plugins/nunjucks/filters/field.js +1 -1
  286. package/src/server/plugins/nunjucks/filters/href.js +2 -2
  287. package/src/server/plugins/nunjucks/filters/index.js +8 -8
  288. package/src/server/plugins/nunjucks/filters/page.js +1 -1
  289. package/src/server/plugins/nunjucks/index.js +3 -3
  290. package/src/server/plugins/nunjucks/plugin.js +3 -3
  291. package/src/server/plugins/nunjucks/render.js +2 -2
  292. package/src/server/plugins/nunjucks/types.js +1 -1
  293. package/src/server/plugins/payment/helper.js +2 -2
  294. package/src/server/plugins/payment/service.js +4 -4
  295. package/src/server/plugins/postcode-lookup/index.js +2 -2
  296. package/src/server/plugins/postcode-lookup/models/index.js +3 -3
  297. package/src/server/plugins/postcode-lookup/routes/index.js +24 -14
  298. package/src/server/plugins/postcode-lookup/service.js +7 -4
  299. package/src/server/plugins/postcode-lookup/types.js +1 -1
  300. package/src/server/plugins/session.ts +1 -1
  301. package/src/server/routes/index.ts +2 -2
  302. package/src/server/routes/public.ts +1 -1
  303. package/src/server/routes/types.ts +1 -1
  304. package/src/server/schemas/index.ts +2 -2
  305. package/src/server/secure-context.js +1 -1
  306. package/src/server/services/cacheService.ts +13 -18
  307. package/src/server/services/httpService.ts +1 -1
  308. package/src/server/services/index.ts +1 -1
  309. package/src/server/types.ts +7 -7
  310. package/src/server/utils/notify.ts +2 -2
  311. package/src/server/utils/utils.js +1 -1
  312. package/src/typings/hapi/index.d.ts +4 -4
  313. package/src/typings/joi/index.d.ts +1 -1
  314. package/src/server/common/helpers/logging/logger-options.test.ts +0 -50
  315. package/src/server/index.test.ts +0 -644
  316. package/src/server/plugins/engine/beta/form-context.test.ts +0 -373
  317. package/src/server/plugins/engine/components/AutocompleteField.test.ts +0 -362
  318. package/src/server/plugins/engine/components/CheckboxesField.test.ts +0 -486
  319. package/src/server/plugins/engine/components/DatePartsField.test.ts +0 -927
  320. package/src/server/plugins/engine/components/DeclarationField.test.ts +0 -560
  321. package/src/server/plugins/engine/components/Details.test.ts +0 -49
  322. package/src/server/plugins/engine/components/EastingNorthingField.test.ts +0 -727
  323. package/src/server/plugins/engine/components/EmailAddressField.test.ts +0 -445
  324. package/src/server/plugins/engine/components/FileUploadField.test.ts +0 -1079
  325. package/src/server/plugins/engine/components/GeospatialField.test.ts +0 -380
  326. package/src/server/plugins/engine/components/HiddenField.test.ts +0 -188
  327. package/src/server/plugins/engine/components/Html.test.ts +0 -48
  328. package/src/server/plugins/engine/components/InsetText.test.ts +0 -48
  329. package/src/server/plugins/engine/components/LatLongField.test.ts +0 -898
  330. package/src/server/plugins/engine/components/List.test.ts +0 -79
  331. package/src/server/plugins/engine/components/LocationFieldBase.test.ts +0 -253
  332. package/src/server/plugins/engine/components/LocationFieldHelpers.test.ts +0 -743
  333. package/src/server/plugins/engine/components/Markdown.test.ts +0 -48
  334. package/src/server/plugins/engine/components/MonthYearField.test.ts +0 -617
  335. package/src/server/plugins/engine/components/MultilineTextField.test.ts +0 -647
  336. package/src/server/plugins/engine/components/NationalGridFieldNumberField.test.ts +0 -449
  337. package/src/server/plugins/engine/components/NumberField.test.ts +0 -723
  338. package/src/server/plugins/engine/components/OsGridRefField.test.ts +0 -460
  339. package/src/server/plugins/engine/components/PaymentField.test.ts +0 -745
  340. package/src/server/plugins/engine/components/RadiosField.test.ts +0 -297
  341. package/src/server/plugins/engine/components/SelectField.test.ts +0 -289
  342. package/src/server/plugins/engine/components/TelephoneNumberField.test.ts +0 -384
  343. package/src/server/plugins/engine/components/TextField.test.ts +0 -521
  344. package/src/server/plugins/engine/components/UkAddressField.test.ts +0 -806
  345. package/src/server/plugins/engine/components/YesNoField.test.ts +0 -256
  346. package/src/server/plugins/engine/components/helpers/components.test.ts +0 -399
  347. package/src/server/plugins/engine/components/helpers/geospatial.test.js +0 -55
  348. package/src/server/plugins/engine/components/helpers/helpers.test.ts +0 -219
  349. package/src/server/plugins/engine/date-helper.test.ts +0 -47
  350. package/src/server/plugins/engine/helpers.test.ts +0 -868
  351. package/src/server/plugins/engine/models/FormModel.test.ts +0 -725
  352. package/src/server/plugins/engine/models/SummaryViewModel.test.ts +0 -472
  353. package/src/server/plugins/engine/options.test.js +0 -63
  354. package/src/server/plugins/engine/outputFormatters/adapter/v1.location.test.ts +0 -356
  355. package/src/server/plugins/engine/outputFormatters/adapter/v1.test.ts +0 -871
  356. package/src/server/plugins/engine/outputFormatters/human/v1.payment.test.ts +0 -147
  357. package/src/server/plugins/engine/outputFormatters/human/v1.test.ts +0 -145
  358. package/src/server/plugins/engine/outputFormatters/index.test.ts +0 -17
  359. package/src/server/plugins/engine/outputFormatters/machine/v1.test.ts +0 -268
  360. package/src/server/plugins/engine/outputFormatters/machine/v2.location.test.ts +0 -341
  361. package/src/server/plugins/engine/outputFormatters/machine/v2.payment.test.ts +0 -115
  362. package/src/server/plugins/engine/outputFormatters/machine/v2.test.ts +0 -311
  363. package/src/server/plugins/engine/pageControllers/FileUploadPageController.test.ts +0 -1372
  364. package/src/server/plugins/engine/pageControllers/PageController.test.ts +0 -246
  365. package/src/server/plugins/engine/pageControllers/QuestionPageController.test.ts +0 -1686
  366. package/src/server/plugins/engine/pageControllers/RepeatPageController.test.ts +0 -279
  367. package/src/server/plugins/engine/pageControllers/StartPageController.test.ts +0 -32
  368. package/src/server/plugins/engine/pageControllers/StatusPageController.test.ts +0 -32
  369. package/src/server/plugins/engine/pageControllers/SummaryPageController.test.ts +0 -89
  370. package/src/server/plugins/engine/pageControllers/TerminalController.test.ts +0 -37
  371. package/src/server/plugins/engine/pageControllers/errors.test.ts +0 -78
  372. package/src/server/plugins/engine/pageControllers/helpers/helpers.test.ts +0 -182
  373. package/src/server/plugins/engine/pageControllers/helpers/state.test.ts +0 -359
  374. package/src/server/plugins/engine/pageControllers/helpers/submission.test.ts +0 -373
  375. package/src/server/plugins/engine/referenceNumbers.test.ts +0 -74
  376. package/src/server/plugins/engine/routes/index.test.ts +0 -332
  377. package/src/server/plugins/engine/routes/payment-helper.test.js +0 -136
  378. package/src/server/plugins/engine/routes/payment.test.js +0 -180
  379. package/src/server/plugins/engine/routes/questions.test.ts +0 -502
  380. package/src/server/plugins/engine/routes/repeaters/item-delete.test.ts +0 -83
  381. package/src/server/plugins/engine/routes/repeaters/summary.test.ts +0 -75
  382. package/src/server/plugins/engine/services/formsService.test.js +0 -26
  383. package/src/server/plugins/engine/services/notifyService.test.ts +0 -310
  384. package/src/server/plugins/engine/types/schema.test.ts +0 -234
  385. package/src/server/plugins/engine/views/components/service-banner/template.test.js +0 -43
  386. package/src/server/plugins/engine/views/components/tag-env/template.test.js +0 -28
  387. package/src/server/plugins/engine/views/partials/preview-banner.test.js +0 -122
  388. package/src/server/plugins/map/routes/get-os-token.test.js +0 -55
  389. package/src/server/plugins/map/service.test.js +0 -144
  390. package/src/server/plugins/nunjucks/context.test.js +0 -109
  391. package/src/server/plugins/nunjucks/enviroment.test.js +0 -207
  392. package/src/server/plugins/nunjucks/filters/answer.test.js +0 -92
  393. package/src/server/plugins/nunjucks/filters/field.test.js +0 -75
  394. package/src/server/plugins/nunjucks/filters/href.test.js +0 -80
  395. package/src/server/plugins/nunjucks/filters/merge.test.js +0 -15
  396. package/src/server/plugins/nunjucks/filters/page.test.js +0 -65
  397. package/src/server/plugins/payment/helper.test.js +0 -29
  398. package/src/server/plugins/payment/service.test.js +0 -218
  399. package/src/server/plugins/postcode-lookup/service.test.js +0 -177
  400. package/src/server/postcode-lookup.test.ts +0 -64
  401. package/src/server/routes/dummy-api.test.ts +0 -97
  402. package/src/server/services/cacheService.test.ts +0 -308
  403. package/src/server/services/httpService.test.js +0 -491
  404. package/src/server/utils/file-form-service.test.js +0 -127
  405. package/src/server/utils/notify.test.ts +0 -37
  406. package/src/server/utils/secure-context/get-trust-store-certs.test.js +0 -19
  407. package/src/server/utils/utils.test.js +0 -69
@@ -4,22 +4,22 @@ import Boom from '@hapi/boom'
4
4
  import { type RouteOptions, type ServerRoute } from '@hapi/hapi'
5
5
  import Joi from 'joi'
6
6
 
7
- import { RepeatPageController } from '~/src/server/plugins/engine/pageControllers/RepeatPageController.js'
8
- import { redirectOrMakeHandler } from '~/src/server/plugins/engine/routes/index.js'
9
- import { type OnRequestCallback } from '~/src/server/plugins/engine/types.js'
7
+ import { RepeatPageController } from '../../pageControllers/RepeatPageController.js'
8
+ import { redirectOrMakeHandler } from '../index.js'
9
+ import { type OnRequestCallback } from '../../types.js'
10
10
  import {
11
11
  type FormRequest,
12
12
  type FormRequestPayload,
13
13
  type FormRequestPayloadRefs,
14
14
  type FormRequestRefs,
15
15
  type FormResponseToolkit
16
- } from '~/src/server/routes/types.js'
16
+ } from '../../../../routes/types.js'
17
17
  import {
18
18
  actionSchema,
19
19
  crumbSchema,
20
20
  pathSchema,
21
21
  stateSchema
22
- } from '~/src/server/schemas/index.js'
22
+ } from '../../../../schemas/index.js'
23
23
 
24
24
  function getHandler(onRequest?: OnRequestCallback) {
25
25
  return async function (request: FormRequest, h: FormResponseToolkit) {
@@ -1,5 +1,5 @@
1
- import { config } from '~/src/config/index.js'
2
- import { postJson } from '~/src/server/services/httpService.js'
1
+ import { config } from '../../../../config/index.js'
2
+ import { postJson } from '../../../services/httpService.js'
3
3
 
4
4
  const submissionUrl = config.get('submissionUrl')
5
5
 
@@ -1,3 +1,3 @@
1
- export * as formsService from '~/src/server/plugins/engine/services/formsService.js'
2
- export * as formSubmissionService from '~/src/server/plugins/engine/services/formSubmissionService.js'
3
- export * as outputService from '~/src/server/plugins/engine/services/notifyService.js'
1
+ export * as formsService from './formsService.js'
2
+ export * as formSubmissionService from './formSubmissionService.js'
3
+ export * as outputService from './notifyService.js'
@@ -1,5 +1,5 @@
1
- import { config } from '~/src/config/index.js'
2
- import { FileFormService } from '~/src/server/utils/file-form-service.js'
1
+ import { config } from '../../../../config/index.js'
2
+ import { FileFormService } from '../../../utils/file-form-service.js'
3
3
 
4
4
  // Create shared form metadata
5
5
  const now = new Date()
@@ -4,15 +4,15 @@ import {
4
4
  type SubmitResponsePayload
5
5
  } from '@defra/forms-model'
6
6
 
7
- import { config } from '~/src/config/index.js'
8
- import { escapeMarkdown } from '~/src/server/plugins/engine/components/helpers/index.js'
9
- import { checkFormStatus } from '~/src/server/plugins/engine/helpers.js'
10
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js'
11
- import { type DetailItem } from '~/src/server/plugins/engine/models/types.js'
12
- import { getFormatter } from '~/src/server/plugins/engine/outputFormatters/index.js'
13
- import { type FormContext } from '~/src/server/plugins/engine/types.js'
14
- import { type FormRequestPayload } from '~/src/server/routes/types.js'
15
- import { sendNotification } from '~/src/server/utils/notify.js'
7
+ import { config } from '../../../../config/index.js'
8
+ import { escapeMarkdown } from '../components/helpers/index.js'
9
+ import { checkFormStatus } from '../helpers.js'
10
+ import { type FormModel } from '../models/index.js'
11
+ import { type DetailItem } from '../models/types.js'
12
+ import { getFormatter } from '../outputFormatters/index.js'
13
+ import { type FormContext } from '../types.js'
14
+ import { type FormRequestPayload } from '../../../routes/types.js'
15
+ import { sendNotification } from '../../../utils/notify.js'
16
16
 
17
17
  const templateId = config.get('notifyTemplateId')
18
18
 
@@ -1,5 +1,5 @@
1
- import { config } from '~/src/config/index.js'
2
- import { getJson, postJson } from '~/src/server/services/httpService.js'
1
+ import { config } from '../../../../config/index.js'
2
+ import { getJson, postJson } from '../../../services/httpService.js'
3
3
 
4
4
  const uploaderUrl = config.get('uploaderUrl')
5
5
  const submissionUrl = config.get('submissionUrl')
@@ -60,5 +60,5 @@ export async function getUploadStatus(uploadId) {
60
60
  }
61
61
 
62
62
  /**
63
- * @import { UploadInitiateResponse, UploadStatusResponse } from '~/src/server/plugins/engine/types.js'
63
+ * @import { UploadInitiateResponse, UploadStatusResponse } from '../types.js'
64
64
  */
@@ -41,9 +41,9 @@ export type {
41
41
  UploadInitiateResponse,
42
42
  UploadStatusFileResponse,
43
43
  UploadStatusResponse
44
- } from '~/src/server/plugins/engine/types.js'
44
+ } from '../types.js'
45
45
 
46
- export { FileStatus, UploadStatus } from '~/src/server/plugins/engine/types.js'
46
+ export { FileStatus, UploadStatus } from '../types.js'
47
47
 
48
48
  export type {
49
49
  Detail,
@@ -52,7 +52,7 @@ export type {
52
52
  DetailItemField,
53
53
  DetailItemRepeat,
54
54
  ExecutableCondition
55
- } from '~/src/server/plugins/engine/models/types.js'
55
+ } from '../models/types.js'
56
56
 
57
57
  export type {
58
58
  BackLink,
@@ -68,9 +68,9 @@ export type {
68
68
  ListItemLabel,
69
69
  MonthYearState,
70
70
  ViewModel
71
- } from '~/src/server/plugins/engine/components/types.js'
71
+ } from '../components/types.js'
72
72
 
73
- export type { UkAddressState } from '~/src/server/plugins/engine/components/UkAddressField.js'
73
+ export type { UkAddressState } from '../components/UkAddressField.js'
74
74
 
75
75
  export type {
76
76
  FormParams,
@@ -80,9 +80,9 @@ export type {
80
80
  FormRequestPayloadRefs,
81
81
  FormRequestRefs,
82
82
  FormResponseToolkit
83
- } from '~/src/server/routes/types.js'
83
+ } from '../../../routes/types.js'
84
84
 
85
- export { FormAction, FormStatus } from '~/src/server/routes/types.js'
85
+ export { FormAction, FormStatus } from '../../../routes/types.js'
86
86
 
87
87
  export type {
88
88
  FormSubmissionService,
@@ -90,7 +90,7 @@ export type {
90
90
  OutputService,
91
91
  RouteConfig,
92
92
  Services
93
- } from '~/src/server/types.js'
93
+ } from '../../../types.js'
94
94
 
95
- export * from '~/src/server/plugins/engine/types/schema.js'
96
- export { FormAdapterSubmissionSchemaVersion } from '~/src/server/plugins/engine/types/enums.js'
95
+ export * from './schema.js'
96
+ export { FormAdapterSubmissionSchemaVersion } from './enums.js'
@@ -8,13 +8,13 @@ import {
8
8
  } from '@defra/forms-model'
9
9
  import Joi from 'joi'
10
10
 
11
- import { FormAdapterSubmissionSchemaVersion } from '~/src/server/plugins/engine/types/enums.js'
11
+ import { FormAdapterSubmissionSchemaVersion } from './enums.js'
12
12
  import {
13
13
  type FormAdapterSubmissionMessageData,
14
14
  type FormAdapterSubmissionMessageMeta,
15
15
  type FormAdapterSubmissionMessagePayload,
16
16
  type FormAdapterSubmissionMessageResult
17
- } from '~/src/server/plugins/engine/types.js'
17
+ } from '../types.js'
18
18
 
19
19
  export const formAdapterSubmissionMessageMetaSchema =
20
20
  Joi.object<FormAdapterSubmissionMessageMeta>().keys({
@@ -15,13 +15,13 @@ import {
15
15
  } from '@hapi/hapi'
16
16
  import { type JoiExpression, type ValidationErrorItem } from 'joi'
17
17
 
18
- import { FormComponent } from '~/src/server/plugins/engine/components/FormComponent.js'
19
- import { type UkAddressState } from '~/src/server/plugins/engine/components/UkAddressField.js'
20
- import { type Component } from '~/src/server/plugins/engine/components/helpers/components.js'
18
+ import { FormComponent } from './components/FormComponent.js'
19
+ import { type UkAddressState } from './components/UkAddressField.js'
20
+ import { type Component } from './components/helpers/components.js'
21
21
  import {
22
22
  type FileUploadField,
23
23
  type PaymentField
24
- } from '~/src/server/plugins/engine/components/index.js'
24
+ } from './components/index.js'
25
25
  import {
26
26
  type BackLink,
27
27
  type ComponentText,
@@ -30,32 +30,37 @@ import {
30
30
  type EastingNorthingState,
31
31
  type LatLongState,
32
32
  type MonthYearState
33
- } from '~/src/server/plugins/engine/components/types.js'
34
- import { type FormModel } from '~/src/server/plugins/engine/models/index.js'
35
- import { type DetailItemField } from '~/src/server/plugins/engine/models/types.js'
36
- import { type PageController } from '~/src/server/plugins/engine/pageControllers/PageController.js'
37
- import { type PageControllerClass } from '~/src/server/plugins/engine/pageControllers/helpers/pages.js'
38
- import { type QuestionPageController } from '~/src/server/plugins/engine/pageControllers/index.js'
33
+ } from './components/types.js'
34
+ import { type FormModel } from './models/index.js'
35
+ import { type DetailItemField } from './models/types.js'
36
+ import { type PageController } from './pageControllers/PageController.js'
37
+ import { type PageControllerClass } from './pageControllers/helpers/pages.js'
38
+ import { type QuestionPageController } from './pageControllers/index.js'
39
39
  import {
40
40
  type FileStatus,
41
41
  type FormAdapterSubmissionSchemaVersion,
42
42
  type UploadStatus
43
- } from '~/src/server/plugins/engine/types/enums.js'
44
- import { type ViewContext } from '~/src/server/plugins/nunjucks/types.js'
43
+ } from './types/enums.js'
44
+ import { type ViewContext } from '../nunjucks/types.js'
45
45
  import {
46
46
  type FormAction,
47
47
  type FormRequest,
48
48
  type FormRequestPayload,
49
49
  type FormResponseToolkit,
50
50
  type FormStatus
51
- } from '~/src/server/routes/types.js'
52
- import { type CacheService } from '~/src/server/services/cacheService.js'
53
- import { type RequestOptions } from '~/src/server/services/httpService.js'
54
- import { type Services } from '~/src/server/types.js'
51
+ } from '../../routes/types.js'
52
+ import { type CacheService } from '../../services/cacheService.js'
53
+ import { type RequestOptions } from '../../services/httpService.js'
54
+ import { type Services } from '../../types.js'
55
55
 
56
56
  export type AnyFormRequest = FormRequest | FormRequestPayload
57
57
  export type AnyRequest = Request | AnyFormRequest
58
58
 
59
+ export interface CacheRequest {
60
+ yar: { id: string | undefined }
61
+ params: { slug?: string; state?: string }
62
+ }
63
+
59
64
  /**
60
65
  * Form submission state stores the following in Redis:
61
66
  * Props containing user's submitted values as `{ [inputId]: value }` or as `{ [sectionName]: { [inputName]: value } }`
@@ -224,7 +229,7 @@ export interface UploadInitiateResponse {
224
229
  export {
225
230
  FileStatus,
226
231
  UploadStatus
227
- } from '~/src/server/plugins/engine/types/enums.js'
232
+ } from './types/enums.js'
228
233
 
229
234
  export type UploadState = FileState[]
230
235
 
@@ -1,11 +1,11 @@
1
1
  import { type ResponseObject } from '@hapi/hapi'
2
2
 
3
- import * as Components from '~/src/server/plugins/engine/components/index.js'
3
+ import * as Components from './components/index.js'
4
4
  import {
5
5
  type FormRequestPayload,
6
6
  type FormResponseToolkit
7
- } from '~/src/server/plugins/engine/types/index.js'
8
- import { type ExternalArgs } from '~/src/server/plugins/engine/types.js'
7
+ } from './types/index.js'
8
+ import { type ExternalArgs } from './types.js'
9
9
 
10
10
  // Type guard for ExternalComponent
11
11
  export function isExternalComponent(
@@ -11,9 +11,9 @@ import {
11
11
  VIEW_PATH,
12
12
  context,
13
13
  prepareNunjucksEnvironment
14
- } from '~/src/server/plugins/engine/index.js'
15
- import { type PluginOptions } from '~/src/server/plugins/engine/types.js'
16
- import { VIEW_PATH as POSTCODE_LOOKUP_VIEW_PATH } from '~/src/server/plugins/postcode-lookup/index.js'
14
+ } from './index.js'
15
+ import { type PluginOptions } from './types.js'
16
+ import { VIEW_PATH as POSTCODE_LOOKUP_VIEW_PATH } from '../postcode-lookup/index.js'
17
17
 
18
18
  export async function registerVision(
19
19
  server: Server,
@@ -1,4 +1,4 @@
1
- import { getRoutes } from '~/src/server/plugins/map/routes/index.js'
1
+ import { getRoutes } from './routes/index.js'
2
2
 
3
3
  /**
4
4
  * @satisfies {NamedPlugin<MapConfiguration>}
@@ -15,5 +15,5 @@ export const mapPlugin = {
15
15
 
16
16
  /**
17
17
  * @import { NamedPlugin } from '@hapi/hapi'
18
- * @import { MapConfiguration } from '~/src/server/plugins/map/types.js'
18
+ * @import { MapConfiguration } from './types.js'
19
19
  */
@@ -1,4 +1,4 @@
1
- import { post } from '~/src/server/services/httpService.js'
1
+ import { post } from '../../../services/httpService.js'
2
2
 
3
3
  /**
4
4
  * @type {string}
@@ -19,7 +19,9 @@ export async function getAccessToken(options) {
19
19
  }
20
20
 
21
21
  const creds = `${key}:${secret}`
22
- const result = await post('https://api.os.uk/oauth2/token/v1', {
22
+ const postByType = /** @type {typeof post<OsTokenResponse>} */ (post)
23
+
24
+ const result = await postByType('https://api.os.uk/oauth2/token/v1', {
23
25
  headers: {
24
26
  Authorization: `Basic ${btoa(creds)}`,
25
27
  'Content-Type': 'application/x-www-form-urlencoded'
@@ -30,6 +32,10 @@ export async function getAccessToken(options) {
30
32
 
31
33
  const data = result.payload
32
34
 
35
+ if (!data) {
36
+ throw new Error('Failed to obtain OS API token')
37
+ }
38
+
33
39
  cachedToken = data.access_token
34
40
  tokenExpiry = now + (data.expires_in - 60) * 1000 // refresh early
35
41
 
@@ -37,5 +43,11 @@ export async function getAccessToken(options) {
37
43
  }
38
44
 
39
45
  /**
40
- * @import { MapConfiguration } from '~/src/server/plugins/map/types.js'
46
+ * @typedef {object} OsTokenResponse
47
+ * @property {string} access_token - The access token
48
+ * @property {number} expires_in - The expiry in seconds
49
+ */
50
+
51
+ /**
52
+ * @import { MapConfiguration } from '../types.js'
41
53
  */
@@ -3,12 +3,12 @@ import { resolve } from 'node:path'
3
3
  import { StatusCodes } from 'http-status-codes'
4
4
  import Joi from 'joi'
5
5
 
6
- import { getAccessToken } from '~/src/server/plugins/map/routes/get-os-token.js'
7
- import { find, nearest } from '~/src/server/plugins/map/service.js'
6
+ import { getAccessToken } from './get-os-token.js'
7
+ import { find, nearest } from '../service.js'
8
8
  import {
9
9
  get,
10
10
  request as httpRequest
11
- } from '~/src/server/services/httpService.js'
11
+ } from '../../../services/httpService.js'
12
12
 
13
13
  /**
14
14
  * Gets the map support routes
@@ -85,7 +85,9 @@ function tileProxyRoute(options) {
85
85
 
86
86
  const url = `https://api.os.uk/maps/vector/v1/vts/tile/${z}/${y}/${x}.pbf?srs=3857`
87
87
 
88
- const { payload, res } = await get(url, {
88
+ const getBuffer = /** @type {typeof get<Buffer>} */ (get)
89
+
90
+ const { payload, res } = await getBuffer(url, {
89
91
  headers: {
90
92
  Authorization: `Bearer ${token}`,
91
93
  Accept: 'application/x-protobuf'
@@ -188,5 +190,5 @@ function mapStyleResourceRoutes() {
188
190
 
189
191
  /**
190
192
  * @import { ServerRoute } from '@hapi/hapi'
191
- * @import { MapConfiguration, MapProxyGetRequestRefs, MapGeocodeGetRequestRefs, MapReverseGeocodeGetRequestRefs } from '~/src/server/plugins/map/types.js'
193
+ * @import { MapConfiguration, MapProxyGetRequestRefs, MapGeocodeGetRequestRefs, MapReverseGeocodeGetRequestRefs } from '../types.js'
192
194
  */
@@ -0,0 +1,23 @@
1
+ {
2
+ "version": 8,
3
+ "name": "Esri World Imagery",
4
+ "sources": {
5
+ "esri-world-imagery": {
6
+ "type": "raster",
7
+ "tiles": [
8
+ "https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"
9
+ ],
10
+ "tileSize": 256,
11
+ "attribution": "Tiles © Esri — Source: Esri, Maxar, Earthstar Geographics, and the GIS User Community"
12
+ }
13
+ },
14
+ "layers": [
15
+ {
16
+ "id": "esri-world-imagery-layer",
17
+ "type": "raster",
18
+ "source": "esri-world-imagery",
19
+ "minzoom": 0,
20
+ "maxzoom": 22
21
+ }
22
+ ]
23
+ }
@@ -1,8 +1,8 @@
1
1
  import { getErrorMessage } from '@defra/forms-model'
2
2
  import Boom from '@hapi/boom'
3
3
 
4
- import { createLogger } from '~/src/server/common/helpers/logging/logger.js'
5
- import { getJson } from '~/src/server/services/httpService.js'
4
+ import { createLogger } from '../../common/helpers/logging/logger.js'
5
+ import { getJson } from '../../services/httpService.js'
6
6
 
7
7
  const logger = createLogger()
8
8
 
@@ -22,7 +22,10 @@ function empty() {
22
22
  * @param {string} endpoint - the OS api endpoint
23
23
  */
24
24
  function logErrorAndReturnEmpty(err, endpoint) {
25
- const msg = `${getErrorMessage(err)} ${(Boom.isBoom(err) && err.data?.payload?.error?.message) ?? ''}`
25
+ /** @type {{ payload?: { error?: { message?: string } } } | false} */
26
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
27
+ const boomData = Boom.isBoom(err) && err.data
28
+ const msg = `${getErrorMessage(err)} ${(boomData && boomData.payload?.error?.message) ?? ''}`
26
29
 
27
30
  logger.error(err, `Exception occured calling OS names ${endpoint} - ${msg}}`)
28
31
 
@@ -80,5 +83,5 @@ export async function nearest(easting, northing, apiKey) {
80
83
  }
81
84
 
82
85
  /**
83
- * @import { OsNamesFindResponse, OsNamesFindResult } from '~/src/server/plugins/map/types.js'
86
+ * @import { OsNamesFindResponse, OsNamesFindResult } from './types.js'
84
87
  */
@@ -267,5 +267,5 @@ export const result = {
267
267
  }
268
268
 
269
269
  /**
270
- * @import { OsNamesFindResponse } from '~/src/server/plugins/map/types.js'
270
+ * @import { OsNamesFindResponse } from '../../types.js'
271
271
  */
@@ -4,12 +4,12 @@ import { basename, join } from 'node:path'
4
4
  import Boom from '@hapi/boom'
5
5
  import { StatusCodes } from 'http-status-codes'
6
6
 
7
- import { config } from '~/src/config/index.js'
8
- import { createLogger } from '~/src/server/common/helpers/logging/logger.js'
7
+ import { config } from '../../../config/index.js'
8
+ import { createLogger } from '../../common/helpers/logging/logger.js'
9
9
  import {
10
10
  checkFormStatus,
11
11
  encodeUrl
12
- } from '~/src/server/plugins/engine/helpers.js'
12
+ } from '../engine/helpers.js'
13
13
 
14
14
  const logger = createLogger()
15
15
 
@@ -94,6 +94,6 @@ export function devtoolContext(_request) {
94
94
  }
95
95
 
96
96
  /**
97
- * @import { ViewContext } from '~/src/server/plugins/nunjucks/types.js'
98
- * @import { AnyFormRequest } from '~/src/server/plugins/engine/types.js'
97
+ * @import { ViewContext } from './types.js'
98
+ * @import { AnyFormRequest } from '../engine/types.js'
99
99
  */
@@ -4,9 +4,9 @@ import { ComponentType } from '@defra/forms-model'
4
4
  import nunjucks from 'nunjucks'
5
5
  import resolvePkg from 'resolve'
6
6
 
7
- import { config } from '~/src/config/index.js'
8
- import { evaluateTemplate } from '~/src/server/plugins/engine/helpers.js'
9
- import * as filters from '~/src/server/plugins/nunjucks/filters/index.js'
7
+ import { config } from '../../../config/index.js'
8
+ import { evaluateTemplate } from '../engine/helpers.js'
9
+ import * as filters from './filters/index.js'
10
10
 
11
11
  const govukFrontendPath = dirname(
12
12
  resolvePkg.sync('govuk-frontend/package.json')
@@ -116,7 +116,7 @@ export function govukRebrand() {
116
116
  environment.addGlobal('govukRebrand', govukRebrand())
117
117
 
118
118
  /**
119
- * @import { NunjucksContext } from '~/src/server/plugins/nunjucks/types.js'
120
- * @import { FormSubmissionError } from '~/src/server/plugins/engine/types.js'
121
- * @import { ComponentViewModel } from '~/src/server/plugins/engine/components/types.js'
119
+ * @import { NunjucksContext } from './types.js'
120
+ * @import { FormSubmissionError } from '../engine/types.js'
121
+ * @import { ComponentViewModel } from '../engine/components/types.js'
122
122
  */
@@ -1,4 +1,4 @@
1
- import { getAnswer } from '~/src/server/plugins/engine/components/helpers/components.js'
1
+ import { getAnswer } from '../../engine/components/helpers/components.js'
2
2
 
3
3
  /**
4
4
  * Nunjucks filter to get the answer for a component
@@ -22,6 +22,6 @@ export function answer(name) {
22
22
  }
23
23
 
24
24
  /**
25
- * @import { NunjucksContext } from '~/src/server/plugins/nunjucks/types.js'
26
- * @import { Field } from '~/src/server/plugins/engine/components/helpers/components.js'
25
+ * @import { NunjucksContext } from '../types.js'
26
+ * @import { Field } from '../../engine/components/helpers/components.js'
27
27
  */
@@ -1,4 +1,4 @@
1
- import { evaluateTemplate } from '~/src/server/plugins/engine/helpers.js'
1
+ import { evaluateTemplate } from '../../engine/helpers.js'
2
2
 
3
3
  /**
4
4
  * Nunjucks filter to evaluate a liquid template.
@@ -17,5 +17,5 @@ export function evaluate(template) {
17
17
  }
18
18
 
19
19
  /**
20
- * @import { NunjucksContext } from '~/src/server/plugins/nunjucks/types.js'
20
+ * @import { NunjucksContext } from '../types.js'
21
21
  */
@@ -24,5 +24,5 @@ export function field(name) {
24
24
  }
25
25
 
26
26
  /**
27
- * @import { NunjucksContext } from '~/src/server/plugins/nunjucks/types.js'
27
+ * @import { NunjucksContext } from '../types.js'
28
28
  */
@@ -1,4 +1,4 @@
1
- import { getPageHref } from '~/src/server/plugins/engine/index.js'
1
+ import { getPageHref } from '../../engine/index.js'
2
2
 
3
3
  /**
4
4
  * Nunjucks filter to get the answer for a component
@@ -26,5 +26,5 @@ export function href(path) {
26
26
  }
27
27
 
28
28
  /**
29
- * @import { NunjucksContext } from '~/src/server/plugins/nunjucks/types.js'
29
+ * @import { NunjucksContext } from '../types.js'
30
30
  */
@@ -1,8 +1,8 @@
1
- export { highlight } from '~/src/server/plugins/nunjucks/filters/highlight.js'
2
- export { inspect } from '~/src/server/plugins/nunjucks/filters/inspect.js'
3
- export { evaluate } from '~/src/server/plugins/nunjucks/filters/evaluate.js'
4
- export { answer } from '~/src/server/plugins/nunjucks/filters/answer.js'
5
- export { href } from '~/src/server/plugins/nunjucks/filters/href.js'
6
- export { field } from '~/src/server/plugins/nunjucks/filters/field.js'
7
- export { page } from '~/src/server/plugins/nunjucks/filters/page.js'
8
- export { merge } from '~/src/server/plugins/nunjucks/filters/merge.js'
1
+ export { highlight } from './highlight.js'
2
+ export { inspect } from './inspect.js'
3
+ export { evaluate } from './evaluate.js'
4
+ export { answer } from './answer.js'
5
+ export { href } from './href.js'
6
+ export { field } from './field.js'
7
+ export { page } from './page.js'
8
+ export { merge } from './merge.js'
@@ -20,5 +20,5 @@ export function page(path) {
20
20
  }
21
21
 
22
22
  /**
23
- * @import { NunjucksContext } from '~/src/server/plugins/nunjucks/types.js'
23
+ * @import { NunjucksContext } from '../types.js'
24
24
  */
@@ -1,3 +1,3 @@
1
- export * as render from '~/src/server/plugins/nunjucks/render.js'
2
- export { environment } from '~/src/server/plugins/nunjucks/environment.js'
3
- export { plugin } from '~/src/server/plugins/nunjucks/plugin.js'
1
+ export * as render from './render.js'
2
+ export { environment } from './environment.js'
3
+ export { plugin } from './plugin.js'
@@ -1,12 +1,12 @@
1
1
  import vision from '@hapi/vision'
2
2
  import nunjucks from 'nunjucks'
3
3
 
4
- import { config } from '~/src/config/index.js'
5
- import { context } from '~/src/server/plugins/nunjucks/context.js'
4
+ import { config } from '../../../config/index.js'
5
+ import { context } from './context.js'
6
6
  import {
7
7
  environment,
8
8
  paths
9
- } from '~/src/server/plugins/nunjucks/environment.js'
9
+ } from './environment.js'
10
10
 
11
11
  /**
12
12
  * @type {ServerRegisterPluginObject<ServerViewsConfiguration>}
@@ -1,4 +1,4 @@
1
- import { environment } from '~/src/server/plugins/nunjucks/environment.js'
1
+ import { environment } from './environment.js'
2
2
 
3
3
  /**
4
4
  * Render Nunjucks macro
@@ -38,5 +38,5 @@ export function view(viewPath, options) {
38
38
  }
39
39
 
40
40
  /**
41
- * @import { MacroOptions, RenderOptions } from '~/src/server/plugins/nunjucks/types.js'
41
+ * @import { MacroOptions, RenderOptions } from './types.js'
42
42
  */
@@ -27,5 +27,5 @@
27
27
  */
28
28
 
29
29
  /**
30
- * @import { FormContext } from '~/src/server/plugins/engine/types.js'
30
+ * @import { FormContext } from '../engine/types.js'
31
31
  */
@@ -1,6 +1,6 @@
1
1
  import { format } from 'date-fns'
2
2
 
3
- import { PaymentService } from '~/src/server/plugins/payment/service.js'
3
+ import { PaymentService } from './service.js'
4
4
 
5
5
  export const DEFAULT_PAYMENT_HELP_URL =
6
6
  'https://www.gov.uk/government/organisations/department-for-environment-food-rural-affairs'
@@ -51,5 +51,5 @@ export function formatCurrency(amount, locale = 'en-GB', currency = 'GBP') {
51
51
  }
52
52
 
53
53
  /**
54
- * @import { FormsService } from '~/src/server/types.js'
54
+ * @import { FormsService } from '../../types.js'
55
55
  */