From 82b565e97f3de8d00cd97ecf8aae27f65d1c7e21 Mon Sep 17 00:00:00 2001 From: PhilKunz Date: Thu, 31 Mar 2016 01:59:45 +0200 Subject: [PATCH] initial --- .gitignore | 13 ++++++ .travis.yml | 15 +++++++ LICENSE | 22 +++++++++ README.md | 15 +++++++ dist/index.js | 14 ++++++ dist/smartgit.add.js | 3 ++ dist/smartgit.check.js | 6 +++ dist/smartgit.clone.js | 25 +++++++++++ dist/smartgit.commit.js | 10 +++++ dist/smartgit.init.js | 17 +++++++ dist/smartgit.interfaces.js | 3 ++ dist/smartgit.plugins.js | 8 ++++ index.js | 90 +++++++++++++++++++++++++++++++++++++ package.json | 33 ++++++++++++++ test.js | 9 ++++ test/test.js | 26 +++++++++++ test/test.js.map | 1 + test/test.ts | 28 ++++++++++++ ts/index.ts | 16 +++++++ ts/smartgit.add.ts | 0 ts/smartgit.check.ts | 5 +++ ts/smartgit.clone.ts | 26 +++++++++++ ts/smartgit.commit.ts | 9 ++++ ts/smartgit.init.ts | 14 ++++++ ts/smartgit.interfaces.ts | 0 ts/smartgit.plugins.ts | 8 ++++ ts/typings.json | 7 +++ 27 files changed, 423 insertions(+) create mode 100644 .gitignore create mode 100644 .travis.yml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 dist/index.js create mode 100644 dist/smartgit.add.js create mode 100644 dist/smartgit.check.js create mode 100644 dist/smartgit.clone.js create mode 100644 dist/smartgit.commit.js create mode 100644 dist/smartgit.init.js create mode 100644 dist/smartgit.interfaces.js create mode 100644 dist/smartgit.plugins.js create mode 100644 index.js create mode 100644 package.json create mode 100644 test.js create mode 100644 test/test.js create mode 100644 test/test.js.map create mode 100644 test/test.ts create mode 100644 ts/index.ts create mode 100644 ts/smartgit.add.ts create mode 100644 ts/smartgit.check.ts create mode 100644 ts/smartgit.clone.ts create mode 100644 ts/smartgit.commit.ts create mode 100644 ts/smartgit.init.ts create mode 100644 ts/smartgit.interfaces.ts create mode 100644 ts/smartgit.plugins.ts create mode 100644 ts/typings.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..832ad48 --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +node_modules/ +.settings/ +.idea/ +test/temp/ +coverage/ +docs/ + +#npm devug +npm-debug.log + +ts/*.js +ts/*.js.map +ts/typings/ \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..4cca1ea --- /dev/null +++ b/.travis.yml @@ -0,0 +1,15 @@ +language: node_js +node_js: +- 4 +- stable +deploy: + provider: npm + email: npm@lossless.digital + api_key: + secure: o/3H4keWRAvHZaJnUN9UX+hqu+prKGtBsOEWVIaRXUpf6nIHIDm9zlJrS5cv2VUseOZqLAOkzeGYPqlOJlxccy5frKEYMhtCY97BjKvUOf01roL82OGiahw5Bv04NcaBoSepCliyyXihlgZO/5tSoR1seY4ycul2qWLktaEmh8HcTPjem8gB49Svpfk8yPKLpq6cv/sSakt2X24Cq+vfdxYiz7GcgBfv3EVAndUmQ9KMQfkSbq8XgYEZKrLi5kdpXX0y1LRdsbn2rwuMwLOmefCenmQSuBCbYmbOxPgVHHHjVm9To/rhx8YHBCcZSH9go2pdDLwrd7VPOCK+vMHCz/rlASwVM/BGr+aJHCFLAyovrIU7cvbbjLPOUjto6xY2XckMmDBD1YDxYnAJAON1QrdXE9hVVRfMNfaC2leFAwhla1WMok5DcEv+/Q9cUXQCBGQHtBhkhmCCt54ERLFnjXCDZr1icR/0lhtQY54hin5jSHqnU2hTZtTpQX7sF0yZM2sbhTBpV5FTDAGH/ohNWSEnTwAXmL9iwZCTvtWUbBeOUSDRj8BLS54uiaIcIVytNY0p2PdnhwJAWO+4FGjSOT+RuK8RiKzyVXjPiX8TCzaOqBFs947m8SSNMSt6zyqOI27gOSzU7szgsKY769Fl+X9sdzFXaSa72rj4EdvgiBA= + on: + tags: true + repo: pushrocks/smartgit +notifications: + slack: + secure: f5Uss0z9RPl/QcA/DroB8loyE93aOYI6bqCkrsiUscmZtlv/TVQtT4dxqGA6uvcG6iTQDBi3Ul88dQxWkRm4IqbhY35/iMaV2dHW4FVYMAh8GQMbsfL2sALCcufxD9blw47awv3iFcwhV1EeyesscjgL0JIjduk96v/7G/6QIO2838M1lzlgtj+kRUkim8qkaEs1je3gRrhMUIjLuAdscMXyUKYFMjWo9ACSjVUl30R/ZNemb18itIja6i92GotreBgcfEMczvy58ovDC7xdJUsY8LjMI01DwY+WPRnI0tAhsuI8moBwwcdM4e3bAjKjucQRjO33O5bMWRZ6QCiYd0DnCEFyCPQLJ4GSy/tkD00n8ijLHAOSV3AH1zNbdK1EAdSPQXDvlI36KJn/2hyQLoitGHVUPr76ujJWP82ypO2tgIp3XQU0dJVCxDuHnwJO2+hjdI+gCPqxNTpjeujHx3UdkTGNRjuuf9dlZ/D08fApjYxy2fxItTqo3QjP/nrqvBXUOPP8yPHpjIT4H2t5Pr4SJjBGI6X4qhKyFj6s9rA/Xu1rL+45zu1C3uC3z+u3T9UwrbzJ/cZM6r6UQvQmUvIfBNaMlg4I/diQCDIPL+Rhop2nylY3IcHmJnk2itn7kOqj1tohCpFEml5pRuSZy4udWywkdtyBAsHWFLF7oiQ= diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b8e36c1 --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Push.Rocks + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..a090f7b --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +# smartgit is an easy wrapper for nodegit +an easy wrapper for nodegit + +### Buildstatus/Dependencies +[![Build Status](https://travis-ci.org/pushrocks/smartgit.svg?branch=master)](https://travis-ci.org/pushrocks/smartgit) +[![devDependency Status](https://david-dm.org/pushrocks/smartgit/dev-status.svg)](https://david-dm.org/pushrocks/smartgit#info=devDependencies) + +### Usage +This npm package comes with everything you need to start your own gulp plugin. + +Features: + +* easily cone a git repo +* easily create a new git repo +* easily add all changes and make a new commit \ No newline at end of file diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..2f83e61 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,14 @@ +/// +"use strict"; +var SmartgitCheck = require("./smartgit.check"); +var SmartgitClone = require("./smartgit.clone"); +var SmartgitCommit = require("./smartgit.commit"); +var SmartgitInit = require("./smartgit.init"); +var smartgit = {}; +smartgit.clone = SmartgitClone; +smartgit.commit = SmartgitCommit; +smartgit.check = SmartgitCheck; +smartgit.init = SmartgitInit; +module.exports = smartgit; + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRDQUE0Qzs7QUFHNUMsSUFBTyxhQUFhLFdBQVcsa0JBQWtCLENBQUMsQ0FBQztBQUNuRCxJQUFPLGFBQWEsV0FBVyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ25ELElBQU8sY0FBYyxXQUFXLG1CQUFtQixDQUFDLENBQUM7QUFDckQsSUFBTyxZQUFZLFdBQVcsaUJBQWlCLENBQUMsQ0FBQztBQUVqRCxJQUFJLFFBQVEsR0FBTyxFQUFFLENBQUM7QUFDdEIsUUFBUSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7QUFDL0IsUUFBUSxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUM7QUFDakMsUUFBUSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUM7QUFDL0IsUUFBUSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUM7QUFHN0IsTUFBTSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XG5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRnaXQucGx1Z2luc1wiKTtcbmltcG9ydCBTbWFydGdpdENoZWNrID0gcmVxdWlyZShcIi4vc21hcnRnaXQuY2hlY2tcIik7XG5pbXBvcnQgU21hcnRnaXRDbG9uZSA9IHJlcXVpcmUoXCIuL3NtYXJ0Z2l0LmNsb25lXCIpO1xuaW1wb3J0IFNtYXJ0Z2l0Q29tbWl0ID0gcmVxdWlyZShcIi4vc21hcnRnaXQuY29tbWl0XCIpO1xuaW1wb3J0IFNtYXJ0Z2l0SW5pdCA9IHJlcXVpcmUoXCIuL3NtYXJ0Z2l0LmluaXRcIik7XG5cbnZhciBzbWFydGdpdDphbnkgPSB7fTtcbnNtYXJ0Z2l0LmNsb25lID0gU21hcnRnaXRDbG9uZTtcbnNtYXJ0Z2l0LmNvbW1pdCA9IFNtYXJ0Z2l0Q29tbWl0O1xuc21hcnRnaXQuY2hlY2sgPSBTbWFydGdpdENoZWNrO1xuc21hcnRnaXQuaW5pdCA9IFNtYXJ0Z2l0SW5pdDtcblxuXG5tb2R1bGUuZXhwb3J0cyA9IHNtYXJ0Z2l0O1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 diff --git a/dist/smartgit.add.js b/dist/smartgit.add.js new file mode 100644 index 0000000..67d7b48 --- /dev/null +++ b/dist/smartgit.add.js @@ -0,0 +1,3 @@ + + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzbWFydGdpdC5hZGQuanMiLCJzb3VyY2VzQ29udGVudCI6W10sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 diff --git a/dist/smartgit.check.js b/dist/smartgit.check.js new file mode 100644 index 0000000..0fb133e --- /dev/null +++ b/dist/smartgit.check.js @@ -0,0 +1,6 @@ +"use strict"; +module.exports = function (repoArg) { + return true; +}; + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Z2l0LmNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxpQkFBUyxVQUFTLE9BQU87SUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUMiLCJmaWxlIjoic21hcnRnaXQuY2hlY2suanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XG5pbXBvcnQgcGx1Z2lucyA9IHJlcXVpcmUoXCIuL3NtYXJ0Z2l0LnBsdWdpbnNcIik7XG5leHBvcnQgPSBmdW5jdGlvbihyZXBvQXJnKSB7XG4gICAgcmV0dXJuIHRydWU7XG59OyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/dist/smartgit.clone.js b/dist/smartgit.clone.js new file mode 100644 index 0000000..c1a054c --- /dev/null +++ b/dist/smartgit.clone.js @@ -0,0 +1,25 @@ +"use strict"; +/// +var plugins = require("./smartgit.plugins"); +var SmartgitCheck = require("./smartgit.check"); +module.exports = function (options) { + var done = plugins.Q.defer(); + /***** URL Checks ******/ + 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(options.to)) { + plugins.beautylog.error("It seems that the given path " + options.to + " is not absolute."); + return; + } + plugins.beautylog.log("Now cloning " + options.from); + var cloneOptions = {}; + var cloneRepository = plugins.nodegit.Clone(options.from, options.to, cloneOptions); + SmartgitCheck(cloneRepository); + done.resolve(); + return done.promise; +}; + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Z2l0LmNsb25lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBNEM7QUFDNUMsSUFBTyxPQUFPLFdBQVcsb0JBQW9CLENBQUMsQ0FBQztBQUMvQyxJQUFPLGFBQWEsV0FBVyxrQkFBa0IsQ0FBQyxDQUFDO0FBRW5ELGlCQUFTLFVBQVMsT0FBTztJQUNyQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzdCLHlCQUF5QjtJQUN6QixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLFdBQVcsSUFBSSxPQUFPLENBQUMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDM0QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLGdFQUFnRSxDQUFDLENBQUM7UUFDbEgsTUFBTSxDQUFDO0lBQ1gsQ0FBQztJQUVELDBCQUEwQjtJQUMxQixFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUEsQ0FBQztRQUMzQixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsR0FBRyxPQUFPLENBQUMsRUFBRSxHQUFHLG1CQUFtQixDQUFDLENBQUM7UUFDNUYsTUFBTSxDQUFDO0lBQ1gsQ0FBQztJQUdELE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsSUFBSSxZQUFZLEdBQU8sRUFBRSxDQUFDO0lBQzFCLElBQUksZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNwRixhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7QUFDeEIsQ0FBQyxDQUFDIiwiZmlsZSI6InNtYXJ0Z2l0LmNsb25lLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuaW1wb3J0IHBsdWdpbnMgPSByZXF1aXJlKFwiLi9zbWFydGdpdC5wbHVnaW5zXCIpO1xuaW1wb3J0IFNtYXJ0Z2l0Q2hlY2sgPSByZXF1aXJlKFwiLi9zbWFydGdpdC5jaGVja1wiKTtcblxuZXhwb3J0ID0gZnVuY3Rpb24ob3B0aW9ucyl7XG4gICAgbGV0IGRvbmUgPSBwbHVnaW5zLlEuZGVmZXIoKTtcbiAgICAvKioqKiogVVJMIENoZWNrcyAqKioqKiovXG4gICAgaWYgKG9wdGlvbnMuZnJvbSA9PSBcInVuZGVmaW5lZFwiIHx8IG9wdGlvbnMudG8gPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBwbHVnaW5zLmJlYXV0eWxvZy5lcnJvcihcInNtYXJ0Z2l0LmNsb25lXCIuYmx1ZSArIFwiIDogU29tZXRoaW5nIGlzIHN0cmFuZ2UgYWJvdXQgdGhlIHdheSB5b3UgaW52b2tlZCB0aGUgZnVuY3Rpb25cIik7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvKioqKiogUGF0aCBDaGVja3MgKioqKioqL1xuICAgIGlmICghL15cXC8uKi8udGVzdChvcHRpb25zLnRvKSl7IC8vY2hlY2sgd2V0aGVyIHBhdGggaXMgYWJzb2x1dGVcbiAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuZXJyb3IoXCJJdCBzZWVtcyB0aGF0IHRoZSBnaXZlbiBwYXRoIFwiICsgb3B0aW9ucy50byArIFwiIGlzIG5vdCBhYnNvbHV0ZS5cIik7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cblxuICAgIHBsdWdpbnMuYmVhdXR5bG9nLmxvZyhcIk5vdyBjbG9uaW5nIFwiICsgb3B0aW9ucy5mcm9tKTtcbiAgICB2YXIgY2xvbmVPcHRpb25zOmFueSA9IHt9O1xuICAgIHZhciBjbG9uZVJlcG9zaXRvcnkgPSBwbHVnaW5zLm5vZGVnaXQuQ2xvbmUob3B0aW9ucy5mcm9tLCBvcHRpb25zLnRvLCBjbG9uZU9wdGlvbnMpO1xuICAgIFNtYXJ0Z2l0Q2hlY2soY2xvbmVSZXBvc2l0b3J5KTtcbiAgICBkb25lLnJlc29sdmUoKTtcbiAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xufTsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= diff --git a/dist/smartgit.commit.js b/dist/smartgit.commit.js new file mode 100644 index 0000000..88e0b4c --- /dev/null +++ b/dist/smartgit.commit.js @@ -0,0 +1,10 @@ +"use strict"; +/// +var plugins = require("./smartgit.plugins"); +module.exports = function (pathArg, commitMessage) { + var result = plugins.nodegit.index.addByPath(pathArg); + if (result == 0) { + } +}; + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Z2l0LmNvbW1pdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNENBQTRDO0FBQzVDLElBQU8sT0FBTyxXQUFXLG9CQUFvQixDQUFDLENBQUM7QUFFL0MsaUJBQVMsVUFBUyxPQUFjLEVBQUMsYUFBb0I7SUFDakQsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWxCLENBQUM7QUFDTCxDQUFDLENBQUMiLCJmaWxlIjoic21hcnRnaXQuY29tbWl0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuaW1wb3J0IHBsdWdpbnMgPSByZXF1aXJlKFwiLi9zbWFydGdpdC5wbHVnaW5zXCIpO1xuXG5leHBvcnQgPSBmdW5jdGlvbihwYXRoQXJnOnN0cmluZyxjb21taXRNZXNzYWdlOnN0cmluZykge1xuICAgIHZhciByZXN1bHQgPSBwbHVnaW5zLm5vZGVnaXQuaW5kZXguYWRkQnlQYXRoKHBhdGhBcmcpO1xuICAgIGlmIChyZXN1bHQgPT0gMCkge1xuICAgICAgICBcbiAgICB9XG59OyJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/dist/smartgit.init.js b/dist/smartgit.init.js new file mode 100644 index 0000000..51caad8 --- /dev/null +++ b/dist/smartgit.init.js @@ -0,0 +1,17 @@ +"use strict"; +/// +var plugins = require("./smartgit.plugins"); +module.exports = function () { + var gitinit = function (dest) { + if (dest === void 0) { dest = "undefined"; } + if (dest == "undefined") { + 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. + }); + }; +}; + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Z2l0LmluaXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDRDQUE0QztBQUM1QyxJQUFPLE9BQU8sV0FBVyxvQkFBb0IsQ0FBQyxDQUFDO0FBRS9DLGlCQUFTO0lBQ0wsSUFBSSxPQUFPLEdBQUcsVUFBUyxJQUF5QjtRQUF6QixvQkFBeUIsR0FBekIsa0JBQXlCO1FBQzVDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxDQUFDLHFDQUFxQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMseUJBQXlCO1FBQ3pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSTtZQUM3RCwrQkFBK0I7UUFDbkMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7QUFDTixDQUFDLENBQUEiLCJmaWxlIjoic21hcnRnaXQuaW5pdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cbmltcG9ydCBwbHVnaW5zID0gcmVxdWlyZShcIi4vc21hcnRnaXQucGx1Z2luc1wiKTtcblxuZXhwb3J0ID0gZnVuY3Rpb24oKXtcbiAgICB2YXIgZ2l0aW5pdCA9IGZ1bmN0aW9uKGRlc3Q6c3RyaW5nID0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICBpZiAoZGVzdCA9PSBcInVuZGVmaW5lZFwiKSB7IC8vbGV0cyBjaGVjayBpZiBhIGRlc3RpbmF0aW9uIGlzIGRlZmluZWQuLi5cbiAgICAgICAgICAgIHJldHVybjsgLy8gLi4uYW5kIHJldHVybiBmdW5jdGlvbiBoZXJlIGlmIG5vdFxuICAgICAgICB9XG4gICAgICAgIHZhciBpc0JhcmUgPSAwOyAvL2xldHMgY3JlYXRlIGEgc3ViZm9sZGVyXG4gICAgICAgIHBsdWdpbnMubm9kZWdpdC5SZXBvc2l0b3J5LmluaXQoZGVzdCwgaXNCYXJlKS50aGVuKGZ1bmN0aW9uIChyZXBvKSB7XG4gICAgICAgICAgICAvLyBkbyBzb21ldGhpbmcgd2l0aCByZXBvIGhlcmUuXG4gICAgICAgIH0pO1xuICAgIH07XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 diff --git a/dist/smartgit.interfaces.js b/dist/smartgit.interfaces.js new file mode 100644 index 0000000..dfe515e --- /dev/null +++ b/dist/smartgit.interfaces.js @@ -0,0 +1,3 @@ + + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzbWFydGdpdC5pbnRlcmZhY2VzLmpzIiwic291cmNlc0NvbnRlbnQiOltdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== diff --git a/dist/smartgit.plugins.js b/dist/smartgit.plugins.js new file mode 100644 index 0000000..92c3d2a --- /dev/null +++ b/dist/smartgit.plugins.js @@ -0,0 +1,8 @@ +/// +"use strict"; +exports.path = require("path"); +exports.beautylog = require("beautylog"); +exports.nodegit = require("nodegit"); +exports.Q = require("q"); + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNtYXJ0Z2l0LnBsdWdpbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNENBQTRDOztBQUVqQyxZQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZCLGlCQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2pDLGVBQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0IsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyIsImZpbGUiOiJzbWFydGdpdC5wbHVnaW5zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxuXG5leHBvcnQgbGV0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmV4cG9ydCBsZXQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcbmV4cG9ydCBsZXQgbm9kZWdpdCA9IHJlcXVpcmUoXCJub2RlZ2l0XCIpO1xuZXhwb3J0IGxldCBRID0gcmVxdWlyZShcInFcIik7XG5cblxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 diff --git a/index.js b/index.js new file mode 100644 index 0000000..f937cb0 --- /dev/null +++ b/index.js @@ -0,0 +1,90 @@ +/// +var SmartgitPlugins; +(function (SmartgitPlugins) { + SmartgitPlugins.init = function () { + var plugins = { + path: require("path"), + beautylog: require("beautylog"), + nodegit: require("nodegit"), + Q: require("q") + }; + return plugins; + }; +})(SmartgitPlugins || (SmartgitPlugins = {})); +/// +var SmartgitClone; +(function (SmartgitClone) { + function init() { + var clone = function (options) { + /***** URL Checks ******/ + 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(options.to)) { + plugins.beautylog.error("It seems that the given path " + options.to + " is not absolute."); + return; + } + plugins.beautylog.log("Now cloning " + options.from); + var cloneOptions = {}; + var cloneRepository = plugins.nodegit.Clone(options.from, options.to, cloneOptions); + smartgit.check(cloneRepository); + }; + return clone; + } + SmartgitClone.init = init; +})(SmartgitClone || (SmartgitClone = {})); +/// +var SmartgitInit; +(function (SmartgitInit) { + SmartgitInit.init = function () { + var gitinit = function (dest) { + if (dest === void 0) { dest = "undefined"; } + if (dest == "undefined") { + 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; + }; +})(SmartgitInit || (SmartgitInit = {})); +/// +var SmartgitCommit; +(function (SmartgitCommit) { + SmartgitCommit.init = function () { + var commit = function (pathArg, commitMessage) { + var result = plugins.nodegit.index.addByPath(pathArg); + if (result == 0) { + } + }; + return commit; + }; +})(SmartgitCommit || (SmartgitCommit = {})); +/// +var SmartgitCheck; +(function (SmartgitCheck) { + SmartgitCheck.init = function () { + var check = function () { + return true; + }; + return check; + }; +})(SmartgitCheck || (SmartgitCheck = {})); +/// +/// +/// +/// +/// +/// +var plugins = SmartgitPlugins.init(); +//Build the smartgit object +var smartgit = {}; +smartgit.clone = SmartgitClone.init(); +smartgit.commit = SmartgitCommit.init(); +smartgit.check = SmartgitCheck.init(); +smartgit.init = SmartgitInit.init(); +module.exports = smartgit; diff --git a/package.json b/package.json new file mode 100644 index 0000000..9327052 --- /dev/null +++ b/package.json @@ -0,0 +1,33 @@ +{ + "name": "smartgit", + "version": "0.0.7", + "description": "an easy wrapper for nodegit", + "main": "dist/index.js", + "scripts": { + "test": "(npmts)" + }, + "repository": { + "type": "git", + "url": "https://github.com/pushrocks/smartgit.git" + }, + "keywords": [ + "json", + "jade", + "template" + ], + "author": "Smart Coordination GmbH (https://push.rocks)", + "license": "MIT", + "bugs": { + "url": "https://github.com/pushrocks/smartgit/issues" + }, + "homepage": "https://github.com/pushrocks/smartgit", + "dependencies": { + "beautylog": "3.1.2", + "nodegit": "0.12.1", + "q": "1.4.1" + }, + "devDependencies": { + "npmts": "3.6.10", + "should": "^8.3.0" + } +} diff --git a/test.js b/test.js new file mode 100644 index 0000000..2129f5a --- /dev/null +++ b/test.js @@ -0,0 +1,9 @@ +/// +var smartgit = require("./index.js"); +var beautylog = require("beautylog"); +var path = require("path"); +smartgit.clone({ + from: "https://github.com/pushrocks/docs.git", + to: path.resolve("./test/temp/") +}); +beautylog.success("Test successfull"); diff --git a/test/test.js b/test/test.js new file mode 100644 index 0000000..6a64669 --- /dev/null +++ b/test/test.js @@ -0,0 +1,26 @@ +/// +var smartgit = require("../dist/index.js"); +var beautylog = require("beautylog"); +var path = require("path"); +var should = require("should"); +describe("smartgit", function () { + describe(".clone", function () { + it("should clone a repository", function (done) { + this.timeout(10000); + smartgit.clone({ + from: "https://github.com/pushrocks/docs.git", + to: path.resolve("./test/temp/") + }).then(function () { + done(); + }); + }); + }); + describe(".check", function () { + }); + describe("commit", function () { + }); + describe("init", function () { + }); +}); + +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0RBQWdEO0FBQ2hELElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzNDLElBQUksU0FBUyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNyQyxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDM0IsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRS9CLFFBQVEsQ0FBQyxVQUFVLEVBQUM7SUFDaEIsUUFBUSxDQUFDLFFBQVEsRUFBQztRQUNkLEVBQUUsQ0FBQywyQkFBMkIsRUFBQyxVQUFTLElBQUk7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQixRQUFRLENBQUMsS0FBSyxDQUFDO2dCQUNYLElBQUksRUFBQyx1Q0FBdUM7Z0JBQzVDLEVBQUUsRUFBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQzthQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNKLElBQUksRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ0gsUUFBUSxDQUFDLFFBQVEsRUFBQztJQUVsQixDQUFDLENBQUMsQ0FBQztJQUNILFFBQVEsQ0FBQyxRQUFRLEVBQUM7SUFFbEIsQ0FBQyxDQUFDLENBQUM7SUFDSCxRQUFRLENBQUMsTUFBTSxFQUFDO0lBRWhCLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMiLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuLi90cy90eXBpbmdzL21haW4uZC50c1wiIC8+XG5sZXQgc21hcnRnaXQgPSByZXF1aXJlKFwiLi4vZGlzdC9pbmRleC5qc1wiKTtcbmxldCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xubGV0IHBhdGggPSByZXF1aXJlKFwicGF0aFwiKTtcbmxldCBzaG91bGQgPSByZXF1aXJlKFwic2hvdWxkXCIpO1xuXG5kZXNjcmliZShcInNtYXJ0Z2l0XCIsZnVuY3Rpb24oKXtcbiAgICBkZXNjcmliZShcIi5jbG9uZVwiLGZ1bmN0aW9uKCl7XG4gICAgICAgIGl0KFwic2hvdWxkIGNsb25lIGEgcmVwb3NpdG9yeVwiLGZ1bmN0aW9uKGRvbmUpe1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0KDEwMDAwKTtcbiAgICAgICAgICAgIHNtYXJ0Z2l0LmNsb25lKHtcbiAgICAgICAgICAgICAgICBmcm9tOlwiaHR0cHM6Ly9naXRodWIuY29tL3B1c2hyb2Nrcy9kb2NzLmdpdFwiLFxuICAgICAgICAgICAgICAgIHRvOnBhdGgucmVzb2x2ZShcIi4vdGVzdC90ZW1wL1wiKVxuICAgICAgICAgICAgfSkudGhlbihmdW5jdGlvbigpe1xuICAgICAgICAgICAgICAgIGRvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgICBkZXNjcmliZShcIi5jaGVja1wiLGZ1bmN0aW9uKCl7XG5cbiAgICB9KTtcbiAgICBkZXNjcmliZShcImNvbW1pdFwiLGZ1bmN0aW9uKCl7XG5cbiAgICB9KTtcbiAgICBkZXNjcmliZShcImluaXRcIixmdW5jdGlvbigpe1xuXG4gICAgfSk7XG59KTsiXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= diff --git a/test/test.js.map b/test/test.js.map new file mode 100644 index 0000000..fb4a412 --- /dev/null +++ b/test/test.js.map @@ -0,0 +1 @@ +{"version":3,"file":"test.js","sourceRoot":"","sources":["test.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,IAAI,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC3C,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACrC,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3B,IAAI,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE/B,QAAQ,CAAC,UAAU,EAAC;IAChB,QAAQ,CAAC,QAAQ,EAAC;QACd,EAAE,CAAC,2BAA2B,EAAC,UAAS,IAAI;YACxC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpB,QAAQ,CAAC,KAAK,CAAC;gBACX,IAAI,EAAC,uCAAuC;gBAC5C,EAAE,EAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;aAClC,CAAC,CAAC,IAAI,CAAC;gBACJ,IAAI,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,QAAQ,EAAC;IAElB,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,QAAQ,EAAC;IAElB,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,MAAM,EAAC;IAEhB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/test/test.ts b/test/test.ts new file mode 100644 index 0000000..a6c0bc7 --- /dev/null +++ b/test/test.ts @@ -0,0 +1,28 @@ +/// +let smartgit = require("../dist/index.js"); +let beautylog = require("beautylog"); +let path = require("path"); +let should = require("should"); + +describe("smartgit",function(){ + describe(".clone",function(){ + it("should clone a repository",function(done){ + this.timeout(10000); + smartgit.clone({ + from:"https://github.com/pushrocks/docs.git", + to:path.resolve("./test/temp/") + }).then(function(){ + done(); + }); + }); + }); + describe(".check",function(){ + + }); + describe("commit",function(){ + + }); + describe("init",function(){ + + }); +}); \ No newline at end of file diff --git a/ts/index.ts b/ts/index.ts new file mode 100644 index 0000000..8cc2d5e --- /dev/null +++ b/ts/index.ts @@ -0,0 +1,16 @@ +/// + +import plugins = require("./smartgit.plugins"); +import SmartgitCheck = require("./smartgit.check"); +import SmartgitClone = require("./smartgit.clone"); +import SmartgitCommit = require("./smartgit.commit"); +import SmartgitInit = require("./smartgit.init"); + +var smartgit:any = {}; +smartgit.clone = SmartgitClone; +smartgit.commit = SmartgitCommit; +smartgit.check = SmartgitCheck; +smartgit.init = SmartgitInit; + + +module.exports = smartgit; diff --git a/ts/smartgit.add.ts b/ts/smartgit.add.ts new file mode 100644 index 0000000..e69de29 diff --git a/ts/smartgit.check.ts b/ts/smartgit.check.ts new file mode 100644 index 0000000..9030a08 --- /dev/null +++ b/ts/smartgit.check.ts @@ -0,0 +1,5 @@ +/// +import plugins = require("./smartgit.plugins"); +export = function(repoArg) { + return true; +}; \ No newline at end of file diff --git a/ts/smartgit.clone.ts b/ts/smartgit.clone.ts new file mode 100644 index 0000000..ea01a03 --- /dev/null +++ b/ts/smartgit.clone.ts @@ -0,0 +1,26 @@ +/// +import plugins = require("./smartgit.plugins"); +import SmartgitCheck = require("./smartgit.check"); + +export = function(options){ + let done = plugins.Q.defer(); + /***** URL Checks ******/ + 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(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 " + options.from); + var cloneOptions:any = {}; + var cloneRepository = plugins.nodegit.Clone(options.from, options.to, cloneOptions); + SmartgitCheck(cloneRepository); + done.resolve(); + return done.promise; +}; \ No newline at end of file diff --git a/ts/smartgit.commit.ts b/ts/smartgit.commit.ts new file mode 100644 index 0000000..f5a5e4c --- /dev/null +++ b/ts/smartgit.commit.ts @@ -0,0 +1,9 @@ +/// +import plugins = require("./smartgit.plugins"); + +export = function(pathArg:string,commitMessage:string) { + var result = plugins.nodegit.index.addByPath(pathArg); + if (result == 0) { + + } +}; \ No newline at end of file diff --git a/ts/smartgit.init.ts b/ts/smartgit.init.ts new file mode 100644 index 0000000..148dfd6 --- /dev/null +++ b/ts/smartgit.init.ts @@ -0,0 +1,14 @@ +/// +import plugins = require("./smartgit.plugins"); + +export = 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. + }); + }; +} \ No newline at end of file diff --git a/ts/smartgit.interfaces.ts b/ts/smartgit.interfaces.ts new file mode 100644 index 0000000..e69de29 diff --git a/ts/smartgit.plugins.ts b/ts/smartgit.plugins.ts new file mode 100644 index 0000000..4dfeb61 --- /dev/null +++ b/ts/smartgit.plugins.ts @@ -0,0 +1,8 @@ +/// + +export let path = require("path"); +export let beautylog = require("beautylog"); +export let nodegit = require("nodegit"); +export let Q = require("q"); + + diff --git a/ts/typings.json b/ts/typings.json new file mode 100644 index 0000000..4c3399a --- /dev/null +++ b/ts/typings.json @@ -0,0 +1,7 @@ +{ + "ambientDependencies": { + "colors": "registry:dt/colors#0.6.0-1+20160317120654", + "mocha": "registry:dt/mocha#2.2.5+20160317120654", + "node": "registry:dt/node#4.0.0+20160330064709" + } +}