hof 20.0.0-redis-beta.32-redis-beta → 20.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/workflows/automate-publish.yml +1 -1
- package/.github/workflows/automate-tag.yml +4 -4
- package/.nyc_output/7c548a7f-5c40-44b2-b9fb-648341a23d6f.json +1 -0
- package/.nyc_output/processinfo/7c548a7f-5c40-44b2-b9fb-648341a23d6f.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/.vscode/settings.json +6 -0
- package/README.md +6 -0
- package/components/notify/notify.js +1 -1
- package/config/hof-defaults.js +1 -2
- package/config/sanitisation-rules.js +20 -17
- package/controller/base-controller.js +5 -3
- package/controller/controller.js +5 -0
- package/frontend/govuk-template/govuk_template_generated.html +104 -0
- package/frontend/template-partials/views/layout.html +2 -2
- package/frontend/template-partials/views/partials/maincontent-left.html +2 -2
- package/frontend/template-partials/views/partials/navigation.html +2 -2
- package/frontend/template-partials/views/partials/summary-table-row.html +2 -2
- package/frontend/template-partials/views/session-timeout.html +2 -1
- package/index.js +1 -1
- package/lib/health.js +1 -1
- package/lib/sessions.js +1 -1
- package/middleware/errors.js +2 -0
- package/middleware/rate-limiter.js +1 -3
- package/package.json +5 -4
- package/sandbox/.env +1 -0
- package/sandbox/apps/sandbox/translations/en/default.json +15 -36
- package/sandbox/public/css/app.css +6605 -12
- package/sandbox/public/js/bundle.js +2792 -22
- package/sandbox/server.js +1 -1
- package/wizard/middleware/check-progress.js +36 -1
- package/.nyc_output/cb764db8-e9f0-43bb-b3b1-7af57bb79bb5.json +0 -1
- package/.nyc_output/processinfo/cb764db8-e9f0-43bb-b3b1-7af57bb79bb5.json +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"parent":null,"pid":5683,"argv":["/Users/sulthan/.nvm/versions/node/v16.15.0/bin/node","/Users/sulthan/development/HO/hof/node_modules/.bin/_mocha","test/**/*.spec.js","sandbox/test/**/*.spec.js"],"execArgv":[],"cwd":"/Users/sulthan/development/HO/hof","time":1662566958656,"ppid":5682,"coverageFilename":"/Users/sulthan/development/HO/hof/.nyc_output/7c548a7f-5c40-44b2-b9fb-648341a23d6f.json","externalId":"","uuid":"7c548a7f-5c40-44b2-b9fb-648341a23d6f","files":["/Users/sulthan/development/HO/hof/model/index.js","/Users/sulthan/development/HO/hof/components/index.js","/Users/sulthan/development/HO/hof/components/address-lookup/index.js","/Users/sulthan/development/HO/hof/components/address-lookup/default-model.js","/Users/sulthan/development/HO/hof/components/address-lookup/defaults.js","/Users/sulthan/development/HO/hof/components/clear-session/index.js","/Users/sulthan/development/HO/hof/components/date/index.js","/Users/sulthan/development/HO/hof/components/date/fields.js","/Users/sulthan/development/HO/hof/components/emailer/index.js","/Users/sulthan/development/HO/hof/components/emailer/email-service.js","/Users/sulthan/development/HO/hof/components/emailer/emailer.js","/Users/sulthan/development/HO/hof/components/emailer/transports/index.js","/Users/sulthan/development/HO/hof/components/emailer/transports/smtp.js","/Users/sulthan/development/HO/hof/components/emailer/transports/ses.js","/Users/sulthan/development/HO/hof/components/emailer/transports/stub.js","/Users/sulthan/development/HO/hof/components/emailer/transports/debug.js","/Users/sulthan/development/HO/hof/components/notify/index.js","/Users/sulthan/development/HO/hof/components/notify/notify.js","/Users/sulthan/development/HO/hof/components/summary/index.js","/Users/sulthan/development/HO/hof/config/rate-limits.js","/Users/sulthan/development/HO/hof/middleware/rate-limiter.js","/Users/sulthan/development/HO/hof/config/hof-defaults.js","/Users/sulthan/development/HO/hof/controller/base-controller.js","/Users/sulthan/development/HO/hof/controller/formatting/index.js","/Users/sulthan/development/HO/hof/controller/validation/index.js","/Users/sulthan/development/HO/hof/controller/validation/validators.js","/Users/sulthan/development/HO/hof/controller/validation/email.js","/Users/sulthan/development/HO/hof/controller/validation-error.js","/Users/sulthan/development/HO/hof/utilities/index.js","/Users/sulthan/development/HO/hof/utilities/autofill/index.js","/Users/sulthan/development/HO/hof/utilities/autofill/inputs.js","/Users/sulthan/development/HO/hof/utilities/test-data/index.js","/Users/sulthan/development/HO/hof/utilities/countries.js","/Users/sulthan/development/HO/hof/utilities/helpers/index.js","/Users/sulthan/development/HO/hof/utilities/reqres/index.js","/Users/sulthan/development/HO/hof/config/sanitisation-rules.js","/Users/sulthan/development/HO/hof/controller/formatting/formatters.js","/Users/sulthan/development/HO/hof/controller/index.js","/Users/sulthan/development/HO/hof/controller/behaviour-session.js","/Users/sulthan/development/HO/hof/controller/behaviour-hooks.js","/Users/sulthan/development/HO/hof/controller/controller.js","/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/behaviours/country-select.js","/Users/sulthan/development/HO/hof/frontend/template-mixins/mixins/index.js","/Users/sulthan/development/HO/hof/frontend/template-mixins/mixins/template-mixins.js","/Users/sulthan/development/HO/hof/frontend/template-mixins/mixins/render.js","/Users/sulthan/development/HO/hof/frontend/template-mixins/mixins/helpers.js","/Users/sulthan/development/HO/hof/index.js","/Users/sulthan/development/HO/hof/frontend/index.js","/Users/sulthan/development/HO/hof/frontend/govuk-template/index.js","/Users/sulthan/development/HO/hof/frontend/govuk-template/build/index.js","/Users/sulthan/development/HO/hof/frontend/govuk-template/build/config.js","/Users/sulthan/development/HO/hof/frontend/template-partials/index.js","/Users/sulthan/development/HO/hof/frontend/template-partials/translations/index.js","/Users/sulthan/development/HO/hof/frontend/themes/index.js","/Users/sulthan/development/HO/hof/frontend/themes/gov-uk/index.js","/Users/sulthan/development/HO/hof/frontend/toolkit/index.js","/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/helpers.js","/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/form-focus.js","/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/progressive-reveal.js","/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/validation.js","/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/character-count.js","/Users/sulthan/development/HO/hof/middleware/index.js","/Users/sulthan/development/HO/hof/middleware/cookies.js","/Users/sulthan/development/HO/hof/middleware/errors.js","/Users/sulthan/development/HO/hof/middleware/not-found.js","/Users/sulthan/development/HO/hof/middleware/deep-translate.js","/Users/sulthan/development/HO/hof/lib/markdown.js","/Users/sulthan/development/HO/hof/lib/router.js","/Users/sulthan/development/HO/hof/wizard/index.js","/Users/sulthan/development/HO/hof/wizard/behaviours/index.js","/Users/sulthan/development/HO/hof/wizard/behaviours/complete.js","/Users/sulthan/development/HO/hof/wizard/util/constants.js","/Users/sulthan/development/HO/hof/lib/helpers.js","/Users/sulthan/development/HO/hof/lib/health.js","/Users/sulthan/development/HO/hof/lib/serve-static.js","/Users/sulthan/development/HO/hof/lib/ga-tag.js","/Users/sulthan/development/HO/hof/lib/sessions.js","/Users/sulthan/development/HO/hof/lib/settings.js","/Users/sulthan/development/HO/hof/lib/logger.js","/Users/sulthan/development/HO/hof/build/index.js","/Users/sulthan/development/HO/hof/config/builder-defaults.js","/Users/sulthan/development/HO/hof/transpiler/index.js","/Users/sulthan/development/HO/hof/transpiler/lib/compile.js","/Users/sulthan/development/HO/hof/transpiler/lib/build.js","/Users/sulthan/development/HO/hof/transpiler/lib/expand-dirs.js","/Users/sulthan/development/HO/hof/transpiler/lib/aggregate.js","/Users/sulthan/development/HO/hof/transpiler/lib/write-files.js","/Users/sulthan/development/HO/hof/model/apis/index.js","/Users/sulthan/development/HO/hof/model/apis/html-to-pdf-converter.js","/Users/sulthan/development/HO/hof/wizard/model.js","/Users/sulthan/development/HO/hof/wizard/middleware/back-links.js","/Users/sulthan/development/HO/hof/wizard/util/helpers.js","/Users/sulthan/development/HO/hof/wizard/middleware/check-complete.js","/Users/sulthan/development/HO/hof/wizard/middleware/check-progress.js","/Users/sulthan/development/HO/hof/wizard/middleware/check-session.js","/Users/sulthan/development/HO/hof/wizard/middleware/csrf.js","/Users/sulthan/development/HO/hof/sandbox/test/_unit/example_app/sections/summary-data-sections.spec.js","/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/sections/summary-data-sections.js","/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/lib/staticAppealStages.js","/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/fields.js","/Users/sulthan/development/HO/hof/sandbox/test/helpers/utilities.js","/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/behaviours/international-number.js","/Users/sulthan/development/HO/hof/lib/encryption.js","/Users/sulthan/development/HO/hof/wizard/middleware/session.js","/Users/sulthan/development/HO/hof/wizard/middleware/session-model.js"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"processes":{"cb764db8-e9f0-43bb-b3b1-7af57bb79bb5":{"parent":null,"children":[]}},"files":{"/Users/martincrawley/Documents/Code/HOF/hof/model/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/address-lookup/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/address-lookup/default-model.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/address-lookup/defaults.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/clear-session/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/date/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/date/fields.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/emailer/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/emailer/email-service.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/emailer/emailer.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/emailer/transports/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/emailer/transports/smtp.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/emailer/transports/ses.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/emailer/transports/stub.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/emailer/transports/debug.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/components/summary/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/config/rate-limits.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/middleware/rate-limiter.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/base-controller.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/formatting/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/validation/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/validation/validators.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/validation/email.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/validation-error.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/utilities/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/utilities/autofill/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/utilities/autofill/inputs.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/utilities/test-data/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/utilities/countries.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/utilities/helpers/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/utilities/reqres/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/config/sanitisation-rules.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/formatting/formatters.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/behaviour-session.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/behaviour-hooks.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/controller/controller.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/sandbox/apps/sandbox/behaviours/country-select.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/template-mixins/mixins/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/template-mixins/mixins/template-mixins.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/template-mixins/mixins/render.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/template-mixins/mixins/helpers.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/govuk-template/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/govuk-template/build/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/govuk-template/build/config.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/template-partials/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/template-partials/translations/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/themes/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/themes/gov-uk/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/toolkit/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/toolkit/assets/javascript/helpers.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/toolkit/assets/javascript/form-focus.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/toolkit/assets/javascript/progressive-reveal.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/toolkit/assets/javascript/validation.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/frontend/toolkit/assets/javascript/character-count.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/middleware/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/middleware/cookies.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/middleware/errors.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/middleware/not-found.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/middleware/deep-translate.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/lib/markdown.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/lib/router.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/behaviours/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/behaviours/complete.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/util/constants.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/lib/helpers.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/lib/health.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/lib/serve-static.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/lib/ga-tag.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/lib/sessions.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/lib/settings.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/config/hof-defaults.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/lib/logger.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/build/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/config/builder-defaults.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/transpiler/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/transpiler/lib/compile.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/transpiler/lib/build.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/transpiler/lib/expand-dirs.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/transpiler/lib/aggregate.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/transpiler/lib/write-files.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/model/apis/index.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/model/apis/html-to-pdf-converter.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/model.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/middleware/back-links.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/util/helpers.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/middleware/check-complete.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/middleware/check-progress.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/middleware/check-session.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/wizard/middleware/csrf.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/sandbox/test/_unit/example_app/sections/summary-data-sections.spec.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/sandbox/apps/sandbox/sections/summary-data-sections.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/sandbox/apps/sandbox/lib/staticAppealStages.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/sandbox/apps/sandbox/fields.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"],"/Users/martincrawley/Documents/Code/HOF/hof/sandbox/test/helpers/utilities.js":["cb764db8-e9f0-43bb-b3b1-7af57bb79bb5"]},"externalIds":{}}
|
1
|
+
{"processes":{"7c548a7f-5c40-44b2-b9fb-648341a23d6f":{"parent":null,"children":[]}},"files":{"/Users/sulthan/development/HO/hof/model/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/address-lookup/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/address-lookup/default-model.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/address-lookup/defaults.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/clear-session/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/date/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/date/fields.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/emailer/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/emailer/email-service.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/emailer/emailer.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/emailer/transports/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/emailer/transports/smtp.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/emailer/transports/ses.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/emailer/transports/stub.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/emailer/transports/debug.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/notify/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/notify/notify.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/components/summary/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/config/rate-limits.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/middleware/rate-limiter.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/config/hof-defaults.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/base-controller.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/formatting/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/validation/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/validation/validators.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/validation/email.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/validation-error.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/utilities/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/utilities/autofill/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/utilities/autofill/inputs.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/utilities/test-data/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/utilities/countries.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/utilities/helpers/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/utilities/reqres/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/config/sanitisation-rules.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/formatting/formatters.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/behaviour-session.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/behaviour-hooks.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/controller/controller.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/behaviours/country-select.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/template-mixins/mixins/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/template-mixins/mixins/template-mixins.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/template-mixins/mixins/render.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/template-mixins/mixins/helpers.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/govuk-template/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/govuk-template/build/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/govuk-template/build/config.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/template-partials/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/template-partials/translations/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/themes/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/themes/gov-uk/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/toolkit/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/helpers.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/form-focus.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/progressive-reveal.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/validation.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/frontend/toolkit/assets/javascript/character-count.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/middleware/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/middleware/cookies.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/middleware/errors.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/middleware/not-found.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/middleware/deep-translate.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/markdown.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/router.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/behaviours/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/behaviours/complete.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/util/constants.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/helpers.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/health.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/serve-static.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/ga-tag.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/sessions.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/settings.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/logger.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/build/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/config/builder-defaults.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/transpiler/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/transpiler/lib/compile.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/transpiler/lib/build.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/transpiler/lib/expand-dirs.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/transpiler/lib/aggregate.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/transpiler/lib/write-files.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/model/apis/index.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/model/apis/html-to-pdf-converter.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/model.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/middleware/back-links.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/util/helpers.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/middleware/check-complete.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/middleware/check-progress.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/middleware/check-session.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/middleware/csrf.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/sandbox/test/_unit/example_app/sections/summary-data-sections.spec.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/sections/summary-data-sections.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/lib/staticAppealStages.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/fields.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/sandbox/test/helpers/utilities.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/sandbox/apps/sandbox/behaviours/international-number.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/lib/encryption.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/middleware/session.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"],"/Users/sulthan/development/HO/hof/wizard/middleware/session-model.js":["7c548a7f-5c40-44b2-b9fb-648341a23d6f"]},"externalIds":{}}
|
package/README.md
CHANGED
@@ -1722,3 +1722,9 @@ Additional vendor JavaScript files are included. These are:
|
|
1722
1722
|
- safari-cachebuster.js
|
1723
1723
|
|
1724
1724
|
Copy `assets/javascript/vendor` into your javascript directory (ie `hmpo/vendor`) and compile them with your JavaScript.
|
1725
|
+
|
1726
|
+
## Journey Header Navigation.html page
|
1727
|
+
|
1728
|
+
- Navigation.html contains a journeyHeaderURL, which is set in the controller.
|
1729
|
+
- getJourneyHeaderURL within the controller translates an empty baseURL to '/'.
|
1730
|
+
- The above helps fix broken journey header URLs in the GRO and UKVIC services which both have a baseURL's set to '/'.
|
package/config/hof-defaults.js
CHANGED
@@ -27,8 +27,7 @@ const defaults = {
|
|
27
27
|
ignoreMiddlewareLogs: ['/healthz'],
|
28
28
|
redis: {
|
29
29
|
port: process.env.REDIS_PORT || '6379',
|
30
|
-
host: process.env.REDIS_HOST || '127.0.0.1'
|
31
|
-
legacyMode: true
|
30
|
+
host: process.env.REDIS_HOST || '127.0.0.1'
|
32
31
|
},
|
33
32
|
session: {
|
34
33
|
ttl: process.env.SESSION_TTL || 1800,
|
@@ -3,27 +3,30 @@
|
|
3
3
|
|
4
4
|
const sanitisationBlacklistArray = {
|
5
5
|
// Input will be sanitised using the below rules
|
6
|
+
// Each one is an array which will run sequentially
|
7
|
+
// Some have multiple steps which allow us to remove dups then append the suffix
|
8
|
+
// Useful for ensuring we're not re-sanitising the same input multiple times (and appending extra hypens each time)
|
6
9
|
// The key is what we're sanitising out
|
7
10
|
// The regex is the rule we used to find them (note some dictate repeating characters)
|
8
11
|
// And the replace is what we're replacing that pattern with. Usually nothing sometimes a
|
9
12
|
// single character or sometimes a single character followed by a "-"
|
10
|
-
'/*': { regex: '\/\\*', replace: '-' },
|
11
|
-
'*/': { regex: '\\*\\/', replace: '-' },
|
12
|
-
'|': { regex: '\\|', replace: '-' },
|
13
|
-
'&&': { regex: '&&+', replace: '&' },
|
14
|
-
'@@': { regex: '@@+', replace: '@' },
|
15
|
-
'/..;/': { regex: '/\\.\\.;/', replace: '-' }, // Purposely input before ".." as they conflict
|
16
|
-
// '..': { regex: '\\.\\.+', replace: '.' }, // Agreed to disable this rule for now unless its specifically required
|
17
|
-
'/etc/passwd': { regex: '\/etc\/passwd', replace: '-' },
|
18
|
-
'c:\\': { regex: 'c:\\\\', replace: '-' },
|
19
|
-
'cmd.exe': { regex: 'cmd\\.exe', replace: '-' },
|
20
|
-
'<': { regex: '<', replace: '<-' },
|
21
|
-
'>': { regex: '>', replace: '>-' },
|
22
|
-
'[': { regex: '\\[+', replace: '[-' },
|
23
|
-
']': { regex: '\\]+', replace: ']-' },
|
24
|
-
'~': { regex: '~', replace: '~-' },
|
25
|
-
'&#': { regex: '&#', replace: '-' },
|
26
|
-
'%U': { regex: '%U', replace: '-' }
|
13
|
+
'/*': [{ regex: '\/\\*', replace: '-' }],
|
14
|
+
'*/': [{ regex: '\\*\\/', replace: '-' }],
|
15
|
+
'|': [{ regex: '\\|', replace: '-' }],
|
16
|
+
'&&': [{ regex: '&&+', replace: '&' }],
|
17
|
+
'@@': [{ regex: '@@+', replace: '@' }],
|
18
|
+
'/..;/': [{ regex: '/\\.\\.;/', replace: '-' }], // Purposely input before ".." as they conflict
|
19
|
+
// '..': [{ regex: '\\.\\.+', replace: '.' }], // Agreed to disable this rule for now unless its specifically required
|
20
|
+
'/etc/passwd': [{ regex: '\/etc\/passwd', replace: '-' }],
|
21
|
+
'c:\\': [{ regex: 'c:\\\\', replace: '-' }],
|
22
|
+
'cmd.exe': [{ regex: 'cmd\\.exe', replace: '-' }],
|
23
|
+
'<': [{ regex: '<+', replace: '<' }, { regex: '<(?!-)', replace: '<-' }],
|
24
|
+
'>': [{ regex: '>+', replace: '>' }, { regex: '>(?!-)', replace: '>-' }],
|
25
|
+
'[': [{ regex: '\\[+', replace: '[' }, { regex: '\\[(?!-)', replace: '[-' }],
|
26
|
+
']': [{ regex: '\\]+', replace: ']-' }, { regex: '\\](?!-)', replace: ']-' }],
|
27
|
+
'~': [{ regex: '~+', replace: '~' }, { regex: '~(?!-)', replace: '~-' }],
|
28
|
+
'&#': [{ regex: '&#', replace: '-' }],
|
29
|
+
'%U': [{ regex: '%U', replace: '-' }]
|
27
30
|
};
|
28
31
|
|
29
32
|
module.exports = sanitisationBlacklistArray;
|
@@ -177,9 +177,11 @@ module.exports = class BaseController extends EventEmitter {
|
|
177
177
|
// For each property in our form data
|
178
178
|
Object.keys(sanitisationBlacklistArray).forEach(function (blacklisted, blacklistedIndex) {
|
179
179
|
const blacklistedDetail = sanitisationBlacklistArray[blacklisted];
|
180
|
-
|
181
|
-
|
182
|
-
|
180
|
+
blacklistedDetail.forEach(step => {
|
181
|
+
const regexQuery = new RegExp(step.regex, 'gi');
|
182
|
+
// Will perform the required replace based on our passed in regex and the replace string
|
183
|
+
req.form.values[property] = req.form.values[property].replace(regexQuery, step.replace);
|
184
|
+
});
|
183
185
|
});
|
184
186
|
}
|
185
187
|
});
|
package/controller/controller.js
CHANGED
@@ -113,6 +113,7 @@ module.exports = class Controller extends BaseController {
|
|
113
113
|
baseUrl: req.baseUrl,
|
114
114
|
skipToMain: this.getFirstFormItem(req.form.options.fields),
|
115
115
|
title: this.getTitle(route, lookup, req.form.options.fields, res.locals),
|
116
|
+
journeyHeaderURL: this.getJourneyHeaderURL(req.baseUrl),
|
116
117
|
header: this.getHeader(route, lookup, res.locals),
|
117
118
|
captionHeading: this.getCaptionHeading(route, lookup, res.locals),
|
118
119
|
warning: this.getWarning(route, lookup, res.locals),
|
@@ -124,6 +125,10 @@ module.exports = class Controller extends BaseController {
|
|
124
125
|
}, stepLocals);
|
125
126
|
}
|
126
127
|
|
128
|
+
getJourneyHeaderURL(url) {
|
129
|
+
return url === '' ? '/' : url;
|
130
|
+
}
|
131
|
+
|
127
132
|
getFirstFormItem(fields) {
|
128
133
|
let firstFieldKey;
|
129
134
|
if (_.size(fields)) {
|
@@ -0,0 +1,104 @@
|
|
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
|
+
|
9
|
+
<link rel="shortcut icon" sizes="16x16 32x32 48x48" href="{{govukAssetPath}}images/favicon.ico" type="image/x-icon">
|
10
|
+
<link rel="mask-icon" href="{{govukAssetPath}}images/govuk-mask-icon.svg" color="#0b0c0c">
|
11
|
+
<link rel="apple-touch-icon" sizes="180x180" href="{{govukAssetPath}}images/govuk-apple-touch-icon-180x180.png">
|
12
|
+
<link rel="apple-touch-icon" sizes="167x167" href="{{govukAssetPath}}images/govuk-apple-touch-icon-167x167.png">
|
13
|
+
<link rel="apple-touch-icon" sizes="152x152" href="{{govukAssetPath}}images/govuk-apple-touch-icon-152x152.png">
|
14
|
+
<link rel="apple-touch-icon" href="{{govukAssetPath}}images/govuk-apple-touch-icon.png">
|
15
|
+
|
16
|
+
|
17
|
+
<meta name="theme-color" content="#0b0c0c" />
|
18
|
+
|
19
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
20
|
+
|
21
|
+
{{$head}}{{/head}}
|
22
|
+
|
23
|
+
|
24
|
+
<meta property="og:image" content="{{govukAssetPath}}images/opengraph-image.png">
|
25
|
+
</head>
|
26
|
+
|
27
|
+
<body class="{{$bodyClasses}}{{/bodyClasses}} govuk-template__body js-enabled" >
|
28
|
+
<script {{#nonce}}nonce="{{nonce}}"{{/nonce}}>document.body.className = ((document.body.className) ? document.body.className + ' js-enabled' : 'js-enabled');</script>
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
<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
|
+
{{$cookieMessage}}{{/cookieMessage}}
|
34
|
+
</div>
|
35
|
+
|
36
|
+
{{$bodyStart}}{{/bodyStart}}
|
37
|
+
|
38
|
+
<header role="banner" id="govuk-header" class="{{$headerClass}}{{/headerClass}}">
|
39
|
+
<div class="govuk-header__container govuk-width-container">
|
40
|
+
|
41
|
+
<div class="govuk-header__logo">
|
42
|
+
<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">
|
43
|
+
<span class="govuk-header__logotype">
|
44
|
+
<!--[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 132 97" height="30" width="36">
|
46
|
+
<path fill="currentColor" fill-rule="evenodd" d="M25 30.2c3.5 1.5 7.7-.2 9.1-3.7 1.5-3.6-.2-7.8-3.9-9.2-3.6-1.4-7.6.3-9.1 3.9-1.4 3.5.3 7.5 3.9 9zM9 39.5c3.6 1.5 7.8-.2 9.2-3.7 1.5-3.6-.2-7.8-3.9-9.1-3.6-1.5-7.6.2-9.1 3.8-1.4 3.5.3 7.5 3.8 9zM4.4 57.2c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.5-1.5-7.6.3-9.1 3.8-1.4 3.5.3 7.6 3.9 9.1zm38.3-21.4c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.6-1.5-7.6.3-9.1 3.8-1.3 3.6.4 7.7 3.9 9.1zm64.4-5.6c-3.6 1.5-7.8-.2-9.1-3.7-1.5-3.6.2-7.8 3.8-9.2 3.6-1.4 7.7.3 9.2 3.9 1.3 3.5-.4 7.5-3.9 9zm15.9 9.3c-3.6 1.5-7.7-.2-9.1-3.7-1.5-3.6.2-7.8 3.7-9.1 3.6-1.5 7.7.2 9.2 3.8 1.5 3.5-.3 7.5-3.8 9zm4.7 17.7c-3.6 1.5-7.8-.2-9.2-3.8-1.5-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.3 3.5-.4 7.6-3.9 9.1zM89.3 35.8c-3.6 1.5-7.8-.2-9.2-3.8-1.4-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.4 3.6-.3 7.7-3.9 9.1zM69.7 17.7l8.9 4.7V9.3l-8.9 2.8c-.2-.3-.5-.6-.9-.9L72.4 0H59.6l3.5 11.2c-.3.3-.6.5-.9.9l-8.8-2.8v13.1l8.8-4.7c.3.3.6.7.9.9l-5 15.4v.1c-.2.8-.4 1.6-.4 2.4 0 4.1 3.1 7.5 7 8.1h.2c.3 0 .7.1 1 .1.4 0 .7 0 1-.1h.2c4-.6 7.1-4.1 7.1-8.1 0-.8-.1-1.7-.4-2.4V34l-5.1-15.4c.4-.2.7-.6 1-.9zM66 92.8c16.9 0 32.8 1.1 47.1 3.2 4-16.9 8.9-26.7 14-33.5l-9.6-3.4c1 4.9 1.1 7.2 0 10.2-1.5-1.4-3-4.3-4.2-8.7L108.6 76c2.8-2 5-3.2 7.5-3.3-4.4 9.4-10 11.9-13.6 11.2-4.3-.8-6.3-4.6-5.6-7.9 1-4.7 5.7-5.9 8-.5 4.3-8.7-3-11.4-7.6-8.8 7.1-7.2 7.9-13.5 2.1-21.1-8 6.1-8.1 12.3-4.5 20.8-4.7-5.4-12.1-2.5-9.5 6.2 3.4-5.2 7.9-2 7.2 3.1-.6 4.3-6.4 7.8-13.5 7.2-10.3-.9-10.9-8-11.2-13.8 2.5-.5 7.1 1.8 11 7.3L80.2 60c-4.1 4.4-8 5.3-12.3 5.4 1.4-4.4 8-11.6 8-11.6H55.5s6.4 7.2 7.9 11.6c-4.2-.1-8-1-12.3-5.4l1.4 16.4c3.9-5.5 8.5-7.7 10.9-7.3-.3 5.8-.9 12.8-11.1 13.8-7.2.6-12.9-2.9-13.5-7.2-.7-5 3.8-8.3 7.1-3.1 2.7-8.7-4.6-11.6-9.4-6.2 3.7-8.5 3.6-14.7-4.6-20.8-5.8 7.6-5 13.9 2.2 21.1-4.7-2.6-11.9.1-7.7 8.8 2.3-5.5 7.1-4.2 8.1.5.7 3.3-1.3 7.1-5.7 7.9-3.5.7-9-1.8-13.5-11.2 2.5.1 4.7 1.3 7.5 3.3l-4.7-15.4c-1.2 4.4-2.7 7.2-4.3 8.7-1.1-3-.9-5.3 0-10.2l-9.5 3.4c5 6.9 9.9 16.7 14 33.5 14.8-2.1 30.8-3.2 47.7-3.2z"></path>
|
47
|
+
</svg>
|
48
|
+
<!--<![endif]-->
|
49
|
+
<!--<![endif]-->
|
50
|
+
<!--[if IE 8]>
|
51
|
+
<img src="{{govukAssetPath}}images/govuk-logotype-crown.png" class="govuk-header__logotype-crown-fallback-image" width="36" height="32">
|
52
|
+
<![endif]-->
|
53
|
+
</span>
|
54
|
+
<span class="govuk-header__logotype-text">
|
55
|
+
{{$globalHeaderText}}GOV.UK{{/globalHeaderText}}
|
56
|
+
</span>
|
57
|
+
</a>
|
58
|
+
</div>
|
59
|
+
{{$insideHeader}}{{/insideHeader}}
|
60
|
+
|
61
|
+
{{$propositionHeader}}{{/propositionHeader}}
|
62
|
+
</div>
|
63
|
+
</header>
|
64
|
+
|
65
|
+
|
66
|
+
{{$afterHeader}}{{/afterHeader}}
|
67
|
+
|
68
|
+
|
69
|
+
{{$main}}{{/main}}
|
70
|
+
|
71
|
+
<footer class="govuk-footer" id="footer" role="contentinfo">
|
72
|
+
|
73
|
+
<div class="govuk-width-container">
|
74
|
+
{{$footerTop}}{{/footerTop}}
|
75
|
+
|
76
|
+
<div class="govuk-footer__meta">
|
77
|
+
<div class="govuk-footer__meta-item govuk-footer__meta-item--grow">
|
78
|
+
<h2 class="govuk-visually-hidden">Support links</h2>
|
79
|
+
{{$footerSupportLinks}}{{/footerSupportLinks}}
|
80
|
+
|
81
|
+
<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
|
+
<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
|
+
</svg>
|
84
|
+
|
85
|
+
<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>
|
86
|
+
</div>
|
87
|
+
|
88
|
+
<div class="govuk-footer__meta-item">
|
89
|
+
<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>
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
</div>
|
93
|
+
</footer>
|
94
|
+
|
95
|
+
<div id="global-app-error" class="app-error hidden"></div>
|
96
|
+
|
97
|
+
|
98
|
+
{{$bodyEnd}}{{/bodyEnd}}
|
99
|
+
|
100
|
+
|
101
|
+
<script {{#nonce}}nonce="{{nonce}}"{{/nonce}}>if (typeof window.GOVUK === 'undefined') document.body.className = document.body.className.replace('js-enabled', '');</script>
|
102
|
+
|
103
|
+
</body>
|
104
|
+
</html>
|
@@ -44,9 +44,9 @@
|
|
44
44
|
{{/gaTagId}}
|
45
45
|
{{/cookieMessage}}
|
46
46
|
{{$footerSupportLinks}}
|
47
|
-
<ul>
|
47
|
+
<ul class="govuk-footer__inline-list">
|
48
48
|
{{#footerSupportLinks}}
|
49
|
-
<li class="govuk-footer__inline-list-item"><a href="{{path}}">{{#t}}{{property}}{{/t}}</a></li>
|
49
|
+
<li class="govuk-footer__inline-list-item"><a class="govuk-footer__link" href="{{path}}">{{#t}}{{property}}{{/t}}</a></li>
|
50
50
|
{{/footerSupportLinks}}
|
51
51
|
{{^footerSupportLinks}}
|
52
52
|
<li class="govuk-footer__inline-list-item"><a class="govuk-footer__link" href="/cookies">{{#t}}base.cookies{{/t}}</a></li>
|
@@ -3,8 +3,8 @@
|
|
3
3
|
<div class="govuk-grid-column-two-thirds">
|
4
4
|
{{$validationSummary}}{{/validationSummary}}
|
5
5
|
{{#captionHeading}}<span class="govuk-caption-l">{{captionHeading}}</span>{{/captionHeading}}
|
6
|
-
{{#header}}<h1 class="govuk-heading-
|
7
|
-
{{#subHeading}}<div id="page-header" class="govuk-heading-
|
6
|
+
{{#header}}<h1 class="govuk-heading-l">{{header}}</h1>{{/header}}
|
7
|
+
{{#subHeading}}<div id="page-header"><h2 class="govuk-heading-m">{{subHeading}}</h2></div>{{/subHeading}}
|
8
8
|
{{$content}}{{/content}}
|
9
9
|
</div>
|
10
10
|
{{/content-outer}}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<div class="govuk-header__content">
|
2
2
|
{{#startPageRedirectUrl}}
|
3
|
-
<a href="{{startPageRedirectUrl}}" class="govuk-header__link govuk-header__link--service-name" id="proposition-name">{{$journeyHeader}}{{/journeyHeader}}</a>
|
3
|
+
<a href="{{startPageRedirectUrl}}" class="govuk-header__link govuk-header__link--service-name" id="proposition-name">{{$journeyHeader}}{{/journeyHeader}}</a>
|
4
4
|
{{/startPageRedirectUrl}}
|
5
5
|
{{^startPageRedirectUrl}}
|
6
|
-
<a href="{{
|
6
|
+
<a href="{{journeyHeaderURL}}" class="govuk-header__link govuk-header__link--service-name" id="proposition-name">{{$journeyHeader}}{{/journeyHeader}}</a>
|
7
7
|
{{/startPageRedirectUrl}}
|
8
8
|
</div>
|
@@ -5,10 +5,10 @@
|
|
5
5
|
<dt class="confirm-label">{{label}}</dt>
|
6
6
|
<dd class="confirm-value" data-value="{{value}}">{{value}}</dd>
|
7
7
|
{{#changeLink}}
|
8
|
-
<dd><span class="link"
|
8
|
+
<dd><span><a class="govuk-link" href="{{changeLink}}" id="{{field}}-change-{{index}}">{{#t}}buttons.change{{/t}} <span class="visuallyhidden">{{changeLinkDescription}} from {{value}}</span></a></span></dd>
|
9
9
|
{{/changeLink}}
|
10
10
|
{{^changeLink}}
|
11
|
-
<dd><span class="link"
|
11
|
+
<dd><span><a class="govuk-link" href="{{baseUrl}}{{step}}/edit#{{field}}" id="{{field}}-change">{{#t}}buttons.change{{/t}} <span class="visuallyhidden">{{changeLinkDescription}} from {{value}}</span></a></span></dd>
|
12
12
|
{{/changeLink}}
|
13
13
|
{{/isSeparator}}
|
14
14
|
</div>
|
@@ -1,6 +1,7 @@
|
|
1
1
|
{{<error}}
|
2
2
|
{{$content}}
|
3
|
-
<
|
3
|
+
<h1 class="govuk-heading-l">{{{content.title}}}</h1>
|
4
|
+
<h2 class="govuk-heading-m">{{{content.message}}}</h2>
|
4
5
|
<a href="{{startLink}}" class="govuk-button" role="button">{{#t}}buttons.start-again{{/t}}</a>
|
5
6
|
{{/content}}
|
6
7
|
{{/error}}
|
package/index.js
CHANGED
@@ -79,7 +79,7 @@ const getContentSecurityPolicy = (config, res) => {
|
|
79
79
|
fontSrc: ['fonts.gstatic.com '],
|
80
80
|
scriptSrc: ['www.google-analytics.com', 'ssl.google-analytics.com'],
|
81
81
|
imgSrc: ['www.google-analytics.com', 'ssl.gstatic.com'],
|
82
|
-
connectSrc: ['www.google-analytics.com']
|
82
|
+
connectSrc: ['https://www.google-analytics.com', 'https://region1.google-analytics.com']
|
83
83
|
};
|
84
84
|
|
85
85
|
if (config.gaTagId) {
|
package/lib/health.js
CHANGED
package/lib/sessions.js
CHANGED
package/middleware/errors.js
CHANGED
@@ -12,6 +12,8 @@ const getContent = (err, translate) => {
|
|
12
12
|
if (err.code === 'SESSION_TIMEOUT') {
|
13
13
|
err.status = 401;
|
14
14
|
err.template = 'session-timeout';
|
15
|
+
err.title = (translate && translate('errors.session.title'));
|
16
|
+
err.message = (translate && translate('errors.session.message'));
|
15
17
|
content.title = (translate && translate('errors.session.title'));
|
16
18
|
content.message = (translate && translate('errors.session.message'));
|
17
19
|
}
|
@@ -25,11 +25,9 @@ module.exports = (options, rateLimitType) => {
|
|
25
25
|
}
|
26
26
|
|
27
27
|
const closeConnection = async err => {
|
28
|
-
await redisClient.
|
28
|
+
await redisClient.quit();
|
29
29
|
return next(err);
|
30
30
|
};
|
31
|
-
redisClient.on('error', err => logger.log('error', err));
|
32
|
-
await redisClient.connect();
|
33
31
|
|
34
32
|
try {
|
35
33
|
// fetch records of current user using IP address, returns null when no record is found
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "hof",
|
3
3
|
"description": "A bootstrap for HOF projects",
|
4
|
-
"version": "20.0.0
|
4
|
+
"version": "20.0.0",
|
5
5
|
"license": "MIT",
|
6
6
|
"main": "index.js",
|
7
7
|
"author": "HomeOffice",
|
@@ -42,7 +42,7 @@
|
|
42
42
|
"callsite": "^1.0.0",
|
43
43
|
"chalk": "^2.0.0",
|
44
44
|
"chokidar": "^3.4.0",
|
45
|
-
"connect-redis": "^
|
45
|
+
"connect-redis": "^5.2.0",
|
46
46
|
"cookie-parser": "^1.4.6",
|
47
47
|
"cp": "^0.2.0",
|
48
48
|
"csrf": "^3.0.2",
|
@@ -72,7 +72,7 @@
|
|
72
72
|
"minimatch": "^3.0.3",
|
73
73
|
"minimist": "^1.2.6",
|
74
74
|
"mixwith": "^0.1.1",
|
75
|
-
"moment": "^2.29.
|
75
|
+
"moment": "^2.29.4",
|
76
76
|
"morgan": "^1.10.0",
|
77
77
|
"mustache": "^2.3.0",
|
78
78
|
"nodemailer": "^6.6.3",
|
@@ -80,7 +80,7 @@
|
|
80
80
|
"nodemailer-smtp-transport": "^2.7.4",
|
81
81
|
"nodemailer-stub-transport": "^1.1.0",
|
82
82
|
"notifications-node-client": "^5.1.1",
|
83
|
-
"redis": "^
|
83
|
+
"redis": "^3.1.2",
|
84
84
|
"reqres": "^3.0.1",
|
85
85
|
"request": "^2.79.0",
|
86
86
|
"rimraf": "^3.0.2",
|
@@ -89,6 +89,7 @@
|
|
89
89
|
"uglify-js": "^3.14.3",
|
90
90
|
"underscore": "^1.12.1",
|
91
91
|
"urijs": "^1.19.11",
|
92
|
+
"uuid": "^8.3.2",
|
92
93
|
"winston": "^3.7.2"
|
93
94
|
},
|
94
95
|
"devDependencies": {
|
package/sandbox/.env
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
// GA_TAG=UA-215558609-1
|