The Great Blink mv for source files, part 2.

Move and rename files.

NOAUTOREVERT=true
NOPRESUBMIT=true
NOTREECHECKS=true
Bug: 768828
TBR=darin@chromium.org
NOTRY=true

Change-Id: I66d3b155808bc5bdbf237b80208e1e552bcf7f28
Reviewed-on: https://chromium-review.googlesource.com/1001153
Reviewed-by: Blink Reformat <blink-reformat@chromium.org>
Commit-Queue: Blink Reformat <blink-reformat@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#549061}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0aee4434a4dba42a42abaea9bfbc0cd196a63bc1
diff --git a/scripts/lint_javascript.py b/scripts/lint_javascript.py
new file mode 100755
index 0000000..3d43a5c
--- /dev/null
+++ b/scripts/lint_javascript.py
@@ -0,0 +1,89 @@
+#!/usr/bin/env python
+#
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import os.path as path
+import re
+import subprocess
+import sys
+
+import local_node
+
+files_to_lint = None
+
+if len(sys.argv) >= 2:
+    if sys.argv[1] == "--help":
+        print("Usage: %s [file|dir|glob]*" % path.basename(sys.argv[0]))
+        print
+        print(" [file|dir|glob]*  Path or glob to run eslint on.")
+        print("                   If absent, the entire frontend will be checked.")
+        sys.exit(0)
+
+    else:
+        print("Linting only these files:\n %s" % sys.argv[1:])
+        files_to_lint = sys.argv[1:]
+
+is_cygwin = sys.platform == "cygwin"
+
+
+def popen(arguments, cwd=None):
+    return subprocess.Popen(arguments, cwd=cwd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+
+
+def to_platform_path(filepath):
+    if not is_cygwin:
+        return filepath
+    return re.sub(r"^/cygdrive/(\w)", "\\1:", filepath)
+
+
+def to_platform_path_exact(filepath):
+    if not is_cygwin:
+        return filepath
+    output, _ = popen(["cygpath", "-w", filepath]).communicate()
+    # pylint: disable=E1103
+    return output.strip().replace("\\", "\\\\")
+
+
+scripts_path = path.dirname(path.abspath(__file__))
+devtools_path = path.dirname(scripts_path)
+devtools_frontend_path = path.join(devtools_path, "front_end")
+
+print("Linting JavaScript with eslint...\n")
+
+
+def js_lint(files_list=None):
+    eslint_errors_found = False
+
+    if files_list is None:
+        files_list = [devtools_frontend_path]
+    files_list = [file_name for file_name in files_list if not file_name.endswith(".eslintrc.js")]
+
+    eslintconfig_path = path.join(devtools_path, ".eslintrc.js")
+    eslintignore_path = path.join(devtools_path, ".eslintignore")
+    exec_command = [
+        local_node.node_path(),
+        local_node.eslint_path(),
+        "--config",
+        to_platform_path_exact(eslintconfig_path),
+        "--ignore-path",
+        to_platform_path_exact(eslintignore_path),
+    ] + files_list
+
+    eslint_proc = popen(exec_command, cwd=devtools_path)
+    (eslint_proc_out, _) = eslint_proc.communicate()
+    if eslint_proc.returncode != 0:
+        eslint_errors_found = True
+    else:
+        print("eslint exited successfully")
+
+    print(eslint_proc_out)
+    return eslint_errors_found
+
+
+errors_found = js_lint(files_to_lint)
+
+if errors_found:
+    print("ERRORS DETECTED")
+    sys.exit(1)