作为npm包使用的构建脚本的一部分,我正在修改(-g或者必需),我需要将远程github存储库中目录的内容复制到built
目录中。
例如。 ACE编辑器版本 - 远程上的一堆文件。 https://github.com/ajaxorg/ace-builds/tree/master/src-min-noconflict
我不希望我的模块在本地拥有ACE文件,并且没有npm包用于我可以要求和使用的构建。它应该在建造时从最新的遥控器拉出来。
我不想克隆回购,但也许可以抓住拉链并从中取出一些东西。
有没有人知道任何已经可以执行此操作的包或脚本而无法访问shell上的git
?我对依赖git犹豫不决,因为你可以在全局安装软件包并将其用作二进制文件......
我还能做什么?节点gyp?沃尔或许? component.js?任何可以从远程git文件系统引用和部署的东西......
答案 0 :(得分:1)
这是一个选择吗?滚动你自己可能很简单(我不知道有什么存在)
Base64
个编码内容警告:我从未尝试过这个
修改强>
这是一些粗略的代码。文件夹级别的内容查询不会返回编码内容,因此您需要迭代每个文件并发出另一个API请求(对于未经身份验证的请求,这可能会导致rate limit)
var GitHubApi = require("github")
,fs = require("fs");
var github = new GitHubApi({
version: "3.0.0"
,timeout: 5000
});
var msg = {
user: "visionmedia"
,repo: "express"
,path: "lib/router"
};
github.repos.getContent(msg, function(err, res) {
delete res.meta; //appended by wrapper, remove for iteration
for(file in res) {
msg.path = res[file].path;
github.repos.getContent(msg, function(err, res) {
fs.writeFile(res.name
,res.content
,res.encoding
,function(err){
console.log("Wrote %s to filesystem!", res.name)
});
});
};
});