)]}'
{
  "commit": "ebacc138558f1a7d70eee734fdbbb0307c8697e8",
  "tree": "ad036bb356d9905f1bd50f957a5ab2f9a1a08e36",
  "parents": [
    "2397009641d6401912a79089f66b7831b8af9f54"
  ],
  "author": {
    "name": "Ben Konyi",
    "email": "bkonyi@google.com",
    "time": "Mon Jul 06 15:06:22 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 06 19:06:22 2026 +0000"
  },
  "message": "[Tool] Fix null check operator crash in currentPackageConfig (#188454)\n\nThe Flutter tool crashes with a `Null check operator used on a null\nvalue` in sandboxed or package-managed environments (like NixOS or\nstand-alone AOT runs) where the isolate does not provide package\nresolution metadata.\n\nThis change implements:\n\n1. Removing the strict null assertion (`!`) on\n`Isolate.packageConfigSync`.\n\n2. Adding a robust fallback: if null, it attempts to resolve\n`.dart_tool/package_config.json` relative to the current working\ndirectory and then the executing script.\n\n3. If all fail, it throws a clean `ToolExit` prompting the user to run\n`flutter pub get` instead of a raw runtime crash.\n\nFixes https://github.com/flutter/flutter/issues/188449",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b71f97c9acb7aeab37020ee1ede0756860e10719",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/lib/src/dart/package_map.dart",
      "new_id": "b7ac0295321970ce8534755cb2c7231c9e5eca63",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/lib/src/dart/package_map.dart"
    },
    {
      "type": "modify",
      "old_id": "f28cf3842f223d9e48d366512c55f194a7629d7f",
      "old_mode": 33188,
      "old_path": "packages/flutter_tools/test/general.shard/dart/package_map_test.dart",
      "new_id": "3f695c9990014b340d7e889414ab52f2558375b9",
      "new_mode": 33188,
      "new_path": "packages/flutter_tools/test/general.shard/dart/package_map_test.dart"
    }
  ]
}
