lighthouse 10.4.0-dev.20230716 → 10.4.0-dev.20230718
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/test/smokehouse/core-tests.js +0 -2
- package/core/audits/byte-efficiency/duplicated-javascript.js +2 -2
- package/core/audits/installable-manifest.d.ts +1 -5
- package/core/audits/installable-manifest.js +2 -7
- package/core/config/default-config.js +0 -2
- package/core/gather/driver/execution-context.d.ts +9 -9
- package/core/gather/driver/execution-context.js +24 -24
- package/core/gather/gatherers/dobetterweb/response-compression.js +8 -6
- package/core/lib/navigation-error.js +5 -0
- package/core/lib/page-functions.js +5 -6
- package/package.json +1 -1
- package/shared/localization/locales/ar-XB.json +0 -24
- package/shared/localization/locales/ar.json +0 -24
- package/shared/localization/locales/bg.json +0 -24
- package/shared/localization/locales/ca.json +0 -24
- package/shared/localization/locales/cs.json +0 -24
- package/shared/localization/locales/da.json +0 -24
- package/shared/localization/locales/de.json +0 -24
- package/shared/localization/locales/el.json +0 -24
- package/shared/localization/locales/en-GB.json +0 -24
- package/shared/localization/locales/en-US.json +1 -25
- package/shared/localization/locales/en-XA.json +0 -24
- package/shared/localization/locales/en-XL.json +1 -25
- package/shared/localization/locales/es-419.json +0 -24
- package/shared/localization/locales/es.json +0 -24
- package/shared/localization/locales/fi.json +0 -24
- package/shared/localization/locales/fil.json +0 -24
- package/shared/localization/locales/fr.json +0 -24
- package/shared/localization/locales/he.json +0 -24
- package/shared/localization/locales/hi.json +0 -24
- package/shared/localization/locales/hr.json +0 -24
- package/shared/localization/locales/hu.json +0 -24
- package/shared/localization/locales/id.json +0 -24
- package/shared/localization/locales/it.json +0 -24
- package/shared/localization/locales/ja.json +0 -24
- package/shared/localization/locales/ko.json +0 -24
- package/shared/localization/locales/lt.json +0 -24
- package/shared/localization/locales/lv.json +0 -24
- package/shared/localization/locales/nl.json +0 -24
- package/shared/localization/locales/no.json +0 -24
- package/shared/localization/locales/pl.json +0 -24
- package/shared/localization/locales/pt-PT.json +0 -24
- package/shared/localization/locales/pt.json +0 -24
- package/shared/localization/locales/ro.json +0 -24
- package/shared/localization/locales/ru.json +0 -24
- package/shared/localization/locales/sk.json +0 -24
- package/shared/localization/locales/sl.json +0 -24
- package/shared/localization/locales/sr-Latn.json +0 -24
- package/shared/localization/locales/sr.json +0 -24
- package/shared/localization/locales/sv.json +0 -24
- package/shared/localization/locales/ta.json +0 -24
- package/shared/localization/locales/te.json +0 -24
- package/shared/localization/locales/th.json +0 -24
- package/shared/localization/locales/tr.json +0 -24
- package/shared/localization/locales/uk.json +0 -24
- package/shared/localization/locales/vi.json +0 -24
- package/shared/localization/locales/zh-HK.json +0 -24
- package/shared/localization/locales/zh-TW.json +0 -24
- package/shared/localization/locales/zh.json +0 -24
- package/tsconfig.json +1 -0
- package/core/audits/service-worker.d.ts +0 -46
- package/core/audits/service-worker.js +0 -182
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "Sidan har ingen webbadress för <link> i manifestet"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "Ingen matchande tjänstefunktion hittades. Du kanske måste läsa in sidan igen eller kontrollera att tjänstefunktionens omfattning för den aktuella sidan inbegriper omfattningen och startwebbadressen i manifestet."
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "Det går inte att kontrollera tjänstefunktionen utan fältet start_url i manifestet."
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "Serverns första svarstid var kort"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "Tjänstefunktioner är en teknik som gör det möjligt att använda flera funktioner för progressiva webbappar i appen, till exempel offlineanvändning, pushmeddelanden och att lägga till den på startskärmen. [Läs mer om tjänstefunktioner](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)."
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "Sidan styrs av en tjänstefunktion, men `start_url` hittades inte eftersom det inte gick att analysera manifestet som giltigt JSON-format."
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "Den här sidan styrs av en tjänstefunktion, men `start_url` ({startUrl}) är inte inom tjänstefunktionens omfattning ({scopeUrl})"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "Sidan styrs av en tjänstefunktion, men `start_url` hittades inte eftersom inget manifest hämtades."
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "Ursprunget har en eller flera tjänstefunktioner, men sidan ({pageUrl}) är inte inom omfattningen."
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "Registrerar inte en tjänstefunktion som styr sidan och `start_url`"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "Registrerar en tjänstefunktion som styr sidan och `start_url`"
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "Med hjälp av en välkomstskärm med ett tema som visas när användarna startar appen på startskärmen kan du se till att de får en bra upplevelse. [Läs mer om välkomstskärmar](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)."
|
|
1438
1414
|
},
|
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "பக்கம் மெனிஃபெஸ்ட் <link> URLலைக் கொண்டிருக்கவில்லை"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "பொருந்தும் service worker எதுவும் கண்டறியப்படவில்லை. பக்கத்தை ரெஃப்ரெஷ் செய்ய வேண்டியிருக்கலாம் அல்லது தற்போதைய பக்கத்திற்கான service workerரின் நோக்கம் மெனிஃபெஸ்ட்டின் ஸ்கோப் மற்றும் ஸ்டார்ட் URLலைக் கொண்டுள்ளதா எனச் சரிபார்க்கவும்."
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "மெனிஃபெஸ்ட்டில், 'start_url' இல்லாத service workerரைச் சரிபார்க்க முடியவில்லை"
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "சேவையகப் பதிலளிப்புக்கான தொடக்க நேரம் குறைவானது"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "Service worker என்பது ஆஃப்லைனில் இயங்குதல், முகப்புத்திரையில் சேர்த்தல், புஷ் அறிவிப்புகள் போன்ற நவீன இணைய ஆப்ஸின் பல்வேறு அம்சங்களை உங்கள் ஆப்ஸ் பயன்படுத்த அனுமதிக்கும் தொழில்நுட்பமாகும். [Service Workerகள் குறித்து மேலும் அறிக](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)."
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "சேவைச் செயலாக்கி மூலம் இந்தப் பக்கம் கட்டுப்படுத்தப்படுகிறது, இருப்பினும் சரியான JSON ஆக மெனிஃபெஸ்ட்டைப் பாகுபடுத்த முடியாத காரணத்தால் `start_url` கண்டறியப்படவில்லை"
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "இந்தப் பக்கம் சேவைச் செயலாக்கி மூலம் கட்டுப்படுத்தப்படுகிறது, இருப்பினும் `start_url` ({startUrl}) சேவைச் செயாலாக்கியின் நோக்கத்தில் ({scopeUrl}) இல்லை"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "இந்தப் பக்கம் சேவைச் செயலாக்கி மூலம் கட்டுப்படுத்தப்படுகிறது, இருப்பினும் மெனிஃபெஸ்ட் எதுவும் பெறப்படவில்லை என்பதால் `start_url` கண்டறியப்படவில்லை."
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "இந்த இணையதளத்தில் ஒன்றோ அதற்கு மேற்பட்ட சேவைச் செயலாக்கிகளோ உள்ளன, இருப்பினும் இந்தப் பக்கம் ({pageUrl}) நோக்கத்தில் இல்லை."
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "பக்கம், `start_url` போன்றவற்றைக் கட்டுப்படுத்துவதற்கான சேவைச் செயலாக்கி பதிவு செய்யப்படவில்லை"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "பக்கம், `start_url` போன்றவற்றைக் கட்டுப்படுத்தும் சேவைச் செயலாக்கியைப் பதிவுசெய்யும்."
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "பயனர்கள் அவர்களது முகப்புத் திரைகளில் இருந்து உங்கள் ஆப்ஸைத் தொடங்கும்போது உயர்தரமான அனுபவத்தைப் பெறுவதை தீம் அமைக்கப்பட்ட ஸ்பிளாஷ் திரை உறுதிப்படுத்தும். [ஸ்பிளாஷ் திரைகள் குறித்து மேலும் அறிக](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)."
|
|
1438
1414
|
},
|
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "పేజీకి మ్యానిఫెస్ట్ <link> URL లేదు"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "మ్యాచ్ అవుతున్న సర్వీస్ వర్కర్ ఏదీ గుర్తించలేదు. మీరు పేజీని రీలోడ్ చేయాల్సి రావచ్చు లేదా ప్రస్తుత పేజీ కోసం సర్వీస్ వర్కర్ పరిధిలో మానిఫెస్ట్ నుండి పరిధి, ప్రారంభ URL ఉన్నాయో లేదో చూసుకోండి."
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "మ్యానిఫెస్ట్లో 'start_url' ఫీల్డ్ లేకుండా సర్వీస్ వర్కర్ను చెక్ చేయడం సాధ్యపడదు"
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "ప్రారంభ సర్వర్ ప్రతిస్పందన సమయం తక్కువగా ఉంది"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "సర్వీస్ వర్కర్ టెక్నాలజీ అనేది, ఆఫ్లైన్ వినియోగం, హోమ్స్క్రీన్కు జోడించడం, పుష్ నోటిఫికేషన్ల లాంటి అనేక ప్రోగ్రెసివ్ వెబ్ యాప్ ఫీచర్లను ఉపయోగించే వీలు మీ యాప్నకు కల్పిస్తుంది. [సర్వీస్ వర్కర్ల గురించి మరింత తెలుసుకోండి](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)."
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "ఈ పేజీ ఒక సర్వీస్ వర్కర్ ద్వారా నియంత్రించబడినప్పటికీ, చెల్లుబాటయ్యే JSON ఫార్మాట్లో అన్వయించడంలో మానిఫెస్ట్ విఫలమైనందున '`start_url`' ఏదీ కనుగొనబడలేదు"
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "ఈ పేజీ ఒక సర్వీస్ వర్కర్ ద్వారా నియంత్రించబడినప్పటికీ, '`start_url`' ({startUrl}) అన్నది సర్వీస్ వర్కర్ పరిధి ({scopeUrl})లో లేదు"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "ఈ పేజీ ఒక సర్వీస్ వర్కర్ ద్వారా నియంత్రించబడినప్పటికీ, మానిఫెస్ట్ ఏదీ పొందనందున '`start_url`' ఏదీ కనుగొనబడలేదు."
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "ఈ మూలాధారంలో ఒకటి లేదా అంతకంటే ఎక్కువ సర్వీస్ వర్కర్లు ఉన్నప్పటికీ, పేజీ ({pageUrl}) పరిధిలో లేదు."
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "పేజీని, '`start_url`'ను నియంత్రించే సర్వీస్ వర్కర్ ఏదీ నమోదు చేయబడలేదు"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "పేజీని, '`start_url`'ను నియంత్రించే సర్వీస్ వర్కర్ నమోదు చేయబడింది"
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "థీమ్తో కూడిన స్ప్లాష్ స్క్రీన్ వలన, యూజర్లు వారి హోమ్స్క్రీన్ల నుండి మీ యాప్ను లాంచ్ చేసినప్పుడు, అధిక క్వాలిటీ గల అనుభవం అందించబడుతుంది. [స్ప్లాష్ స్క్రీన్ల గురించి మరింత తెలుసుకోండి](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)."
|
|
1438
1414
|
},
|
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "หน้านี้ไม่มี <link> URL ของไฟล์ Manifest"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "ไม่พบ Service Worker ที่ตรงกัน คุณอาจต้องโหลดหน้านี้ซ้ำหรือตรวจสอบว่าขอบเขตของ Service Worker สำหรับหน้าปัจจุบันครอบคลุมขอบเขตและ URL เริ่มต้นจากไฟล์ Manifest"
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "ตรวจสอบ Service Worker โดยไม่มีช่อง \"start_url\" ในไฟล์ Manifest ไม่ได้"
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "การตอบกลับของเซิร์ฟเวอร์ขณะเริ่มแรกใช้เวลาน้อย"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "Service Worker เป็นเทคโนโลยีที่ช่วยให้แอปของคุณใช้ฟีเจอร์ของ Progressive Web App ได้หลายฟีเจอร์ เช่น ออฟไลน์ เพิ่มไปยังหน้าจอหลัก และข้อความ Push [ดูข้อมูลเพิ่มเติมเกี่ยวกับ Service Worker](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)"
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "หน้านี้ควบคุมโดย Service Worker แต่ไม่พบ `start_url` เนื่องจากไฟล์ Manifest แยกวิเคราะห์เป็น JSON ที่ถูกต้องไม่ได้"
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "หน้านี้ควบคุมโดย Service Worker แต่ `start_url` ({startUrl}) ไม่ได้อยู่ในขอบเขตของ Service Worker นั้น ({scopeUrl})"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "หน้านี้ควบคุมโดย Service Worker แต่ไม่พบ `start_url` เพราะไม่มีการดึงไฟล์ Manifest"
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "ต้นทางนี้มี Service Worker อย่างน้อย 1 ไฟล์ แต่หน้าเว็บ ({pageUrl}) ไม่อยู่ในขอบเขต"
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "ไม่ได้ลงทะเบียน Service Worker ที่ควบคุมหน้าเว็บและ `start_url`"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "ลงทะเบียน Service Worker ที่ควบคุมหน้าเว็บและ `start_url`"
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "หน้าจอแนะนำที่มีธีมช่วยให้ผู้ใช้ได้รับประสบการณ์ที่มีคุณภาพสูงเมื่อเปิดแอปของคุณจากหน้าจอหลัก [ดูข้อมูลเพิ่มเติมเกี่ยวกับหน้าจอแนะนำ](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)"
|
|
1438
1414
|
},
|
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "Sayfada hiç manifest <link> URL'si yok"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "Eşleşen hizmet çalışanı algılanamadı. Sayfayı yeniden yüklemeniz veya mevcut sayfaya ait hizmet çalışanı kapsamının, manifest dosyasındaki kapsamı ve başlangıç URL'sini içerdiğinden emin olmanız gerekir."
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "Manifest dosyasında \"start_url\" alanı olmadığından hizmet çalışanı kontrol edilemedi"
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "İlk sunucu yanıt süresi kısaydı"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "Servis çalışanı, uygulamanızın çevrimdışı çalışma, ana ekrana ekleme ve push bildirimleri gibi pek çok Progresif Web Uygulaması özelliğini kullanmasını sağlayan teknolojidir. [Hizmet çalışanları hakkında daha fazla bilgi edinin](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)."
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "Sayfa bir hizmet çalışanı tarafından kontrol ediliyor ancak manifest dosyası geçerli JSON olarak ayrışmadığından `start_url` bulunamadı"
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "Sayfa bir hizmet çalışanı tarafından kontrol ediliyor ancak `start_url` ({startUrl}) öğesi hizmet çalışanının kapsamında ({scopeUrl}) değil"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "Bu sayfa bir hizmet çalışanı tarafından yönetiliyor ancak manifest dosyası getirilmediğinden `start_url` öğesi bulunamadı."
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "Bu kaynak bir veya daha fazla hizmet çalışanına sahip ancak sayfa ({pageUrl}) kapsam içinde değil."
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "Sayfayı kontrol eden bir hizmet çalışanı ve `start_url` öğesi kaydedilmiyor"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "Sayfayı kontrol eden bir hizmet çalışanı ve `start_url` öğesi kaydediliyor"
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "Temalı başlangıç ekranı, kullanıcılar uygulamanızı ana ekranlarında başlattığında yüksek kaliteli bir deneyim sağlar. [Başlangıç ekranları hakkında daha fazla bilgi edinin](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)."
|
|
1438
1414
|
},
|
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "На сторінці немає URL-адреси маніфесту в тегах <link>"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "Не виявлено відповідного синтаксису Service Worker. Можливо, потрібно перезавантажити сторінку або перевірити, чи область дії синтаксису Service Worker для поточної сторінки включає область дії та початкову URL-адресу з маніфесту."
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "Не вдалося перевірити синтаксис Service Worker без поля start_url у маніфесті"
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "Сервер відповідає швидко"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "Синтаксис Service Worker – це технологія, яка дає змогу додатку використовувати багато функцій прогресивного веб-додатка, як-от режим офлайн, додавання на головний екран і push-сповіщення. [Докладніше про синтаксис Service Worker.](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)"
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "Цією сторінкою керує синтаксис Service Worker, однак `start_url` не знайдено, оскільки не вдалося виконати синтаксичний аналіз маніфесту як дійсного файлу JSON"
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "Цією сторінкою керує синтаксис Service Worker, однак параметр `start_url` ({startUrl}) перебуває за межами дії служби ({scopeUrl})"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "Цією сторінкою керує синтаксис Service Worker, однак `start_url` не знайдено, оскільки маніфест не завантажено."
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "Це джерело містить один або кілька синтаксисів Service Worker, але сторінка ({pageUrl}) перебуває за межами дії служби."
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "Немає синтаксису Service Worker, який керує сторінкою та `start_url`"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "Наявний синтаксис Service Worker, який керує сторінкою та `start_url`"
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "Тематична заставка покращує взаємодію з користувачами під час запуску додатка з головного екрана. [Докладніше про заставки.](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)"
|
|
1438
1414
|
},
|
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "Trang không có URL <link> của tệp kê khai"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "Không phát hiện thấy trình chạy dịch vụ phù hợp. Bạn có thể cần tải lại trang hoặc kiểm tra để đảm bảo rằng phạm vi của trình chạy dịch vụ cho trang hiện tại có bao gồm phạm vi và URL bắt đầu của tệp kê khai."
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "Không thể kiểm tra trình chạy dịch vụ nếu không có trường \"start_url\" trong tệp kê khai"
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "Thời gian phản hồi ban đầu của máy chủ là ngắn"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "Trình chạy dịch vụ là công nghệ cho phép ứng dụng của bạn dùng nhiều tính năng của Ứng dụng web tiến bộ, chẳng hạn như hoạt động khi không có mạng, thêm vào màn hình chính và thông báo đẩy. [Tìm hiểu thêm về Trình chạy dịch vụ](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)."
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "Trang này do một trình chạy dịch vụ kiểm soát. Tuy nhiên, không tìm thấy `start_url` vì tệp kê khai không thể phân tích cú pháp thành tệp JSON hợp lệ"
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "Trang này do một trình chạy dịch vụ kiểm soát. Tuy nhiên, `start_url` ({startUrl}) không thuộc phạm vi của trình chạy dịch vụ này ({scopeUrl})"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "Trang này do một trình chạy dịch vụ kiểm soát. Tuy nhiên, không tìm thấy `start_url` vì không tìm nạp được tệp kê khai."
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "Nguồn gốc này có một hoặc nhiều trình chạy dịch vụ. Tuy nhiên, trang ({pageUrl}) không thuộc phạm vi của các trình chạy dịch vụ này."
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "Không đăng ký một trình chạy dịch vụ kiểm soát trang và `start_url`"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "Đăng ký một trình chạy dịch vụ kiểm soát trang và `start_url`"
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "Màn hình chờ có giao diện giúp đảm bảo người dùng có trải nghiệm chất lượng cao khi chạy ứng dụng từ màn hình chính. [Tìm hiểu thêm về màn hình chờ](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)."
|
|
1438
1414
|
},
|
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "頁面並無資訊清單 <link> 網址"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "未偵測到任何相符的 Service Worker。您可能需要重新載入頁面,或檢查目前頁面的 Service Worker 範圍是否包含資訊清單範圍和起始網址。"
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "由於資訊清單中沒有「start_url」欄位,因此無法檢查 Service Worker"
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "初始伺服器回應時間短暫"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "Service Worker 技術可讓您的應用程式使用多項漸進式網絡應用程式的功能,例如離線存取、新增到主畫面和推送通知。[進一步瞭解 Service Worker](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)。"
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "此網頁由 Service Worker 控制,但系統無法將資訊清單剖析為有效的 JSON,因此找不到任何 `start_url`"
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "此網頁由 Service Worker 控制,但 `start_url` ({startUrl}) 不在 Service Worker 的範圍內 ({scopeUrl})"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "此網頁由 Service Worker 控制,但系統未能擷取任何資訊清單,因此找不到任何 `start_url`。"
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "此來源包含一個或多個 Service Worker,但該頁面 ({pageUrl}) 不在 Service Worker 的範圍內。"
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "未註冊可控制網頁和 `start_url` 的 Service Worker"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "已註冊可控制網頁和 `start_url` 的 Service Worker"
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "透過設定啟動畫面的主題,可確保使用者從主畫面啟動您的應用程式時享有優質體驗。[進一步瞭解啟動畫面](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)。"
|
|
1438
1414
|
},
|
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "網頁沒有資訊清單 <link> 網址"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "未偵測到相符的 Service Worker。你可能需要重新載入網頁,或是檢查目前網頁的 Service Worker 範圍是否涵蓋資訊清單的範圍和開始網址。"
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "資訊清單中沒有「start_url」欄位,因此無法檢查 Service Worker"
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "初始伺服器回應時間很短"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "Service Worker 技術可讓你的應用程式使用許多漸進式網頁應用程式的功能,例如離線存取、新增到主畫面,以及推播通知。[進一步瞭解 Service Worker](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)。"
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "此網頁由 Service Worker 所控管,但系統無法將資訊清單剖析為有效的 JSON,因此找不到任何 `start_url`"
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "這個網頁由 Service Worker 所控管,但是 `start_url` ({startUrl}) 不在 Service Worker 的範圍內 ({scopeUrl})"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "這個網頁由 Service Worker 所控管,但系統未擷取任何資訊清單,因此找不到任何 `start_url`。"
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "此來源包含一個或多個 Service Worker,但該頁面 ({pageUrl}) 不在 Service Worker 的範圍內。"
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "未註冊可控管網頁和 `start_url` 的 Service Worker"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "已註冊可控管網頁和 `start_url` 的 Service Worker"
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "透過設定啟動畫面的主題,可確保使用者從主畫面啟動你的應用程式時享有優質體驗。[進一步瞭解啟動畫面](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)。"
|
|
1438
1414
|
},
|
|
@@ -938,9 +938,6 @@
|
|
|
938
938
|
"core/audits/installable-manifest.js | no-manifest": {
|
|
939
939
|
"message": "该网页没有清单 <link> 网址"
|
|
940
940
|
},
|
|
941
|
-
"core/audits/installable-manifest.js | no-matching-service-worker": {
|
|
942
|
-
"message": "未检测到任何相符的 Service Worker。您可能需要重新加载网页,或检查当前网页的 Service Worker 范围是否包含清单中的范围和起始网址。"
|
|
943
|
-
},
|
|
944
941
|
"core/audits/installable-manifest.js | no-url-for-service-worker": {
|
|
945
942
|
"message": "如果清单不含“start_url”字段,则无法检查 Service Worker"
|
|
946
943
|
},
|
|
@@ -1412,27 +1409,6 @@
|
|
|
1412
1409
|
"core/audits/server-response-time.js | title": {
|
|
1413
1410
|
"message": "初始服务器响应用时较短"
|
|
1414
1411
|
},
|
|
1415
|
-
"core/audits/service-worker.js | description": {
|
|
1416
|
-
"message": "Service Worker 是一项技术,可让您的应用使用很多渐进式 Web 应用功能,例如离线、添加到主屏幕和推送通知。[详细了解 Service Worker](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/)。"
|
|
1417
|
-
},
|
|
1418
|
-
"core/audits/service-worker.js | explanationBadManifest": {
|
|
1419
|
-
"message": "此网页由 Service Worker 控制,但由于清单未能解析为有效的 JSON,因此未找到 `start_url`"
|
|
1420
|
-
},
|
|
1421
|
-
"core/audits/service-worker.js | explanationBadStartUrl": {
|
|
1422
|
-
"message": "此网页由 Service Worker 控制,但 `start_url` ({startUrl}) 不在 Service Worker 的控制范围内 ({scopeUrl})"
|
|
1423
|
-
},
|
|
1424
|
-
"core/audits/service-worker.js | explanationNoManifest": {
|
|
1425
|
-
"message": "此网页由 Service Worker 控制,但由于未提取任何清单,因此未找到 `start_url`。"
|
|
1426
|
-
},
|
|
1427
|
-
"core/audits/service-worker.js | explanationOutOfScope": {
|
|
1428
|
-
"message": "此来源有一个或多个 Service Worker,但网页 ({pageUrl}) 不在控制范围内。"
|
|
1429
|
-
},
|
|
1430
|
-
"core/audits/service-worker.js | failureTitle": {
|
|
1431
|
-
"message": "无法注册用于控制网页和 `start_url` 的 Service Worker"
|
|
1432
|
-
},
|
|
1433
|
-
"core/audits/service-worker.js | title": {
|
|
1434
|
-
"message": "注册用于控制网页和 `start_url` 的 Service Worker"
|
|
1435
|
-
},
|
|
1436
1412
|
"core/audits/splash-screen.js | description": {
|
|
1437
1413
|
"message": "选定主题的启动画面可确保用户在从主屏幕中启动您的应用时获得优质体验。[详细了解启动画面](https://developer.chrome.com/docs/lighthouse/pwa/splash-screen/)。"
|
|
1438
1414
|
},
|
package/tsconfig.json
CHANGED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
export default ServiceWorker;
|
|
2
|
-
declare class ServiceWorker extends Audit {
|
|
3
|
-
/**
|
|
4
|
-
* Find active service workers for this origin.
|
|
5
|
-
* @param {Array<LH.Crdp.ServiceWorker.ServiceWorkerVersion>} versions
|
|
6
|
-
* @param {URL} pageUrl
|
|
7
|
-
* @return {Array<LH.Crdp.ServiceWorker.ServiceWorkerVersion>}
|
|
8
|
-
*/
|
|
9
|
-
static getVersionsForOrigin(versions: Array<LH.Crdp.ServiceWorker.ServiceWorkerVersion>, pageUrl: URL): Array<LH.Crdp.ServiceWorker.ServiceWorkerVersion>;
|
|
10
|
-
/**
|
|
11
|
-
* From the set of active service workers for this origin, find the controlling SW (if any)
|
|
12
|
-
* and return its scope URL.
|
|
13
|
-
* @param {Array<LH.Crdp.ServiceWorker.ServiceWorkerVersion>} matchingSWVersions
|
|
14
|
-
* @param {Array<LH.Crdp.ServiceWorker.ServiceWorkerRegistration>} registrations
|
|
15
|
-
* @param {URL} pageUrl
|
|
16
|
-
* @return {{scopeUrl: string; scriptUrl: string} | undefined}
|
|
17
|
-
*/
|
|
18
|
-
static getControllingServiceWorker(matchingSWVersions: Array<LH.Crdp.ServiceWorker.ServiceWorkerVersion>, registrations: Array<LH.Crdp.ServiceWorker.ServiceWorkerRegistration>, pageUrl: URL): {
|
|
19
|
-
scopeUrl: string;
|
|
20
|
-
scriptUrl: string;
|
|
21
|
-
} | undefined;
|
|
22
|
-
/**
|
|
23
|
-
* Returns a failure message if there is no start_url or if the start_url isn't
|
|
24
|
-
* contolled by the scopeUrl.
|
|
25
|
-
* @param {LH.Artifacts['WebAppManifest']} WebAppManifest
|
|
26
|
-
* @param {string} scopeUrl
|
|
27
|
-
* @return {LH.IcuMessage|undefined}
|
|
28
|
-
*/
|
|
29
|
-
static checkStartUrl(WebAppManifest: LH.Artifacts['WebAppManifest'], scopeUrl: string): LH.IcuMessage | undefined;
|
|
30
|
-
/**
|
|
31
|
-
* @param {LH.Artifacts} artifacts
|
|
32
|
-
* @return {LH.Audit.Product}
|
|
33
|
-
*/
|
|
34
|
-
static audit(artifacts: LH.Artifacts): LH.Audit.Product;
|
|
35
|
-
}
|
|
36
|
-
export namespace UIStrings {
|
|
37
|
-
const title: string;
|
|
38
|
-
const failureTitle: string;
|
|
39
|
-
const description: string;
|
|
40
|
-
const explanationOutOfScope: string;
|
|
41
|
-
const explanationNoManifest: string;
|
|
42
|
-
const explanationBadManifest: string;
|
|
43
|
-
const explanationBadStartUrl: string;
|
|
44
|
-
}
|
|
45
|
-
import { Audit } from './audit.js';
|
|
46
|
-
//# sourceMappingURL=service-worker.d.ts.map
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license Copyright 2016 The Lighthouse Authors. All Rights Reserved.
|
|
3
|
-
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
4
|
-
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import {Audit} from './audit.js';
|
|
8
|
-
import * as i18n from '../lib/i18n/i18n.js';
|
|
9
|
-
|
|
10
|
-
const UIStrings = {
|
|
11
|
-
/** Title of a Lighthouse audit that provides detail on a page's service worker. This descriptive title is shown to users when a service worker is registered and valid. */
|
|
12
|
-
title: 'Registers a service worker that controls page and `start_url`',
|
|
13
|
-
/** Title of a Lighthouse audit that provides detail on a page's service worker. This descriptive title is shown to users when a service worker is not present or invalid. */
|
|
14
|
-
failureTitle: 'Does not register a service worker that controls page and `start_url`',
|
|
15
|
-
/** Description of a Lighthouse audit that tells the user why they should use a service worker. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
|
|
16
|
-
description: 'The service worker is the technology that enables your app to use many ' +
|
|
17
|
-
'Progressive Web App features, such as offline, add to homescreen, and push ' +
|
|
18
|
-
'notifications. [Learn more about Service Workers](https://developer.chrome.com/docs/lighthouse/pwa/service-worker/).',
|
|
19
|
-
/**
|
|
20
|
-
* @description Message explaining that the website may have service workers, but none are in scope to control the tested web page.
|
|
21
|
-
* @example {https://example.com/} pageUrl
|
|
22
|
-
* */
|
|
23
|
-
explanationOutOfScope: 'This origin has one or more service workers, however the page ' +
|
|
24
|
-
'({pageUrl}) is not in scope.',
|
|
25
|
-
/** Message explaining that the page has no manifest file so can't specify a starting url. */
|
|
26
|
-
explanationNoManifest: 'This page is controlled by a service worker, however ' +
|
|
27
|
-
'no `start_url` was found because no manifest was fetched.',
|
|
28
|
-
/** Message explaining that the page had an invalid manifest file so can't specify a starting url. */
|
|
29
|
-
explanationBadManifest: 'This page is controlled by a service worker, however ' +
|
|
30
|
-
'no `start_url` was found because manifest failed to parse as valid JSON',
|
|
31
|
-
/**
|
|
32
|
-
* @description Message explaining that the website has a service worker, but none are in scope to control the tested starting url.
|
|
33
|
-
* @example {https://example.com/} startUrl
|
|
34
|
-
* @example {https://othersite.com/} scopeUrl
|
|
35
|
-
* */
|
|
36
|
-
explanationBadStartUrl: 'This page is controlled by a service worker, however ' +
|
|
37
|
-
'the `start_url` ({startUrl}) is not in the service worker\'s scope ({scopeUrl})',
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
|
|
41
|
-
|
|
42
|
-
class ServiceWorker extends Audit {
|
|
43
|
-
/**
|
|
44
|
-
* @return {LH.Audit.Meta}
|
|
45
|
-
*/
|
|
46
|
-
static get meta() {
|
|
47
|
-
return {
|
|
48
|
-
id: 'service-worker',
|
|
49
|
-
title: str_(UIStrings.title),
|
|
50
|
-
failureTitle: str_(UIStrings.failureTitle),
|
|
51
|
-
description: str_(UIStrings.description),
|
|
52
|
-
supportedModes: ['navigation'],
|
|
53
|
-
requiredArtifacts: ['URL', 'ServiceWorker', 'WebAppManifest'],
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Find active service workers for this origin.
|
|
59
|
-
* @param {Array<LH.Crdp.ServiceWorker.ServiceWorkerVersion>} versions
|
|
60
|
-
* @param {URL} pageUrl
|
|
61
|
-
* @return {Array<LH.Crdp.ServiceWorker.ServiceWorkerVersion>}
|
|
62
|
-
*/
|
|
63
|
-
static getVersionsForOrigin(versions, pageUrl) {
|
|
64
|
-
return versions
|
|
65
|
-
.filter(v => v.status === 'activated')
|
|
66
|
-
.filter(v => new URL(v.scriptURL).origin === pageUrl.origin);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* From the set of active service workers for this origin, find the controlling SW (if any)
|
|
71
|
-
* and return its scope URL.
|
|
72
|
-
* @param {Array<LH.Crdp.ServiceWorker.ServiceWorkerVersion>} matchingSWVersions
|
|
73
|
-
* @param {Array<LH.Crdp.ServiceWorker.ServiceWorkerRegistration>} registrations
|
|
74
|
-
* @param {URL} pageUrl
|
|
75
|
-
* @return {{scopeUrl: string; scriptUrl: string} | undefined}
|
|
76
|
-
*/
|
|
77
|
-
static getControllingServiceWorker(matchingSWVersions, registrations, pageUrl) {
|
|
78
|
-
// Find the normalized scope URLs of possibly-controlling SWs.
|
|
79
|
-
/** @type {Array<{scopeUrl: string; scriptUrl: string}>} */
|
|
80
|
-
const scriptByScopeUrlList = [];
|
|
81
|
-
|
|
82
|
-
// Populate serviceWorkerUrls map with the scriptURLs and scopeUrls of matchingSWVersions and registrations
|
|
83
|
-
for (const version of matchingSWVersions) {
|
|
84
|
-
const matchedRegistration = registrations
|
|
85
|
-
.find(r => r.registrationId === version.registrationId);
|
|
86
|
-
|
|
87
|
-
if (matchedRegistration) {
|
|
88
|
-
const scopeUrl = new URL(matchedRegistration.scopeURL).href;
|
|
89
|
-
const scriptUrl = new URL(version.scriptURL).href;
|
|
90
|
-
scriptByScopeUrlList.push({scopeUrl, scriptUrl});
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// Find most-specific applicable scope, the one controlling the page.
|
|
95
|
-
// See https://w3c.github.io/ServiceWorker/v1/#scope-match-algorithm
|
|
96
|
-
const pageControllingUrls = scriptByScopeUrlList
|
|
97
|
-
.filter(ss => pageUrl.href.startsWith(ss.scopeUrl))
|
|
98
|
-
.sort((ssA, ssB) => ssA.scopeUrl.length - ssB.scopeUrl.length)
|
|
99
|
-
.pop();
|
|
100
|
-
|
|
101
|
-
return pageControllingUrls;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Returns a failure message if there is no start_url or if the start_url isn't
|
|
106
|
-
* contolled by the scopeUrl.
|
|
107
|
-
* @param {LH.Artifacts['WebAppManifest']} WebAppManifest
|
|
108
|
-
* @param {string} scopeUrl
|
|
109
|
-
* @return {LH.IcuMessage|undefined}
|
|
110
|
-
*/
|
|
111
|
-
static checkStartUrl(WebAppManifest, scopeUrl) {
|
|
112
|
-
if (!WebAppManifest) {
|
|
113
|
-
return str_(UIStrings.explanationNoManifest);
|
|
114
|
-
}
|
|
115
|
-
if (!WebAppManifest.value) {
|
|
116
|
-
return str_(UIStrings.explanationBadManifest);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
const startUrl = WebAppManifest.value.start_url.value;
|
|
120
|
-
if (!startUrl.startsWith(scopeUrl)) {
|
|
121
|
-
return str_(UIStrings.explanationBadStartUrl, {startUrl, scopeUrl});
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* @param {LH.Artifacts} artifacts
|
|
127
|
-
* @return {LH.Audit.Product}
|
|
128
|
-
*/
|
|
129
|
-
static audit(artifacts) {
|
|
130
|
-
// Match against `artifacts.URL.mainDocumentUrl` so audit accounts for any redirects.
|
|
131
|
-
// Service workers won't control network requests if the page uses `history.pushState` to "enter" the SW scope.
|
|
132
|
-
// For this reason it is better to evaluate the SW in relation to the main document url rather than the final frame url.
|
|
133
|
-
const {mainDocumentUrl} = artifacts.URL;
|
|
134
|
-
if (!mainDocumentUrl) throw new Error('mainDocumentUrl must exist in navigation mode');
|
|
135
|
-
const pageUrl = new URL(mainDocumentUrl);
|
|
136
|
-
const {versions, registrations} = artifacts.ServiceWorker;
|
|
137
|
-
|
|
138
|
-
const versionsForOrigin = ServiceWorker.getVersionsForOrigin(versions, pageUrl);
|
|
139
|
-
if (versionsForOrigin.length === 0) {
|
|
140
|
-
return {
|
|
141
|
-
score: 0,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
const serviceWorkerUrls = ServiceWorker.getControllingServiceWorker(versionsForOrigin,
|
|
146
|
-
registrations, pageUrl);
|
|
147
|
-
if (!serviceWorkerUrls) {
|
|
148
|
-
return {
|
|
149
|
-
score: 0,
|
|
150
|
-
explanation: str_(UIStrings.explanationOutOfScope, {pageUrl: pageUrl.href}),
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
// Include the SW details as diagnostic data.
|
|
155
|
-
const {scriptUrl, scopeUrl} = serviceWorkerUrls;
|
|
156
|
-
/** @type {LH.Audit.Details.DebugData} */
|
|
157
|
-
const details = {
|
|
158
|
-
type: 'debugdata',
|
|
159
|
-
scriptUrl,
|
|
160
|
-
scopeUrl,
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
const startUrlFailure = ServiceWorker.checkStartUrl(artifacts.WebAppManifest,
|
|
164
|
-
serviceWorkerUrls.scopeUrl);
|
|
165
|
-
if (startUrlFailure) {
|
|
166
|
-
return {
|
|
167
|
-
score: 0,
|
|
168
|
-
details,
|
|
169
|
-
explanation: startUrlFailure,
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
// SW controls both finalDisplayedUrl and start_url.
|
|
174
|
-
return {
|
|
175
|
-
score: 1,
|
|
176
|
-
details,
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
export default ServiceWorker;
|
|
182
|
-
export {UIStrings};
|