)]}'
{
  "commit": "01b5d06eeaf14e9304ced08e2caf81683803874f",
  "tree": "9acfc279165e3a01015302afbfc50aa1dba80175",
  "parents": [
    "e81ae0345b268ce6036530ffb641fd56cf60b2c7"
  ],
  "author": {
    "name": "Anthony DiGirolamo",
    "email": "tonymd@google.com",
    "time": "Mon Aug 14 20:57:48 2023 +0000"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Mon Aug 14 20:57:48 2023 +0000"
  },
  "message": "pw_presubmit: JavaScript and TypeScript lint check\n\n- Upgrade to latest eslint (8.47.0)\n- Add eslint presubmit\n- Fix all eslint errors\n\nChange-Id: Ib9dc37e7f4b3e2666b0792e14c93b6b0d4ffa111\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/165410\nCommit-Queue: Anthony DiGirolamo \u003ctonymd@google.com\u003e\nReviewed-by: Asad Memon \u003casadmemon@google.com\u003e\nPresubmit-Verified: CQ Bot Account \u003cpigweed-scoped@luci-project-accounts.iam.gserviceaccount.com\u003e\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "92bb15f21d98a1d3c2ad8579bdbdba5bd7a265e4",
      "new_mode": 33188,
      "new_path": ".eslintrc.cjs"
    },
    {
      "type": "delete",
      "old_id": "2b1c27e73f86d009c9476e41496e6005377a175d",
      "old_mode": 33188,
      "old_path": ".eslintrc.json",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "78cc1f85976b3e10dbc8f5c0b8ac8c1dc2a5b4eb",
      "old_mode": 33188,
      "old_path": "docs/_static/js/pigweed.js",
      "new_id": "624a27e0b1b35d3aa5d9605fb672cfa8dfa53c8b",
      "new_mode": 33188,
      "new_path": "docs/_static/js/pigweed.js"
    },
    {
      "type": "modify",
      "old_id": "0575f327fbc99d1ea283c91877da5489e806bde3",
      "old_mode": 33188,
      "old_path": "package-lock.json",
      "new_id": "804debf88490e39434a177bda2411b3c8a925e7b",
      "new_mode": 33188,
      "new_path": "package-lock.json"
    },
    {
      "type": "modify",
      "old_id": "04e839b4cf35cc034b281db99256da40bb5364a0",
      "old_mode": 33188,
      "old_path": "package.json",
      "new_id": "de73e03649fcdf088104a43f98ddadb4d290c8af",
      "new_mode": 33188,
      "new_path": "package.json"
    },
    {
      "type": "modify",
      "old_id": "a09111262078319513f90106dcf4f66974e1c545",
      "old_mode": 33188,
      "old_path": "pw_console/py/pw_console/html/main.js",
      "new_id": "88214f030388b97d1432ecad50cf8a5eb67158a2",
      "new_mode": 33188,
      "new_path": "pw_console/py/pw_console/html/main.js"
    },
    {
      "type": "modify",
      "old_id": "1423356a3dd064713b7070bd71652912c41e62ac",
      "old_mode": 33188,
      "old_path": "pw_hdlc/ts/encoder.ts",
      "new_id": "68ac8baf00311232648908d21b8a8754534d7c7d",
      "new_mode": 33188,
      "new_path": "pw_hdlc/ts/encoder.ts"
    },
    {
      "type": "modify",
      "old_id": "e3092707fe9a6cb8c4de63115be5b50b35e878c3",
      "old_mode": 33188,
      "old_path": "pw_hdlc/ts/protocol.ts",
      "new_id": "305aee68ea34c89d3e72c8da7121ef84624ced69",
      "new_mode": 33188,
      "new_path": "pw_hdlc/ts/protocol.ts"
    },
    {
      "type": "modify",
      "old_id": "1bde502ab2dc5949c0be89fa684c56a76f2046d5",
      "old_mode": 33188,
      "old_path": "pw_ide/vscode/src/extension.ts",
      "new_id": "e0ff8277e514694aa34d7772fb477e1f3d91f269",
      "new_mode": 33188,
      "new_path": "pw_ide/vscode/src/extension.ts"
    },
    {
      "type": "modify",
      "old_id": "652ca9df221fe38c5e57cc9983422655496b7144",
      "old_mode": 33188,
      "old_path": "pw_presubmit/py/BUILD.gn",
      "new_id": "2b452c32703692ad2ad40aac083ee89be333c9a2",
      "new_mode": 33188,
      "new_path": "pw_presubmit/py/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3dc8b8f68b67ff0017eba0900311fb7d175db9c6",
      "new_mode": 33188,
      "new_path": "pw_presubmit/py/pw_presubmit/javascript_checks.py"
    },
    {
      "type": "modify",
      "old_id": "da6fde3b7df8e2d8b38ab37d28f3e65393d0caab",
      "old_mode": 33261,
      "old_path": "pw_presubmit/py/pw_presubmit/pigweed_presubmit.py",
      "new_id": "e04c7f7d7822f2c9e6c774be86cbd62cb0e9be11",
      "new_mode": 33261,
      "new_path": "pw_presubmit/py/pw_presubmit/pigweed_presubmit.py"
    },
    {
      "type": "modify",
      "old_id": "cedfe5325475161a935d3ee10f7315de4567d4d8",
      "old_mode": 33188,
      "old_path": "pw_protobuf_compiler/ts/build.ts",
      "new_id": "9ae903612faf825d918f998e24f495d586c4dec4",
      "new_mode": 33188,
      "new_path": "pw_protobuf_compiler/ts/build.ts"
    },
    {
      "type": "modify",
      "old_id": "21c4736b55bafbce0d37a5c40bc7d067f7046505",
      "old_mode": 33188,
      "old_path": "pw_rpc/ts/call.ts",
      "new_id": "e418760c32c7edfd9275075829e142954387cfeb",
      "new_mode": 33188,
      "new_path": "pw_rpc/ts/call.ts"
    },
    {
      "type": "modify",
      "old_id": "302521d2e1fad635b85e7f24263a8736262e24da",
      "old_mode": 33188,
      "old_path": "pw_rpc/ts/call_test.ts",
      "new_id": "98590c88a609558701e0d69f7e17375a48bd78b8",
      "new_mode": 33188,
      "new_path": "pw_rpc/ts/call_test.ts"
    },
    {
      "type": "modify",
      "old_id": "ec636b23611507af76358c532180a6025060478a",
      "old_mode": 33188,
      "old_path": "pw_rpc/ts/client_test.ts",
      "new_id": "0535fddb90fae2fdad21b2ec30dbd805ad2b6dd4",
      "new_mode": 33188,
      "new_path": "pw_rpc/ts/client_test.ts"
    },
    {
      "type": "modify",
      "old_id": "d185b79da0a4ea79a6a3adf2020e8ed06da4f059",
      "old_mode": 33188,
      "old_path": "pw_rpc/ts/descriptors.ts",
      "new_id": "bd0d470ded8de543f0d5518d4ae33cedf8e0815b",
      "new_mode": 33188,
      "new_path": "pw_rpc/ts/descriptors.ts"
    },
    {
      "type": "modify",
      "old_id": "de44c8f8ce447dafa1c5fa8c0de423eb356cb7de",
      "old_mode": 33188,
      "old_path": "pw_rpc/ts/method.ts",
      "new_id": "f67d9cfb0801eafbfe18ff603a950b3d327dd8ea",
      "new_mode": 33188,
      "new_path": "pw_rpc/ts/method.ts"
    },
    {
      "type": "modify",
      "old_id": "d78c01a521d24f3dad327b00bda95548bf6f7d84",
      "old_mode": 33188,
      "old_path": "pw_rpc/ts/packets_test.ts",
      "new_id": "50cdb3f1a2197918c315dd1080e31087da345af7",
      "new_mode": 33188,
      "new_path": "pw_rpc/ts/packets_test.ts"
    },
    {
      "type": "modify",
      "old_id": "5ce5cb5c1b64e9431747cbcba5ee21a6257fd0f5",
      "old_mode": 33188,
      "old_path": "pw_tokenizer/ts/printf_decoder.ts",
      "new_id": "adf815908c0aa7f4de7bf74b64f21812f9c00059",
      "new_mode": 33188,
      "new_path": "pw_tokenizer/ts/printf_decoder.ts"
    },
    {
      "type": "modify",
      "old_id": "cab28ed0e3e9bd31f2f001779d8d8301da436831",
      "old_mode": 33188,
      "old_path": "pw_transfer/ts/client.ts",
      "new_id": "7a8290edfe636f71b0dff6129099025def09cf3b",
      "new_mode": 33188,
      "new_path": "pw_transfer/ts/client.ts"
    },
    {
      "type": "modify",
      "old_id": "68a045b76f81cf6bd7953602573a7e18fc28726f",
      "old_mode": 33188,
      "old_path": "pw_transfer/ts/transfer.ts",
      "new_id": "ccc125a466166c06a67c95c564c8e9aa462bdb7c",
      "new_mode": 33188,
      "new_path": "pw_transfer/ts/transfer.ts"
    },
    {
      "type": "delete",
      "old_id": "8e60c8069bbfec9ff3cc15007a25f8c962d16ae4",
      "old_mode": 33188,
      "old_path": "pw_web/log-viewer/.eslintrc.cjs",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "aee060bf2e9fc1c0cd2c69c83074f641e4860804",
      "old_mode": 33188,
      "old_path": "pw_web/log-viewer/src/components/log-list/log-list.ts",
      "new_id": "2f0343ff1d962231c70ba39915b05d1e216cba6e",
      "new_mode": 33188,
      "new_path": "pw_web/log-viewer/src/components/log-list/log-list.ts"
    },
    {
      "type": "modify",
      "old_id": "f7b62e959ccae7c55c148b28a6c022497aa5993e",
      "old_mode": 33188,
      "old_path": "pw_web/log-viewer/src/components/log-view/log-view.ts",
      "new_id": "5d670affd126bb37dba792ec9925dc514add75c7",
      "new_mode": 33188,
      "new_path": "pw_web/log-viewer/src/components/log-view/log-view.ts"
    },
    {
      "type": "modify",
      "old_id": "cd9051f807e1e9d15f36c451f2cc2fec972fb9b3",
      "old_mode": 33188,
      "old_path": "pw_web/log-viewer/src/components/log-viewer.ts",
      "new_id": "c09424b792bcb2106ca16c0a396ec0d5c4e0be47",
      "new_mode": 33188,
      "new_path": "pw_web/log-viewer/src/components/log-viewer.ts"
    },
    {
      "type": "delete",
      "old_id": "bffb357a7122523ec94045523758c4b825b448ef",
      "old_mode": 33188,
      "old_path": "pw_web/webconsole/.eslintrc.json",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "b18aa5710b6371606f1656670da9cb8fb713200d",
      "old_mode": 33188,
      "old_path": "pw_web/webconsole/components/repl/autocomplete.ts",
      "new_id": "5a9b6e14f3b997e1cd0a08c3a5c8d6cfc16784cb",
      "new_mode": 33188,
      "new_path": "pw_web/webconsole/components/repl/autocomplete.ts"
    },
    {
      "type": "modify",
      "old_id": "1fea4cf508ab1674367cfdba9abb0f83ce8559e2",
      "old_mode": 33188,
      "old_path": "pw_web/webconsole/components/repl/localStorageArray.ts",
      "new_id": "224b9c363c6fceb892be75ae8ccca8b485c4f29c",
      "new_mode": 33188,
      "new_path": "pw_web/webconsole/components/repl/localStorageArray.ts"
    },
    {
      "type": "modify",
      "old_id": "887ed9a7465783397ea72d63a9bfa8498e5308dd",
      "old_mode": 33188,
      "old_path": "ts/buildprotos.ts",
      "new_id": "198e74fa30c323c99a973cca06d8a0ff5c85bbdd",
      "new_mode": 33188,
      "new_path": "ts/buildprotos.ts"
    },
    {
      "type": "modify",
      "old_id": "962320ccc906096e2ee5f6196f130f9236e8b72c",
      "old_mode": 33188,
      "old_path": "ts/device/index.ts",
      "new_id": "1b55751ab323d28e86c2e827dd1a997f10d68378",
      "new_mode": 33188,
      "new_path": "ts/device/index.ts"
    },
    {
      "type": "modify",
      "old_id": "86f03271b64bd760532232c19a18cc119ccb7f6e",
      "old_mode": 33188,
      "old_path": "ts/device/index_test.ts",
      "new_id": "6316c5dcf7691ca851ddf3c8b83fd2e4271bdbbf",
      "new_mode": 33188,
      "new_path": "ts/device/index_test.ts"
    },
    {
      "type": "modify",
      "old_id": "e801bd408dc46dc52b322796b4557a727201413e",
      "old_mode": 33188,
      "old_path": "ts/device/object_set.ts",
      "new_id": "f06bd73de77219d4ba04d49601eaf61498b4809e",
      "new_mode": 33188,
      "new_path": "ts/device/object_set.ts"
    },
    {
      "type": "modify",
      "old_id": "655caddba1bde60ce070c18053df385d5d2067cc",
      "old_mode": 33188,
      "old_path": "ts/logging_source_rpc.ts",
      "new_id": "4cf55ff7d7d6d7c0337f465e1e02d4137cb7dd9b",
      "new_mode": 33188,
      "new_path": "ts/logging_source_rpc.ts"
    },
    {
      "type": "modify",
      "old_id": "0bd0a955d187389c392173b0acf68ac398d6edd4",
      "old_mode": 33188,
      "old_path": "ts/transport/serial_mock.ts",
      "new_id": "8c64867c0e78a8bd96802ad7ce4642b77c1c65f2",
      "new_mode": 33188,
      "new_path": "ts/transport/serial_mock.ts"
    }
  ]
}
