diff --git a/docs/README-comuni-Linux.html b/docs/README-comuni-Linux.html index 6c0634a7..13e7ff0f 100644 --- a/docs/README-comuni-Linux.html +++ b/docs/README-comuni-Linux.html @@ -1,4 +1,4 @@ - + diff --git a/docs/README-comuni-Windows.html b/docs/README-comuni-Windows.html index cb93c761..59dc8a6f 100644 --- a/docs/README-comuni-Windows.html +++ b/docs/README-comuni-Windows.html @@ -1,4 +1,4 @@ - + diff --git a/docs/README-comuni-macOS.html b/docs/README-comuni-macOS.html index 7d9a73b4..33c73eaf 100644 --- a/docs/README-comuni-macOS.html +++ b/docs/README-comuni-macOS.html @@ -1,4 +1,4 @@ - + diff --git a/docs/README-scuole-Linux.html b/docs/README-scuole-Linux.html index 323b3027..e770c996 100644 --- a/docs/README-scuole-Linux.html +++ b/docs/README-scuole-Linux.html @@ -1,4 +1,4 @@ - + diff --git a/docs/README-scuole-Windows.html b/docs/README-scuole-Windows.html index 8d4e41f9..7de4fcd2 100644 --- a/docs/README-scuole-Windows.html +++ b/docs/README-scuole-Windows.html @@ -1,4 +1,4 @@ - + diff --git a/docs/README-scuole-macOS.html b/docs/README-scuole-macOS.html index 71fb71b1..a15fa504 100644 --- a/docs/README-scuole-macOS.html +++ b/docs/README-scuole-macOS.html @@ -1,4 +1,4 @@ - + diff --git a/src/app.ts b/src/app.ts index 8fcb2b02..f25978f8 100644 --- a/src/app.ts +++ b/src/app.ts @@ -100,21 +100,21 @@ try { dest, `report-${hostname}-${dateFormat( currentDate, - "UTC:yyyymmdd'T'HHMMss'Z'", + "UTC:yyyymmdd'T'HHMMss'Z'" )}-v${version}`, true, accuracy === "custom" ? "all" : accuracy, undefined, - numberOfServicePages, + numberOfServicePages ); console.log(); console.log(); console.log( - "[--L'analisi è terminata. Il report si aprirà automaticamente nel tuo browser--]", + "[--L'analisi è terminata. Il report si aprirà automaticamente nel tuo browser--]" ); console.log( - `Se non dovesse aprirsi, una copia HTML e JSON del report è stata salvata nella cartella ${dest}}`, + `Se non dovesse aprirsi, una copia HTML e JSON del report è stata salvata nella cartella ${dest}}` ); } catch (e) { console.error(e); diff --git a/src/audits/common/informative/ipLocationAudit.ts b/src/audits/common/informative/ipLocationAudit.ts index b4a57d8f..85b59311 100644 --- a/src/audits/common/informative/ipLocationAudit.ts +++ b/src/audits/common/informative/ipLocationAudit.ts @@ -41,7 +41,7 @@ class LoadAudit extends Audit { result: "Questo audit produce un risultato solo quando viene effettuato su un sito pubblicato online.", }, - ], + ] ), }; } diff --git a/src/audits/common/ipLocationAudit.ts b/src/audits/common/ipLocationAudit.ts index 0cc96897..5db82fef 100644 --- a/src/audits/common/ipLocationAudit.ts +++ b/src/audits/common/ipLocationAudit.ts @@ -30,7 +30,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { hostname: string }, + artifacts: LH.Artifacts & { hostname: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const hostname = artifacts.hostname; diff --git a/src/audits/municipality/accessibilityDeclarationIsPresentAudit.ts b/src/audits/municipality/accessibilityDeclarationIsPresentAudit.ts index f4deb19e..70eb2759 100644 --- a/src/audits/municipality/accessibilityDeclarationIsPresentAudit.ts +++ b/src/audits/municipality/accessibilityDeclarationIsPresentAudit.ts @@ -29,7 +29,7 @@ class LoadAudit extends Audit { static async audit( artifacts: LH.Artifacts & { origin: string; - }, + } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; let score = 0; @@ -81,7 +81,7 @@ class LoadAudit extends Audit { const $: CheerioAPI = await loadPageData(url); const accessibilityDeclarationElement = $("footer").find( - '[data-element="accessibility-link"]', + '[data-element="accessibility-link"]' ); const elementObj = $(accessibilityDeclarationElement).attr(); items[0].link_name = accessibilityDeclarationElement.text().trim() ?? ""; diff --git a/src/audits/municipality/bookingAppointmentAudit.ts b/src/audits/municipality/bookingAppointmentAudit.ts index 425d2294..56dc9a45 100644 --- a/src/audits/municipality/bookingAppointmentAudit.ts +++ b/src/audits/municipality/bookingAppointmentAudit.ts @@ -39,7 +39,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -101,7 +101,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -127,7 +127,7 @@ class LoadAudit extends Audit { numberOfPages: 1, }, ], - false, + false ); if (bookingAppointmentPage.length === 0) { @@ -146,7 +146,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -163,7 +163,7 @@ class LoadAudit extends Audit { let errorMessage = ex.message; errorMessage = errorMessage.substring( errorMessage.indexOf('"') + 1, - errorMessage.lastIndexOf('"'), + errorMessage.lastIndexOf('"') ); pagesInError.push({ inspected_page: pageToBeAnalyzed, @@ -180,7 +180,7 @@ class LoadAudit extends Audit { const bookingAppointmentServicePage = await getPrimaryPageUrl( pageToBeAnalyzed, - "appointment-booking", + "appointment-booking" ); if (bookingAppointmentServicePage === "") { diff --git a/src/audits/municipality/bootstrapItaliaDoubleCheckAudit.ts b/src/audits/municipality/bootstrapItaliaDoubleCheckAudit.ts index ac9f2a44..adf2610b 100644 --- a/src/audits/municipality/bootstrapItaliaDoubleCheckAudit.ts +++ b/src/audits/municipality/bootstrapItaliaDoubleCheckAudit.ts @@ -48,7 +48,7 @@ class LoadAudit extends Audit { static async audit( artifacts: LH.Artifacts & { origin: string; - }, + } ): Promise { const url = artifacts.origin; @@ -132,7 +132,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -177,7 +177,7 @@ class LoadAudit extends Audit { const res = await gotoRetry( page, pageToBeAnalyzed, - errorHandling.gotoRetryTentative, + errorHandling.gotoRetryTentative ); console.log(res?.url(), res?.status()); @@ -186,7 +186,7 @@ class LoadAudit extends Audit { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore return window.BOOTSTRAP_ITALIA_VERSION || null; - }, + } ); if (bootstrapItaliaVariableVersion !== null) @@ -200,10 +200,10 @@ class LoadAudit extends Audit { //@ts-ignore return ( getComputedStyle(document.body).getPropertyValue( - "--bootstrap-italia-version", + "--bootstrap-italia-version" ) || null ); - }, + } ); if (bootstrapItaliaSelectorVariableVersion !== null) @@ -270,7 +270,7 @@ class LoadAudit extends Audit { } const percentage = Math.round( - (correctClasses.length / baseClasses.length) * 100, + (correctClasses.length / baseClasses.length) * 100 ); item.classes_found = percentage + "%"; if (percentage < 30) { diff --git a/src/audits/municipality/contactsAssistencyAudit.ts b/src/audits/municipality/contactsAssistencyAudit.ts index ce2c5a6b..3641b80a 100644 --- a/src/audits/municipality/contactsAssistencyAudit.ts +++ b/src/audits/municipality/contactsAssistencyAudit.ts @@ -40,7 +40,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -99,7 +99,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -122,7 +122,7 @@ class LoadAudit extends Audit { let errorMessage = ex.message; errorMessage = errorMessage.substring( errorMessage.indexOf('"') + 1, - errorMessage.lastIndexOf('"'), + errorMessage.lastIndexOf('"') ); pagesInError.push({ @@ -141,7 +141,7 @@ class LoadAudit extends Audit { const indexList = await getPageElementDataAttribute( $, '[data-element="page-index"]', - "> li > a", + "> li > a" ); if (indexList.includes("Contatti")) { diff --git a/src/audits/municipality/controlledVocabulariesAudit.ts b/src/audits/municipality/controlledVocabulariesAudit.ts index 2705f55e..e7b57fbb 100644 --- a/src/audits/municipality/controlledVocabulariesAudit.ts +++ b/src/audits/municipality/controlledVocabulariesAudit.ts @@ -40,7 +40,7 @@ class LoadAudit extends lighthouse.Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; @@ -82,7 +82,7 @@ class LoadAudit extends lighthouse.Audit { let $ = await loadPageData(url); const allArgumentsHREF = await getHREFValuesDataAttribute( $, - '[data-element="all-topics"]', + '[data-element="all-topics"]' ); if (allArgumentsHREF.length <= 0) { item[0].result = notExecutedErrorMessage.replace("", "`all-topics"); @@ -103,7 +103,7 @@ class LoadAudit extends lighthouse.Audit { $ = await loadPageData(allArgumentsPageUrl); const argumentList = await getPageElementDataAttribute( $, - '[data-element="topic-element"]', + '[data-element="topic-element"]' ); if (argumentList.length === 0) { @@ -115,7 +115,7 @@ class LoadAudit extends lighthouse.Audit { const elementInfoMunicipalityVocabulary = await areAllElementsInVocabulary( argumentList, - municipalityModelVocabulary, + municipalityModelVocabulary ); const elementInMunicipalityModelPercentage = parseInt( @@ -123,7 +123,7 @@ class LoadAudit extends lighthouse.Audit { (elementInfoMunicipalityVocabulary.elementIncluded.length / argumentList.length) * 100 - ).toFixed(0), + ).toFixed(0) ); const lowerCaseEurovoc = eurovocVocabulary.map((element) => { @@ -136,7 +136,7 @@ class LoadAudit extends lighthouse.Audit { const elementInUnionVocabulary = await areAllElementsInVocabulary( argumentList, - uniq, + uniq ); const elementInUnionVocabularyPercentage = parseInt( @@ -144,7 +144,7 @@ class LoadAudit extends lighthouse.Audit { (elementInUnionVocabulary.elementIncluded.length / argumentList.length) * 100 - ).toFixed(0), + ).toFixed(0) ); if (elementInfoMunicipalityVocabulary.allArgumentsInVocabulary) { diff --git a/src/audits/municipality/cookieDomainCheckAudit.ts b/src/audits/municipality/cookieDomainCheckAudit.ts index 3e8be307..5eb797b1 100644 --- a/src/audits/municipality/cookieDomainCheckAudit.ts +++ b/src/audits/municipality/cookieDomainCheckAudit.ts @@ -42,7 +42,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; const titleSubHeadings = [ @@ -121,7 +121,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -145,7 +145,7 @@ class LoadAudit extends Audit { let errorMessage = ex.message; errorMessage = errorMessage.substring( errorMessage.indexOf('"') + 1, - errorMessage.lastIndexOf('"'), + errorMessage.lastIndexOf('"') ); pagesInError.push({ diff --git a/src/audits/municipality/domainAudit.ts b/src/audits/municipality/domainAudit.ts index 92e4b03b..aec9a8ac 100644 --- a/src/audits/municipality/domainAudit.ts +++ b/src/audits/municipality/domainAudit.ts @@ -38,7 +38,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; @@ -111,7 +111,7 @@ class LoadAudit extends Audit { numberOfPages: 1, }, ], - false, + false )), ]; @@ -141,7 +141,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } diff --git a/src/audits/municipality/faqAudit.ts b/src/audits/municipality/faqAudit.ts index d4672a81..ebfce0f4 100644 --- a/src/audits/municipality/faqAudit.ts +++ b/src/audits/municipality/faqAudit.ts @@ -27,7 +27,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; diff --git a/src/audits/municipality/feedbackElementAudit.ts b/src/audits/municipality/feedbackElementAudit.ts index 5d231a75..8e00f112 100644 --- a/src/audits/municipality/feedbackElementAudit.ts +++ b/src/audits/municipality/feedbackElementAudit.ts @@ -38,7 +38,7 @@ class LoadAudit extends lighthouse.Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -92,7 +92,7 @@ class LoadAudit extends lighthouse.Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -105,8 +105,9 @@ class LoadAudit extends lighthouse.Audit { errors_found: "", }; try { - const feedbackComponentAnalysis = - await checkFeedbackComponent(pageToBeAnalyzed); + const feedbackComponentAnalysis = await checkFeedbackComponent( + pageToBeAnalyzed + ); if (score > feedbackComponentAnalysis.score) { score = feedbackComponentAnalysis.score; @@ -134,7 +135,7 @@ class LoadAudit extends lighthouse.Audit { let errorMessage = ex.message; errorMessage = errorMessage.substring( errorMessage.indexOf('"') + 1, - errorMessage.lastIndexOf('"'), + errorMessage.lastIndexOf('"') ); pagesInError.push({ diff --git a/src/audits/municipality/fontsCheckAudit.ts b/src/audits/municipality/fontsCheckAudit.ts index 353ee509..2aaebb24 100644 --- a/src/audits/municipality/fontsCheckAudit.ts +++ b/src/audits/municipality/fontsCheckAudit.ts @@ -43,7 +43,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -108,7 +108,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -153,7 +153,7 @@ class LoadAudit extends Audit { const res = await gotoRetry( page, pageToBeAnalyzed, - errorHandling.gotoRetryTentative, + errorHandling.gotoRetryTentative ); console.log(res?.url(), res?.status()); @@ -161,7 +161,7 @@ class LoadAudit extends Audit { (requiredFonts) => { const badElements: Array = []; const outerElems = window.document.body.querySelectorAll( - "h1, h2, h3, h4, h5, h6, p", + "h1, h2, h3, h4, h5, h6, p" ); const wrongFonts = (e: Element) => { @@ -190,7 +190,7 @@ class LoadAudit extends Audit { } return badElements; }, - allowedFonts, + allowedFonts ); if (badElements.length === 0) { diff --git a/src/audits/municipality/improvementPlan.ts b/src/audits/municipality/improvementPlan.ts index dbb88108..2c9bbc80 100644 --- a/src/audits/municipality/improvementPlan.ts +++ b/src/audits/municipality/improvementPlan.ts @@ -25,7 +25,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; diff --git a/src/audits/municipality/inefficiencyReportAudit.ts b/src/audits/municipality/inefficiencyReportAudit.ts index c6e3a679..abc60083 100644 --- a/src/audits/municipality/inefficiencyReportAudit.ts +++ b/src/audits/municipality/inefficiencyReportAudit.ts @@ -30,7 +30,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; @@ -75,7 +75,7 @@ class LoadAudit extends Audit { const $: CheerioAPI = await loadPageData(url); const reportInefficiencyElement = $("footer").find( - '[data-element="report-inefficiency"]', + '[data-element="report-inefficiency"]' ); const elementObj = $(reportInefficiencyElement).attr(); diff --git a/src/audits/municipality/informative/accessibilityDeclarationIsPresentAudit.ts b/src/audits/municipality/informative/accessibilityDeclarationIsPresentAudit.ts index f0814ea1..52517f36 100644 --- a/src/audits/municipality/informative/accessibilityDeclarationIsPresentAudit.ts +++ b/src/audits/municipality/informative/accessibilityDeclarationIsPresentAudit.ts @@ -42,7 +42,7 @@ class LoadAudit extends Audit { result: "Questo audit produce un risultato solo quando viene effettuato su un sito pubblicato online.", }, - ], + ] ), }; } diff --git a/src/audits/municipality/informative/cookieDomainCheckAudit.ts b/src/audits/municipality/informative/cookieDomainCheckAudit.ts index 1eb5b8a8..984f4e1f 100644 --- a/src/audits/municipality/informative/cookieDomainCheckAudit.ts +++ b/src/audits/municipality/informative/cookieDomainCheckAudit.ts @@ -41,7 +41,7 @@ class LoadAudit extends Audit { result: "Questo audit produce un risultato solo quando viene effettuato su un sito pubblicato online.", }, - ], + ] ), }; } diff --git a/src/audits/municipality/informative/domainAudit.ts b/src/audits/municipality/informative/domainAudit.ts index 756622fb..4fe30938 100644 --- a/src/audits/municipality/informative/domainAudit.ts +++ b/src/audits/municipality/informative/domainAudit.ts @@ -41,7 +41,7 @@ class LoadAudit extends Audit { result: "Questo audit produce un risultato solo quando viene effettuato su un sito pubblicato online.", }, - ], + ] ), }; } diff --git a/src/audits/municipality/informative/securityAudit.ts b/src/audits/municipality/informative/securityAudit.ts index ff759540..688c679e 100644 --- a/src/audits/municipality/informative/securityAudit.ts +++ b/src/audits/municipality/informative/securityAudit.ts @@ -41,7 +41,7 @@ class LoadAudit extends Audit { result: "Questo audit produce un risultato solo quando viene effettuato su un sito pubblicato online.", }, - ], + ] ), }; } diff --git a/src/audits/municipality/licenseAndAttributionAudit.ts b/src/audits/municipality/licenseAndAttributionAudit.ts index ba7e37e8..abb7e698 100644 --- a/src/audits/municipality/licenseAndAttributionAudit.ts +++ b/src/audits/municipality/licenseAndAttributionAudit.ts @@ -33,7 +33,7 @@ class LoadAudit extends Audit { static async audit( artifacts: LH.Artifacts & { origin: string; - }, + } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; let score = 0; diff --git a/src/audits/municipality/menuAudit.ts b/src/audits/municipality/menuAudit.ts index 13041171..039607e7 100644 --- a/src/audits/municipality/menuAudit.ts +++ b/src/audits/municipality/menuAudit.ts @@ -35,7 +35,7 @@ class LoadAudit extends lighthouse.Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -103,7 +103,7 @@ class LoadAudit extends lighthouse.Audit { const missingMandatoryElements = missingMenuItems( foundMenuElements, - menuItem, + menuItem ); results[0].missing_menu_voices = missingMandatoryElements.join(", "); diff --git a/src/audits/municipality/metatagAudit.ts b/src/audits/municipality/metatagAudit.ts index 454606cc..04c7f79e 100644 --- a/src/audits/municipality/metatagAudit.ts +++ b/src/audits/municipality/metatagAudit.ts @@ -40,7 +40,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -93,7 +93,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -124,7 +124,7 @@ class LoadAudit extends Audit { let errorMessage = ex.message; errorMessage = errorMessage.substring( errorMessage.indexOf('"') + 1, - errorMessage.lastIndexOf('"'), + errorMessage.lastIndexOf('"') ); pagesInError.push({ @@ -145,7 +145,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", "`metatag"), }, - ], + ] ), }; } @@ -165,7 +165,7 @@ class LoadAudit extends Audit { const result: ValidatorResult = jsonschema.validate( parsedMetatagJSON, - metatadaJSONStructure, + metatadaJSONStructure ); if (result.errors.length <= 0) { correctItems.push(item); @@ -173,7 +173,7 @@ class LoadAudit extends Audit { const missingJSONVoices = await getMissingVoices(result); const missingVoicesAmountPercentage = parseInt( - ((missingJSONVoices.length / totalJSONVoices) * 100).toFixed(0), + ((missingJSONVoices.length / totalJSONVoices) * 100).toFixed(0) ); item.missing_keys = missingJSONVoices.join(", "); diff --git a/src/audits/municipality/privacyAudit.ts b/src/audits/municipality/privacyAudit.ts index d4f01cfa..65754533 100644 --- a/src/audits/municipality/privacyAudit.ts +++ b/src/audits/municipality/privacyAudit.ts @@ -24,7 +24,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; @@ -69,7 +69,7 @@ class LoadAudit extends Audit { const $: CheerioAPI = await loadPageData(url); const privacyPolicyElement = $("footer").find( - '[data-element="privacy-policy-link"]', + '[data-element="privacy-policy-link"]' ); const elementObj = $(privacyPolicyElement).attr(); items[0].link_name = privacyPolicyElement.text().trim() ?? ""; diff --git a/src/audits/municipality/secondLevelPagesAudit.ts b/src/audits/municipality/secondLevelPagesAudit.ts index b6f6aef0..a4640d4d 100644 --- a/src/audits/municipality/secondLevelPagesAudit.ts +++ b/src/audits/municipality/secondLevelPagesAudit.ts @@ -45,7 +45,7 @@ class LoadAudit extends lighthouse.Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; @@ -111,7 +111,7 @@ class LoadAudit extends lighthouse.Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -149,7 +149,7 @@ class LoadAudit extends lighthouse.Audit { const customPrimaryMenuDataElement = `[data-element="${customPrimaryMenuItemsDataElement}"]`; const customSecondLevelPageHref = await getHREFValuesDataAttribute( $, - customPrimaryMenuDataElement, + customPrimaryMenuDataElement ); for (let customSecondLevelPageUrl of customSecondLevelPageHref) { @@ -159,7 +159,7 @@ class LoadAudit extends lighthouse.Audit { ) { customSecondLevelPageUrl = await buildUrl( url, - customSecondLevelPageUrl, + customSecondLevelPageUrl ); } @@ -168,7 +168,7 @@ class LoadAudit extends lighthouse.Audit { const customSecondaryMenuDataElement = `[data-element="${customSecondaryMenuItemsDataElement}"]`; const customSecondLevelPagesNames = await getPageElementDataAttribute( $, - customSecondaryMenuDataElement, + customSecondaryMenuDataElement ); errorVoices = [...errorVoices, ...customSecondLevelPagesNames]; @@ -204,7 +204,7 @@ class LoadAudit extends lighthouse.Audit { ( (pagesInVocabulary / (totalNumberOfTitleFound + errorVoices.length)) * 100 - ).toFixed(0), + ).toFixed(0) ); if (pagesFoundInVocabularyPercentage === 100) { diff --git a/src/audits/municipality/securityAudit.ts b/src/audits/municipality/securityAudit.ts index 4f7403bd..89a7a144 100644 --- a/src/audits/municipality/securityAudit.ts +++ b/src/audits/municipality/securityAudit.ts @@ -24,7 +24,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const origin = artifacts.origin; diff --git a/src/audits/municipality/serviziAudit.ts b/src/audits/municipality/serviziAudit.ts index 904dbe33..7e7d645d 100644 --- a/src/audits/municipality/serviziAudit.ts +++ b/src/audits/municipality/serviziAudit.ts @@ -56,7 +56,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -117,14 +117,14 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } const pagesToBeAnalyzed = await getRandomNString( totalServices, - numberOfServicesToBeScanned, + numberOfServicesToBeScanned ); const correctItems = []; @@ -153,7 +153,7 @@ class LoadAudit extends Audit { let errorMessage = ex.message; errorMessage = errorMessage.substring( errorMessage.indexOf('"') + 1, - errorMessage.lastIndexOf('"'), + errorMessage.lastIndexOf('"') ); pagesInError.push({ inspected_page: pageToBeAnalyzed, @@ -187,12 +187,12 @@ class LoadAudit extends Audit { } indexElements = indexElements.filter((value) => - indexElementsWithContent.includes(value), + indexElementsWithContent.includes(value) ); const missingMandatoryItems = missingMenuItems( indexElements, - mandatoryMenuItems, + mandatoryMenuItems ); const title = $('[data-element="service-title"]').text().trim() ?? ""; @@ -214,7 +214,7 @@ class LoadAudit extends Audit { const argumentsTag = await getPageElementDataAttribute( $, - '[data-element="service-topic"]', + '[data-element="service-topic"]' ); if (argumentsTag.length <= 0) { missingMandatoryItems.push(mandatoryHeaderVoices[3]); @@ -223,13 +223,13 @@ class LoadAudit extends Audit { let breadcrumbElements = await getPageElementDataAttribute( $, '[data-element="breadcrumb"]', - "li", + "li" ); breadcrumbElements = breadcrumbElements.map((x) => x .toLowerCase() .replaceAll(/[^a-zA-Z0-9 ]/g, "") - .trim(), + .trim() ); if (!checkBreadcrumb(breadcrumbElements)) { @@ -385,12 +385,12 @@ module.exports = LoadAudit; async function getServicesFromIndex( $: CheerioAPI, - mandatoryElements: string[], + mandatoryElements: string[] ): Promise { const indexList = await getPageElementDataAttribute( $, '[data-element="page-index"]', - "> li > a", + "> li > a" ); const returnValues = []; diff --git a/src/audits/municipality/themeVersionCheckAudit.ts b/src/audits/municipality/themeVersionCheckAudit.ts index 58672891..2b40574d 100644 --- a/src/audits/municipality/themeVersionCheckAudit.ts +++ b/src/audits/municipality/themeVersionCheckAudit.ts @@ -32,7 +32,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; diff --git a/src/audits/municipality/userExperienceEvaluation.ts b/src/audits/municipality/userExperienceEvaluation.ts index 16825785..68a6462b 100644 --- a/src/audits/municipality/userExperienceEvaluation.ts +++ b/src/audits/municipality/userExperienceEvaluation.ts @@ -42,7 +42,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -89,7 +89,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -101,8 +101,9 @@ class LoadAudit extends Audit { errors_found: "", }; try { - const feedbackComponentAnalysis = - await checkFeedbackComponent(pageToBeAnalyzed); + const feedbackComponentAnalysis = await checkFeedbackComponent( + pageToBeAnalyzed + ); if (score > feedbackComponentAnalysis.score) { score = feedbackComponentAnalysis.score; @@ -130,7 +131,7 @@ class LoadAudit extends Audit { let errorMessage = ex.message; errorMessage = errorMessage.substring( errorMessage.indexOf('"') + 1, - errorMessage.lastIndexOf('"'), + errorMessage.lastIndexOf('"') ); pagesInError.push({ diff --git a/src/audits/school/accessibilityDeclarationIsPresentAudit.ts b/src/audits/school/accessibilityDeclarationIsPresentAudit.ts index 4c3cb5ab..14c1b47b 100644 --- a/src/audits/school/accessibilityDeclarationIsPresentAudit.ts +++ b/src/audits/school/accessibilityDeclarationIsPresentAudit.ts @@ -29,7 +29,7 @@ class LoadAudit extends Audit { static async audit( artifacts: LH.Artifacts & { origin: string; - }, + } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; let score = 0; @@ -81,7 +81,7 @@ class LoadAudit extends Audit { const $: CheerioAPI = await loadPageData(url); const accessibilityDeclarationElement = $("footer").find( - '[data-element="accessibility-link"]', + '[data-element="accessibility-link"]' ); const elementObj = $(accessibilityDeclarationElement).attr(); items[0].link_name = accessibilityDeclarationElement.text().trim() ?? ""; diff --git a/src/audits/school/bootstrapItaliaDoubleCheckAudit.ts b/src/audits/school/bootstrapItaliaDoubleCheckAudit.ts index 6bfa13fc..866f0a35 100644 --- a/src/audits/school/bootstrapItaliaDoubleCheckAudit.ts +++ b/src/audits/school/bootstrapItaliaDoubleCheckAudit.ts @@ -46,7 +46,7 @@ class LoadAudit extends Audit { static async audit( artifacts: LH.Artifacts & { origin: string; - }, + } ): Promise { const url = artifacts.origin; @@ -121,7 +121,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -165,7 +165,7 @@ class LoadAudit extends Audit { const res = await gotoRetry( page, pageToBeAnalyzed, - errorHandling.gotoRetryTentative, + errorHandling.gotoRetryTentative ); console.log(res?.url(), res?.status()); @@ -174,7 +174,7 @@ class LoadAudit extends Audit { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore return window.BOOTSTRAP_ITALIA_VERSION || null; - }, + } ); if (bootstrapItaliaVariableVersion !== null) @@ -188,10 +188,10 @@ class LoadAudit extends Audit { //@ts-ignore return ( getComputedStyle(document.body).getPropertyValue( - "--bootstrap-italia-version", + "--bootstrap-italia-version" ) || null ); - }, + } ); if (bootstrapItaliaSelectorVariableVersion !== null) diff --git a/src/audits/school/controlledVocabulariesAudit.ts b/src/audits/school/controlledVocabulariesAudit.ts index d5ab68fb..4959827b 100644 --- a/src/audits/school/controlledVocabulariesAudit.ts +++ b/src/audits/school/controlledVocabulariesAudit.ts @@ -40,7 +40,7 @@ class LoadAudit extends lighthouse.Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; @@ -74,7 +74,7 @@ class LoadAudit extends lighthouse.Audit { score: 0, details: Audit.makeTableDetails( [{ key: "result", itemType: "text", text: "Risultato" }], - [{ result: notExecutedErrorMessage.replace("", "all-topics") }], + [{ result: notExecutedErrorMessage.replace("", "all-topics") }] ), }; } @@ -84,14 +84,14 @@ class LoadAudit extends lighthouse.Audit { score: 0, details: Audit.makeTableDetails( [{ key: "result", itemType: "text", text: "Risultato" }], - [{ result: notExecutedErrorMessage.replace("", "all-topics") }], + [{ result: notExecutedErrorMessage.replace("", "all-topics") }] ), }; } const schoolModelCheck = await areAllElementsInVocabulary( argumentsElements, - schoolModelVocabulary, + schoolModelVocabulary ); let numberOfElementsNotInScuoleModelPercentage = 100; @@ -162,7 +162,7 @@ async function getArgumentsElements(url: string): Promise { // eslint-disable-next-line @typescript-eslint/ban-ts-comment //@ts-ignore // eslint-disable-next-line @typescript-eslint/no-explicit-any - (el: any) => (el.value = "scuola"), + (el: any) => (el.value = "scuola") ); const button = await page.$('[data-element="search-submit"]'); @@ -186,7 +186,7 @@ async function getArgumentsElements(url: string): Promise { elements = await getPageElementDataAttribute( $, '[data-element="all-topics"]', - "li", + "li" ); await page.goto("about:blank"); @@ -198,7 +198,7 @@ async function getArgumentsElements(url: string): Promise { console.error(`ERROR ${url}: ${ex}`); await browser.close(); throw new Error( - `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.`, + `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.` ); } } diff --git a/src/audits/school/cookieDomainCheckAudit.ts b/src/audits/school/cookieDomainCheckAudit.ts index 6be5aad2..7d9098f2 100644 --- a/src/audits/school/cookieDomainCheckAudit.ts +++ b/src/audits/school/cookieDomainCheckAudit.ts @@ -42,7 +42,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; const titleSubHeadings = [ @@ -115,7 +115,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -138,7 +138,7 @@ class LoadAudit extends Audit { let errorMessage = ex.message; errorMessage = errorMessage.substring( errorMessage.indexOf('"') + 1, - errorMessage.lastIndexOf('"'), + errorMessage.lastIndexOf('"') ); pagesInError.push({ diff --git a/src/audits/school/fontsCheckAudit.ts b/src/audits/school/fontsCheckAudit.ts index 523099eb..508dbad7 100644 --- a/src/audits/school/fontsCheckAudit.ts +++ b/src/audits/school/fontsCheckAudit.ts @@ -43,7 +43,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -104,7 +104,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -150,7 +150,7 @@ class LoadAudit extends Audit { const res = await gotoRetry( page, pageToBeAnalyzed, - errorHandling.gotoRetryTentative, + errorHandling.gotoRetryTentative ); console.log(res?.url(), res?.status()); @@ -158,7 +158,7 @@ class LoadAudit extends Audit { (requiredFonts) => { const badElements: Array = []; const outerElems = window.document.body.querySelectorAll( - "h1, h2, h3, h4, h5, h6, p", + "h1, h2, h3, h4, h5, h6, p" ); const wrongFonts = (e: Element) => { @@ -187,7 +187,7 @@ class LoadAudit extends Audit { } return badElements; }, - allowedFonts, + allowedFonts ); if (badElements.length === 0) { diff --git a/src/audits/school/informative/accessibilityDeclarationIsPresentAudit.ts b/src/audits/school/informative/accessibilityDeclarationIsPresentAudit.ts index ad9aabeb..863ec7fb 100644 --- a/src/audits/school/informative/accessibilityDeclarationIsPresentAudit.ts +++ b/src/audits/school/informative/accessibilityDeclarationIsPresentAudit.ts @@ -42,7 +42,7 @@ class LoadAudit extends Audit { result: "Questo audit produce un risultato solo quando viene effettuato su un sito pubblicato online.", }, - ], + ] ), }; } diff --git a/src/audits/school/informative/cookieDomainCheckAudit.ts b/src/audits/school/informative/cookieDomainCheckAudit.ts index 804123d9..44df1aca 100644 --- a/src/audits/school/informative/cookieDomainCheckAudit.ts +++ b/src/audits/school/informative/cookieDomainCheckAudit.ts @@ -41,7 +41,7 @@ class LoadAudit extends Audit { result: "Questo audit produce un risultato solo quando viene effettuato su un sito pubblicato online.", }, - ], + ] ), }; } diff --git a/src/audits/school/informative/securityAudit.ts b/src/audits/school/informative/securityAudit.ts index 1e58da9f..0203c690 100644 --- a/src/audits/school/informative/securityAudit.ts +++ b/src/audits/school/informative/securityAudit.ts @@ -41,7 +41,7 @@ class LoadAudit extends Audit { result: "Questo audit produce un risultato solo quando viene effettuato su un sito pubblicato online.", }, - ], + ] ), }; } diff --git a/src/audits/school/licenseAndAttributionAudit.ts b/src/audits/school/licenseAndAttributionAudit.ts index 84bc3e0f..1735f68e 100644 --- a/src/audits/school/licenseAndAttributionAudit.ts +++ b/src/audits/school/licenseAndAttributionAudit.ts @@ -33,7 +33,7 @@ class LoadAudit extends Audit { static async audit( artifacts: LH.Artifacts & { origin: string; - }, + } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; let score = 0; diff --git a/src/audits/school/menuAudit.ts b/src/audits/school/menuAudit.ts index baa9ef47..43ccb954 100644 --- a/src/audits/school/menuAudit.ts +++ b/src/audits/school/menuAudit.ts @@ -38,7 +38,7 @@ class LoadAudit extends lighthouse.Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; @@ -99,7 +99,7 @@ class LoadAudit extends lighthouse.Audit { { result: auditData.nonExecuted, }, - ], + ] ), }; } @@ -107,7 +107,7 @@ class LoadAudit extends lighthouse.Audit { const foundMenuElements = await getPageElementDataAttribute( $, menuDataElement, - "> li > a", + "> li > a" ); results[0].found_menu_voices = foundMenuElements.join(", "); @@ -118,18 +118,18 @@ class LoadAudit extends lighthouse.Audit { (str) => ({ name: str, regExp: new RegExp(`^${str}$`, "i"), - }), + }) ); const missingMandatoryElements = missingMenuItems( foundMenuElements, - mandatoryPrimaryMenuItems, + mandatoryPrimaryMenuItems ); results[0].missing_menu_voices = missingMandatoryElements.join(", "); const orderResult = checkOrder( mandatoryPrimaryMenuItems, - foundMenuElements, + foundMenuElements ); results[0].wrong_order_menu_voices = orderResult.elementsNotInSequence.join(", "); @@ -138,7 +138,7 @@ class LoadAudit extends lighthouse.Audit { missingMandatoryElements.length === 0; const mandatoryElementsCorrectOrder = correctOrderMandatoryElements( foundMenuElements, - mandatoryPrimaryMenuItems, + mandatoryPrimaryMenuItems ); if ( @@ -203,7 +203,7 @@ module.exports = LoadAudit; function correctOrderMandatoryElements( menuElements: string[], - mandatoryElements: MenuItem[], + mandatoryElements: MenuItem[] ): boolean { let result = true; diff --git a/src/audits/school/menuScuolaSecondLevelAudit.ts b/src/audits/school/menuScuolaSecondLevelAudit.ts index 62bedf05..081864f2 100644 --- a/src/audits/school/menuScuolaSecondLevelAudit.ts +++ b/src/audits/school/menuScuolaSecondLevelAudit.ts @@ -43,7 +43,7 @@ class LoadAudit extends Audit { static async audit( artifacts: LH.Artifacts & { origin: string; - }, + } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; @@ -97,7 +97,7 @@ class LoadAudit extends Audit { const foundMenuElements = await getPageElementDataAttribute( $, '[data-element="menu"]', - "> li > a", + "> li > a" ); const lang = detectLang(foundMenuElements); @@ -106,7 +106,7 @@ class LoadAudit extends Audit { const overviewText = ( await getPageElementDataAttribute( $, - `[data-element="${primaryMenuDataElement}"]`, + `[data-element="${primaryMenuDataElement}"]` ) )[0]; @@ -122,7 +122,7 @@ class LoadAudit extends Audit { const headerUlTest = await getPageElementDataAttribute( $, menuDataElement, - "a", + "a" ); if (headerUlTest.length === 0) { @@ -134,7 +134,7 @@ class LoadAudit extends Audit { { result: auditData.nonExecuted, }, - ], + ] ), }; } @@ -142,7 +142,7 @@ class LoadAudit extends Audit { for (const element of headerUlTest) { if (element !== overviewText) { const allowed = secondaryMenuItem.dictionary[lang].map((s) => - s.toLowerCase(), + s.toLowerCase() ); if (allowed.includes(element.toLowerCase())) { item.pagesInVocabulary.push(element); @@ -161,7 +161,7 @@ class LoadAudit extends Audit { const headerUlTest = await getPageElementDataAttribute( $, `[data-element="${customPrimaryMenuItemsDataElement}"]`, - "a", + "a" ); if (headerUlTest.length > 0) { @@ -202,7 +202,7 @@ class LoadAudit extends Audit { ( (pagesInVocabulary / (totalNumberOfTitleFound + errorVoices.length)) * 100 - ).toFixed(0), + ).toFixed(0) ); let score = 0; diff --git a/src/audits/school/privacyAudit.ts b/src/audits/school/privacyAudit.ts index f560921f..110edd08 100644 --- a/src/audits/school/privacyAudit.ts +++ b/src/audits/school/privacyAudit.ts @@ -25,7 +25,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; @@ -70,7 +70,7 @@ class LoadAudit extends Audit { const $: CheerioAPI = await loadPageData(url); const privacyPolicyElement = $("footer").find( - '[data-element="privacy-policy-link"]', + '[data-element="privacy-policy-link"]' ); const elementObj = $(privacyPolicyElement).attr(); items[0].link_name = privacyPolicyElement.text().trim() ?? ""; diff --git a/src/audits/school/securityAudit.ts b/src/audits/school/securityAudit.ts index 8a962dcd..bb18f7d4 100644 --- a/src/audits/school/securityAudit.ts +++ b/src/audits/school/securityAudit.ts @@ -24,7 +24,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const origin = artifacts.origin; diff --git a/src/audits/school/serviziAudit.ts b/src/audits/school/serviziAudit.ts index eedb57fc..35e1d3bf 100644 --- a/src/audits/school/serviziAudit.ts +++ b/src/audits/school/serviziAudit.ts @@ -57,7 +57,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise { const url = artifacts.origin; @@ -121,7 +121,7 @@ class LoadAudit extends Audit { { result: notExecutedErrorMessage.replace("", ex.message), }, - ], + ] ), }; } @@ -153,7 +153,7 @@ class LoadAudit extends Audit { let errorMessage = ex.message; errorMessage = errorMessage.substring( errorMessage.indexOf('"') + 1, - errorMessage.lastIndexOf('"'), + errorMessage.lastIndexOf('"') ); pagesInError.push({ @@ -188,12 +188,12 @@ class LoadAudit extends Audit { } indexElements = indexElements.filter((value) => - indexElementsWithContent.includes(value), + indexElementsWithContent.includes(value) ); let missingMandatoryItems = missingMenuItems( indexElements, - mandatoryMenuItems, + mandatoryMenuItems ); const title = $('[data-element="service-title"]').text().trim() ?? ""; @@ -210,13 +210,13 @@ class LoadAudit extends Audit { let breadcrumbElements = await getPageElementDataAttribute( $, '[data-element="breadcrumb"]', - "li", + "li" ); breadcrumbElements = breadcrumbElements.map((x) => x .replaceAll(/[^a-zA-Z0-9 ]/g, "") .trim() - .toLowerCase(), + .toLowerCase() ); if (!checkBreadcrumb(breadcrumbElements)) { @@ -225,7 +225,7 @@ class LoadAudit extends Audit { const argumentsTag = await getPageElementDataAttribute( $, - '[data-element="topic-list"]', + '[data-element="topic-list"]' ); if (argumentsTag.length <= 0) { missingMandatoryItems.push(mandatoryHeaderVoices[3]); @@ -239,7 +239,7 @@ class LoadAudit extends Audit { const responsibleStructure = await getPageElementDataAttribute( $, '[data-element="structures"]', - "a", + "a" ); if (responsibleStructure.length <= 0) { missingMandatoryItems.push(mandatoryBodyVoices[1]); @@ -398,12 +398,12 @@ module.exports = LoadAudit; async function getServicesFromIndex( $: CheerioAPI, - mandatoryElements: string[], + mandatoryElements: string[] ): Promise { const indexList = await getPageElementDataAttribute( $, '[data-element="page-index"]', - "> li > a", + "> li > a" ); const returnValues = []; @@ -432,7 +432,7 @@ async function getPlaceInfo($: CheerioAPI, mandatoryElements: string[]) { const gps = await getElementHrefValuesDataAttribute( $, '[data-element="places"]', - "a", + "a" ); let gpsLabel = ""; let gpsValue = ""; @@ -472,7 +472,7 @@ async function getPlaceInfo($: CheerioAPI, mandatoryElements: string[]) { !labelText.match("(ora)") && (labelValue.match("^(2[0-3]|[01]?[0-9]):([0-5]?[0-9])$") || labelValue.match( - "^(2[0-3]|[01]?[0-9]):([0-5]?[0-9]):([0-5]?[0-9])$", + "^(2[0-3]|[01]?[0-9]):([0-5]?[0-9]):([0-5]?[0-9])$" )) ) { j++; diff --git a/src/audits/school/themeVersionCheckAudit.ts b/src/audits/school/themeVersionCheckAudit.ts index bf475511..11fdd337 100644 --- a/src/audits/school/themeVersionCheckAudit.ts +++ b/src/audits/school/themeVersionCheckAudit.ts @@ -32,7 +32,7 @@ class LoadAudit extends Audit { } static async audit( - artifacts: LH.Artifacts & { origin: string }, + artifacts: LH.Artifacts & { origin: string } ): Promise<{ score: number; details: LH.Audit.Details.Table }> { const url = artifacts.origin; diff --git a/src/controller/launchLighthouse.ts b/src/controller/launchLighthouse.ts index 0bb87229..0ac8bccf 100644 --- a/src/controller/launchLighthouse.ts +++ b/src/controller/launchLighthouse.ts @@ -34,7 +34,7 @@ const run = async ( view = false, accuracy = "suggested", requestTimeout = 30000, - numberOfServicePages?: number, + numberOfServicePages?: number ) => { process.env["accuracy"] = accuracy; if (numberOfServicePages) { @@ -71,7 +71,7 @@ const run = async ( const runnerResult: RunnerResult = await lighthouse( website, options, - loadConfig, + loadConfig ); if (runnerResult.report.length != 2) { diff --git a/src/index.ts b/src/index.ts index a7704bbb..c0f03336 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,7 +8,7 @@ import { hideBin } from "yargs/helpers"; const parser = yargs(hideBin(process.argv)) .usage( - "Usage: --type --destination --report --website --scope ", + "Usage: --type --destination --report --website --scope " ) .option("type", { describe: "Crawler to run", @@ -85,7 +85,7 @@ try { "view" in args, args.accuracy, args.timeout, - args["number-of-service-pages"], + args["number-of-service-pages"] ); console.log("[INFO] Status result:", result.status); diff --git a/src/utils/cookieAuditLogic.ts b/src/utils/cookieAuditLogic.ts index 43dc4765..afc494ab 100644 --- a/src/utils/cookieAuditLogic.ts +++ b/src/utils/cookieAuditLogic.ts @@ -10,7 +10,7 @@ import { gotoRetry, requestTimeout } from "./utils"; import { errorHandling } from "../config/commonAuditsParts"; const run = async ( - url: string, + url: string // eslint-disable-next-line @typescript-eslint/no-explicit-any ) => { const items = []; @@ -52,7 +52,7 @@ const run = async ( await browser.close(); throw new Error( - `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.`, + `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.` ); } @@ -75,7 +75,7 @@ const run = async ( async function checkCookieDomain( url: string, - cookies: Protocol.Network.Cookie[], + cookies: Protocol.Network.Cookie[] // eslint-disable-next-line @typescript-eslint/no-explicit-any ): Promise { const returnValue = []; diff --git a/src/utils/municipality/utils.ts b/src/utils/municipality/utils.ts index 07152b30..1b005f5c 100644 --- a/src/utils/municipality/utils.ts +++ b/src/utils/municipality/utils.ts @@ -34,7 +34,7 @@ const cacheResults = new LRUCache({ max: 100 }); const getRandomFirstLevelPagesUrl = async ( url: string, - numberOfPages = 1, + numberOfPages = 1 ): Promise => { const pages = await getFirstLevelPages(url, true); @@ -47,7 +47,7 @@ const getRandomFirstLevelPagesUrl = async ( const getFirstLevelPages = async ( url: string, - custom: boolean, + custom: boolean ): Promise => { const $ = await loadPageData(url); let pagesUrls: pageLink[] = []; @@ -103,7 +103,7 @@ const getFirstLevelPages = async ( const getRandomSecondLevelPagesUrl = async ( url: string, - numberOfPages = 1, + numberOfPages = 1 ): Promise => { const $ = await loadPageData(url); let pagesUrls: string[] = []; @@ -145,7 +145,7 @@ const getRandomSecondLevelPagesUrl = async ( const dataElementSecondaryItem = `[data-element="${dataElementSecondary}"]`; secondPageUrls = await getHREFValuesDataAttribute( $2, - dataElementSecondaryItem, + dataElementSecondaryItem ); } else { for (const secondaryItemDataElement of primaryMenuItem.secondary_item_data_element) { @@ -154,7 +154,7 @@ const getRandomSecondLevelPagesUrl = async ( const buttonUrl = await getButtonUrl( $2, url, - dataElementSecondaryItem, + dataElementSecondaryItem ); if (buttonUrl !== "") { secondPageUrls.push(buttonUrl); @@ -169,7 +169,7 @@ const getRandomSecondLevelPagesUrl = async ( ) { secondPageUrls[i] = await buildUrl( primaryLevelPageUrl, - secondPageUrls[i], + secondPageUrls[i] ); } } @@ -187,7 +187,7 @@ const getRandomSecondLevelPagesUrl = async ( const getSecondLevelPages = async ( url: string, - custom: boolean, + custom: boolean ): Promise => { const $ = await loadPageData(url); const pages: municipalitySecondLevelPages = { @@ -254,7 +254,7 @@ const getSecondLevelPages = async ( ) { secondPageUrl = await buildUrl( primaryLevelPageUrl, - secondPageUrl, + secondPageUrl ); } @@ -274,7 +274,7 @@ const getSecondLevelPages = async ( let buttonUrl = await getButtonUrl( $2, url, - dataElementSecondaryItem, + dataElementSecondaryItem ); if ( (await isInternalUrl(buttonUrl)) && @@ -307,7 +307,7 @@ const getRandomThirdLevelPagesUrl = async ( url: string, pageUrl: string, linkDataElement: string, - numberOfPages = 1, + numberOfPages = 1 ) => { if (pageUrl.length === 0) { return []; @@ -338,7 +338,7 @@ const getRandomThirdLevelPagesUrl = async ( const res = await gotoRetry( page, pageUrl, - errorHandling.gotoRetryTentative, + errorHandling.gotoRetryTentative ); console.log(res?.url(), res?.status()); @@ -348,7 +348,7 @@ const getRandomThirdLevelPagesUrl = async ( try { clickButton = await page.evaluate(() => { const button = document.querySelector( - '[data-element="load-other-cards"]', + '[data-element="load-other-cards"]' ) as HTMLElement; if (!button) { return false; @@ -392,7 +392,7 @@ const getRandomThirdLevelPagesUrl = async ( console.error(`ERROR ${pageUrl}: ${ex}`); await browser.close(); throw new Error( - `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.`, + `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.` ); } @@ -420,7 +420,7 @@ const getRandomThirdLevelPagesUrl = async ( const pagerPagesUrls = [ ...new Set( - await getHREFValuesDataAttribute($, '[data-element="pager-link"]'), + await getHREFValuesDataAttribute($, '[data-element="pager-link"]') ), ]; for (const pagerPageUrl of pagerPagesUrls) { @@ -449,7 +449,7 @@ const getPrimaryPageUrl = async (url: string, dataElement: string) => { const pageElements = await getHREFValuesDataAttribute( $, - `[data-element="${dataElement}"]`, + `[data-element="${dataElement}"]` ); if (pageElements.length <= 0) { return ""; @@ -501,7 +501,7 @@ const checkFeedbackComponent = async (url: string) => { //Check if component is present const feedbackComponent = document.querySelector( - `[data-element="${feedbackComponentStructure.component.dataElement}"]`, + `[data-element="${feedbackComponentStructure.component.dataElement}"]` ); if (!feedbackComponent) { errors.push(feedbackComponentStructure.component.missingError); @@ -514,7 +514,7 @@ const checkFeedbackComponent = async (url: string) => { //Check title present const feedbackTitleElement = feedbackComponent.querySelector( - `[data-element="${feedbackComponentStructure.title.dataElement}"]`, + `[data-element="${feedbackComponentStructure.title.dataElement}"]` ); if (!feedbackTitleElement) { if (score > 0.5) score = 0.5; @@ -534,7 +534,7 @@ const checkFeedbackComponent = async (url: string) => { //check input text const feedbackInputText = feedbackComponent.querySelector( - `[data-element="${feedbackComponentStructure.input_text.dataElement}"]`, + `[data-element="${feedbackComponentStructure.input_text.dataElement}"]` ); if (!feedbackInputText) { if (score > 0.5) score = 0.5; @@ -554,7 +554,7 @@ const checkFeedbackComponent = async (url: string) => { ) { try { const feedbackComponentRate = await page.$( - `[data-element="${feedbackComponentStructure.rate.dataElement + i}"]`, + `[data-element="${feedbackComponentStructure.rate.dataElement + i}"]` ); await page.waitForNetworkIdle(); await feedbackComponentRate?.click({ @@ -578,16 +578,16 @@ const checkFeedbackComponent = async (url: string) => { let checkRateComponentAssociation = true; //false if the association between rating input and rating components is incorrect const feedbackRatingPositiveElement = document.querySelector( - `[data-element="${feedbackComponentStructure.positive_rating.dataElement}"]`, + `[data-element="${feedbackComponentStructure.positive_rating.dataElement}"]` ) as HTMLElement; const feedbackRatingNegativeElement = document.querySelector( - `[data-element="${feedbackComponentStructure.negative_rating.dataElement}"]`, + `[data-element="${feedbackComponentStructure.negative_rating.dataElement}"]` ) as HTMLElement; const feedbackRateElement = document.querySelector( `[data-element="${ feedbackComponentStructure.rate.dataElement + i - }"]`, + }"]` ) as HTMLElement; if (feedbackRateElement && !existsRateComponents) { existsRateComponents = true; @@ -656,7 +656,7 @@ const checkFeedbackComponent = async (url: string) => { const feedbackPositiveRect = feedbackRatingPositiveElement.getBoundingClientRect(); const feedbackPositiveStyle = window.getComputedStyle( - feedbackRatingPositiveElement, + feedbackRatingPositiveElement ); const feedbackPositiveVisible = feedbackRatingPositiveElement.offsetParent && @@ -669,7 +669,7 @@ const checkFeedbackComponent = async (url: string) => { const feedbackNegativeRect = feedbackRatingNegativeElement.getBoundingClientRect(); const feedbackNegativeStyle = window.getComputedStyle( - feedbackRatingNegativeElement, + feedbackRatingNegativeElement ); const feedbackNegativeVisible = feedbackRatingNegativeElement.offsetParent && @@ -697,19 +697,19 @@ const checkFeedbackComponent = async (url: string) => { if (!feedbackRatingNegativeElement) { if (score > 0.5) score = 0.5; errors.push( - feedbackComponentStructure.negative_rating.missingError, + feedbackComponentStructure.negative_rating.missingError ); } else { const feedbackRatingNegativeQuestionElement = feedbackRatingNegativeElement.querySelector( - `[data-element="${feedbackComponentStructure.negative_rating.question.dataElement}"]`, + `[data-element="${feedbackComponentStructure.negative_rating.question.dataElement}"]` ); if (!feedbackRatingNegativeQuestionElement) { if (score > 0.5) score = 0.5; errors.push( feedbackComponentStructure.negative_rating.question - .missingError, + .missingError ); } @@ -723,13 +723,13 @@ const checkFeedbackComponent = async (url: string) => { ) { if (score > 0) score = 0; errors.push( - feedbackComponentStructure.negative_rating.question.error, + feedbackComponentStructure.negative_rating.question.error ); } const feedbackRatingNegativeAnswersElements = feedbackRatingNegativeElement.querySelectorAll( - `[data-element="${feedbackComponentStructure.negative_rating.answers.dataElement}"]`, + `[data-element="${feedbackComponentStructure.negative_rating.answers.dataElement}"]` ); if (feedbackRatingNegativeAnswersElements) { @@ -744,14 +744,14 @@ const checkFeedbackComponent = async (url: string) => { const lowerCasedVocabulary = feedbackComponentStructure.negative_rating.answers.texts.map( - (vocabularyElements) => vocabularyElements.toLowerCase(), + (vocabularyElements) => vocabularyElements.toLowerCase() ); let allCorrectAnswers = true; for (const feedbackRatingNegativeAnswer of feedbackRatingNegativeAnswers) { if ( lowerCasedVocabulary.indexOf( - feedbackRatingNegativeAnswer.toLowerCase(), + feedbackRatingNegativeAnswer.toLowerCase() ) === -1 ) { allCorrectAnswers = false; @@ -762,7 +762,7 @@ const checkFeedbackComponent = async (url: string) => { if (score > 0.5) score = 0.5; errors.push( feedbackComponentStructure.negative_rating.answers - .missingError, + .missingError ); } @@ -772,7 +772,7 @@ const checkFeedbackComponent = async (url: string) => { ) { if (score > 0) score = 0; errors.push( - feedbackComponentStructure.negative_rating.answers.error, + feedbackComponentStructure.negative_rating.answers.error ); } } @@ -783,19 +783,19 @@ const checkFeedbackComponent = async (url: string) => { if (!feedbackRatingPositiveElement) { if (score > 0.5) score = 0.5; errors.push( - feedbackComponentStructure.positive_rating.missingError, + feedbackComponentStructure.positive_rating.missingError ); } else { const feedbackRatingPositiveQuestionElement = feedbackRatingPositiveElement.querySelector( - `[data-element="${feedbackComponentStructure.positive_rating.question.dataElement}"]`, + `[data-element="${feedbackComponentStructure.positive_rating.question.dataElement}"]` ); if (!feedbackRatingPositiveQuestionElement) { if (score > 0.5) score = 0.5; errors.push( feedbackComponentStructure.positive_rating.question - .missingError, + .missingError ); } @@ -809,13 +809,13 @@ const checkFeedbackComponent = async (url: string) => { ) { if (score > 0) score = 0; errors.push( - feedbackComponentStructure.positive_rating.question.error, + feedbackComponentStructure.positive_rating.question.error ); } const feedbackRatingPositiveAnswersElements = feedbackRatingPositiveElement.querySelectorAll( - `[data-element="${feedbackComponentStructure.positive_rating.answers.dataElement}"]`, + `[data-element="${feedbackComponentStructure.positive_rating.answers.dataElement}"]` ); if (feedbackRatingPositiveAnswersElements) { @@ -830,14 +830,14 @@ const checkFeedbackComponent = async (url: string) => { const lowerCasedVocabulary = feedbackComponentStructure.positive_rating.answers.texts.map( - (vocabularyElements) => vocabularyElements.toLowerCase(), + (vocabularyElements) => vocabularyElements.toLowerCase() ); let allCorrectAnswers = true; for (const feedbackRatingPositiveAnswer of feedbackRatingPositiveAnswers) { if ( lowerCasedVocabulary.indexOf( - feedbackRatingPositiveAnswer.toLowerCase(), + feedbackRatingPositiveAnswer.toLowerCase() ) === -1 ) { allCorrectAnswers = false; @@ -848,7 +848,7 @@ const checkFeedbackComponent = async (url: string) => { if (score > 0.5) score = 0.5; errors.push( feedbackComponentStructure.positive_rating.answers - .missingError, + .missingError ); } @@ -858,7 +858,7 @@ const checkFeedbackComponent = async (url: string) => { ) { if (score > 0) score = 0; errors.push( - feedbackComponentStructure.positive_rating.answers.error, + feedbackComponentStructure.positive_rating.answers.error ); } } @@ -890,7 +890,7 @@ const checkFeedbackComponent = async (url: string) => { }; }, feedbackComponentStructure, - i, + i ); returnValues.errors = [ ...returnValues.errors, @@ -908,7 +908,7 @@ const checkFeedbackComponent = async (url: string) => { console.error(`ERROR ${url}: ${ex}`); await browser.close(); throw new Error( - `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.`, + `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.` ); } @@ -922,7 +922,7 @@ const checkFeedbackComponent = async (url: string) => { const getButtonUrl = async ( $: CheerioAPI, url: string, - dataElement: string, + dataElement: string ) => { const button = $(dataElement).attr(); if ( @@ -934,7 +934,7 @@ const getButtonUrl = async ( const onClick: string = button.onclick; let secondPageLink = onClick.substring( onClick.indexOf("'") + 1, - onClick.lastIndexOf("'"), + onClick.lastIndexOf("'") ); if (!secondPageLink.includes(url)) { secondPageLink = await buildUrl(url, secondPageLink); @@ -993,7 +993,7 @@ const isDrupal = async (url: string): Promise => { const getPages = async ( url: string, requests: requestPages[], - removeExternal = true, + removeExternal = true ): Promise => { let pagesUrl: string[] = []; const missingDataElements: string[] = []; @@ -1001,32 +1001,32 @@ const getPages = async ( for (const request of requests) { try { let requestedPages = cacheResults.get( - request.type + "-" + request.numberOfPages, + request.type + "-" + request.numberOfPages ); if (requestedPages === undefined) { switch (request.type) { case "first_level_pages": { requestedPages = await getRandomFirstLevelPagesUrl( url, - request.numberOfPages, + request.numberOfPages ); break; } case "second_level_pages": { requestedPages = await getRandomSecondLevelPagesUrl( url, - request.numberOfPages, + request.numberOfPages ); break; } case "services_page": { const servicesPage = await getPrimaryPageUrl( url, - primaryMenuItems.services.data_element, + primaryMenuItems.services.data_element ); if (servicesPage === "") { throw new DataElementError( - primaryMenuItems.services.data_element, + primaryMenuItems.services.data_element ); } requestedPages = [servicesPage]; @@ -1035,11 +1035,11 @@ const getPages = async ( case "services": { const allServicePage = await getPrimaryPageUrl( url, - primaryMenuItems.services.data_element, + primaryMenuItems.services.data_element ); if (allServicePage.length === 0) { throw new DataElementError( - primaryMenuItems.services.data_element, + primaryMenuItems.services.data_element ); } @@ -1047,11 +1047,11 @@ const getPages = async ( url, allServicePage, `[data-element="${primaryMenuItems.services.third_item_data_element}"]`, - request.numberOfPages, + request.numberOfPages ); if (randomServicesUrl.length === 0) { throw new DataElementError( - primaryMenuItems.services.third_item_data_element, + primaryMenuItems.services.third_item_data_element ); } requestedPages = randomServicesUrl; @@ -1060,7 +1060,7 @@ const getPages = async ( case "events": { const primaryPageUrl = await getPrimaryPageUrl( url, - primaryMenuItems.live.data_element, + primaryMenuItems.live.data_element ); if (!primaryPageUrl) { @@ -1072,10 +1072,10 @@ const getPages = async ( await getButtonUrl( await loadPageData(primaryPageUrl), url, - `[data-element="${primaryMenuItems.live.secondary_item_data_element[1]}"]`, + `[data-element="${primaryMenuItems.live.secondary_item_data_element[1]}"]` ), `[data-element="${primaryMenuItems.live.third_item_data_element}"]`, - request.numberOfPages, + request.numberOfPages ); break; @@ -1083,17 +1083,17 @@ const getPages = async ( case "booking_appointment": { const servicesPage = await getPrimaryPageUrl( url, - primaryMenuItems.services.data_element, + primaryMenuItems.services.data_element ); if (servicesPage === "") { throw new DataElementError( - primaryMenuItems.services.data_element, + primaryMenuItems.services.data_element ); } const bookingAppointmentPage = await getPrimaryPageUrl( servicesPage, - "appointment-booking", + "appointment-booking" ); if (bookingAppointmentPage === "") { throw new DataElementError("appointment-booking"); @@ -1104,7 +1104,7 @@ const getPages = async ( case "personal_area_login": { const personalAreaLoginPageUrl = await getPrimaryPageUrl( url, - "personal-area-login", + "personal-area-login" ); if (personalAreaLoginPageUrl !== "") { requestedPages = [personalAreaLoginPageUrl]; @@ -1118,7 +1118,7 @@ const getPages = async ( } cacheResults.set( request.type + "-" + request.numberOfPages, - requestedPages, + requestedPages ); } pagesUrl = [...pagesUrl, ...requestedPages]; diff --git a/src/utils/school/utils.ts b/src/utils/school/utils.ts index fe48c046..5e82508c 100644 --- a/src/utils/school/utils.ts +++ b/src/utils/school/utils.ts @@ -23,7 +23,7 @@ const cacheResults = new LRUCache({ max: 100 }); const getRandomFirstLevelPagesUrl = async ( url: string, - numberOfPages = 1, + numberOfPages = 1 ): Promise => { const $ = await loadPageData(url); @@ -31,8 +31,8 @@ const getRandomFirstLevelPagesUrl = async ( ...new Set( await getHREFValuesDataAttribute( $, - `[data-element="${primaryMenuDataElement}"]`, - ), + `[data-element="${primaryMenuDataElement}"]` + ) ), ]; @@ -84,7 +84,7 @@ const getFirstLevelPages = async (url: string): Promise => { const getRandomSecondLevelPagesUrl = async ( url: string, - numberOfPages = 1, + numberOfPages = 1 ): Promise => { let pagesUrls: string[] = []; const $ = await loadPageData(url); @@ -120,7 +120,7 @@ const getRandomSecondLevelPagesUrl = async ( } const secondLevelPageHost = new URL( - secondLevelPageUrl, + secondLevelPageUrl ).hostname.replace("www.", ""); if (secondLevelPageHost.includes(host)) { @@ -188,13 +188,13 @@ const getSecondLevelPages = async (url: string): Promise => { const getRandomServicesUrl = async ( url: string, - numberOfServices = 1, + numberOfServices = 1 ): Promise => { let $ = await loadPageData(url); let serviceTypeUrls = await getHREFValuesDataAttribute( $, - '[data-element="service-type"]', + '[data-element="service-type"]' ); if (serviceTypeUrls.length <= 0) { throw new DataElementError("service-type"); @@ -221,7 +221,7 @@ const getRandomServicesUrl = async ( ...servicesUrls, ...(await getHREFValuesDataAttribute( $, - '[data-element="service-link"]', + '[data-element="service-link"]' )), ]; @@ -229,7 +229,7 @@ const getRandomServicesUrl = async ( const pagerPagesUrls = [ ...new Set( - await getHREFValuesDataAttribute($, '[data-element="pager-link"]'), + await getHREFValuesDataAttribute($, '[data-element="pager-link"]') ), ]; for (const pagerPageUrl of pagerPagesUrls) { @@ -260,7 +260,7 @@ const getRandomServicesUrl = async ( // Exclude external services const host = new URL(url).hostname.replace("www.", ""); const internalServiceUrls = servicesUrls.filter((s) => - new URL(s).hostname.replace("www.", "").includes(host), + new URL(s).hostname.replace("www.", "").includes(host) ); return getRandomNString(internalServiceUrls, numberOfServices); @@ -268,7 +268,7 @@ const getRandomServicesUrl = async ( const getRandomLocationsUrl = async ( url: string, - numberOfPages = 1, + numberOfPages = 1 ): Promise => { let $ = await loadPageData(url); @@ -290,7 +290,7 @@ const getRandomLocationsUrl = async ( const pagesUrls = await getHREFValuesDataAttribute( $, - '[data-element="location-link"]', + '[data-element="location-link"]' ); for (let i = 0; i < pagesUrls.length; i++) { @@ -306,7 +306,7 @@ const getRandomLocationsUrl = async ( const detectLang = (entries: string[]): "it" | "de" | "lld_ga" | "lld_ba" => { const comp = (str: string, items: string[]): boolean => items.some( - (e) => e.localeCompare(str, "it", { sensitivity: "base" }) === 0, + (e) => e.localeCompare(str, "it", { sensitivity: "base" }) === 0 ); for (const entry of entries) { @@ -321,7 +321,7 @@ const detectLang = (entries: string[]): "it" | "de" | "lld_ga" | "lld_ba" => { const getPages = async ( url: string, requests: requestPages[], - removeExternal = true, + removeExternal = true ): Promise => { let pagesUrl: string[] = []; const missingDataElements: string[] = []; @@ -329,35 +329,35 @@ const getPages = async ( for (const request of requests) { try { let requestedPages = cacheResults.get( - request.type + "-" + request.numberOfPages, + request.type + "-" + request.numberOfPages ); if (requestedPages === undefined) { switch (request.type) { case "first_level_pages": { requestedPages = await getRandomFirstLevelPagesUrl( url, - request.numberOfPages, + request.numberOfPages ); break; } case "second_level_pages": { requestedPages = await getRandomSecondLevelPagesUrl( url, - request.numberOfPages, + request.numberOfPages ); break; } case "services": { requestedPages = await getRandomServicesUrl( url, - request.numberOfPages, + request.numberOfPages ); break; } case "locations": { requestedPages = await getRandomLocationsUrl( url, - request.numberOfPages, + request.numberOfPages ); break; } @@ -367,7 +367,7 @@ const getPages = async ( cacheResults.set( request.type + "-" + request.numberOfPages, - requestedPages, + requestedPages ); } pagesUrl = [...pagesUrl, ...requestedPages]; diff --git a/src/utils/securityAuditLogic.ts b/src/utils/securityAuditLogic.ts index f10347e6..65af9a46 100644 --- a/src/utils/securityAuditLogic.ts +++ b/src/utils/securityAuditLogic.ts @@ -30,7 +30,7 @@ const errorLogging = [ const run = async ( url: string, // eslint-disable-next-line @typescript-eslint/no-explicit-any - auditData: any, + auditData: any ): Promise<{ score: number; details: LH.Audit.Details.Table }> => { const greenResult = auditData.greenResult.replace("[url]", url); const redResult = auditData.redResult.replace("[url]", url); @@ -183,7 +183,7 @@ const run = async ( const res = await gotoRetry( page, "http://" + urlNoProtocol, - errorHandling.gotoRetryTentative, + errorHandling.gotoRetryTentative ); console.log(res?.url(), res?.status()); @@ -202,7 +202,7 @@ const run = async ( console.error(`ERROR ${url}: ${ex}`); await browser.close(); throw new Error( - `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.`, + `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.` ); } @@ -225,7 +225,7 @@ async function getProtocol(url: string): Promise { } async function checkCertificateValidation( - url: string, + url: string ): Promise<{ valid: boolean; valid_from: string; valid_to: string }> { const returnObj = { valid: false, @@ -258,7 +258,7 @@ async function checkCertificateValidation( } async function checkTLSVersion( - url: string, + url: string ): Promise<{ valid: boolean; tls_version: string }> { const returnObj = { valid: false, @@ -282,7 +282,7 @@ async function checkTLSVersion( } async function checkCipherSuite( - url: string, + url: string ): Promise<{ valid: boolean; version: string }> { const returnObj = { valid: false, diff --git a/src/utils/utils.ts b/src/utils/utils.ts index de66a46a..ef3bc0d4 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -73,7 +73,7 @@ const loadPageData = async (url: string, wait = false): Promise => { console.error(`ERROR ${url}: ${ex}`); await browser.close(); throw new Error( - `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.`, + `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.` ); } }; @@ -81,7 +81,7 @@ const loadPageData = async (url: string, wait = false): Promise => { const gotoRetry = async ( page: Page, url: string, - retryCount: number, + retryCount: number ): Promise => { try { let response = await page.goto(url, { @@ -127,7 +127,7 @@ const gotoRetry = async ( throw error; } console.log( - `${url} goto tentative: ${errorHandling.gotoRetryTentative - retryCount}`, + `${url} goto tentative: ${errorHandling.gotoRetryTentative - retryCount}` ); return await gotoRetry(page, url, retryCount - 1); } @@ -136,7 +136,7 @@ const gotoRetry = async ( const getPageElementDataAttribute = async ( $: CheerioAPI, elementDataAttribute: string, - tag = "", + tag = "" ): Promise => { const returnValues: string[] = []; @@ -167,7 +167,7 @@ const getPageElementDataAttribute = async ( const getElementHrefValuesDataAttribute = async ( $: CheerioAPI, elementDataAttribute: string, - tag = "", + tag = "" ): Promise | []> => { const elements = $(elementDataAttribute); @@ -198,7 +198,7 @@ const getElementHrefValuesDataAttribute = async ( const getHREFValuesDataAttribute = async ( $: CheerioAPI, - elementDataAttribute: string, + elementDataAttribute: string ): Promise => { const serviceUrls = []; @@ -239,13 +239,13 @@ const toMenuItem = (str: string): MenuItem => ({ const checkOrder = ( mandatoryElements: MenuItem[], - foundElements: string[], + foundElements: string[] ): orderType => { const newMandatoryElements = mandatoryElements.filter((e) => - foundElements.some((f) => e.regExp.test(f)), + foundElements.some((f) => e.regExp.test(f)) ); const newFoundElements = foundElements.filter((e) => - newMandatoryElements.some((f) => f.regExp.test(e)), + newMandatoryElements.some((f) => f.regExp.test(e)) ); let numberOfElementsNotInSequence = 0; const elementsNotInSequence = []; @@ -253,7 +253,7 @@ const checkOrder = ( //The first element is always in the right order for (let i = 1; i < newFoundElements.length; i++) { const indexInMandatory = newMandatoryElements.findIndex((e) => - e.regExp.test(newFoundElements[i]), + e.regExp.test(newFoundElements[i]) ); let isInSequence = true; @@ -262,7 +262,7 @@ const checkOrder = ( isInSequence = false; } else if ( !newMandatoryElements[indexInMandatory + 1].regExp.test( - newFoundElements[i + 1], + newFoundElements[i + 1] ) ) { isInSequence = false; @@ -274,7 +274,7 @@ const checkOrder = ( isInSequence = false; } else if ( !newMandatoryElements[indexInMandatory - 1].regExp.test( - newFoundElements[i - 1], + newFoundElements[i - 1] ) ) { isInSequence = false; @@ -295,13 +295,13 @@ const checkOrder = ( const checkOrderLoose = ( mandatoryElements: MenuItem[], - foundElements: string[], + foundElements: string[] ): orderType => { const newMandatoryElements = mandatoryElements.filter((e) => - foundElements.some((f) => e.regExp.test(f)), + foundElements.some((f) => e.regExp.test(f)) ); const newFoundElements = foundElements.filter((e) => - newMandatoryElements.some((f) => f.regExp.test(e)), + newMandatoryElements.some((f) => f.regExp.test(e)) ); const elementsNotInSequence: string[] = []; @@ -313,7 +313,7 @@ const checkOrderLoose = ( checkOrderRecursive( correctArray.filter((el) => el.name !== checkArray[i]), - checkArray.filter((el) => el !== checkArray[i]), + checkArray.filter((el) => el !== checkArray[i]) ); return; } @@ -330,7 +330,7 @@ const checkOrderLoose = ( const missingMenuItems = ( menuElements: string[], - mandatoryElements: MenuItem[], + mandatoryElements: MenuItem[] ): string[] => mandatoryElements .filter((e) => menuElements.every((f) => !e.regExp.test(f))) @@ -339,7 +339,7 @@ const missingMenuItems = ( const urlExists = async ( url: string, href: string, - checkHttps = false, + checkHttps = false ): Promise<{ result: boolean; exception?: boolean; @@ -402,7 +402,7 @@ const urlExists = async ( }; const areAllElementsInVocabulary = async ( pageArguments: string[], - vocabularyElements: string[], + vocabularyElements: string[] ): Promise => { let result = true; @@ -411,7 +411,7 @@ const areAllElementsInVocabulary = async ( } const lowerCasedVocabulary = vocabularyElements.map((vocabularyElements) => - vocabularyElements.toLowerCase(), + vocabularyElements.toLowerCase() ); const elementNotIncluded = []; @@ -524,7 +524,7 @@ const getRedirectedUrl = async (url: string): Promise => { console.error(`ERROR ${url}: ${ex}`); await browser.close(); throw new Error( - `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.`, + `Il test è stato interrotto perché nella prima pagina analizzata ${url} si è verificato l'errore "${ex}". Verificarne la causa e rifare il test.` ); }