code: async function viaTreesApi(identifier, dir, token) {
  	const files = [];
  	const {repo, ref} = parseIdentifier(identifier);
  	const contents = await api(`${repo}/git/trees/${ref}?recursive=1`, token);
  	for (const item of contents.tree) {
  		if (item.type === 'blob' && item.path.startsWith(dir)) {
  			files.push(item.path);
  		}
  	}
  	files.truncated = contents.truncated;
  	return files;
  }
docs: Great for downloads with many sub directories Pros: one request + maybe doesn't require token Cons: huge on huge repos + may be truncated