@dwp/govuk-casa 9.4.6 → 9.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -103,6 +103,7 @@ function configure(config = {}) {
103
103
  ...i18n.dirs,
104
104
  ],
105
105
  languages: i18n.locales,
106
+ fallbackLng: i18n.fallbackLng,
106
107
  });
107
108
  const dataMiddleware = (0, data_js_1.default)({
108
109
  plan,
@@ -1 +1 @@
1
- {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/lib/configure.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/lib/configure.js"],"names":[],"mappings":"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"}
@@ -3,11 +3,13 @@
3
3
  *
4
4
  * @param {object} opts Options
5
5
  * @param {string[]} [opts.languages] Language codes
6
+ * @param {string[]} [opts.fallbackLng] Fallback language
6
7
  * @param {string[]} [opts.directories] Source translations directories
7
8
  * @returns {RequestHandler[]} Middleware functions
8
9
  */
9
- export default function i18nMiddleware({ languages, directories, }: {
10
+ export default function i18nMiddleware({ languages, fallbackLng, directories, }: {
10
11
  languages?: string[] | undefined;
12
+ fallbackLng?: string[] | undefined;
11
13
  directories?: string[] | undefined;
12
14
  }): RequestHandler[];
13
15
  export type RequestHandler = import("express").RequestHandler;
@@ -65,10 +65,11 @@ const loadResources = (languages, directories) => {
65
65
  *
66
66
  * @param {object} opts Options
67
67
  * @param {string[]} [opts.languages] Language codes
68
+ * @param {string[]} [opts.fallbackLng] Fallback language
68
69
  * @param {string[]} [opts.directories] Source translations directories
69
70
  * @returns {RequestHandler[]} Middleware functions
70
71
  */
71
- function i18nMiddleware({ languages = ["en", "cy"], directories = [], }) {
72
+ function i18nMiddleware({ languages = ["en", "cy"], fallbackLng = false, directories = [], }) {
72
73
  // Load _all_ translations, from all directories into memory.
73
74
  const resources = loadResources(languages, directories);
74
75
  // Configure i18next
@@ -76,7 +77,7 @@ function i18nMiddleware({ languages = ["en", "cy"], directories = [], }) {
76
77
  i18nInstance.use(i18next_http_middleware_1.LanguageDetector).init({
77
78
  initAsync: false, // because we need synchronous loading
78
79
  supportedLngs: languages,
79
- fallbackLng: false,
80
+ fallbackLng,
80
81
  defaultNS: "common",
81
82
  // debug: true,
82
83
  // All translation resources
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/middleware/i18n.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/middleware/i18n.js"],"names":[],"mappings":"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"}
@@ -105,6 +105,7 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
105
105
  waypoint: plan.traverse(req.casa.journeyContext, {
106
106
  stopCondition: () => true, // we only need one; stop at the first
107
107
  })[0],
108
+ journeyContext: req.casa.journeyContext,
108
109
  });
109
110
  // If the refmount doesn't exist in our Plan, we can assume that the two
110
111
  // Plans are not linked in any way, i.e. the other Plan is simply redirecting
@@ -117,7 +118,11 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
117
118
  startWaypoint: refmount,
118
119
  });
119
120
  redirectTo = routes.length
120
- ? (0, waypoint_url_js_1.default)({ mountUrl, waypoint: routes[0].target })
121
+ ? (0, waypoint_url_js_1.default)({
122
+ mountUrl,
123
+ waypoint: routes[0].target,
124
+ journeyContext: req.casa.journeyContext,
125
+ })
121
126
  : fallback;
122
127
  }
123
128
  else {
@@ -126,7 +131,11 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
126
131
  });
127
132
  if (routes[0].target !== null) {
128
133
  redirectTo = routes.length
129
- ? (0, waypoint_url_js_1.default)({ mountUrl, waypoint: routes[0].target })
134
+ ? (0, waypoint_url_js_1.default)({
135
+ mountUrl,
136
+ waypoint: routes[0].target,
137
+ journeyContext: req.casa.journeyContext,
138
+ })
130
139
  : fallback;
131
140
  }
132
141
  else {
@@ -141,6 +150,7 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
141
150
  url.search = searchParams.toString();
142
151
  redirectTo = `${url.pathname.replace(/\/+/g, "/")}${url.search}`;
143
152
  log.trace(`Redirect to ${redirectTo}`);
153
+ // nosemgrep: nodejs_scan.javascript-redirect-rule-express_open_redirect
144
154
  return res.redirect(redirectTo);
145
155
  });
146
156
  // Create GET / POST routes for each page
@@ -179,7 +189,11 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
179
189
  Object.create(null));
180
190
  const govukErrors = displayErrors && generateGovukErrors(errors, req);
181
191
  return {
182
- formUrl: (0, waypoint_url_js_1.default)({ mountUrl: `${req.baseUrl}/`, waypoint }),
192
+ formUrl: (0, waypoint_url_js_1.default)({
193
+ mountUrl: `${req.baseUrl}/`,
194
+ waypoint,
195
+ journeyContext: req.casa.journeyContext,
196
+ }),
183
197
  formData: req.casa.journeyContext.getDataForPage(waypoint),
184
198
  formErrors: Object.keys(errors).length && displayErrors ? errors : null,
185
199
  formErrorsGovukArray: govukErrors.length && displayErrors ? govukErrors : null,
@@ -233,7 +247,11 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
233
247
  // and the `k` property are known entities
234
248
  const govukErrors = generateGovukErrors(errors, req);
235
249
  return {
236
- formUrl: (0, waypoint_url_js_1.default)({ mountUrl: `${req.baseUrl}/`, waypoint }),
250
+ formUrl: (0, waypoint_url_js_1.default)({
251
+ mountUrl: `${req.baseUrl}/`,
252
+ waypoint,
253
+ journeyContext: req.casa.journeyContext,
254
+ }),
237
255
  formData: req.body,
238
256
  formErrors: Object.keys(errors).length ? errors : null,
239
257
  formErrorsGovukArray: govukErrors.length ? govukErrors : null,
@@ -1 +1 @@
1
- {"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/routes/journey.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/routes/journey.js"],"names":[],"mappings":";;;;;AAuGA,gCAkPC;AAzVD,+EAAoD;AACpD,sFAA2E;AAC3E,sFAA2E;AAC3E,0FAA+E;AAC/E,sFAA2E;AAC3E,0FAA+E;AAC/E,4FAAiF;AACjF,6EAAiD;AACjD,iEAAsC;AACtC,8CAAyD;AACzD,sDAAqE;AAErE,MAAM,GAAG,GAAG,IAAA,mBAAM,EAAC,gBAAgB,CAAC,CAAC;AAErC;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;GAMG;AAEH,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,CAAC;IACxD,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,GAAG,CAAC,MAAM,CACR,IAAI,EACJ;YACE,2DAA2D;YAC3D,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ;YAC7B,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;YAClC,aAAa,EAAE,qBAAqB,CAClC,GAAG,CAAC,IAAI,CAAC,UAAU,EACnB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAClB;YACD,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YACpD,GAAG,cAAc,CAAC,GAAG,CAAC;SACvB,EACD,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE;YACtB,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAC1C,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3C,IAAI,EAAE,KAAK,CAAC,SAAS;CACtB,CAAC,CAAC,CAAC;AAEN,MAAM,qBAAqB,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE;IACrD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;IAC7D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,EAAE,CACtD,OAAO,eAAe,KAAK,UAAU;IACnC,CAAC,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;IAC1B,CAAC,CAAC,eAAe,KAAK,6CAA8B,CAAC;AAEzD;;;;;;;GAOG;AACH,SAAwB,aAAa,CAAC,EACpC,WAAW,EACX,KAAK,EACL,IAAI,EACJ,cAAc,EACd,qBAAqB,GACtB;IACC,SAAS;IACT,MAAM,MAAM,GAAG,IAAI,0BAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,wEAAwE;IACxE,oCAAoC;IACpC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC;QACnC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;QACrC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,YAAY,QAAQ,gBAAgB,QAAQ,aAAa,KAAK,EAAE,CAAC,CAAC;QAE5E,IAAI,UAAU,CAAC;QACf,MAAM,QAAQ,GAAG,IAAA,yBAAW,EAAC;YAC3B,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC/C,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,sCAAsC;aAClE,CAAC,CAAC,CAAC,CAAC;YACL,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;SACxC,CAAC,CAAC;QAEH,wEAAwE;QACxE,6EAA6E;QAC7E,yDAAyD;QACzD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,UAAU,GAAG,QAAQ,CAAC;QACxB,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC9D,aAAa,EAAE,QAAQ;aACxB,CAAC,CAAC;YACH,UAAU,GAAG,MAAM,CAAC,MAAM;gBACxB,CAAC,CAAC,IAAA,yBAAW,EAAC;oBACV,QAAQ;oBACR,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;oBAC1B,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;iBACxC,CAAC;gBACJ,CAAC,CAAC,QAAQ,CAAC;QACf,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC9D,aAAa,EAAE,QAAQ;aACxB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBAC9B,UAAU,GAAG,MAAM,CAAC,MAAM;oBACxB,CAAC,CAAC,IAAA,yBAAW,EAAC;wBACV,QAAQ;wBACR,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM;wBAC1B,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;qBACxC,CAAC;oBACJ,CAAC,CAAC,QAAQ,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,QAAQ,CAAC;YACxB,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACrC,UAAU,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAEjE,GAAG,CAAC,KAAK,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;QACvC,wEAAwE;QACxE,OAAO,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,yCAAyC;IACzC,MAAM,gBAAgB,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EACJ,QAAQ,EACR,IAAI,EACJ,KAAK,EAAE,SAAS,GAAG,EAAE,EACrB,MAAM,EACN,eAAe,GAChB,GAAG,IAAI,CAAC;QACT,MAAM,YAAY,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEpC,IAAI,wBAAwB,GAAG;YAC7B,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBACjB,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACpC,IAAI,EAAE,CAAC;YACT,CAAC;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,CAAC,gBAAgB,QAAQ,2BAA2B,CAAC,CAAC;YAC9D,wBAAwB,GAAG;gBACzB,GAAG,wBAAwB;gBAC3B,GAAG,IAAA,0BAA6B,EAAC,EAAE,QAAQ,EAAE,CAAC;aAC/C,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,GAAG,CACR,YAAY,EACZ,GAAG,gBAAgB,EACnB,GAAG,wBAAwB,EAE3B,GAAG,IAAA,iCAAsB,EAAC,kBAAkB,EAAE,YAAY,EAAE;YAC1D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EACF,GAAG,IAAA,0BAA6B,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EACpD,GAAG,IAAA,iCAAsB,EAAC,mBAAmB,EAAE,YAAY,EAAE;YAC3D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EAEF,GAAG,IAAA,iCAAsB,EAAC,mBAAmB,EAAE,YAAY,EAAE;YAC3D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EACF,uBAAuB,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YACpC,MAAM,aAAa,GACjB,sBAAsB,CAAC,GAAG,EAAE,qBAAqB,CAAC;gBAClD,sBAAsB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAC/C,MAAM,MAAM,GACV,aAAa;gBACb,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,iCAAiC,CACxD,QAAQ,CACT;oBACC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACzB,MAAM,WAAW,GAAG,aAAa,IAAI,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAEtE,OAAO;gBACL,OAAO,EAAE,IAAA,yBAAW,EAAC;oBACnB,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,GAAG;oBAC3B,QAAQ;oBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;iBACxC,CAAC;gBACF,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC;gBAC1D,UAAU,EACR,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBAC7D,oBAAoB,EAClB,WAAW,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;aAC3D,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,GAAG,gBAAgB,EACnB,GAAG,wBAAwB,EAE3B,GAAG,IAAA,iCAAsB,EAAC,kBAAkB,EAAE,YAAY,EAAE;YAC1D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EACF,GAAG,IAAA,0BAA6B,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EACpD,GAAG,IAAA,iCAAsB,EAAC,mBAAmB,EAAE,YAAY,EAAE;YAC3D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EAEF,GAAG,IAAA,iCAAsB,EAAC,qBAAqB,EAAE,YAAY,EAAE;YAC7D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EACF,GAAG,IAAA,4BAA+B,EAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EACxD,GAAG,IAAA,iCAAsB,EAAC,sBAAsB,EAAE,YAAY,EAAE;YAC9D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EAEF,GAAG,IAAA,iCAAsB,EAAC,mBAAmB,EAAE,YAAY,EAAE;YAC3D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EACF,GAAG,IAAA,0BAA6B,EAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EACtD,GAAG,IAAA,iCAAsB,EAAC,oBAAoB,EAAE,YAAY,EAAE;YAC5D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EAEF,GAAG,IAAA,iCAAsB,EAAC,qBAAqB,EAAE,YAAY,EAAE;YAC7D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EACF,GAAG,IAAA,4BAA+B,EAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAC9D,GAAG,IAAA,iCAAsB,EAAC,sBAAsB,EAAE,YAAY,EAAE;YAC9D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC;QAEF,uEAAuE;QACvE,0CAA0C;QAC1C,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CACjB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YAC1D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACf,CAAC,CAAC,IAAI,EAAE,EAEZ,GAAG,IAAA,iCAAsB,EAAC,qBAAqB,EAAE,YAAY,EAAE;YAC7D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EACF,GAAG,IAAA,6BAAgC,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACxD,CAAC;QAEF,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,GAAG,IAAA,iCAAsB,EAAC,mBAAmB,EAAE,YAAY,EAAE;YAC3D,GAAG,WAAW;YACd,GAAG,SAAS;SACb,CAAC,EACF,uBAAuB,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YACpC,MAAM,MAAM,GACV,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,iCAAiC,CAAC,QAAQ,CAAC;gBACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEtB,wEAAwE;YACxE,wEAAwE;YACxE,yBAAyB;YACzB,uEAAuE;YACvE,sBAAsB;YACtB,wEAAwE;YACxE,0CAA0C;YAC1C,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAErD,OAAO;gBACL,OAAO,EAAE,IAAA,yBAAW,EAAC;oBACnB,QAAQ,EAAE,GAAG,GAAG,CAAC,OAAO,GAAG;oBAC3B,QAAQ;oBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;iBACxC,CAAC;gBACF,QAAQ,EAAE,GAAG,CAAC,IAAI;gBAClB,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBACtD,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;aAC9D,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -18,6 +18,36 @@
18
18
  "next": {
19
19
  "label": "Nesaf"
20
20
  }
21
+ },
22
+ "characterCount": {
23
+ "characters": {
24
+ "description": "Gallwch roi hyd at %{count} nod",
25
+ "underLimitOne": "Mae gennych 1 nod ar ôl",
26
+ "underLimitTwo": "Mae gennych 2 nod ar ôl",
27
+ "underLimitFew": "Mae gennych 3 nod ar ôl",
28
+ "underLimitMany": "Mae gennych %{count} nod ar ôl",
29
+ "underLimitOther": "Mae gennych %{count} nod ar ôl",
30
+ "atLimit": "Mae gennych 0 nod ar ôl",
31
+ "overLimitOne": "Mae gennych 1 nod yn ormod",
32
+ "overLimitTwo": "Mae gennych 2 nod yn ormod",
33
+ "overLimitFew": "Mae gennych 3 nod yn ormod",
34
+ "overLimitMany": "Mae gennych %{count} nod yn ormod",
35
+ "overLimitOther": "Mae gennych %{count} nod yn ormod"
36
+ },
37
+ "words": {
38
+ "description": "Gallwch roi hyd at %{count} gair",
39
+ "underLimitOne": "Mae gennych 1 gair ar ôl",
40
+ "underLimitTwo": "Mae gennych 2 gair ar ôl",
41
+ "underLimitFew": "Mae gennych 3 gair ar ôl",
42
+ "underLimitMany": "Mae gennych %{count} gair ar ôl",
43
+ "underLimitOther": "Mae gennych %{count} gair ar ôl",
44
+ "atLimit": "Mae gennych 0 gair ar ôl",
45
+ "overLimitOne": "Mae gennych 1 gair yn ormod",
46
+ "overLimitTwo": "Mae gennych 2 gair yn ormod",
47
+ "overLimitFew": "Mae gennych 3 gair yn ormod",
48
+ "overLimitMany": "Mae gennych %{count} gair yn ormod",
49
+ "overLimitOther": "Mae gennych %{count} gair yn ormod"
50
+ }
21
51
  }
22
52
  }
23
53
  }
@@ -18,6 +18,36 @@
18
18
  "next": {
19
19
  "label": "Next"
20
20
  }
21
+ },
22
+ "characterCount": {
23
+ "characters": {
24
+ "description": "You can enter up to %{count} characters",
25
+ "underLimitOne": "You have 1 character remaining",
26
+ "underLimitTwo": "You have 2 characters remaining",
27
+ "underLimitFew": "You have 3 characters remaining",
28
+ "underLimitMany": "You have %{count} characters remaining",
29
+ "underLimitOther": "You have %{count} characters remaining",
30
+ "atLimit": "You have 0 characters remaining",
31
+ "overLimitOne": "You have 1 character too many",
32
+ "overLimitTwo": "You have 2 characters too many",
33
+ "overLimitFew": "You have 3 characters too many",
34
+ "overLimitMany": "You have %{count} characters too many",
35
+ "overLimitOther": "You have %{count} characters too many"
36
+ },
37
+ "words": {
38
+ "description": "You can enter up to %{count} words",
39
+ "underLimitOne": "You have 1 word remaining",
40
+ "underLimitTwo": "You have 2 words remaining",
41
+ "underLimitFew": "You have 3 words remaining",
42
+ "underLimitMany": "You have %{count} words remaining",
43
+ "underLimitOther": "You have %{count} words remaining",
44
+ "atLimit": "You have 0 words remaining",
45
+ "overLimitOne": "You have 1 word too many",
46
+ "overLimitTwo": "You have 2 words too many",
47
+ "overLimitFew": "You have 3 words too many",
48
+ "overLimitMany": "You have %{count} words too many",
49
+ "overLimitOther": "You have %{count} words too many"
50
+ }
21
51
  }
22
52
  }
23
53
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dwp/govuk-casa",
3
- "version": "9.4.6",
3
+ "version": "9.5.1",
4
4
  "description": "A framework for building GOVUK Collect-And-Submit-Applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -54,53 +54,53 @@
54
54
  "@dagrejs/graphlib": "2.2.4",
55
55
  "bytes": "3.1.2",
56
56
  "cookie-parser": "1.4.7",
57
- "csrf-sync": "4.0.3",
58
- "debug": "4.4.0",
57
+ "csrf-sync": "4.2.1",
58
+ "debug": "4.4.1",
59
59
  "deepmerge": "4.3.1",
60
60
  "express": "4.21.2",
61
61
  "express-session": "1.18.1",
62
- "govuk-frontend": "5.8.0",
63
- "helmet": "8.0.0",
64
- "i18next": "24.2.2",
65
- "i18next-http-middleware": "3.7.1",
62
+ "govuk-frontend": "5.10.1",
63
+ "helmet": "8.1.0",
64
+ "i18next": "25.1.3",
65
+ "i18next-http-middleware": "3.7.4",
66
66
  "js-yaml": "4.1.0",
67
67
  "lodash": "4.17.21",
68
- "luxon": "3.5.0",
68
+ "luxon": "3.6.1",
69
69
  "nunjucks": "3.2.4",
70
70
  "path-to-regexp": "8.2.0",
71
71
  "rfdc": "1.4.1",
72
- "validator": "13.12.0"
72
+ "validator": "13.15.0"
73
73
  },
74
74
  "devDependencies": {
75
75
  "@ckeditor/jsdoc-plugins": "43.0.1",
76
- "@commitlint/config-conventional": "19.7.1",
77
- "@dwp/casa-spiderplan": "4.2.0",
78
- "@dwp/casa-spiderplan-a11y-plugin": "1.0.2",
79
- "@dwp/casa-spiderplan-zap-plugin": "1.0.3",
76
+ "@commitlint/config-conventional": "19.8.1",
77
+ "@dwp/casa-spiderplan": "4.2.1",
78
+ "@dwp/casa-spiderplan-a11y-plugin": "1.0.3",
79
+ "@dwp/casa-spiderplan-zap-plugin": "1.0.4",
80
80
  "@dwp/eslint-config-base": "9.0.2",
81
81
  "@types/express": "4.17.21",
82
- "@types/luxon": "3.4.2",
83
- "@types/node": "22.13.5",
82
+ "@types/luxon": "3.6.2",
83
+ "@types/node": "22.15.18",
84
84
  "@types/nunjucks": "3.2.6",
85
85
  "c8": "10.1.3",
86
86
  "chai": "5.2.0",
87
87
  "cheerio": "1.0.0",
88
- "commitlint": "19.7.1",
88
+ "commitlint": "19.8.1",
89
89
  "docdash": "2.0.2",
90
- "eslint": "9.21.0",
90
+ "eslint": "9.26.0",
91
91
  "eslint-plugin-import": "2.31.0",
92
- "eslint-plugin-jsdoc": "50.6.3",
92
+ "eslint-plugin-jsdoc": "50.6.17",
93
93
  "eslint-plugin-security": "3.0.1",
94
94
  "eslint-plugin-sonarjs": "3.0.2",
95
- "fast-check": "3.23.2",
95
+ "fast-check": "4.1.1",
96
96
  "jsdoc": "4.0.4",
97
97
  "jsdoc-tsimport-plugin": "1.0.5",
98
- "mocha": "11.1.0",
99
- "prettier": "3.5.2",
98
+ "mocha": "11.2.2",
99
+ "prettier": "3.5.3",
100
100
  "prettier-plugin-jsdoc": "1.3.2",
101
- "sass": "1.85.1",
102
- "sinon": "19.0.2",
103
- "supertest": "7.0.0",
104
- "typescript": "5.7.3"
101
+ "sass": "1.88.0",
102
+ "sinon": "20.0.0",
103
+ "supertest": "7.1.1",
104
+ "typescript": "5.8.3"
105
105
  }
106
106
  }
@@ -127,6 +127,7 @@ export default function configure(config = {}) {
127
127
  ...i18n.dirs,
128
128
  ],
129
129
  languages: i18n.locales,
130
+ fallbackLng: i18n.fallbackLng,
130
131
  });
131
132
  const dataMiddleware = dataMiddlewareFactory({
132
133
  plan,
@@ -73,11 +73,13 @@ const loadResources = (languages, directories) => {
73
73
  *
74
74
  * @param {object} opts Options
75
75
  * @param {string[]} [opts.languages] Language codes
76
+ * @param {string[]} [opts.fallbackLng] Fallback language
76
77
  * @param {string[]} [opts.directories] Source translations directories
77
78
  * @returns {RequestHandler[]} Middleware functions
78
79
  */
79
80
  export default function i18nMiddleware({
80
81
  languages = ["en", "cy"],
82
+ fallbackLng = false,
81
83
  directories = [],
82
84
  }) {
83
85
  // Load _all_ translations, from all directories into memory.
@@ -88,7 +90,7 @@ export default function i18nMiddleware({
88
90
  i18nInstance.use(LanguageDetector).init({
89
91
  initAsync: false, // because we need synchronous loading
90
92
  supportedLngs: languages,
91
- fallbackLng: false,
93
+ fallbackLng,
92
94
  defaultNS: "common",
93
95
  // debug: true,
94
96
 
@@ -125,6 +125,7 @@ export default function journeyRouter({
125
125
  waypoint: plan.traverse(req.casa.journeyContext, {
126
126
  stopCondition: () => true, // we only need one; stop at the first
127
127
  })[0],
128
+ journeyContext: req.casa.journeyContext,
128
129
  });
129
130
 
130
131
  // If the refmount doesn't exist in our Plan, we can assume that the two
@@ -137,7 +138,11 @@ export default function journeyRouter({
137
138
  startWaypoint: refmount,
138
139
  });
139
140
  redirectTo = routes.length
140
- ? waypointUrl({ mountUrl, waypoint: routes[0].target })
141
+ ? waypointUrl({
142
+ mountUrl,
143
+ waypoint: routes[0].target,
144
+ journeyContext: req.casa.journeyContext,
145
+ })
141
146
  : fallback;
142
147
  } else {
143
148
  const routes = plan.traverseNextRoutes(req.casa.journeyContext, {
@@ -145,7 +150,11 @@ export default function journeyRouter({
145
150
  });
146
151
  if (routes[0].target !== null) {
147
152
  redirectTo = routes.length
148
- ? waypointUrl({ mountUrl, waypoint: routes[0].target })
153
+ ? waypointUrl({
154
+ mountUrl,
155
+ waypoint: routes[0].target,
156
+ journeyContext: req.casa.journeyContext,
157
+ })
149
158
  : fallback;
150
159
  } else {
151
160
  redirectTo = fallback;
@@ -161,6 +170,7 @@ export default function journeyRouter({
161
170
  redirectTo = `${url.pathname.replace(/\/+/g, "/")}${url.search}`;
162
171
 
163
172
  log.trace(`Redirect to ${redirectTo}`);
173
+ // nosemgrep: nodejs_scan.javascript-redirect-rule-express_open_redirect
164
174
  return res.redirect(redirectTo);
165
175
  });
166
176
 
@@ -225,7 +235,11 @@ export default function journeyRouter({
225
235
  const govukErrors = displayErrors && generateGovukErrors(errors, req);
226
236
 
227
237
  return {
228
- formUrl: waypointUrl({ mountUrl: `${req.baseUrl}/`, waypoint }),
238
+ formUrl: waypointUrl({
239
+ mountUrl: `${req.baseUrl}/`,
240
+ waypoint,
241
+ journeyContext: req.casa.journeyContext,
242
+ }),
229
243
  formData: req.casa.journeyContext.getDataForPage(waypoint),
230
244
  formErrors:
231
245
  Object.keys(errors).length && displayErrors ? errors : null,
@@ -315,7 +329,11 @@ export default function journeyRouter({
315
329
  const govukErrors = generateGovukErrors(errors, req);
316
330
 
317
331
  return {
318
- formUrl: waypointUrl({ mountUrl: `${req.baseUrl}/`, waypoint }),
332
+ formUrl: waypointUrl({
333
+ mountUrl: `${req.baseUrl}/`,
334
+ waypoint,
335
+ journeyContext: req.casa.journeyContext,
336
+ }),
319
337
  formData: req.body,
320
338
  formErrors: Object.keys(errors).length ? errors : null,
321
339
  formErrorsGovukArray: govukErrors.length ? govukErrors : null,
@@ -29,3 +29,65 @@ The following attributes will be attached to the error `<p>` tag if `casaWithAna
29
29
  These are the conventions used by DWP.
30
30
 
31
31
  > **IMPORTANT:** DO NOT ENABLE this option if the question or answer may contain personally-identifiable information as values will be pushed to Google
32
+
33
+ ## Translations
34
+
35
+ CASA includes English and Welsh for the character and word count default content according to the [GOV.UK pluralisation rules](https://frontend.design-system.service.gov.uk/localise-govuk-frontend/#understanding-pluralisation-rules), but you can provide further translations or override the messages by adding the following keys to your `common.json` locale file:
36
+
37
+ ```json
38
+ {
39
+ "characterCount": {
40
+ "characters": {
41
+ "description": "You can enter up to %{count} characters",
42
+ "underLimitOne": "You have 1 character remaining",
43
+ "underLimitTwo": "You have 2 characters remaining",
44
+ "underLimitFew": "You have 3 characters remaining",
45
+ "underLimitMany": "You have %{count} characters remaining",
46
+ "underLimitOther": "You have %{count} characters remaining",
47
+ "atLimit": "You have 0 characters remaining",
48
+ "overLimitOne": "You have 1 character too many",
49
+ "overLimitTwo": "You have 2 characters too many",
50
+ "overLimitFew": "You have 3 characters too many",
51
+ "overLimitMany": "You have %{count} characters too many",
52
+ "overLimitOther": "You have %{count} characters too many"
53
+ },
54
+ "words": {
55
+ "description": "You can enter up to %{count} words",
56
+ "underLimitOne": "You have 1 word remaining",
57
+ "underLimitTwo": "You have 2 words remaining",
58
+ "underLimitFew": "You have 3 words remaining",
59
+ "underLimitMany": "You have %{count} words remaining",
60
+ "underLimitOther": "You have %{count} words remaining",
61
+ "atLimit": "You have 0 words remaining",
62
+ "overLimitOne": "You have 1 word too many",
63
+ "overLimitTwo": "You have 2 words too many",
64
+ "overLimitFew": "You have 3 words too many",
65
+ "overLimitMany": "You have %{count} words too many",
66
+ "overLimitOther": "You have %{count} words too many"
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ The character count message content can also be overridden on a per component basis using the `textareaDescriptionText`, `charactersUnderLimitText`, `charactersAtLimitText`, `charactersOverLimitText`, `wordsUnderLimitText`, `wordsAtLimitText`, and `wordsOverLimitText` parameters.
73
+
74
+ For example:
75
+
76
+ ```jinja
77
+ {% from "govuk/components/character-count/macro.njk" import govukCharacterCount %}
78
+
79
+ {{ casaGovukCharacterCount({
80
+ maxlength: 200,
81
+ label: {
82
+ text: "Can you provide more detail?",
83
+ classes: "govuk-label--l",
84
+ isPageHeading: true
85
+ },
86
+ charactersOverLimitText: {
87
+ one: "1 character too many",
88
+ other: "${count} characters too many"
89
+ },
90
+ }) }}
91
+ ```
92
+
93
+ For more information see the [Character Count GOV.UK Design System page](https://design-system.service.gov.uk/components/character-count/).
@@ -14,6 +14,40 @@
14
14
  {% set mergedParams = mergeObjects(params, {
15
15
  id: params.id if params.id else 'f-' + params.name,
16
16
  attributes: mergedAttributes,
17
+ textareaDescriptionText: params.textareaDescriptionText or (
18
+ t("common:form.characterCount.words.description") if params.maxwords
19
+ else t("common:form.characterCount.characters.description")
20
+ ),
21
+ charactersUnderLimitText: params.charactersUnderLimitText or {
22
+ one: t("common:form.characterCount.characters.underLimitOne"),
23
+ two: t("common:form.characterCount.characters.underLimitTwo"),
24
+ few: t("common:form.characterCount.characters.underLimitFew"),
25
+ many: t("common:form.characterCount.characters.underLimitMany"),
26
+ other: t("common:form.characterCount.characters.underLimitOther")
27
+ } if not params.maxwords,
28
+ charactersAtLimitText: params.charactersAtLimitText or t("common:form.characterCount.characters.atLimit") if not params.maxwords,
29
+ charactersOverLimitText: params.charactersOverLimitText or {
30
+ one: t("common:form.characterCount.characters.overLimitOne"),
31
+ two: t("common:form.characterCount.characters.overLimitTwo"),
32
+ few: t("common:form.characterCount.characters.overLimitFew"),
33
+ many: t("common:form.characterCount.characters.overLimitMany"),
34
+ other: t("common:form.characterCount.characters.overLimitOther")
35
+ } if not params.maxwords,
36
+ wordsUnderLimitText: params.wordsUnderLimitText or {
37
+ one: t("common:form.characterCount.words.underLimitOne"),
38
+ two: t("common:form.characterCount.words.underLimitTwo"),
39
+ few: t("common:form.characterCount.words.underLimitFew"),
40
+ many: t("common:form.characterCount.words.underLimitMany"),
41
+ other: t("common:form.characterCount.words.underLimitOther")
42
+ } if params.maxwords,
43
+ wordsAtLimitText: params.wordsAtLimitText or t("common:form.characterCount.words.atLimit") if params.maxwords,
44
+ wordsOverLimitText: params.wordsOverLimitText or {
45
+ one: t("common:form.characterCount.words.overLimitOne"),
46
+ two: t("common:form.characterCount.words.overLimitTwo"),
47
+ few: t("common:form.characterCount.words.overLimitFew"),
48
+ many: t("common:form.characterCount.words.overLimitMany"),
49
+ other: t("common:form.characterCount.words.overLimitOther")
50
+ } if params.maxwords,
17
51
  errorMessage: {
18
52
  text: t(params.casaErrors[params.name][0].inline, params.casaErrors[params.name][0].variables),
19
53
  attributes: {