improve structure

This commit is contained in:
2016-01-18 04:20:37 +01:00
parent a2d9a3a3e5
commit 981cb04161
12 changed files with 164 additions and 131 deletions

@ -1,30 +0,0 @@
// import gulp
var gulp = require("gulp")
var gulpTypescript = require("gulp-typescript");
var pr = require("pushrocks");
gulp.task('compileTS', function() {
var stream = gulp.src('../index.ts')
.pipe(gulpTypescript({
out: "index.js"
}))
.pipe(gulp.dest("../../"));
return stream;
});
gulp.task('compileTestTS', function() {
var stream = gulp.src('../test.ts')
.pipe(gulpTypescript({
out: "test.js"
}))
.pipe(gulp.dest("../../"));
return stream;
});
gulp.task('default',['compileTS','compileTestTS'], function() {
pr.beautylog.success('Typescript compiled');
});
//lets tell gulp to start with the default task.
pr.beautylog.log('Starting Gulp to compile TypeScript');
gulp.start.apply(gulp, ['default']);

@ -1,2 +0,0 @@
# How to compile.
Make sure gulp and gulp-taypescript from npm are available. Then run the gulpfile in this directory.

@ -1,40 +1,18 @@
/// <reference path="typings/tsd.d.ts" />
/// <reference path="smartgit.plugins.ts" />
/// <reference path="smartgit.clone.ts" />
/// <reference path="smartgit.init.ts" />
/// <reference path="smartgit.commit.ts" />
/// <reference path="smartgit.check.ts" />
var plugins = {
path: require("path"),
beautylog: require("beautylog")("os"),
nodegit: require("nodegit"),
Q: require("q")
};
var plugins = SmartgitPlugins.init();
//Build the smartgit object
var smartgit:any = {};
smartgit.clone = SmartgitClone
smartgit.commit = function(pathArg:string,commitMessage:string) {
var result = plugins.nodegit.index.addByPath(pathArg);
if (result == 0) {
}
};
smartgit.init = function(dest:string = "undefined") {
if (dest == "undefined") { //lets check if a destination is defined...
return; // ...and return function here if not
}
var isBare = 0; //lets create a subfolder
plugins.nodegit.Repository.init(dest, isBare).then(function (repo) {
// do something with repo here.
});
};
smartgit.check = function(repository) {
return true;
};
smartgit.clone = SmartgitClone.init();
smartgit.commit = SmartgitCommit.init();
smartgit.check = SmartgitCheck.init();
smartgit.init = SmartgitInit.init();
module.exports = smartgit;

9
ts/smartgit.check.ts Normal file

@ -0,0 +1,9 @@
/// <reference path="./index.ts" />
module SmartgitCheck {
export var init = function(){
var check = function() {
return true;
};
return check;
}
}

@ -1,30 +1,24 @@
/// <reference path="./index.ts" />
module SmartgitClone {
export function init() {
var clone = function(cloneURL:string = "undefined" ,dest:string = "undefined"){
var clone = function(options){
/***** URL Checks ******/
if (cloneURL == "undefined" || dest == "undefined") {
if (options.from == "undefined" || options.to == "undefined") {
plugins.beautylog.error("smartgit.clone".blue + " : Something is strange about the way you invoked the function");
return;
}
/***** Path Checks ******/
if (!/^\/.*/.test(dest)){ //check wether path is absolute
plugins.beautylog.error("It seems that the given path " + dest + " is not absolute.");
if (!/^\/.*/.test(options.to)){ //check wether path is absolute
plugins.beautylog.error("It seems that the given path " + options.to + " is not absolute.");
return;
}
plugins.beautylog.log("Now cloning " + cloneURL);
plugins.beautylog.log("Now cloning " + options.from);
var cloneOptions:any = {};
cloneOptions.remoteCallbacks = {
certificateCheck: function() { return 1; },
credentials: function(url, userName) {
return plugins.nodegit.Cred.sshKeyFromAgent(userName);
}
};
var cloneRepository = plugins.nodegit.Clone(cloneURL, dest, cloneOptions);
var cloneRepository = plugins.nodegit.Clone(options.from, options.to, cloneOptions);
smartgit.check(cloneRepository);
};

12
ts/smartgit.commit.ts Normal file

@ -0,0 +1,12 @@
/// <reference path="./index.ts" />
module SmartgitCommit {
export var init = function() {
var commit = function(pathArg:string,commitMessage:string) {
var result = plugins.nodegit.index.addByPath(pathArg);
if (result == 0) {
}
};
return commit;
}
}

@ -0,0 +1,15 @@
/// <reference path="./index.ts" />
module SmartgitInit {
export var init = function(){
var gitinit = function(dest:string = "undefined") {
if (dest == "undefined") { //lets check if a destination is defined...
return; // ...and return function here if not
}
var isBare = 0; //lets create a subfolder
plugins.nodegit.Repository.init(dest, isBare).then(function (repo) {
// do something with repo here.
});
};
return gitinit;
}
}

12
ts/smartgit.plugins.ts Normal file

@ -0,0 +1,12 @@
/// <reference path="./index.ts" />
module SmartgitPlugins {
export var init = function() {
var plugins = {
path: require("path"),
beautylog: require("beautylog"),
nodegit: require("nodegit"),
Q: require("q")
};
return plugins;
}
}

@ -1,10 +1,11 @@
/// <reference path="typings/tsd.d.ts" />
var smartgit = require("./index.js");
var beautylog = require("beautylog")("os");
var beautylog = require("beautylog");
var path = require("path");
smartgit.clone("https://github.com/pushrocks/cooltest.git",path.resolve("./test/"));
smartgit.clone({
from:"https://github.com/pushrocks/docs.git",
to:path.resolve("./test/temp/")
});
beautylog.success("Test successfull");