lighthouse 9.5.0-dev.20220417 → 9.5.0-dev.20220418

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.
Files changed (72) hide show
  1. package/lighthouse-cli/.eslintrc.cjs +3 -4
  2. package/lighthouse-cli/bin.js +0 -1
  3. package/lighthouse-cli/cli-flags.js +0 -1
  4. package/lighthouse-cli/commands/commands.js +0 -1
  5. package/lighthouse-cli/commands/list-audits.js +0 -1
  6. package/lighthouse-cli/commands/list-locales.js +0 -1
  7. package/lighthouse-cli/commands/list-trace-categories.js +0 -1
  8. package/lighthouse-cli/index.js +0 -1
  9. package/lighthouse-cli/printer.js +0 -1
  10. package/lighthouse-cli/run.js +0 -1
  11. package/lighthouse-cli/sentry-prompt.js +0 -1
  12. package/lighthouse-cli/test/smokehouse/core-tests.js +0 -1
  13. package/lighthouse-cli/test/smokehouse/frontends/back-compat-util.js +0 -1
  14. package/lighthouse-cli/test/smokehouse/frontends/lib.js +0 -1
  15. package/lighthouse-cli/test/smokehouse/frontends/node.js +0 -1
  16. package/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js +0 -1
  17. package/lighthouse-cli/test/smokehouse/lib/child-process-error.js +0 -1
  18. package/lighthouse-cli/test/smokehouse/lib/concurrent-mapper.js +0 -1
  19. package/lighthouse-cli/test/smokehouse/lib/local-console.js +0 -1
  20. package/lighthouse-cli/test/smokehouse/lighthouse-runners/bundle.js +0 -1
  21. package/lighthouse-cli/test/smokehouse/lighthouse-runners/cli.js +0 -1
  22. package/lighthouse-cli/test/smokehouse/lighthouse-runners/devtools.js +0 -1
  23. package/lighthouse-cli/test/smokehouse/report-assert.js +0 -1
  24. package/lighthouse-cli/test/smokehouse/smokehouse.js +0 -1
  25. package/lighthouse-core/gather/gatherers/full-page-screenshot.js +3 -2
  26. package/lighthouse-core/lib/stack-packs.js +4 -0
  27. package/lighthouse-core/scripts/manual-chrome-launcher.js +0 -1
  28. package/lighthouse-core/util-commonjs.js +1 -1
  29. package/package.json +2 -2
  30. package/report/.eslintrc.cjs +3 -1
  31. package/report/clients/bundle.js +0 -1
  32. package/report/clients/standalone.js +0 -1
  33. package/report/renderer/api.js +0 -1
  34. package/report/renderer/category-renderer.js +0 -1
  35. package/report/renderer/components.js +0 -2
  36. package/report/renderer/crc-details-renderer.js +0 -1
  37. package/report/renderer/details-renderer.js +0 -1
  38. package/report/renderer/dom.js +0 -1
  39. package/report/renderer/drop-down-menu.js +0 -1
  40. package/report/renderer/element-screenshot-renderer.js +0 -1
  41. package/report/renderer/features-util.js +0 -1
  42. package/report/renderer/i18n.js +0 -1
  43. package/report/renderer/logger.js +0 -1
  44. package/report/renderer/open-tab.js +0 -1
  45. package/report/renderer/performance-category-renderer.js +0 -1
  46. package/report/renderer/pwa-category-renderer.js +0 -1
  47. package/report/renderer/report-renderer.js +0 -1
  48. package/report/renderer/report-ui-features.js +0 -1
  49. package/report/renderer/snippet-renderer.js +0 -1
  50. package/report/renderer/swap-locale-feature.js +0 -1
  51. package/report/renderer/text-encoding.js +0 -1
  52. package/report/renderer/topbar-features.js +0 -1
  53. package/report/renderer/util.js +0 -1
  54. package/report/test/clients/bundle-test.js +0 -1
  55. package/report/test/renderer/category-renderer-test.js +0 -1
  56. package/report/test/renderer/components-test.js +0 -1
  57. package/report/test/renderer/crc-details-renderer-test.js +0 -1
  58. package/report/test/renderer/details-renderer-test.js +0 -1
  59. package/report/test/renderer/dom-test.js +0 -1
  60. package/report/test/renderer/element-screenshot-renderer-test.js +0 -1
  61. package/report/test/renderer/i18n-test.js +0 -1
  62. package/report/test/renderer/performance-category-renderer-test.js +0 -1
  63. package/report/test/renderer/pwa-category-renderer-test.js +0 -1
  64. package/report/test/renderer/report-renderer-axe-test.js +0 -1
  65. package/report/test/renderer/report-renderer-test.js +0 -1
  66. package/report/test/renderer/report-ui-features-test.js +0 -1
  67. package/report/test/renderer/snippet-renderer-test.js +0 -1
  68. package/report/test/renderer/text-encoding-test.js +0 -1
  69. package/report/test/renderer/util-test.js +0 -1
  70. package/report/test-assets/faux-psi.js +0 -1
  71. package/shared/localization/locales/en-US.json +25 -4
  72. package/shared/localization/locales/en-XL.json +25 -4
@@ -3,12 +3,8 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  module.exports = {
9
- env: {
10
- browser: true,
11
- },
12
8
  rules: {
13
9
  // TODO(esmodules): move to root eslint when all code is ESM
14
10
  // or when this is resolved: https://github.com/import-js/eslint-plugin-import/issues/2214
@@ -26,4 +22,7 @@ module.exports = {
26
22
  'import/group-exports': 2,
27
23
  'import/exports-last': 2,
28
24
  },
25
+ parserOptions: {
26
+ sourceType: 'module',
27
+ },
29
28
  };
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview The relationship between these CLI modules:
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-disable max-len */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  export {listAudits} from './list-audits.js';
9
8
  export {listTraceCategories} from './list-trace-categories.js';
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import lighthouse from '../../lighthouse-core/index.js';
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import locales from '../../shared/localization/locales.js';
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import lighthouse from '../../lighthouse-core/index.js';
9
8
 
@@ -4,7 +4,6 @@
4
4
  * 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
5
5
  * 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.
6
6
  */
7
- 'use strict';
8
7
 
9
8
  import {begin} from './bin.js';
10
9
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import fs from 'fs';
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-disable no-console */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import Configstore from 'configstore';
9
8
  import Confirm from 'enquirer';
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import a11y from './test-definitions/a11y.js';
9
8
  import byteEfficiency from './test-definitions/byte-efficiency.js';
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * COMPAT: update from the old TestDefn format (array of `expectations` per
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview Smoke test runner.
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview A smokehouse frontend for running within a node process.
@@ -4,7 +4,6 @@
4
4
  * 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
5
5
  * 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.
6
6
  */
7
- 'use strict';
8
7
 
9
8
  /**
10
9
  * @fileoverview A smokehouse frontend for running from the command line. Parse
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * An extension of Error that includes any stdout or stderr from a child
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * A class that maintains a concurrency pool to coordinate many jobs that should
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * A simple buffered log to use in place of `console`.
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview A runner that launches Chrome and executes Lighthouse via a
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview A runner that executes Lighthouse via the Lighthouse CLI to
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview A runner that launches Chrome and executes Lighthouse via DevTools.
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview An assertion library for comparing smoke-test expectations
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview An end-to-end test runner for Lighthouse. Takes a set of smoke
@@ -15,6 +15,7 @@ const {waitForNetworkIdle} = require('../driver/wait-for-condition.js');
15
15
 
16
16
  // JPEG quality setting
17
17
  // Exploration and examples of reports using different quality settings: https://docs.google.com/document/d/1ZSffucIca9XDW2eEwfoevrk-OTl7WQFeMf0CgeJAA8M/edit#
18
+ // Note: this analysis was done for JPEG, but now we use WEBP.
18
19
  const FULL_PAGE_SCREENSHOT_QUALITY = 30;
19
20
 
20
21
  /**
@@ -118,10 +119,10 @@ class FullPageScreenshot extends FRGatherer {
118
119
  await context.driver.executionContext.evaluate(waitForDoubleRaf, {args: []});
119
120
 
120
121
  const result = await session.sendCommand('Page.captureScreenshot', {
121
- format: 'jpeg',
122
+ format: 'webp',
122
123
  quality: FULL_PAGE_SCREENSHOT_QUALITY,
123
124
  });
124
- const data = 'data:image/jpeg;base64,' + result.data;
125
+ const data = 'data:image/webp;base64,' + result.data;
125
126
 
126
127
  return {
127
128
  data,
@@ -48,6 +48,10 @@ const stackPacksToInclude = [
48
48
  packId: 'next.js',
49
49
  requiredStacks: ['js:next'],
50
50
  },
51
+ {
52
+ packId: 'nuxt',
53
+ requiredStacks: ['js:nuxt'],
54
+ },
51
55
  {
52
56
  packId: 'angular',
53
57
  requiredStacks: ['js:@angular/core'],
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- 'use strict';
4
3
 
5
4
  /**
6
5
  * @fileoverview Script to launch a clean Chrome instance on-demand.
@@ -1,6 +1,7 @@
1
1
  // @ts-nocheck
2
2
  // Auto-generated by lighthouse-core/scripts/copy-util-commonjs.sh
3
3
  // Temporary solution until all our code uses esmodules
4
+ 'use strict';
4
5
  /**
5
6
  * @license
6
7
  * Copyright 2017 The Lighthouse Authors. All Rights Reserved.
@@ -17,7 +18,6 @@
17
18
  * See the License for the specific language governing permissions and
18
19
  * limitations under the License.
19
20
  */
20
- 'use strict';
21
21
 
22
22
  /** @template T @typedef {import('./i18n').I18n<T>} I18n */
23
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lighthouse",
3
- "version": "9.5.0-dev.20220417",
3
+ "version": "9.5.0-dev.20220418",
4
4
  "description": "Automated auditing, performance metrics, and best practices for the web.",
5
5
  "main": "./lighthouse-core/index.js",
6
6
  "bin": {
@@ -193,7 +193,7 @@
193
193
  "jpeg-js": "^0.4.3",
194
194
  "js-library-detector": "^6.4.0",
195
195
  "lighthouse-logger": "^1.3.0",
196
- "lighthouse-stack-packs": "^1.7.0",
196
+ "lighthouse-stack-packs": "^1.8.1",
197
197
  "lodash": "^4.17.21",
198
198
  "lookup-closest-locale": "6.2.0",
199
199
  "metaviewport-parser": "0.2.0",
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * eslint does not support ESM rc files, so this must be a .cjs file.
@@ -32,4 +31,7 @@ module.exports = {
32
31
  'import/group-exports': 2,
33
32
  'import/exports-last': 2,
34
33
  },
34
+ parserOptions: {
35
+ sourceType: 'module',
36
+ },
35
37
  };
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  // This file is used to generate a bundle that can be imported
9
8
  // into an esmodules codebase to render the lighthouse report.
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview The entry point for rendering the Lighthouse report for the HTML
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
 
9
8
  import {DOM} from '../renderer/dom.js';
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  /** @typedef {import('./dom.js').DOM} DOM */
20
19
  /** @typedef {import('./report-renderer.js').ReportRenderer} ReportRenderer */
@@ -1,5 +1,3 @@
1
- 'use strict';
2
-
3
1
  // auto-generated by build/build-report-components.js
4
2
 
5
3
  /** @typedef {import('./dom.js').DOM} DOM */
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  /**
20
19
  * @fileoverview This file contains helpers for constructing and rendering the
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  /** @typedef {import('./dom.js').DOM} DOM */
20
19
 
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  /* eslint-env browser */
20
19
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env browser */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview These functions define {Rect}s and {Size}s using two different coordinate spaces:
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env browser */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  // Not named `NBSP` because that creates a duplicate identifier (util.js).
9
8
  const NBSP2 = '\xa0';
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  /**
20
19
  * Logs messages via a UI butter.
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  import {TextEncoding} from './text-encoding.js';
20
19
 
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  /** @typedef {import('./dom.js').DOM} DOM */
20
19
 
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  import {Util} from './util.js';
20
19
  import {CategoryRenderer} from './category-renderer.js';
@@ -17,7 +17,6 @@
17
17
  * Dummy text for ensuring report robustness: </script> pre$`post %%LIGHTHOUSE_JSON%%
18
18
  * (this is handled by terser)
19
19
  */
20
- 'use strict';
21
20
 
22
21
  /** @typedef {import('./dom.js').DOM} DOM */
23
22
 
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  /**
20
19
  * @fileoverview Adds tools button, print, and other dynamic functionality to
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /** @typedef {import('./details-renderer').DetailsRenderer} DetailsRenderer */
9
8
  /** @typedef {import('./dom').DOM} DOM */
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /**
9
8
  * @fileoverview Creates a <select> element, filled with all supported locales
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* global CompressionStream */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env browser */
9
8
 
@@ -14,7 +14,6 @@
14
14
  * See the License for the specific language governing permissions and
15
15
  * limitations under the License.
16
16
  */
17
- 'use strict';
18
17
 
19
18
  /** @template T @typedef {import('./i18n').I18n<T>} I18n */
20
19
 
@@ -4,7 +4,6 @@
4
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
5
  */
6
6
 
7
- 'use strict';
8
7
 
9
8
  import fs from 'fs';
10
9
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import {strict as assert} from 'assert';
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import {strict as assert} from 'assert';
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import {strict as assert} from 'assert';
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /* eslint-env jest */
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import fs from 'fs';
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  import {strict as assert} from 'assert';
9
8
 
@@ -3,7 +3,6 @@
3
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
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
5
  */
6
- 'use strict';
7
6
 
8
7
  /** @fileoverview This file exercises two LH reports within the same DOM. */
9
8
 
@@ -2112,7 +2112,7 @@
2112
2112
  "message": "Specify `@font-display` when defining custom fonts in your theme."
2113
2113
  },
2114
2114
  "node_modules/lighthouse-stack-packs/packs/drupal.js | modern-image-formats": {
2115
- "message": "Consider installing and configuring [a module to leverage WebP image formats](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=webp&solrsort=iss_project_release_usage+desc&op=Search) in your site. Such modules automatically generate a WebP version of your uploaded images to optimize loading times."
2115
+ "message": "Consider configuring [WebP image formats with a Convert image style](https://www.drupal.org/docs/core-modules-and-themes/core-modules/image-module/working-with-images#styles) on your site."
2116
2116
  },
2117
2117
  "node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
2118
2118
  "message": "Install [a Drupal module](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A67&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=%22lazy+load%22&solrsort=iss_project_release_usage+desc&op=Search) that can lazy load images. Such modules provide the ability to defer any offscreen images to improve performance."
@@ -2268,10 +2268,10 @@
2268
2268
  "message": "`<link rel=preload>` tags can be added by [modifying a themes's layout](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
2269
2269
  },
2270
2270
  "node_modules/lighthouse-stack-packs/packs/next.js | modern-image-formats": {
2271
- "message": "Use the `Next.js` Image Optimization API to serve modern formats like `WebP` and `AVIF`. [Learn more](https://nextjs.org/docs/api-reference/next/image#acceptable-formats)."
2271
+ "message": "Use the `next/image` component instead of `<img>` to automatically optimize image format. [Learn more](https://nextjs.org/docs/basic-features/image-optimization)."
2272
2272
  },
2273
2273
  "node_modules/lighthouse-stack-packs/packs/next.js | offscreen-images": {
2274
- "message": "Use the `next/image` component, which defaults to `loading=\"lazy\"`. [Learn more](https://nextjs.org/docs/api-reference/next/image#loading)."
2274
+ "message": "Use the `next/image` component instead of `<img>` to automatically lazy-load images. [Learn more](https://nextjs.org/docs/basic-features/image-optimization)."
2275
2275
  },
2276
2276
  "node_modules/lighthouse-stack-packs/packs/next.js | preload-lcp-image": {
2277
2277
  "message": "Use the `next/image` component and set \"priority\" to true to preload LCP image. [Learn more](https://nextjs.org/docs/api-reference/next/image#priority)."
@@ -2279,6 +2279,9 @@
2279
2279
  "node_modules/lighthouse-stack-packs/packs/next.js | render-blocking-resources": {
2280
2280
  "message": "Use the `next/script` component to defer loading of non-critical third-party scripts. [Learn more](https://nextjs.org/docs/basic-features/script)."
2281
2281
  },
2282
+ "node_modules/lighthouse-stack-packs/packs/next.js | unsized-images": {
2283
+ "message": "Use the `next/image` component to make sure images are always sized appropriately. [Learn more](https://nextjs.org/docs/api-reference/next/image#width)."
2284
+ },
2282
2285
  "node_modules/lighthouse-stack-packs/packs/next.js | unused-css-rules": {
2283
2286
  "message": "Consider setting up `PurgeCSS` in `Next.js` configuration to remove unused rules from stylesheets. [Learn more](https://purgecss.com/guides/next.html)."
2284
2287
  },
@@ -2292,7 +2295,7 @@
2292
2295
  "message": "Configure caching for immutable assets and `Server-side Rendered` (SSR) pages. [Learn more](https://nextjs.org/docs/going-to-production#caching)."
2293
2296
  },
2294
2297
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-optimized-images": {
2295
- "message": "Use the `next/image` component instead of `<img>` to optimize images. [Learn more](https://nextjs.org/docs/basic-features/image-optimization)."
2298
+ "message": "Use the `next/image` component instead of `<img>` to adjust image quality. [Learn more](https://nextjs.org/docs/basic-features/image-optimization)."
2296
2299
  },
2297
2300
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-responsive-images": {
2298
2301
  "message": "Use the `next/image` component to set the appropriate `sizes`. [Learn more](https://nextjs.org/docs/api-reference/next/image#sizes)."
@@ -2300,6 +2303,24 @@
2300
2303
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-text-compression": {
2301
2304
  "message": "Enable compression on your Next.js server. [Learn more](https://nextjs.org/docs/api-reference/next.config.js/compression)."
2302
2305
  },
2306
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
2307
+ "message": "Use the `nuxt/image` component and set `format=\"webp\"`. [Learn more](https://image.nuxtjs.org/components/nuxt-img#format)."
2308
+ },
2309
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | offscreen-images": {
2310
+ "message": "Use the `nuxt/image` component and set `loading=\"lazy\"` for offscreen images. [Learn more](https://image.nuxtjs.org/components/nuxt-img#loading)."
2311
+ },
2312
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | preload-lcp-image": {
2313
+ "message": "Use the `nuxt/image` component and specify `preload` for LCP image. [Learn more](https://image.nuxtjs.org/components/nuxt-img#preload)."
2314
+ },
2315
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | unsized-images": {
2316
+ "message": "Use the `nuxt/image` component and specify explicit `width` and `height`. [Learn more](https://image.nuxtjs.org/components/nuxt-img#width--height)."
2317
+ },
2318
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-optimized-images": {
2319
+ "message": "Use the `nuxt/image` component and set the appropriate `quality`. [Learn more](https://image.nuxtjs.org/components/nuxt-img#quality)."
2320
+ },
2321
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-responsive-images": {
2322
+ "message": "Use the `nuxt/image` component and set the appropriate `sizes`. [Learn more](https://image.nuxtjs.org/components/nuxt-img#sizes)."
2323
+ },
2303
2324
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | efficient-animated-content": {
2304
2325
  "message": "[Replace animated GIFs with video](https://web.dev/replace-gifs-with-videos/) for faster web page loads and consider using modern file formats such as [WebM](https://web.dev/replace-gifs-with-videos/#create-webm-videos) or [AV1](https://developers.google.com/web/updates/2018/09/chrome-70-media-updates#av1-decoder) to improve compression efficiency by greater than 30% over the current state-of-the-art video codec, VP9."
2305
2326
  },
@@ -2112,7 +2112,7 @@
2112
2112
  "message": "Ŝṕêćîf́ŷ `@font-display` ẃĥén̂ d́êf́îńîńĝ ćûśt̂óm̂ f́ôńt̂ś îń ŷóûŕ t̂h́êḿê."
2113
2113
  },
2114
2114
  "node_modules/lighthouse-stack-packs/packs/drupal.js | modern-image-formats": {
2115
- "message": "Ĉón̂śîd́êŕ îńŝt́âĺl̂íǵ âńd̂ ćôńf̂íĝúr̂ín̂ǵ [â ḿôd́ĺê t́ô ĺêv́êŕâǵê Ẃêb́P̂ ím̂áĝé f̂ór̂ḿât́ŝ](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=webp&solrsort=iss_project_release_usage+desc&op=Search) ín̂ ýôúr̂ śît́ê. Śûćḿôd́ûĺêś âúóm̂át̂íĉál̂ĺŷ ǵêêŕât́ê áéb̂ v̂ér̂śîón̂ óf̂ ýôúr̂ úp̂ĺôád̂éd̂ ím̂áĝéŝ t́ô óp̂t́ḿîźê ĺôád̂ín̂ǵ t̂íéŝ."
2115
+ "message": "Ĉón̂śîd́êŕ ĉón̂f́îǵûŕîńĝ [Ẃêb́P̂ ím̂áĝé f̂ór̂ḿât́ŝ ẃît́ĥ án̂v́êŕt̂ ím̂áĝé ŝt́ŷĺê](https://www.drupal.org/docs/core-modules-and-themes/core-modules/image-module/working-with-images#styles) ón̂ ýôúr̂ śît́ê."
2116
2116
  },
2117
2117
  "node_modules/lighthouse-stack-packs/packs/drupal.js | offscreen-images": {
2118
2118
  "message": "Îńŝt́âĺl̂ [á D̂ŕûṕâĺ m̂ód̂úl̂é](https://www.drupal.org/project/project_module?f%5B0%5D=&f%5B1%5D=&f%5B2%5D=im_vid_3%3A67&f%5B3%5D=&f%5B4%5D=sm_field_project_type%3Afull&f%5B5%5D=&f%5B6%5D=&text=%22lazy+load%22&solrsort=iss_project_release_usage+desc&op=Search) t̂h́ât́ ĉán̂ ĺâźŷ ĺôád̂ ím̂áĝéŝ. Śûćĥ ḿôd́ûĺêś p̂ŕôv́îd́ê t́ĥé âb́îĺît́ŷ t́ô d́êf́êŕ âńŷ óf̂f́ŝćr̂éêń îḿâǵêś t̂ó îḿp̂ŕôv́ê ṕêŕf̂ór̂ḿâńĉé."
@@ -2268,10 +2268,10 @@
2268
2268
  "message": "`<link rel=preload>` t̂áĝś ĉán̂ b́ê ád̂d́êd́ b̂ý [m̂ód̂íf̂ýîńĝ á t̂h́êḿêś'ŝ ĺâýôút̂](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/xml-manage.html)."
2269
2269
  },
2270
2270
  "node_modules/lighthouse-stack-packs/packs/next.js | modern-image-formats": {
2271
- "message": "Ûśê t́ĥé `Next.js` Îḿâǵê Óp̂t́îḿîźât́îó ÁP̂Í t̂ó ŝér̂v́ê ḿôd́êŕn̂ f́ôŕm̂át̂ś l̂ík̂é `WebP` ńd̂ `AVIF`. [Ĺêár̂ór̂](https://nextjs.org/docs/api-reference/next/image#acceptable-formats)."
2271
+ "message": "Ûśê t́ĥé `next/image` ĉm̂ṕôńêńt̂ ín̂śt̂éâd́ ôf́ `<img>` t̂âút̂óm̂át̂íĉál̂ĺŷ óp̂t́îḿîźê ím̂áĝé f̂ór̂ḿât́. [L̂éâŕn̂ ḿôŕê](https://nextjs.org/docs/basic-features/image-optimization)."
2272
2272
  },
2273
2273
  "node_modules/lighthouse-stack-packs/packs/next.js | offscreen-images": {
2274
- "message": "Ûśê t́ĥé `next/image` ĉóm̂ṕôńêńt̂, ẃĥíĉh́ d̂éf̂áûĺt̂ś t̂ó `loading=\"lazy\"`. [L̂éâŕôŕ](https://nextjs.org/docs/api-reference/next/image#loading)."
2274
+ "message": "Ûśê t́ĥé `next/image` ĉóm̂ṕôńêńt̂ ín̂śt̂éâd́ ôf́ `<img>` t̂âút̂óm̂áíĉál̂ĺŷ ĺâźŷ-ĺôá ím̂áĝéŝ. [Ĺêár̂ń m̂ór̂é](https://nextjs.org/docs/basic-features/image-optimization)."
2275
2275
  },
2276
2276
  "node_modules/lighthouse-stack-packs/packs/next.js | preload-lcp-image": {
2277
2277
  "message": "Ûśê t́ĥé `next/image` ĉóm̂ṕôńêńt̂ án̂d́ ŝét̂ \"ṕr̂íôŕît́ŷ\" t́ô t́r̂úê t́ô ṕr̂él̂óâd́ L̂ĆP̂ ím̂áĝé. [L̂éâŕn̂ ḿôŕê](https://nextjs.org/docs/api-reference/next/image#priority)."
@@ -2279,6 +2279,9 @@
2279
2279
  "node_modules/lighthouse-stack-packs/packs/next.js | render-blocking-resources": {
2280
2280
  "message": "Ûśê t́ĥé `next/script` ĉóm̂ṕôńêńt̂ t́ô d́êf́êŕ l̂óâd́îńĝ óf̂ ńôń-ĉŕît́îćâĺ t̂h́îŕd̂-ṕâŕt̂ý ŝćr̂íp̂t́ŝ. [Ĺêár̂ń m̂ór̂é](https://nextjs.org/docs/basic-features/script)."
2281
2281
  },
2282
+ "node_modules/lighthouse-stack-packs/packs/next.js | unsized-images": {
2283
+ "message": "Ûśê t́ĥé `next/image` ĉóm̂ṕôńêńt̂ t́ô ḿâḱê śûŕê ím̂áĝéŝ ár̂é âĺŵáŷś ŝíẑéd̂ áp̂ṕr̂óp̂ŕîát̂él̂ý. [L̂éâŕn̂ ḿôŕê](https://nextjs.org/docs/api-reference/next/image#width)."
2284
+ },
2282
2285
  "node_modules/lighthouse-stack-packs/packs/next.js | unused-css-rules": {
2283
2286
  "message": "Ĉón̂śîd́êŕ ŝét̂t́îńĝ úp̂ `PurgeCSS` ín̂ `Next.js` ćôńf̂íĝúr̂át̂íôń t̂ó r̂ém̂óv̂é ûńûśêd́ r̂úl̂éŝ f́r̂óm̂ śt̂ýl̂éŝh́êét̂ś. [L̂éâŕn̂ ḿôŕê](https://purgecss.com/guides/next.html)."
2284
2287
  },
@@ -2292,7 +2295,7 @@
2292
2295
  "message": "Ĉón̂f́îǵûŕê ćâćĥín̂ǵ f̂ór̂ ím̂ḿût́âb́l̂é âśŝét̂ś âńd̂ `Server-side Rendered` (ŚŜŔ) p̂áĝéŝ. [Ĺêár̂ń m̂ór̂é](https://nextjs.org/docs/going-to-production#caching)."
2293
2296
  },
2294
2297
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-optimized-images": {
2295
- "message": "Ûśê t́ĥé `next/image` ĉóm̂ṕôńêńt̂ ín̂śt̂éâd́ ôf́ `<img>` t̂ó ôṕt̂ím̂íẑé îḿâǵêś. [L̂éâŕn̂ ḿôŕê](https://nextjs.org/docs/basic-features/image-optimization)."
2298
+ "message": "Ûśê t́ĥé `next/image` ĉóm̂ṕôńêńt̂ ín̂śt̂éâd́ ôf́ `<img>` t̂ó âd́ĵúŝt́ îḿâǵê q́ûál̂ít̂ý. [L̂éâŕn̂ ḿôŕê](https://nextjs.org/docs/basic-features/image-optimization)."
2296
2299
  },
2297
2300
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-responsive-images": {
2298
2301
  "message": "Ûśê t́ĥé `next/image` ĉóm̂ṕôńêńt̂ t́ô śêt́ t̂h́ê áp̂ṕr̂óp̂ŕîát̂é `sizes`. [L̂éâŕn̂ ḿôŕê](https://nextjs.org/docs/api-reference/next/image#sizes)."
@@ -2300,6 +2303,24 @@
2300
2303
  "node_modules/lighthouse-stack-packs/packs/next.js | uses-text-compression": {
2301
2304
  "message": "Êńâb́l̂é ĉóm̂ṕr̂éŝśîón̂ ón̂ ýôúr̂ Ńêx́t̂.j́ŝ śêŕv̂ér̂. [Ĺêár̂ń m̂ór̂é](https://nextjs.org/docs/api-reference/next.config.js/compression)."
2302
2305
  },
2306
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | modern-image-formats": {
2307
+ "message": "Ûśê t́ĥé `nuxt/image` ĉóm̂ṕôńêńt̂ án̂d́ ŝét̂ `format=\"webp\"`. [Ĺêár̂ń m̂ór̂é](https://image.nuxtjs.org/components/nuxt-img#format)."
2308
+ },
2309
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | offscreen-images": {
2310
+ "message": "Ûśê t́ĥé `nuxt/image` ĉóm̂ṕôńêńt̂ án̂d́ ŝét̂ `loading=\"lazy\"` f́ôŕ ôf́f̂śĉŕêén̂ ím̂áĝéŝ. [Ĺêár̂ń m̂ór̂é](https://image.nuxtjs.org/components/nuxt-img#loading)."
2311
+ },
2312
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | preload-lcp-image": {
2313
+ "message": "Ûśê t́ĥé `nuxt/image` ĉóm̂ṕôńêńt̂ án̂d́ ŝṕêćîf́ŷ `preload` f́ôŕ L̂ĆP̂ ím̂áĝé. [L̂éâŕn̂ ḿôŕê](https://image.nuxtjs.org/components/nuxt-img#preload)."
2314
+ },
2315
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | unsized-images": {
2316
+ "message": "Ûśê t́ĥé `nuxt/image` ĉóm̂ṕôńêńt̂ án̂d́ ŝṕêćîf́ŷ éx̂ṕl̂íĉít̂ `width` án̂d́ `height`. [L̂éâŕn̂ ḿôŕê](https://image.nuxtjs.org/components/nuxt-img#width--height)."
2317
+ },
2318
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-optimized-images": {
2319
+ "message": "Ûśê t́ĥé `nuxt/image` ĉóm̂ṕôńêńt̂ án̂d́ ŝét̂ t́ĥé âṕp̂ŕôṕr̂íât́ê `quality`. [Ĺêár̂ń m̂ór̂é](https://image.nuxtjs.org/components/nuxt-img#quality)."
2320
+ },
2321
+ "node_modules/lighthouse-stack-packs/packs/nuxt.js | uses-responsive-images": {
2322
+ "message": "Ûśê t́ĥé `nuxt/image` ĉóm̂ṕôńêńt̂ án̂d́ ŝét̂ t́ĥé âṕp̂ŕôṕr̂íât́ê `sizes`. [Ĺêár̂ń m̂ór̂é](https://image.nuxtjs.org/components/nuxt-img#sizes)."
2323
+ },
2303
2324
  "node_modules/lighthouse-stack-packs/packs/octobercms.js | efficient-animated-content": {
2304
2325
  "message": "[R̂ép̂ĺâćê án̂ím̂át̂éd̂ ǴÎF́ŝ ẃît́ĥ v́îd́êó](https://web.dev/replace-gifs-with-videos/) f̂ór̂ f́âśt̂ér̂ ẃêb́ p̂áĝé l̂óâd́ŝ án̂d́ ĉón̂śîd́êŕ ûśîńĝ ḿôd́êŕn̂ f́îĺê f́ôŕm̂át̂ś ŝúĉh́ âś [Ŵéb̂Ḿ](https://web.dev/replace-gifs-with-videos/#create-webm-videos) ôŕ [ÂV́1](https://developers.google.com/web/updates/2018/09/chrome-70-media-updates#av1-decoder) t̂ó îḿp̂ŕôv́ê ćôḿp̂ŕêśŝíôń êf́f̂íĉíêńĉý b̂ý ĝŕêát̂ér̂ t́ĥán̂ 30% óv̂ér̂ t́ĥé ĉúr̂ŕêńt̂ śt̂át̂é-ôf́-t̂h́ê-ár̂t́ v̂íd̂éô ćôd́êć, V̂Ṕ9."
2305
2326
  },