pw_web_ui: Add linting with eslint and prettier
Uses gts to run eslint and prettier.gts is Google's TypeScript
formatter (https://github.com/google/gts).
Run `yarn run check` or `yarn run fix` to lint or format the code.
A future CL will add running this linter as a presubmit step.
This CL also formats several project files that weren't linted.
Change-Id: Ibfee61efb0d1f18cbd9aae5e6cb32687e8dce8ac
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/12120
Commit-Queue: Matthew Soulanille <msoulanille@google.com>
Reviewed-by: Matthew Soulanille <msoulanille@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
Reviewed-by: Max Koopman <koopman@google.com>
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..5204bc2
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,48 @@
+// Copyright 2020 The Pigweed Authors
+//
+// 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
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// 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.
+
+{
+ "ignorePatterns": [
+ "bazel-bin",
+ "bazel-pigweed",
+ "bazel-out",
+ "bazel-testlogs",
+ "node-modules",
+ "*.js",
+ "*.d.ts"
+ ],
+ "extends": [
+ "./node_modules/gts/",
+ "plugin:react/recommended"
+ ],
+ "plugins": [
+ "react"
+ ],
+ "parserOptions": {
+ "ecmaFeatures": {
+ "jsx": true
+ },
+ "ecmaVersion": 2018,
+ "sourceType": "module"
+ },
+ "rules": {
+ "node/no-unsupported-features/es-syntax": "off",
+ "node/no-unpublished-import": "off"
+ },
+ "settings": {
+ "react": {
+ "version": "detect"
+ }
+ }
+}