lighthouse 9.5.0-dev.20220926 → 9.5.0-dev.20220927
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/CONTRIBUTING.md +2 -2
- package/changelog.md +7 -7
- package/cli/cli-flags.js +1 -1
- package/cli/sentry-prompt.js +1 -1
- package/cli/test/smokehouse/readme.md +1 -1
- package/core/config/validation.js +2 -2
- package/core/gather/driver/environment.js +2 -2
- package/core/legacy/config/config.js +1 -1
- package/core/lib/cdt/Platform.js +1 -1
- package/core/lib/i18n/i18n.js +1 -1
- package/core/lib/network-request.js +1 -1
- package/core/user-flow.js +1 -1
- package/package.json +1 -1
- package/readme.md +3 -3
- package/report/README.md +8 -9
- package/shared/localization/locales/en-US.json +1 -1
- package/shared/localization/locales/en-XL.json +1 -1
package/CONTRIBUTING.md
CHANGED
|
@@ -25,7 +25,7 @@ If you have a contribution for our [documentation](https://web.dev/learn/#lighth
|
|
|
25
25
|
1. Ensure that your code adheres to the existing style in the sample to which you are contributing.
|
|
26
26
|
1. Submit a pull request.
|
|
27
27
|
|
|
28
|
-
If you've submitted a number of significant patches, feel free to add yourself in a PR to the project's `AUTHORS` [file](https://github.com/GoogleChrome/lighthouse/blob/
|
|
28
|
+
If you've submitted a number of significant patches, feel free to add yourself in a PR to the project's `AUTHORS` [file](https://github.com/GoogleChrome/lighthouse/blob/main/AUTHORS) in the root of the repo to be recognized for your contributions!
|
|
29
29
|
|
|
30
30
|
## Audit PRs
|
|
31
31
|
|
|
@@ -108,7 +108,7 @@ We're using [conventional-commit](https://conventionalcommits.org/) for our comm
|
|
|
108
108
|
|
|
109
109
|
> type(scope): message subject
|
|
110
110
|
|
|
111
|
-
* The `type` must be one of: `new_audit` `core` `tests` `i18n`, `docs` `deps` `report` `cli` `clients` `misc`. (See [`.cz-config`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
111
|
+
* The `type` must be one of: `new_audit` `core` `tests` `i18n`, `docs` `deps` `report` `cli` `clients` `misc`. (See [`.cz-config`](https://github.com/GoogleChrome/lighthouse/blob/main/.cz-config.js#L13))
|
|
112
112
|
* The `scope` is optional, but recommended. Any string is allowed; it should indicate what the change affects.
|
|
113
113
|
* The `message subject` should be pithy and direct.
|
|
114
114
|
|
package/changelog.md
CHANGED
|
@@ -60,7 +60,7 @@ We expect this release to ship in the DevTools of [Chrome 100](https://chromiumd
|
|
|
60
60
|
|
|
61
61
|
## Notable Changes
|
|
62
62
|
|
|
63
|
-
* Allow auditing of navigations triggered by user interactions in user flows. See our [user flow docs](https://github.com/GoogleChrome/lighthouse/blob/
|
|
63
|
+
* Allow auditing of navigations triggered by user interactions in user flows. See our [user flow docs](https://github.com/GoogleChrome/lighthouse/blob/main/docs/user-flows.md) for more info. ([#13496](https://github.com/GoogleChrome/lighthouse/pull/13496))
|
|
64
64
|
|
|
65
65
|
## Core
|
|
66
66
|
|
|
@@ -935,9 +935,9 @@ We expect this release to ship in the DevTools of [Chrome 93](https://chromiumda
|
|
|
935
935
|
- CLS has been updated to its new, windowed
|
|
936
936
|
definition ([#12554](https://github.com/GoogleChrome/lighthouse/pull/12554))
|
|
937
937
|
|
|
938
|
-
See the [v8.0 Performance FAQ](https://github.com/GoogleChrome/lighthouse/blob/
|
|
938
|
+
See the [v8.0 Performance FAQ](https://github.com/GoogleChrome/lighthouse/blob/main/docs/v8-perf-faq.md) for more detail.
|
|
939
939
|
|
|
940
|
-
<a href="https://github.com/GoogleChrome/lighthouse/blob/
|
|
940
|
+
<a href="https://github.com/GoogleChrome/lighthouse/blob/main/docs/v8-perf-faq.md"><img width="500" alt="the new metric weightings in the Lighthouse score calculator" src="https://user-images.githubusercontent.com/39191/120410971-de337100-c308-11eb-9fb6-368a33c0855e.png"></a>
|
|
941
941
|
|
|
942
942
|
|
|
943
943
|
* The report includes a new metric filter. Pick a metric to focus on the opportunities and diagnostics most relevant to improving just that metric:
|
|
@@ -1465,7 +1465,7 @@ This release is expected to ship in the DevTools of [Chrome 89](https://chromium
|
|
|
1465
1465
|
- The _Fast and reliable_ group has evaporated into thin air. 🌬 Now that revamped "installability requirements" audit includes offline-capability checking, we've removed the dedicated audits for checking if the current page and `start_url` respond with 200 when offline. Separately, the "Page load is fast enough on mobile network" audit was removed—while it's no longer part of the PWA section, we encourage folks building a PWA to consult the Performance category to ensure their web app is speedy and delightful.
|
|
1466
1466
|
* A **nightly Lighthouse build** is now available as [`lighthouse@next`](https://www.npmjs.com/package/lighthouse?activeTab=versions) on npm. Note that while automated tests pass before publishing, it's expected that this version will be more unstable than the regular releases ([#11792](https://github.com/GoogleChrome/lighthouse/pull/11792), [#11805](https://github.com/GoogleChrome/lighthouse/pull/11805), [#11810](https://github.com/GoogleChrome/lighthouse/pull/11810))
|
|
1467
1467
|
* The accessibility-testing library **`axe-core`** has been updated to the latest 4.1.1 release. The accessibility audits are now faster, more robust, and include multiple new checks ([#11661](https://github.com/GoogleChrome/lighthouse/pull/11661))
|
|
1468
|
-
* Lighthouse runs a small benchmark at startup, and will now include a warning if the [test machine appears underpowered](https://github.com/GoogleChrome/lighthouse/blob/
|
|
1468
|
+
* Lighthouse runs a small benchmark at startup, and will now include a warning if the [test machine appears underpowered](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling) and may be affecting the accuracy of the Lighthouse metrics ([#11350](https://github.com/GoogleChrome/lighthouse/pull/11350))
|
|
1469
1469
|
* Joomla and October CMS detection has been added, so pages on those platforms will now get customized advice on some Lighthouse audits ([#11788](https://github.com/GoogleChrome/lighthouse/pull/11788))
|
|
1470
1470
|
|
|
1471
1471
|
## New contributors
|
|
@@ -1498,7 +1498,7 @@ These changes are unlikely to affect end users, but may be important if you are
|
|
|
1498
1498
|
* `ConsoleMessages` is a [new artifact](https://github.com/GoogleChrome/lighthouse/blob/a6738e0033e7e5ca308b97c1c36f298b7d399402/types/artifacts.d.ts#L753-L802) that is a combination of the old `ConsoleMessages` and `RuntimeExceptions` artifacts, with some expanded data on items logged to the console. `RuntimeExceptions` has been removed ([#11663](https://github.com/GoogleChrome/lighthouse/pull/11663))
|
|
1499
1499
|
* DOM "node details" data formerly spread throughout existing artifacts are now gathered in a [`NodeDetails`](https://github.com/GoogleChrome/lighthouse/blob/a6738e0033e7e5ca308b97c1c36f298b7d399402/types/artifacts.d.ts#L150-L157) property on each element ([#11474](https://github.com/GoogleChrome/lighthouse/pull/11474), [#11695](https://github.com/GoogleChrome/lighthouse/pull/11695), [#11752](https://github.com/GoogleChrome/lighthouse/pull/11752))
|
|
1500
1500
|
* The [`ImageElements` artifact](https://github.com/GoogleChrome/lighthouse/blob/a6738e0033e7e5ca308b97c1c36f298b7d399402/types/artifacts.d.ts#L395-L440) has been [streamlined](https://github.com/GoogleChrome/lighthouse/issues/11642) to better represent the data collected and how it's used ([#11703](https://github.com/GoogleChrome/lighthouse/pull/11703), [#11707](https://github.com/GoogleChrome/lighthouse/pull/11707), [#11733](https://github.com/GoogleChrome/lighthouse/pull/11733))
|
|
1501
|
-
* Previously, `extends: true` was allowed as an alias for `extends: 'lighthouse:default'` to [extend a config](https://github.com/GoogleChrome/lighthouse/blob/
|
|
1501
|
+
* Previously, `extends: true` was allowed as an alias for `extends: 'lighthouse:default'` to [extend a config](https://github.com/GoogleChrome/lighthouse/blob/main/docs/configuration.md#config-extension) from the default Lighthouse config file. The boolean option has been removed to prepare the way for extending from any valid config file ([#11835](https://github.com/GoogleChrome/lighthouse/pull/11835))
|
|
1502
1502
|
* A never-used feature to pass options from the config to gatherers has been removed to be compatible with future changes ([#11743](https://github.com/GoogleChrome/lighthouse/pull/11743))
|
|
1503
1503
|
|
|
1504
1504
|
## 🧱 Core
|
|
@@ -4540,10 +4540,10 @@ Thanks to @sanjsanj, @dennismartensson, @daannijkamp, @crimeminister!
|
|
|
4540
4540
|
* `errors-in-console` best practice audit (#2836)
|
|
4541
4541
|
* `no-vulnerable-libraries` best practice audit (#2372)
|
|
4542
4542
|
|
|
4543
|
-
### New audits in [full-config](https://github.com/GoogleChrome/lighthouse/blob/
|
|
4543
|
+
### New audits in [full-config](https://github.com/GoogleChrome/lighthouse/blob/main/lighthouse-core/config/full-config.js)
|
|
4544
4544
|
* `unused-javascript` coverage audit (#3085)
|
|
4545
4545
|
|
|
4546
|
-
### New audits in new [SEO config](https://github.com/GoogleChrome/lighthouse/blob/
|
|
4546
|
+
### New audits in new [SEO config](https://github.com/GoogleChrome/lighthouse/blob/main/lighthouse-core/config/seo.js) (#2999)
|
|
4547
4547
|
* `meta-description` SEO audit (#3227)
|
|
4548
4548
|
* `http-status-code` SEO audit (#3311)
|
|
4549
4549
|
|
package/cli/cli-flags.js
CHANGED
|
@@ -176,7 +176,7 @@ function getYargsParser(manualArgv) {
|
|
|
176
176
|
},
|
|
177
177
|
'enable-error-reporting': {
|
|
178
178
|
type: 'boolean',
|
|
179
|
-
describe: 'Enables error reporting, overriding any saved preference. --no-enable-error-reporting will do the opposite. More: https://github.com/GoogleChrome/lighthouse/blob/
|
|
179
|
+
describe: 'Enables error reporting, overriding any saved preference. --no-enable-error-reporting will do the opposite. More: https://github.com/GoogleChrome/lighthouse/blob/main/docs/error-reporting.md',
|
|
180
180
|
},
|
|
181
181
|
'gather-mode': {
|
|
182
182
|
alias: 'G',
|
package/cli/sentry-prompt.js
CHANGED
|
@@ -12,7 +12,7 @@ const MAXIMUM_WAIT_TIME = 20 * 1000;
|
|
|
12
12
|
|
|
13
13
|
// eslint-disable-next-line max-len
|
|
14
14
|
const MESSAGE = `${log.reset}We're constantly trying to improve Lighthouse and its reliability.\n ` +
|
|
15
|
-
`${log.reset}Learn more: https://github.com/GoogleChrome/lighthouse/blob/
|
|
15
|
+
`${log.reset}Learn more: https://github.com/GoogleChrome/lighthouse/blob/main/docs/error-reporting.md \n ` +
|
|
16
16
|
` ${log.bold}May we anonymously report runtime exceptions to improve the tool over time?${log.reset} `; // eslint-disable-line max-len
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -6,7 +6,7 @@ By default this is done using the Lighthouse CLI (to exercise the full pipeline)
|
|
|
6
6
|
|
|
7
7
|
## Options
|
|
8
8
|
|
|
9
|
-
See [`SmokehouseOptions`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
9
|
+
See [`SmokehouseOptions`](https://github.com/GoogleChrome/lighthouse/blob/main/cli/test/smokehouse/smokehouse.js#L23).
|
|
10
10
|
|
|
11
11
|
## Test definitions
|
|
12
12
|
|
|
@@ -212,7 +212,7 @@ function assertValidCategories(categories, audits, groups) {
|
|
|
212
212
|
*/
|
|
213
213
|
function assertValidSettings(settings) {
|
|
214
214
|
if (!settings.formFactor) {
|
|
215
|
-
throw new Error(`\`settings.formFactor\` must be defined as 'mobile' or 'desktop'. See https://github.com/GoogleChrome/lighthouse/blob/
|
|
215
|
+
throw new Error(`\`settings.formFactor\` must be defined as 'mobile' or 'desktop'. See https://github.com/GoogleChrome/lighthouse/blob/main/docs/emulation.md`);
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
if (!settings.screenEmulation.disabled) {
|
|
@@ -220,7 +220,7 @@ function assertValidSettings(settings) {
|
|
|
220
220
|
// Bad mismatch A: user wants mobile emulation but scoring is configured for desktop
|
|
221
221
|
// Bad mismtach B: user wants everything desktop and set formFactor, but accidentally not screenEmulation
|
|
222
222
|
if (settings.screenEmulation.mobile !== (settings.formFactor === 'mobile')) {
|
|
223
|
-
throw new Error(`Screen emulation mobile setting (${settings.screenEmulation.mobile}) does not match formFactor setting (${settings.formFactor}). See https://github.com/GoogleChrome/lighthouse/blob/
|
|
223
|
+
throw new Error(`Screen emulation mobile setting (${settings.screenEmulation.mobile}) does not match formFactor setting (${settings.formFactor}). See https://github.com/GoogleChrome/lighthouse/blob/main/docs/emulation.md`);
|
|
224
224
|
}
|
|
225
225
|
}
|
|
226
226
|
}
|
|
@@ -17,7 +17,7 @@ const UIStrings = {
|
|
|
17
17
|
*/
|
|
18
18
|
warningSlowHostCpu: 'The tested device appears to have a slower CPU than ' +
|
|
19
19
|
'Lighthouse expects. This can negatively affect your performance score. Learn more about ' +
|
|
20
|
-
'[calibrating an appropriate CPU slowdown multiplier](https://github.com/GoogleChrome/lighthouse/blob/
|
|
20
|
+
'[calibrating an appropriate CPU slowdown multiplier](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling).',
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -80,7 +80,7 @@ function getSlowHostCpuWarning(context) {
|
|
|
80
80
|
if (!isThrottledMethod || !isDefaultMultiplier) return;
|
|
81
81
|
|
|
82
82
|
// Only warn if the device didn't meet the threshold.
|
|
83
|
-
// See https://github.com/GoogleChrome/lighthouse/blob/
|
|
83
|
+
// See https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling
|
|
84
84
|
if (baseArtifacts.BenchmarkIndex > SLOW_CPU_BENCHMARK_INDEX_THRESHOLD) return;
|
|
85
85
|
|
|
86
86
|
return str_(UIStrings.warningSlowHostCpu);
|
|
@@ -147,7 +147,7 @@ function assertValidFlags(flags) {
|
|
|
147
147
|
|
|
148
148
|
// @ts-expect-error Checking for removed flags
|
|
149
149
|
if (flags.emulatedFormFactor || flags.internalDisableDeviceScreenEmulation) {
|
|
150
|
-
throw new Error('Invalid emulation flag. Emulation configuration changed in LH 7.0. See https://github.com/GoogleChrome/lighthouse/blob/
|
|
150
|
+
throw new Error('Invalid emulation flag. Emulation configuration changed in LH 7.0. See https://github.com/GoogleChrome/lighthouse/blob/main/docs/emulation.md');
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
|
package/core/lib/cdt/Platform.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
// Functions manually copied from:
|
|
9
|
-
// https://github.com/ChromeDevTools/devtools-frontend/blob/
|
|
9
|
+
// https://github.com/ChromeDevTools/devtools-frontend/blob/main/front_end/core/platform/array-utilities.ts#L125
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* @param {any[]} array
|
package/core/lib/i18n/i18n.js
CHANGED
|
@@ -155,7 +155,7 @@ function lookupLocale(locales, possibleLocales) {
|
|
|
155
155
|
if (!closestLocale) {
|
|
156
156
|
// Log extra info if we're pretty sure this version of Node was built with `--with-intl=small-icu`.
|
|
157
157
|
if (Intl.NumberFormat.supportedLocalesOf('es').length === 0) {
|
|
158
|
-
log.warn('i18n', 'Requested locale not available in this version of node. The `full-icu` npm module can provide additional locales. For help, see https://github.com/GoogleChrome/lighthouse/blob/
|
|
158
|
+
log.warn('i18n', 'Requested locale not available in this version of node. The `full-icu` npm module can provide additional locales. For help, see https://github.com/GoogleChrome/lighthouse/blob/main/readme.md#how-do-i-get-localized-lighthouse-results-via-the-cli');
|
|
159
159
|
}
|
|
160
160
|
// eslint-disable-next-line max-len
|
|
161
161
|
log.warn('i18n', `locale(s) '${locales}' not available. Falling back to default '${DEFAULT_LOCALE}'`);
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* @see https://cs.chromium.org/chromium/src/third_party/blink/renderer/devtools/front_end/sdk/NetworkManager.js
|
|
11
11
|
|
|
12
12
|
A detailed overview of the Chromium networking layer can be found here:
|
|
13
|
-
https://raw.githubusercontent.com/GoogleChrome/lighthouse/
|
|
13
|
+
https://raw.githubusercontent.com/GoogleChrome/lighthouse/main/docs/Network-Timings.svg
|
|
14
14
|
|
|
15
15
|
Below is a simplified model.
|
|
16
16
|
|
package/core/user-flow.js
CHANGED
|
@@ -115,7 +115,7 @@ class UserFlow {
|
|
|
115
115
|
|
|
116
116
|
/**
|
|
117
117
|
* This is an alternative to `navigate()` that can be used to analyze a navigation triggered by user interaction.
|
|
118
|
-
* For more on user triggered navigations, see https://github.com/GoogleChrome/lighthouse/blob/
|
|
118
|
+
* For more on user triggered navigations, see https://github.com/GoogleChrome/lighthouse/blob/main/docs/user-flows.md#triggering-a-navigation-via-user-interactions.
|
|
119
119
|
*
|
|
120
120
|
* @param {StepOptions=} stepOptions
|
|
121
121
|
*/
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Lighthouse [](https://github.com/GoogleChrome/lighthouse/actions/workflows/ci.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/unit.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/smoke.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/ci.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/unit.yml) [](https://github.com/GoogleChrome/lighthouse/actions/workflows/smoke.yml) [](https://codecov.io/gh/GoogleChrome/lighthouse) [](https://lh-build-tracker.herokuapp.com/) [](https://npmjs.org/package/lighthouse)
|
|
2
2
|
|
|
3
3
|
> Lighthouse analyzes web apps and web pages, collecting modern performance metrics and insights on developer best practices.
|
|
4
4
|
|
|
@@ -99,7 +99,7 @@ Configuration:
|
|
|
99
99
|
--screenEmulation Sets screen emulation parameters. See also --preset. Use --screenEmulation.disabled to disable. Otherwise set these 4 parameters individually: --screenEmulation.mobile --screenEmulation.width=360 --screenEmulation.height=640 --screenEmulation.deviceScaleFactor=2
|
|
100
100
|
--emulatedUserAgent Sets useragent emulation [string]
|
|
101
101
|
--max-wait-for-load The timeout (in milliseconds) to wait before the page is considered done loading and the run should continue. WARNING: Very high values can lead to large traces and instability [number]
|
|
102
|
-
--enable-error-reporting Enables error reporting, overriding any saved preference. --no-enable-error-reporting will do the opposite. More: https://github.com/GoogleChrome/lighthouse/blob/
|
|
102
|
+
--enable-error-reporting Enables error reporting, overriding any saved preference. --no-enable-error-reporting will do the opposite. More: https://github.com/GoogleChrome/lighthouse/blob/main/docs/error-reporting.md [boolean]
|
|
103
103
|
--gather-mode, -G Collect artifacts from a connected browser and save to disk. (Artifacts folder path may optionally be provided). If audit-mode is not also enabled, the run will quit early.
|
|
104
104
|
--audit-mode, -A Process saved artifacts from disk. (Artifacts folder path may be provided, otherwise defaults to ./latest-run/)
|
|
105
105
|
--only-audits Only run the specified audits [array]
|
|
@@ -200,7 +200,7 @@ lighthouse -GA=./gmailartifacts https://gmail.com
|
|
|
200
200
|
|
|
201
201
|
#### Notes on Error Reporting
|
|
202
202
|
|
|
203
|
-
The first time you run the CLI you will be prompted with a message asking you if Lighthouse can anonymously report runtime exceptions. The Lighthouse team uses this information to detect new bugs and avoid regressions. Opting out will not affect your ability to use Lighthouse in any way. [Learn more](https://github.com/GoogleChrome/lighthouse/blob/
|
|
203
|
+
The first time you run the CLI you will be prompted with a message asking you if Lighthouse can anonymously report runtime exceptions. The Lighthouse team uses this information to detect new bugs and avoid regressions. Opting out will not affect your ability to use Lighthouse in any way. [Learn more](https://github.com/GoogleChrome/lighthouse/blob/main/docs/error-reporting.md).
|
|
204
204
|
|
|
205
205
|
## Using the Node module
|
|
206
206
|
You can also use Lighthouse programmatically with the Node module.
|
package/report/README.md
CHANGED
|
@@ -8,10 +8,10 @@ Example standalone HTML report, delivered by the CLI: [`dbwtest-3.0.3.html`](htt
|
|
|
8
8
|
|
|
9
9
|
### Report Renderer components
|
|
10
10
|
|
|
11
|
-
1. [`report/generator/report-generator.js`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
11
|
+
1. [`report/generator/report-generator.js`](https://github.com/GoogleChrome/lighthouse/blob/main/report/generator/report-generator.js) is the entry point for generating the HTML from Node. It compiles together the HTML string with everything required within it.
|
|
12
12
|
- It runs natively in Node.js but can run in the browser after a compile step is applied during our bundling pipeline. That compile step uses `inline-fs`, which takes any `fs.readFileSync()` calls and replaces them with the stringified file content.
|
|
13
|
-
1. [`report/renderer`](https://github.com/GoogleChrome/lighthouse/tree/
|
|
14
|
-
1. [`report/assets/standalone-template.html`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
13
|
+
1. [`report/renderer`](https://github.com/GoogleChrome/lighthouse/tree/main/report/renderer) are all client-side JS files. They transform an LHR object into a report DOM tree. They are all executed within the browser.
|
|
14
|
+
1. [`report/assets/standalone-template.html`](https://github.com/GoogleChrome/lighthouse/blob/main/lighthouse-core/report/html/report-template.html) is where the client-side build of the DOM report is typically kicked off ([with these four lines](https://github.com/GoogleChrome/lighthouse/blob/eda3a3e2e271249f261655f9504fd542d6acf0f8/lighthouse-core/report/html/report-template.html#L29-L33)) However, see _Current Uses.._ below for more possibilities.
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
### Data Hydration
|
|
@@ -19,14 +19,13 @@ Example standalone HTML report, delivered by the CLI: [`dbwtest-3.0.3.html`](htt
|
|
|
19
19
|
|
|
20
20
|
Examples:
|
|
21
21
|
|
|
22
|
-
* [`templates.html`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
23
|
-
* [`performance-category-renderer.js`](https://github.com/GoogleChrome/lighthouse/blob/
|
|
22
|
+
* [`templates.html`](https://github.com/GoogleChrome/lighthouse/blob/main/report/assets/templates.html)
|
|
23
|
+
* [`performance-category-renderer.js`](https://github.com/GoogleChrome/lighthouse/blob/main/report/renderer/performance-category-renderer.js)
|
|
24
24
|
|
|
25
25
|
### Current uses of report renderer
|
|
26
26
|
|
|
27
27
|
The renderer was designed to be portable across various environments.
|
|
28
28
|
|
|
29
|
-
1. _LH
|
|
30
|
-
1.
|
|
31
|
-
1.
|
|
32
|
-
1. _Hosted [Lighthouse Viewer](https://googlechrome.github.io/lighthouse/viewer/)_: It's a webapp that has the renderer (along with some [additional features](https://github.com/GoogleChrome/lighthouse/blob/master/report/renderer/report-ui-features.js)) all compiled into a [`viewer.js`](https://googlechrome.github.io/lighthouse/viewer/src/viewer.js) file. Same [basic approach](https://github.com/GoogleChrome/lighthouse/blob/440155cdda377c458c0efce006bc3a69ce2a351c/lighthouse-viewer/app/src/lighthouse-report-viewer.js#L116-L117) there.
|
|
29
|
+
1. _LH CLI_: It [creates the HTML as the runner finishes up](https://github.com/GoogleChrome/lighthouse/blob/da3c865d698abc9365fa7bb087a08ce8c89b0a05/core/runner.js#L130-L131) and [saves it to disk](https://github.com/GoogleChrome/lighthouse/blob/da3c865d698abc9365fa7bb087a08ce8c89b0a05/cli/printer.js#L52-L70).
|
|
30
|
+
1. _Chrome DevTools Lighthouse Panel_: The `renderer` files are rolled into the Chromium repo, and they execute within the DevTools context. The audits panel [receives the LHR object from a WebWorker](https://github.com/ChromeDevTools/devtools-frontend/blob/e540d8037c1f724d61ae70553cc630a0453efebe/front_end/panels/lighthouse/LighthouseProtocolService.ts#L122-L142), through a `postMessage` and then runs [the renderer within DevTools UI](https://github.com/ChromeDevTools/devtools-frontend/blob/e540d8037c1f724d61ae70553cc630a0453efebe/front_end/panels/lighthouse/LighthousePanel.ts#L293-L317), making a few [simplifications](https://github.com/ChromeDevTools/devtools-frontend/blob/main/front_end/panels/lighthouse/LighthouseReportRenderer.ts).
|
|
31
|
+
1. _Hosted [Lighthouse Viewer](https://googlechrome.github.io/lighthouse/viewer/)_: It's a webapp that has the renderer (along with some [additional features](https://github.com/GoogleChrome/lighthouse/blob/main/report/renderer/report-ui-features.js)) all compiled into a [`main-XXX.js`](https://github.com/GoogleChrome/lighthouse/tree/main/viewer/app/src) file. Same [basic approach](https://github.com/GoogleChrome/lighthouse/blob/da3c865d698abc9365fa7bb087a08ce8c89b0a05/viewer/app/src/lighthouse-report-viewer.js#L235-L239) there.
|
|
@@ -1668,7 +1668,7 @@
|
|
|
1668
1668
|
"message": "Mobile Friendly"
|
|
1669
1669
|
},
|
|
1670
1670
|
"core/gather/driver/environment.js | warningSlowHostCpu": {
|
|
1671
|
-
"message": "The tested device appears to have a slower CPU than Lighthouse expects. This can negatively affect your performance score. Learn more about [calibrating an appropriate CPU slowdown multiplier](https://github.com/GoogleChrome/lighthouse/blob/
|
|
1671
|
+
"message": "The tested device appears to have a slower CPU than Lighthouse expects. This can negatively affect your performance score. Learn more about [calibrating an appropriate CPU slowdown multiplier](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling)."
|
|
1672
1672
|
},
|
|
1673
1673
|
"core/gather/driver/navigation.js | warningRedirected": {
|
|
1674
1674
|
"message": "The page may not be loading as expected because your test URL ({requested}) was redirected to {final}. Try testing the second URL directly."
|
|
@@ -1668,7 +1668,7 @@
|
|
|
1668
1668
|
"message": "M̂ób̂íl̂é F̂ŕîén̂d́l̂ý"
|
|
1669
1669
|
},
|
|
1670
1670
|
"core/gather/driver/environment.js | warningSlowHostCpu": {
|
|
1671
|
-
"message": "T̂h́ê t́êśt̂éd̂ d́êv́îćê áp̂ṕêár̂ś t̂ó ĥáv̂é â śl̂óŵér̂ ĆP̂Ú t̂h́âń L̂íĝh́t̂h́ôúŝé êx́p̂éĉt́ŝ. T́ĥíŝ ćâń n̂éĝát̂ív̂él̂ý âf́f̂éĉt́ ŷóûŕ p̂ér̂f́ôŕm̂án̂ćê śĉór̂é. L̂éâŕn̂ ḿôŕê áb̂óût́ [ĉál̂íb̂ŕât́îńĝ án̂ áp̂ṕr̂óp̂ŕîát̂é ĈṔÛ śl̂óŵd́ôẃn̂ ḿûĺt̂íp̂ĺîér̂](https://github.com/GoogleChrome/lighthouse/blob/
|
|
1671
|
+
"message": "T̂h́ê t́êśt̂éd̂ d́êv́îćê áp̂ṕêár̂ś t̂ó ĥáv̂é â śl̂óŵér̂ ĆP̂Ú t̂h́âń L̂íĝh́t̂h́ôúŝé êx́p̂éĉt́ŝ. T́ĥíŝ ćâń n̂éĝát̂ív̂él̂ý âf́f̂éĉt́ ŷóûŕ p̂ér̂f́ôŕm̂án̂ćê śĉór̂é. L̂éâŕn̂ ḿôŕê áb̂óût́ [ĉál̂íb̂ŕât́îńĝ án̂ áp̂ṕr̂óp̂ŕîát̂é ĈṔÛ śl̂óŵd́ôẃn̂ ḿûĺt̂íp̂ĺîér̂](https://github.com/GoogleChrome/lighthouse/blob/main/docs/throttling.md#cpu-throttling)."
|
|
1672
1672
|
},
|
|
1673
1673
|
"core/gather/driver/navigation.js | warningRedirected": {
|
|
1674
1674
|
"message": "T̂h́ê ṕâǵê ḿâý n̂ót̂ b́ê ĺôád̂ín̂ǵ âś êx́p̂éĉt́êd́ b̂éĉáûśê ýôúr̂ t́êśt̂ ÚR̂Ĺ ({requested}) ŵáŝ ŕêd́îŕêćt̂éd̂ t́ô {final}. T́r̂ý t̂éŝt́îńĝ t́ĥé ŝéĉón̂d́ ÛŔL̂ d́îŕêćt̂ĺŷ."
|