Updates manage_node_deps to install missing deps; adds yargs

The `npm ci` call in the script will fail due to any mismatch between
the DEPS declared and those listed in the package-lock.json file.

This CL updates the script to install any missing deps by comparing the
list in package-lock.json with the DEPS, and adding any that are
missing.

Yargs is needed for the boot perf benchmark, so adding its DEP here
and will update the node_modules directly in a future CL.

Bug: 1027519
Change-Id: Ifbc69b242d0cfc4d79d23f756f267a5a2f45039f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/1944861
Commit-Queue: Paul Lewis <aerotwist@chromium.org>
Auto-Submit: Paul Lewis <aerotwist@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
diff --git a/scripts/devtools_paths.py b/scripts/devtools_paths.py
index e4f4754..39386ff 100644
--- a/scripts/devtools_paths.py
+++ b/scripts/devtools_paths.py
@@ -79,8 +79,13 @@
     )
 
 
+def package_lock_json_path():
+    return path.join(devtools_root_path(), 'package-lock.json')
+
+
 def package_json_path():
     return path.join(devtools_root_path(), 'package.json')
 
+
 def browser_protocol_path():
     return path.join(third_party_path(), 'blink', 'public', 'devtools_protocol', 'browser_protocol.pdl')