)]}'
{
  "commit": "e6f8ac33ed2dbe043dc37ffaf82be6828c860b0e",
  "tree": "f0adeef22f918a03c951cd2dcd388bf5a107cbe8",
  "parents": [
    "3b4379f2336f8656883e0628ef82c55db61080dc"
  ],
  "author": {
    "name": "Piotr P. Karwasz",
    "email": "pkarwasz-github@apache.org",
    "time": "Tue Jun 10 11:38:28 2025 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Jun 10 11:38:28 2025 +0200"
  },
  "message": "Improve Node.js caching using `package-lock.json` (#409)\n\nThis PR updates the caching strategy for Node.js dependencies to base the cache key on the contents of `package-lock.json`, rather than the `node` or `node_modules` directories.\n\n### Problem\n\nCurrently, caching is ineffective because:\n\n* The cache key relies on `node` and `node_modules` directories.\n* These directories are not checked into the repository and therefore don’t exist when the cache is computed.\n\n### Solution\n\nUpdate the cache key to use the contents of `package-lock.json`, which is a reliable representation of the dependency tree:\n\n* If `package-lock.json` **is not committed**, the cache behavior remains unchanged.\n* If it **is committed**, caching will function as expected, restoring and saving dependencies based on lockfile changes.\n\n### Additional Changes\n\n* Commit `package-lock.json` in the `logging-parent` repository to evaluate the effectiveness of this approach.\n* Reverts the use of `npm-shrinkwrap.json` introduced in #367.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c7ae0b62f58ebba5d0d714d353ae0eeaa03a6316",
      "old_mode": 33188,
      "old_path": ".github/workflows/deploy-site-reusable.yaml",
      "new_id": "9c6314fca7e4c479b00368259746dab33d9aef58",
      "new_mode": 33188,
      "new_path": ".github/workflows/deploy-site-reusable.yaml"
    },
    {
      "type": "modify",
      "old_id": "712b37bc30f09cf3836d81a995e56cffd047c7ff",
      "old_mode": 33188,
      "old_path": ".gitignore",
      "new_id": "8338b2f400990fd94c3d4a13faab0234b59946b5",
      "new_mode": 33188,
      "new_path": ".gitignore"
    },
    {
      "type": "rename",
      "old_id": "46a7c6d9d74611309438178f8066e2dd9717fb13",
      "old_mode": 33188,
      "old_path": "npm-shrinkwrap.json",
      "new_id": "00970971c4c4e8759bda9c231d933c0dc90d4d9a",
      "new_mode": 33188,
      "new_path": "package-lock.json",
      "score": 86
    },
    {
      "type": "modify",
      "old_id": "73ed2c741c2e2fb595cb54e12a12e86b03f2567e",
      "old_mode": 33188,
      "old_path": "pom.xml",
      "new_id": "b2bae6f5339ad9645c7751d6d2b4c1b8b34caa17",
      "new_mode": 33188,
      "new_path": "pom.xml"
    },
    {
      "type": "rename",
      "old_id": "8767ba4111d825c44eddeac235a06e8c95f56632",
      "old_mode": 33188,
      "old_path": "src/changelog/.12.x.x/centralize_lock_file.xml",
      "new_id": "582b7cb8243e9ec3ae3dc00a3b75bb8a81bc2cc7",
      "new_mode": 33188,
      "new_path": "src/changelog/.12.x.x/improve-nodejs-cache.xml",
      "score": 68
    }
  ]
}
