GraphQL version of /repos/{owner}/{repo}/contents + commit date

I want to use GraphQL to get the contents list of a repository along with the modified date for each file or path.

This is similar to the view that shows up on Github HTML.

The REST API almost gets me there with the /repos/{owner}/{repo}/contents endpoint, but that one is missing the modified date for each file.

For example:

Can someone help me formulate the GraphQL query that would produce the output you see on https://github.com/mrdoob/three.js ?

For example, here is a query that gives me the top level files and paths, but I cannot figure out how to get the modified date or size for each file or path. I would have thought that adding the commit object with the committedDate for each item would do the trick for date, but that didn’t work. I also cannot discover how to get the size.

{
  repository(name: "three.js", owner: "mrdoob") {
    object(expression: "master:") {
      ... on Tree {
        entries {
          name
          path
          type
          object {
            ... on Commit {
              committedDate
            }
          }
        }
      }
    }
  }
}


OK, I figured out how to get the size for the files, but still no closer to getting the modified date for each item (tree or blob).

{
  rateLimit {
    cost
    remaining
  }
  repository(name: "three.js", owner: "mrdoob") {
    diskUsage
    object(expression: "dev:") {
      ... on Tree {
        entries {
          name
          path
          type
          extension
          object {
            ... on Blob {
              byteSize
            }
          }
        }
      }
    }
  }
}