Repository: GoogleChrome/lighthouse (js)

Issue:
error running release/test.sh–Cannot find module 'lodash.clonedeep' 
```
+ npm install /Users/cjamcl/src/lighthouse/lighthouse-core/scripts/release/../../../../lighthouse-pristine/lighthouse-6.1.0.tgz
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN lighthouse-local-test@1.0.0 No description
npm WARN lighthouse-local-test@1.0.0 No repository field.

+ lighthouse@6.1.0
added 266 packages from 207 contributors in 8.562s
found 0 vulnerabilities

+ npm explore lighthouse -- npm run smoke -- --retries=3

> lighthouse@6.1.0 smoke /private/tmp/lighthouse-local-test/node_modules/lighthouse
> node lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js "--retries=3"

internal/modules/cjs/loader.js:797
    throw err;
    ^

Error: Cannot find module 'lodash.clonedeep'
Require stack:
- /private/tmp/lighthouse-local-test/node_modules/lighthouse/lighthouse-cli/test/smokehouse/report-assert.js
- /private/tmp/lighthouse-local-test/node_modules/lighthouse/lighthouse-cli/test/smokehouse/smokehouse.js
- /private/tmp/lighthouse-local-test/node_modules/lighthouse/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15)
    at Function.Module._load (internal/modules/cjs/loader.js:687:27)
    at Module.require (internal/modules/cjs/loader.js:849:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/private/tmp/lighthouse-local-test/node_modules/lighthouse/lighthouse-cli/test/smokehouse/report-assert.js:13:19)
    at Module._compile (internal/modules/cjs/loader.js:956:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
    at Module.load (internal/modules/cjs/loader.js:812:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Module.require (internal/modules/cjs/loader.js:849:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/private/tmp/lighthouse-local-test/node_modules/lighthouse/lighthouse-cli/test/smokehouse/report-assert.js',
    '/private/tmp/lighthouse-local-test/node_modules/lighthouse/lighthouse-cli/test/smokehouse/smokehouse.js',
    '/private/tmp/lighthouse-local-test/node_modules/lighthouse/lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js'
  ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! lighthouse@6.1.0 smoke: `node lighthouse-cli/test/smokehouse/frontends/smokehouse-bin.js "--retries=3"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the lighthouse@6.1.0 smoke script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/cjamcl/.npm/_logs/2020-08-06T19_53_07_244Z-debug.log
npm ERR! weird error 1
```

lol `weird error`

Pull request:
v6.3.0
Also fixes #11231

Patch:
diff --git a/build/changelog-generator/templates/header.hbs b/build/changelog-generator/templates/header.hbs
index cf46d5e7c..09f600d03 100644
--- a/build/changelog-generator/templates/header.hbs
+++ b/build/changelog-generator/templates/header.hbs
@@ -13,5 +13,4 @@
 
 
 ~~ TODO: https://chromiumdash.appspot.com/schedule ~~
-We expect this release to ship in the DevTools of [Chrome XX](https://chromiumdash.appspot.com/schedule), and to PageSpeed
-Insights within 2 weeks.
+We expect this release to ship in the DevTools of [Chrome XX](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks.
diff --git a/changelog.md b/changelog.md
index 2ed45f5d9..c9a92b407 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,86 @@
+<a name="6.3.0"></a>
+# 6.3.0 (2020-08-26)
+[Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.2.0...v6.3.0)
+
+We expect this release to ship in the DevTools of [Chrome 87](https://chromiumdash.appspot.com/schedule), and to PageSpeed Insights within 2 weeks.
+
+## New Contributors
+
+Thanks to our new contributors 👽🐷🐰🐯🐻!
+
+* Adriana Ixba @adrianaixba
+* Daniel Hollas @danielhollas
+* Danilo Velasquez Urrutia @dvelasquez
+* Jivthesh M R @jivthesh
+* Pete Nykänen @petetnt
+* Radu Micu @radum
+* ryo @ryoAccount
+* Saavan Nanavati @saavannanavati
+* Stanislav Popov @popstas
+* Wicked @Wicked7000
+
+## Notable Changes
+
+* revert: move unsized-images to experimental due to perf impact ([#11317](https://github.com/GoogleChrome/lighthouse/pull/11317))
+
+## New Audits
+
+* add preload-fonts audit ([#11255](https://github.com/GoogleChrome/lighthouse/pull/11255))
+* add large-javascript-libraries audit ([#11096](https://github.com/GoogleChrome/lighthouse/pull/11096))
+* add valid-source-maps audit ([#11236](https://github.com/GoogleChrome/lighthouse/pull/11236))
+* add autocomplete to experimental config ([#11186](https://github.com/GoogleChrome/lighthouse/pull/11186))
+
+## Core
+
+* global-listeners: dedupe duplicate events in GlobalListener gatherer ([#11303](https://github.com/GoogleChrome/lighthouse/pull/11303))
+* module-duplication: ignore smaller modules ([#11277](https://github.com/GoogleChrome/lighthouse/pull/11277))
+* non-composited-animations: add unsupported css properties ([#11246](https://github.com/GoogleChrome/lighthouse/pull/11246))
+* non-composited-animations: add more actionable failure reasons ([#11268](https://github.com/GoogleChrome/lighthouse/pull/11268))
+* non-composited-animations: update the "learn more" link ([#11258](https://github.com/GoogleChrome/lighthouse/pull/11258))
+* renderer: improve the unknown timezone checks in util.js ([#9822](https://github.com/GoogleChrome/lighthouse/pull/9822))
+* response-time: add time spent to details ([#11307](https://github.com/GoogleChrome/lighthouse/pull/11307))
+* trace-elements: do not break on unresolvable node id ([#11298](https://github.com/GoogleChrome/lighthouse/pull/11298))
+* font-size: remove deprecated DOM.getFlattenedDocument ([#11248](https://github.com/GoogleChrome/lighthouse/pull/11248))
+
+## Report
+
+* third-party-summary: show resources for entity ([#11219](https://github.com/GoogleChrome/lighthouse/pull/11219))
+* handle invalid urls for source location items ([#11299](https://github.com/GoogleChrome/lighthouse/pull/11299))
+* show axe version in runtime settings ([#10729](https://github.com/GoogleChrome/lighthouse/pull/10729))
+* use dash gauge for categories with entirely n/a audits ([#11024](https://github.com/GoogleChrome/lighthouse/pull/11024))
+
+## Deps
+
+* update lighthouse-plugin-publisher-ads to 1.2.0 ([#11301](https://github.com/GoogleChrome/lighthouse/pull/11301))
+
+## I18n
+
+* import ([#11324](https://github.com/GoogleChrome/lighthouse/pull/11324))
+* translate remaining strings in font-size ([#11327](https://github.com/GoogleChrome/lighthouse/pull/11327))
+* make double dollar validation less strict ([#10299](https://github.com/GoogleChrome/lighthouse/pull/10299))
+
+## Docs
+
+* add Code of Conduct to project ([#11212](https://github.com/GoogleChrome/lighthouse/pull/11212))
+* add audit naming guide ([#11308](https://github.com/GoogleChrome/lighthouse/pull/11308))
+* throttling: replace comcast with throttle and add more windows options ([#11143](https://github.com/GoogleChrome/lighthouse/pull/11143))
+* readme: add related projects: site-audit-seo ([#11305](https://github.com/GoogleChrome/lighthouse/pull/11305), [#11250](https://github.com/GoogleChrome/lighthouse/pull/11250))
+* readme: align headings with table of contents ([#11288](https://github.com/GoogleChrome/lighthouse/pull/11288))
+
+## Tests
+
+* run chromium webtests for devtools integration ([#11176](https://github.com/GoogleChrome/lighthouse/pull/11176), [#11328](https://github.com/GoogleChrome/lighthouse/pull/11328))
+
+## Misc
+
+* benchmark: update BenchmarkIndex for m86 changes ([#11304](https://github.com/GoogleChrome/lighthouse/pull/11304))
+* add benchmark script with octane and speedometer ([#11247](https://github.com/GoogleChrome/lighthouse/pull/11247))
+* add gcp fleet creation scripts ([#11257](https://github.com/GoogleChrome/lighthouse/pull/11257), [#11233](https://github.com/GoogleChrome/lighthouse/pull/11233))
+* rephrase comments to be more inclusive ([#11228](https://github.com/GoogleChrome/lighthouse/pull/11228))
+* fix types in duplicated-javascript ([#11278](https://github.com/GoogleChrome/lighthouse/pull/11278))
+* fix typo in method name ([#11239](https://github.com/GoogleChrome/lighthouse/pull/11239))
+* move doc link ([#11300](https://github.com/GoogleChrome/lighthouse/pull/11300))
+
 <a name="6.2.0"></a>
 # 6.2.0 (2020-08-06)
 [Full Changelog](https://github.com/GoogleChrome/lighthouse/compare/v6.1.1...v6.2.0)
diff --git a/docs/plugins.md b/docs/plugins.md
index 38b970661..e645007c7 100644
--- a/docs/plugins.md
+++ b/docs/plugins.md
@@ -60,10 +60,10 @@ A Lighthouse plugin is just a node module with a name that starts with `lighthou
   "name": "lighthouse-plugin-cats",
   "main": "plugin.js",
   "peerDependencies": {
-    "lighthouse": "^6.2.0"
+    "lighthouse": "^6.3.0"
   },
   "devDependencies": {
-    "lighthouse": "^6.2.0"
+    "lighthouse": "^6.3.0"
   }
 }
 ```
diff --git a/docs/recipes/custom-audit/package.json b/docs/recipes/custom-audit/package.json
index 57418ecf3..111447c15 100644
--- a/docs/recipes/custom-audit/package.json
+++ b/docs/recipes/custom-audit/package.json
@@ -3,6 +3,6 @@
   "private": true,
   "scripts": {},
   "devDependencies": {
-    "lighthouse": "^6.2.0"
+    "lighthouse": "^6.3.0"
   }
 }
diff --git a/docs/recipes/gulp/package.json b/docs/recipes/gulp/package.json
index 835a75902..4e5c39067 100644
--- a/docs/recipes/gulp/package.json
+++ b/docs/recipes/gulp/package.json
@@ -7,6 +7,6 @@
   "devDependencies": {
     "gulp": "^3.9.1",
     "gulp-connect": "^5.0.0",
-    "lighthouse": "^6.2.0"
+    "lighthouse": "^6.3.0"
   }
 }
diff --git a/docs/recipes/lighthouse-plugin-example/package.json b/docs/recipes/lighthouse-plugin-example/package.json
index 5e4bc5424..a002e25c6 100644
--- a/docs/recipes/lighthouse-plugin-example/package.json
+++ b/docs/recipes/lighthouse-plugin-example/package.json
@@ -3,9 +3,9 @@
   "private": true,
   "main": "./plugin.js",
   "peerDependencies": {
-    "lighthouse": "^6.2.0"
+    "lighthouse": "^6.3.0"
   },
   "devDependencies": {
-    "lighthouse": "^6.2.0"
+    "lighthouse": "^6.3.0"
   }
 }
diff --git a/docs/releasing.md b/docs/releasing.md
index 2e67fe0ce..ff38ad483 100644
--- a/docs/releasing.md
+++ b/docs/releasing.md
@@ -65,32 +65,29 @@ cd ../lighthouse-pristine
 
 Confirm DevTools integration will work:
 ```sh
-# You should have Chromium already checked out at ~/chromium/src
-# See: https://www.chromium.org/developers/how-tos/get-the-code
+# Checkout the DevTools Frontend code.
+# See: https://chromium.googlesource.com/devtools/devtools-frontend/+/HEAD/docs/workflows.md
 
-# Roll to Chromium folder.
-yarn devtools
+# Roll to DevTools Frontend folder.
+# If at ~/src/devtools/devtools-frontend, the command to run is:
+yarn devtools ~/src/devtools/devtools-frontend
 
-# Checkout latest Chromium code.
-cd ~/chromium/src
-git pull
-git new-branch lh-roll-x.x.x
-gclient sync
-autoninja -C out/Release chrome blink_tests
+# Build DevTools Frontend.
+cd ~/src/devtools/devtools-frontend
+gclient sync && autoninja -C out/Default
 
-# Run tests and rebase.
-yarn --cwd ~/chromium/src/third_party/blink/renderer/devtools test 'http/tests/devtools/lighthouse/*.js' --reset-results
-# Verify the changes are expected.
-git diff
+# Verify things work in DevTools.
+# Mac:
+"/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary" --custom-devtools-frontend=file://$HOME/src/devtools/devtools-frontend/out/Default/resources/inspector
 
 # Verify that the Lighthouse panel still works. Consider the new features that have been added.
 # If anything is wrong, stop releasing, investigate, land a fix and start over.
 
-# For bonus points, add some tests covering new features. Either a new test, or an extra
-# assertion in an existing test.
+# (TODO: when this is a required check in CI, can remove from release steps)
+# Run webtests.
+DEVTOOLS_PATH=~/src/devtools/devtools-frontend yarn test-devtools
 
-git cl upload --bypass-hooks
-# Go to Gerrit, run CQ dry run, ensure the tests all pass.
+# Done with DevTools for now, will open a CL later.
 ```
 
 Confirm Lightrider integration will work:
@@ -116,7 +113,12 @@ Now that the integrations are confirmed to work, go back to `lighthouse` folder.
 # Prepare the commit, replace x.x.x with the desired version
 bash ./lighthouse-core/scripts/release/prepare-commit.sh x.x.x
 
-# Open the PR and await merge...
+# Fix-up the CHANGELOG.
+
+# Rebaseline DevTools tests one more time (only version number should change).
+yarn update:test-devtools
+
+# Open PR with title `vx.x.x` and await merge...
 echo "It's been merged! 🎉"
 
 # One last test (this script uses origin/master, so we also get the commit with the new changelog - that commit should be HEAD).
@@ -166,6 +168,17 @@ If this is a branching week, wait until _after_ the branch point email, then lan
 
 Otherwise, you can land it immediately.
 
+```sh
+git checkout vx.x.x # Checkout the specific version.
+yarn build-devtools
+yarn devtools ~/src/devtools/devtools-frontend
+
+cd ~/src/devtools/devtools-frontend
+git new-branch rls
+git commit -am "[Lighthouse] Roll Lighthouse x.x.x\n\nBug: 772558"
+git cl upload --bypass-hooks
+```
+
 ### The following Monday
 
 Evaluate LR staging, if all looks good, promote to production!
diff --git a/lighthouse-core/scripts/roll-to-devtools.sh b/lighthouse-core/scripts/roll-to-devtools.sh
index 72021d8b2..4da513604 100755
--- a/lighthouse-core/scripts/roll-to-devtools.sh
+++ b/lighthouse-core/scripts/roll-to-devtools.sh
@@ -6,25 +6,23 @@
 # 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.
 ##
 
-# You will need a Chromium checkout: https://chromium.googlesource.com/devtools/devtools-frontend/+/HEAD/docs/workflows.md#integrated-checkout
-# You could use the standalone DevTools workflow, but you won't be able to run layout tests, so
-# if you are the release manager you'll need the full Chromium checkout.
+# You will need a DevTools Frontend checkout
+# See https://chromium.googlesource.com/devtools/devtools-frontend/+/HEAD/docs/workflows.md
 
 # usage:
 
-# default to an full checkout at ~/chromium/src
+# default to checkout at ~/src/devtools/devtools-frontend
 #   yarn devtools
 
 # with a custom devtools location (could be path to standalone checkout):
 #   yarn devtools ~/code/devtools/devtools-frontend
 
-chromium_dir="$HOME/chromium/src"
 check="\033[96m ✓\033[39m"
 
 if [[ -n "$1" ]]; then
   dt_dir="$1"
 else
-  dt_dir="$chromium_dir/third_party/devtools-frontend/src"
+  dt_dir="$HOME/src/devtools/devtools-frontend"
 fi
 
 if [[ ! -d "$dt_dir" || ! -a "$dt_dir/front_end/shell.js" ]]; then
@@ -62,6 +60,5 @@ fe_webtests_dir="$dt_dir/test/webtests/http/tests/devtools/lighthouse"
 rsync -avh "$lh_webtests_dir" "$fe_webtests_dir" --exclude="OWNERS" --delete
 
 echo ""
-echo "Done. To rebase the test expectations, run: " 
-echo "    cd '$chromium_dir' && third_party/blink/tools/run_web_tests.py http/tests/devtools/lighthouse -t Default --layout-tests-dir third_party/devtools-frontend/src/test/webtests --reset-results"
-echo " (you also need to do 'autoninja -C out/Default chrome blink_tests content_shell' in the chromium checkout)"
+echo "Done. To run the webtests: " 
+echo "    DEVTOOLS_PATH=\"$dt_dir\" yarn test-devtools"
diff --git a/package.json b/package.json
index 1c15faced..a20b1d621 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "lighthouse",
-  "version": "6.2.0",
+  "version": "6.3.0",
   "description": "Lighthouse",
   "main": "./lighthouse-core/index.js",
   "bin": {


Test patch:
diff --git a/lighthouse-core/scripts/release/test.sh b/lighthouse-core/scripts/release/test.sh
index 61b0fdaf1..335b14dd6 100755
--- a/lighthouse-core/scripts/release/test.sh
+++ b/lighthouse-core/scripts/release/test.sh
@@ -36,6 +36,7 @@ cd /tmp/lighthouse-local-test
 
 npm init -y
 npm install "$LH_PRISTINE_ROOT/lighthouse-$VERSION.tgz"
+cd node_modules/lighthouse/lighthouse-cli/test/ && npm install lodash.clonedeep && cd ../../../../
 npm explore lighthouse -- npm run smoke -- --retries=3
 npm explore lighthouse -- npm run fast -- http://example.com
 
diff --git a/lighthouse-core/test/chromium-web-tests/test-locally.sh b/lighthouse-core/test/chromium-web-tests/test-locally.sh
index fa95e9f80..4aee28562 100644
--- a/lighthouse-core/test/chromium-web-tests/test-locally.sh
+++ b/lighthouse-core/test/chromium-web-tests/test-locally.sh
@@ -14,7 +14,7 @@ TEST_DIR="$LH_ROOT/.tmp/chromium-web-tests"
 
 # Setup dependencies.
 export DEPOT_TOOLS_PATH="$TEST_DIR/depot-tools"
-export DEVTOOLS_PATH="$TEST_DIR/devtools/devtools-frontend"
+export DEVTOOLS_PATH=${DEVTOOLS_PATH:-"$TEST_DIR/devtools/devtools-frontend"}
 export BLINK_TOOLS_PATH="$TEST_DIR/blink_tools"
 export PATH=$DEPOT_TOOLS_PATH:$PATH
 
diff --git a/lighthouse-core/test/results/sample_v2.json b/lighthouse-core/test/results/sample_v2.json
index 46790de3c..b762e0335 100644
--- a/lighthouse-core/test/results/sample_v2.json
+++ b/lighthouse-core/test/results/sample_v2.json
@@ -8,7 +8,7 @@
       "axe-core": "2.1.1"
     }
   },
-  "lighthouseVersion": "6.2.0",
+  "lighthouseVersion": "6.3.0",
   "fetchTime": "2018-03-13T00:55:45.840Z",
   "requestedUrl": "http://localhost:10200/dobetterweb/dbw_tester.html",
   "finalUrl": "http://localhost:10200/dobetterweb/dbw_tester.html",
diff --git a/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-emulate-run-expected.txt b/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-emulate-run-expected.txt
index c94f05ae5..88586cd42 100644
--- a/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-emulate-run-expected.txt
+++ b/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-emulate-run-expected.txt
@@ -14,7 +14,7 @@ Generate report: enabled visible
 
 =============== Lighthouse Results ===============
 URL: http://127.0.0.1:8000/devtools/lighthouse/resources/lighthouse-emulate-pass.html
-Version: 6.2.0
+Version: 6.3.0
 TestedAsMobileDevice: true
 ViewportDimensions: {
   "innerWidth": 360,
diff --git a/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-export-run-expected.txt b/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-export-run-expected.txt
index 57304d5d2..30b8393bf 100644
--- a/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-export-run-expected.txt
+++ b/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-export-run-expected.txt
@@ -2,11 +2,11 @@ Tests that exporting works.
 
 ++++++++ testExportHtml
 
-# of .lh-audit divs (original): 136
+# of .lh-audit divs (original): 135
 
-# of .lh-audit divs (exported html): 136
+# of .lh-audit divs (exported html): 135
 
 ++++++++ testExportJson
 
-# of audits (json): 152
+# of audits (json): 151
 
diff --git a/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-successful-run-expected.txt b/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-successful-run-expected.txt
index b28f59f57..ed87dd331 100644
--- a/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-successful-run-expected.txt
+++ b/third-party/chromium-webtests/webtests/http/tests/devtools/lighthouse/lighthouse-successful-run-expected.txt
@@ -349,7 +349,7 @@ Generating results...
 
 =============== Lighthouse Results ===============
 URL: http://127.0.0.1:8000/devtools/lighthouse/resources/lighthouse-basic.html
-Version: 6.2.0
+Version: 6.3.0
 TestedAsMobileDevice: true
 ViewportDimensions: {
   "innerWidth": 980,