hof 21.0.1-axios-beta → 21.0.1-beta-payload-too-large
Sign up to get free protection for your applications and to get access to all the features.
- package/.nyc_output/1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41.json +1 -0
- package/.nyc_output/processinfo/1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/CHANGELOG.md +16 -0
- package/codeReviewChecklist.md +22 -0
- package/config/hof-defaults.js +8 -0
- package/frontend/govuk-template/build/govuk_template.html +20 -22
- package/frontend/govuk-template/govuk_template_generated.html +102 -0
- package/frontend/template-mixins/mixins/template-mixins.js +1 -0
- package/frontend/template-mixins/partials/forms/checkbox.html +5 -0
- package/frontend/template-mixins/partials/forms/input-text-group.html +1 -1
- package/frontend/template-mixins/partials/forms/select.html +6 -6
- package/frontend/template-mixins/partials/forms/textarea-group.html +4 -4
- package/frontend/template-partials/views/partials/gatag.html +0 -1
- package/frontend/template-partials/views/partials/head.html +23 -0
- package/lib/ga-tag.js +33 -7
- package/lib/settings.js +3 -2
- package/middleware/cookies.js +2 -0
- package/model/apis/html-to-pdf-converter.js +8 -9
- package/model/index.js +28 -27
- package/package.json +8 -9
- package/pull_request.md +16 -0
- package/sandbox/apps/sandbox/translations/en/default.json +26 -30
- package/sandbox/package.json +1 -1
- package/sandbox/public/css/app.css +6614 -10
- package/sandbox/public/js/bundle.js +2800 -24
- package/sandbox/yarn.lock +14 -9
- package/.nyc_output/4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5.json +0 -1
- package/.nyc_output/processinfo/4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5.json +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"parent":null,"pid":40488,"argv":["/opt/homebrew/Cellar/node@20/20.9.0/bin/node","/Users/temitopeayoku/Repos/HOF/hof/node_modules/.bin/_mocha","test/**/*.spec.js","sandbox/test/**/*.spec.js"],"execArgv":[],"cwd":"/Users/temitopeayoku/Repos/HOF/hof","time":1712051425836,"ppid":40486,"coverageFilename":"/Users/temitopeayoku/Repos/HOF/hof/.nyc_output/1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41.json","externalId":"","uuid":"1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41","files":["/Users/temitopeayoku/Repos/HOF/hof/model/index.js","/Users/temitopeayoku/Repos/HOF/hof/components/index.js","/Users/temitopeayoku/Repos/HOF/hof/components/address-lookup/index.js","/Users/temitopeayoku/Repos/HOF/hof/components/address-lookup/default-model.js","/Users/temitopeayoku/Repos/HOF/hof/components/address-lookup/defaults.js","/Users/temitopeayoku/Repos/HOF/hof/components/clear-session/index.js","/Users/temitopeayoku/Repos/HOF/hof/components/combine-and-loop-fields/index.js","/Users/temitopeayoku/Repos/HOF/hof/components/date/index.js","/Users/temitopeayoku/Repos/HOF/hof/components/date/fields.js","/Users/temitopeayoku/Repos/HOF/hof/components/emailer/index.js","/Users/temitopeayoku/Repos/HOF/hof/components/emailer/email-service.js","/Users/temitopeayoku/Repos/HOF/hof/components/emailer/emailer.js","/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/index.js","/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/smtp.js","/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/ses.js","/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/stub.js","/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/debug.js","/Users/temitopeayoku/Repos/HOF/hof/components/homeoffice-countries/index.js","/Users/temitopeayoku/Repos/HOF/hof/config/component-defaults.js","/Users/temitopeayoku/Repos/HOF/hof/components/notify/index.js","/Users/temitopeayoku/Repos/HOF/hof/components/notify/notify.js","/Users/temitopeayoku/Repos/HOF/hof/components/summary/index.js","/Users/temitopeayoku/Repos/HOF/hof/config/rate-limits.js","/Users/temitopeayoku/Repos/HOF/hof/middleware/rate-limiter.js","/Users/temitopeayoku/Repos/HOF/hof/config/hof-defaults.js","/Users/temitopeayoku/Repos/HOF/hof/controller/base-controller.js","/Users/temitopeayoku/Repos/HOF/hof/controller/formatting/index.js","/Users/temitopeayoku/Repos/HOF/hof/controller/validation/index.js","/Users/temitopeayoku/Repos/HOF/hof/controller/validation/validators.js","/Users/temitopeayoku/Repos/HOF/hof/controller/validation/email.js","/Users/temitopeayoku/Repos/HOF/hof/controller/validation-error.js","/Users/temitopeayoku/Repos/HOF/hof/utilities/index.js","/Users/temitopeayoku/Repos/HOF/hof/utilities/autofill/index.js","/Users/temitopeayoku/Repos/HOF/hof/utilities/autofill/inputs.js","/Users/temitopeayoku/Repos/HOF/hof/utilities/test-data/index.js","/Users/temitopeayoku/Repos/HOF/hof/utilities/countries.js","/Users/temitopeayoku/Repos/HOF/hof/utilities/helpers/index.js","/Users/temitopeayoku/Repos/HOF/hof/utilities/reqres/index.js","/Users/temitopeayoku/Repos/HOF/hof/config/sanitisation-rules.js","/Users/temitopeayoku/Repos/HOF/hof/controller/formatting/formatters.js","/Users/temitopeayoku/Repos/HOF/hof/controller/index.js","/Users/temitopeayoku/Repos/HOF/hof/controller/behaviour-session.js","/Users/temitopeayoku/Repos/HOF/hof/controller/behaviour-hooks.js","/Users/temitopeayoku/Repos/HOF/hof/controller/controller.js","/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/behaviours/country-select.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/template-mixins/mixins/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/template-mixins/mixins/template-mixins.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/template-mixins/mixins/render.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/template-mixins/mixins/helpers.js","/Users/temitopeayoku/Repos/HOF/hof/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/govuk-template/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/govuk-template/build/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/govuk-template/build/config.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/template-partials/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/template-partials/translations/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/themes/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/themes/gov-uk/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/index.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/helpers.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/form-focus.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/progressive-reveal.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/validation.js","/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/character-count.js","/Users/temitopeayoku/Repos/HOF/hof/middleware/index.js","/Users/temitopeayoku/Repos/HOF/hof/middleware/cookies.js","/Users/temitopeayoku/Repos/HOF/hof/middleware/errors.js","/Users/temitopeayoku/Repos/HOF/hof/middleware/not-found.js","/Users/temitopeayoku/Repos/HOF/hof/middleware/deep-translate.js","/Users/temitopeayoku/Repos/HOF/hof/lib/markdown.js","/Users/temitopeayoku/Repos/HOF/hof/lib/router.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/index.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/behaviours/index.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/behaviours/complete.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/util/constants.js","/Users/temitopeayoku/Repos/HOF/hof/lib/helpers.js","/Users/temitopeayoku/Repos/HOF/hof/lib/health.js","/Users/temitopeayoku/Repos/HOF/hof/lib/serve-static.js","/Users/temitopeayoku/Repos/HOF/hof/lib/ga-tag.js","/Users/temitopeayoku/Repos/HOF/hof/lib/sessions.js","/Users/temitopeayoku/Repos/HOF/hof/lib/settings.js","/Users/temitopeayoku/Repos/HOF/hof/lib/logger.js","/Users/temitopeayoku/Repos/HOF/hof/build/index.js","/Users/temitopeayoku/Repos/HOF/hof/config/builder-defaults.js","/Users/temitopeayoku/Repos/HOF/hof/transpiler/index.js","/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/compile.js","/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/build.js","/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/expand-dirs.js","/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/aggregate.js","/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/write-files.js","/Users/temitopeayoku/Repos/HOF/hof/model/apis/index.js","/Users/temitopeayoku/Repos/HOF/hof/model/apis/html-to-pdf-converter.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/model.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/back-links.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/util/helpers.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/check-complete.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/check-progress.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/check-session.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/csrf.js","/Users/temitopeayoku/Repos/HOF/hof/sandbox/test/_unit/example_app/sections/summary-data-sections.spec.js","/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/sections/summary-data-sections.js","/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/lib/staticAppealStages.js","/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/fields.js","/Users/temitopeayoku/Repos/HOF/hof/sandbox/test/helpers/utilities.js","/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/behaviours/international-number.js","/Users/temitopeayoku/Repos/HOF/hof/lib/encryption.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/session.js","/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/session-model.js"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"processes":{"4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5":{"parent":null,"children":[]}},"files":{"/Users/robertmccann/Projects/hof/model/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/address-lookup/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/address-lookup/default-model.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/address-lookup/defaults.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/clear-session/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/combine-and-loop-fields/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/date/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/date/fields.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/emailer/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/emailer/email-service.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/emailer/emailer.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/emailer/transports/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/emailer/transports/smtp.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/emailer/transports/ses.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/emailer/transports/stub.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/emailer/transports/debug.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/homeoffice-countries/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/config/component-defaults.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/notify/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/notify/notify.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/components/summary/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/config/rate-limits.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/middleware/rate-limiter.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/config/hof-defaults.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/base-controller.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/formatting/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/validation/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/validation/validators.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/validation/email.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/validation-error.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/utilities/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/utilities/autofill/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/utilities/autofill/inputs.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/utilities/test-data/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/utilities/countries.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/utilities/helpers/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/utilities/reqres/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/config/sanitisation-rules.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/formatting/formatters.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/behaviour-session.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/behaviour-hooks.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/controller/controller.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/sandbox/apps/sandbox/behaviours/country-select.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/template-mixins/mixins/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/template-mixins/mixins/template-mixins.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/template-mixins/mixins/render.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/template-mixins/mixins/helpers.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/govuk-template/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/govuk-template/build/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/govuk-template/build/config.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/template-partials/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/template-partials/translations/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/themes/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/themes/gov-uk/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/toolkit/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/toolkit/assets/javascript/helpers.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/toolkit/assets/javascript/form-focus.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/toolkit/assets/javascript/progressive-reveal.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/toolkit/assets/javascript/validation.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/frontend/toolkit/assets/javascript/character-count.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/middleware/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/middleware/cookies.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/middleware/errors.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/middleware/not-found.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/middleware/deep-translate.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/lib/markdown.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/lib/router.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/behaviours/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/behaviours/complete.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/util/constants.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/lib/helpers.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/lib/health.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/lib/serve-static.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/lib/ga-tag.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/lib/sessions.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/lib/settings.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/lib/logger.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/build/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/config/builder-defaults.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/transpiler/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/transpiler/lib/compile.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/transpiler/lib/build.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/transpiler/lib/expand-dirs.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/transpiler/lib/aggregate.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/transpiler/lib/write-files.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/model/apis/index.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/model/apis/html-to-pdf-converter.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/model.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/middleware/back-links.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/util/helpers.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/middleware/check-complete.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/middleware/check-progress.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/middleware/check-session.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/wizard/middleware/csrf.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/sandbox/test/_unit/example_app/sections/summary-data-sections.spec.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/sandbox/apps/sandbox/sections/summary-data-sections.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/sandbox/apps/sandbox/lib/staticAppealStages.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/sandbox/apps/sandbox/fields.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/sandbox/test/helpers/utilities.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"],"/Users/robertmccann/Projects/hof/sandbox/apps/sandbox/behaviours/international-number.js":["4fc007c9-d6c8-4614-89ce-04c7d6ce9fe5"]},"externalIds":{}}
|
1
|
+
{"processes":{"1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41":{"parent":null,"children":[]}},"files":{"/Users/temitopeayoku/Repos/HOF/hof/model/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/address-lookup/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/address-lookup/default-model.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/address-lookup/defaults.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/clear-session/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/combine-and-loop-fields/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/date/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/date/fields.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/emailer/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/emailer/email-service.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/emailer/emailer.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/smtp.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/ses.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/stub.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/emailer/transports/debug.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/homeoffice-countries/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/config/component-defaults.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/notify/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/notify/notify.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/components/summary/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/config/rate-limits.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/middleware/rate-limiter.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/config/hof-defaults.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/base-controller.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/formatting/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/validation/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/validation/validators.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/validation/email.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/validation-error.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/utilities/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/utilities/autofill/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/utilities/autofill/inputs.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/utilities/test-data/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/utilities/countries.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/utilities/helpers/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/utilities/reqres/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/config/sanitisation-rules.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/formatting/formatters.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/behaviour-session.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/behaviour-hooks.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/controller/controller.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/behaviours/country-select.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/template-mixins/mixins/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/template-mixins/mixins/template-mixins.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/template-mixins/mixins/render.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/template-mixins/mixins/helpers.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/govuk-template/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/govuk-template/build/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/govuk-template/build/config.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/template-partials/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/template-partials/translations/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/themes/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/themes/gov-uk/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/helpers.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/form-focus.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/progressive-reveal.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/validation.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/frontend/toolkit/assets/javascript/character-count.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/middleware/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/middleware/cookies.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/middleware/errors.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/middleware/not-found.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/middleware/deep-translate.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/markdown.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/router.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/behaviours/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/behaviours/complete.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/util/constants.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/helpers.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/health.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/serve-static.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/ga-tag.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/sessions.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/settings.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/logger.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/build/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/config/builder-defaults.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/transpiler/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/compile.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/build.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/expand-dirs.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/aggregate.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/transpiler/lib/write-files.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/model/apis/index.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/model/apis/html-to-pdf-converter.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/model.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/back-links.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/util/helpers.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/check-complete.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/check-progress.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/check-session.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/csrf.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/sandbox/test/_unit/example_app/sections/summary-data-sections.spec.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/sections/summary-data-sections.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/lib/staticAppealStages.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/fields.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/sandbox/test/helpers/utilities.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/sandbox/apps/sandbox/behaviours/international-number.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/lib/encryption.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/session.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"],"/Users/temitopeayoku/Repos/HOF/hof/wizard/middleware/session-model.js":["1e54a5ac-ed7a-4c0d-9b5f-5675cd8a7d41"]},"externalIds":{}}
|
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
## 2024-04-24, Version 20.5.0 (Stable), @mislam987
|
2
|
+
* Add hint property to checkboxes to align with govuk design guidelines
|
3
|
+
|
4
|
+
## 2024-02-29, Version 20.4.0 (Stable), @sulthan-ahmed
|
5
|
+
* Update version of govuk-frontend to 3.15
|
6
|
+
- this adds the new crown for the King
|
7
|
+
- this supports a lot of changes from the govuk design system
|
8
|
+
* Adds support for Google tag manager
|
9
|
+
* Fixes accessibility issues
|
10
|
+
* Sandbox area for testing hof changes
|
11
|
+
* Updates patch and minor versions including
|
12
|
+
- libphonenumber to 1.9.44
|
13
|
+
- nodemailer to 6.9.9
|
14
|
+
- ip to 1.1.9
|
15
|
+
- es5-ext to 0.10.63
|
16
|
+
|
1
17
|
## 2020-06-02, Version 16.0.0 (Stable), @andymoody
|
2
18
|
* Update version of helmet to 3.22.0
|
3
19
|
* Update version of i18n-future to 2.0.0
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# HOF code review checklist v1.0
|
2
|
+
|
3
|
+
This is a general guide on what you should check for when reviewing another team member's code.
|
4
|
+
|
5
|
+
## Fundamental checks
|
6
|
+
- [ ] Check for code format
|
7
|
+
- [ ] Check for duplicate code
|
8
|
+
- [ ] Check for if there are existing components in the framework already
|
9
|
+
- [ ] Check for copy and paste
|
10
|
+
- [ ] Check code readability (if the class, function and variable names are making sense, avoid using acronyms, check for simplicity, avoid complexity)
|
11
|
+
- [ ] Check if user inputs are sanitized
|
12
|
+
- [ ] Check if errors are handled
|
13
|
+
- [ ] Check if null / undefined values are checked before actions are performed on a variable (May not always be necessary)
|
14
|
+
- [ ] Check for performance (are there logic in loops that doesn't have to be executed each time? Could some tasks be added to a queue and performed later? etc)
|
15
|
+
|
16
|
+
## Advanced (optional if the ticket is low / medium impact) checks
|
17
|
+
- [ ] Check if the code is following SOLID principle, code maintainability
|
18
|
+
- [ ] Check if none functional requirements are needed (for example, should an audit log be stored for an action performed)
|
19
|
+
- [ ] Check the performance and efficiency of the tests
|
20
|
+
- [ ] Check to avoid the use of operations that only work in javascript (e.g. using && to return the object on the right if the statement on the left is true)
|
21
|
+
|
22
|
+
|
package/config/hof-defaults.js
CHANGED
@@ -22,6 +22,14 @@ const defaults = {
|
|
22
22
|
env: process.env.NODE_ENV || 'development',
|
23
23
|
gaTagId: process.env.GA_TAG || 'Test-GA-Tag',
|
24
24
|
ga4TagId: process.env.GA_4_TAG,
|
25
|
+
// added to allow support for multiple HOF forms using GTM to customize how they track page views
|
26
|
+
gtm: {
|
27
|
+
tagId: process.env.GTM_TAG || false,
|
28
|
+
config: {},
|
29
|
+
composePageName: function (page, convertPage) {
|
30
|
+
return convertPage(page);
|
31
|
+
}
|
32
|
+
},
|
25
33
|
gaCrossDomainTrackingTagId: process.env.GDS_CROSS_DOMAIN_GA_TAG,
|
26
34
|
loglevel: process.env.LOG_LEVEL || 'info',
|
27
35
|
ignoreMiddlewareLogs: ['/healthz'],
|
@@ -5,50 +5,48 @@
|
|
5
5
|
<head>
|
6
6
|
<meta charset="utf-8" />
|
7
7
|
<title>{{ pageTitle }}</title>
|
8
|
+
{{{ head }}}
|
8
9
|
|
9
10
|
<link rel="shortcut icon" sizes="16x16 32x32 48x48" href="{{assetPath}}images/favicon.ico" type="image/x-icon">
|
10
|
-
<link rel="mask-icon" href="{{assetPath}}images/govuk-mask-icon.svg" color="#0b0c0c">
|
11
|
+
<link rel="mask-icon" href="{{assetPath}}images/govuk-mask-icon.svg" color="#0b0c0c">
|
11
12
|
<link rel="apple-touch-icon" sizes="180x180" href="{{assetPath}}images/govuk-apple-touch-icon-180x180.png">
|
12
13
|
<link rel="apple-touch-icon" sizes="167x167" href="{{assetPath}}images/govuk-apple-touch-icon-167x167.png">
|
13
14
|
<link rel="apple-touch-icon" sizes="152x152" href="{{assetPath}}images/govuk-apple-touch-icon-152x152.png">
|
14
15
|
<link rel="apple-touch-icon" href="{{assetPath}}images/govuk-apple-touch-icon.png">
|
15
|
-
|
16
|
-
|
16
|
+
|
17
|
+
|
17
18
|
<meta name="theme-color" content="#0b0c0c" />
|
18
19
|
|
19
20
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
20
21
|
|
21
|
-
|
22
|
-
|
23
|
-
|
22
|
+
|
24
23
|
<meta property="og:image" content="{{assetPath}}images/opengraph-image.png">
|
25
24
|
</head>
|
26
25
|
|
27
26
|
<body class="{{ bodyClasses }} govuk-template__body js-enabled" >
|
28
27
|
<script>document.body.className = ((document.body.className) ? document.body.className + ' js-enabled' : 'js-enabled');</script>
|
29
28
|
|
30
|
-
|
29
|
+
|
31
30
|
|
32
31
|
<div id="global-cookie-message" class="gem-c-cookie-banner govuk-clearfix" data-module="cookie-banner" role="region" aria-label="cookie banner" data-nosnippet="">
|
33
32
|
{{{ cookieMessage }}}
|
34
33
|
</div>
|
35
|
-
|
36
|
-
{{{ bodyStart }}}
|
37
|
-
|
34
|
+
|
35
|
+
{{{ bodyStart }}}
|
36
|
+
|
38
37
|
<header role="banner" id="govuk-header" class="{{{ headerClass }}}">
|
39
38
|
<div class="govuk-header__container govuk-width-container">
|
40
|
-
|
39
|
+
|
41
40
|
<div class="govuk-header__logo">
|
42
41
|
<a href="{{{ homepageUrl }}}" title="{{ logoLinkTitle }}" id="logo" class="govuk-header__link govuk-header__link--homepage" target="_blank" data-module="track-click" data-track-category="homeLinkClicked" data-track-action="homeHeader">
|
43
42
|
<span class="govuk-header__logotype">
|
44
43
|
<!--[if gt IE 8]><!-->
|
45
|
-
<svg aria-hidden="true" focusable="false" class="govuk-header__logotype-crown" xmlns="http://www.w3.org/2000/svg" viewBox="0 0
|
46
|
-
<path fill="currentColor" fill-rule="evenodd"
|
44
|
+
<svg aria-hidden="true" focusable="false" class="govuk-header__logotype-crown" xmlns="http://www.w3.org/2000/svg\" viewBox="0 0 32 30" height="30" width="32">
|
45
|
+
<path fill="currentColor" fill-rule="evenodd" d="M22.6 10.4c-1 .4-2-.1-2.4-1-.4-.9.1-2 1-2.4.9-.4 2 .1 2.4 1s-.1 2-1 2.4m-5.9 6.7c-.9.4-2-.1-2.4-1-.4-.9.1-2 1-2.4.9-.4 2 .1 2.4 1s-.1 2-1 2.4m10.8-3.7c-1 .4-2-.1-2.4-1-.4-.9.1-2 1-2.4.9-.4 2 .1 2.4 1s0 2-1 2.4m3.3 4.8c-1 .4-2-.1-2.4-1-.4-.9.1-2 1-2.4.9-.4 2 .1 2.4 1s-.1 2-1 2.4M17 4.7l2.3 1.2V2.5l-2.3.7-.2-.2.9-3h-3.4l.9 3-.2.2c-.1.1-2.3-.7-2.3-.7v3.4L15 4.7c.1.1.1.2.2.2l-1.3 4c-.1.2-.1.4-.1.6 0 1.1.8 2 1.9 2.2h.7c1-.2 1.9-1.1 1.9-2.1 0-.2 0-.4-.1-.6l-1.3-4c-.1-.2 0-.2.1-.3m-7.6 5.7c.9.4 2-.1 2.4-1 .4-.9-.1-2-1-2.4-.9-.4-2 .1-2.4 1s0 2 1 2.4m-5 3c.9.4 2-.1 2.4-1 .4-.9-.1-2-1-2.4-.9-.4-2 .1-2.4 1s.1 2 1 2.4m-3.2 4.8c.9.4 2-.1 2.4-1 .4-.9-.1-2-1-2.4-.9-.4-2 .1-2.4 1s0 2 1 2.4m14.8 11c4.4 0 8.6.3 12.3.8 1.1-4.5 2.4-7 3.7-8.8l-2.5-.9c.2 1.3.3 1.9 0 2.7-.4-.4-.8-1.1-1.1-2.3l-1.2 4c.7-.5 1.3-.8 2-.9-1.1 2.5-2.6 3.1-3.5 3-1.1-.2-1.7-1.2-1.5-2.1.3-1.2 1.5-1.5 2.1-.1 1.1-2.3-.8-3-2-2.3 1.9-1.9 2.1-3.5.6-5.6-2.1 1.6-2.1 3.2-1.2 5.5-1.2-1.4-3.2-.6-2.5 1.6.9-1.4 2.1-.5 1.9.8-.2 1.1-1.7 2.1-3.5 1.9-2.7-.2-2.9-2.1-2.9-3.6.7-.1 1.9.5 2.9 1.9l.4-4.3c-1.1 1.1-2.1 1.4-3.2 1.4.4-1.2 2.1-3 2.1-3h-5.4s1.7 1.9 2.1 3c-1.1 0-2.1-.2-3.2-1.4l.4 4.3c1-1.4 2.2-2 2.9-1.9-.1 1.5-.2 3.4-2.9 3.6-1.9.2-3.4-.8-3.5-1.9-.2-1.3 1-2.2 1.9-.8.7-2.3-1.2-3-2.5-1.6.9-2.2.9-3.9-1.2-5.5-1.5 2-1.3 3.7.6 5.6-1.2-.7-3.1 0-2 2.3.6-1.4 1.8-1.1 2.1.1.2.9-.3 1.9-1.5 2.1-.9.2-2.4-.5-3.5-3 .6 0 1.2.3 2 .9l-1.2-4c-.3 1.1-.7 1.9-1.1 2.3-.3-.8-.2-1.4 0-2.7l-2.9.9C1.3 23 2.6 25.5 3.7 30c3.7-.5 7.9-.8 12.3-.8\"></path>
|
47
46
|
</svg>
|
48
47
|
<!--<![endif]-->
|
49
|
-
<!--<![endif]-->
|
50
48
|
<!--[if IE 8]>
|
51
|
-
<img src="{{ assetPath }}images/govuk-logotype-crown.png" class="govuk-header__logotype-crown-fallback-image" width="
|
49
|
+
<img src="{{ assetPath }}images/govuk-logotype-tudor-crown.png" class="govuk-header__logotype-crown-fallback-image" width="32" height="30" alt="">
|
52
50
|
<![endif]-->
|
53
51
|
</span>
|
54
52
|
<span class="govuk-header__logotype-text">
|
@@ -57,11 +55,11 @@
|
|
57
55
|
</a>
|
58
56
|
</div>
|
59
57
|
{{{ insideHeader }}}
|
60
|
-
|
58
|
+
|
61
59
|
{{{ propositionHeader }}}
|
62
60
|
</div>
|
63
61
|
</header>
|
64
|
-
|
62
|
+
|
65
63
|
|
66
64
|
{{{ afterHeader }}}
|
67
65
|
|
@@ -81,7 +79,7 @@
|
|
81
79
|
<svg aria-hidden="true" focusable="false" class="govuk-footer__licence-logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 483.2 195.7" height="17" width="41">
|
82
80
|
<path fill="currentColor" d="M421.5 142.8V.1l-50.7 32.3v161.1h112.4v-50.7zm-122.3-9.6A47.12 47.12 0 0 1 221 97.8c0-26 21.1-47.1 47.1-47.1 16.7 0 31.4 8.7 39.7 21.8l42.7-27.2A97.63 97.63 0 0 0 268.1 0c-36.5 0-68.3 20.1-85.1 49.7A98 98 0 0 0 97.8 0C43.9 0 0 43.9 0 97.8s43.9 97.8 97.8 97.8c36.5 0 68.3-20.1 85.1-49.7a97.76 97.76 0 0 0 149.6 25.4l19.4 22.2h3v-87.8h-80l24.3 27.5zM97.8 145c-26 0-47.1-21.1-47.1-47.1s21.1-47.1 47.1-47.1 47.2 21 47.2 47S123.8 145 97.8 145"></path>
|
83
81
|
</svg>
|
84
|
-
|
82
|
+
|
85
83
|
<span class="govuk-footer__licence-description">{{{ licenceMessage }}}</span>
|
86
84
|
</div>
|
87
85
|
|
@@ -93,12 +91,12 @@
|
|
93
91
|
</footer>
|
94
92
|
|
95
93
|
<div id="global-app-error" class="app-error hidden"></div>
|
96
|
-
|
94
|
+
|
97
95
|
|
98
96
|
{{{ bodyEnd }}}
|
99
|
-
|
100
|
-
|
97
|
+
|
98
|
+
|
101
99
|
<script {{#nonce}}nonce="{{nonce}}"{{/nonce}}>if (typeof window.GOVUK === 'undefined') document.body.className = document.body.className.replace('js-enabled', '');</script>
|
102
|
-
|
100
|
+
|
103
101
|
</body>
|
104
102
|
</html>
|
@@ -0,0 +1,102 @@
|
|
1
|
+
|
2
|
+
<!DOCTYPE html>
|
3
|
+
<!--[if lt IE 9]><html class="lte-ie8" lang="{{htmlLang}}"><![endif]-->
|
4
|
+
<!--[if gt IE 8]><!--><html lang="{{htmlLang}}" class="govuk-template"><!--<![endif]-->
|
5
|
+
<head>
|
6
|
+
<meta charset="utf-8" />
|
7
|
+
<title>{{$pageTitle}}{{/pageTitle}}</title>
|
8
|
+
{{$head}}{{/head}}
|
9
|
+
|
10
|
+
<link rel="shortcut icon" sizes="16x16 32x32 48x48" href="{{govukAssetPath}}images/favicon.ico" type="image/x-icon">
|
11
|
+
<link rel="mask-icon" href="{{govukAssetPath}}images/govuk-mask-icon.svg" color="#0b0c0c">
|
12
|
+
<link rel="apple-touch-icon" sizes="180x180" href="{{govukAssetPath}}images/govuk-apple-touch-icon-180x180.png">
|
13
|
+
<link rel="apple-touch-icon" sizes="167x167" href="{{govukAssetPath}}images/govuk-apple-touch-icon-167x167.png">
|
14
|
+
<link rel="apple-touch-icon" sizes="152x152" href="{{govukAssetPath}}images/govuk-apple-touch-icon-152x152.png">
|
15
|
+
<link rel="apple-touch-icon" href="{{govukAssetPath}}images/govuk-apple-touch-icon.png">
|
16
|
+
|
17
|
+
|
18
|
+
<meta name="theme-color" content="#0b0c0c" />
|
19
|
+
|
20
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
21
|
+
|
22
|
+
|
23
|
+
<meta property="og:image" content="{{govukAssetPath}}images/opengraph-image.png">
|
24
|
+
</head>
|
25
|
+
|
26
|
+
<body class="{{$bodyClasses}}{{/bodyClasses}} govuk-template__body js-enabled" >
|
27
|
+
<script {{#nonce}}nonce="{{nonce}}"{{/nonce}}>document.body.className = ((document.body.className) ? document.body.className + ' js-enabled' : 'js-enabled');</script>
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
<div id="global-cookie-message" class="gem-c-cookie-banner govuk-clearfix" data-module="cookie-banner" role="region" aria-label="cookie banner" data-nosnippet="">
|
32
|
+
{{$cookieMessage}}{{/cookieMessage}}
|
33
|
+
</div>
|
34
|
+
|
35
|
+
{{$bodyStart}}{{/bodyStart}}
|
36
|
+
|
37
|
+
<header role="banner" id="govuk-header" class="{{$headerClass}}{{/headerClass}}">
|
38
|
+
<div class="govuk-header__container govuk-width-container">
|
39
|
+
|
40
|
+
<div class="govuk-header__logo">
|
41
|
+
<a href="{{$homepageUrl}}https://www.gov.uk{{/homepageUrl}}" title="{{$logoLinkTitle}}Go to the GOV.UK homepage{{/logoLinkTitle}}" id="logo" class="govuk-header__link govuk-header__link--homepage" target="_blank" data-module="track-click" data-track-category="homeLinkClicked" data-track-action="homeHeader">
|
42
|
+
<span class="govuk-header__logotype">
|
43
|
+
<!--[if gt IE 8]><!-->
|
44
|
+
<svg aria-hidden="true" focusable="false" class="govuk-header__logotype-crown" xmlns="http://www.w3.org/2000/svg\" viewBox="0 0 32 30" height="30" width="32">
|
45
|
+
<path fill="currentColor" fill-rule="evenodd" d="M22.6 10.4c-1 .4-2-.1-2.4-1-.4-.9.1-2 1-2.4.9-.4 2 .1 2.4 1s-.1 2-1 2.4m-5.9 6.7c-.9.4-2-.1-2.4-1-.4-.9.1-2 1-2.4.9-.4 2 .1 2.4 1s-.1 2-1 2.4m10.8-3.7c-1 .4-2-.1-2.4-1-.4-.9.1-2 1-2.4.9-.4 2 .1 2.4 1s0 2-1 2.4m3.3 4.8c-1 .4-2-.1-2.4-1-.4-.9.1-2 1-2.4.9-.4 2 .1 2.4 1s-.1 2-1 2.4M17 4.7l2.3 1.2V2.5l-2.3.7-.2-.2.9-3h-3.4l.9 3-.2.2c-.1.1-2.3-.7-2.3-.7v3.4L15 4.7c.1.1.1.2.2.2l-1.3 4c-.1.2-.1.4-.1.6 0 1.1.8 2 1.9 2.2h.7c1-.2 1.9-1.1 1.9-2.1 0-.2 0-.4-.1-.6l-1.3-4c-.1-.2 0-.2.1-.3m-7.6 5.7c.9.4 2-.1 2.4-1 .4-.9-.1-2-1-2.4-.9-.4-2 .1-2.4 1s0 2 1 2.4m-5 3c.9.4 2-.1 2.4-1 .4-.9-.1-2-1-2.4-.9-.4-2 .1-2.4 1s.1 2 1 2.4m-3.2 4.8c.9.4 2-.1 2.4-1 .4-.9-.1-2-1-2.4-.9-.4-2 .1-2.4 1s0 2 1 2.4m14.8 11c4.4 0 8.6.3 12.3.8 1.1-4.5 2.4-7 3.7-8.8l-2.5-.9c.2 1.3.3 1.9 0 2.7-.4-.4-.8-1.1-1.1-2.3l-1.2 4c.7-.5 1.3-.8 2-.9-1.1 2.5-2.6 3.1-3.5 3-1.1-.2-1.7-1.2-1.5-2.1.3-1.2 1.5-1.5 2.1-.1 1.1-2.3-.8-3-2-2.3 1.9-1.9 2.1-3.5.6-5.6-2.1 1.6-2.1 3.2-1.2 5.5-1.2-1.4-3.2-.6-2.5 1.6.9-1.4 2.1-.5 1.9.8-.2 1.1-1.7 2.1-3.5 1.9-2.7-.2-2.9-2.1-2.9-3.6.7-.1 1.9.5 2.9 1.9l.4-4.3c-1.1 1.1-2.1 1.4-3.2 1.4.4-1.2 2.1-3 2.1-3h-5.4s1.7 1.9 2.1 3c-1.1 0-2.1-.2-3.2-1.4l.4 4.3c1-1.4 2.2-2 2.9-1.9-.1 1.5-.2 3.4-2.9 3.6-1.9.2-3.4-.8-3.5-1.9-.2-1.3 1-2.2 1.9-.8.7-2.3-1.2-3-2.5-1.6.9-2.2.9-3.9-1.2-5.5-1.5 2-1.3 3.7.6 5.6-1.2-.7-3.1 0-2 2.3.6-1.4 1.8-1.1 2.1.1.2.9-.3 1.9-1.5 2.1-.9.2-2.4-.5-3.5-3 .6 0 1.2.3 2 .9l-1.2-4c-.3 1.1-.7 1.9-1.1 2.3-.3-.8-.2-1.4 0-2.7l-2.9.9C1.3 23 2.6 25.5 3.7 30c3.7-.5 7.9-.8 12.3-.8\"></path>
|
46
|
+
</svg>
|
47
|
+
<!--<![endif]-->
|
48
|
+
<!--[if IE 8]>
|
49
|
+
<img src="{{govukAssetPath}}images/govuk-logotype-tudor-crown.png" class="govuk-header__logotype-crown-fallback-image" width="32" height="30" alt="">
|
50
|
+
<![endif]-->
|
51
|
+
</span>
|
52
|
+
<span class="govuk-header__logotype-text">
|
53
|
+
{{$globalHeaderText}}GOV.UK{{/globalHeaderText}}
|
54
|
+
</span>
|
55
|
+
</a>
|
56
|
+
</div>
|
57
|
+
{{$insideHeader}}{{/insideHeader}}
|
58
|
+
|
59
|
+
{{$propositionHeader}}{{/propositionHeader}}
|
60
|
+
</div>
|
61
|
+
</header>
|
62
|
+
|
63
|
+
|
64
|
+
{{$afterHeader}}{{/afterHeader}}
|
65
|
+
|
66
|
+
|
67
|
+
{{$main}}{{/main}}
|
68
|
+
|
69
|
+
<footer class="govuk-footer" id="footer" role="contentinfo">
|
70
|
+
|
71
|
+
<div class="govuk-width-container">
|
72
|
+
{{$footerTop}}{{/footerTop}}
|
73
|
+
|
74
|
+
<div class="govuk-footer__meta">
|
75
|
+
<div class="govuk-footer__meta-item govuk-footer__meta-item--grow">
|
76
|
+
<h2 class="govuk-visually-hidden">Support links</h2>
|
77
|
+
{{$footerSupportLinks}}{{/footerSupportLinks}}
|
78
|
+
|
79
|
+
<svg aria-hidden="true" focusable="false" class="govuk-footer__licence-logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 483.2 195.7" height="17" width="41">
|
80
|
+
<path fill="currentColor" d="M421.5 142.8V.1l-50.7 32.3v161.1h112.4v-50.7zm-122.3-9.6A47.12 47.12 0 0 1 221 97.8c0-26 21.1-47.1 47.1-47.1 16.7 0 31.4 8.7 39.7 21.8l42.7-27.2A97.63 97.63 0 0 0 268.1 0c-36.5 0-68.3 20.1-85.1 49.7A98 98 0 0 0 97.8 0C43.9 0 0 43.9 0 97.8s43.9 97.8 97.8 97.8c36.5 0 68.3-20.1 85.1-49.7a97.76 97.76 0 0 0 149.6 25.4l19.4 22.2h3v-87.8h-80l24.3 27.5zM97.8 145c-26 0-47.1-21.1-47.1-47.1s21.1-47.1 47.1-47.1 47.2 21 47.2 47S123.8 145 97.8 145"></path>
|
81
|
+
</svg>
|
82
|
+
|
83
|
+
<span class="govuk-footer__licence-description">{{$licenceMessage}}All content is available under the <a href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/" id="open-government-licence" class="govuk-footer__link" target="_blank" rel="license">Open Government Licence v3.0</a>, except where otherwise stated{{/licenceMessage}}</span>
|
84
|
+
</div>
|
85
|
+
|
86
|
+
<div class="govuk-footer__meta-item">
|
87
|
+
<a class="govuk-footer__link govuk-footer__copyright-logo" id="copyright-logo" target="_blank" href="https://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/uk-government-licensing-framework/crown-copyright/">{{$crownCopyrightMessage}}© Crown copyright{{/crownCopyrightMessage}}</a>
|
88
|
+
</div>
|
89
|
+
</div>
|
90
|
+
</div>
|
91
|
+
</footer>
|
92
|
+
|
93
|
+
<div id="global-app-error" class="app-error hidden"></div>
|
94
|
+
|
95
|
+
|
96
|
+
{{$bodyEnd}}{{/bodyEnd}}
|
97
|
+
|
98
|
+
|
99
|
+
<script {{#nonce}}nonce="{{nonce}}"{{/nonce}}>if (typeof window.GOVUK === 'undefined') document.body.className = document.body.className.replace('js-enabled', '');</script>
|
100
|
+
|
101
|
+
</body>
|
102
|
+
</html>
|
@@ -319,6 +319,7 @@ module.exports = function (options) {
|
|
319
319
|
error: this.errors && this.errors[key],
|
320
320
|
invalid: this.errors && this.errors[key] && opts.required,
|
321
321
|
label: t(fieldLabel || 'fields.' + key + '.label'),
|
322
|
+
hint: conditionalTranslate(getTranslationKey(field, key, 'hint')),
|
322
323
|
selected: selected,
|
323
324
|
className: classNames(field) || 'govuk-label govuk-checkboxes__label',
|
324
325
|
child: field.child,
|
@@ -6,6 +6,11 @@
|
|
6
6
|
{{{label}}}
|
7
7
|
{{#error}}<span class="visuallyhidden">{{error.message}}</span>{{/error}}
|
8
8
|
</label>
|
9
|
+
{{#hint}}
|
10
|
+
<div id="{{key}}-hint" class="govuk-hint govuk-checkboxes__hint">
|
11
|
+
{{hint}}
|
12
|
+
</div>
|
13
|
+
{{/hint}}
|
9
14
|
</div>
|
10
15
|
{{#renderChild}}{{/renderChild}}
|
11
16
|
</div>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="{{id}}-group" class="{{#compound}} form-group-compound{{/compound}}{{#formGroupClassName}}{{formGroupClassName}}{{/formGroupClassName}}{{#error}} govuk-form-group--error{{/error}}">
|
2
|
-
{{#isPageHeading}}<h1 class="govuk-label-wrapper">{{/isPageHeading}}<label for="{{id}}" class="{{labelClassName}}{{#isPageHeading}}govuk-label--l{{/isPageHeading}}">
|
2
|
+
{{#isPageHeading}}<h1 class="govuk-label-wrapper">{{/isPageHeading}}<label for="{{id}}" class="{{labelClassName}} {{#isPageHeading}}govuk-label--l{{/isPageHeading}}">
|
3
3
|
{{{label}}}
|
4
4
|
</label>
|
5
5
|
{{#isPageHeading}}</h1>{{/isPageHeading}}
|
@@ -1,14 +1,14 @@
|
|
1
1
|
<div id="{{id}}-group" class="{{#compound}} form-group-compound{{/compound}}{{#formGroupClassName}} {{formGroupClassName}}{{/formGroupClassName}}{{#error}} govuk-form-group--error{{/error}}">
|
2
2
|
{{#isPageHeading}}<h1 class="govuk-label-wrapper">{{/isPageHeading}}<label for="{{id}}" class="{{labelClassName}}{{#isPageHeading}}govuk-label--l{{/isPageHeading}}">
|
3
3
|
{{{label}}}
|
4
|
-
{{#hint}}<span {{$hintId}}id="{{hintId}}" {{/hintId}}class="govuk-hint">{{hint}}</span>{{/hint}}
|
5
|
-
{{#error}}
|
6
|
-
<p class="govuk-error-message">
|
7
|
-
<span class="govuk-visually-hidden">Error:</span> {{error.message}}
|
8
|
-
</p>
|
9
|
-
{{/error}}
|
10
4
|
</label>
|
11
5
|
{{#isPageHeading}}</h1>{{/isPageHeading}}
|
6
|
+
{{#hint}}<div {{$hintId}}id="{{hintId}}" {{/hintId}}class="govuk-hint">{{hint}}</div>{{/hint}}
|
7
|
+
{{#error}}
|
8
|
+
<p class="govuk-error-message">
|
9
|
+
<span class="govuk-visually-hidden">Error:</span> {{error.message}}
|
10
|
+
</p>
|
11
|
+
{{/error}}
|
12
12
|
<select id="{{id}}" class="govuk-select{{#className}} {{className}}{{/className}}{{#error}} govuk-select--error{{/error}}" name="{{id}}" aria-required="{{required}}">
|
13
13
|
{{#options}}
|
14
14
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{label}}</option>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<div id="{{id}}-group" class="govuk-form-group {{#formGroupClassName}}{{formGroupClassName}}{{/formGroupClassName}}{{#error}} govuk-form-group--error{{/error}}">
|
5
5
|
{{#isPageHeading}}<h1 class="govuk-label-wrapper">{{/isPageHeading}}
|
6
6
|
<label for="{{id}}"
|
7
|
-
class="{{labelClassName}}{{#isPageHeading}}govuk-label--l{{/isPageHeading}}">
|
7
|
+
class="{{labelClassName}} {{#isPageHeading}}govuk-label--l{{/isPageHeading}}">
|
8
8
|
{{{label}}}
|
9
9
|
{{#error}}
|
10
10
|
<p id="{{id}}-error" class="govuk-error-message">
|
@@ -18,10 +18,10 @@
|
|
18
18
|
<textarea name="{{id}}" id="{{id}}"
|
19
19
|
class="govuk-textarea {{#isMaxlengthOrMaxword}}govuk-js-character-count{{/isMaxlengthOrMaxword}} {{#className}}{{className}}{{/className}} {{#error}}govuk-input--error{{/error}}"
|
20
20
|
{{#isMaxlengthOrMaxword}}
|
21
|
-
aria-describedby="{{id}}-info"
|
21
|
+
aria-describedby="{{id}}-hint {{id}}-info"
|
22
22
|
{{/isMaxlengthOrMaxword}}
|
23
|
-
{{#attributes}}
|
24
|
-
{{attribute}}="{{value}}"
|
23
|
+
{{#attributes}}
|
24
|
+
{{attribute}}="{{value}}"
|
25
25
|
{{/attributes}}
|
26
26
|
{{^error}}{{#hintId}}{{#maxlength}} aria-describedby="{{id}}-maxlength-hint {{hintId}}"{{/maxlength}}{{/hintId}}{{/error}}
|
27
27
|
{{^error}}{{#hintId}}{{^maxlength}} aria-describedby="{{hintId}}"{{/maxlength}}{{/hintId}}{{/error}}
|
@@ -1,2 +1,25 @@
|
|
1
|
+
{{#gtmTagId}}
|
2
|
+
{{#cookiesAccepted}}
|
3
|
+
<!-- Google Tag Manager Data Layer -->
|
4
|
+
<script {{#nonce}}nonce="{{nonce}}"{{/nonce}}>
|
5
|
+
var dataLayer = window.dataLayer || [];
|
6
|
+
dataLayer.push(
|
7
|
+
{{{gtmConfig}}}
|
8
|
+
);
|
9
|
+
</script>
|
10
|
+
<!-- End Google Tag Manager Data Layer -->
|
11
|
+
|
12
|
+
<!-- Google Tag Manager -->
|
13
|
+
<script {{#nonce}}nonce="{{nonce}}"{{/nonce}}>
|
14
|
+
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
15
|
+
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
16
|
+
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
17
|
+
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
18
|
+
})(window,document,'script','dataLayer','{{gtmTagId}}');
|
19
|
+
</script>
|
20
|
+
<!-- End Google Tag Manager -->
|
21
|
+
{{/cookiesAccepted}}
|
22
|
+
{{/gtmTagId}}
|
23
|
+
|
1
24
|
<meta name="format-detection" content="telephone=no">
|
2
25
|
<link rel="stylesheet" href="{{assetPath}}/css/app.css">
|
package/lib/ga-tag.js
CHANGED
@@ -2,6 +2,16 @@
|
|
2
2
|
|
3
3
|
const _ = require('lodash');
|
4
4
|
|
5
|
+
const convertToGTMPage = text => {
|
6
|
+
// Remove leading and trailing slashes
|
7
|
+
let str = text.replace(/^\/|\/$/g, '');
|
8
|
+
// Replace hyphens with spaces and capitalize each word
|
9
|
+
str = str.replace(/-+/g, ' ').replace(/(^|\s)\S/g, function (match) {
|
10
|
+
return match.toUpperCase();
|
11
|
+
});
|
12
|
+
return str;
|
13
|
+
};
|
14
|
+
|
5
15
|
const pageView = (path, pageMap) => pageMap.get(path) || path;
|
6
16
|
|
7
17
|
const createUris = routes => {
|
@@ -42,19 +52,35 @@ const setupPageMap = routes => {
|
|
42
52
|
module.exports = (app, config) => {
|
43
53
|
const gaTagId = config.gaTagId;
|
44
54
|
const ga4TagId = config.ga4TagId;
|
55
|
+
const gtm = config.gtm;
|
45
56
|
const gaCrossDomainTrackingTagId = config.gaCrossDomainTrackingTagId;
|
46
57
|
const routes = config.routes;
|
47
58
|
|
48
|
-
if (gaTagId || ga4TagId) {
|
59
|
+
if (gaTagId || ga4TagId || gtm.tagId) {
|
49
60
|
const pageMap = setupPageMap(routes);
|
50
61
|
|
51
62
|
app.use((req, res, next) => {
|
52
|
-
|
53
|
-
|
54
|
-
res.locals
|
55
|
-
|
56
|
-
|
57
|
-
|
63
|
+
const page = pageView(req.path, pageMap);
|
64
|
+
|
65
|
+
// Preparing common res.locals properties
|
66
|
+
const properties = {
|
67
|
+
gaAllowDebug: config.env === 'development',
|
68
|
+
gaTagId: gaTagId,
|
69
|
+
ga4TagId: ga4TagId,
|
70
|
+
gaCrossDomainTrackingTagId: gaCrossDomainTrackingTagId,
|
71
|
+
'ga-id': gaTagId,
|
72
|
+
'ga-page': page
|
73
|
+
};
|
74
|
+
|
75
|
+
// Adding extra properties if a GTM TAG is available
|
76
|
+
if (gtm.tagId) {
|
77
|
+
gtm.config.pageName = gtm.composePageName(page, convertToGTMPage);
|
78
|
+
Object.assign(properties, {
|
79
|
+
gtmConfig: JSON.stringify(gtm.config),
|
80
|
+
gtmTagId: gtm.tagId
|
81
|
+
});
|
82
|
+
}
|
83
|
+
res.locals = Object.assign(res.locals, properties);
|
58
84
|
next();
|
59
85
|
});
|
60
86
|
}
|
package/lib/settings.js
CHANGED
@@ -52,14 +52,15 @@ module.exports = async (app, config) => {
|
|
52
52
|
|
53
53
|
app.set('views', viewPaths);
|
54
54
|
app.use(expressPartialTemplates(app));
|
55
|
-
|
55
|
+
|
56
56
|
app.engine(viewEngine, hoganExpressStrict);
|
57
57
|
|
58
58
|
app.use(bodyParser.urlencoded({
|
59
|
+
limit: '50mb',
|
59
60
|
extended: true
|
60
61
|
}));
|
61
62
|
|
62
|
-
app.use(bodyParser.json());
|
63
|
+
app.use(bodyParser.json({limit: '50mb'}));
|
63
64
|
|
64
65
|
app.use((req, res, next) => {
|
65
66
|
res.locals.baseUrl = req.baseUrl;
|
package/middleware/cookies.js
CHANGED
@@ -22,6 +22,8 @@ module.exports = options => {
|
|
22
22
|
const reqIsCookieCheckRedirect = req.query[paramName] !== undefined;
|
23
23
|
|
24
24
|
if (reqIncludesCookies || isHealthcheckUrl(req.path, healthcheckUrls)) {
|
25
|
+
const prefs = 'cookie_preferences' in req.cookies ? JSON.parse(req.cookies.cookie_preferences) : {};
|
26
|
+
res.locals.cookiesAccepted = Boolean(prefs.usage);
|
25
27
|
next();
|
26
28
|
} else if (req.cookies === undefined || (!Object.keys(req.cookies).length && reqIsCookieCheckRedirect)) {
|
27
29
|
const err = new Error('Cookies required');
|