加载完整github repo文件树的最有效方法是什么?

时间:2018-03-23 01:32:13

标签: github download xmlhttprequest github-api esprima

我正在处理一个简单的网页(没有后端)。它提供了有关回购中js代码的一些基本统计信息。

使用场景:

  1. 用户将其身份验证令牌添加到<input/>
  2. 用户将repo根路径添加到另一个<input/>
  3. 用户点击<button/>以加载文件
  4. window.fetch检索以根目录开头的树。类似于: [{ name:'root', children:[ {name:'foo.js',contents:'<js code>'}, {name:'bar.js',contents:'<js code>'}, { name:'src', children:[ {name:'baz.js',contents:'<js code>'}, ...etc ] } ] }]
  5. Esprima将<js code>部分解析为AST对象
  6. 其他代码从AST对象中获取统计信息
  7. 该页面显示这些统计信息
  8. 我有一个基本的GraphQL查询,但它只加载一个树级别。我希望避免在多个请求中递归构造树的逻辑和复杂性。

    如果加载文件内容,Github的v3递归树API会很棒。唉,它没有,而GraphQL api还没有递归等价物。

    网页加载github repo文件树内容的最有效方法是什么?使用Github API的解决方案可以正常工作,任何其他更有效的方法(如果存在的话)。

    谢谢!

0 个答案:

没有答案