)]}'
{
  "commit": "f4969172e232f02f6aa0f868c870912e6cab885b",
  "tree": "36d70f915c5e5167c2050f1ddbab87b0364c06ae",
  "parents": [
    "e7479a395086caebaf4e8d9d974858241c4442d7"
  ],
  "author": {
    "name": "Sam Clegg",
    "email": "sbc@chromium.org",
    "time": "Thu Jul 23 16:00:49 2026 -0700"
  },
  "committer": {
    "name": "Sam Clegg",
    "email": "sbc@chromium.org",
    "time": "Thu Jul 23 16:06:08 2026 -0700"
  },
  "message": "Support extra activated path via `activated_path_extra`\n\nIn newer versions of emscripten, executables are being moved into a\n`bin` subdirectory instead of residing in the root directory. To enable\n`emsdk` to add `bin` to `PATH` while maintaining backwards\ncompatibility with older emscripten releases, this change introduces an\noptional `activated_path_extra` property on `Tool`.\n\nWhen configuring `PATH` or checking environment activation,\n`activated_path_extra` is checked and included in addition to the\nprimary `activated_path` if the directory exists on disk.\n\nAlternatives considered:\n- Delimited strings (e.g. semicolon or colon separated) in\n  `activated_path`: Rejected because colon (`:`) conflicts with\n  Windows drive letters (`C:\\...`), and splitting string paths would\n  require updating all call sites that expect `activated_path` to be a\n  single directory (e.g., when writing `emscripten-version.txt`).\n- JSON arrays in `activated_path`: While this avoids delimiter\n  collisions on Windows, making `activated_path` polymorphic (either a\n  string or list) would similarly complicate call sites requiring a\n  single root directory.\n- Hardcoded directory checking: Dynamically checking if a `bin`\n  subdirectory exists in Python code was rejected to avoid excessive\n  special-case tool checks in `emsdk.py`.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2576355761ef484ffdceeda1283d91ff61bc46fd",
      "old_mode": 33188,
      "old_path": "emsdk.py",
      "new_id": "41f378fcd7450b9d78bad5a1ea999a72b4be133d",
      "new_mode": 33188,
      "new_path": "emsdk.py"
    },
    {
      "type": "modify",
      "old_id": "dc540391ca60879ffaf6f3d98a4871ebf3e10af4",
      "old_mode": 33188,
      "old_path": "emsdk_manifest.json",
      "new_id": "0035a2a4e46bffcb8e732d85f7b8e3d6845ca82a",
      "new_mode": 33188,
      "new_path": "emsdk_manifest.json"
    }
  ]
}
