)]}'
{
  "commit": "c7d78534d28fcc72651dc28d2b7420a67f7fc2ea",
  "tree": "dc02863a1b0003d9a9379b5a97365094cb2a326a",
  "parents": [
    "6abe5123c34a7751a2d5b679e856b2591ba04145"
  ],
  "author": {
    "name": "Eric Higgins",
    "email": "87031925+eric-higgins-ai@users.noreply.github.com",
    "time": "Wed Dec 04 23:59:04 2024 -0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Dec 05 02:59:04 2024 -0500"
  },
  "message": "bazel: update rules_nodejs and migrate to rules_js (#1436)\n\nThis finishes the work started in\r\nhttps://github.com/emscripten-core/emsdk/pull/1388 by fixing CI. It\r\navoids a breaking change by:\r\n* Using the latest rules_js 1.x.x version, instead of updating to\r\nrules_js 2 (which removes support for bazel 5).\r\n* Copying the contents of\r\n[rules_js_dependencies](https://github.com/aspect-build/rules_js/blob/main/js/repositories.bzl)\r\ninstead of calling it, as the call would need to be added by users in\r\ntheir `WORKSPACE` files\r\n\r\nContext from the previous PR:\r\n\r\n\u003e Bazel\u0027s Node.js dependency comes from\r\n[rules_nodejs](https://github.com/bazelbuild/rules_nodejs/). Previously,\r\nbazel/deps.bzl was using rules_nodejs 5.8.0, released in 2022 and only\r\nsupported Node.js toolchains up to 18.12.1.\r\n\r\n\u003e This PR bumps rules_nodejs to latest 6.1.1. It also replaces\r\nbuild_bazel_rules_nodejs with\r\n[rules_js](https://github.com/aspect-build/rules_js), since npm_install\r\nthat bazel/emscripten_deps.bzl used was deprecated. The README of\r\nrules_nodejs now recommends migrating to rules_js for everything other\r\nthan the Node.js toolchain:\r\n(https://github.com/bazelbuild/rules_nodejs/commit/371e8cab15f9db444217703144b2eb71d0e13235)\r\n\r\n\u003e Impetus\r\nOur repo builds with Bazel and uses Emscripten and Node.js. Tried to\r\nupgrade Node.js 18 to Node.js 20 and saw that emsdk didn\u0027t support\r\nrules_nodejs 6+ in the same workspace.\r\n\r\nSimilarly, it\u0027s not possible to update to rules_js v2 in a workspace\r\nthat also references `emsdk`.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a83cfaf847df1fff7c2d2bc45ed45fe74b8d98c2",
      "old_mode": 33188,
      "old_path": "bazel/deps.bzl",
      "new_id": "d622e2addb8be0f92c0639d33a2185b10789ea63",
      "new_mode": 33188,
      "new_path": "bazel/deps.bzl"
    },
    {
      "type": "modify",
      "old_id": "16fd8ee1c6b7740f4779aa3287d9f7699707e8fb",
      "old_mode": 33188,
      "old_path": "bazel/emscripten_deps.bzl",
      "new_id": "d3edf67703cf1f984396555890dea2b2b353791d",
      "new_mode": 33188,
      "new_path": "bazel/emscripten_deps.bzl"
    }
  ]
}
