From a5e483d6221c2884ea01c07e1fffd35c6325bc4b Mon Sep 17 00:00:00 2001
From: Joanne Young <38694448+Joanneyoung01@users.noreply.github.com>
Date: Wed, 15 May 2024 14:40:29 +0100
Subject: [PATCH] DFC 319/AUT-2459 - Add GOVUK One Login Analytics Package
(#1522)
* Add analytics package to auth repo - intial set up
* Add OPL template and script
* Add ga4 on page load to base.njk file
* Add taxonomy
* Add taxonomy values
* Add static taxonomy values
* WIP
* Add changes for dyanamic content id's
* Add WIP resend codes
* Add add password reset and resend code content ids
* WIP- add unhappy path page content ids OPL tracker
* Add dev app changes - required for docker containers
* Add http status ok
* Update yarn lock and update content id
* Add GA4 OPL tracker and remove unused code
* Add UA implementation
* Refine UA implementation
* Update to v0.0.10 analytics package
* Add additional taxonomy level 2 and content id's
* Remove console.logs for debugging
* Remove commented out code
* Refactor and tidy code
* Reduce pollution from linting
* Run yarn pretty
* Remove unused console.log
* Address unit testing and refactor contact us OPL tracker
* Revent application.js changes
* Apply loggedin and dynamic attributes to GA4 tracker
* Remove duplicate OPL component
* Correct application.js changes from PR review
* apply application.js changes
* Reduce linting bloat
* Remove the linting bloat and add amendments from PR Review
* Update read.me, run yarn pretty
* Apply yarn pretty blocker
* Add unit test correction
* Add amends from yarn pretty fix
* Add OPL to missing pages, including error pages
* Remove unused variables
* Remove docker-compose change introduced, revert code
* Add PR amendments
* yarn run pretty amend
* Add PR amendments
* Revery docker-compose.yml
* DFC-319: Update analytics package to latest
* [DFC-319] - Update build scripts with new package name
* Un-uglify showpassword
* Remove env variable instructions from readme, include in variable file build files
* Correct GA4 object formatting
* Restructure local variables to getter functions
* Remove set variables from nunjucks files, reduce duplication of variable setting from controllers
* Remove comments and add whitespacing where specified, revert docker yml file
* Address feedback re endblock spacing
* Update package.json with updated frontend analytics package
* Revert ci changes made, implement build vars change
* Correct resend-mfa account creation
* Apply amendments re removing special characters, CSP amend, and optional chaining replacement
---------
Co-authored-by: di-aholme
---
package.json | 3 +-
scripts/_create_env_file.py | 25 +
src/app.ts | 2 +
src/assets/javascript/application.js | 50 +-
src/assets/javascript/cookies.js | 190 +------
src/components/account-created/index.njk | 2 +
.../resend-mfa-code/index.njk | 2 +
.../resend-mfa-code-controller.ts | 21 +
.../password-reset-required/index.njk | 2 +
.../permanently-blocked/index.njk | 2 +
.../account-not-found/index-mandatory.njk | 1 +
.../account-not-found/index-one-login.njk | 1 +
.../account-not-found/index-optional.njk | 1 +
.../index.njk | 1 +
...ck-your-email-security-codes-controller.ts | 18 +
.../check-your-email-security-codes/index.njk | 1 +
.../check-your-email-controller.ts | 21 +
src/components/check-your-email/index.njk | 1 +
src/components/check-your-phone/index.njk | 1 +
src/components/common/errors/404.njk | 3 +
src/components/common/errors/500.njk | 2 +
...rney-direct-navigation-without-session.njk | 2 +
.../common/errors/session-expired.njk | 2 +
.../common/footer/accessibility-statement.njk | 2 +
.../common/footer/privacy-statement.njk | 2 +
src/components/common/footer/support.njk | 1 +
.../common/footer/terms-conditions.njk | 2 +
src/components/common/layout/base.njk | 28 +-
.../contact-us/further-information/index.njk | 1 +
.../index-gov-service-contact-us.njk | 2 +
.../contact-us/index-public-contact-us.njk | 1 +
.../contact-us/index-submit-success.njk | 1 +
src/components/create-password/index.njk | 1 +
.../index-2fa-service-uplift-auth-app.njk | 3 +
.../enter-authenticator-app-code/index.njk | 2 +
.../enter-email/index-create-account.njk | 1 +
.../enter-email/index-existing-account.njk | 1 +
.../index-re-enter-email-account.njk | 2 +
...sign-in-details-entered-too-many-times.njk | 2 +
.../index-2fa-service-uplift-mobile-phone.njk | 3 +
src/components/enter-mfa/index.njk | 2 +
.../enter-password-controller.ts | 5 +
.../enter-password/index-account-exists.njk | 1 +
.../enter-password/index-account-locked.njk | 2 +
.../index-sign-in-retry-blocked.njk | 1 +
src/components/enter-password/index.njk | 1 +
.../enter-phone-number-controller.ts | 26 +
src/components/enter-phone-number/index.njk | 2 +-
.../enter-phone-number-controller.test.ts | 4 +
src/components/ga4-opl/macro.njk | 3 +
src/components/ga4-opl/template.njk | 16 +
.../prove-identity-callback/index.njk | 3 +
.../session-expiry-error.njk | 2 +
.../index-existing-session.njk | 2 +
.../prove-identity-welcome/index.njk | 2 +
src/components/resend-email-code/index.njk | 2 +
src/components/resend-mfa-code/index.njk | 2 +
.../reset-password-2fa-auth-app/index.njk | 2 +
.../reset-password-2fa-sms/index.njk | 2 +
.../index-exceeded-request-count.njk | 2 +
.../index-request-attempt-blocked.njk | 2 +
.../index-reset-password-resend-code.njk | 1 +
.../reset-password-check-email/index.njk | 2 +
.../reset-password-check-email-controller.ts | 31 ++
...et-password-check-email-controller.test.ts | 2 +
src/components/reset-password/index.njk | 1 +
.../reset-password-controller.ts | 14 +-
.../tests/reset-password-controller.test.ts | 2 +
.../index-security-code-entered-exceeded.njk | 2 +
.../index-too-many-requests.njk | 2 +
.../security-code-error/index-wait.njk | 3 +
src/components/security-code-error/index.njk | 3 +
.../security-code-error-controller.ts | 30 ++
.../security-code-error-controller.test.ts | 59 ++-
src/components/select-mfa-options/index.njk | 1 +
.../select-mfa-options-controller.ts | 20 +
.../setup-authenticator-app/index.njk | 1 +
.../setup-authenticator-app-controller.ts | 21 +
src/components/share-info/index.njk | 2 +
src/components/sign-in-or-create/index.njk | 1 +
src/components/signed-out/index.njk | 2 +
.../signed-out/signed-out-controller.ts | 10 +
.../updated-terms-conditions/index.njk | 2 +
src/config.ts | 16 +
src/middleware/analytics-middleware.ts | 16 +
src/utils/logger.ts | 1 +
yarn.lock | 475 +++++++++---------
87 files changed, 754 insertions(+), 459 deletions(-)
create mode 100644 src/components/ga4-opl/macro.njk
create mode 100644 src/components/ga4-opl/template.njk
create mode 100644 src/middleware/analytics-middleware.ts
diff --git a/package.json b/package.json
index 2798259c0..a3e52d288 100644
--- a/package.json
+++ b/package.json
@@ -13,7 +13,7 @@
"build-sass": "rm -rf dist/public/style.css && sass --load-path=node_modules/govuk-frontend/govuk --no-source-map --quiet-deps src/assets/scss/application.scss dist/public/style.css --style compressed",
"clean": "rm -rf dist node_modules logs.json",
"clean-modules": "rm -rf node_modules",
- "copy-assets": "mkdir -p dist && copyfiles -u 1 src/**/*.njk dist/ src/locales/**/** dist/ src/config/*.txt dist/ && copyfiles -u 3 src/assets/javascript/*.js dist/public/scripts -e **/all.js && cp node_modules/govuk-frontend/govuk/all.js dist/public/scripts",
+ "copy-assets": "mkdir -p dist && copyfiles -u 1 src/**/*.njk dist/ src/locales/**/** dist/ src/config/*.txt dist/ && copyfiles -u 3 src/assets/javascript/*.js dist/public/scripts -e **/all.js && cp node_modules/govuk-frontend/govuk/all.js dist/public/scripts && cp node_modules/@govuk-one-login/frontend-analytics/lib/analytics.js dist/public/scripts",
"dev": "tsc && concurrently -k -p \"[{name}]\" -n \"Sass,TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm run watch-sass\" \"npm run watch-ts\" \"npm run watch-node\"",
"dummy-server": "node dev-app.js | pino-pretty",
"depcheck": "depcheck",
@@ -64,6 +64,7 @@
"@aws-sdk/client-kms": "^3.366.0",
"@govuk-one-login/frontend-language-toggle": "^1.1.0",
"@govuk-one-login/frontend-passthrough-headers": "^0.0.3",
+ "@govuk-one-login/frontend-analytics": "1.0.3",
"@otplib/core": "^12.0.1",
"@otplib/plugin-base32-enc-dec": "^12.0.1",
"aws-sdk": "^2.1356.0",
diff --git a/scripts/_create_env_file.py b/scripts/_create_env_file.py
index ff1858461..ed774acc6 100644
--- a/scripts/_create_env_file.py
+++ b/scripts/_create_env_file.py
@@ -123,6 +123,31 @@ class EnvFileSection(TypedDict):
},
},
},
+ {
+ "header": "Analytics",
+ "variables": {
+ "GA4_DISABLED": {
+ "value": "false",
+ "comment": "GA4 Enablement",
+ },
+ "UA_DISABLED": {
+ "value": "false",
+ "comment": "Univeral Analytics",
+ },
+ "UNIVERSAL_ANALYTICS_GTM_CONTAINER_ID": {
+ "value": "GTM-TK92W68",
+ "comment": "Universal Analytics Container Id",
+ },
+ "GOOGLE_ANALYTICS_4_GTM_CONTAINER_ID": {
+ "value": "GTM-KD86CMZ",
+ "comment": "Listen port for frontend nodemon",
+ },
+ "ANALYTICS_COOKIE_DOMAIN": {
+ "value": "localhost",
+ "comment": "Analytics cookie domain where cookie is set",
+ },
+ },
+ },
]
DEFAULT_USER_VARIABLE_LOOKUP = {
diff --git a/src/app.ts b/src/app.ts
index 7774ad3d7..581e6b3e5 100644
--- a/src/app.ts
+++ b/src/app.ts
@@ -87,6 +87,7 @@ import { accountInterventionRouter } from "./components/account-intervention/pas
import { permanentlyBlockedRouter } from "./components/account-intervention/permanently-blocked/permanently-blocked-router";
import { temporarilyBlockedRouter } from "./components/account-intervention/temporarily-blocked/temporarily-blocked-router";
import { resetPassword2FAAuthAppRouter } from "./components/reset-password-2fa-auth-app/reset-password-2fa-auth-app-routes";
+import { setGTM } from "./middleware/analytics-middleware";
import { setCurrentUrlMiddleware } from "./middleware/current-url-middleware";
const APP_VIEWS = [
@@ -168,6 +169,7 @@ async function createApp(): Promise {
app.use("/public", express.static(path.join(__dirname, "public")));
app.set("view engine", configureNunjucks(app, APP_VIEWS));
app.use(setLocalVarsMiddleware);
+ app.use(setGTM);
i18next
.use(Backend)
diff --git a/src/assets/javascript/application.js b/src/assets/javascript/application.js
index 8dc857889..b53158040 100644
--- a/src/assets/javascript/application.js
+++ b/src/assets/javascript/application.js
@@ -1,23 +1,23 @@
function initFeedbackRadioButtons() {
var feedbackRadioButtons = Array.prototype.slice.call(
- document.querySelectorAll('input[name="feedbackContact"]')
- );
- var container = document.querySelector("#contact-details-container");
- feedbackRadioButtons.forEach(function (element) {
- element.addEventListener(
- "click",
- function (event) {
- if (event.target.value === "true") {
- container.classList.remove("govuk-!-display-none");
- } else {
- container.classList.add("govuk-!-display-none");
- var elements = container.getElementsByTagName("input");
- for (var i = 0; i < elements.length; i++) {
- if (elements[i].type == "text") {
- elements[i].value = "";
+ document.querySelectorAll('input[name="feedbackContact"]')
+ );
+ var container = document.querySelector("#contact-details-container");
+ feedbackRadioButtons.forEach(function (element) {
+ element.addEventListener(
+ "click",
+ function (event) {
+ if (event.target.value === "true") {
+ container.classList.remove("govuk-!-display-none");
+ } else {
+ container.classList.add("govuk-!-display-none");
+ var elements = container.getElementsByTagName("input");
+ for (var i = 0; i < elements.length; i++) {
+ if (elements[i].type == "text") {
+ elements[i].value = "";
+ }
}
}
- }
}.bind(this)
);
});
@@ -50,21 +50,17 @@ function initEnterPhoneNumber() {
}
}
+window.DI = window.DI || {};
+window.DI.analyticsUa = window.DI.analyticsUa || {};
(function (w) {
"use strict";
- function appInit(trackingId, analyticsCookieDomain) {
+ function appInit() {
window.GOVUKFrontend.initAll();
- var cookies = window.GOVSignIn.Cookies(trackingId, analyticsCookieDomain);
+ var cookies = window.GOVSignIn.Cookies();
- if (cookies.hasConsentForAnalytics()) {
+ if (window.DI.analyticsGa4.cookie.hasConsentForAnalytics()) {
cookies.initAnalytics();
}
-
- if (cookies.isOnCookiesPage()) {
- cookies.cookiesPageInit();
- } else {
- cookies.cookieBannerInit();
- }
}
initFeedbackRadioButtons();
@@ -80,5 +76,5 @@ function initEnterPhoneNumber() {
}
}
- w.GOVSignIn.appInit = appInit;
-})(window);
+ w.DI.analyticsUa.init = appInit;
+})(window);
diff --git a/src/assets/javascript/cookies.js b/src/assets/javascript/cookies.js
index 7c3ec1f3b..e5c52a430 100644
--- a/src/assets/javascript/cookies.js
+++ b/src/assets/javascript/cookies.js
@@ -1,96 +1,10 @@
"use strict";
-var cookies = function (trackingId, analyticsCookieDomain) {
- var COOKIES_PREFERENCES_SET = "cookies_preferences_set";
- var COOKIES_HISTORY_LENGTH = "chl";
- var cookiesAccepted = document.querySelector("#cookies-accepted");
- var cookiesRejected = document.querySelector("#cookies-rejected");
- var hideCookieBanner = document.querySelectorAll(".cookie-hide-button");
- var cookieBannerContainer = document.querySelector(".govuk-cookie-banner");
- var cookieBanner = document.querySelector("#cookies-banner-main");
- var acceptCookies = document.querySelector('button[name="cookiesAccept"]');
- var rejectCookies = document.querySelector('button[name="cookiesReject"]');
-
- function cookieBannerInit() {
- acceptCookies.addEventListener(
- "click",
- function (event) {
- event.preventDefault();
- setBannerCookieConsent(true);
- }.bind(this)
- );
-
- rejectCookies.addEventListener(
- "click",
- function (event) {
- event.preventDefault();
- setBannerCookieConsent(false);
- }.bind(this)
- );
-
- var hideButtons = Array.prototype.slice.call(hideCookieBanner);
- hideButtons.forEach(function (element) {
- element.addEventListener(
- "click",
- function (event) {
- event.preventDefault();
- hideElement(cookieBannerContainer);
- }.bind(this)
- );
- });
-
- var hasCookiesPolicy = getCookie(COOKIES_PREFERENCES_SET);
-
- if (!hasCookiesPolicy) {
- showElement(cookieBannerContainer);
- }
- }
-
- function setBannerCookieConsent(analyticsConsent) {
- setCookie(
- COOKIES_PREFERENCES_SET,
- { analytics: analyticsConsent },
- { days: 365 }
- );
-
- hideElement(cookieBanner);
-
- if (analyticsConsent) {
- showElement(cookiesAccepted);
- initAnalytics();
- } else {
- showElement(cookiesRejected);
- }
- }
-
- function cookiesPageInit() {
- document.querySelector("#cookie-preferences-form").hidden = false;
- var chl = getCookie(COOKIES_HISTORY_LENGTH);
- if (! chl || chl === "0" ) {
- setCookie(
- COOKIES_HISTORY_LENGTH,
- window.history.length
- );
- }
- document.querySelector("#go-back-link").onclick = function() {
- var chl = getCookie(COOKIES_HISTORY_LENGTH);
- if (chl && !isNaN(chl)) {
- var backCount = (window.history.length - chl) + 1;
- window.history.go(-(Math.abs(backCount)));
- setCookie(COOKIES_HISTORY_LENGTH, 0);
- }
- };
- }
-
- function hasConsentForAnalytics() {
- var cookieConsent = JSON.parse(getCookie(COOKIES_PREFERENCES_SET));
- return cookieConsent ? cookieConsent.analytics : false;
- }
+var cookies = function () {
function initAnalytics() {
- loadGtmScript();
+ window.DI.analyticsGa4.loadGtmScript(window.DI.analyticsGa4.uaContainerId);
initGtm();
- initLinkerHandlers();
}
function pushLanguageToDataLayer() {
@@ -114,16 +28,6 @@ var cookies = function (trackingId, analyticsCookieDomain) {
}
}
- function loadGtmScript() {
- var gtmScriptTag = document.createElement("script");
- gtmScriptTag.type = "text/javascript";
- gtmScriptTag.setAttribute("async", "true");
- gtmScriptTag.setAttribute(
- "src",
- "https://www.googletagmanager.com/gtm.js?id=" + trackingId
- );
- document.documentElement.firstChild.appendChild(gtmScriptTag);
- }
function initGtm() {
window.dataLayer = [
@@ -153,39 +57,6 @@ var cookies = function (trackingId, analyticsCookieDomain) {
gtag({ "gtm.start": new Date().getTime(), event: "gtm.js" });
}
- function initLinkerHandlers() {
- var submitButton = document.querySelector('button[type="submit"]');
- var pageForm = document.getElementById("form-tracking");
-
- if (submitButton && pageForm) {
- submitButton.addEventListener("click", function () {
- if (window.ga && window.gaplugins) {
- var tracker = ga.getAll()[0];
- var linker = new window.gaplugins.Linker(tracker);
- var destinationLink = linker.decorate(pageForm.action);
- pageForm.action = destinationLink;
- }
- });
- }
-
- var trackLink = document.getElementById("track-link");
-
- if (trackLink) {
- trackLink.addEventListener("click", function (e) {
- e.preventDefault();
-
- if (window.ga && window.gaplugins) {
- var tracker = ga.getAll()[0];
- var linker = new window.gaplugins.Linker(tracker);
- var destinationLink = linker.decorate(trackLink.href);
- window.location.href = destinationLink;
- } else {
- window.location.href = trackLink.href;
- }
- });
- }
- }
-
function generateSessionJourney(journey, status) {
return {
sessionjourney: {
@@ -236,64 +107,7 @@ var cookies = function (trackingId, analyticsCookieDomain) {
return JOURNEY_DATA_LAYER_PATHS[url];
}
- function getCookie(name) {
- var nameEQ = name + "=";
- var cookies = document.cookie.split(";");
- for (var i = 0, len = cookies.length; i < len; i++) {
- var cookie = cookies[i];
- while (cookie.charAt(0) === " ") {
- cookie = cookie.substring(1, cookie.length);
- }
- if (cookie.indexOf(nameEQ) === 0) {
- return decodeURIComponent(cookie.substring(nameEQ.length));
- }
- }
- return null;
- }
-
- function setCookie(name, values, options) {
- if (typeof options === "undefined") {
- options = {};
- }
-
- var cookieString = name + "=" + JSON.stringify(values);
- if (options.days) {
- var date = new Date();
- date.setTime(date.getTime() + options.days * 24 * 60 * 60 * 1000);
- cookieString =
- cookieString +
- "; expires=" +
- date.toGMTString() +
- "; path=/;" +
- " domain=" +
- analyticsCookieDomain +
- ";";
- }
-
- if (document.location.protocol === "https:") {
- cookieString = cookieString + "; Secure";
- }
-
- document.cookie = cookieString;
- }
-
- function hideElement(el) {
- el.style.display = "none";
- }
-
- function showElement(el) {
- el.style.display = "block";
- }
-
- function isOnCookiesPage() {
- return window.location.pathname.indexOf("cookies") !== -1;
- }
-
return {
- cookieBannerInit,
- isOnCookiesPage,
- cookiesPageInit,
- hasConsentForAnalytics,
initAnalytics,
};
};
diff --git a/src/components/account-created/index.njk b/src/components/account-created/index.njk
index fcd02d4ce..f54500f82 100644
--- a/src/components/account-created/index.njk
+++ b/src/components/account-created/index.njk
@@ -28,4 +28,6 @@
}) }}
{% endif %}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "create account", contentId: "6857e410-75b8-4807-b475-3f24fc96c9de", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/account-creation/resend-mfa-code/index.njk b/src/components/account-creation/resend-mfa-code/index.njk
index feb8176be..2655f2725 100644
--- a/src/components/account-creation/resend-mfa-code/index.njk
+++ b/src/components/account-creation/resend-mfa-code/index.njk
@@ -37,4 +37,6 @@
}) }}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "create account", contentId: "8247477c-3e33-4dae-9528-22e7ed44efb3", loggedInStatus: false, dynamic:false })}}
{% endblock %}
diff --git a/src/components/account-creation/resend-mfa-code/resend-mfa-code-controller.ts b/src/components/account-creation/resend-mfa-code/resend-mfa-code-controller.ts
index f35182ca5..2b541ae89 100644
--- a/src/components/account-creation/resend-mfa-code/resend-mfa-code-controller.ts
+++ b/src/components/account-creation/resend-mfa-code/resend-mfa-code-controller.ts
@@ -14,6 +14,21 @@ import { BadRequestError } from "../../../utils/error";
import { support2hrLockout } from "../../../config";
import { isLocked } from "../../../utils/lock-helper";
+const oplValues = {
+ default: {
+ contentId: "f463a280-31f1-43c0-a2f5-6b46b1e2bb15",
+ taxonomyLevel2: "sign in",
+ },
+ enterExceeded: {
+ contentId: "f463a280-31f1-43c0-a2f5-6b46b1e2bb15",
+ taxonomyLevel2: "sign in",
+ },
+ indexWait: {
+ contentId: "f463a280-31f1-43c0-a2f5-6b46b1e2bb15",
+ taxonomyLevel2: "sign in",
+ },
+};
+
export function resendMfaCodeGet(req: Request, res: Response): void {
const newCodeLink = req.query?.isResendCodeRequest
? pathWithQueryParam(
@@ -27,10 +42,14 @@ export function resendMfaCodeGet(req: Request, res: Response): void {
res.render("security-code-error/index-security-code-entered-exceeded.njk", {
newCodeLink: newCodeLink,
isAuthApp: false,
+ contentId: oplValues.enterExceeded.contentId,
+ taxonomyLevel2: oplValues.enterExceeded.taxonomyLevel2,
});
} else if (isLocked(req.session.user.codeRequestLock)) {
res.render("security-code-error/index-wait.njk", {
newCodeLink,
+ contentId: oplValues.indexWait.contentId,
+ taxonomyLevel2: oplValues.indexWait.taxonomyLevel2,
support2hrLockout: support2hrLockout(),
isAccountCreationJourney: req.session.user.isAccountCreationJourney,
});
@@ -39,6 +58,8 @@ export function resendMfaCodeGet(req: Request, res: Response): void {
phoneNumber: req.session.user.redactedPhoneNumber,
isResendCodeRequest: req.query?.isResendCodeRequest,
support2hrLockout: support2hrLockout(),
+ contentId: oplValues.default.contentId,
+ taxonomyLevel2: oplValues.default.taxonomyLevel2,
});
}
}
diff --git a/src/components/account-intervention/password-reset-required/index.njk b/src/components/account-intervention/password-reset-required/index.njk
index 5926927b5..ea3ce2af4 100644
--- a/src/components/account-intervention/password-reset-required/index.njk
+++ b/src/components/account-intervention/password-reset-required/index.njk
@@ -20,4 +20,6 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/account-intervention/permanently-blocked/index.njk b/src/components/account-intervention/permanently-blocked/index.njk
index 0192d2301..aaf6262e6 100644
--- a/src/components/account-intervention/permanently-blocked/index.njk
+++ b/src/components/account-intervention/permanently-blocked/index.njk
@@ -15,4 +15,6 @@
{{'pages.permanentlyLockedScreen.section2.paragraph2' | translate }}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/account-not-found/index-mandatory.njk b/src/components/account-not-found/index-mandatory.njk
index e90b1ad60..05b5e010a 100644
--- a/src/components/account-not-found/index-mandatory.njk
+++ b/src/components/account-not-found/index-mandatory.njk
@@ -42,4 +42,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "10e1b70b-e208-4db8-8863-3679a675b51d", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/account-not-found/index-one-login.njk b/src/components/account-not-found/index-one-login.njk
index 578bdcaec..a126b1aba 100644
--- a/src/components/account-not-found/index-one-login.njk
+++ b/src/components/account-not-found/index-one-login.njk
@@ -45,4 +45,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "a70b71e7-b444-46e5-895c-cd2e27bbe6ba", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/account-not-found/index-optional.njk b/src/components/account-not-found/index-optional.njk
index 69403f6d2..201a349de 100644
--- a/src/components/account-not-found/index-optional.njk
+++ b/src/components/account-not-found/index-optional.njk
@@ -40,4 +40,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "a70b71e7-b444-46e5-895c-cd2e27bbe6ba", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/account-recovery/change-security-codes-confirmation/index.njk b/src/components/account-recovery/change-security-codes-confirmation/index.njk
index d987cec6d..839b1977e 100644
--- a/src/components/account-recovery/change-security-codes-confirmation/index.njk
+++ b/src/components/account-recovery/change-security-codes-confirmation/index.njk
@@ -25,4 +25,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "account recovery", contentId: "1abedb1b-7d09-4e81-9f88-a8b4297635b3", loggedInStatus: false, dynamic: false }) }}
{% endblock %}
diff --git a/src/components/account-recovery/check-your-email-security-codes/check-your-email-security-codes-controller.ts b/src/components/account-recovery/check-your-email-security-codes/check-your-email-security-codes-controller.ts
index 89b0a6a66..a299df67c 100644
--- a/src/components/account-recovery/check-your-email-security-codes/check-your-email-security-codes-controller.ts
+++ b/src/components/account-recovery/check-your-email-security-codes/check-your-email-security-codes-controller.ts
@@ -12,6 +12,17 @@ import { ERROR_CODES } from "../../common/constants";
import { AccountInterventionsInterface } from "../../account-intervention/types";
import { accountInterventionService } from "../../account-intervention/account-intervention-service";
+const oplValues = {
+ createAccount: {
+ contentId: "95e26313-bc2f-49bc-bc62-fd715476c1d9",
+ taxonomyLevel2: "create account",
+ },
+ accountRecovery: {
+ contentId: "account recovery",
+ taxonomyLevel2: "e768e27b-1c4d-48ba-8bcf-4c40274a6441",
+ },
+};
+
const TEMPLATE_NAME =
"account-recovery/check-your-email-security-codes/index.njk";
@@ -25,9 +36,16 @@ export function checkYourEmailSecurityCodesGet(
} else if (req.query.type === MFA_METHOD_TYPE.SMS) {
backUrl = HREF_BACK.ENTER_MFA;
}
+ const { isAccountRecoveryJourney } = req.session.user;
res.render(TEMPLATE_NAME, {
email: req.session.user.email,
backUrl: backUrl,
+ contentId: isAccountRecoveryJourney
+ ? oplValues.accountRecovery.contentId
+ : oplValues.createAccount.contentId,
+ taxonomyLevel2: isAccountRecoveryJourney
+ ? oplValues.accountRecovery.taxonomyLevel2
+ : oplValues.createAccount.taxonomyLevel2,
});
}
diff --git a/src/components/account-recovery/check-your-email-security-codes/index.njk b/src/components/account-recovery/check-your-email-security-codes/index.njk
index 5aae86ffb..7cbb6d8b9 100644
--- a/src/components/account-recovery/check-your-email-security-codes/index.njk
+++ b/src/components/account-recovery/check-your-email-security-codes/index.njk
@@ -63,4 +63,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: "false", dynamic:"false" })}}
{% endblock %}
diff --git a/src/components/check-your-email/check-your-email-controller.ts b/src/components/check-your-email/check-your-email-controller.ts
index b5a07872b..932380f92 100644
--- a/src/components/check-your-email/check-your-email-controller.ts
+++ b/src/components/check-your-email/check-your-email-controller.ts
@@ -17,6 +17,25 @@ import { isLocked } from "../../utils/lock-helper";
const TEMPLATE_NAME = "check-your-email/index.njk";
+const oplValues = {
+ createAccount: {
+ contentId: "054e1ea8-97a8-461a-a964-07345c80098e",
+ taxonomyLevel2: "create account",
+ },
+ accountRecoveryPassword: {
+ contentId: "653c3488-2436-489a-83df-eef29cbf2f7b",
+ taxonomyLevel2: "account recovery",
+ },
+ accountRecovery2fa: {
+ contentId: "8c9cfa1a-fde2-42e0-b785-16f0a06896e2",
+ taxonomyLevel2: "account recovery",
+ },
+ accountIntervention: {
+ contentId: "7b663466-8001-436f-b10b-e6ac581d39aa",
+ taxonomyLevel2: "account intervention",
+ },
+};
+
export function checkYourEmailGet(req: Request, res: Response): void {
if (isLocked(req.session.user.codeRequestLock)) {
return res.render("security-code-error/index-wait.njk", {
@@ -29,6 +48,8 @@ export function checkYourEmailGet(req: Request, res: Response): void {
}
res.render(TEMPLATE_NAME, {
email: req.session.user.email,
+ contentId: oplValues.createAccount.contentId,
+ taxonomyLevel2: oplValues.createAccount.taxonomyLevel2,
});
}
diff --git a/src/components/check-your-email/index.njk b/src/components/check-your-email/index.njk
index 45b31c65f..56c9ec5a3 100644
--- a/src/components/check-your-email/index.njk
+++ b/src/components/check-your-email/index.njk
@@ -62,4 +62,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "accounts", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: "false", dynamic: true }) }}
{% endblock %}
diff --git a/src/components/check-your-phone/index.njk b/src/components/check-your-phone/index.njk
index 9711dadc7..d0886d6e1 100644
--- a/src/components/check-your-phone/index.njk
+++ b/src/components/check-your-phone/index.njk
@@ -76,4 +76,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "create account", contentId: "1fef9388-34cd-4ea2-b899-a66b7327d2f7", loggedInStatus: false, dynamic: false}) }}
{% endblock %}
diff --git a/src/components/common/errors/404.njk b/src/components/common/errors/404.njk
index 026db7588..a2bd66d01 100644
--- a/src/components/common/errors/404.njk
+++ b/src/components/common/errors/404.njk
@@ -15,4 +15,7 @@
"type": "Submit",
"href": "error.error404.content.govUKHomepageButtonHref" | translate
}) }}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "404", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "" , loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/common/errors/500.njk b/src/components/common/errors/500.njk
index 7cc923e3c..edefc6d86 100644
--- a/src/components/common/errors/500.njk
+++ b/src/components/common/errors/500.njk
@@ -9,4 +9,6 @@
{{ 'error.error500.content.paragraph1' | translate }}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "500", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/common/errors/mid-journey-direct-navigation-without-session.njk b/src/components/common/errors/mid-journey-direct-navigation-without-session.njk
index fd966f675..fb3a9c281 100644
--- a/src/components/common/errors/mid-journey-direct-navigation-without-session.njk
+++ b/src/components/common/errors/mid-journey-direct-navigation-without-session.njk
@@ -12,4 +12,6 @@
{{ 'error.sessionRequiredMidJourneyError.content.paragraph1.text3' | translate }}.
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/common/errors/session-expired.njk b/src/components/common/errors/session-expired.njk
index 4fcb26c4e..5d6b4b0ac 100644
--- a/src/components/common/errors/session-expired.njk
+++ b/src/components/common/errors/session-expired.njk
@@ -16,4 +16,6 @@
"href": "error.timeoutError.content.govUKHomepageButtonHref" | translate
}) }}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/common/footer/accessibility-statement.njk b/src/components/common/footer/accessibility-statement.njk
index 62fe3aaa5..898be6dd5 100644
--- a/src/components/common/footer/accessibility-statement.njk
+++ b/src/components/common/footer/accessibility-statement.njk
@@ -125,4 +125,6 @@
{{'pages.accessibilityStatement.section9.paragraph1' | translate}}
{{'pages.accessibilityStatement.section9.paragraph2' | translate}}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/common/footer/privacy-statement.njk b/src/components/common/footer/privacy-statement.njk
index 13b2a0d75..6c67b8222 100644
--- a/src/components/common/footer/privacy-statement.njk
+++ b/src/components/common/footer/privacy-statement.njk
@@ -899,4 +899,6 @@
{{ 'pages.privacy.sections.changes_to_this_notice.paragraph_three' | translate }}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/common/footer/support.njk b/src/components/common/footer/support.njk
index 429eac993..8e3debc4b 100644
--- a/src/components/common/footer/support.njk
+++ b/src/components/common/footer/support.njk
@@ -55,4 +55,5 @@
{{'pages.support.section2.paragraph1' | translate}}
{{'pages.support.section2.paragraph2' | translate}}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/common/footer/terms-conditions.njk b/src/components/common/footer/terms-conditions.njk
index c1a24ca4f..d19cddc0b 100644
--- a/src/components/common/footer/terms-conditions.njk
+++ b/src/components/common/footer/terms-conditions.njk
@@ -172,4 +172,6 @@
{{'pages.termsAndConditions.section11.paragraph2.linkText' | translate}}.
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/common/layout/base.njk b/src/components/common/layout/base.njk
index 66e08272a..ad52adfa7 100644
--- a/src/components/common/layout/base.njk
+++ b/src/components/common/layout/base.njk
@@ -1,4 +1,5 @@
{% extends "govuk/template.njk" %}
+{% from "ga4-opl/macro.njk" import ga4OnPageLoad %}
{% from "govuk/components/cookie-banner/macro.njk" import govukCookieBanner %}
{% from "govuk/components/phase-banner/macro.njk" import govukPhaseBanner %}
{% from "govuk/components/back-link/macro.njk" import govukBackLink %}
@@ -49,9 +50,11 @@
{% endblock %}
{% set phaseBannerText %}
- {{ 'general.phaseBanner.message.start' | translate }} {{ 'general.phaseBanner.message.linkText' | translate }} {{ 'general.phaseBanner.message.end' | translate }}
+ target="_blank">{{ 'general.phaseBanner.message.linkText' | translate }}
+{{ 'general.phaseBanner.message.end' | translate }}
{% endset %}
{% block main %}
@@ -142,6 +145,21 @@
-
-{% endblock %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/src/components/contact-us/further-information/index.njk b/src/components/contact-us/further-information/index.njk
index 94c5df0b3..0b1a1c439 100644
--- a/src/components/contact-us/further-information/index.njk
+++ b/src/components/contact-us/further-information/index.njk
@@ -50,4 +50,5 @@
{% include 'contact-us/further-information/_proving-identity-further-information.njk' %}
{% endif %}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "feedback", contentId: "a06d6387-d411-47db-8f7d-88871286330b", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/contact-us/index-gov-service-contact-us.njk b/src/components/contact-us/index-gov-service-contact-us.njk
index ad9a1e78a..e7bc49b07 100644
--- a/src/components/contact-us/index-gov-service-contact-us.njk
+++ b/src/components/contact-us/index-gov-service-contact-us.njk
@@ -34,4 +34,6 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/contact-us/index-public-contact-us.njk b/src/components/contact-us/index-public-contact-us.njk
index b0ab35031..e92e9dcab 100644
--- a/src/components/contact-us/index-public-contact-us.njk
+++ b/src/components/contact-us/index-public-contact-us.njk
@@ -97,4 +97,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "feedback", contentId: "e08d04e6-b24f-4bad-9955-1eb860771747", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/contact-us/index-submit-success.njk b/src/components/contact-us/index-submit-success.njk
index d48218636..1761e88ce 100644
--- a/src/components/contact-us/index-submit-success.njk
+++ b/src/components/contact-us/index-submit-success.njk
@@ -26,4 +26,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "feedback", contentId: "0e020971-d828-4679-97fe-23af6e96ab14", loggedInStatus: false, dynamic:false })}}
{% endblock %}
diff --git a/src/components/create-password/index.njk b/src/components/create-password/index.njk
index 8a58257d5..c6348dab5 100644
--- a/src/components/create-password/index.njk
+++ b/src/components/create-password/index.njk
@@ -68,6 +68,7 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "create account", contentId: "8c0cc624-2e97-471d-ad36-6b695f9a038d", loggedInStatus: false, dynamic: false })}}
{% endblock %}
{% block scripts %}
diff --git a/src/components/enter-authenticator-app-code/index-2fa-service-uplift-auth-app.njk b/src/components/enter-authenticator-app-code/index-2fa-service-uplift-auth-app.njk
index 072c28a47..aa3d14ebd 100644
--- a/src/components/enter-authenticator-app-code/index-2fa-service-uplift-auth-app.njk
+++ b/src/components/enter-authenticator-app-code/index-2fa-service-uplift-auth-app.njk
@@ -67,4 +67,7 @@
html: detailsHTML
}) }}
{% endif %}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/enter-authenticator-app-code/index.njk b/src/components/enter-authenticator-app-code/index.njk
index d5729d646..e5fa956d3 100644
--- a/src/components/enter-authenticator-app-code/index.njk
+++ b/src/components/enter-authenticator-app-code/index.njk
@@ -53,4 +53,6 @@
html: detailsHTML
}) }}
{% endif %}
+
+ {{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "89461417-df3f-46a8-9c37-713b9dd78085", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/enter-email/index-create-account.njk b/src/components/enter-email/index-create-account.njk
index e68bda991..57b9b6167 100644
--- a/src/components/enter-email/index-create-account.njk
+++ b/src/components/enter-email/index-create-account.njk
@@ -40,4 +40,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "account", contentId: "390f46f9-1f6b-44f2-8fd7-21a5385a7d3a", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/enter-email/index-existing-account.njk b/src/components/enter-email/index-existing-account.njk
index 2772e5648..4c3b12e07 100644
--- a/src/components/enter-email/index-existing-account.njk
+++ b/src/components/enter-email/index-existing-account.njk
@@ -40,4 +40,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "d8767bcf-ffb8-4b43-8bda-24c6291590bb", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/enter-email/index-re-enter-email-account.njk b/src/components/enter-email/index-re-enter-email-account.njk
index 765d52a04..c5ae133d8 100644
--- a/src/components/enter-email/index-re-enter-email-account.njk
+++ b/src/components/enter-email/index-re-enter-email-account.njk
@@ -44,4 +44,6 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/enter-email/index-sign-in-details-entered-too-many-times.njk b/src/components/enter-email/index-sign-in-details-entered-too-many-times.njk
index 6d52b6487..a1c8b1498 100644
--- a/src/components/enter-email/index-sign-in-details-entered-too-many-times.njk
+++ b/src/components/enter-email/index-sign-in-details-entered-too-many-times.njk
@@ -25,4 +25,6 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/enter-mfa/index-2fa-service-uplift-mobile-phone.njk b/src/components/enter-mfa/index-2fa-service-uplift-mobile-phone.njk
index 512319eef..99b1fe56e 100644
--- a/src/components/enter-mfa/index-2fa-service-uplift-mobile-phone.njk
+++ b/src/components/enter-mfa/index-2fa-service-uplift-mobile-phone.njk
@@ -71,4 +71,7 @@
}) }}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/enter-mfa/index.njk b/src/components/enter-mfa/index.njk
index 2fc1a89c3..ee038937e 100644
--- a/src/components/enter-mfa/index.njk
+++ b/src/components/enter-mfa/index.njk
@@ -71,4 +71,6 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "19601dd7-be55-4ab6-aa44-a6358c4239dc", loggedInStatus: false, dynamic: false })}}
{% endblock %}
+
\ No newline at end of file
diff --git a/src/components/enter-password/enter-password-controller.ts b/src/components/enter-password/enter-password-controller.ts
index 1ac0ee7a2..ae50f2887 100644
--- a/src/components/enter-password/enter-password-controller.ts
+++ b/src/components/enter-password/enter-password-controller.ts
@@ -101,6 +101,7 @@ export function enterPasswordPost(
accountInterventionsService: AccountInterventionsInterface = accountInterventionService()
): ExpressRouteFunc {
return async function (req: Request, res: Response) {
+ const { isAccountCreationJourney } = req.session.user;
const { email } = req.session.user;
const { sessionId, clientSessionId, persistentSessionId } = res.locals;
@@ -218,6 +219,10 @@ export function enterPasswordPost(
"security-code-error/index-security-code-entered-exceeded.njk",
{
show2HrScreen: support2hrLockout(),
+ contentId: "727a0395-cc00-48eb-a411-bfe9d8ac5fc8",
+ taxonomyLevel2: isAccountCreationJourney
+ ? "create account"
+ : "sign in",
}
);
}
diff --git a/src/components/enter-password/index-account-exists.njk b/src/components/enter-password/index-account-exists.njk
index 8a6b0dae5..50c93c96d 100644
--- a/src/components/enter-password/index-account-exists.njk
+++ b/src/components/enter-password/index-account-exists.njk
@@ -51,6 +51,7 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "a36232c7-2649-42f8-bf1e-e66ba151aa1c", loggedInStatus: false, dynamic: true })}}
{% endblock %}
{% block scripts %}
diff --git a/src/components/enter-password/index-account-locked.njk b/src/components/enter-password/index-account-locked.njk
index 23fd8a5c7..199c610ab 100644
--- a/src/components/enter-password/index-account-locked.njk
+++ b/src/components/enter-password/index-account-locked.njk
@@ -33,4 +33,6 @@
{% endif %}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/enter-password/index-sign-in-retry-blocked.njk b/src/components/enter-password/index-sign-in-retry-blocked.njk
index 2a69db0c8..e8a340a48 100644
--- a/src/components/enter-password/index-sign-in-retry-blocked.njk
+++ b/src/components/enter-password/index-sign-in-retry-blocked.njk
@@ -38,4 +38,5 @@
{% endif %}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "e020dd02-2f97-46f9-9b26-c98730c89d73", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/enter-password/index.njk b/src/components/enter-password/index.njk
index 76f0338fc..6c1820ea0 100644
--- a/src/components/enter-password/index.njk
+++ b/src/components/enter-password/index.njk
@@ -42,6 +42,7 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "6b9f2243-d217-4c55-8ef3-7ac24b1f77e2", loggedInStatus: false, dynamic: true })}}
{% endblock %}
{% block scripts %}
diff --git a/src/components/enter-phone-number/enter-phone-number-controller.ts b/src/components/enter-phone-number/enter-phone-number-controller.ts
index 9d4871e3d..ea351886b 100644
--- a/src/components/enter-phone-number/enter-phone-number-controller.ts
+++ b/src/components/enter-phone-number/enter-phone-number-controller.ts
@@ -17,9 +17,35 @@ import { support2hrLockout, supportAccountRecovery } from "../../config";
import xss from "xss";
import { getNewCodePath } from "../security-code-error/security-code-error-controller";
+const oplValues = {
+ createAccount: {
+ contentId: "0f519eb6-5cd4-476f-968f-d847b3c4c034",
+ taxonomyLevel2: "create account",
+ },
+ accountRecovery: {
+ contentId: "cbca1676-f632-4937-984e-1ae5934d13e2",
+ taxonomyLevel2: "account recovery",
+ },
+};
+
export function enterPhoneNumberGet(req: Request, res: Response): void {
+ const { isAccountRecoveryJourney, isAccountRecoveryPermitted } =
+ req.session.user;
+ const isAccountRecoveryEnabledForEnvironment = supportAccountRecovery();
+
+ const accountRecovery =
+ isAccountRecoveryJourney &&
+ isAccountRecoveryPermitted &&
+ isAccountRecoveryEnabledForEnvironment;
+
res.render("enter-phone-number/index.njk", {
isAccountPartCreated: req.session.user.isAccountPartCreated,
+ contentId: accountRecovery
+ ? oplValues.accountRecovery.contentId
+ : oplValues.createAccount.contentId,
+ taxonomyLevel2: accountRecovery
+ ? oplValues.accountRecovery.taxonomyLevel2
+ : oplValues.createAccount.taxonomyLevel2,
});
}
diff --git a/src/components/enter-phone-number/index.njk b/src/components/enter-phone-number/index.njk
index 2966e0218..f2af7190a 100644
--- a/src/components/enter-phone-number/index.njk
+++ b/src/components/enter-phone-number/index.njk
@@ -7,7 +7,6 @@
{% set pageTitleName = 'pages.enterPhoneNumber.title' | translate %}
-
{% set showBack = true %}
{% set hrefBack = 'get-security-codes' %}
@@ -84,4 +83,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/enter-phone-number/tests/enter-phone-number-controller.test.ts b/src/components/enter-phone-number/tests/enter-phone-number-controller.test.ts
index d37bea3c8..49e1b3d14 100644
--- a/src/components/enter-phone-number/tests/enter-phone-number-controller.test.ts
+++ b/src/components/enter-phone-number/tests/enter-phone-number-controller.test.ts
@@ -37,6 +37,8 @@ describe("enter phone number controller", () => {
expect(res.render).to.have.calledWith("enter-phone-number/index.njk", {
isAccountPartCreated: undefined,
+ contentId: "0f519eb6-5cd4-476f-968f-d847b3c4c034",
+ taxonomyLevel2: "create account",
});
});
@@ -48,6 +50,8 @@ describe("enter phone number controller", () => {
expect(res.render).to.have.calledWith("enter-phone-number/index.njk", {
isAccountPartCreated: true,
+ contentId: "0f519eb6-5cd4-476f-968f-d847b3c4c034",
+ taxonomyLevel2: "create account",
});
});
});
diff --git a/src/components/ga4-opl/macro.njk b/src/components/ga4-opl/macro.njk
new file mode 100644
index 000000000..4c5046dc6
--- /dev/null
+++ b/src/components/ga4-opl/macro.njk
@@ -0,0 +1,3 @@
+{% macro ga4OnPageLoad(params) %}
+ {%- include "./template.njk" -%}
+{% endmacro %}
diff --git a/src/components/ga4-opl/template.njk b/src/components/ga4-opl/template.njk
new file mode 100644
index 000000000..a3e40a7e1
--- /dev/null
+++ b/src/components/ga4-opl/template.njk
@@ -0,0 +1,16 @@
+
diff --git a/src/components/prove-identity-callback/index.njk b/src/components/prove-identity-callback/index.njk
index 27a027ce7..ef4dc96c5 100644
--- a/src/components/prove-identity-callback/index.njk
+++ b/src/components/prove-identity-callback/index.njk
@@ -9,4 +9,7 @@
{{'pages.proveIdentityCheck.header' | translate | replace("[serviceName]", serviceName) }}
{{'pages.proveIdentityCheck.paragraph1' | translate}}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/prove-identity-callback/session-expiry-error.njk b/src/components/prove-identity-callback/session-expiry-error.njk
index c5163f236..96ba8514e 100644
--- a/src/components/prove-identity-callback/session-expiry-error.njk
+++ b/src/components/prove-identity-callback/session-expiry-error.njk
@@ -11,4 +11,6 @@
{{ 'error.proveIdentityCallbackSessionExpiryError.content.section1.paragraph1' | translate }}
{{ 'error.proveIdentityCallbackSessionExpiryError.content.section1.paragraph2' | translate }}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/prove-identity-welcome/index-existing-session.njk b/src/components/prove-identity-welcome/index-existing-session.njk
index 7e7b2f024..5a7f35785 100644
--- a/src/components/prove-identity-welcome/index-existing-session.njk
+++ b/src/components/prove-identity-welcome/index-existing-session.njk
@@ -41,4 +41,6 @@
}) }}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/prove-identity-welcome/index.njk b/src/components/prove-identity-welcome/index.njk
index 1fdd4e43a..a46888320 100644
--- a/src/components/prove-identity-welcome/index.njk
+++ b/src/components/prove-identity-welcome/index.njk
@@ -44,4 +44,6 @@
}) }}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/resend-email-code/index.njk b/src/components/resend-email-code/index.njk
index 56718a8ed..3529d9782 100644
--- a/src/components/resend-email-code/index.njk
+++ b/src/components/resend-email-code/index.njk
@@ -35,4 +35,6 @@
}) }}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "create account", contentId: "3104ec55-1a4e-4811-b927-0531fb315480", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/resend-mfa-code/index.njk b/src/components/resend-mfa-code/index.njk
index 24abea141..af60efa3e 100644
--- a/src/components/resend-mfa-code/index.njk
+++ b/src/components/resend-mfa-code/index.njk
@@ -37,4 +37,6 @@
}) }}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200",englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "sign in", contentId: "f463a280-31f1-43c0-a2f5-6b46b1e2bb15", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/reset-password-2fa-auth-app/index.njk b/src/components/reset-password-2fa-auth-app/index.njk
index 707f016bc..9d8c6fbae 100644
--- a/src/components/reset-password-2fa-auth-app/index.njk
+++ b/src/components/reset-password-2fa-auth-app/index.njk
@@ -63,4 +63,6 @@
html: detailsHTML
}) }}
{% endif %}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "account recovery", contentId: "943b41f4-8262-417f-8866-c0639319ccf0", loggedInStatus: false, dynamic: false })}}
{% endblock %}
diff --git a/src/components/reset-password-2fa-sms/index.njk b/src/components/reset-password-2fa-sms/index.njk
index f72f2e8d3..9640bef4a 100644
--- a/src/components/reset-password-2fa-sms/index.njk
+++ b/src/components/reset-password-2fa-sms/index.njk
@@ -63,4 +63,6 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/reset-password-check-email/index-exceeded-request-count.njk b/src/components/reset-password-check-email/index-exceeded-request-count.njk
index 3bf1343c1..b825fe8e1 100644
--- a/src/components/reset-password-check-email/index-exceeded-request-count.njk
+++ b/src/components/reset-password-check-email/index-exceeded-request-count.njk
@@ -14,4 +14,6 @@
{{'pages.resetPasswordCountExceeded.paragraph3' | translate}}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/reset-password-check-email/index-request-attempt-blocked.njk b/src/components/reset-password-check-email/index-request-attempt-blocked.njk
index 2a0530a9e..ebd5a5aca 100644
--- a/src/components/reset-password-check-email/index-request-attempt-blocked.njk
+++ b/src/components/reset-password-check-email/index-request-attempt-blocked.njk
@@ -14,4 +14,6 @@
{{'pages.resetPasswordAttemptBlocked.paragraph3' | translate}}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/reset-password-check-email/index-reset-password-resend-code.njk b/src/components/reset-password-check-email/index-reset-password-resend-code.njk
index 4af311ff8..5b5381d6d 100644
--- a/src/components/reset-password-check-email/index-reset-password-resend-code.njk
+++ b/src/components/reset-password-check-email/index-reset-password-resend-code.njk
@@ -28,4 +28,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/reset-password-check-email/index.njk b/src/components/reset-password-check-email/index.njk
index 4c63075f2..b7a61750e 100644
--- a/src/components/reset-password-check-email/index.njk
+++ b/src/components/reset-password-check-email/index.njk
@@ -8,6 +8,7 @@
{% set showBack = true %}
{% set hrefBack = 'enter-password' %}
{% block content %}
+
{% include "common/errors/errorSummary.njk" %}
{{'pages.resetPasswordCheckEmail.header' | translate}}
@@ -73,4 +74,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/reset-password-check-email/reset-password-check-email-controller.ts b/src/components/reset-password-check-email/reset-password-check-email-controller.ts
index 990168693..822e34d31 100644
--- a/src/components/reset-password-check-email/reset-password-check-email-controller.ts
+++ b/src/components/reset-password-check-email/reset-password-check-email-controller.ts
@@ -15,6 +15,23 @@ import { isLocked } from "../../utils/lock-helper";
const TEMPLATE_NAME = "reset-password-check-email/index.njk";
+const oplValues = {
+ resetPasswordResendEmail: {
+ default: {
+ contentId: "b78d016b-0f2c-4599-9c2f-76b3a6397997",
+ },
+ csrf: {
+ contentId: "e48886d5-7be8-424d-8471-d9a9bf49d1b7",
+ },
+ requestCode: {
+ contentId: "8cbc57f9-28df-4279-a001-cc62a9dd3415",
+ },
+ },
+ resetPasswordResendCode: {
+ contentId: "7b663466-8001-436f-b10b-e6ac581d39aa",
+ },
+};
+
export function resetPasswordCheckEmailGet(
service: ResetPasswordCheckEmailServiceInterface = resetPasswordCheckEmailService()
): ExpressRouteFunc {
@@ -56,6 +73,15 @@ export function resetPasswordCheckEmailGet(
req.session.user.redactedPhoneNumber = result.data.phoneNumberLastThree;
}
+ const getContentId = (url: Request) => {
+ if (url.originalUrl.includes("csrf")) {
+ return oplValues.resetPasswordResendEmail.csrf.contentId;
+ } else if (url.originalUrl.includes("requestcode")) {
+ return oplValues.resetPasswordResendEmail.requestCode.contentId;
+ }
+ return oplValues.resetPasswordResendEmail.default.contentId;
+ };
+
if (!requestCode || result.success) {
const support2FABeforePasswordResetFlag = support2FABeforePasswordReset();
const isForcedPasswordResetJourney =
@@ -64,6 +90,9 @@ export function resetPasswordCheckEmailGet(
support2FABeforePasswordResetFlag,
isForcedPasswordResetJourney,
email,
+ currentPath: req.originalUrl,
+ contentId: getContentId(req),
+ taxonomyLevel2: "account recovery",
});
}
@@ -119,6 +148,8 @@ export function resetPasswordResendCodeGet(req: Request, res: Response): void {
{
email: req.session.user.email,
support2hrLockout: support2hrLockout(),
+ contentId: oplValues.resetPasswordResendCode.contentId,
+ taxonomyLevel2: "account recovery",
}
);
}
diff --git a/src/components/reset-password-check-email/tests/reset-password-check-email-controller.test.ts b/src/components/reset-password-check-email/tests/reset-password-check-email-controller.test.ts
index d2f254801..b48bedebc 100644
--- a/src/components/reset-password-check-email/tests/reset-password-check-email-controller.test.ts
+++ b/src/components/reset-password-check-email/tests/reset-password-check-email-controller.test.ts
@@ -172,6 +172,8 @@ describe("reset password check email controller", () => {
{
email: req.session.user.email,
support2hrLockout: false,
+ contentId: "7b663466-8001-436f-b10b-e6ac581d39aa",
+ taxonomyLevel2: "account recovery",
}
);
});
diff --git a/src/components/reset-password/index.njk b/src/components/reset-password/index.njk
index 2aee8ef42..636e186d6 100644
--- a/src/components/reset-password/index.njk
+++ b/src/components/reset-password/index.njk
@@ -67,6 +67,7 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "account recovery", contentId: "c8520c6c-9f09-4edf-8c99-7123a3991cfc", loggedInStatus: false, dynamic: false })}}
{% endblock %}
{% block scripts %}
diff --git a/src/components/reset-password/reset-password-controller.ts b/src/components/reset-password/reset-password-controller.ts
index 3b27e005f..4dd8be963 100644
--- a/src/components/reset-password/reset-password-controller.ts
+++ b/src/components/reset-password/reset-password-controller.ts
@@ -23,13 +23,25 @@ import { support2FABeforePasswordReset } from "../../config";
const resetPasswordTemplate = "reset-password/index.njk";
+const oplValues = {
+ accountRecovery: {
+ contentId: "a95d02f6-6445-4112-b0c2-7a6d4f804b99",
+ taxonomyLevel2: "account recovery",
+ },
+};
+
export function resetPasswordGet(req: Request, res: Response): void {
- res.render(resetPasswordTemplate);
+ res.render(resetPasswordTemplate, {
+ contentId: oplValues.accountRecovery.contentId,
+ taxonomyLevel2: oplValues.accountRecovery.taxonomyLevel2,
+ });
}
export function resetPasswordRequiredGet(req: Request, res: Response): void {
res.render(resetPasswordTemplate, {
isPasswordChangeRequired: req.session.user.isPasswordChangeRequired,
+ contentId: oplValues.accountRecovery.contentId,
+ taxonomyLevel2: oplValues.accountRecovery.taxonomyLevel2,
});
}
diff --git a/src/components/reset-password/tests/reset-password-controller.test.ts b/src/components/reset-password/tests/reset-password-controller.test.ts
index 9928c2da0..e44cc2ac6 100644
--- a/src/components/reset-password/tests/reset-password-controller.test.ts
+++ b/src/components/reset-password/tests/reset-password-controller.test.ts
@@ -71,6 +71,8 @@ describe("reset password controller (in 6 digit code flow)", () => {
expect(res.render).to.have.calledWith("reset-password/index.njk", {
isPasswordChangeRequired: true,
+ contentId: "a95d02f6-6445-4112-b0c2-7a6d4f804b99",
+ taxonomyLevel2: "account recovery",
});
});
});
diff --git a/src/components/security-code-error/index-security-code-entered-exceeded.njk b/src/components/security-code-error/index-security-code-entered-exceeded.njk
index 34fc84fd0..cd128e98c 100644
--- a/src/components/security-code-error/index-security-code-entered-exceeded.njk
+++ b/src/components/security-code-error/index-security-code-entered-exceeded.njk
@@ -45,4 +45,6 @@
{% endif %}
{% endif %}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/security-code-error/index-too-many-requests.njk b/src/components/security-code-error/index-too-many-requests.njk
index a7813d404..3f3b0c76a 100644
--- a/src/components/security-code-error/index-too-many-requests.njk
+++ b/src/components/security-code-error/index-too-many-requests.njk
@@ -25,4 +25,6 @@
{% endif %}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/security-code-error/index-wait.njk b/src/components/security-code-error/index-wait.njk
index fc3f67b8b..0fd84d4d4 100644
--- a/src/components/security-code-error/index-wait.njk
+++ b/src/components/security-code-error/index-wait.njk
@@ -1,5 +1,6 @@
{% extends "common/layout/base.njk" %}
{% from "govuk/components/button/macro.njk" import govukButton %}
+
{% if support2hrLockout %}
{% if isAccountCreationJourney %}
{% set pageTitleName = 'pages.securityCodeWaitToRequest.title_create' | translate %}
@@ -31,4 +32,6 @@
{{'pages.securityCodeWaitToRequest.info_old.paragraph2End' | translate}}
{% endif %}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/security-code-error/index.njk b/src/components/security-code-error/index.njk
index 0d59a948b..0831aa09c 100644
--- a/src/components/security-code-error/index.njk
+++ b/src/components/security-code-error/index.njk
@@ -2,6 +2,7 @@
{% from "govuk/components/button/macro.njk" import govukButton %}
{% from "govuk/components/inset-text/macro.njk" import govukInsetText %}
{% set pageTitleName = 'pages.securityCodeInvalid.title' | translate %}
+
{% block content %}
{% if show2HrScreen %}
{{'pages.securityCodeInvalid.header' | translate }}
@@ -34,4 +35,6 @@
{% endif %}
{% endif %}
+
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/security-code-error/security-code-error-controller.ts b/src/components/security-code-error/security-code-error-controller.ts
index 8f8fd17f7..0daf37a4b 100644
--- a/src/components/security-code-error/security-code-error-controller.ts
+++ b/src/components/security-code-error/security-code-error-controller.ts
@@ -16,7 +16,23 @@ import {
import { UserSession } from "../../types";
import { isLocked, timestampNMinutesFromNow } from "../../utils/lock-helper";
+const oplValues = {
+ mfaMaxRetries: {
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ },
+ mfaBlocked: {
+ contentId: "1277915f-ce6e-4a06-89a0-e3458f95631a",
+ },
+ enteredExceeded: {
+ contentId: "727a0395-cc00-48eb-a411-bfe9d8ac5fc8",
+ },
+ requestedTooManyTimes: {
+ contentId: "445409a8-2aaf-47fc-82a9-b277eca4601d",
+ },
+};
+
export function securityCodeInvalidGet(req: Request, res: Response): void {
+ const { isAccountCreationJourney } = req.session.user;
const actionType = req.query.actionType as SecurityCodeErrorType;
const isEmailCode = [
SecurityCodeErrorType.EmailMaxRetries,
@@ -40,6 +56,8 @@ export function securityCodeInvalidGet(req: Request, res: Response): void {
isAuthApp: isAuthApp(req.query.actionType as SecurityCodeErrorType),
isBlocked: actionType !== SecurityCodeErrorType.EmailMaxRetries,
show2HrScreen: show2HrScreen,
+ contentId: oplValues.mfaMaxRetries.contentId,
+ taxonomyLevel2: isAccountCreationJourney ? "create account" : "sign in",
});
}
@@ -53,6 +71,8 @@ export function securityCodeTriesExceededGet(
);
}
+ const { isAccountCreationJourney } = req.session.user;
+
return res.render("security-code-error/index-too-many-requests.njk", {
newCodeLink: getNewCodePath(
req.query.actionType as SecurityCodeErrorType,
@@ -61,6 +81,8 @@ export function securityCodeTriesExceededGet(
isResendCodeRequest: req.query.isResendCodeRequest,
isAccountCreationJourney: req.session.user?.isAccountCreationJourney,
support2hrLockout: support2hrLockout(),
+ contentId: oplValues.requestedTooManyTimes.contentId,
+ taxonomyLevel2: isAccountCreationJourney ? "create account" : "sign in",
});
}
@@ -68,9 +90,13 @@ export function securityCodeCannotRequestCodeGet(
req: Request,
res: Response
): void {
+ const { isAccountCreationJourney } = req.session.user;
+
res.render("security-code-error/index-too-many-requests.njk", {
newCodeLink: getNewCodePath(req.query.actionType as SecurityCodeErrorType),
support2hrLockout: support2hrLockout(),
+ contentId: oplValues.mfaBlocked.contentId,
+ taxonomyLevel2: isAccountCreationJourney ? "create account" : "sign in",
});
}
@@ -78,11 +104,15 @@ export function securityCodeEnteredExceededGet(
req: Request,
res: Response
): void {
+ const { isAccountCreationJourney } = req.session.user;
+
res.render("security-code-error/index-security-code-entered-exceeded.njk", {
newCodeLink: isAuthApp(req.query.actionType as SecurityCodeErrorType)
? PATH_NAMES.ENTER_AUTHENTICATOR_APP_CODE
: PATH_NAMES.RESEND_MFA_CODE,
isAuthApp: isAuthApp(req.query.actionType as SecurityCodeErrorType),
+ contentId: oplValues.mfaMaxRetries.contentId,
+ taxonomyLevel2: isAccountCreationJourney ? "create account" : "sign in",
});
}
diff --git a/src/components/security-code-error/tests/security-code-error-controller.test.ts b/src/components/security-code-error/tests/security-code-error-controller.test.ts
index 8fbf60ad2..fcdbfde3d 100644
--- a/src/components/security-code-error/tests/security-code-error-controller.test.ts
+++ b/src/components/security-code-error/tests/security-code-error-controller.test.ts
@@ -46,6 +46,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: false,
show2HrScreen: false,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
},
},
{
@@ -59,6 +61,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: true,
show2HrScreen: false,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
},
},
{
@@ -72,6 +76,8 @@ describe("security code controller", () => {
isAuthApp: true,
isBlocked: true,
show2HrScreen: false,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
},
},
{
@@ -85,6 +91,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: true,
show2HrScreen: false,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
},
},
].forEach(({ actionType, expectedRenderOptions }) => {
@@ -110,6 +118,8 @@ describe("security code controller", () => {
actionType: SecurityCodeErrorType.EmailMaxCodesSent,
newCodeLink: PATH_NAMES.SECURITY_CODE_CHECK_TIME_LIMIT,
isAccountCreationJourney: undefined,
+ contentId: "445409a8-2aaf-47fc-82a9-b277eca4601d",
+ taxonomyLevel2: "sign in",
},
{
actionType: SecurityCodeErrorType.MfaMaxRetries,
@@ -119,11 +129,15 @@ describe("security code controller", () => {
SecurityCodeErrorType.MfaMaxRetries
),
isAccountCreationJourney: undefined,
+ contentId: "445409a8-2aaf-47fc-82a9-b277eca4601d",
+ taxonomyLevel2: "sign in",
},
{
actionType: SecurityCodeErrorType.OtpMaxCodesSent,
newCodeLink: PATH_NAMES.CREATE_ACCOUNT_ENTER_PHONE_NUMBER,
isAccountCreationJourney: undefined,
+ contentId: "445409a8-2aaf-47fc-82a9-b277eca4601d",
+ taxonomyLevel2: "sign in",
},
{
actionType: SecurityCodeErrorType.OtpMaxRetries,
@@ -133,6 +147,8 @@ describe("security code controller", () => {
"true"
),
isAccountCreationJourney: true,
+ contentId: "445409a8-2aaf-47fc-82a9-b277eca4601d",
+ taxonomyLevel2: "create account",
},
];
@@ -151,6 +167,8 @@ describe("security code controller", () => {
isResendCodeRequest: undefined,
isAccountCreationJourney: params.isAccountCreationJourney,
support2hrLockout: false,
+ contentId: params.contentId,
+ taxonomyLevel2: params.taxonomyLevel2,
}
);
});
@@ -162,14 +180,20 @@ describe("security code controller", () => {
{
actionType: SecurityCodeErrorType.OtpBlocked,
expectedCodeLink: PATH_NAMES.CREATE_ACCOUNT_ENTER_PHONE_NUMBER,
+ contentId: "1277915f-ce6e-4a06-89a0-e3458f95631a",
+ taxonomyLevel2: "sign in",
},
{
actionType: SecurityCodeErrorType.MfaBlocked,
expectedCodeLink: PATH_NAMES.RESEND_MFA_CODE,
+ contentId: "1277915f-ce6e-4a06-89a0-e3458f95631a",
+ taxonomyLevel2: "sign in",
},
{
actionType: SecurityCodeErrorType.EmailBlocked,
expectedCodeLink: PATH_NAMES.SECURITY_CODE_CHECK_TIME_LIMIT,
+ contentId: "1277915f-ce6e-4a06-89a0-e3458f95631a",
+ taxonomyLevel2: "sign in",
},
];
@@ -184,6 +208,8 @@ describe("security code controller", () => {
{
newCodeLink: params.expectedCodeLink,
support2hrLockout: false,
+ contentId: params.contentId,
+ taxonomyLevel2: params.taxonomyLevel2,
}
);
});
@@ -198,7 +224,12 @@ describe("security code controller", () => {
expect(res.render).to.have.calledWith(
"security-code-error/index-security-code-entered-exceeded.njk",
- { newCodeLink: PATH_NAMES.RESEND_MFA_CODE, isAuthApp: false }
+ {
+ newCodeLink: PATH_NAMES.RESEND_MFA_CODE,
+ isAuthApp: false,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
+ }
);
});
@@ -212,6 +243,8 @@ describe("security code controller", () => {
{
newCodeLink: PATH_NAMES.ENTER_AUTHENTICATOR_APP_CODE,
isAuthApp: true,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
}
);
});
@@ -257,6 +290,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: false,
show2HrScreen: true,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
}
);
}
@@ -282,6 +317,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: false,
show2HrScreen: true,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
}
);
}
@@ -320,6 +357,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: params.isBlocked,
show2HrScreen: false,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "create account",
}
);
});
@@ -344,6 +383,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: true,
show2HrScreen: true,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
}
);
expect(req.session.user.wrongCodeEnteredLock).to.eq(
@@ -372,6 +413,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: true,
show2HrScreen: false,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "create account",
}
);
expect(req.session.user.wrongCodeEnteredLock).to.eq(
@@ -400,6 +443,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: true,
show2HrScreen: false,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
}
);
expect(req.session.user.wrongCodeEnteredLock).to.eq(
@@ -429,6 +474,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: true,
show2HrScreen: true,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
}
);
expect(req.session.user.wrongCodeEnteredAccountRecoveryLock).to.eq(
@@ -457,6 +504,8 @@ describe("security code controller", () => {
isAuthApp: false,
isBlocked: true,
show2HrScreen: true,
+ contentId: "fdbcdd69-a2d5-4aee-97f2-d65d8f307dc5",
+ taxonomyLevel2: "sign in",
}
);
expect(req.session.user.wrongCodeEnteredPasswordResetLock).to.eq(
@@ -529,6 +578,8 @@ describe("security code controller", () => {
isResendCodeRequest: undefined,
isAccountCreationJourney: undefined,
support2hrLockout: true,
+ contentId: "445409a8-2aaf-47fc-82a9-b277eca4601d",
+ taxonomyLevel2: "sign in",
}
);
expect(req.session.user.codeRequestLock).to.eq(
@@ -556,6 +607,8 @@ describe("security code controller", () => {
isResendCodeRequest: undefined,
isAccountCreationJourney: undefined,
support2hrLockout: true,
+ contentId: "445409a8-2aaf-47fc-82a9-b277eca4601d",
+ taxonomyLevel2: "sign in",
}
);
}
@@ -576,6 +629,8 @@ describe("security code controller", () => {
isResendCodeRequest: undefined,
isAccountCreationJourney: undefined,
support2hrLockout: true,
+ contentId: "445409a8-2aaf-47fc-82a9-b277eca4601d",
+ taxonomyLevel2: "sign in",
}
);
}
@@ -600,6 +655,8 @@ describe("security code controller", () => {
isResendCodeRequest: undefined,
isAccountCreationJourney: true,
support2hrLockout: true,
+ contentId: "445409a8-2aaf-47fc-82a9-b277eca4601d",
+ taxonomyLevel2: "create account",
}
);
}
diff --git a/src/components/select-mfa-options/index.njk b/src/components/select-mfa-options/index.njk
index 18e699d29..979c25b50 100644
--- a/src/components/select-mfa-options/index.njk
+++ b/src/components/select-mfa-options/index.njk
@@ -76,4 +76,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/select-mfa-options/select-mfa-options-controller.ts b/src/components/select-mfa-options/select-mfa-options-controller.ts
index f08df8c68..f21d0e80f 100644
--- a/src/components/select-mfa-options/select-mfa-options-controller.ts
+++ b/src/components/select-mfa-options/select-mfa-options-controller.ts
@@ -4,15 +4,35 @@ import { USER_JOURNEY_EVENTS } from "../common/state-machine/state-machine";
import { generateMfaSecret } from "../../utils/mfa";
import { MFA_METHOD_TYPE } from "../../app.constants";
+const oplValues = {
+ createAccount: {
+ contentId: "95e26313-bc2f-49bc-bc62-fd715476c1d9",
+ taxonomyLevel2: "create account",
+ },
+ accountRecovery: {
+ contentId: "e768e27b-1c4d-48ba-8bcf-4c40274a6441",
+ taxonomyLevel2: "account recovery",
+ },
+};
+
export function getSecurityCodesGet(req: Request, res: Response): void {
req.session.user.isAccountCreationJourney =
!req.session.user.isAccountRecoveryJourney ||
req.session.user.isAccountPartCreated;
+ const isAccountRecoveryJourney = req.session.user.isAccountRecoveryJourney;
+
res.render("select-mfa-options/index.njk", {
isAccountPartCreated: req.session.user.isAccountPartCreated,
isAccountRecoveryJourney: req.session.user.isAccountRecoveryJourney,
selectedMfaOption: req.session.user.selectedMfaOption,
+
+ contentId: isAccountRecoveryJourney
+ ? oplValues.accountRecovery.contentId
+ : oplValues.createAccount.contentId,
+ taxonomyLevel2: isAccountRecoveryJourney
+ ? oplValues.accountRecovery.taxonomyLevel2
+ : oplValues.createAccount.taxonomyLevel2,
});
}
diff --git a/src/components/setup-authenticator-app/index.njk b/src/components/setup-authenticator-app/index.njk
index ffb3a63a4..555551b49 100644
--- a/src/components/setup-authenticator-app/index.njk
+++ b/src/components/setup-authenticator-app/index.njk
@@ -84,4 +84,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/setup-authenticator-app/setup-authenticator-app-controller.ts b/src/components/setup-authenticator-app/setup-authenticator-app-controller.ts
index 1c2a57fc8..b23e07d69 100644
--- a/src/components/setup-authenticator-app/setup-authenticator-app-controller.ts
+++ b/src/components/setup-authenticator-app/setup-authenticator-app-controller.ts
@@ -24,6 +24,17 @@ import { getJourneyTypeFromUserSession } from "../common/journey/journey";
const TEMPLATE = "setup-authenticator-app/index.njk";
+const oplValues = {
+ createAccount: {
+ contentId: "5bc82db9-2012-44bf-9a7d-34d1d22fb035",
+ taxonomyLevel2: "create account",
+ },
+ accountRecovery: {
+ contentId: "124051ef-673a-4eda-b585-96d9d711f545",
+ taxonomyLevel2: "account recovery",
+ },
+};
+
export async function setupAuthenticatorAppGet(
req: Request,
res: Response
@@ -35,12 +46,22 @@ export async function setupAuthenticatorAppGet(
);
req.session.user.authAppQrCodeUrl = await QRCode.toDataURL(qrCodeText);
+ req.session.user.isAccountCreationJourney =
+ !req.session.user.isAccountRecoveryJourney;
+
+ const isAccountRecoveryJourney = req.session.user.isAccountRecoveryJourney;
res.render(TEMPLATE, {
qrCode: req.session.user.authAppQrCodeUrl,
secretKeyFragmentArray: splitSecretKeyIntoFragments(
req.session.user.authAppSecret
),
+ contentId: isAccountRecoveryJourney
+ ? oplValues.accountRecovery.contentId
+ : oplValues.createAccount.contentId,
+ taxonomyLevel2: isAccountRecoveryJourney
+ ? oplValues.accountRecovery.taxonomyLevel2
+ : oplValues.createAccount.taxonomyLevel2,
});
}
diff --git a/src/components/share-info/index.njk b/src/components/share-info/index.njk
index 40b8f5020..505570cf5 100644
--- a/src/components/share-info/index.njk
+++ b/src/components/share-info/index.njk
@@ -61,4 +61,6 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/components/sign-in-or-create/index.njk b/src/components/sign-in-or-create/index.njk
index b5a6add28..356250cc1 100644
--- a/src/components/sign-in-or-create/index.njk
+++ b/src/components/sign-in-or-create/index.njk
@@ -70,4 +70,5 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "Home", contentId: "9cd55996-3f12-4e79-adf3-0ec3c4faf7ce", loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/signed-out/index.njk b/src/components/signed-out/index.njk
index f7a00866a..099f59112 100644
--- a/src/components/signed-out/index.njk
+++ b/src/components/signed-out/index.njk
@@ -2,6 +2,7 @@
{% from "govuk/components/button/macro.njk" import govukButton %}
{% set pageTitleName = 'pages.signedOut.title' | translate %}
+
{% block content %}
@@ -13,4 +14,5 @@
{{'pages.signedOut.signInLinkText' | translate}} {{'pages.signedOut.paragraph2' | translate}}
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: taxonomyLevel2, contentId: contentId, loggedInStatus: false, dynamic: true })}}
{% endblock %}
diff --git a/src/components/signed-out/signed-out-controller.ts b/src/components/signed-out/signed-out-controller.ts
index 9e9c0e2df..dbfab79d3 100644
--- a/src/components/signed-out/signed-out-controller.ts
+++ b/src/components/signed-out/signed-out-controller.ts
@@ -2,7 +2,15 @@ import { Request, Response } from "express";
import { BadRequestError } from "../../utils/error";
import xss from "xss";
+const oplValues = {
+ signOut: {
+ contentId: "83a49745-773f-49f6-aa15-58399e9a856c",
+ },
+};
+
export function signedOutGet(req: Request, res: Response): void {
+ const { isAccountCreationJourney } = req.session.user;
+
const errorCode = xss(req.query.error_code as string);
const errorDescription = xss(req.query.error_description as string);
if (errorCode || errorDescription) {
@@ -29,5 +37,7 @@ export function signedOutGet(req: Request, res: Response): void {
res.render("signed-out/index.njk", {
signinLink: res.locals.accountManagementUrl,
+ contentId: oplValues.signOut.contentId,
+ taxonomyLevel2: isAccountCreationJourney ? "create account" : "sign in",
});
}
diff --git a/src/components/updated-terms-conditions/index.njk b/src/components/updated-terms-conditions/index.njk
index 3457318dc..700bf8905 100644
--- a/src/components/updated-terms-conditions/index.njk
+++ b/src/components/updated-terms-conditions/index.njk
@@ -33,4 +33,6 @@
+{{ga4OnPageLoad({ nonce: scriptNonce, statusCode: "200", englishPageTitle: pageTitleName, taxonomyLevel1: "authentication", taxonomyLevel2: "", contentId: "", loggedInStatus: false, dynamic: false })}}
+
{% endblock %}
diff --git a/src/config.ts b/src/config.ts
index 7d5799bbc..f8dc4e9f8 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -186,3 +186,19 @@ export function getLanguageToggleEnabled(): boolean {
export function getEmailEnteredWrongBlockDurationInMinutes(): number {
return Number(process.env.EMAIL_ENTERED_WRONG_BLOCKED_MINUTES) || 15;
}
+
+export function getGA4ContainerId(): string {
+ return process.env.GOOGLE_ANALYTICS_4_GTM_CONTAINER_ID || "";
+}
+
+export function getGTMContainerID(): string {
+ return process.env.UNIVERSAL_ANALYTICS_GTM_CONTAINER_ID || "";
+}
+
+export function googleAnalytics4Disabled(): string {
+ return process.env.GA4_DISABLED || "true";
+}
+
+export function universalAnalyticsDisabled(): string {
+ return process.env.UA_DISABLED || "false";
+}
diff --git a/src/middleware/analytics-middleware.ts b/src/middleware/analytics-middleware.ts
new file mode 100644
index 000000000..9d7ce61ec
--- /dev/null
+++ b/src/middleware/analytics-middleware.ts
@@ -0,0 +1,16 @@
+import { NextFunction, Request, Response } from "express";
+import {
+ getAnalyticsCookieDomain,
+ getGA4ContainerId,
+ getGTMContainerID,
+ googleAnalytics4Disabled,
+ universalAnalyticsDisabled,
+} from "../config";
+export function setGTM(req: Request, res: Response, next: NextFunction): void {
+ res.locals.ga4ContainerId = getGA4ContainerId();
+ res.locals.uaContainerId = getGTMContainerID();
+ res.locals.analyticsCookieDomain = getAnalyticsCookieDomain();
+ res.locals.isGa4Disabled = googleAnalytics4Disabled();
+ res.locals.isUaDisabled = universalAnalyticsDisabled();
+ next();
+}
diff --git a/src/utils/logger.ts b/src/utils/logger.ts
index d1b485073..ae86438c3 100644
--- a/src/utils/logger.ts
+++ b/src/utils/logger.ts
@@ -45,6 +45,7 @@ const loggerMiddleware = PinoHttp({
autoLogging: {
ignore: (req) =>
[
+ "/public/scripts/analytics.js",
"/public/scripts/cookies.js",
"/public/scripts/all.js",
"/public/style.css",
diff --git a/yarn.lock b/yarn.lock
index f1734e837..187129635 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4,12 +4,12 @@
"@aashutoshrathi/word-wrap@^1.2.3":
version "1.2.6"
- resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
+ resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz"
integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
"@aws-crypto/crc32@3.0.0":
version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-3.0.0.tgz#07300eca214409c33e3ff769cd5697b57fdd38fa"
+ resolved "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz"
integrity sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==
dependencies:
"@aws-crypto/util" "^3.0.0"
@@ -18,14 +18,14 @@
"@aws-crypto/ie11-detection@^3.0.0":
version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688"
+ resolved "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz"
integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==
dependencies:
tslib "^1.11.1"
"@aws-crypto/sha256-browser@3.0.0":
version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766"
+ resolved "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz"
integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==
dependencies:
"@aws-crypto/ie11-detection" "^3.0.0"
@@ -39,7 +39,7 @@
"@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0":
version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2"
+ resolved "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz"
integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==
dependencies:
"@aws-crypto/util" "^3.0.0"
@@ -48,14 +48,14 @@
"@aws-crypto/supports-web-crypto@^3.0.0":
version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2"
+ resolved "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz"
integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==
dependencies:
tslib "^1.11.1"
"@aws-crypto/util@^3.0.0":
version "3.0.0"
- resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0"
+ resolved "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz"
integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==
dependencies:
"@aws-sdk/types" "^3.222.0"
@@ -64,7 +64,7 @@
"@aws-sdk/client-kms@^3.366.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-kms/-/client-kms-3.370.0.tgz#392c671cfe1d6ef869fce6452b01c60014549b31"
+ resolved "https://registry.npmjs.org/@aws-sdk/client-kms/-/client-kms-3.370.0.tgz"
integrity sha512-5nx9rzVrgdd0FC+SJm5iWX8oJo5AJOkDW/jjgWAM/+R4tWJy69ubhfyfMmUjQ97RjYKfDRqmAE/9aeOT+H6Vtg==
dependencies:
"@aws-crypto/sha256-browser" "3.0.0"
@@ -106,7 +106,7 @@
"@aws-sdk/client-sso-oidc@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.370.0.tgz#db03c04cb6a23888dc60016eb67505a41ede410b"
+ resolved "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.370.0.tgz"
integrity sha512-jAYOO74lmVXylQylqkPrjLzxvUnMKw476JCUTvCO6Q8nv3LzCWd76Ihgv/m9Q4M2Tbqi1iP2roVK5bstsXzEjA==
dependencies:
"@aws-crypto/sha256-browser" "3.0.0"
@@ -145,7 +145,7 @@
"@aws-sdk/client-sso@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.370.0.tgz#68aea97ecb2e5e6c817dfd3a1dd9fa4e09ff6e1c"
+ resolved "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.370.0.tgz"
integrity sha512-0Ty1iHuzNxMQtN7nahgkZr4Wcu1XvqGfrQniiGdKKif9jG/4elxsQPiydRuQpFqN6b+bg7wPP7crFP1uTxx2KQ==
dependencies:
"@aws-crypto/sha256-browser" "3.0.0"
@@ -184,7 +184,7 @@
"@aws-sdk/client-sts@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.370.0.tgz#65879fa35b396035dcab446c782056ef768f48af"
+ resolved "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.370.0.tgz"
integrity sha512-utFxOPWIzbN+3kc415Je2o4J72hOLNhgR2Gt5EnRSggC3yOnkC4GzauxG8n7n5gZGBX45eyubHyPOXLOIyoqQA==
dependencies:
"@aws-crypto/sha256-browser" "3.0.0"
@@ -227,7 +227,7 @@
"@aws-sdk/credential-provider-env@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.370.0.tgz#edd507a88b36b967da048255f4a478ad92d1c5aa"
+ resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.370.0.tgz"
integrity sha512-raR3yP/4GGbKFRPP5hUBNkEmTnzxI9mEc2vJAJrcv4G4J4i/UP6ELiLInQ5eO2/VcV/CeKGZA3t7d1tsJ+jhCg==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -237,7 +237,7 @@
"@aws-sdk/credential-provider-ini@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.370.0.tgz#4e569b8054b4fba2f0a0a7fa88af84b1f8d78c0b"
+ resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.370.0.tgz"
integrity sha512-eJyapFKa4NrC9RfTgxlXnXfS9InG/QMEUPPVL+VhG7YS6nKqetC1digOYgivnEeu+XSKE0DJ7uZuXujN2Y7VAQ==
dependencies:
"@aws-sdk/credential-provider-env" "3.370.0"
@@ -253,7 +253,7 @@
"@aws-sdk/credential-provider-node@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.370.0.tgz#74605644ccbd9e8237223318a7955f4ab2ff0d86"
+ resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.370.0.tgz"
integrity sha512-gkFiotBFKE4Fcn8CzQnMeab9TAR06FEAD02T4ZRYW1xGrBJOowmje9dKqdwQFHSPgnWAP+8HoTA8iwbhTLvjNA==
dependencies:
"@aws-sdk/credential-provider-env" "3.370.0"
@@ -270,7 +270,7 @@
"@aws-sdk/credential-provider-process@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.370.0.tgz#f7b94d2ccfda3b067cb23ea832b10c692c831855"
+ resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.370.0.tgz"
integrity sha512-0BKFFZmUO779Xdw3u7wWnoWhYA4zygxJbgGVSyjkOGBvdkbPSTTcdwT1KFkaQy2kOXYeZPl+usVVRXs+ph4ejg==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -281,7 +281,7 @@
"@aws-sdk/credential-provider-sso@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.370.0.tgz#4c57f93d73f198d7e1e53fbfcdf72c053bc9c682"
+ resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.370.0.tgz"
integrity sha512-PFroYm5hcPSfC/jkZnCI34QFL3I7WVKveVk6/F3fud/cnP8hp6YjA9NiTNbqdFSzsyoiN/+e5fZgNKih8vVPTA==
dependencies:
"@aws-sdk/client-sso" "3.370.0"
@@ -294,7 +294,7 @@
"@aws-sdk/credential-provider-web-identity@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.370.0.tgz#c5831bb656bea1fe3b300e495e19a33bc90f4d84"
+ resolved "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.370.0.tgz"
integrity sha512-CFaBMLRudwhjv1sDzybNV93IaT85IwS+L8Wq6VRMa0mro1q9rrWsIZO811eF+k0NEPfgU1dLH+8Vc2qhw4SARQ==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -304,7 +304,7 @@
"@aws-sdk/middleware-host-header@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.370.0.tgz#645472416efd16b22a66b0aa1d52f48cf5699feb"
+ resolved "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.370.0.tgz"
integrity sha512-CPXOm/TnOFC7KyXcJglICC7OiA7Kj6mT3ChvEijr56TFOueNHvJdV4aNIFEQy0vGHOWtY12qOWLNto/wYR1BAQ==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -314,7 +314,7 @@
"@aws-sdk/middleware-logger@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.370.0.tgz#c9f694d7e1dd47b5e6e8eab94793fc1e272b1e26"
+ resolved "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.370.0.tgz"
integrity sha512-cQMq9SaZ/ORmTJPCT6VzMML7OxFdQzNkhMAgKpTDl+tdPWynlHF29E5xGoSzROnThHlQPCjogU0NZ8AxI0SWPA==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -323,7 +323,7 @@
"@aws-sdk/middleware-recursion-detection@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.370.0.tgz#e5e8fd1d2ff1ade91135295dabcaa81c311ce00b"
+ resolved "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.370.0.tgz"
integrity sha512-L7ZF/w0lAAY/GK1khT8VdoU0XB7nWHk51rl/ecAg64J70dHnMOAg8n+5FZ9fBu/xH1FwUlHOkwlodJOgzLJjtg==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -333,7 +333,7 @@
"@aws-sdk/middleware-sdk-sts@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.370.0.tgz#0599a624fe5cabe75cd7d9e7420927b102356fa2"
+ resolved "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.370.0.tgz"
integrity sha512-ykbsoVy0AJtVbuhAlTAMcaz/tCE3pT8nAp0L7CQQxSoanRCvOux7au0KwMIQVhxgnYid4dWVF6d00SkqU5MXRA==
dependencies:
"@aws-sdk/middleware-signing" "3.370.0"
@@ -343,7 +343,7 @@
"@aws-sdk/middleware-signing@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.370.0.tgz#c094026251faa17a24f61630d56152f7b073e6cf"
+ resolved "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.370.0.tgz"
integrity sha512-Dwr/RTCWOXdm394wCwICGT2VNOTMRe4IGPsBRJAsM24pm+EEqQzSS3Xu/U/zF4exuxqpMta4wec4QpSarPNTxA==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -356,7 +356,7 @@
"@aws-sdk/middleware-user-agent@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.370.0.tgz#a2bf71baf6407654811a02e4d276a2eec3996fdb"
+ resolved "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.370.0.tgz"
integrity sha512-2+3SB6MtMAq1+gVXhw0Y3ONXuljorh6ijnxgTpv+uQnBW5jHCUiAS8WDYiDEm7i9euJPbvJfM8WUrSMDMU6Cog==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -367,7 +367,7 @@
"@aws-sdk/token-providers@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.370.0.tgz#e5229f2d116887c90ec103e024583be05c1f506c"
+ resolved "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.370.0.tgz"
integrity sha512-EyR2ZYr+lJeRiZU2/eLR+mlYU9RXLQvNyGFSAekJKgN13Rpq/h0syzXVFLP/RSod/oZenh/fhVZ2HwlZxuGBtQ==
dependencies:
"@aws-sdk/client-sso-oidc" "3.370.0"
@@ -379,7 +379,7 @@
"@aws-sdk/types@3.370.0", "@aws-sdk/types@^3.222.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.370.0.tgz#79e0e4927529c957b5c5c2a00f7590a76784a5e4"
+ resolved "https://registry.npmjs.org/@aws-sdk/types/-/types-3.370.0.tgz"
integrity sha512-8PGMKklSkRKjunFhzM2y5Jm0H2TBu7YRNISdYzXLUHKSP9zlMEYagseKVdmox0zKHf1LXVNuSlUV2b6SRrieCQ==
dependencies:
"@smithy/types" "^1.1.0"
@@ -387,7 +387,7 @@
"@aws-sdk/util-endpoints@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.370.0.tgz#bf1f4653c3afc89d4e79aa4895dd3dffbb56c930"
+ resolved "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.370.0.tgz"
integrity sha512-5ltVAnM79nRlywwzZN5i8Jp4tk245OCGkKwwXbnDU+gq7zT3CIOsct1wNZvmpfZEPGt/bv7/NyRcjP+7XNsX/g==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -395,14 +395,14 @@
"@aws-sdk/util-locate-window@^3.0.0":
version "3.310.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz#b071baf050301adee89051032bd4139bba32cc40"
+ resolved "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz"
integrity sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==
dependencies:
tslib "^2.5.0"
"@aws-sdk/util-user-agent-browser@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.370.0.tgz#df144f5f1a65578842b79d49555c754a531d85f0"
+ resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.370.0.tgz"
integrity sha512-028LxYZMQ0DANKhW+AKFQslkScZUeYlPmSphrCIXgdIItRZh6ZJHGzE7J/jDsEntZOrZJsjI4z0zZ5W2idj04w==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -412,7 +412,7 @@
"@aws-sdk/util-user-agent-node@3.370.0":
version "3.370.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.370.0.tgz#96d8420b42cbebd498de8b94886340d11c97a34b"
+ resolved "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.370.0.tgz"
integrity sha512-33vxZUp8vxTT/DGYIR3PivQm07sSRGWI+4fCv63Rt7Q++fO24E0kQtmVAlikRY810I10poD6rwILVtITtFSzkg==
dependencies:
"@aws-sdk/types" "3.370.0"
@@ -422,7 +422,7 @@
"@aws-sdk/util-utf8-browser@^3.0.0":
version "3.259.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff"
+ resolved "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz"
integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==
dependencies:
tslib "^2.3.1"
@@ -436,7 +436,7 @@
"@babel/code-frame@^7.22.13":
version "7.22.13"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e"
+ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz"
integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==
dependencies:
"@babel/highlight" "^7.22.13"
@@ -479,7 +479,7 @@
"@babel/generator@^7.23.0":
version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420"
+ resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz"
integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==
dependencies:
"@babel/types" "^7.23.0"
@@ -499,12 +499,12 @@
"@babel/helper-environment-visitor@^7.22.20":
version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
+ resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz"
integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
"@babel/helper-function-name@^7.23.0":
version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
+ resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz"
integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
dependencies:
"@babel/template" "^7.22.15"
@@ -512,7 +512,7 @@
"@babel/helper-hoist-variables@^7.22.5":
version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
+ resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz"
integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
dependencies:
"@babel/types" "^7.22.5"
@@ -578,14 +578,14 @@
"@babel/helper-split-export-declaration@^7.22.6":
version "7.22.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
+ resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz"
integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
dependencies:
"@babel/types" "^7.22.5"
"@babel/helper-string-parser@^7.22.5":
version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
+ resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz"
integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
"@babel/helper-validator-identifier@^7.15.7":
@@ -595,7 +595,7 @@
"@babel/helper-validator-identifier@^7.22.20":
version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
+ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz"
integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
"@babel/helper-validator-option@^7.14.5":
@@ -623,7 +623,7 @@
"@babel/highlight@^7.22.13":
version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54"
+ resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz"
integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==
dependencies:
"@babel/helper-validator-identifier" "^7.22.20"
@@ -637,7 +637,7 @@
"@babel/parser@^7.22.15", "@babel/parser@^7.23.0":
version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719"
+ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz"
integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==
"@babel/runtime@^7.12.0":
@@ -665,7 +665,7 @@
"@babel/template@^7.22.15":
version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38"
+ resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz"
integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==
dependencies:
"@babel/code-frame" "^7.22.13"
@@ -674,7 +674,7 @@
"@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3":
version "7.23.2"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8"
+ resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz"
integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==
dependencies:
"@babel/code-frame" "^7.22.13"
@@ -698,7 +698,7 @@
"@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0":
version "7.23.0"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb"
+ resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz"
integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==
dependencies:
"@babel/helper-string-parser" "^7.22.5"
@@ -719,19 +719,19 @@
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
+ resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz"
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
dependencies:
eslint-visitor-keys "^3.3.0"
"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1":
version "4.10.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63"
+ resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz"
integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==
"@eslint/eslintrc@^2.1.4":
version "2.1.4"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad"
+ resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz"
integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==
dependencies:
ajv "^6.12.4"
@@ -746,9 +746,14 @@
"@eslint/js@8.57.0":
version "8.57.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f"
+ resolved "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz"
integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==
+"@govuk-one-login/frontend-analytics@1.0.3":
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/@govuk-one-login/frontend-analytics/-/frontend-analytics-1.0.3.tgz#32da13a67f8804b96a648d53f21adf1b00ca3691"
+ integrity sha512-V0vH3OS5rz2Oj8IkOmKkl34FYA3liV8FaJzYVhVBn/hVjZD0cOaGhinunkdcgei2R9JJXiiU0JlEKDxPoYNdRQ==
+
"@govuk-one-login/frontend-language-toggle@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@govuk-one-login/frontend-language-toggle/-/frontend-language-toggle-1.1.0.tgz#d1a55f39aaae0fb65ed891b5e6cb4cf8cd6265ce"
@@ -764,7 +769,7 @@
"@humanwhocodes/config-array@^0.11.14":
version "0.11.14"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b"
+ resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz"
integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==
dependencies:
"@humanwhocodes/object-schema" "^2.0.2"
@@ -773,12 +778,12 @@
"@humanwhocodes/module-importer@^1.0.1":
version "1.0.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
+ resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
"@humanwhocodes/object-schema@^2.0.2":
version "2.0.2"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917"
+ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz"
integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==
"@istanbuljs/load-nyc-config@^1.0.0":
@@ -799,7 +804,7 @@
"@jridgewell/gen-mapping@^0.3.2":
version "0.3.3"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
+ resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz"
integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
dependencies:
"@jridgewell/set-array" "^1.0.1"
@@ -808,22 +813,22 @@
"@jridgewell/resolve-uri@^3.1.0":
version "3.1.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
+ resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz"
integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
"@jridgewell/set-array@^1.0.1":
version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
+ resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
version "1.4.15"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
+ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.19"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811"
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz"
integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==
dependencies:
"@jridgewell/resolve-uri" "^3.1.0"
@@ -899,12 +904,12 @@
"@redis/bloom@1.2.0":
version "1.2.0"
- resolved "https://registry.yarnpkg.com/@redis/bloom/-/bloom-1.2.0.tgz#d3fd6d3c0af3ef92f26767b56414a370c7b63b71"
+ resolved "https://registry.npmjs.org/@redis/bloom/-/bloom-1.2.0.tgz"
integrity sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==
"@redis/client@1.5.14":
version "1.5.14"
- resolved "https://registry.yarnpkg.com/@redis/client/-/client-1.5.14.tgz#1107893464d092f140d77c468b018a6ed306a180"
+ resolved "https://registry.npmjs.org/@redis/client/-/client-1.5.14.tgz"
integrity sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==
dependencies:
cluster-key-slot "1.1.2"
@@ -913,22 +918,22 @@
"@redis/graph@1.1.1":
version "1.1.1"
- resolved "https://registry.yarnpkg.com/@redis/graph/-/graph-1.1.1.tgz#8c10df2df7f7d02741866751764031a957a170ea"
+ resolved "https://registry.npmjs.org/@redis/graph/-/graph-1.1.1.tgz"
integrity sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==
"@redis/json@1.0.6":
version "1.0.6"
- resolved "https://registry.yarnpkg.com/@redis/json/-/json-1.0.6.tgz#b7a7725bbb907765d84c99d55eac3fcf772e180e"
+ resolved "https://registry.npmjs.org/@redis/json/-/json-1.0.6.tgz"
integrity sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==
"@redis/search@1.1.6":
version "1.1.6"
- resolved "https://registry.yarnpkg.com/@redis/search/-/search-1.1.6.tgz#33bcdd791d9ed88ab6910243a355d85a7fedf756"
+ resolved "https://registry.npmjs.org/@redis/search/-/search-1.1.6.tgz"
integrity sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==
"@redis/time-series@1.0.5":
version "1.0.5"
- resolved "https://registry.yarnpkg.com/@redis/time-series/-/time-series-1.0.5.tgz#a6d70ef7a0e71e083ea09b967df0a0ed742bc6ad"
+ resolved "https://registry.npmjs.org/@redis/time-series/-/time-series-1.0.5.tgz"
integrity sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==
"@sinonjs/commons@^1.6.0", "@sinonjs/commons@^1.7.0", "@sinonjs/commons@^1.8.3":
@@ -968,7 +973,7 @@
"@smithy/abort-controller@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-1.0.2.tgz#74caac052ecea15c5460438272ad8d43a6ccbc53"
+ resolved "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-1.0.2.tgz"
integrity sha512-tb2h0b+JvMee+eAxTmhnyqyNk51UXIK949HnE14lFeezKsVJTB30maan+CO2IMwnig2wVYQH84B5qk6ylmKCuA==
dependencies:
"@smithy/types" "^1.1.1"
@@ -976,7 +981,7 @@
"@smithy/config-resolver@^1.0.1", "@smithy/config-resolver@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-1.0.2.tgz#d4f556a44292b41b5c067662a4bd5049dea40e35"
+ resolved "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-1.0.2.tgz"
integrity sha512-8Bk7CgnVKg1dn5TgnjwPz2ebhxeR7CjGs5yhVYH3S8x0q8yPZZVWwpRIglwXaf5AZBzJlNO1lh+lUhMf2e73zQ==
dependencies:
"@smithy/types" "^1.1.1"
@@ -986,7 +991,7 @@
"@smithy/credential-provider-imds@^1.0.1", "@smithy/credential-provider-imds@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-1.0.2.tgz#7aa797c0d95448eb3dccb988b40e62db8989576f"
+ resolved "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-1.0.2.tgz"
integrity sha512-fLjCya+JOu2gPJpCiwSUyoLvT8JdNJmOaTOkKYBZoGf7CzqR6lluSyI+eboZnl/V0xqcfcqBG4tgqCISmWS3/w==
dependencies:
"@smithy/node-config-provider" "^1.0.2"
@@ -997,7 +1002,7 @@
"@smithy/eventstream-codec@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-1.0.2.tgz#06d1b6e2510cb2475a39b3a20b0c75e751917c59"
+ resolved "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-1.0.2.tgz"
integrity sha512-eW/XPiLauR1VAgHKxhVvgvHzLROUgTtqat2lgljztbH8uIYWugv7Nz+SgCavB+hWRazv2iYgqrSy74GvxXq/rg==
dependencies:
"@aws-crypto/crc32" "3.0.0"
@@ -1007,7 +1012,7 @@
"@smithy/fetch-http-handler@^1.0.1", "@smithy/fetch-http-handler@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-1.0.2.tgz#4186ee6451de22e867f43c05236dcff43eca6e91"
+ resolved "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-1.0.2.tgz"
integrity sha512-kynyofLf62LvR8yYphPPdyHb8fWG3LepFinM/vWUTG2Q1pVpmPCM530ppagp3+q2p+7Ox0UvSqldbKqV/d1BpA==
dependencies:
"@smithy/protocol-http" "^1.1.1"
@@ -1018,7 +1023,7 @@
"@smithy/hash-node@^1.0.1":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-1.0.2.tgz#dc65203a348d29e45c493ead3e772e4f7dfb5bc0"
+ resolved "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-1.0.2.tgz"
integrity sha512-K6PKhcUNrJXtcesyzhIvNlU7drfIU7u+EMQuGmPw6RQDAg/ufUcfKHz4EcUhFAodUmN+rrejhRG9U6wxjeBOQA==
dependencies:
"@smithy/types" "^1.1.1"
@@ -1028,7 +1033,7 @@
"@smithy/invalid-dependency@^1.0.1":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-1.0.2.tgz#0a9d82d1a14e5bdbdc0bd2cef5f457c85a942920"
+ resolved "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-1.0.2.tgz"
integrity sha512-B1Y3Tsa6dfC+Vvb+BJMhTHOfFieeYzY9jWQSTR1vMwKkxsymD0OIAnEw8rD/RiDj/4E4RPGFdx9Mdgnyd6Bv5Q==
dependencies:
"@smithy/types" "^1.1.1"
@@ -1036,14 +1041,14 @@
"@smithy/is-array-buffer@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-1.0.2.tgz#224702a2364d698f0a36ecb2c240c0c9541ecfb6"
+ resolved "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-1.0.2.tgz"
integrity sha512-pkyBnsBRpe+c/6ASavqIMRBdRtZNJEVJOEzhpxZ9JoAXiZYbkfaSMRA/O1dUxGdJ653GHONunnZ4xMo/LJ7utQ==
dependencies:
tslib "^2.5.0"
"@smithy/middleware-content-length@^1.0.1":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-1.0.2.tgz#63099f8d01b3419b65e21cfd07b0c2ef47d1f473"
+ resolved "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-1.0.2.tgz"
integrity sha512-pa1/SgGIrSmnEr2c9Apw7CdU4l/HW0fK3+LKFCPDYJrzM0JdYpqjQzgxi31P00eAkL0EFBccpus/p1n2GF9urw==
dependencies:
"@smithy/protocol-http" "^1.1.1"
@@ -1052,7 +1057,7 @@
"@smithy/middleware-endpoint@^1.0.2":
version "1.0.3"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-1.0.3.tgz#ff4b1c0a83eb8d8b8d3937f434a95efbbf43e1cd"
+ resolved "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-1.0.3.tgz"
integrity sha512-GsWvTXMFjSgl617PCE2km//kIjjtvMRrR2GAuRDIS9sHiLwmkS46VWaVYy+XE7ubEsEtzZ5yK2e8TKDR6Qr5Lw==
dependencies:
"@smithy/middleware-serde" "^1.0.2"
@@ -1063,7 +1068,7 @@
"@smithy/middleware-retry@^1.0.3":
version "1.0.4"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-1.0.4.tgz#8e9de0713dac7f7af405477d46bd4525ca7b9ea8"
+ resolved "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-1.0.4.tgz"
integrity sha512-G7uRXGFL8c3F7APnoIMTtNAHH8vT4F2qVnAWGAZaervjupaUQuRRHYBLYubK0dWzOZz86BtAXKieJ5p+Ni2Xpg==
dependencies:
"@smithy/protocol-http" "^1.1.1"
@@ -1076,7 +1081,7 @@
"@smithy/middleware-serde@^1.0.1", "@smithy/middleware-serde@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-1.0.2.tgz#87b3a0211602ae991d9b756893eb6bf2e3e5f711"
+ resolved "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-1.0.2.tgz"
integrity sha512-T4PcdMZF4xme6koUNfjmSZ1MLi7eoFeYCtodQNQpBNsS77TuJt1A6kt5kP/qxrTvfZHyFlj0AubACoaUqgzPeg==
dependencies:
"@smithy/types" "^1.1.1"
@@ -1084,14 +1089,14 @@
"@smithy/middleware-stack@^1.0.1", "@smithy/middleware-stack@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-1.0.2.tgz#d241082bf3cb315c749dda57e233039a9aed804e"
+ resolved "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-1.0.2.tgz"
integrity sha512-H7/uAQEcmO+eDqweEFMJ5YrIpsBwmrXSP6HIIbtxKJSQpAcMGY7KrR2FZgZBi1FMnSUOh+rQrbOyj5HQmSeUBA==
dependencies:
tslib "^2.5.0"
"@smithy/node-config-provider@^1.0.1", "@smithy/node-config-provider@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-1.0.2.tgz#2d391b96a9e10072e7e0a3698427400f4ef17ec4"
+ resolved "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-1.0.2.tgz"
integrity sha512-HU7afWpTToU0wL6KseGDR2zojeyjECQfr8LpjAIeHCYIW7r360ABFf4EaplaJRMVoC3hD9FeltgI3/NtShOqCg==
dependencies:
"@smithy/property-provider" "^1.0.2"
@@ -1101,7 +1106,7 @@
"@smithy/node-http-handler@^1.0.2", "@smithy/node-http-handler@^1.0.3":
version "1.0.3"
- resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-1.0.3.tgz#89b556ca2bdcce7a994a9da1ea265094d76d4791"
+ resolved "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-1.0.3.tgz"
integrity sha512-PcPUSzTbIb60VCJCiH0PU0E6bwIekttsIEf5Aoo/M0oTfiqsxHTn0Rcij6QoH6qJy6piGKXzLSegspXg5+Kq6g==
dependencies:
"@smithy/abort-controller" "^1.0.2"
@@ -1112,7 +1117,7 @@
"@smithy/property-provider@^1.0.1", "@smithy/property-provider@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-1.0.2.tgz#f99f104cbd6576c9aca9f56cb72819b4a65208e1"
+ resolved "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-1.0.2.tgz"
integrity sha512-pXDPyzKX8opzt38B205kDgaxda6LHcTfPvTYQZnwP6BAPp1o9puiCPjeUtkKck7Z6IbpXCPUmUQnzkUzWTA42Q==
dependencies:
"@smithy/types" "^1.1.1"
@@ -1120,7 +1125,7 @@
"@smithy/protocol-http@^1.1.0", "@smithy/protocol-http@^1.1.1":
version "1.1.1"
- resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-1.1.1.tgz#10977cf71631eed4f5ad1845408920238d52cdba"
+ resolved "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.1.1.tgz"
integrity sha512-mFLFa2sSvlUxm55U7B4YCIsJJIMkA6lHxwwqOaBkral1qxFz97rGffP/mmd4JDuin1EnygiO5eNJGgudiUgmDQ==
dependencies:
"@smithy/types" "^1.1.1"
@@ -1128,7 +1133,7 @@
"@smithy/querystring-builder@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-1.0.2.tgz#ce861f6cbd14792c83aa19b4967a19923bd0706e"
+ resolved "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-1.0.2.tgz"
integrity sha512-6P/xANWrtJhMzTPUR87AbXwSBuz1SDHIfL44TFd/GT3hj6rA+IEv7rftEpPjayUiWRocaNnrCPLvmP31mobOyA==
dependencies:
"@smithy/types" "^1.1.1"
@@ -1137,7 +1142,7 @@
"@smithy/querystring-parser@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-1.0.2.tgz#559d09c46b21e6fbda71e95deda4bcd8a46bdecc"
+ resolved "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-1.0.2.tgz"
integrity sha512-IWxwxjn+KHWRRRB+K2Ngl+plTwo2WSgc2w+DvLy0DQZJh9UGOpw40d6q97/63GBlXIt4TEt5NbcFrO30CKlrsA==
dependencies:
"@smithy/types" "^1.1.1"
@@ -1145,12 +1150,12 @@
"@smithy/service-error-classification@^1.0.3":
version "1.0.3"
- resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-1.0.3.tgz#c620c1562610d3351985eb6dd04262ca2657ae67"
+ resolved "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-1.0.3.tgz"
integrity sha512-2eglIYqrtcUnuI71yweu7rSfCgt6kVvRVf0C72VUqrd0LrV1M0BM0eYN+nitp2CHPSdmMI96pi+dU9U/UqAMSA==
"@smithy/shared-ini-file-loader@^1.0.1", "@smithy/shared-ini-file-loader@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-1.0.2.tgz#c6e79991d87925bd18e0adae00c97da6c8ecae1e"
+ resolved "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-1.0.2.tgz"
integrity sha512-bdQj95VN+lCXki+P3EsDyrkpeLn8xDYiOISBGnUG/AGPYJXN8dmp4EhRRR7XOoLoSs8anZHR4UcGEOzFv2jwGw==
dependencies:
"@smithy/types" "^1.1.1"
@@ -1158,7 +1163,7 @@
"@smithy/signature-v4@^1.0.1":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-1.0.2.tgz#3a7b10ac66c337b404aa061e5f268f0550729680"
+ resolved "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-1.0.2.tgz"
integrity sha512-rpKUhmCuPmpV5dloUkOb9w1oBnJatvKQEjIHGmkjRGZnC3437MTdzWej9TxkagcZ8NRRJavYnEUixzxM1amFig==
dependencies:
"@smithy/eventstream-codec" "^1.0.2"
@@ -1172,7 +1177,7 @@
"@smithy/smithy-client@^1.0.3":
version "1.0.4"
- resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-1.0.4.tgz#96d03d123d117a637c679a79bb8eae96e3857bd9"
+ resolved "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-1.0.4.tgz"
integrity sha512-gpo0Xl5Nyp9sgymEfpt7oa9P2q/GlM3VmQIdm+FeH0QEdYOQx3OtvwVmBYAMv2FIPWxkMZlsPYRTnEiBTK5TYg==
dependencies:
"@smithy/middleware-stack" "^1.0.2"
@@ -1182,14 +1187,14 @@
"@smithy/types@^1.1.0", "@smithy/types@^1.1.1":
version "1.1.1"
- resolved "https://registry.yarnpkg.com/@smithy/types/-/types-1.1.1.tgz#949394a22e13e7077471bae0d18c146e5f62c456"
+ resolved "https://registry.npmjs.org/@smithy/types/-/types-1.1.1.tgz"
integrity sha512-tMpkreknl2gRrniHeBtdgQwaOlo39df8RxSrwsHVNIGXULy5XP6KqgScUw2m12D15wnJCKWxVhCX+wbrBW/y7g==
dependencies:
tslib "^2.5.0"
"@smithy/url-parser@^1.0.1", "@smithy/url-parser@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-1.0.2.tgz#fb59be6f2283399443d9e7afe08ebf63b3c266bb"
+ resolved "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-1.0.2.tgz"
integrity sha512-0JRsDMQe53F6EHRWksdcavKDRjyqp8vrjakg8EcCUOa7PaFRRB1SO/xGZdzSlW1RSTWQDEksFMTCEcVEKmAoqA==
dependencies:
"@smithy/querystring-parser" "^1.0.2"
@@ -1198,7 +1203,7 @@
"@smithy/util-base64@^1.0.1", "@smithy/util-base64@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-1.0.2.tgz#6cdd5a9356dafad3c531123c12cd77d674762da0"
+ resolved "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-1.0.2.tgz"
integrity sha512-BCm15WILJ3SL93nusoxvJGMVfAMWHZhdeDZPtpAaskozuexd0eF6szdz4kbXaKp38bFCSenA6bkUHqaE3KK0dA==
dependencies:
"@smithy/util-buffer-from" "^1.0.2"
@@ -1206,21 +1211,21 @@
"@smithy/util-body-length-browser@^1.0.1":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-1.0.2.tgz#4a9a49497634b5f25ab5ff73f1a8498010b0024a"
+ resolved "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-1.0.2.tgz"
integrity sha512-Xh8L06H2anF5BHjSYTg8hx+Itcbf4SQZnVMl4PIkCOsKtneMJoGjPRLy17lEzfoh/GOaa0QxgCP6lRMQWzNl4w==
dependencies:
tslib "^2.5.0"
"@smithy/util-body-length-node@^1.0.1":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-1.0.2.tgz#bc4969022f7d9ffcb239d626d80a85138e986df6"
+ resolved "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-1.0.2.tgz"
integrity sha512-nXHbZsUtvZeyfL4Ceds9nmy2Uh2AhWXohG4vWHyjSdmT8cXZlJdmJgnH6SJKDjyUecbu+BpKeVvSrA4cWPSOPA==
dependencies:
tslib "^2.5.0"
"@smithy/util-buffer-from@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-1.0.2.tgz#27e19573d721962bd2443f23d4edadb8206b2cb5"
+ resolved "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-1.0.2.tgz"
integrity sha512-lHAYIyrBO9RANrPvccnPjU03MJnWZ66wWuC5GjWWQVfsmPwU6m00aakZkzHdUT6tGCkGacXSgArP5wgTgA+oCw==
dependencies:
"@smithy/is-array-buffer" "^1.0.2"
@@ -1228,14 +1233,14 @@
"@smithy/util-config-provider@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-1.0.2.tgz#4d2e867df1cc7b4010d1278bd5767ce1b679dae9"
+ resolved "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-1.0.2.tgz"
integrity sha512-HOdmDm+3HUbuYPBABLLHtn8ittuRyy+BSjKOA169H+EMc+IozipvXDydf+gKBRAxUa4dtKQkLraypwppzi+PRw==
dependencies:
tslib "^2.5.0"
"@smithy/util-defaults-mode-browser@^1.0.1":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-1.0.2.tgz#31ad7b9bce7e38fd57f4a370ee416373b4fbd432"
+ resolved "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-1.0.2.tgz"
integrity sha512-J1u2PO235zxY7dg0+ZqaG96tFg4ehJZ7isGK1pCBEA072qxNPwIpDzUVGnLJkHZvjWEGA8rxIauDtXfB0qxeAg==
dependencies:
"@smithy/property-provider" "^1.0.2"
@@ -1245,7 +1250,7 @@
"@smithy/util-defaults-mode-node@^1.0.1":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-1.0.2.tgz#b295fe2a18568c1e21a85b6557e2b769452b4d95"
+ resolved "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-1.0.2.tgz"
integrity sha512-9/BN63rlIsFStvI+AvljMh873Xw6bbI6b19b+PVYXyycQ2DDQImWcjnzRlHW7eP65CCUNGQ6otDLNdBQCgMXqg==
dependencies:
"@smithy/config-resolver" "^1.0.2"
@@ -1257,21 +1262,21 @@
"@smithy/util-hex-encoding@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-1.0.2.tgz#5b9f2162f2a59b2d2aa39992bd2c7f65b6616ab6"
+ resolved "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-1.0.2.tgz"
integrity sha512-Bxydb5rMJorMV6AuDDMOxro3BMDdIwtbQKHpwvQFASkmr52BnpDsWlxgpJi8Iq7nk1Bt4E40oE1Isy/7ubHGzg==
dependencies:
tslib "^2.5.0"
"@smithy/util-middleware@^1.0.1", "@smithy/util-middleware@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-1.0.2.tgz#c3d4c7a6cd31bde33901e54abd7700c8ca73dab3"
+ resolved "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-1.0.2.tgz"
integrity sha512-vtXK7GOR2BoseCX8NCGe9SaiZrm9M2lm/RVexFGyPuafTtry9Vyv7hq/vw8ifd/G/pSJ+msByfJVb1642oQHKw==
dependencies:
tslib "^2.5.0"
"@smithy/util-retry@^1.0.3", "@smithy/util-retry@^1.0.4":
version "1.0.4"
- resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-1.0.4.tgz#9d95df3884981414163d5f780d38e3529384d9ad"
+ resolved "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-1.0.4.tgz"
integrity sha512-RnZPVFvRoqdj2EbroDo3OsnnQU8eQ4AlnZTOGusbYKybH3269CFdrZfZJloe60AQjX7di3J6t/79PjwCLO5Khw==
dependencies:
"@smithy/service-error-classification" "^1.0.3"
@@ -1279,7 +1284,7 @@
"@smithy/util-stream@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-1.0.2.tgz#2d33aa5168e51d1dd7937c32a09c8334d2da44d9"
+ resolved "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-1.0.2.tgz"
integrity sha512-qyN2M9QFMTz4UCHi6GnBfLOGYKxQZD01Ga6nzaXFFC51HP/QmArU72e4kY50Z/EtW8binPxspP2TAsGbwy9l3A==
dependencies:
"@smithy/fetch-http-handler" "^1.0.2"
@@ -1293,14 +1298,14 @@
"@smithy/util-uri-escape@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-1.0.2.tgz#c69a5423c9baa7a045a79372320bd40a437ac756"
+ resolved "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-1.0.2.tgz"
integrity sha512-k8C0BFNS9HpBMHSgUDnWb1JlCQcFG+PPlVBq9keP4Nfwv6a9Q0yAfASWqUCtzjuMj1hXeLhn/5ADP6JxnID1Pg==
dependencies:
tslib "^2.5.0"
"@smithy/util-utf8@^1.0.1", "@smithy/util-utf8@^1.0.2":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-1.0.2.tgz#b34c27b4efbe4f0edb6560b6d4f743088302671f"
+ resolved "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-1.0.2.tgz"
integrity sha512-V4cyjKfJlARui0dMBfWJMQAmJzoW77i4N3EjkH/bwnE2Ngbl4tqD2Y0C/xzpzY/J1BdxeCKxAebVFk8aFCaSCw==
dependencies:
"@smithy/util-buffer-from" "^1.0.2"
@@ -1379,14 +1384,14 @@
"@types/csurf@^1.11.2":
version "1.11.5"
- resolved "https://registry.yarnpkg.com/@types/csurf/-/csurf-1.11.5.tgz#16c3502fb534004a04d9cb8a48f031577528573b"
+ resolved "https://registry.npmjs.org/@types/csurf/-/csurf-1.11.5.tgz"
integrity sha512-5rw87+5YGixyL2W8wblSUl5DSZi5YOlXE6Awwn2ofLvqKr/1LruKffrQipeJKUX44VaxKj8m5es3vfhltJTOoA==
dependencies:
"@types/express-serve-static-core" "*"
"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33":
version "4.17.43"
- resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz#10d8444be560cb789c4735aea5eac6e5af45df54"
+ resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz"
integrity sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==
dependencies:
"@types/node" "*"
@@ -1403,7 +1408,7 @@
"@types/express@*", "@types/express@^4.17.13":
version "4.17.21"
- resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d"
+ resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz"
integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==
dependencies:
"@types/body-parser" "*"
@@ -1420,7 +1425,7 @@
"@types/json-schema@^7.0.12":
version "7.0.15"
- resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
+ resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
"@types/mime@^1":
@@ -1435,7 +1440,7 @@
"@types/mock-req-res@^1.1.3":
version "1.1.6"
- resolved "https://registry.yarnpkg.com/@types/mock-req-res/-/mock-req-res-1.1.6.tgz#bd5652a51974ffca0a5a1ea993d9a534d632b768"
+ resolved "https://registry.npmjs.org/@types/mock-req-res/-/mock-req-res-1.1.6.tgz"
integrity sha512-g6R3h/PBYo+jv7e3CVhu+GoNsrmm6lh3wfFTtSoONN7JXDngDqrqoo/SxLeMLFob1UNjddm84UyK/av8qhkcBA==
dependencies:
"@types/express" "*"
@@ -1502,12 +1507,12 @@
"@types/semver@^7.5.0":
version "7.5.8"
- resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e"
+ resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz"
integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==
"@types/send@*":
version "0.17.4"
- resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a"
+ resolved "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz"
integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==
dependencies:
"@types/mime" "^1"
@@ -1553,7 +1558,7 @@
"@typescript-eslint/eslint-plugin@^7.1.0":
version "7.1.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.0.tgz#22bb999a8d59893c0ea07923e8a21f9d985ad740"
+ resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.0.tgz"
integrity sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==
dependencies:
"@eslint-community/regexpp" "^4.5.1"
@@ -1570,7 +1575,7 @@
"@typescript-eslint/parser@^7.1.0":
version "7.1.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.1.0.tgz#b89dab90840f7d2a926bf4c23b519576e8c31970"
+ resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.0.tgz"
integrity sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==
dependencies:
"@typescript-eslint/scope-manager" "7.1.0"
@@ -1581,7 +1586,7 @@
"@typescript-eslint/scope-manager@7.1.0":
version "7.1.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.1.0.tgz#e4babaa39a3d612eff0e3559f3e99c720a2b4a54"
+ resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.0.tgz"
integrity sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==
dependencies:
"@typescript-eslint/types" "7.1.0"
@@ -1589,7 +1594,7 @@
"@typescript-eslint/type-utils@7.1.0":
version "7.1.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.1.0.tgz#372dfa470df181bcee0072db464dc778b75ed722"
+ resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.0.tgz"
integrity sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==
dependencies:
"@typescript-eslint/typescript-estree" "7.1.0"
@@ -1599,12 +1604,12 @@
"@typescript-eslint/types@7.1.0":
version "7.1.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.1.0.tgz#52a86d6236fda646e7e5fe61154991dc0dc433ef"
+ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.0.tgz"
integrity sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==
"@typescript-eslint/typescript-estree@7.1.0":
version "7.1.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.0.tgz#419b1310f061feee6df676c5bed460537310c593"
+ resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.0.tgz"
integrity sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==
dependencies:
"@typescript-eslint/types" "7.1.0"
@@ -1618,7 +1623,7 @@
"@typescript-eslint/utils@7.1.0":
version "7.1.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.1.0.tgz#710ecda62aff4a3c8140edabf3c5292d31111ddd"
+ resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.0.tgz"
integrity sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
@@ -1631,7 +1636,7 @@
"@typescript-eslint/visitor-keys@7.1.0":
version "7.1.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.0.tgz#576c4ad462ca1378135a55e2857d7aced96ce0a0"
+ resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.0.tgz"
integrity sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==
dependencies:
"@typescript-eslint/types" "7.1.0"
@@ -1639,7 +1644,7 @@
"@ungap/structured-clone@^1.2.0":
version "1.2.0"
- resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
+ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz"
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
a-sync-waterfall@^1.0.0:
@@ -1649,7 +1654,7 @@ a-sync-waterfall@^1.0.0:
abab@^2.0.6:
version "2.0.6"
- resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
+ resolved "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz"
integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
abbrev@1:
@@ -1659,7 +1664,7 @@ abbrev@1:
abort-controller@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
+ resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz"
integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
dependencies:
event-target-shim "^5.0.0"
@@ -1674,7 +1679,7 @@ accepts@~1.3.8:
acorn-jsx@^5.3.2:
version "5.3.2"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn-walk@^8.1.1:
@@ -1689,7 +1694,7 @@ acorn@^8.4.1:
acorn@^8.9.0:
version "8.11.3"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz"
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
agent-base@6:
@@ -1743,7 +1748,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
anymatch@~3.1.2:
version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
+ resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
dependencies:
normalize-path "^3.0.0"
@@ -1810,7 +1815,7 @@ atomic-sleep@^1.0.0:
available-typed-arrays@^1.0.5:
version "1.0.5"
- resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
+ resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
aws-sdk@^2.1356.0:
@@ -1862,7 +1867,7 @@ base64-js@^1.0.2, base64-js@^1.3.1:
binary-extensions@^2.0.0:
version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+ resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
body-parser@1.20.2:
@@ -1890,7 +1895,7 @@ boolbase@^1.0.0:
bowser@^2.11.0:
version "2.11.0"
- resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f"
+ resolved "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz"
integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==
brace-expansion@^1.1.7:
@@ -1942,7 +1947,7 @@ buffer@4.9.2:
buffer@^6.0.3:
version "6.0.3"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
+ resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz"
integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
dependencies:
base64-js "^1.3.1"
@@ -1965,7 +1970,7 @@ caching-transform@^4.0.0:
call-bind@^1.0.0, call-bind@^1.0.2:
version "1.0.2"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz"
integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
dependencies:
function-bind "^1.1.1"
@@ -2040,7 +2045,7 @@ check-error@^1.0.2:
cheerio-select@^2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4"
+ resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz"
integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==
dependencies:
boolbase "^1.0.0"
@@ -2052,7 +2057,7 @@ cheerio-select@^2.1.0:
cheerio@^1.0.0-rc.10:
version "1.0.0-rc.12"
- resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683"
+ resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz"
integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==
dependencies:
cheerio-select "^2.1.0"
@@ -2112,7 +2117,7 @@ cliui@^8.0.1:
cluster-key-slot@1.1.2:
version "1.1.2"
- resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac"
+ resolved "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz"
integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==
color-convert@^1.9.0:
@@ -2193,7 +2198,7 @@ concurrently@^8.2.2:
connect-redis@^7.1.1:
version "7.1.1"
- resolved "https://registry.yarnpkg.com/connect-redis/-/connect-redis-7.1.1.tgz#b78f91eb6d7509ae9e819bb362b94ba459072a1d"
+ resolved "https://registry.npmjs.org/connect-redis/-/connect-redis-7.1.1.tgz"
integrity sha512-M+z7alnCJiuzKa8/1qAYdGUXHYfDnLolOGAUjOioB07pP39qxjG+X9ibsud7qUBc4jMV5Mcy3ugGv8eFcgamJQ==
content-disposition@0.5.4:
@@ -2245,7 +2250,7 @@ cookie@0.6.0:
cookiejar@^2.1.4:
version "2.1.4"
- resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b"
+ resolved "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz"
integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==
copyfiles@^2.4.1:
@@ -2291,7 +2296,7 @@ csrf@3.1.0:
css-select@^5.1.0:
version "5.1.0"
- resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6"
+ resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz"
integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==
dependencies:
boolbase "^1.0.0"
@@ -2302,7 +2307,7 @@ css-select@^5.1.0:
css-what@^6.1.0:
version "6.1.0"
- resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
+ resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz"
integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
cssfilter@0.0.10:
@@ -2312,7 +2317,7 @@ cssfilter@0.0.10:
cssstyle@^3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-3.0.0.tgz#17ca9c87d26eac764bb8cfd00583cff21ce0277a"
+ resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz"
integrity sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==
dependencies:
rrweb-cssom "^0.6.0"
@@ -2329,7 +2334,7 @@ csurf@^1.11.0:
data-urls@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-4.0.0.tgz#333a454eca6f9a5b7b0f1013ff89074c3f522dd4"
+ resolved "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz"
integrity sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==
dependencies:
abab "^2.0.6"
@@ -2381,7 +2386,7 @@ decamelize@^4.0.0:
decimal.js@^10.4.3:
version "10.4.3"
- resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23"
+ resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz"
integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
deep-eql@^3.0.1:
@@ -2462,7 +2467,7 @@ doctrine@^3.0.0:
dom-serializer@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
+ resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz"
integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
dependencies:
domelementtype "^2.3.0"
@@ -2471,7 +2476,7 @@ dom-serializer@^2.0.0:
domelementtype@^2.3.0:
version "2.3.0"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+ resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz"
integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
domexception@^4.0.0:
@@ -2483,7 +2488,7 @@ domexception@^4.0.0:
domhandler@^5.0.2, domhandler@^5.0.3:
version "5.0.3"
- resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
+ resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz"
integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
dependencies:
domelementtype "^2.3.0"
@@ -2495,7 +2500,7 @@ dompurify@^2.3.4:
domutils@^3.0.1:
version "3.1.0"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e"
+ resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz"
integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==
dependencies:
dom-serializer "^2.0.0"
@@ -2509,7 +2514,7 @@ dotenv@^16.4.1:
ecdsa-sig-formatter@^1.0.11:
version "1.0.11"
- resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
+ resolved "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz"
integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
dependencies:
safe-buffer "^5.0.1"
@@ -2548,7 +2553,7 @@ end-of-stream@^1.1.0:
entities@^4.2.0, entities@^4.4.0:
version "4.5.0"
- resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
+ resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
es6-error@^4.0.1:
@@ -2588,14 +2593,14 @@ eslint-plugin-no-only-tests@^3.1.0:
eslint-plugin-prettier@^4.0.0:
version "4.2.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b"
+ resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz"
integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==
dependencies:
prettier-linter-helpers "^1.0.0"
eslint-scope@^7.2.2:
version "7.2.2"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
+ resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz"
integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
dependencies:
esrecurse "^4.3.0"
@@ -2603,12 +2608,12 @@ eslint-scope@^7.2.2:
eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3:
version "3.4.3"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
+ resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
eslint@^8.57.0:
version "8.57.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668"
+ resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz"
integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
@@ -2652,7 +2657,7 @@ eslint@^8.57.0:
espree@^9.6.0, espree@^9.6.1:
version "9.6.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
+ resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz"
integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
dependencies:
acorn "^8.9.0"
@@ -2666,7 +2671,7 @@ esprima@^4.0.0:
esquery@^1.4.2:
version "1.5.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
+ resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz"
integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
dependencies:
estraverse "^5.1.0"
@@ -2695,7 +2700,7 @@ etag@~1.8.1:
event-target-shim@^5.0.0:
version "5.0.1"
- resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
+ resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz"
integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
events@1.1.1:
@@ -2705,7 +2710,7 @@ events@1.1.1:
events@^3.3.0:
version "3.3.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+ resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
express-session@^1.17.2:
@@ -2769,7 +2774,7 @@ express@^4.17.2:
fast-copy@^3.0.0:
version "3.0.1"
- resolved "https://registry.yarnpkg.com/fast-copy/-/fast-copy-3.0.1.tgz#9e89ef498b8c04c1cd76b33b8e14271658a732aa"
+ resolved "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz"
integrity sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
@@ -2784,7 +2789,7 @@ fast-diff@^1.1.2:
fast-glob@^3.2.9:
version "3.3.2"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
+ resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz"
integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
dependencies:
"@nodelib/fs.stat" "^2.0.2"
@@ -2815,7 +2820,7 @@ fast-safe-stringify@^2.1.1:
fast-xml-parser@4.2.5:
version "4.2.5"
- resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz#a6747a09296a6cb34f2ae634019bf1738f3b421f"
+ resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz"
integrity sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==
dependencies:
strnum "^1.0.5"
@@ -2836,7 +2841,7 @@ file-entry-cache@^6.0.1:
fill-range@^7.0.1:
version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+ resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
dependencies:
to-regex-range "^5.0.1"
@@ -2865,7 +2870,7 @@ find-cache-dir@^3.2.0:
find-up@5.0.0, find-up@^5.0.0:
version "5.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
dependencies:
locate-path "^6.0.0"
@@ -2904,7 +2909,7 @@ follow-redirects@^1.15.6:
for-each@^0.3.3:
version "0.3.3"
- resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
+ resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz"
integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
dependencies:
is-callable "^1.1.3"
@@ -2928,7 +2933,7 @@ form-data@^4.0.0:
formidable@^2.1.2:
version "2.1.2"
- resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89"
+ resolved "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz"
integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==
dependencies:
dezalgo "^1.0.4"
@@ -2963,7 +2968,7 @@ fs.realpath@^1.0.0:
fsevents@~2.3.2:
version "2.3.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+ resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
function-bind@^1.1.1:
@@ -2973,7 +2978,7 @@ function-bind@^1.1.1:
generic-pool@3.9.0:
version "3.9.0"
- resolved "https://registry.yarnpkg.com/generic-pool/-/generic-pool-3.9.0.tgz#36f4a678e963f4fdb8707eab050823abc4e8f5e4"
+ resolved "https://registry.npmjs.org/generic-pool/-/generic-pool-3.9.0.tgz"
integrity sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==
gensync@^1.0.0-beta.2:
@@ -2988,7 +2993,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5:
get-func-name@^2.0.0:
version "2.0.2"
- resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41"
+ resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz"
integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==
get-intrinsic@^1.0.2:
@@ -3002,7 +3007,7 @@ get-intrinsic@^1.0.2:
get-intrinsic@^1.1.3:
version "1.2.0"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f"
+ resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz"
integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==
dependencies:
function-bind "^1.1.1"
@@ -3023,7 +3028,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2:
glob-parent@^6.0.2:
version "6.0.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
dependencies:
is-glob "^4.0.3"
@@ -3047,14 +3052,14 @@ globals@^11.1.0:
globals@^13.19.0:
version "13.24.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171"
+ resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz"
integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
dependencies:
type-fest "^0.20.2"
globby@^11.1.0:
version "11.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+ resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz"
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
dependencies:
array-union "^2.1.0"
@@ -3066,14 +3071,14 @@ globby@^11.1.0:
gopd@^1.0.1:
version "1.0.1"
- resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
+ resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz"
integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
dependencies:
get-intrinsic "^1.1.3"
govuk-frontend@^4.8.0:
version "4.8.0"
- resolved "https://registry.yarnpkg.com/govuk-frontend/-/govuk-frontend-4.8.0.tgz#df4e56c762e93aae74fed214bb6be08e13783772"
+ resolved "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-4.8.0.tgz"
integrity sha512-NOmPJxL8IYq1HSNHYKx9XY2LLTxuwb+IFASiGQO4sgJ8K7AG66SlSeqARrcetevV8zOf+i1z+MbJJ2O7//OxAw==
graceful-fs@^4.1.15:
@@ -3083,7 +3088,7 @@ graceful-fs@^4.1.15:
graphemer@^1.4.0:
version "1.4.0"
- resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
+ resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz"
integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
has-flag@^3.0.0:
@@ -3103,12 +3108,12 @@ has-symbols@^1.0.1:
has-symbols@^1.0.2, has-symbols@^1.0.3:
version "1.0.3"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
+ resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
has-tostringtag@^1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
+ resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz"
integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
dependencies:
has-symbols "^1.0.2"
@@ -3140,7 +3145,7 @@ helmet@4.6.0:
help-me@^5.0.0:
version "5.0.0"
- resolved "https://registry.yarnpkg.com/help-me/-/help-me-5.0.0.tgz#b1ebe63b967b74060027c2ac61f9be12d354a6f6"
+ resolved "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz"
integrity sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==
hexoid@^1.0.0:
@@ -3162,7 +3167,7 @@ html-escaper@^2.0.0:
htmlparser2@^8.0.1:
version "8.0.2"
- resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21"
+ resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz"
integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==
dependencies:
domelementtype "^2.3.0"
@@ -3203,7 +3208,7 @@ http-proxy-agent@^5.0.0:
https-proxy-agent@^5.0.1:
version "5.0.1"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
+ resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz"
integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
dependencies:
agent-base "6"
@@ -3262,12 +3267,12 @@ ignore-by-default@^1.0.1:
ignore@^5.2.0, ignore@^5.2.4:
version "5.3.1"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef"
+ resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz"
integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==
immutable@^4.0.0:
version "4.3.0"
- resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.0.tgz#eb1738f14ffb39fd068b1dbe1296117484dd34be"
+ resolved "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz"
integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==
import-fresh@^3.2.1:
@@ -3308,7 +3313,7 @@ ipaddr.js@1.9.1:
is-arguments@^1.0.4:
version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
+ resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz"
integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
dependencies:
call-bind "^1.0.2"
@@ -3316,19 +3321,19 @@ is-arguments@^1.0.4:
is-binary-path@~2.1.0:
version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
dependencies:
binary-extensions "^2.0.0"
is-callable@^1.1.3:
version "1.2.7"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
+ resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz"
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
is-extglob@^2.1.1:
version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
is-fullwidth-code-point@^3.0.0:
@@ -3338,26 +3343,26 @@ is-fullwidth-code-point@^3.0.0:
is-generator-function@^1.0.7:
version "1.0.10"
- resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
+ resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz"
integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
dependencies:
has-tostringtag "^1.0.0"
is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
dependencies:
is-extglob "^2.1.1"
is-number@^7.0.0:
version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
is-path-inside@^3.0.3:
version "3.0.3"
- resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+ resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
is-plain-obj@^2.1.0:
@@ -3377,7 +3382,7 @@ is-stream@^2.0.0:
is-typed-array@^1.1.10, is-typed-array@^1.1.3:
version "1.1.10"
- resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
+ resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz"
integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
dependencies:
available-typed-arrays "^1.0.5"
@@ -3499,7 +3504,7 @@ js-tokens@^4.0.0:
js-yaml@4.1.0, js-yaml@^4.1.0:
version "4.1.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+ resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz"
integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
dependencies:
argparse "^2.0.1"
@@ -3514,7 +3519,7 @@ js-yaml@^3.13.1:
jsdom@^22.1.0:
version "22.1.0"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-22.1.0.tgz#0fca6d1a37fbeb7f4aac93d1090d782c56b611c8"
+ resolved "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz"
integrity sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==
dependencies:
abab "^2.0.6"
@@ -3563,7 +3568,7 @@ json-stringify-safe@^5.0.1:
json5@^2.1.2:
version "2.2.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
just-extend@^4.0.2:
@@ -3711,7 +3716,7 @@ minimatch@5.0.1:
minimatch@9.0.3:
version "9.0.3"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz"
integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
dependencies:
brace-expansion "^2.0.1"
@@ -3762,7 +3767,7 @@ mocha@10.1.0:
mock-req-res@^1.2.0:
version "1.2.1"
- resolved "https://registry.yarnpkg.com/mock-req-res/-/mock-req-res-1.2.1.tgz#01ec8b1ad103e73ed287701f0904423b7d53480b"
+ resolved "https://registry.npmjs.org/mock-req-res/-/mock-req-res-1.2.1.tgz"
integrity sha512-UCEI1xvq0pnfyTySAWcWeIJhAoHYdt47EWFUZO+qN7lu1dBjZYFUNzuByEGs1NdQ17Isb2LKpt5/dqq8t10gFQ==
ms@2.0.0:
@@ -3829,7 +3834,7 @@ node-releases@^2.0.1:
nodemon@3.1.0:
version "3.1.0"
- resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.0.tgz#ff7394f2450eb6a5e96fe4180acd5176b29799c9"
+ resolved "https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz"
integrity sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==
dependencies:
chokidar "^3.5.2"
@@ -3860,19 +3865,19 @@ nopt@~1.0.10:
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
nth-check@^2.0.1:
version "2.1.1"
- resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+ resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz"
integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
dependencies:
boolbase "^1.0.0"
nunjucks@^3.2.3:
version "3.2.4"
- resolved "https://registry.yarnpkg.com/nunjucks/-/nunjucks-3.2.4.tgz#f0878eef528ce7b0aa35d67cc6898635fd74649e"
+ resolved "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.4.tgz"
integrity sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==
dependencies:
a-sync-waterfall "^1.0.0"
@@ -3881,7 +3886,7 @@ nunjucks@^3.2.3:
nwsapi@^2.2.4:
version "2.2.7"
- resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30"
+ resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz"
integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
nyc@^15.1.0:
@@ -3924,7 +3929,7 @@ object-inspect@^1.9.0:
on-exit-leak-free@^2.1.0:
version "2.1.2"
- resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz#fed195c9ebddb7d9e4c3842f93f281ac8dadd3b8"
+ resolved "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz"
integrity sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==
on-finished@2.4.1:
@@ -3948,7 +3953,7 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
optionator@^0.9.3:
version "0.9.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
+ resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz"
integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
dependencies:
"@aashutoshrathi/word-wrap" "^1.2.3"
@@ -4026,7 +4031,7 @@ parent-module@^1.0.0:
parse5-htmlparser2-tree-adapter@^7.0.0:
version "7.0.0"
- resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1"
+ resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz"
integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==
dependencies:
domhandler "^5.0.2"
@@ -4034,7 +4039,7 @@ parse5-htmlparser2-tree-adapter@^7.0.0:
parse5@^7.0.0, parse5@^7.1.2:
version "7.1.2"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32"
+ resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz"
integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
dependencies:
entities "^4.4.0"
@@ -4088,7 +4093,7 @@ picocolors@^1.0.0:
picomatch@^2.0.4, picomatch@^2.2.1:
version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
picomatch@^2.2.3:
@@ -4098,7 +4103,7 @@ picomatch@^2.2.3:
pino-abstract-transport@^1.0.0, pino-abstract-transport@v1.1.0:
version "1.1.0"
- resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz#083d98f966262164504afb989bccd05f665937a8"
+ resolved "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz"
integrity sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==
dependencies:
readable-stream "^4.0.0"
@@ -4124,7 +4129,7 @@ pino-http@^9.0.0:
pino-pretty@^10.3.1:
version "10.3.1"
- resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-10.3.1.tgz#e3285a5265211ac6c7cd5988f9e65bf3371a0ca9"
+ resolved "https://registry.npmjs.org/pino-pretty/-/pino-pretty-10.3.1.tgz"
integrity sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==
dependencies:
colorette "^2.0.7"
@@ -4229,7 +4234,7 @@ process-warning@^3.0.0:
process@^0.11.10:
version "0.11.10"
- resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz"
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
propagate@^2.0.0:
@@ -4280,7 +4285,7 @@ punycode@^2.1.0, punycode@^2.1.1:
punycode@^2.3.0:
version "2.3.1"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
+ resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
qrcode@^1.5.0:
@@ -4307,7 +4312,7 @@ querystring@0.2.0:
querystringify@^2.1.1:
version "2.2.0"
- resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
+ resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz"
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
queue-microtask@^1.2.2:
@@ -4349,7 +4354,7 @@ raw-body@2.5.2:
readable-stream@^4.0.0:
version "4.5.2"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.5.2.tgz#9e7fc4c45099baeed934bff6eb97ba6cf2729e09"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz"
integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==
dependencies:
abort-controller "^3.0.0"
@@ -4383,7 +4388,7 @@ readable-stream@~2.3.6:
readdirp@~3.6.0:
version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
dependencies:
picomatch "^2.2.1"
@@ -4395,7 +4400,7 @@ real-require@^0.2.0:
redis@^4.6.13:
version "4.6.13"
- resolved "https://registry.yarnpkg.com/redis/-/redis-4.6.13.tgz#e247267c5f3ba35ab8277b57343d3a56acb2f0a6"
+ resolved "https://registry.npmjs.org/redis/-/redis-4.6.13.tgz"
integrity sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==
dependencies:
"@redis/bloom" "1.2.0"
@@ -4434,7 +4439,7 @@ require-main-filename@^2.0.0:
requires-port@^1.0.0:
version "1.0.0"
- resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
resolve-from@^4.0.0:
@@ -4466,7 +4471,7 @@ rndm@1.2.0:
rrweb-cssom@^0.6.0:
version "0.6.0"
- resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1"
+ resolved "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz"
integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==
run-parallel@^1.1.9:
@@ -4485,7 +4490,7 @@ rxjs@^7.8.1:
safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
@@ -4524,7 +4529,7 @@ sax@>=0.6.0:
saxes@^6.0.0:
version "6.0.0"
- resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5"
+ resolved "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz"
integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==
dependencies:
xmlchars "^2.2.0"
@@ -4536,12 +4541,12 @@ secure-json-parse@^2.4.0:
semver@^6.0.0, semver@^6.3.0:
version "6.3.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
+ resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.3.8, semver@^7.5.3, semver@^7.5.4:
version "7.6.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz"
integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
dependencies:
lru-cache "^6.0.0"
@@ -4630,7 +4635,7 @@ signal-exit@^3.0.2:
simple-update-notifier@^2.0.0:
version "2.0.0"
- resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb"
+ resolved "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz"
integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==
dependencies:
semver "^7.5.3"
@@ -4666,7 +4671,7 @@ sonic-boom@^2.1.0:
sonic-boom@^3.0.0:
version "3.7.0"
- resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.7.0.tgz#b4b7b8049a912986f4a92c51d4660b721b11f2f2"
+ resolved "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.7.0.tgz"
integrity sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==
dependencies:
atomic-sleep "^1.0.0"
@@ -4680,7 +4685,7 @@ sonic-boom@^3.7.0:
"source-map-js@>=0.6.2 <2.0.0":
version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+ resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz"
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
source-map@^0.5.0:
@@ -4777,12 +4782,12 @@ strip-json-comments@3.1.1, strip-json-comments@^3.1.1:
strnum@^1.0.5:
version "1.0.5"
- resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db"
+ resolved "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz"
integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==
superagent@^8.1.2:
version "8.1.2"
- resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.1.2.tgz#03cb7da3ec8b32472c9d20f6c2a57c7f3765f30b"
+ resolved "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz"
integrity sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==
dependencies:
component-emitter "^1.3.0"
@@ -4798,7 +4803,7 @@ superagent@^8.1.2:
supertest@^6.3.4:
version "6.3.4"
- resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.4.tgz#2145c250570c2ea5d337db3552dbfb78a2286218"
+ resolved "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz"
integrity sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==
dependencies:
methods "^1.1.2"
@@ -4883,7 +4888,7 @@ to-fast-properties@^2.0.0:
to-regex-range@^5.0.1:
version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
dependencies:
is-number "^7.0.0"
@@ -4907,7 +4912,7 @@ touch@^3.1.0:
tough-cookie@^4.1.2:
version "4.1.3"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
+ resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz"
integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==
dependencies:
psl "^1.1.33"
@@ -4917,7 +4922,7 @@ tough-cookie@^4.1.2:
tr46@^4.1.1:
version "4.1.1"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469"
+ resolved "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz"
integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==
dependencies:
punycode "^2.3.0"
@@ -4929,7 +4934,7 @@ tree-kill@^1.2.2:
ts-api-utils@^1.0.1:
version "1.2.1"
- resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.2.1.tgz#f716c7e027494629485b21c0df6180f4d08f5e8b"
+ resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz"
integrity sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==
ts-node@^10.5.0:
@@ -4953,7 +4958,7 @@ ts-node@^10.5.0:
tslib@^1.11.1:
version "1.14.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.1.0:
@@ -4963,7 +4968,7 @@ tslib@^2.1.0:
tslib@^2.3.1, tslib@^2.5.0:
version "2.6.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3"
+ resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz"
integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==
tsscmp@1.0.6:
@@ -5032,7 +5037,7 @@ undefsafe@^2.0.5:
universalify@^0.2.0:
version "0.2.0"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
+ resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz"
integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
unpipe@1.0.0, unpipe@~1.0.0:
@@ -5054,7 +5059,7 @@ uri-js@^4.2.2:
url-parse@^1.5.3:
version "1.5.10"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
+ resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz"
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
dependencies:
querystringify "^2.1.1"
@@ -5075,7 +5080,7 @@ util-deprecate@~1.0.1:
util@^0.12.4:
version "0.12.5"
- resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc"
+ resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz"
integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==
dependencies:
inherits "^2.0.3"
@@ -5091,7 +5096,7 @@ utils-merge@1.0.1:
uuid@8.0.0:
version "8.0.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.0.0.tgz#bc6ccf91b5ff0ac07bbcdbf1c7c4e150db4dbb6c"
+ resolved "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz"
integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==
uuid@^3.3.3:
@@ -5121,7 +5126,7 @@ vary@~1.1.2:
w3c-xmlserializer@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073"
+ resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz"
integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==
dependencies:
xml-name-validator "^4.0.0"
@@ -5145,7 +5150,7 @@ whatwg-mimetype@^3.0.0:
whatwg-url@^12.0.0, whatwg-url@^12.0.1:
version "12.0.1"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-12.0.1.tgz#fd7bcc71192e7c3a2a97b9a8d6b094853ed8773c"
+ resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz"
integrity sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==
dependencies:
tr46 "^4.1.1"
@@ -5158,7 +5163,7 @@ which-module@^2.0.0:
which-typed-array@^1.1.2:
version "1.1.9"
- resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
+ resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz"
integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
dependencies:
available-typed-arrays "^1.0.5"
@@ -5215,7 +5220,7 @@ write-file-atomic@^3.0.0:
ws@^8.13.0:
version "8.14.2"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f"
+ resolved "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz"
integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==
xml-name-validator@^4.0.0:
@@ -5225,7 +5230,7 @@ xml-name-validator@^4.0.0:
xml2js@0.6.2:
version "0.6.2"
- resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.6.2.tgz#dd0b630083aa09c161e25a4d0901e2b2a929b499"
+ resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz"
integrity sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==
dependencies:
sax ">=0.6.0"
@@ -5233,7 +5238,7 @@ xml2js@0.6.2:
xmlbuilder@~11.0.0:
version "11.0.1"
- resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
+ resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz"
integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
xmlchars@^2.2.0:
@@ -5243,7 +5248,7 @@ xmlchars@^2.2.0:
xss@^1.0.10:
version "1.0.14"
- resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694"
+ resolved "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz"
integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==
dependencies:
commander "^2.20.3"
@@ -5271,7 +5276,7 @@ y18n@^5.0.5:
yallist@4.0.0, yallist@^4.0.0:
version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yargs-parser@20.2.4: