├── server ├── mongodir │ ├── mongod.lock │ ├── local.0 │ └── local.ns ├── data │ └── db │ │ └── mongod.lock ├── public │ ├── javascripts │ │ └── angularApp.js │ └── stylesheets │ │ └── style.css ├── views │ ├── error.ejs │ └── index.ejs ├── routes │ ├── index.js │ └── dependencies.js ├── config.js ├── Models │ ├── repoModel.js │ ├── repoModel1.js │ ├── dependencyModel1.js │ └── dependencyModel.js ├── server.js └── bin │ └── www ├── _.gitattributes ├── jsonData ├── ace.bower.json.txt ├── bower.bower.json.txt ├── cdnjs.bower.json.txt ├── fks.bower.json.txt ├── gaia.bower.json.txt ├── jade.bower.json.txt ├── node.bower.json.txt ├── FlexSlider.bower.json.txt ├── JSON-js.bower.json.txt ├── JSON-js.package.json.txt ├── Leaflet.bower.json.txt ├── Modernizr.bower.json.txt ├── appium.bower.json.txt ├── bootstrap.bower.json.txt ├── brackets.bower.json.txt ├── courses.bower.json.txt ├── courses.package.json.txt ├── express.bower.json.txt ├── html5demos.bower.json.txt ├── iscroll.bower.json.txt ├── javascript.bower.json.txt ├── jquery.bower.json.txt ├── meteor.bower.json.txt ├── meteor.package.json.txt ├── node.package.json.txt ├── pdf.js.bower.json.txt ├── BrowserQuest.bower.json.txt ├── FlexSlider.package.json.txt ├── angular-app.bower.json.txt ├── angular-app.package.json.txt ├── formvalidation.bower.json.txt ├── fullPage.js.package.json.txt ├── html5demos.package.json.txt ├── impress.js.package.json.txt ├── jquery-pjax.package.json.txt ├── node-js-sample.bower.json.txt ├── phonegap-start.bower.json.txt ├── backbonetutorials.bower.json.txt ├── backbonetutorials.package.json.txt ├── chrome-app-samples.bower.json.txt ├── chrome-app-samples.package.json.txt ├── generator-angular.bower.json.txt ├── html5-boilerplate.bower.json.txt ├── onepage-scroll.package.json.txt ├── phonegap-start.package.json.txt ├── backbone-fundamentals.bower.json.txt ├── backbone-fundamentals.package.json.txt ├── frontend-nanodegree-resume.bower.json.txt ├── frontend-nanodegree-resume.package.json.txt ├── hammer.js.bower.json.txt ├── infinite-scroll.package.json.txt ├── fastclick.bower.json.txt ├── highcharts.com.package.json.txt ├── html5shiv.bower.json.txt ├── Chart.js.bower.json.txt ├── backbone.bower.json.txt ├── angular.js.bower.json.txt ├── jquery-pjax.bower.json.txt ├── onepage-scroll.bower.json.txt ├── CodeMirror.bower.json.txt ├── jquery-cookie.bower.json.txt ├── BrowserQuest.package.json.txt ├── Magnific-Popup.bower.json.txt ├── cgm-remote-monitor.bower.json.txt ├── bootstrap-datepicker.bower.json.txt ├── fks.package.json.txt ├── moment.bower.json.txt ├── html5shiv.package.json.txt ├── angular-seed.bower.json.txt ├── mean.bower.json.txt ├── dropzone.bower.json.txt ├── less.js.bower.json.txt ├── d3.bower.json.txt ├── angular-phonecat.bower.json.txt ├── fine-uploader.bower.json.txt ├── highcharts.com.bower.json.txt ├── infinite-scroll.bower.json.txt ├── mustache.js.bower.json.txt ├── jquery-placeholder.bower.json.txt ├── impress.js.bower.json.txt ├── echarts.package.json.txt ├── pdf.js.package.json.txt ├── javascript.package.json.txt ├── jquery-validation.bower.json.txt ├── jquery-mobile.bower.json.txt ├── node-js-sample.package.json.txt ├── ember.js.bower.json.txt ├── iscroll.package.json.txt ├── Chart.js.package.json.txt ├── fullPage.js.bower.json.txt ├── bootstrap.package.json.txt ├── echarts.bower.json.txt ├── phaser.bower.json.txt ├── masonry.bower.json.txt ├── jasmine.bower.json.txt ├── ember.js.package.json.txt ├── CodeMirror.package.json.txt ├── bootstrap-datetimepicker.bower.json.txt ├── bootstrap-datetimepicker.package.json.txt ├── cdnjs.package.json.txt ├── Flat-UI.bower.json.txt ├── jasmine.package.json.txt ├── mustache.js.package.json.txt ├── jquery-placeholder.package.json.txt ├── masonry.package.json.txt ├── ace.package.json.txt ├── fastclick.package.json.txt ├── Leaflet.package.json.txt ├── html5-boilerplate.package.json.txt ├── jquery-ui.bower.json.txt ├── bootstrap-datepicker.package.json.txt ├── backbone.package.json.txt ├── fullcalendar.bower.json.txt ├── angular-seed.package.json.txt ├── angular-phonecat.package.json.txt ├── hammer.js.package.json.txt ├── Flat-UI.package.json.txt ├── jquery-cookie.package.json.txt ├── Ghost.bower.json.txt ├── d3.package.json.txt ├── dropzone.package.json.txt ├── formvalidation.package.json.txt ├── jquery-validation.package.json.txt ├── generator-angular.package.json.txt ├── ionic.bower.json.txt ├── phaser.package.json.txt ├── Magnific-Popup.package.json.txt ├── jQuery-File-Upload.package.json.txt ├── fullcalendar.package.json.txt ├── cgm-remote-monitor.package.json.txt ├── brackets.package.json.txt ├── ionic.package.json.txt ├── jquery-mobile.package.json.txt ├── Modernizr.package.json.txt ├── gaia.package.json.txt ├── jquery.package.json.txt ├── jquery-ui.package.json.txt ├── less.js.package.json.txt ├── bower.package.json.txt ├── angular.js.package.json.txt ├── jQuery-File-Upload.bower.json.txt ├── fine-uploader.package.json.txt ├── moment.package.json.txt ├── jade.package.json.txt ├── express.package.json.txt ├── mean.package.json.txt ├── Ghost.package.json.txt └── appium.package.json.txt ├── _.travis.yml ├── index.js ├── .flooignore ├── .gitignore ├── .floo ├── bower.json ├── _.jshintrc ├── app └── dependencies │ └── dependencyModel.js ├── _.editorconfig ├── package.json ├── Client ├── app.js ├── dependencies.html ├── index.html └── dependencies.js ├── _.gitignore ├── _README.md ├── node.js ├── parser ├── parser.html ├── testParser.js ├── testParser1.js └── parser.js ├── _PRESS-RELEASE.md ├── _CONTRIBUTING.md └── _STYLE-GUIDE.md /server/mongodir/mongod.lock: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /_.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | -------------------------------------------------------------------------------- /jsonData/ace.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/bower.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/cdnjs.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/fks.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/gaia.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/jade.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/node.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /server/data/db/mongod.lock: -------------------------------------------------------------------------------- 1 | 13841 2 | -------------------------------------------------------------------------------- /jsonData/FlexSlider.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/JSON-js.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/JSON-js.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/Leaflet.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/Modernizr.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/appium.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/bootstrap.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/brackets.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/courses.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/courses.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/express.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/html5demos.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/iscroll.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/javascript.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/jquery.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/meteor.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/meteor.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/node.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/pdf.js.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/BrowserQuest.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/FlexSlider.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/angular-app.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/angular-app.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/formvalidation.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/fullPage.js.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/html5demos.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/impress.js.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/jquery-pjax.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/node-js-sample.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/phonegap-start.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/backbonetutorials.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/backbonetutorials.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/chrome-app-samples.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/chrome-app-samples.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/generator-angular.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/html5-boilerplate.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/onepage-scroll.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/phonegap-start.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/backbone-fundamentals.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/backbone-fundamentals.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/frontend-nanodegree-resume.bower.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /jsonData/frontend-nanodegree-resume.package.json.txt: -------------------------------------------------------------------------------- 1 | Not Found -------------------------------------------------------------------------------- /server/public/javascripts/angularApp.js: -------------------------------------------------------------------------------- 1 | //angular app will go here -------------------------------------------------------------------------------- /_.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '0.8' 4 | - '0.10' 5 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | var app = require('./server/server.js'); 2 | 3 | app.listen(3000); 4 | -------------------------------------------------------------------------------- /.flooignore: -------------------------------------------------------------------------------- 1 | #* 2 | *.o 3 | *.pyc 4 | *~ 5 | extern/ 6 | node_modules/ 7 | tmp 8 | vendor/ -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | bower_components/ 3 | *.log 4 | 5 | build/ 6 | dist/ 7 | -------------------------------------------------------------------------------- /.floo: -------------------------------------------------------------------------------- 1 | { 2 | "url": "https://floobits.com/HackReactor/Git-what-we-MEAN-Pond-and-Kraken" 3 | } -------------------------------------------------------------------------------- /server/mongodir/local.0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jack829/Git-what-we-MEAN/HEAD/server/mongodir/local.0 -------------------------------------------------------------------------------- /server/mongodir/local.ns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jack829/Git-what-we-MEAN/HEAD/server/mongodir/local.ns -------------------------------------------------------------------------------- /server/views/error.ejs: -------------------------------------------------------------------------------- 1 |

<%= message %>

2 |

<%= error.status %>

3 |
<%= error.stack %>
4 | -------------------------------------------------------------------------------- /server/public/stylesheets/style.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 50px; 3 | font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; 4 | } 5 | 6 | a { 7 | color: #00B7FF; 8 | } -------------------------------------------------------------------------------- /jsonData/hammer.js.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hammerjs", 3 | "version": "2.0.4", 4 | "main": "hammer.js", 5 | "ignore": [ 6 | "tests", 7 | "src" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /jsonData/infinite-scroll.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-infinite-scroll", 3 | "version": "2.1.0", 4 | "main": "jquery.infinitescroll.js", 5 | "dependencies": { 6 | "jquery": "~1.7.2" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /jsonData/fastclick.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fastclick", 3 | "main": "lib/fastclick.js", 4 | "ignore": [ 5 | "**/.*", 6 | "component.json", 7 | "package.json", 8 | "Makefile", 9 | "tests", 10 | "examples" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /jsonData/highcharts.com.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Highcharts", 3 | "version": "4.0.3", 4 | "main": "js/highcharts.src.js", 5 | "author": "", 6 | "devDependencies": { 7 | "grunt": "^0.4.5", 8 | "grunt-jslint": "^1.1.12" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /jsonData/html5shiv.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "html5shiv", 3 | "version": "3.7.2", 4 | "main": [ 5 | "dist/html5shiv.js" 6 | ], 7 | "ignore": [ 8 | "**/.*", 9 | "composer.json", 10 | "test", 11 | "build", 12 | "src", 13 | "build.xml" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /server/views/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | <%= title %> 5 | 6 | 7 | 8 |

<%= title %>

9 |

Welcome to <%= title %>

10 | 11 | 12 | -------------------------------------------------------------------------------- /jsonData/Chart.js.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Chart.js", 3 | "version": "1.0.2", 4 | "description": "Simple HTML5 Charts using the canvas element", 5 | "homepage": "https://github.com/nnnick/Chart.js", 6 | "author": "nnnick", 7 | "main": [ 8 | "Chart.js" 9 | ], 10 | "dependencies": {} 11 | } -------------------------------------------------------------------------------- /jsonData/backbone.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "backbone", 3 | "version" : "1.1.2", 4 | "main" : "backbone.js", 5 | "dependencies" : { 6 | "underscore" : ">=1.6.0" 7 | }, 8 | "ignore" : ["docs", "examples", "test", "*.yml", "*.html", "*.ico", "*.md", "CNAME"] 9 | } 10 | -------------------------------------------------------------------------------- /jsonData/angular.js.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "AngularJS", 3 | "devDependencies": { 4 | "jquery": "2.1.1", 5 | "closure-compiler": "https://dl.google.com/closure-compiler/compiler-20140814.zip", 6 | "ng-closure-runner": "https://raw.github.com/angular/ng-closure-runner/v0.2.3/assets/ng-closure-runner.zip" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /server/routes/index.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | 4 | var mongoose = require('mongoose'); 5 | 6 | /* GET home page. */ 7 | router.get('/', function(req, res, next) { 8 | console.log('index.js router.get'); 9 | res.render('index'); 10 | }); 11 | 12 | module.exports = router; 13 | -------------------------------------------------------------------------------- /jsonData/jquery-pjax.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-pjax", 3 | "version": "1.9.5", 4 | "main": "./jquery.pjax.js", 5 | "dependencies": { 6 | "jquery": ">=1.8" 7 | }, 8 | "ignore": [ 9 | ".travis.yml", 10 | "Gemfile", 11 | "Gemfile.lock", 12 | "vendor/", 13 | "script/", 14 | "test/" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /jsonData/onepage-scroll.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "onepage-scroll", 3 | "version": "1.3.1", 4 | "author": "Pete R", 5 | "main": [ 6 | "jquery.onepage-scroll.js", 7 | "onepage-scroll.css" 8 | ], 9 | "ignore": [ 10 | "Demo", 11 | "README.md" 12 | ], 13 | "dependencies": { 14 | "jquery": "~1.10.2" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /jsonData/CodeMirror.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codemirror", 3 | "version":"5.0.1", 4 | "main": ["lib/codemirror.js", "lib/codemirror.css"], 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "components", 9 | "bin", 10 | "demo", 11 | "doc", 12 | "test", 13 | "index.html", 14 | "package.json" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /jsonData/jquery-cookie.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery.cookie", 3 | "version": "1.4.1", 4 | "main": [ 5 | "src/jquery.cookie.js" 6 | ], 7 | "dependencies": { 8 | "jquery": ">=1.2" 9 | }, 10 | "ignore": [ 11 | "test", 12 | ".*", 13 | "*.json", 14 | "*.md", 15 | "*.txt", 16 | "Gruntfile.js" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /jsonData/BrowserQuest.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "BrowserQuest" 3 | , "version": "0.0.1" 4 | , "private": false 5 | , "dependencies": { 6 | "underscore": ">0" 7 | , "log": ">0" 8 | , "bison": ">0" 9 | , "websocket": ">0" 10 | , "websocket-server": ">0" 11 | , "sanitizer": ">0" 12 | , "memcache": ">0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /jsonData/Magnific-Popup.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "magnific-popup", 3 | "version": "1.0.0", 4 | "main": [ 5 | "dist/jquery.magnific-popup.js", 6 | "dist/magnific-popup.css" 7 | ], 8 | "dependencies": { 9 | "jquery": ">=1.8.0" 10 | }, 11 | "ignore": [ 12 | "node_modules/", 13 | "components/", 14 | "website/", 15 | "libs/" 16 | ] 17 | } -------------------------------------------------------------------------------- /server/config.js: -------------------------------------------------------------------------------- 1 | var mongoose = require('mongoose'); 2 | 3 | var mongoURI = 'mongodb://localhost/meangit'; 4 | 5 | mongoose.connect(mongoURI); 6 | 7 | var db = mongoose.connection; 8 | db.on('error', console.error.bind(console, 'connection error:')); 9 | db.once('open', function(callback) { 10 | console.log('MONGODB CONNECTION OPEN'); 11 | }); 12 | 13 | module.exports = db; -------------------------------------------------------------------------------- /jsonData/cgm-remote-monitor.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nightscout", 3 | "version": "0.6.4", 4 | "dependencies": { 5 | "angularjs": "1.3.0-beta.19", 6 | "bootstrap": "~3.2.0", 7 | "d3": "3.4.3", 8 | "jquery": "2.1.0", 9 | "jQuery-Storage-API": "~1.7.2", 10 | "tipsy-jmalonzo": "~1.0.1", 11 | "jsSHA": "~1.5.0" 12 | }, 13 | "resolutions": { 14 | "jquery": "2.1.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /jsonData/bootstrap-datepicker.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-datepicker", 3 | "version": "1.5.0", 4 | "main": [ 5 | "dist/css/bootstrap-datepicker.css", 6 | "dist/css/bootstrap-datepicker3.css", 7 | "js/bootstrap-datepicker.js" 8 | ], 9 | "license": "Apache-2.0", 10 | "dependencies": { 11 | "jquery" : ">=1.7.1", 12 | "bootstrap" : ">=2.0.4 <4.0" 13 | }, 14 | "ignore": [] 15 | } 16 | -------------------------------------------------------------------------------- /jsonData/fks.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "FKS", 3 | "version": "0.0.1", 4 | "description": "Frontend Knowledge Structure", 5 | "main": "index.js", 6 | "directories": { 7 | "doc": "doc" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git://github.com/JacksonTian/fks.git" 12 | }, 13 | "keywords": [ 14 | "Frontend" 15 | ], 16 | "author": "Jackson Tian", 17 | "license": "MIT" 18 | } 19 | -------------------------------------------------------------------------------- /jsonData/moment.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "moment", 3 | "version": "2.9.0", 4 | "main": "moment.js", 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "bower_components", 9 | "test", 10 | "tests", 11 | "tasks", 12 | "component.json", 13 | "composer.json", 14 | "CONTRIBUTING.md", 15 | "ender.js", 16 | "Gruntfile.js", 17 | "package.js", 18 | "package.json" 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /jsonData/html5shiv.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "html5shiv", 3 | "version": "3.7.2", 4 | "repository": { 5 | "type": "git", 6 | "url": "https://github.com/aFarkas/html5shiv.git" 7 | }, 8 | "main": "dist/html5shiv.js", 9 | "devDependencies": { 10 | "grunt-bytesize": ">=0.1.0", 11 | "grunt-contrib-watch": ">=0.3.0", 12 | "grunt-contrib-copy": ">=0.4.0", 13 | "grunt-contrib-uglify": ">=0.2.7", 14 | "grunt": ">=0.4.1" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /server/Models/repoModel.js: -------------------------------------------------------------------------------- 1 | var mongoose = require('mongoose'); 2 | var Dependency = require('./dependencyModel.js'); 3 | 4 | var RepoSchema = new mongoose.Schema({ 5 | name: { 6 | type: String, 7 | //required: true, 8 | unique: true 9 | }, 10 | dependencies: [{ 11 | type: mongoose.Schema.Types.ObjectId, 12 | ref: 'Dependency' 13 | }] 14 | }); 15 | 16 | var Repo = mongoose.model('Repo', RepoSchema, 'Repos'); 17 | 18 | module.exports = Repo; -------------------------------------------------------------------------------- /jsonData/angular-seed.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-seed", 3 | "description": "A starter project for AngularJS", 4 | "version": "0.0.0", 5 | "homepage": "https://github.com/angular/angular-seed", 6 | "license": "MIT", 7 | "private": true, 8 | "dependencies": { 9 | "angular": "1.2.x", 10 | "angular-route": "1.2.x", 11 | "angular-loader": "1.2.x", 12 | "angular-mocks": "~1.2.x", 13 | "html5-boilerplate": "~4.3.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /jsonData/mean.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mean", 3 | "dependencies": { 4 | "jquery": "1.x", 5 | "angular": "1.3.2", 6 | "angular-resource": "1.3.2", 7 | "angular-cookies": "1.3.2", 8 | "angular-mocks": "1.3.2", 9 | "angular-route": "1.3.2", 10 | "bootstrap": "3.1.1", 11 | "angular-bootstrap": "0.11.0", 12 | "angular-ui-router": "#master", 13 | "web-bootstrap": "./node_modules/meanio/resources/web-bootstrap.js" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "shortly-angular", 3 | "version": "0.0.0", 4 | "authors": [], 5 | "license": "MIT", 6 | "ignore": [ 7 | "**/.*", 8 | "node_modules", 9 | "bower_components", 10 | "client/lib" 11 | ], 12 | "dependencies": { 13 | "angular": "~1.2.18", 14 | "angular-route": "~1.2.18", 15 | "angular-mocks": "~1.2.18", 16 | "bootstrap": "~3.3.2", 17 | "angular-ui-router": "~0.2.13", 18 | "ngFx": "~1.0.6" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /jsonData/dropzone.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dropzone", 3 | "location": "enyo/dropzone", 4 | "version": "4.0.1", 5 | "description": "Dropzone is an easy to use drag'n'drop library. It supports image previews and shows nice progress bars.", 6 | "homepage": "http://www.dropzonejs.com", 7 | "main": [ 8 | "dist/min/dropzone.min.css", 9 | "dist/min/dropzone.min.js" 10 | ], 11 | "ignore": [ 12 | "*", 13 | "!dist", 14 | "!dist/**/*" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /_.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "node": true, 3 | "esnext": true, 4 | "bitwise": true, 5 | "camelcase": true, 6 | "curly": true, 7 | "eqeqeq": true, 8 | "immed": true, 9 | "indent": 2, 10 | "latedef": true, 11 | "newcap": true, 12 | "noarg": true, 13 | "quotmark": "single", 14 | "regexp": true, 15 | "undef": true, 16 | "unused": true, 17 | "strict": true, 18 | "trailing": true, 19 | "smarttabs": true, 20 | "white": true 21 | } 22 | -------------------------------------------------------------------------------- /app/dependencies/dependencyModel.js: -------------------------------------------------------------------------------- 1 | var mongoose = require ('mongoose'); 2 | 3 | var DependencySchema = new mongoose.Schema({ 4 | name: { 5 | type: String, 6 | required: true 7 | }, 8 | devDependency: { 9 | type: Boolean, 10 | required: true 11 | }, 12 | repos: [{ 13 | type: mongoose.Schema.Types.ObjectId, 14 | ref: 'Repo' 15 | }] 16 | }); 17 | 18 | var Dependency = mongoose.model('Dependency', DependencySchema, 'Dependencies'); 19 | 20 | module.exports = Dependency; -------------------------------------------------------------------------------- /jsonData/less.js.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "less", 3 | "version": "2.4.0", 4 | "main": "dist/less.js", 5 | "ignore": [ 6 | "**/.*", 7 | "benchmark", 8 | "bin", 9 | "build", 10 | "gradle", 11 | "lib", 12 | "test", 13 | "*.md", 14 | "LICENSE", 15 | "Gruntfile.js", 16 | "*.json", 17 | "*.yml", 18 | "build.gradle", 19 | "gradlew", 20 | "gradlew.bat", 21 | ".gitattributes", 22 | ".jshintrc", 23 | ".npmignore" 24 | ] 25 | } -------------------------------------------------------------------------------- /jsonData/d3.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "d3", 3 | "version": "3.5.5", 4 | "main": "d3.js", 5 | "scripts": [ 6 | "d3.js" 7 | ], 8 | "ignore": [ 9 | ".DS_Store", 10 | ".git", 11 | ".gitignore", 12 | ".npmignore", 13 | ".spmignore", 14 | ".travis.yml", 15 | "Makefile", 16 | "bin", 17 | "component.json", 18 | "composer.json", 19 | "index.js", 20 | "lib", 21 | "node_modules", 22 | "package.json", 23 | "src", 24 | "test" 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /_.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig helps developers define and maintain consistent 2 | # coding styles between different editors and IDEs 3 | # editorconfig.org 4 | 5 | root = true 6 | 7 | 8 | [*] 9 | 10 | # Change these settings to your own preference 11 | indent_style = space 12 | indent_size = 2 13 | 14 | # We recommend you to keep these unchanged 15 | end_of_line = lf 16 | charset = utf-8 17 | trim_trailing_whitespace = true 18 | insert_final_newline = true 19 | 20 | [*.md] 21 | trim_trailing_whitespace = false 22 | -------------------------------------------------------------------------------- /jsonData/angular-phonecat.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-phonecat", 3 | "description": "A starter project for AngularJS", 4 | "version": "0.0.0", 5 | "homepage": "https://github.com/angular/angular-phonecat", 6 | "license": "MIT", 7 | "private": true, 8 | "dependencies": { 9 | "angular": "1.3.x", 10 | "angular-mocks": "1.3.x", 11 | "jquery": "~2.1.1", 12 | "bootstrap": "~3.1.1", 13 | "angular-route": "1.3.x", 14 | "angular-resource": "1.3.x", 15 | "angular-animate": "1.3.x" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /jsonData/fine-uploader.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fine-uploader", 3 | "version": "5.1.3", 4 | "devDependencies": { 5 | "jquery": "1.10.0", 6 | "purl": "https://github.com/allmarkedup/purl.git#~2.3.1", 7 | "jquery.simulate": "https://github.com/jquery/jquery-simulate.git", 8 | "json2": "latest", 9 | "mocha": "~1.11.0", 10 | "assert": "https://github.com/Jxck/assert.git" 11 | }, 12 | "exportsOverride": { 13 | "mocha": { 14 | "js": "mocha.js", 15 | "css": "mocha.css" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /jsonData/highcharts.com.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Highcharts Working Repo", 3 | "main": "bower-info.js", 4 | "ignore": [ 5 | "build", 6 | "errors", 7 | "exporting-server", 8 | "gfx", 9 | "js", 10 | "lib", 11 | "samples", 12 | "studies", 13 | "test", 14 | "tools", 15 | "utils", 16 | ".gitignore", 17 | "ant", 18 | "build.md", 19 | "build.properties", 20 | "build.xml", 21 | "readme.md" 22 | ] 23 | } -------------------------------------------------------------------------------- /jsonData/infinite-scroll.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-infinite-scroll", 3 | "version": "2.1.0", 4 | "homepage": "https://github.com/paulirish/infinite-scroll", 5 | "authors": [ 6 | "paulirish" 7 | ], 8 | "description": "jQuery Infinite Scroll Plugin", 9 | "main": "jquery.infinitescroll.js", 10 | "keywords": [ 11 | "jquery", 12 | "infinitescroll" 13 | ], 14 | "license": "MIT", 15 | "ignore": [ 16 | "**/.*", 17 | "node_modules", 18 | "bower_components", 19 | "test", 20 | "tests" 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Git-what-we-MEAN", 3 | "version": "0.0.0", 4 | "private": true, 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node ./bin/www" 8 | }, 9 | "dependencies": { 10 | "body-parser": "~1.12.0", 11 | "cookie-parser": "~1.3.4", 12 | "debug": "~2.1.1", 13 | "ejs": "~2.3.1", 14 | "express": "~4.12.2", 15 | "mongodb": "^1.4.34", 16 | "mongoose": "^3.8.24", 17 | "morgan": "~1.5.1", 18 | "node-dir": "^0.1.6", 19 | "serve-favicon": "~2.2.0", 20 | "underscore": "^1.8.2" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /server/routes/dependencies.js: -------------------------------------------------------------------------------- 1 | var express = require('express'); 2 | var router = express.Router(); 3 | //var Dependencies = mongoose.model('Dependencies'); 4 | 5 | var Repos = require('../Models/repoModel.js'); 6 | var Dependencies = require('../Models/dependencyModel.js'); 7 | 8 | router.get('/dependencies', function(req, res, next) { 9 | console.log('Inside router.get'); 10 | Dependencies.find(function(err,dependencies){ 11 | if(err){ 12 | console.error(err); 13 | } 14 | res.send(dependencies); 15 | }); 16 | }); 17 | 18 | module.exports = router; 19 | -------------------------------------------------------------------------------- /jsonData/mustache.js.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mustache.js", 3 | "main": "mustache.js", 4 | "version": "1.1.0", 5 | "homepage": "https://github.com/janl/mustache.js", 6 | "authors": [ 7 | "mustache.js Authors " 8 | ], 9 | "description": "Logic-less {{mustache}} templates with JavaScript", 10 | "keywords": ["mustache", "template", "templates", "ejs"], 11 | "moduleType": [ 12 | "amd", 13 | "globals", 14 | "node" 15 | ], 16 | "license": "MIT", 17 | "ignore": [ 18 | "**/.*", 19 | "test" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /Client/app.js: -------------------------------------------------------------------------------- 1 | angular.module('gitWhatWeMean', [ 2 | 'gitWhatWeMean.dependencies', 3 | 'ngRoute', 4 | 'ui.router', 5 | ]) 6 | .config(function($routeProvider, $httpProvider, $stateProvider, $urlRouterProvider) { 7 | 8 | $urlRouterProvider.otherwise('/dependencies'); 9 | console.log("In config"); 10 | $stateProvider 11 | // // .state('index', { 12 | // // templateUrl: '/index.html', 13 | // // url:'/' 14 | // // }) 15 | .state('dependencies', { 16 | templateUrl: '/dependencies.html', 17 | controller: 'DependenciesController', 18 | url:'/dependencies' 19 | }) 20 | }) 21 | -------------------------------------------------------------------------------- /jsonData/jquery-placeholder.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-placeholder", 3 | "description": "A jQuery plugin that enables HTML5 placeholder behavior for browsers that aren’t trying hard enough yet", 4 | "version": "2.1.1", 5 | "license": "MIT", 6 | "main": ["jquery.placeholder.js"], 7 | "keywords": [ 8 | "form", 9 | "placeholder", 10 | "jQuery", 11 | "jquery-plugin" 12 | ], 13 | "dependencies": { 14 | "jquery": ">=1.6" 15 | }, 16 | "ignore": [ 17 | "*", 18 | "!/bower.json", 19 | "!/jquery.placeholder.js", 20 | "!/jquery.placeholder.min.js", 21 | "!/jquery.placeholder.min.js.map" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /server/Models/repoModel1.js: -------------------------------------------------------------------------------- 1 | var mongoose = require('mongoose'); 2 | var Dependency = require('./dependencyModel.js'); 3 | 4 | var RepoSchema = new mongoose.Schema({ 5 | name: { 6 | type: String, 7 | //required: true, 8 | unique: true 9 | }, 10 | dependencies: [], 11 | devDependencies: [] 12 | }); 13 | 14 | var Repo = mongoose.model('Repo1', RepoSchema, 'Repos'); 15 | 16 | module.exports = Repo; 17 | 18 | // { 19 | // type: mongoose.Schema.Types.String, 20 | // ref: 'Dependency' 21 | // } 22 | 23 | // { 24 | // type: mongoose.Schema.Types.String, 25 | // ref: 'Dependency' 26 | // } -------------------------------------------------------------------------------- /jsonData/impress.js.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "impress-js", 3 | "version": "0.5.3", 4 | "main": "./js/impress.js", 5 | "description": "It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com", 6 | "homepage": "https://github.com/bartaz/impress.js", 7 | "license" : ["http://bartaz.mit-license.org/", "http://www.gnu.org/licenses/"], 8 | "main": [ 9 | "./js/impress.js" 10 | ], 11 | "keywords": [ 12 | "slideshow", 13 | "css3" 14 | ], 15 | "author": { 16 | "name": "Bartek Szopka", 17 | "web": "http://bartaz.github.com" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jsonData/echarts.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "echarts", 3 | "description": "Enterprise Charts,基于Canvas,纯Javascript图表库,提供直观,生动,可交互,可个性化定制的数据可视化表。", 4 | "version": "2.2.1", 5 | "maintainers": [ 6 | { "name": "Kener", "email": "kener.linfeng@gmail.com" }, 7 | { "name": "Pissang", "email": "shenyi.914@gmail.com" }, 8 | { "name": "Erik", "email": "errorrik@gmail.com" }, 9 | { "name": "Yangji", "email": "511415343@qq.com" } 10 | ], 11 | "dependencies": { 12 | "zrender": "~2.0.8" 13 | }, 14 | "repository": "git://github.com/ecomfe/echarts", 15 | "main": "echarts", 16 | "homepage": "http://echarts.baidu.com" 17 | } -------------------------------------------------------------------------------- /_.gitignore: -------------------------------------------------------------------------------- 1 | ### node etc ### 2 | 3 | # Logs 4 | logs 5 | *.log 6 | 7 | # Runtime data 8 | pids 9 | *.pid 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | 18 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 19 | .grunt 20 | 21 | # Compiled Dirs (http://nodejs.org/api/addons.html) 22 | build/ 23 | dist/ 24 | 25 | # Dependency directorys 26 | # Deployed apps should consider commenting these lines out: 27 | # see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git 28 | node_modules/ 29 | bower_components/ 30 | -------------------------------------------------------------------------------- /jsonData/pdf.js.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pdf.js", 3 | "version": "0.8.0", 4 | "devDependencies": { 5 | "jsdoc": "3.3.0-alpha9", 6 | "jshint": "~2.4.0", 7 | "wintersmith": "~2.0.0", 8 | "moment": "~2.3.0", 9 | "underscore": "~1.4.0", 10 | "typogr": "~0.5.0", 11 | "yargs": "~1.2.1" 12 | }, 13 | "scripts": { 14 | "test": "node ./node_modules/.bin/jshint --extra-ext .jsm ." 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git://github.com/mozilla/pdf.js.git" 19 | }, 20 | "licenses": [ 21 | { 22 | "type": "Apache v2", 23 | "url": "https://github.com/mozilla/pdf.js/blob/master/LICENSE" 24 | } 25 | ] 26 | } 27 | -------------------------------------------------------------------------------- /jsonData/javascript.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "airbnb-style", 3 | "version": "1.0.0", 4 | "description": "A mostly reasonable approach to JavaScript.", 5 | "scripts": { 6 | "test": "echo \"Error: no test specified\" && exit 1" 7 | }, 8 | "repository": { 9 | "type": "git", 10 | "url": "https://github.com/airbnb/javascript.git" 11 | }, 12 | "keywords": [ 13 | "style guide", 14 | "lint", 15 | "airbnb" 16 | ], 17 | "author": "Harrison Shoff (https://twitter.com/hshoff)", 18 | "license": "MIT", 19 | "bugs": { 20 | "url": "https://github.com/airbnb/javascript/issues" 21 | }, 22 | "homepage": "https://github.com/airbnb/javascript" 23 | } 24 | -------------------------------------------------------------------------------- /jsonData/jquery-validation.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "homepage": "http://jqueryvalidation.org/", 4 | "repository": { 5 | "type": "git", 6 | "url": "git://github.com/jzaefferer/jquery-validation.git" 7 | }, 8 | "authors": [ 9 | "Jörn Zaefferer " 10 | ], 11 | "description": "Form validation made easy", 12 | "main": "dist/jquery.validate.js", 13 | "keywords": [ 14 | "forms", 15 | "validation", 16 | "validate" 17 | ], 18 | "license": "MIT", 19 | "ignore": [ 20 | "**/.*", 21 | "node_modules", 22 | "bower_components", 23 | "test", 24 | "demo", 25 | "lib" 26 | ], 27 | "dependencies": { 28 | "jquery": ">= 1.6.4" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /jsonData/jquery-mobile.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-mobile", 3 | "version": "1.5.0-pre", 4 | "main": [ 5 | "js/jquery.mobile.js", 6 | "css/themes/default/jquery.mobile.css" 7 | ], 8 | "ignore": [ 9 | ".jshintrc", 10 | "**/*.txt", 11 | "build", 12 | "demos", 13 | "tests", 14 | "tools" 15 | ], 16 | "dependencies": { 17 | "jquery": ">=1.11.1", 18 | "jquery-ui": "jquery/jquery-ui#c0ab71056b936627e8a7821f03c044aec6280a40" 19 | }, 20 | "devDependencies": { 21 | "requirejs": "2.1.2", 22 | "qunit": "1.14.0", 23 | "jshint": "2.4.0", 24 | "requirejs-text": "2.0.3", 25 | "requirejs-plugins": "millermedeiros/requirejs-plugins#34330a5d735474ac0b518eb1eb270c9e5505a537" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /jsonData/node-js-sample.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-js-sample", 3 | "version": "0.1.0", 4 | "description": "A sample Node.js app using Express 4", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node index.js" 8 | }, 9 | "dependencies": { 10 | "express": "^4.0.0" 11 | }, 12 | "engines": { 13 | "node": "0.10.x" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/heroku/node-js-sample" 18 | }, 19 | "keywords": [ 20 | "node", 21 | "heroku", 22 | "express" 23 | ], 24 | "author": "Mark Pundsack", 25 | "contributors": [ 26 | "Zeke Sikelianos (http://zeke.sikelianos.com)" 27 | ], 28 | "license": "MIT" 29 | } 30 | -------------------------------------------------------------------------------- /jsonData/ember.js.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ember", 3 | "dependencies": { 4 | "jquery": "~1.11.1", 5 | "qunit": "~1.17.1", 6 | "qunit-phantom-runner": "jonkemp/qunit-phantomjs-runner#1.2.0" 7 | }, 8 | "devDependencies": { 9 | "backburner": "https://github.com/ebryn/backburner.js.git#f4bd6a2df221240ed36d140f0c53c036a7ecacad", 10 | "rsvp": "https://github.com/tildeio/rsvp.js.git#3.0.14", 11 | "router.js": "https://github.com/tildeio/router.js.git#72eb0d336c1c3b7ad3965198b330fe148d935efe", 12 | "dag-map": "https://github.com/krisselden/dag-map.git#e307363256fe918f426e5a646cb5f5062d3245be", 13 | "ember-dev": "https://github.com/emberjs/ember-dev.git#1a1ef3e1806be21dd554d285521abc0b13cdfe20" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /jsonData/iscroll.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iscroll", 3 | "description": "Smooth scrolling for the web", 4 | "version": "5.1.3", 5 | "homepage": "http://cubiq.org/iscroll-4", 6 | "author": "Matteo Spinelli (http://cubiq.org)", 7 | "keywords": [ 8 | "scrolling", 9 | "carousel", 10 | "zoom", 11 | "iphone", 12 | "android", 13 | "mobile", 14 | "desktop" 15 | ], 16 | "main": "build/iscroll.js", 17 | "devDependencies": { 18 | "jshint": "~2.5.1", 19 | "uglify-js": "~2.4.13" 20 | }, 21 | "repository": { 22 | "type": "git", 23 | "url": "https://github.com/cubiq/iscroll.git" 24 | }, 25 | "bugs": { 26 | "url": "https://github.com/cubiq/iscroll/issues" 27 | }, 28 | "license": "MIT" 29 | } -------------------------------------------------------------------------------- /jsonData/Chart.js.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "chart.js", 3 | "homepage": "http://www.chartjs.org", 4 | "description": "Simple HTML5 charts using the canvas element.", 5 | "version": "1.0.2", 6 | "main": "Chart.js", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/nnnick/Chart.js.git" 10 | }, 11 | "dependences": {}, 12 | "devDependencies": { 13 | "gulp": "3.5.x", 14 | "gulp-concat": "~2.1.x", 15 | "gulp-connect": "~2.0.5", 16 | "gulp-jshint": "~1.5.1", 17 | "gulp-replace": "^0.4.0", 18 | "gulp-size": "~0.4.0", 19 | "gulp-uglify": "~0.2.x", 20 | "gulp-util": "~2.2.x", 21 | "gulp-html-validator": "^0.0.2", 22 | "inquirer": "^0.5.1", 23 | "semver": "^3.0.1" 24 | }, 25 | "spm": { 26 | "main": "Chart.js" 27 | } 28 | } -------------------------------------------------------------------------------- /jsonData/fullPage.js.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fullpage.js", 3 | "version": "2.6.0", 4 | "homepage": "http://alvarotrigo.com/fullPage/", 5 | "authors": [ 6 | "Alvaro Trigo https://github.com/alvarotrigo" 7 | ], 8 | "description": "Create beautiful fullscreen scrolling websites", 9 | "main": [ 10 | "jquery.fullPage.js", 11 | "jquery.fullPage.css", 12 | "vendors/jquery.easings.min.js", 13 | "vendors/jquery.slimscroll.min.js" 14 | ], 15 | "keywords": [ 16 | "jquery", 17 | "scrolling", 18 | "single_page", 19 | "one_page", 20 | "sliding" 21 | ], 22 | "license": "MIT", 23 | "ignore": [ 24 | "**/.*", 25 | "node_modules", 26 | "bower_components", 27 | "test", 28 | "tests", 29 | "examples" 30 | ], 31 | "dependencies": { 32 | "jquery": "1.x" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /server/Models/dependencyModel1.js: -------------------------------------------------------------------------------- 1 | var mongoose = require('mongoose'); 2 | var Repo = require('./repoModel.js'); 3 | 4 | var DependencySchema = new mongoose.Schema({ 5 | name: { 6 | type: String, 7 | //required: true, 8 | unique: true 9 | }, 10 | devOrNot: { 11 | type: Boolean, 12 | required: true 13 | }, 14 | repos: [{ 15 | type: mongoose.Schema.Types.String, 16 | ref: 'Repo' 17 | }] 18 | }); 19 | 20 | var Dependency = mongoose.model('Dependency1', DependencySchema, 'Dependencies'); 21 | 22 | 23 | // var testDependency = new Dependency({ 24 | // name: 'testName', 25 | // //devDependency: true, 26 | // repos: [] 27 | // }); 28 | // testDependency.save(function(err,t){ 29 | // if (err) console.log("ERROR!"); 30 | // console.log("id number ", t._id); 31 | // }); 32 | 33 | 34 | module.exports = Dependency; -------------------------------------------------------------------------------- /jsonData/bootstrap.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "author": "https://github.com/angular-ui/bootstrap/graphs/contributors", 3 | "name": "angular-ui-bootstrap", 4 | "version": "0.13.0-SNAPSHOT", 5 | "homepage": "http://angular-ui.github.io/bootstrap/", 6 | "dependencies": {}, 7 | "devDependencies": { 8 | "grunt": "~0.4.1", 9 | "grunt-ngdocs": "~0.1.1", 10 | "grunt-conventional-changelog": "~0.1.2", 11 | "grunt-contrib-concat": "~0.3.0", 12 | "grunt-contrib-copy": "~0.5.0", 13 | "grunt-contrib-uglify": "~0.3.0", 14 | "grunt-contrib-watch": "~0.5.0", 15 | "grunt-contrib-jshint": "~0.8.0", 16 | "grunt-html2js": "~0.2.0", 17 | "grunt-karma": "~0.4.4", 18 | "node-markdown": "0.1.1", 19 | "semver": "~2.2.0", 20 | "shelljs": "~0.2.0", 21 | "grunt-ddescribe-iit": "0.0.4" 22 | }, 23 | "license": "MIT" 24 | } 25 | -------------------------------------------------------------------------------- /jsonData/echarts.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "echarts", 3 | "version": "2.2.1", 4 | "homepage": "http://echarts.baidu.com", 5 | "repository": "git://github.com/ecomfe/echarts", 6 | "authors": [ 7 | { "name": "Kener", "email": "kener.linfeng@gmail.com" }, 8 | { "name": "Pissang", "email": "shenyi.914@gmail.com" }, 9 | { "name": "Erik", "email": "errorrik@gmail.com" }, 10 | { "name": "Yangji", "email": "511415343@qq.com" } 11 | ], 12 | "description": "Enterprise Charts 【Baidu Hi : 1379172 | Email : echarts@baidu.com】", 13 | "main": ["build/dist/echarts.js"], 14 | "keywords": [ 15 | "baidu", 16 | "echarts", 17 | "canvas", 18 | "data visualization" 19 | ], 20 | "license": "BSD", 21 | "ignore": [ 22 | "**/.*", 23 | "node_modules", 24 | "bower_components", 25 | "test", 26 | "doc" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /jsonData/phaser.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phaser", 3 | "version": "2.2.2", 4 | "homepage": "http://phaser.io", 5 | "authors": [ 6 | "photonstorm " 7 | ], 8 | "description": "A fun, free and fast 2D game framework for making HTML5 games for desktop and mobile, supporting Canvas and WebGL.", 9 | "main": "build/phaser.js", 10 | "keywords": [ 11 | "html5", 12 | "game", 13 | "games", 14 | "framework", 15 | "canvas", 16 | "WebGL", 17 | "tilemaps", 18 | "physics", 19 | "sprites", 20 | "fonts", 21 | "images", 22 | "audio", 23 | "Web", 24 | "Audio", 25 | "touch", 26 | "input", 27 | "mobile" 28 | ], 29 | "license": "MIT", 30 | "ignore": [ 31 | "**/.*", 32 | "node_modules", 33 | "bower_components", 34 | "test", 35 | "tests" 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /server/Models/dependencyModel.js: -------------------------------------------------------------------------------- 1 | var mongoose = require('mongoose'); 2 | var Repo = require('./repoModel.js'); 3 | 4 | var DependencySchema = new mongoose.Schema({ 5 | name: { 6 | type: String, 7 | //required: true, 8 | unique: true 9 | }, 10 | // devDependency: { 11 | // type: Boolean, 12 | // required: true 13 | // }, 14 | repos: [{ 15 | type: mongoose.Schema.Types.ObjectId, 16 | ref: 'Repo' 17 | }] 18 | }); 19 | 20 | var Dependency = mongoose.model('Dependency', DependencySchema, 'Dependencies'); 21 | 22 | 23 | // var testDependency = new Dependency({ 24 | // name: 'testName', 25 | // //devDependency: true, 26 | // repos: [] 27 | // }); 28 | // testDependency.save(function(err,t){ 29 | // if (err) console.log("ERROR!"); 30 | // console.log("id number ", t._id); 31 | // }); 32 | 33 | 34 | module.exports = Dependency; -------------------------------------------------------------------------------- /jsonData/masonry.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "masonry", 3 | "version": "3.2.2", 4 | "description": "Cascading grid layout library", 5 | "main": "masonry.js", 6 | "dependencies": { 7 | "get-size": ">=1.1.4 <1.3", 8 | "outlayer": "1.3.x" 9 | }, 10 | "devDependencies": { 11 | "jquery-bridget": "1.1.x", 12 | "doc-ready": "1.x", 13 | "qunit": "^1.12", 14 | "jquery": ">=1.4.3 <2" 15 | }, 16 | "ignore": [ 17 | "examples/", 18 | "test/", 19 | "CONTRIBUTING.mdown", 20 | "Gruntfile.js", 21 | "package.json", 22 | "**/.*", 23 | "node_modules", 24 | "bower_components", 25 | "test", 26 | "tests" 27 | ], 28 | "homepage": "http://masonry.desandro.com", 29 | "authors": [ 30 | "David DeSandro" 31 | ], 32 | "keywords": [ 33 | "masonry", 34 | "layout", 35 | "outlayer" 36 | ], 37 | "license": "MIT" 38 | } 39 | -------------------------------------------------------------------------------- /jsonData/jasmine.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jasmine-core", 3 | "version": "2.2.1", 4 | "homepage": "http://jasmine.github.io", 5 | "authors": [ 6 | "slackersoft " 7 | ], 8 | "description": "Official packaging of Jasmine's core files", 9 | "keywords": [ 10 | "test", 11 | "jasmine", 12 | "tdd", 13 | "bdd" 14 | ], 15 | "license": "MIT", 16 | "moduleType": "globals", 17 | "ignore": [ 18 | "**/.*", 19 | "dist", 20 | "grunt", 21 | "node_modules", 22 | "pkg", 23 | "release_notes", 24 | "spec", 25 | "src", 26 | "Gemfile", 27 | "Gemfile.lock", 28 | "Rakefile", 29 | "jasmine-core.gemspec", 30 | "*.sh", 31 | "*.py", 32 | "Gruntfile.js", 33 | "lib/jasmine-core.rb", 34 | "lib/jasmine-core/boot/", 35 | "lib/jasmine-core/spec", 36 | "lib/jasmine-core/version.rb", 37 | "lib/jasmine-core/*.py", 38 | "sauce_connect.log" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /jsonData/ember.js.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ember", 3 | "license": "MIT", 4 | "version": "1.12.0-beta.1+canary", 5 | "scripts": { 6 | "build": "ember build --environment production", 7 | "postinstall": "bower install", 8 | "pretest": "ember build", 9 | "test": "bin/run-tests.js", 10 | "start": "ember serve", 11 | "docs": "ember yuidoc" 12 | }, 13 | "devDependencies": { 14 | "aws-sdk": "~2.1.5", 15 | "bower": "~1.3.2", 16 | "chalk": "^0.5.1", 17 | "ember-cli": "0.1.15", 18 | "ember-cli-dependency-checker": "0.0.7", 19 | "ember-cli-yuidoc": "^0.4.0", 20 | "ember-publisher": "0.0.7", 21 | "emberjs-build": "0.0.36", 22 | "express": "^4.5.0", 23 | "github": "^0.2.3", 24 | "glob": "~4.3.2", 25 | "htmlbars": "0.11.1", 26 | "qunit-extras": "^1.3.0", 27 | "qunitjs": "^1.16.0", 28 | "route-recognizer": "0.1.5", 29 | "rsvp": "~3.0.6", 30 | "simple-dom": "^0.1.1" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /Client/dependencies.html: -------------------------------------------------------------------------------- 1 |
2 | 10 |
11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
Dependency NameUsage
{{dependency.name}}{{dependency.repos.length}}
21 |
22 | -------------------------------------------------------------------------------- /jsonData/CodeMirror.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codemirror", 3 | "version":"5.0.1", 4 | "main": "lib/codemirror.js", 5 | "description": "In-browser code editing made bearable", 6 | "licenses": [{"type": "MIT", 7 | "url": "http://codemirror.net/LICENSE"}], 8 | "directories": {"lib": "./lib"}, 9 | "scripts": {"test": "node ./test/run.js"}, 10 | "devDependencies": {"node-static": "0.6.0", 11 | "phantomjs": "1.9.2-5", 12 | "blint": ">=0.1.1"}, 13 | "bugs": "http://github.com/codemirror/CodeMirror/issues", 14 | "keywords": ["JavaScript", "CodeMirror", "Editor"], 15 | "homepage": "http://codemirror.net", 16 | "maintainers":[{"name": "Marijn Haverbeke", 17 | "email": "marijnh@gmail.com", 18 | "web": "http://marijnhaverbeke.nl"}], 19 | "repository": {"type": "git", 20 | "url": "https://github.com/codemirror/CodeMirror.git"} 21 | } 22 | -------------------------------------------------------------------------------- /jsonData/bootstrap-datetimepicker.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "eonasdan-bootstrap-datetimepicker", 3 | "version": "4.7.14", 4 | "main": [ 5 | "build/css/bootstrap-datetimepicker.min.css", 6 | "build/js/bootstrap-datetimepicker.min.js", 7 | "src/less/_bootstrap-datetimepicker.less", 8 | "src/less/bootstrap-datetimepicker-build.less", 9 | "src/js/bootstrap-datetimepicker.js" 10 | ], 11 | "dependencies": { 12 | "jquery": ">=1.8.3", 13 | "moment": ">=2.8.0" 14 | }, 15 | "homepage": "https://github.com/Eonasdan/bootstrap-datetimepicker", 16 | "authors": [ 17 | "Eonasdan" 18 | ], 19 | "description": "bootstrap3 datetimepicker", 20 | "keywords": [ 21 | "twitter-bootstrap", 22 | "bootstrap", 23 | "datepicker", 24 | "datetimepicker", 25 | "timepicker", 26 | "moment" 27 | ], 28 | "license": "MIT", 29 | "private": false, 30 | "ignore": [ 31 | "**/.*", 32 | "node_modules", 33 | "bower_components", 34 | "test", 35 | "tests" 36 | ] 37 | } 38 | -------------------------------------------------------------------------------- /jsonData/bootstrap-datetimepicker.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-datetimepicker", 3 | "main": "src/js/bootstrap-datetimepicker.js", 4 | "version": "4.7.14", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/eonasdan/bootstrap-datetimepicker.git" 8 | }, 9 | "bugs": { 10 | "url": "https://github.com/eonasdan/bootstrap-datetimepicker/issues" 11 | }, 12 | "keywords": [ 13 | "twitter-bootstrap", 14 | "bootstrap", 15 | "datepicker", 16 | "datetimepicker", 17 | "timepicker", 18 | "moment" 19 | ], 20 | "dependencies": { 21 | "moment": "~2.8.2", 22 | "bootstrap": "^3.0", 23 | "jquery": "latest" 24 | }, 25 | "devDependencies": { 26 | "grunt": "latest", 27 | "grunt-contrib-jasmine": "^0.7.0", 28 | "grunt-contrib-jshint": "latest", 29 | "grunt-contrib-less": "latest", 30 | "grunt-contrib-uglify": "latest", 31 | "grunt-jscs": "latest", 32 | "grunt-string-replace": "latest", 33 | "load-grunt-tasks": "latest" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /jsonData/cdnjs.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Ryan Kirkman (http://ryankirkman.com)", 3 | "name": "cdnjs", 4 | "description": "Our goal is to operate this CDN in a peer reviewed fashion.", 5 | "version": "1.0.0", 6 | "homepage": "http://www.cdnjs.com/", 7 | "repository": { 8 | "type": "git", 9 | "url": "git://github.com/cdnjs/cdnjs.git" 10 | }, 11 | "scripts": { 12 | "build": "./build/build.js", 13 | "test": "vows" 14 | }, 15 | "dependencies": { 16 | "async": "~0.9", 17 | "clean-css": "~3.1", 18 | "execSync": "~1.0", 19 | "fs-extra": "~0.16", 20 | "glob": "~4", 21 | "lodash": "~3.5", 22 | "rss": "~1.1", 23 | "superagent": "~0.21", 24 | "tarball-extract": "~0.0", 25 | "uglify-js": "~2.4", 26 | "underscore": "~1", 27 | "colors": "~1.0" 28 | }, 29 | "devDependencies": { 30 | "jslint": "~0.8", 31 | "JSV": "~4.0.2", 32 | "vows-si": "~0.7.1" 33 | }, 34 | "optionalDependencies": {}, 35 | "engines": { 36 | "node": "^0.10" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /jsonData/Flat-UI.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flat-ui", 3 | "version": "2.2.2", 4 | "main": [ 5 | "less/flat-ui.less", 6 | "dist/css/flat-ui.css", 7 | "dist/js/flat-ui.js", 8 | "dist/fonts/glyphicons/flat-ui-icons-regular.eot", 9 | "dist/fonts/glyphicons/flat-ui-icons-regular.svg", 10 | "dist/fonts/glyphicons/flat-ui-icons-regular.ttf", 11 | "dist/fonts/glyphicons/flat-ui-icons-regular.woff" 12 | ], 13 | "ignore": [ 14 | ".*" 15 | ], 16 | "devDependencies": { 17 | "jquery": "~1.11.1", 18 | "jquery-ui": "~1.10.4", 19 | "bootstrap": "~3.2.0", 20 | "bootstrap-switch": "~3.0.2", 21 | "holderjs": "~2.4.0", 22 | "html5shiv": "~3.7.2", 23 | "jquery-ui-touch-punch": "*", 24 | "respond": "~1.4.2", 25 | "typeahead.js": "~0.10.5", 26 | "google-code-prettify": "~1.0.3", 27 | "bootstrap-tagsinput": "~0.4.2", 28 | "select2": "~3.5.1" 29 | }, 30 | "dependencies": { 31 | "videojs": "~4.7.2" 32 | }, 33 | "resolutions": { 34 | "jquery": "~1.11.1" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /_README.md: -------------------------------------------------------------------------------- 1 | # Project Name 2 | 3 | > Pithy project description 4 | 5 | ## Team 6 | 7 | - __Product Owner__: teamMember 8 | - __Scrum Master__: teamMember 9 | - __Development Team Members__: teamMember, teamMember 10 | 11 | ## Table of Contents 12 | 13 | 1. [Usage](#Usage) 14 | 1. [Requirements](#requirements) 15 | 1. [Development](#development) 16 | 1. [Installing Dependencies](#installing-dependencies) 17 | 1. [Tasks](#tasks) 18 | 1. [Team](#team) 19 | 1. [Contributing](#contributing) 20 | 21 | ## Usage 22 | 23 | > Some usage instructions 24 | 25 | ## Requirements 26 | 27 | - Node 0.10.x 28 | - Redis 2.6.x 29 | - Postgresql 9.1.x 30 | - etc 31 | - etc 32 | 33 | ## Development 34 | 35 | ### Installing Dependencies 36 | 37 | From within the root directory: 38 | 39 | ```sh 40 | sudo npm install -g bower 41 | npm install 42 | bower install 43 | ``` 44 | 45 | ### Roadmap 46 | 47 | View the project roadmap [here](LINK_TO_PROJECT_ISSUES) 48 | 49 | 50 | ## Contributing 51 | 52 | See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines. 53 | -------------------------------------------------------------------------------- /jsonData/jasmine.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jasmine-core", 3 | "license": "MIT", 4 | "version": "2.2.1", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/jasmine/jasmine.git" 8 | }, 9 | "keywords": [ 10 | "test", 11 | "jasmine", 12 | "tdd", 13 | "bdd" 14 | ], 15 | "scripts": { 16 | "test": "./node_modules/.bin/grunt jshint execSpecsInNode" 17 | }, 18 | "description": "Official packaging of Jasmine's core files for use by Node.js projects.", 19 | "homepage": "http://jasmine.github.io", 20 | "main": "./lib/jasmine-core.js", 21 | "devDependencies": { 22 | "glob": "~3.2.9", 23 | "grunt": "~0.4.1", 24 | "grunt-cli": "^0.1.13", 25 | "grunt-contrib-compass": "~0.6.0", 26 | "grunt-contrib-compress": "~0.5.2", 27 | "grunt-contrib-concat": "~0.3.0", 28 | "grunt-contrib-jshint": "~0.7.0", 29 | "jasmine": "https://github.com/jasmine/jasmine-npm/archive/master.tar.gz", 30 | "load-grunt-tasks": "^0.4.0", 31 | "shelljs": "~0.1.4", 32 | "temp": "~0.8.1" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jsonData/mustache.js.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mustache", 3 | "version": "1.1.0", 4 | "description": "Logic-less {{mustache}} templates with JavaScript", 5 | "author": "mustache.js Authors ", 6 | "repository": { 7 | "type": "git", 8 | "url": "https://github.com/janl/mustache.js.git" 9 | }, 10 | "keywords": [ 11 | "mustache", 12 | "template", 13 | "templates", 14 | "ejs" 15 | ], 16 | "main": "./mustache.js", 17 | "bin": { 18 | "mustache": "./bin/mustache" 19 | }, 20 | "volo": { 21 | "url": "https://raw.github.com/janl/mustache.js/{version}/mustache.js" 22 | }, 23 | "engines": { 24 | "npm": ">=1.4.0" 25 | }, 26 | "scripts": { 27 | "pretest": "jshint mustache.js", 28 | "test": "mocha --reporter spec", 29 | "test-render": "mocha --reporter spec test/render-test" 30 | }, 31 | "devDependencies": { 32 | "jshint": "~2.4.4", 33 | "mocha": "~2.1.0" 34 | }, 35 | "spm": { 36 | "main": "mustache.js", 37 | "ignore": [ 38 | "test", 39 | "wrappers" 40 | ] 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /jsonData/jquery-placeholder.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-placeholder", 3 | "version": "2.1.1", 4 | "title": "HTML5 Placeholder jQuery Plugin", 5 | "description": "A jQuery plugin that enables HTML5 placeholder behavior for browsers that aren’t trying hard enough yet", 6 | "author": { 7 | "name": "Mathias Bynens", 8 | "url": "https://mathiasbynens.be/" 9 | }, 10 | "license": "MIT", 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/mathiasbynens/jquery-placeholder.git" 14 | }, 15 | "homepage": "https://github.com/mathiasbynens/jquery-placeholder", 16 | "bugs": { 17 | "url": "https://github.com/mathiasbynens/jquery-placeholder/issues" 18 | }, 19 | "main": "jquery.placeholder.js", 20 | "directories": { 21 | "test": "tests" 22 | }, 23 | "keywords": [ 24 | "form", 25 | "placeholder", 26 | "jQuery", 27 | "jquery-plugin" 28 | ], 29 | "devDependencies": { 30 | "grunt": "^0.4.5", 31 | "grunt-contrib-uglify": "^0.7.0", 32 | "grunt-notify": "^0.4.1", 33 | "load-grunt-tasks": "^2.0.0", 34 | "time-grunt": "^1.0.0" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jsonData/masonry.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "masonry-layout", 3 | "version": "3.2.2", 4 | "description": "Cascading grid layout library", 5 | "main": "masonry.js", 6 | "dependencies": { 7 | "get-size": ">=1.1.4 <1.3", 8 | "outlayer": "1.3.x" 9 | }, 10 | "devDependencies": { 11 | "jquery-bridget": "1.1.x", 12 | "doc-ready": "1.x", 13 | "qunitjs": "^1.12", 14 | "jquery": ">=1.4.3 <2", 15 | "grunt": "^0.4.4", 16 | "grunt-contrib-jshint": "^0.9.2", 17 | "grunt-contrib-uglify": "^0.4.0", 18 | "grunt-requirejs": "^0.4.1" 19 | }, 20 | "directories": { 21 | "example": "examples", 22 | "test": "test" 23 | }, 24 | "scripts": { 25 | "test": "test/index.html" 26 | }, 27 | "repository": { 28 | "type": "git", 29 | "url": "git://github.com/desandro/masonry.git" 30 | }, 31 | "keywords": [ 32 | "DOM", 33 | "browser", 34 | "grid", 35 | "layout", 36 | "outlayer" 37 | ], 38 | "author": "David DeSandro", 39 | "license": "MIT", 40 | "bugs": { 41 | "url": "https://github.com/desandro/masonry/issues" 42 | }, 43 | "homepage": "http://masonry.desandro.com" 44 | } 45 | -------------------------------------------------------------------------------- /jsonData/ace.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ace", 3 | "description": "Ajax.org Code Editor is a full featured source code highlighting editor that powers the Cloud9 IDE", 4 | "version": "1.1.8", 5 | "homepage": "http://github.com/ajaxorg/ace", 6 | "engines": {"node": ">= 0.6.0"}, 7 | "author": "Fabian Jakobs ", 8 | "main": "lib/ace", 9 | "repository": { 10 | "type": "git", 11 | "url": "http://github.com/ajaxorg/ace.git" 12 | }, 13 | "dependencies": { 14 | "mime": "1.2.x" 15 | }, 16 | "devDependencies": { 17 | "asyncjs": "0.0.x", 18 | "jsdom": "0.2.x", 19 | "amd-loader": "~0.0.4", 20 | "dryice": "0.4.11", 21 | "architect-build": "https://github.com/c9/architect-build/tarball/a3bad51808" 22 | }, 23 | "mappings": { 24 | "ace": "." 25 | }, 26 | "licenses": [{ 27 | "type": "BSD New", 28 | "url": "http://opensource.org/licenses/BSD-3-Clause" 29 | }], 30 | "directories": { 31 | "lib": "lib/ace" 32 | }, 33 | "scripts": { 34 | "start": "node static.js", 35 | "test": "node lib/ace/test/all.js" 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /jsonData/fastclick.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fastclick", 3 | "version": "1.0.6", 4 | "description": "Polyfill to remove click delays on browsers with touch UIs.", 5 | "maintainers": [ 6 | { 7 | "name": "Matthew Caruana Galizia", 8 | "email": "m@m.cg", 9 | "url": "http://m.cg/" 10 | } 11 | ], 12 | "author": { 13 | "name": "Rowan Beentje", 14 | "email": "rowan.beentje@ft.com" 15 | }, 16 | "contributors": [ 17 | { 18 | "name": "Rowan Beentje", 19 | "email": "rowan.beentje@ft.com" 20 | }, 21 | { 22 | "name": "Matthew Caruana Galizia", 23 | "email": "m@m.cg" 24 | } 25 | ], 26 | "main": "lib/fastclick.js", 27 | "repository": { 28 | "type": "git", 29 | "url": "git://github.com/ftlabs/fastclick.git" 30 | }, 31 | "keywords": [ 32 | "fastclick", 33 | "mobile", 34 | "touch", 35 | "tap", 36 | "click", 37 | "delay" 38 | ], 39 | "licenses": [ 40 | { 41 | "type": "MIT", 42 | "url": "http://opensource.org/licenses/MIT" 43 | } 44 | ], 45 | "implements": [ 46 | "CommonJS/Modules/1.0" 47 | ], 48 | "homepage": "https://github.com/ftlabs/fastclick" 49 | } 50 | -------------------------------------------------------------------------------- /jsonData/Leaflet.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "leaflet", 3 | "version": "0.8.0-dev", 4 | "description": "JavaScript library for mobile-friendly interactive maps", 5 | "devDependencies": { 6 | "copyfiles": "0.1.0", 7 | "eslint": "^0.15.1", 8 | "happen": "~0.1.3", 9 | "jake": "~8.0.10", 10 | "karma": "~0.12.31", 11 | "karma-chrome-launcher": "^0.1.7", 12 | "karma-coverage": "~0.2.7", 13 | "karma-firefox-launcher": "~0.1.4", 14 | "karma-mocha": "~0.1.10", 15 | "karma-phantomjs-launcher": "^0.1.4", 16 | "karma-safari-launcher": "~0.1.1", 17 | "mocha": "~2.1.0", 18 | "tin": "^0.5.0", 19 | "uglify-js": "~2.4.16" 20 | }, 21 | "main": "dist/leaflet-src.js", 22 | "style": "dist/leaflet.css", 23 | "scripts": { 24 | "test": "jake test", 25 | "prepublish": "jake build", 26 | "publish": "./build/publish.sh" 27 | }, 28 | "repository": { 29 | "type": "git", 30 | "url": "git://github.com/Leaflet/Leaflet.git" 31 | }, 32 | "keywords": [ 33 | "gis", 34 | "map" 35 | ], 36 | "licenses": [ 37 | { 38 | "type": "BSD-2-Clause", 39 | "url": "https://github.com/Leaflet/Leaflet/blob/master/LICENSE" 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /jsonData/html5-boilerplate.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "apache-server-configs": "2.13.0", 4 | "archiver": "^0.14.3", 5 | "del": "^1.1.1", 6 | "glob": "^5.0.1", 7 | "gulp": "^3.8.11", 8 | "gulp-header": "^1.2.2", 9 | "gulp-jscs": "^1.4.0", 10 | "gulp-jshint": "^1.9.2", 11 | "gulp-load-plugins": "^0.8.1", 12 | "gulp-rename": "^1.2.0", 13 | "gulp-replace": "^0.5.3", 14 | "jquery": "1.11.2", 15 | "jshint-stylish": "^1.0.1", 16 | "mocha": "^2.1.0", 17 | "normalize.css": "3.0.2", 18 | "run-sequence": "^1.0.2" 19 | }, 20 | "engines": { 21 | "node": ">=0.10.0" 22 | }, 23 | "h5bp-configs": { 24 | "directories": { 25 | "archive": "archive", 26 | "dist": "dist", 27 | "src": "src", 28 | "test": "test" 29 | } 30 | }, 31 | "homepage": "https://html5boilerplate.com/", 32 | "license": { 33 | "type": "MIT", 34 | "url": "https://github.com/h5bp/html5-boilerplate/blob/master/LICENSE.txt" 35 | }, 36 | "name": "html5-boilerplate", 37 | "private": true, 38 | "scripts": { 39 | "build": "gulp build", 40 | "test": "gulp archive && mocha --reporter spec --timeout 5000" 41 | }, 42 | "version": "5.0.0" 43 | } 44 | -------------------------------------------------------------------------------- /Client/index.html: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 16 | 17 | 18 | Git What We MEAN 19 | 20 | 21 | 22 | 23 | 24 |

Git What We MEAN

25 | 26 | 27 |
28 |
29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /jsonData/jquery-ui.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-ui", 3 | "ignore": [ 4 | "**/.*", 5 | "build", 6 | "demos", 7 | "external", 8 | "tests" 9 | ], 10 | "dependencies": { 11 | "jquery": ">=1.6" 12 | }, 13 | "devDependencies": { 14 | "jquery-mousewheel": "3.1.12", 15 | "jquery-simulate": "1.0.0", 16 | "jshint": "2.4.4", 17 | "qunit": "1.17.1", 18 | "qunit-assert-classes": "0.1.5", 19 | 20 | "jquery-1.7.0": "jquery#1.7.0", 21 | "jquery-1.7.1": "jquery#1.7.1", 22 | "jquery-1.7.2": "jquery#1.7.2", 23 | "jquery-1.8.0": "jquery#1.8.0", 24 | "jquery-1.8.1": "jquery#1.8.1", 25 | "jquery-1.8.2": "jquery#1.8.2", 26 | "jquery-1.8.3": "jquery#1.8.3", 27 | "jquery-1.9.0": "jquery#1.9.0", 28 | "jquery-1.9.1": "jquery#1.9.1", 29 | "jquery-1.10.0": "jquery#1.10.0", 30 | "jquery-1.10.1": "jquery#1.10.1", 31 | "jquery-1.10.2": "jquery#1.10.2", 32 | "jquery-1.11.0": "jquery#1.11.0", 33 | "jquery-1.11.1": "jquery#1.11.1", 34 | "jquery-1.11.2": "jquery#1.11.2", 35 | "jquery-1.x": "jquery#1.11.2", 36 | "jquery-2.0.0": "jquery#2.0.0", 37 | "jquery-2.0.1": "jquery#2.0.1", 38 | "jquery-2.0.2": "jquery#2.0.2", 39 | "jquery-2.0.3": "jquery#2.0.3", 40 | "jquery-2.1.0": "jquery#2.1.0", 41 | "jquery-2.1.1": "jquery#2.1.1", 42 | "jquery-2.1.2": "jquery#2.1.2", 43 | "jquery-2.1.3": "jquery#2.1.3" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /jsonData/bootstrap-datepicker.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-datepicker", 3 | "description": "A datepicker for twitter bootstrap forked from Stefan Petre's (of eyecon.ro), improvements by eternicode", 4 | "version": "1.5.0", 5 | "license": "Apache-2.0", 6 | "keywords": [ 7 | "datepicker", 8 | "twitter-bootstrap" 9 | ], 10 | "homepage": "https://github.com/eternicode/bootstrap-datepicker", 11 | "author": "Andrew Rowls ", 12 | "scripts": { 13 | "test": "grunt test" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/eternicode/bootstrap-datepicker.git" 18 | }, 19 | "dependencies": { 20 | "jquery" : ">=1.7.1" 21 | }, 22 | "devDependencies": { 23 | "grunt": "~0.4.5", 24 | "load-grunt-tasks": "~1.0.0", 25 | "grunt-contrib-jshint": "~0.10.0", 26 | "grunt-jscs": ">=1.1.0, <2.0", 27 | "grunt-contrib-qunit": "~0.5.2", 28 | "grunt-contrib-less": "~0.12.0", 29 | "grunt-contrib-compress": "~0.13.0", 30 | "grunt-contrib-uglify": "~0.6.0", 31 | "grunt-contrib-csslint": "~0.3.1", 32 | "grunt-contrib-cssmin": "~0.10.0", 33 | "grunt-contrib-clean": "~0.6.0", 34 | "grunt-contrib-concat": "~0.5.0", 35 | "grunt-string-replace": "~1.0.0", 36 | "grunt-banner": "~0.2.3", 37 | "time-grunt": "~1.0.0", 38 | "phantomjs": "~1.9.0" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /jsonData/backbone.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "backbone", 3 | "description" : "Give your JS App some Backbone with Models, Views, Collections, and Events.", 4 | "url" : "http://backbonejs.org", 5 | "keywords" : ["model", "view", "controller", "router", "server", "client", "browser"], 6 | "author" : "Jeremy Ashkenas ", 7 | "dependencies" : { 8 | "underscore" : ">=1.6.0" 9 | }, 10 | "devDependencies": { 11 | "coffee-script": "1.7.1", 12 | "docco": "0.6.3", 13 | "karma": "^0.12.31", 14 | "karma-phantomjs-launcher": "^0.1.4", 15 | "karma-qunit": "^0.1.4" 16 | }, 17 | "main": "backbone.js", 18 | "scripts": { 19 | "test": "./node_modules/karma/bin/karma start && coffee test/model.coffee", 20 | "build": "uglifyjs backbone.js --mangle --source-map backbone-min.map -o backbone-min.js", 21 | "doc": "docco backbone.js && docco examples/todos/todos.js examples/backbone.localStorage.js", 22 | "lint": "jsl -nofilelisting -nologo -conf docs/jsl.conf -process backbone.js" 23 | }, 24 | "main" : "backbone.js", 25 | "version" : "1.1.2", 26 | "license" : "MIT", 27 | "repository": { 28 | "type": "git", 29 | "url": "https://github.com/jashkenas/backbone.git" 30 | }, 31 | "files": [ 32 | "backbone.js", "backbone-min.js", "backbone-min.map", "LICENSE" 33 | ] 34 | } -------------------------------------------------------------------------------- /jsonData/fullcalendar.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fullcalendar", 3 | "title": "FullCalendar", 4 | "version": "2.3.1", 5 | "description": "Full-sized drag & drop event calendar", 6 | "keywords": [ 7 | "calendar", 8 | "event", 9 | "full-sized", 10 | "jquery-plugin" 11 | ], 12 | "homepage": "http://fullcalendar.io/", 13 | "bugs": "http://fullcalendar.io/wiki/Reporting-Bugs/", 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/arshaw/fullcalendar.git" 17 | }, 18 | "license": { 19 | "type": "MIT", 20 | "url": "https://github.com/arshaw/fullcalendar/blob/master/license.txt" 21 | }, 22 | "author": { 23 | "name": "Adam Shaw", 24 | "email": "arshaw@arshaw.com", 25 | "url": "http://arshaw.com/" 26 | }, 27 | "copyright": "2015 Adam Shaw", 28 | "dependencies": { 29 | "jquery": ">=1.7.1", 30 | "moment": ">=2.5.0" 31 | }, 32 | "devDependencies": { 33 | "jquery-ui": ">=1.11.1", 34 | "jquery-simulate-ext": "~1.3.0", 35 | "jquery-mockjax": "~1.5.4", 36 | "jasmine-jquery": "~2.0.3", 37 | "jasmine-fixture": "~1.2.0", 38 | "moment-timezone": "~0.2.1", 39 | "bootstrap": "~3.2.0" 40 | }, 41 | "main": [ 42 | "dist/fullcalendar.js", 43 | "dist/fullcalendar.css" 44 | ], 45 | "ignore": [ 46 | "*", 47 | "**/.*", 48 | "!/dist/**", 49 | "!/changelog.*", 50 | "!/license.*", 51 | "!/readme.*" 52 | ] 53 | } 54 | -------------------------------------------------------------------------------- /jsonData/angular-seed.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angular-seed", 3 | "private": true, 4 | "version": "0.0.0", 5 | "description": "A starter project for AngularJS", 6 | "repository": "https://github.com/angular/angular-seed", 7 | "license": "MIT", 8 | "devDependencies": { 9 | "karma": "~0.10", 10 | "protractor": "^1.1.1", 11 | "http-server": "^0.6.1", 12 | "bower": "^1.3.1", 13 | "shelljs": "^0.2.6", 14 | "karma-junit-reporter": "^0.2.2" 15 | }, 16 | "scripts": { 17 | "postinstall": "bower install", 18 | 19 | "prestart": "npm install", 20 | "start": "http-server -a localhost -p 8000 -c-1", 21 | 22 | "pretest": "npm install", 23 | "test": "karma start karma.conf.js", 24 | "test-single-run": "karma start karma.conf.js --single-run", 25 | 26 | "preupdate-webdriver": "npm install", 27 | "update-webdriver": "webdriver-manager update", 28 | 29 | "preprotractor": "npm run update-webdriver", 30 | "protractor": "protractor e2e-tests/protractor.conf.js", 31 | 32 | "update-index-async": "node -e \"require('shelljs/global'); sed('-i', /\\/\\/@@NG_LOADER_START@@[\\s\\S]*\\/\\/@@NG_LOADER_END@@/, '//@@NG_LOADER_START@@\\n' + sed(/sourceMappingURL=angular-loader.min.js.map/,'sourceMappingURL=bower_components/angular-loader/angular-loader.min.js.map','app/bower_components/angular-loader/angular-loader.min.js') + '\\n//@@NG_LOADER_END@@', 'app/index-async.html');\"" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /jsonData/angular-phonecat.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.0.0", 3 | "private": true, 4 | "name": "angular-phonecat", 5 | "description": "A tutorial application for AngularJS", 6 | "repository": "https://github.com/angular/angular-phonecat", 7 | "license": "MIT", 8 | "devDependencies": { 9 | "karma": "^0.12.16", 10 | "karma-chrome-launcher": "^0.1.4", 11 | "karma-jasmine": "^0.1.5", 12 | "protractor": "~1.0.0", 13 | "http-server": "^0.6.1", 14 | "tmp": "0.0.23", 15 | "bower": "^1.3.1", 16 | "shelljs": "^0.2.6" 17 | }, 18 | "scripts": { 19 | "postinstall": "bower install", 20 | 21 | "prestart": "npm install", 22 | "start": "http-server -a 0.0.0.0 -p 8000", 23 | 24 | "pretest": "npm install", 25 | "test": "node node_modules/karma/bin/karma start test/karma.conf.js", 26 | "test-single-run": "node node_modules/karma/bin/karma start test/karma.conf.js --single-run", 27 | 28 | "preupdate-webdriver": "npm install", 29 | "update-webdriver": "webdriver-manager update", 30 | 31 | "preprotractor": "npm run update-webdriver", 32 | "protractor": "protractor test/protractor-conf.js", 33 | 34 | "update-index-async": "node -e \"require('shelljs/global'); sed('-i', /\\/\\/@@NG_LOADER_START@@[\\s\\S]*\\/\\/@@NG_LOADER_END@@/, '//@@NG_LOADER_START@@\\n' + cat('bower_components/angular-loader/angular-loader.min.js') + '\\n//@@NG_LOADER_END@@', 'app/index-async.html');\"" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /jsonData/hammer.js.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hammerjs", 3 | "title": "Hammer.JS", 4 | "description": "A javascript library for multi-touch gestures", 5 | "version": "2.0.4", 6 | "homepage": "http://hammerjs.github.io/", 7 | "licenses": [ 8 | { 9 | "type": "MIT", 10 | "url": "https://github.com/hammerjs/hammer.js/blob/master/LICENSE.md" 11 | } 12 | ], 13 | "keywords": [ 14 | "touch", 15 | "gestures" 16 | ], 17 | "author": { 18 | "name": "Jorik Tangelder", 19 | "email": "j.tangelder@gmail.com" 20 | }, 21 | "repository": { 22 | "type": "git", 23 | "url": "git://github.com/hammerjs/hammer.js.git" 24 | }, 25 | "bugs": { 26 | "url": "https://github.com/hammerjs/hammer.js/issues" 27 | }, 28 | "dependencies": {}, 29 | "devDependencies": { 30 | "grunt": "0.4.x", 31 | "grunt-banner": "^0.2.3", 32 | "grunt-contrib-concat": "0.4.x", 33 | "grunt-contrib-connect": "0.7.x", 34 | "grunt-contrib-jshint": "0.10.x", 35 | "grunt-contrib-qunit": "^0.5.1", 36 | "grunt-contrib-uglify": "0.4.x", 37 | "grunt-contrib-watch": "0.6.x", 38 | "grunt-jscs": "^0.8.0", 39 | "grunt-string-replace": "^0.2.7", 40 | "jquery-hammerjs": "2.0.x", 41 | "hammer-simulator": "git://github.com/hammerjs/simulator#master" 42 | }, 43 | "main": "hammer.js", 44 | "engines": { 45 | "node": ">=0.8.0" 46 | }, 47 | "scripts": { 48 | "test": "grunt test" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /jsonData/Flat-UI.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "flat-ui", 3 | "version": "2.2.2", 4 | "description": "Flat UI Free is a beautiful theme for Bootstrap. We have redesigned many of its components to look flat in every pixel", 5 | "author": "Designmodo, Inc.", 6 | "license": "CC BY 3.0 and MIT", 7 | "homepage": "http://designmodo.github.io/Flat-UI/", 8 | "keywords": [ 9 | "ui", 10 | "flat", 11 | "bootstrap" 12 | ], 13 | "style": "dist/css/flat-ui.css", 14 | "less": "less/flat-ui.less", 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/designmodo/Flat-UI.git" 18 | }, 19 | "bugs": { 20 | "url": "https://github.com/designmodo/Flat-UI/issues" 21 | }, 22 | "devDependencies": { 23 | "grunt": "~0.4.5", 24 | "grunt-autoprefixer": "~1.0.1", 25 | "grunt-banner": "~0.2.3", 26 | "grunt-contrib-clean": "~0.6.0", 27 | "grunt-contrib-concat": "~0.5.0", 28 | "grunt-contrib-connect": "~0.8.0", 29 | "grunt-contrib-copy": "~0.5.0", 30 | "grunt-contrib-csslint": "^0.2.0", 31 | "grunt-contrib-cssmin": "~0.10.0", 32 | "grunt-contrib-jshint": "~0.10.0", 33 | "grunt-contrib-less": "~0.11.4", 34 | "grunt-contrib-uglify": "~0.5.1", 35 | "grunt-contrib-watch": "~0.6.1", 36 | "grunt-csscomb": "~3.0.0", 37 | "grunt-jscs": "~0.7.1", 38 | "load-grunt-tasks": "~0.6.0", 39 | "time-grunt": "~1.0.0" 40 | }, 41 | "engines": { 42 | "node": "~0.10.31" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /jsonData/jquery-cookie.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery.cookie", 3 | "version": "1.4.1", 4 | "description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies.", 5 | "main": "src/jquery.cookie.js", 6 | "directories": { 7 | "test": "test" 8 | }, 9 | "scripts": { 10 | "test": "grunt" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/carhartl/jquery-cookie.git" 15 | }, 16 | "author": "Klaus Hartl", 17 | "license": "MIT", 18 | "gitHead": "bd3c9713222bace68d25fe2128c0f8633cad1269", 19 | "readmeFilename": "README.md", 20 | "devDependencies": { 21 | "grunt": "~0.4.1", 22 | "grunt-contrib-jshint": "~0.10.0", 23 | "grunt-contrib-uglify": "~0.2.0", 24 | "grunt-contrib-qunit": "~0.2.0", 25 | "grunt-contrib-watch": "~0.6.1", 26 | "grunt-compare-size": "~0.4.0", 27 | "grunt-saucelabs": "~7.0.0", 28 | "grunt-contrib-connect": "~0.7.1", 29 | "gzip-js": "~0.3.0" 30 | }, 31 | "volo": { 32 | "url": "https://raw.github.com/carhartl/jquery-cookie/v{version}/src/jquery.cookie.js" 33 | }, 34 | "jspm": { 35 | "main": "jquery.cookie", 36 | "files": ["src/jquery.cookie.js"], 37 | "buildConfig": { 38 | "uglify": true 39 | } 40 | }, 41 | "jam": { 42 | "dependencies": { 43 | "jquery": ">=1.2" 44 | }, 45 | "main": "src/jquery.cookie.js", 46 | "include": [ 47 | "src/jquery.cookie.js" 48 | ] 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /jsonData/Ghost.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ghost", 3 | "dependencies": { 4 | "codemirror": "4.0.1", 5 | "Countable": "2.0.2", 6 | "device": "git://github.com/matthewhudson/device.js#5347a275b66020a0d4dfe9aad81a488f8cce448d", 7 | "ember": "1.10.0", 8 | "ember-data": "1.0.0-beta.14.1", 9 | "ember-load-initializers": "git://github.com/stefanpenner/ember-load-initializers.git#0.0.1", 10 | "ember-resolver": "git://github.com/stefanpenner/ember-jj-abrams-resolver.git#181251821cf513bb58d3e192faa13245a816f75e", 11 | "ember-simple-auth": "0.7.2", 12 | "fastclick": "1.0.0", 13 | "handlebars": "2.0.0", 14 | "ic-ajax": "1.0.1", 15 | "jquery": "1.11.0", 16 | "jquery-file-upload": "9.5.6", 17 | "jquery-hammerjs": "1.0.1", 18 | "jquery-ui": "1.10.4", 19 | "jqueryui-touch-punch": "furf/jquery-ui-touch-punch", 20 | "keymaster": "git://github.com/madrobby/keymaster#564ea42e07de40da8113a571f17ceae8802672ff", 21 | "loader.js": "git://github.com/stefanpenner/loader.js#1.0.0", 22 | "moment": "2.8.3", 23 | "nanoscroller": "0.8.4", 24 | "normalize-scss": "~3.0.1", 25 | "nprogress": "0.1.2", 26 | "showdown-ghost": "0.3.4", 27 | "validator-js": "3.28.0", 28 | "google-caja": "5669.0.0" 29 | }, 30 | "devDependencies": { 31 | "ember-mocha": "~0.3.0", 32 | "ember-cli-test-loader": "dgeb/ember-cli-test-loader#test-agnostic", 33 | "ember-cli-shims": "stefanpenner/ember-cli-shims#~0.0.3" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Client/dependencies.js: -------------------------------------------------------------------------------- 1 | angular.module('gitWhatWeMean.dependencies', []) 2 | 3 | .controller('DependenciesController', ['$scope', '$filter', 'Dependencies', function($scope, $filter, Dependencies) { 4 | 5 | $scope.data = []; 6 | $scope.search = ''; 7 | console.log("In the controller"); 8 | //var orderBy = $filter('orderBy'); 9 | $scope.getDependencies = function() { 10 | // Use Dependencies factory to get array of Dependeny objects from database 11 | // set $scope.dependencies to the array 12 | // in html file, use ng-repeat to iterate over array, display dependency name and length of repo array 13 | 14 | Dependencies.getDependencies().then(function(data) { 15 | console.log("DATA ", data); 16 | $scope.data = data; 17 | //$scope.order('-visits',false); 18 | }).catch(function(error) { 19 | console.error(error); 20 | }) 21 | }; 22 | $scope.getDependencies(); 23 | // $scope.order = function(predicate, reverse) { 24 | // $scope.data.links = orderBy($scope.data.links, predicate, reverse); 25 | // }; 26 | }]) 27 | .factory('Dependencies', function($http) { 28 | var getDependencies = function() { 29 | console.log("Get Request Made"); 30 | return $http({ 31 | method: 'GET', 32 | url: '/dependencies' 33 | }).then(function(res) { 34 | return res.data; 35 | }); 36 | }; 37 | return { 38 | getDependencies: getDependencies 39 | }; 40 | }); 41 | -------------------------------------------------------------------------------- /jsonData/d3.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "d3", 3 | "version": "3.5.5", 4 | "description": "A JavaScript visualization library for HTML and SVG.", 5 | "keywords": [ 6 | "dom", 7 | "w3c", 8 | "visualization", 9 | "svg", 10 | "animation", 11 | "canvas" 12 | ], 13 | "homepage": "http://d3js.org", 14 | "author": { 15 | "name": "Mike Bostock", 16 | "url": "http://bost.ocks.org/mike" 17 | }, 18 | "contributors": [ 19 | { 20 | "name": "Jason Davies", 21 | "url": "http://jasondavies.com" 22 | } 23 | ], 24 | "repository": { 25 | "type": "git", 26 | "url": "https://github.com/mbostock/d3.git" 27 | }, 28 | "main": "index.js", 29 | "browserify": "d3.js", 30 | "jspm": { 31 | "main": "d3", 32 | "shim": { 33 | "d3": { 34 | "exports": "d3" 35 | } 36 | }, 37 | "files": [ 38 | "d3.js" 39 | ], 40 | "buildConfig": { 41 | "uglify": true 42 | } 43 | }, 44 | "jam": { 45 | "main": "d3.js", 46 | "shim": { 47 | "exports": "d3" 48 | } 49 | }, 50 | "spm": { 51 | "main": "d3.js" 52 | }, 53 | "devDependencies": { 54 | "jsdom": "3", 55 | "seedrandom": "2", 56 | "smash": "0.0", 57 | "uglify-js": "2.4.16", 58 | "vows": "0.8" 59 | }, 60 | "scripts": { 61 | "test": "vows; echo" 62 | }, 63 | "licenses": [ 64 | { 65 | "type": "BSD", 66 | "url": "https://github.com/mbostock/d3/blob/master/LICENSE" 67 | } 68 | ] 69 | } 70 | -------------------------------------------------------------------------------- /jsonData/dropzone.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dropzone", 3 | "version": "4.0.1", 4 | "description": "Handles drag and drop of files for you.", 5 | "keywords": [ 6 | "dragndrop", 7 | "drag and drop", 8 | "file upload", 9 | "upload" 10 | ], 11 | "homepage": "http://www.dropzonejs.com", 12 | "main": "./dist/dropzone.js", 13 | "maintainers": [ 14 | { 15 | "name": "Matias Meno", 16 | "email": "m@tias.me", 17 | "web": "http://www.matiasmeno.com" 18 | } 19 | ], 20 | "contributors": [ 21 | { 22 | "name": "Matias Meno", 23 | "email": "m@tias.me", 24 | "web": "http://www.matiasmeno.com" 25 | } 26 | ], 27 | "scripts": { 28 | "test": "./test.sh" 29 | }, 30 | "bugs": { 31 | "email": "m@tias.me", 32 | "url": "https://github.com/enyo/dropzone/issues" 33 | }, 34 | "licenses": [ 35 | { 36 | "type": "MIT", 37 | "url": "http://www.opensource.org/licenses/MIT" 38 | } 39 | ], 40 | "repository": { 41 | "type": "git", 42 | "url": "https://github.com/enyo/dropzone.git" 43 | }, 44 | "dependencies": {}, 45 | "devDependencies": { 46 | "chai": "1.7.x", 47 | "grunt": "^0.4.4", 48 | "grunt-contrib-coffee": "^0.10.1", 49 | "grunt-contrib-concat": "^0.4.0", 50 | "grunt-contrib-sass": "^0.8.1", 51 | "grunt-contrib-uglify": "^0.4.0", 52 | "grunt-contrib-watch": "^0.6.1", 53 | "mocha": "^1.18.2", 54 | "mocha-phantomjs": "^3.3.2", 55 | "sinon": "1.9.1" 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /jsonData/formvalidation.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "formvalidation", 3 | "version": "0.6.2-dev", 4 | "description": "The best jQuery plugin to validate form fields. Support Bootstrap, Foundation, Pure, SemanticUI, UIKit and custom frameworks", 5 | "keywords": [ 6 | "jQuery", 7 | "plugin", 8 | "validate", 9 | "validator", 10 | "form", 11 | "Bootstrap", 12 | "Foundation", 13 | "Pure", 14 | "SemanticUI", 15 | "UIKit" 16 | ], 17 | "author": { 18 | "name": "Nguyen Huu Phuoc", 19 | "email": "phuoc@huuphuoc.me", 20 | "url": "https://twitter.com/nghuuphuoc" 21 | }, 22 | "homepage": "http://formvalidation.io", 23 | "bugs": { 24 | "url": "https://github.com/formvalidation/formvalidation/issues", 25 | "email": "phuoc@huuphuoc.me" 26 | }, 27 | "license": "http://formvalidation.io/license/", 28 | "main": "./dist/js/formValidation.js", 29 | "repository": { 30 | "type": "git", 31 | "url": "https://github.com/formvalidation/formvalidation.git" 32 | }, 33 | "devDependencies": { 34 | "grunt": "latest", 35 | "grunt-contrib-concat": "latest", 36 | "grunt-contrib-copy": "latest", 37 | "grunt-contrib-cssmin": "latest", 38 | "grunt-contrib-jasmine": "latest", 39 | "grunt-contrib-jshint": "latest", 40 | "grunt-contrib-uglify": "latest", 41 | "grunt-contrib-watch": "latest" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /jsonData/jquery-validation.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-validation", 3 | "title": "jQuery Validation Plugin", 4 | "description": "Client-side form validation made easy", 5 | "version": "1.13.2-pre", 6 | "homepage": "http://jqueryvalidation.org/", 7 | "author": { 8 | "name": "Jörn Zaefferer", 9 | "email": "joern.zaefferer@gmail.com", 10 | "url": "http://bassistance.de" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/jzaefferer/jquery-validation.git" 15 | }, 16 | "bugs": { 17 | "url": "https://github.com/jzaefferer/jquery-validation/issues" 18 | }, 19 | "licenses": [ 20 | { 21 | "type": "MIT", 22 | "url": "http://www.opensource.org/licenses/MIT" 23 | } 24 | ], 25 | "scripts": { 26 | "test": "grunt", 27 | "prepublish": "grunt" 28 | }, 29 | "files": ["dist/localization/", "dist/additional-methods.js", "dist/jquery.validate.js"], 30 | "main": "dist/jquery.validate.js", 31 | "dependencies": {}, 32 | "devDependencies": { 33 | "commitplease": "2.0.0", 34 | "grunt": "0.4.4", 35 | "grunt-contrib-compress": "0.7.0", 36 | "grunt-contrib-concat": "0.3.0", 37 | "grunt-contrib-copy": "0.5.0", 38 | "grunt-contrib-jshint": "^0.10.0", 39 | "grunt-contrib-qunit": "0.4.0", 40 | "grunt-contrib-uglify": "0.4.0", 41 | "grunt-contrib-watch": "0.6.0", 42 | "grunt-jscs": "1.0.0", 43 | "grunt-text-replace": "0.3.11" 44 | }, 45 | "keywords": [ 46 | "jquery", 47 | "jquery-plugin", 48 | "forms", 49 | "validation", 50 | "validate" 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /jsonData/generator-angular.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "generator-angular", 3 | "version": "0.11.1", 4 | "description": "Yeoman generator for AngularJS", 5 | "keywords": [ 6 | "yeoman-generator", 7 | "scaffold", 8 | "framework", 9 | "component", 10 | "front-end", 11 | "app", 12 | "angular" 13 | ], 14 | "author": "The Yeoman Team", 15 | "main": "app/index.js", 16 | "files": [ 17 | "app", 18 | "common", 19 | "constant", 20 | "controller", 21 | "decorator", 22 | "directive", 23 | "factory", 24 | "filter", 25 | "main", 26 | "provider", 27 | "route", 28 | "service", 29 | "templates", 30 | "value", 31 | "view", 32 | "script-base.js", 33 | "util.js" 34 | ], 35 | "repository": "yeoman/generator-angular", 36 | "scripts": { 37 | "test": "mocha" 38 | }, 39 | "dependencies": { 40 | "chalk": "^1.0.0", 41 | "wiredep": "^2.2.0", 42 | "yeoman-generator": "^0.16.0", 43 | "yosay": "^1.0.2" 44 | }, 45 | "peerDependencies": { 46 | "generator-karma": ">=0.9.0" 47 | }, 48 | "devDependencies": { 49 | "grunt": "^0.4.5", 50 | "grunt-contrib-jshint": "^0.11.0", 51 | "grunt-conventional-changelog": "^1.1.0", 52 | "grunt-release": "^0.11.0", 53 | "load-grunt-tasks": "^3.1.0", 54 | "mocha": "*", 55 | "semver": "^4.3.0", 56 | "underscore.string": "^3.0.3" 57 | }, 58 | "engines": { 59 | "node": ">=0.10.0" 60 | }, 61 | "licenses": [ 62 | { 63 | "type": "BSD" 64 | } 65 | ] 66 | } 67 | -------------------------------------------------------------------------------- /jsonData/ionic.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic", 3 | "version": "1.0.0-rc.0", 4 | "codename": "neodymium-newt", 5 | "homepage": "https://github.com/driftyco/ionic", 6 | "authors": [ 7 | "Max Lynch ", 8 | "Adam Bradley ", 9 | "Ben Sperry " 10 | ], 11 | "description": "Advanced HTML5 hybrid mobile app development framework.", 12 | "main": [ 13 | "release/css/ionic.css", 14 | "release/fonts/*", 15 | "release/js/ionic.js", 16 | "release/js/ionic-angular.js" 17 | ], 18 | "keywords": [ 19 | "mobile", 20 | "html5", 21 | "ionic", 22 | "cordova", 23 | "phonegap", 24 | "trigger", 25 | "triggerio", 26 | "angularjs", 27 | "angular" 28 | ], 29 | "license": "MIT", 30 | "private": false, 31 | "ignore": [ 32 | "**/.*", 33 | "CONTRIBUTING.md", 34 | "Gruntfile.js", 35 | "component.json", 36 | "config", 37 | "examples", 38 | "package.json", 39 | "release/js/angular", 40 | "release/js/angular-ui", 41 | "scripts", 42 | "test", 43 | "js/controllers", 44 | "js/ext", 45 | "js/utils", 46 | "js/views", 47 | "js/_license.js", 48 | "js/ionic.js" 49 | ], 50 | "dependencies": { 51 | "angular": "1.3.13", 52 | "angular-animate": "1.3.13", 53 | "angular-aria": "1.3.13", 54 | "angular-messages": "1.3.13", 55 | "angular-mocks": "1.3.13", 56 | "angular-resource": "1.3.13", 57 | "angular-sanitize": "1.3.13", 58 | "angular-scenario": "1.3.13", 59 | "angular-ui-router": "0.2.13" 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /jsonData/phaser.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "phaser", 3 | "version": "2.2.2", 4 | "release": "Alkindar", 5 | "description": "A fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers.", 6 | "author": "Richard Davey (http://www.photonstorm.com)", 7 | "logo": "https://raw.github.com/photonstorm/phaser/master/phaser-logo-small.png", 8 | "homepage": "http://phaser.io", 9 | "bugs": "https://github.com/photonstorm/phaser/issues", 10 | "license": "MIT", 11 | "licenseUrl": "http://www.opensource.org/licenses/mit-license.php", 12 | "main": "./build/phaser.js", 13 | "repository": { 14 | "type": "git", 15 | "url": "https://photonstorm@github.com/photonstorm/phaser.git" 16 | }, 17 | "scripts": { 18 | "test": "NODE_ENV=test grunt jshint", 19 | "prepublish": "grunt build" 20 | }, 21 | "keywords": [ 22 | "HTML5", 23 | "game", 24 | "canvas", 25 | "2d", 26 | "WebGL", 27 | "web audio", 28 | "physics", 29 | "tweens", 30 | "javascript", 31 | "typescript" 32 | ], 33 | "devDependencies": { 34 | "grunt": "^0.4.1", 35 | "grunt-contrib-clean": "^0.5.0", 36 | "grunt-contrib-concat": "^0.4.0", 37 | "grunt-contrib-connect": "^0.7.1", 38 | "grunt-contrib-copy": "^0.5.0", 39 | "grunt-contrib-jshint": "^0.9.2", 40 | "grunt-contrib-uglify": "^0.4.0", 41 | "grunt-notify": "^0.3.0", 42 | "grunt-text-replace": "^0.3.11", 43 | "load-grunt-config": "~0.7.2", 44 | "yuidocjs": "^0.3.50", 45 | "jsdoc": "~3.3.0-alpha10", 46 | "grunt-jsdoc": "~0.5.7" 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /jsonData/Magnific-Popup.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "magnific-popup", 3 | 4 | "version": "1.0.0", 5 | "title": "Magnific Popup", 6 | "description": "Lightbox and modal dialog plugin. Can display inline HTML, iframes (YouTube video, Vimeo, Google Maps), or an image gallery. Animation effects are added with CSS3 transitions. For jQuery or Zepto.", 7 | "keywords": ["ecosystem:jquery", "jquery-plugin", "zepto", "lightbox","popup","modal","window","dialog","gallery","jquery","photo","responsive","mobile"], 8 | "author": { 9 | "name": "Dmitry Semenov", 10 | "email": "diiiimaaaa@gmail.com", 11 | "web": "http://dimsemenov.com" 12 | }, 13 | "license": "MIT", 14 | "bugs": { 15 | "url": "https://github.com/dimsemenov/Magnific-Popup/issues" 16 | }, 17 | "main": "dist/jquery.magnific-popup.js", 18 | "homepage": "http://dimsemenov.com/plugins/magnific-popup/", 19 | 20 | 21 | 22 | "engines": { 23 | "node": ">= 0.8.0" 24 | }, 25 | "scripts": { 26 | "test": "grunt jshint" 27 | }, 28 | "devDependencies": { 29 | "grunt-contrib-jshint": "~0.10.0", 30 | "grunt-contrib-concat": "~0.5.0", 31 | "grunt-contrib-uglify": "~0.7.0", 32 | "grunt-contrib-watch": "~0.6.1", 33 | "grunt-contrib-clean": "~0.6.0", 34 | "grunt-contrib-copy": "~0.7.0", 35 | "grunt": "~0.4.5", 36 | "grunt-contrib-cssmin": "~0.11.0", 37 | "grunt": "~0.4.5", 38 | "grunt-jekyll": "~0.4.2", 39 | "grunt-sass": "~0.17.0" 40 | }, 41 | "repository": { 42 | "type": "git", 43 | "url": "https://github.com/dimsemenov/Magnific-Popup.git" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /jsonData/jQuery-File-Upload.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "blueimp-file-upload", 3 | "version": "9.9.3", 4 | "title": "jQuery File Upload", 5 | "description": "File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.", 6 | "keywords": [ 7 | "jquery", 8 | "file", 9 | "upload", 10 | "widget", 11 | "multiple", 12 | "selection", 13 | "drag", 14 | "drop", 15 | "progress", 16 | "preview", 17 | "cross-domain", 18 | "cross-site", 19 | "chunk", 20 | "resume", 21 | "gae", 22 | "go", 23 | "python", 24 | "php", 25 | "bootstrap" 26 | ], 27 | "homepage": "https://github.com/blueimp/jQuery-File-Upload", 28 | "author": { 29 | "name": "Sebastian Tschan", 30 | "url": "https://blueimp.net" 31 | }, 32 | "maintainers": [ 33 | { 34 | "name": "Sebastian Tschan", 35 | "url": "https://blueimp.net" 36 | } 37 | ], 38 | "repository": { 39 | "type": "git", 40 | "url": "git://github.com/blueimp/jQuery-File-Upload.git" 41 | }, 42 | "bugs": "https://github.com/blueimp/jQuery-File-Upload/issues", 43 | "licenses": [ 44 | { 45 | "type": "MIT", 46 | "url": "http://www.opensource.org/licenses/MIT" 47 | } 48 | ], 49 | "main": "js/jquery.fileupload.js", 50 | "devDependencies": { 51 | "grunt": "~0.4.5", 52 | "grunt-bump-build-git": "~1.1.1", 53 | "grunt-contrib-jshint": "~0.10.0" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /jsonData/fullcalendar.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fullcalendar", 3 | "title": "FullCalendar", 4 | "version": "2.3.1", 5 | "description": "Full-sized drag & drop event calendar", 6 | "keywords": [ 7 | "calendar", 8 | "event", 9 | "full-sized", 10 | "jquery-plugin" 11 | ], 12 | "homepage": "http://fullcalendar.io/", 13 | "bugs": "http://fullcalendar.io/wiki/Reporting-Bugs/", 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/arshaw/fullcalendar.git" 17 | }, 18 | "license": { 19 | "type": "MIT", 20 | "url": "https://github.com/arshaw/fullcalendar/blob/master/license.txt" 21 | }, 22 | "author": { 23 | "name": "Adam Shaw", 24 | "email": "arshaw@arshaw.com", 25 | "url": "http://arshaw.com/" 26 | }, 27 | "copyright": "2015 Adam Shaw", 28 | "dependencies": { 29 | "jquery": ">=1.7.1", 30 | "moment": ">=2.5.0" 31 | }, 32 | "devDependencies": { 33 | "underscore": "^1.4.4", 34 | "grunt": "^0.4.5", 35 | "grunt-contrib-concat": "^0.1.3", 36 | "grunt-contrib-uglify": "^0.1.2", 37 | "grunt-contrib-copy": "^0.4.1", 38 | "grunt-contrib-compress": "^0.4.10", 39 | "grunt-contrib-clean": "^0.4.1", 40 | "grunt-contrib-jshint": "^0.8.0", 41 | "grunt-contrib-cssmin": "^0.10.0", 42 | "grunt-jscs-checker": "^0.4.4", 43 | "grunt-shell": "^0.7.0", 44 | "grunt-karma": "^0.8.3", 45 | "grunt-bump": "0.0.14", 46 | "lumbar": "^2.6.2", 47 | "karma-jasmine": "^0.2.2", 48 | "karma-phantomjs-launcher": "^0.1.4" 49 | }, 50 | "main": "dist/fullcalendar.js", 51 | "files": [ 52 | "dist/*.js", 53 | "dist/*.css", 54 | "dist/lang", 55 | "changelog.*", 56 | "license.*", 57 | "readme.*" 58 | ] 59 | } 60 | -------------------------------------------------------------------------------- /server/server.js: -------------------------------------------------------------------------------- 1 | require('./config.js'); 2 | var express = require('express'); 3 | var path = require('path'); 4 | var favicon = require('serve-favicon'); 5 | var logger = require('morgan'); 6 | var cookieParser = require('cookie-parser'); 7 | var bodyParser = require('body-parser'); 8 | 9 | 10 | var routes = require('./routes/index.js'); 11 | var dependencies = require('./routes/dependencies.js'); 12 | 13 | var app = express(); 14 | 15 | // view engine setup 16 | app.set('views', path.join(__dirname, 'views')); 17 | app.set('view engine', 'ejs'); 18 | 19 | // uncomment after placing your favicon in /public 20 | //app.use(favicon(__dirname + '/public/favicon.ico')); 21 | app.use(logger('dev')); 22 | app.use(bodyParser.json()); 23 | app.use(bodyParser.urlencoded({ extended: false })); 24 | app.use(cookieParser()); 25 | app.use(express.static(path.join(__dirname, '../Client'))); 26 | 27 | app.get('/', routes); 28 | app.get('/dependencies', dependencies); 29 | 30 | // catch 404 and forward to error handler 31 | app.use(function(req, res, next) { 32 | var err = new Error('Not Found'); 33 | err.status = 404; 34 | next(err); 35 | }); 36 | 37 | // error handlers 38 | 39 | // development error handler 40 | // will print stacktrace 41 | if (app.get('env') === 'development') { 42 | app.use(function(err, req, res, next) { 43 | res.status(err.status || 500); 44 | res.render('error', { 45 | message: err.message, 46 | error: err 47 | }); 48 | }); 49 | } 50 | 51 | // production error handler 52 | // no stacktraces leaked to user 53 | app.use(function(err, req, res, next) { 54 | res.status(err.status || 500); 55 | res.render('error', { 56 | message: err.message, 57 | error: {} 58 | }); 59 | }); 60 | 61 | 62 | module.exports = app; 63 | -------------------------------------------------------------------------------- /jsonData/cgm-remote-monitor.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Nightscout", 3 | "version": "0.6.4", 4 | "description": "Nightscout acts as a web-based CGM (Continuous Glucose Montinor) to allow multiple caregivers to remotely view a patients glucose data in realtime.", 5 | "license": "AGPL3", 6 | "author": "Nightscout Team", 7 | "homepage": "http://nightscout.github.io/", 8 | "keywords": [ 9 | "diabetes", 10 | "continuous glucose management", 11 | "cgm in the cloud", 12 | "cgm", 13 | "dexcom" 14 | ], 15 | "repository": { 16 | "type": "git", 17 | "url": "https://github.com/nightscout/cgm-remote-monitor.git" 18 | }, 19 | "contributors": { 20 | "name": "Nightscout Team", 21 | "url": "https://github.com/nightscout/cgm-remote-monitor/graphs/contributors" 22 | }, 23 | "bugs": { 24 | "url": "https://github.com/nightscout/cgm-remote-monitor/issues" 25 | }, 26 | "scripts": { 27 | "start": "node server.js", 28 | "test": "make test", 29 | "postinstall": "node node_modules/bower/bin/bower install" 30 | }, 31 | "engines": { 32 | "node": "~0.10.0" 33 | }, 34 | "dependencies": { 35 | "body-parser": "^1.4.3", 36 | "bower": "^1.3.8", 37 | "errorhandler": "^1.1.1", 38 | "event-stream": "~3.1.5", 39 | "express": "^4.6.1", 40 | "express-extension-to-accept": "0.0.2", 41 | "mongodb": "^1.4.7", 42 | "moment": "2.8.1", 43 | "pushover-notifications": "0.2.0", 44 | "sgvdata": "0.0.2", 45 | "socket.io": "^0.9.17", 46 | "git-rev": "git://github.com/bewest/git-rev.git" 47 | }, 48 | "devDependencies": { 49 | "coveralls": "~2.11.2", 50 | "istanbul": "~0.3.5", 51 | "mocha": "~1.20.1", 52 | "should": "~4.0.4", 53 | "supertest": "~0.13.0" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /jsonData/brackets.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Brackets", 3 | "version": "1.3.0-0", 4 | "apiVersion": "1.3.0", 5 | "homepage": "http://brackets.io", 6 | "issues": { 7 | "url": "http://github.com/adobe/brackets/issues" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/adobe/brackets.git", 12 | "branch": "", 13 | "SHA": "" 14 | }, 15 | "devDependencies": { 16 | "grunt": "0.4.1", 17 | "jasmine-node": "1.11.0", 18 | "grunt-jasmine-node": "0.1.0", 19 | "grunt-cli": "0.1.9", 20 | "phantomjs": "1.9.13", 21 | "grunt-lib-phantomjs": "0.3.0", 22 | "grunt-contrib-jshint": "0.6.0", 23 | "grunt-contrib-watch": "0.4.3", 24 | "grunt-contrib-jasmine": "0.4.2", 25 | "grunt-template-jasmine-requirejs": "0.1.0", 26 | "grunt-contrib-cssmin": "0.6.0", 27 | "grunt-contrib-clean": "0.4.1", 28 | "grunt-contrib-copy": "0.4.1", 29 | "grunt-contrib-htmlmin": "0.1.3", 30 | "grunt-contrib-less": "0.8.2", 31 | "grunt-contrib-requirejs": "0.4.1", 32 | "grunt-contrib-uglify": "0.2.0", 33 | "grunt-contrib-concat": "0.3.0", 34 | "grunt-targethtml": "0.2.6", 35 | "grunt-usemin": "0.1.11", 36 | "load-grunt-tasks": "0.2.0", 37 | "q": "0.9.2", 38 | "semver": "^4.1.0", 39 | "jshint": "2.1.4", 40 | "xmldoc": "^0.1.2" 41 | }, 42 | "scripts": { 43 | "postinstall": "grunt install", 44 | "test": "grunt cla-check-pull test" 45 | }, 46 | "licenses": [ 47 | { 48 | "type": "MIT", 49 | "url": "https://github.com/adobe/brackets/blob/master/LICENSE" 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /jsonData/ionic.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ionic", 3 | "private": false, 4 | "version": "1.0.0-rc.0", 5 | "codename": "neodymium-newt", 6 | "repository": { 7 | "url": "git://github.com/driftyco/ionic.git" 8 | }, 9 | "devDependencies": { 10 | "canonical-path": "0.0.2", 11 | "chalk": "^0.4.0", 12 | "connect": "^2.13.0", 13 | "conventional-changelog": "~0.0.11", 14 | "cpr": "^0.2.0", 15 | "dgeni": "^0.3.0", 16 | "dgeni-packages": "^0.9.3", 17 | "event-stream": "3.1.0", 18 | "github": "^0.2.1", 19 | "gulp": "^3.7.0", 20 | "gulp-concat": "^2.1.7", 21 | "gulp-footer": "^1.0.4", 22 | "gulp-header": "^1.0.2", 23 | "gulp-if": "0.0.5", 24 | "gulp-jscs": "^1.3.0", 25 | "gulp-jshint": "^1.5.0", 26 | "gulp-minify-css": "^0.3.0", 27 | "gulp-rename": "^1.1.0", 28 | "gulp-sass": "^0.7.1", 29 | "gulp-strip-debug": "^0.3.0", 30 | "gulp-template": "^0.1.1", 31 | "gulp-uglify": "^0.2.1", 32 | "gulp-util": "^2.2.14", 33 | "htmlparser2": "3.7.0", 34 | "ircb": "^0.3.1", 35 | "jasmine-node": "^1.14.3", 36 | "js-string-escape": "^1.0.0", 37 | "js-yaml": "^3.0.2", 38 | "jshint-summary": "^0.3.0", 39 | "karma": "^0.12.23", 40 | "karma-chrome-launcher": "^0.1.4", 41 | "karma-jasmine": "~0.1.5", 42 | "karma-phantomjs-launcher": "~0.1.2", 43 | "karma-sauce-launcher": "~0.2.0", 44 | "karma-script-launcher": "~0.1.0", 45 | "lodash": "^2.4.1", 46 | "lodash.template": "^2.4.1", 47 | "lunr": "0.4.5", 48 | "marked": "^0.3.2", 49 | "minimist": "0.0.8", 50 | "mkdirp": "^0.3.5", 51 | "node-twitter-api": "^1.2.2", 52 | "node-uuid": "^1.4.1", 53 | "protractor": "^0.23.1", 54 | "q": "^1.0.1", 55 | "request": "^2.36.0", 56 | "sauce-connect-launcher": "^0.2.2", 57 | "semver": "^2.2.1", 58 | "through": "^2.3.4", 59 | "winston": "^0.7.2" 60 | }, 61 | "licenses": [ 62 | { 63 | "type": "MIT" 64 | } 65 | ] 66 | } 67 | -------------------------------------------------------------------------------- /server/bin/www: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | /** 4 | * Module dependencies. 5 | */ 6 | 7 | var app = require('../app'); 8 | var debug = require('debug')('server:server'); 9 | var http = require('http'); 10 | 11 | /** 12 | * Get port from environment and store in Express. 13 | */ 14 | 15 | var port = normalizePort(process.env.PORT || '3000'); 16 | app.set('port', port); 17 | 18 | /** 19 | * Create HTTP server. 20 | */ 21 | 22 | var server = http.createServer(app); 23 | 24 | /** 25 | * Listen on provided port, on all network interfaces. 26 | */ 27 | 28 | server.listen(port); 29 | server.on('error', onError); 30 | server.on('listening', onListening); 31 | 32 | /** 33 | * Normalize a port into a number, string, or false. 34 | */ 35 | 36 | function normalizePort(val) { 37 | var port = parseInt(val, 10); 38 | 39 | if (isNaN(port)) { 40 | // named pipe 41 | return val; 42 | } 43 | 44 | if (port >= 0) { 45 | // port number 46 | return port; 47 | } 48 | 49 | return false; 50 | } 51 | 52 | /** 53 | * Event listener for HTTP server "error" event. 54 | */ 55 | 56 | function onError(error) { 57 | if (error.syscall !== 'listen') { 58 | throw error; 59 | } 60 | 61 | var bind = typeof port === 'string' 62 | ? 'Pipe ' + port 63 | : 'Port ' + port; 64 | 65 | // handle specific listen errors with friendly messages 66 | switch (error.code) { 67 | case 'EACCES': 68 | console.error(bind + ' requires elevated privileges'); 69 | process.exit(1); 70 | break; 71 | case 'EADDRINUSE': 72 | console.error(bind + ' is already in use'); 73 | process.exit(1); 74 | break; 75 | default: 76 | throw error; 77 | } 78 | } 79 | 80 | /** 81 | * Event listener for HTTP server "listening" event. 82 | */ 83 | 84 | function onListening() { 85 | var addr = server.address(); 86 | var bind = typeof addr === 'string' 87 | ? 'pipe ' + addr 88 | : 'port ' + addr.port; 89 | debug('Listening on ' + bind); 90 | } 91 | -------------------------------------------------------------------------------- /jsonData/jquery-mobile.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-mobile", 3 | "title": "jQuery Mobile", 4 | "description": "Touch-Optimized Web Framework for Smartphones & Tablets", 5 | "version": "1.5.0-pre", 6 | "homepage": "http://jquerymobile.com", 7 | "author": { 8 | "name": "jQuery Foundation Inc. and other contributors", 9 | "url": "https://github.com/jquery/jquery-mobile/blob/master/AUTHORS.txt" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/jquery/jquery-mobile.git" 14 | }, 15 | "bugs": "https://github.com/jquery/jquery-mobile/issues", 16 | "licenses": [ 17 | { 18 | "type": "MIT", 19 | "url": "https://github.com/jquery/jquery-mobile/blob/master/LICENSE.txt" 20 | } 21 | ], 22 | "dependencies": { 23 | "jquery": ">=1.8.3" 24 | }, 25 | "devDependencies": { 26 | "async": "0.2.9", 27 | "casperjs": "1.1.0-beta3", 28 | "cheerio": "0.12.4", 29 | "commitplease": "2.0.0", 30 | "grunt": "0.4.2", 31 | "grunt-bowercopy": "0.5.0", 32 | "grunt-casper": "0.3.2", 33 | "grunt-contrib-clean": "0.5.0", 34 | "grunt-contrib-compress": "0.5.2", 35 | "grunt-contrib-concat": "0.3.0", 36 | "grunt-contrib-connect": "0.3.0", 37 | "grunt-contrib-copy": "0.4.1", 38 | "grunt-contrib-cssmin": "0.6.1", 39 | "grunt-contrib-jshint": "0.6.3", 40 | "grunt-contrib-requirejs": "0.4.1", 41 | "grunt-contrib-uglify": "0.2.6", 42 | "grunt-coveralls": "0.3.0", 43 | "grunt-git-authors": "2.0.0", 44 | "grunt-hash-manifest": "0.5.1", 45 | "grunt-php": "0.3.2", 46 | "grunt-qunit-istanbul": "0.3.0", 47 | "grunt-qunit-junit": "0.1.0-alpha2", 48 | "jsdom": "0.8.3", 49 | "load-grunt-tasks": "0.3.0", 50 | "optimist": "0.6.0", 51 | "requirejs": "2.1.8", 52 | "underscore": "1.5.2", 53 | "xmlhttprequest": "1.6.0" 54 | }, 55 | "main": "Gruntfile.js", 56 | "engines": { 57 | "node": ">= 0.8.0" 58 | }, 59 | "scripts": { 60 | "ci": "grunt test coveralls crawl", 61 | "test": "grunt test", 62 | "lint": "grunt jshint" 63 | }, 64 | "keywords": [] 65 | } 66 | -------------------------------------------------------------------------------- /jsonData/Modernizr.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "modernizr", 3 | "version": "3.0.0-alpha.3", 4 | "description": "Modernizr is a JavaScript library that detects HTML5 and CSS3 features in the user’s browser.", 5 | "directories": { 6 | "test": "test" 7 | }, 8 | "dependencies": { 9 | "file": "^0.2.2", 10 | "find-parent-dir": "^0.3.0", 11 | "lodash": "^3.1.0", 12 | "marked": "^0.2.8", 13 | "mkdirp": "^0.5.0", 14 | "requirejs": "^2.1.16", 15 | "yargs": "^2.3.0" 16 | }, 17 | "devDependencies": { 18 | "expect.js": "^0.3.1", 19 | "grunt": "~0.4.0", 20 | "grunt-contrib-clean": "~0.4.0", 21 | "grunt-contrib-connect": "~0.5.0", 22 | "grunt-contrib-copy": "^0.8.0", 23 | "grunt-contrib-jade": "^0.14.1", 24 | "grunt-contrib-jshint": "^0.11.0", 25 | "grunt-env": "^0.4.2", 26 | "grunt-istanbul": "^0.4.0", 27 | "grunt-mocha": "^0.4.11", 28 | "grunt-mocha-test": "^0.12.7", 29 | "grunt-saucelabs": "^8.6.0", 30 | "joi": "^5.1.0", 31 | "jquery": "^1.11.2", 32 | "json3": "^3.3.2", 33 | "load-grunt-tasks": "~0.2.1", 34 | "proxyquire": "^1.3.1" 35 | }, 36 | "scripts": { 37 | "test": "grunt test --stack" 38 | }, 39 | "main": "./lib/cli", 40 | "bin": "./bin/modernizr", 41 | "repository": { 42 | "type": "git", 43 | "url": "git://github.com/Modernizr/Modernizr.git" 44 | }, 45 | "bugs": { 46 | "url": "https://github.com/Modernizr/Modernizr/issues" 47 | }, 48 | "keywords": [ 49 | "html5", 50 | "css3", 51 | "browser", 52 | "feature detection" 53 | ], 54 | "author": { 55 | "name": "Modernizr", 56 | "url": "http://modernizr.com/" 57 | }, 58 | "contributors": [ 59 | { "name": "Faruk Ates" }, 60 | { "name": "Paul Irish" }, 61 | { "name": "Alex Sexton" }, 62 | { "name": "Ryan Seddon" }, 63 | { "name": "Alexander Farkas" }, 64 | { "name": "Patrick Kettner" }, 65 | { "name": "Stu Cox" }, 66 | { "name": "Richard Herrera" } 67 | ], 68 | "license": "MIT" 69 | } 70 | -------------------------------------------------------------------------------- /jsonData/gaia.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gaia", 3 | "private": true, 4 | "version": "0.0.2", 5 | "description": "A bundle of components which Gaia needs.", 6 | "author": "The Gaia Team ", 7 | "devDependencies": { 8 | "async": "0.2.9", 9 | "adm-zip": "0.4.3", 10 | "chai": "1.9.1", 11 | "dateformat": "1.0.6-1.2.3", 12 | "debug": "*", 13 | "download": "0.1.7", 14 | "ecstatic": "0.5.4", 15 | "ejs": "0.8.4", 16 | "empty-port": "~0.0.1", 17 | "fe.js": "~0.1.4", 18 | "ffi-prebuilt": "~1.2.6", 19 | "gaia-raptor": "1.0.0", 20 | "grunt": "0.4.2", 21 | "grunt-contrib-clean": "0.5.0", 22 | "grunt-jsdoc": "0.5.1", 23 | "istanbul": "^0.3.2", 24 | "jshint": "2.6.0", 25 | "load-grunt-tasks": "0.4.0", 26 | "mail-fakeservers": "0.0.24", 27 | "marionette-apps": "0.3.12", 28 | "marionette-client": "1.5.8", 29 | "marionette-content-script": "0.0.4", 30 | "marionette-device-host": "0.1.0", 31 | "marionette-file-manager": "0.0.4", 32 | "marionette-helper": "~0.3.1", 33 | "marionette-plugin-forms": "0.0.3", 34 | "marionette-profile-builder": "0.0.4", 35 | "marionette-js-runner": "0.6.0", 36 | "marionette-settings-api": "~0.1.0", 37 | "mocha": "1.20.0", 38 | "mocha-json-proxy": "~0.0.7", 39 | "mocha-parallel": "0.1.0", 40 | "mocha-tbpl-reporter": "0.2.1", 41 | "moment": "~2.4.0", 42 | "mozilla-download": "~0.4.4", 43 | "proxyquire": "~0.4", 44 | "node-static": "0.6.9", 45 | "q": "~0.9.7", 46 | "request": "2.33.0", 47 | "restify": "2.8.1", 48 | "rimraf": "2.2.5", 49 | "test-agent": "0.28.2", 50 | "watch": "~0.9.0", 51 | "archiver": "^0.10.0", 52 | "mime": "^1.2.11", 53 | "slugid": "^1.0.2" 54 | }, 55 | "dependencies": { 56 | "diveSync": "^0.2.1", 57 | "esprima": "^2.0.0", 58 | "fs-extra": "^0.16.3", 59 | "is-running": "^1.0.5", 60 | "js-yaml": "^3.2.2", 61 | "jsdom-nogyp": "^0.8.3", 62 | "json-templater": "^1.0.1", 63 | "jszip": "^2.4.0", 64 | "node-uuid": "^1.4.2", 65 | "yargs": "^1.3.2" 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /jsonData/jquery.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery", 3 | "title": "jQuery", 4 | "description": "JavaScript library for DOM operations", 5 | "version": "3.0.0-pre", 6 | "main": "dist/jquery.js", 7 | "homepage": "http://jquery.com", 8 | "author": { 9 | "name": "jQuery Foundation and other contributors", 10 | "url": "https://github.com/jquery/jquery/blob/master/AUTHORS.txt" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/jquery/jquery.git" 15 | }, 16 | "keywords": [ 17 | "jquery", 18 | "javascript", 19 | "browser", 20 | "library" 21 | ], 22 | "bugs": { 23 | "url": "https://github.com/jquery/jquery/issues" 24 | }, 25 | "licenses": [ 26 | { 27 | "type": "MIT", 28 | "url": "https://github.com/jquery/jquery/blob/master/LICENSE.txt" 29 | } 30 | ], 31 | "dependencies": {}, 32 | "devDependencies": { 33 | "commitplease": "2.0.0", 34 | "grunt": "0.4.5", 35 | "grunt-cli": "0.1.13", 36 | "grunt-compare-size": "0.4.0", 37 | "grunt-contrib-jshint": "0.10.0", 38 | "grunt-contrib-uglify": "0.7.0", 39 | "grunt-contrib-watch": "0.6.1", 40 | "grunt-git-authors": "2.0.1", 41 | "grunt-jscs-checker": "0.8.1", 42 | "grunt-jsonlint": "1.0.4", 43 | "grunt-npmcopy": "0.1.0", 44 | "gzip-js": "0.3.2", 45 | "jsdom": "1.5.0", 46 | "load-grunt-tasks": "1.0.0", 47 | "npm": "2.1.12", 48 | "qunitjs": "1.17.1", 49 | "requirejs": "2.1.15", 50 | "sinon": "1.12.2", 51 | "sizzle": "2.1.1", 52 | "testswarm": "1.1.0" 53 | }, 54 | "scripts": { 55 | "build": "npm install && grunt", 56 | "start": "grunt watch", 57 | "test": "grunt && grunt test" 58 | }, 59 | "commitplease": { 60 | "components": [ 61 | "Docs", 62 | "Tests", 63 | "Build", 64 | "Release", 65 | "Core", 66 | "Ajax", 67 | "Attributes", 68 | "Callbacks", 69 | "CSS", 70 | "Data", 71 | "Deferred", 72 | "Dimensions", 73 | "Effects", 74 | "Event", 75 | "Manipulation", 76 | "Offset", 77 | "Queue", 78 | "Selector", 79 | "Serialize", 80 | "Traversing", 81 | "Wrap" 82 | ] 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /jsonData/jquery-ui.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jquery-ui", 3 | "title": "jQuery UI", 4 | "description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.", 5 | "version": "1.12.0-pre", 6 | "homepage": "http://jqueryui.com", 7 | "author": { 8 | "name": "jQuery Foundation and other contributors", 9 | "url": "https://github.com/jquery/jquery-ui/blob/master/AUTHORS.txt" 10 | }, 11 | "maintainers": [ 12 | { 13 | "name": "Scott González", 14 | "email": "scott.gonzalez@gmail.com", 15 | "url": "http://scottgonzalez.com" 16 | }, 17 | { 18 | "name": "Jörn Zaefferer", 19 | "email": "joern.zaefferer@gmail.com", 20 | "url": "http://bassistance.de" 21 | }, 22 | { 23 | "name": "Mike Sherov", 24 | "email": "mike.sherov@gmail.com", 25 | "url": "http://mike.sherov.com" 26 | }, 27 | { 28 | "name": "TJ VanToll", 29 | "email": "tj.vantoll@gmail.com", 30 | "url": "http://tjvantoll.com" 31 | }, 32 | { 33 | "name": "Felix Nagel", 34 | "email": "info@felixnagel.com", 35 | "url": "http://www.felixnagel.com" 36 | }, 37 | { 38 | "name": "Alex Schmitz", 39 | "email": "arschmitz@gmail.com", 40 | "url": "https://github.com/arschmitz" 41 | } 42 | ], 43 | "repository": { 44 | "type": "git", 45 | "url": "git://github.com/jquery/jquery-ui.git" 46 | }, 47 | "bugs": "http://bugs.jqueryui.com/", 48 | "licenses": [ 49 | { 50 | "type": "MIT", 51 | "url": "https://github.com/jquery/jquery-ui/blob/master/LICENSE.txt" 52 | } 53 | ], 54 | "scripts": { 55 | "test": "grunt" 56 | }, 57 | "dependencies": {}, 58 | "devDependencies": { 59 | "commitplease": "2.0.0", 60 | "grunt": "0.4.2", 61 | "grunt-bowercopy": "1.1.0", 62 | "grunt-compare-size": "0.4.0", 63 | "grunt-contrib-concat": "0.1.3", 64 | "grunt-contrib-csslint": "0.2.0", 65 | "grunt-contrib-jshint": "0.7.1", 66 | "grunt-contrib-qunit": "0.4.0", 67 | "grunt-contrib-uglify": "0.1.1", 68 | "grunt-esformatter": "0.2.0", 69 | "grunt-git-authors": "2.0.0", 70 | "grunt-html": "1.0.0", 71 | "grunt-jscs": "0.6.2", 72 | "load-grunt-tasks": "0.3.0", 73 | "rimraf": "2.1.4", 74 | "testswarm": "1.1.0" 75 | }, 76 | "keywords": [] 77 | } 78 | -------------------------------------------------------------------------------- /jsonData/less.js.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "less", 3 | "version": "2.4.0", 4 | "description": "Leaner CSS", 5 | "homepage": "http://lesscss.org", 6 | "author": { 7 | "name": "Alexis Sellier", 8 | "email": "self@cloudhead.net" 9 | }, 10 | "contributors": [ 11 | "The Core Less Team" 12 | ], 13 | "bugs": { 14 | "url": "https://github.com/less/less.js/issues" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "https://github.com/less/less.js.git" 19 | }, 20 | "licenses": [ 21 | { 22 | "type": "Apache v2", 23 | "url": "https://github.com/less/less.js/blob/master/LICENSE" 24 | } 25 | ], 26 | "bin": { 27 | "lessc": "./bin/lessc" 28 | }, 29 | "main": "index", 30 | "directories": { 31 | "test": "./test" 32 | }, 33 | "jam": { 34 | "main": "./dist/less.js" 35 | }, 36 | "engines": { 37 | "node": ">=0.10.0" 38 | }, 39 | "scripts": { 40 | "test": "grunt test" 41 | }, 42 | "optionalDependencies": { 43 | "errno": "^0.1.1", 44 | "graceful-fs": "^3.0.5", 45 | "image-size": "~0.3.5", 46 | "mime": "^1.2.11", 47 | "mkdirp": "^0.5.0", 48 | "promise": "^6.0.1", 49 | "request": "^2.51.0", 50 | "source-map": "^0.2.0" 51 | }, 52 | "devDependencies": { 53 | "diff": "^1.0", 54 | "grunt": "^0.4.5", 55 | "grunt-contrib-clean": "^0.6.0", 56 | "grunt-contrib-concat": "^0.5.0", 57 | "grunt-contrib-connect": "^0.9.0", 58 | "grunt-contrib-jasmine": "^0.8.2", 59 | "grunt-contrib-jshint": "^0.11.0", 60 | "grunt-contrib-uglify": "^0.7.0", 61 | "grunt-jscs": "^1.2.0", 62 | "grunt-shell": "^1.1.1", 63 | "grunt-browserify": "~3.3.0", 64 | "jit-grunt": "^0.9.1", 65 | "time-grunt": "^1.0.0", 66 | "grunt-saucelabs": "^8.3.2" 67 | }, 68 | "keywords": [ 69 | "compile less", 70 | "css nesting", 71 | "css variable", 72 | "css", 73 | "gradients css", 74 | "gradients css3", 75 | "less compiler", 76 | "less css", 77 | "less mixins", 78 | "less", 79 | "less.js", 80 | "lesscss", 81 | "mixins", 82 | "nested css", 83 | "parser", 84 | "preprocessor", 85 | "bootstrap css", 86 | "bootstrap less", 87 | "style", 88 | "styles", 89 | "stylesheet", 90 | "variables in css", 91 | "css less" 92 | ] 93 | } 94 | -------------------------------------------------------------------------------- /jsonData/bower.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bower", 3 | "version": "1.3.12", 4 | "description": "The browser package manager", 5 | "author": "Twitter", 6 | "licenses": [ 7 | { 8 | "type": "MIT", 9 | "url": "https://github.com/bower/bower/blob/master/LICENSE" 10 | } 11 | ], 12 | "repository": "bower/bower", 13 | "main": "lib", 14 | "homepage": "http://bower.io", 15 | "engines": { 16 | "node": ">=0.10.0" 17 | }, 18 | "dependencies": { 19 | "abbrev": "^1.0.5", 20 | "archy": "1.0.0", 21 | "bower-config": "^0.5.2", 22 | "bower-endpoint-parser": "^0.2.2", 23 | "bower-json": "^0.4.0", 24 | "bower-logger": "^0.2.2", 25 | "bower-registry-client": "^0.2.1", 26 | "cardinal": "0.4.4", 27 | "chalk": "^1.0.0", 28 | "chmodr": "0.1.0", 29 | "decompress-zip": "^0.1.0", 30 | "fstream": "^1.0.3", 31 | "fstream-ignore": "^1.0.2", 32 | "glob": "^4.3.2", 33 | "graceful-fs": "^3.0.5", 34 | "handlebars": "^2.0.0", 35 | "inquirer": "0.8.0", 36 | "insight": "^0.5.0", 37 | "is-root": "^1.0.0", 38 | "junk": "^1.0.0", 39 | "lockfile": "^1.0.0", 40 | "lru-cache": "^2.5.0", 41 | "mkdirp": "0.5.0", 42 | "mout": "^0.11.0", 43 | "nopt": "^3.0.1", 44 | "opn": "^1.0.1", 45 | "p-throttler": "0.1.1", 46 | "promptly": "0.2.0", 47 | "q": "^1.1.2", 48 | "request": "^2.51.0", 49 | "request-progress": "0.3.1", 50 | "retry": "0.6.1", 51 | "rimraf": "^2.2.8", 52 | "semver": "^2.3.0", 53 | "shell-quote": "^1.4.2", 54 | "stringify-object": "^1.0.0", 55 | "tar-fs": "^1.4.1", 56 | "tmp": "0.0.24", 57 | "update-notifier": "^0.3.0", 58 | "user-home": "^1.1.0", 59 | "which": "^1.0.8" 60 | }, 61 | "devDependencies": { 62 | "chai": "^1.10.0", 63 | "coveralls": "^2.11.2", 64 | "expect.js": "^0.3.1", 65 | "grunt": "^0.4.5", 66 | "grunt-cli": "^0.1.13", 67 | "grunt-contrib-jshint": "^0.10.0", 68 | "grunt-contrib-watch": "^0.6.1", 69 | "grunt-exec": "^0.4.6", 70 | "grunt-simple-mocha": "^0.4.0", 71 | "istanbul": "^0.3.5", 72 | "load-grunt-tasks": "^2.0.0", 73 | "mocha": "^2.1.0", 74 | "multiline": "^1.0.2", 75 | "nock": "^0.56.0", 76 | "node-uuid": "^1.4.2", 77 | "proxyquire": "^1.3.0" 78 | }, 79 | "scripts": { 80 | "test": "grunt test" 81 | }, 82 | "bin": { 83 | "bower": "bin/bower" 84 | }, 85 | "preferGlobal": true 86 | } 87 | -------------------------------------------------------------------------------- /jsonData/angular.js.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "angularjs", 3 | "branchVersion": "^1.4.0-beta.0", 4 | "branchPattern": "1.4.*", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/angular/angular.js.git" 8 | }, 9 | "engines": { 10 | "node": "~0.10", 11 | "npm": "~2.5" 12 | }, 13 | "engineStrict": true, 14 | "devDependencies": { 15 | "angular-benchpress": "0.x.x", 16 | "benchmark": "1.x.x", 17 | "bower": "~1.3.9", 18 | "browserstacktunnel-wrapper": "~1.3.1", 19 | "canonical-path": "0.0.2", 20 | "cheerio": "^0.17.0", 21 | "dgeni": "^0.4.0", 22 | "dgeni-packages": "^0.10.0", 23 | "event-stream": "~3.1.0", 24 | "grunt": "~0.4.2", 25 | "grunt-bump": "~0.0.13", 26 | "grunt-contrib-clean": "~0.6.0", 27 | "grunt-contrib-compress": "~0.12.0", 28 | "grunt-contrib-connect": "~0.8.0", 29 | "grunt-contrib-copy": "~0.6.0", 30 | "grunt-contrib-jshint": "~0.10.0", 31 | "grunt-ddescribe-iit": "~0.0.1", 32 | "grunt-jasmine-node": "git://github.com/vojtajina/grunt-jasmine-node.git#fix-grunt-exit-code", 33 | "grunt-jscs": "~1.2.0", 34 | "grunt-merge-conflict": "~0.0.1", 35 | "grunt-shell": "~1.1.1", 36 | "gulp": "~3.8.0", 37 | "gulp-concat": "^2.4.1", 38 | "gulp-foreach": "0.0.1", 39 | "gulp-jshint": "~1.4.2", 40 | "gulp-rename": "^1.2.0", 41 | "gulp-sourcemaps": "^1.2.2", 42 | "gulp-uglify": "^1.0.1", 43 | "gulp-util": "^3.0.1", 44 | "jasmine-node": "~1.14.5", 45 | "jasmine-reporters": "~1.0.1", 46 | "jshint-stylish": "~1.0.0", 47 | "karma": "0.12.32", 48 | "karma-browserstack-launcher": "0.1.2", 49 | "karma-chrome-launcher": "0.1.5", 50 | "karma-firefox-launcher": "0.1.3", 51 | "karma-jasmine": "0.1.5", 52 | "karma-junit-reporter": "0.2.2", 53 | "karma-ng-scenario": "0.1.0", 54 | "karma-sauce-launcher": "0.2.10", 55 | "karma-script-launcher": "0.1.0", 56 | "load-grunt-tasks": "~0.6.0", 57 | "lodash": "~2.4.1", 58 | "marked": "~0.3.0", 59 | "node-html-encoder": "0.0.2", 60 | "promises-aplus-tests": "~2.1.0", 61 | "protractor": "^1.6.0", 62 | "q": "~1.0.0", 63 | "q-io": "^1.10.9", 64 | "qq": "^0.3.5", 65 | "rewire": "~2.1.0", 66 | "semver": "~4.0.3", 67 | "shelljs": "~0.3.0", 68 | "sorted-object": "^1.0.0", 69 | "stringmap": "^0.2.2" 70 | }, 71 | "licenses": [ 72 | { 73 | "type": "MIT", 74 | "url": "https://github.com/angular/angular.js/blob/master/LICENSE" 75 | } 76 | ], 77 | "dependencies": {} 78 | } 79 | -------------------------------------------------------------------------------- /node.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var childProcess = require('child_process'); 3 | var CronJob = require('cron').CronJob; 4 | var obj = {}; 5 | 6 | /* Set cronjob to run every 2.5 mins - 5 mins */ 7 | // try { 8 | // var job = new CronJob('*/5 * * * * *', function() { 9 | 10 | // count++; 11 | 12 | // if(count === limit){ 13 | // job.stop(); 14 | // } 15 | 16 | // }); 17 | // } catch(ex) { 18 | // console.log('cron pattern not valid'); 19 | // } 20 | 21 | ////Have a cronjob that runs once a day 22 | //var job = new CronJob('00 00 0 * * *', function(){ 23 | // getRepos(); - get the top 100 most forked JS repos 24 | //}, null, true); 25 | //need to exports parsed data script and require 26 | //need to seperate database actions? from parse have require to parse 27 | //register app with git https://developer.github.com/guides/basics-of-authentication/ 28 | //Implementing “persistent” authentication 29 | 30 | 31 | 32 | /* Get the top 100 most forked JS repos */ 33 | childProcess.exec('curl "https://api.github.com/search/repositories?page=1&per_page=100&q=+language:Javascript&sort=forks&order=desc" > top100ForkedJSRepos.txt', function(error, stdout, stderr){ 34 | if(error != null){ 35 | console.log('exec error: ', error); 36 | } 37 | else{ 38 | console.log('Saved to top100ForkedJSRepos.txt\n'); 39 | readObjects(); 40 | } 41 | }); 42 | 43 | /* Read output from file and parse and store in JSOn objext */ 44 | function readObjects(){ 45 | obj = JSON.parse(fs.readFileSync('top100ForkedJSRepos.txt', 'utf8')); 46 | parseData(); 47 | } 48 | 49 | /* Read in 100 js file and perform get request to package.json and bower.json contents */ 50 | function parseData(){ 51 | for(var i = 0; i < 100; i++){ 52 | childProcess.exec('curl "https://raw.githubusercontent.com/' + obj.items[i].full_name + '/master/package.json" > dependency-files/'+ obj.items[i].name + '.package.json.txt', function(error, stdout, stderr){ 53 | if(error != null){ 54 | console.log('exec error: ', error); 55 | } 56 | else{ 57 | console.log('\nSaved contents file '); 58 | } 59 | }); 60 | 61 | childProcess.exec('curl "https://raw.githubusercontent.com/' + obj.items[i].full_name + '/master/bower.json" > dependency-files/' + obj.items[i].name + '.bower.json.txt', function(error, stdout, stderr){ 62 | if(error != null){ 63 | console.log('exec error: ', error); 64 | } 65 | else{ 66 | console.log('\nSaved contents file '); 67 | } 68 | }); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /parser/parser.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /jsonData/jQuery-File-Upload.bower.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "blueimp-file-upload", 3 | "version": "9.9.3", 4 | "title": "jQuery File Upload", 5 | "description": "File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.", 6 | "keywords": [ 7 | "jquery", 8 | "file", 9 | "upload", 10 | "widget", 11 | "multiple", 12 | "selection", 13 | "drag", 14 | "drop", 15 | "progress", 16 | "preview", 17 | "cross-domain", 18 | "cross-site", 19 | "chunk", 20 | "resume", 21 | "gae", 22 | "go", 23 | "python", 24 | "php", 25 | "bootstrap" 26 | ], 27 | "homepage": "https://github.com/blueimp/jQuery-File-Upload", 28 | "author": { 29 | "name": "Sebastian Tschan", 30 | "url": "https://blueimp.net" 31 | }, 32 | "maintainers": [ 33 | { 34 | "name": "Sebastian Tschan", 35 | "url": "https://blueimp.net" 36 | } 37 | ], 38 | "repository": { 39 | "type": "git", 40 | "url": "git://github.com/blueimp/jQuery-File-Upload.git" 41 | }, 42 | "bugs": "https://github.com/blueimp/jQuery-File-Upload/issues", 43 | "licenses": [ 44 | { 45 | "type": "MIT", 46 | "url": "http://www.opensource.org/licenses/MIT" 47 | } 48 | ], 49 | "dependencies": { 50 | "jquery": ">=1.6", 51 | "blueimp-tmpl": ">=2.5.4", 52 | "blueimp-load-image": ">=1.13.0", 53 | "blueimp-canvas-to-blob": ">=2.1.1" 54 | }, 55 | "main": [ 56 | "css/jquery.fileupload.css", 57 | "css/jquery.fileupload-ui.css", 58 | "css/jquery.fileupload-noscript.css", 59 | "css/jquery.fileupload-ui-noscript.css", 60 | "js/cors/jquery.postmessage-transport.js", 61 | "js/cors/jquery.xdr-transport.js", 62 | "js/vendor/jquery.ui.widget.js", 63 | "js/jquery.fileupload.js", 64 | "js/jquery.fileupload-process.js", 65 | "js/jquery.fileupload-validate.js", 66 | "js/jquery.fileupload-image.js", 67 | "js/jquery.fileupload-audio.js", 68 | "js/jquery.fileupload-video.js", 69 | "js/jquery.fileupload-ui.js", 70 | "js/jquery.fileupload-jquery-ui.js", 71 | "js/jquery.fileupload-angular.js", 72 | "js/jquery.iframe-transport.js" 73 | ], 74 | "ignore": [ 75 | "/*.*", 76 | "/cors", 77 | "css/demo-ie8.css", 78 | "css/demo.css", 79 | "css/style.css", 80 | "js/app.js", 81 | "js/main.js", 82 | "server", 83 | "test" 84 | ] 85 | } 86 | -------------------------------------------------------------------------------- /jsonData/fine-uploader.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fine-uploader", 3 | "title": "Fine Uploader", 4 | "version": "5.1.3", 5 | "description": "Multiple file upload component with progress-bar, drag-and-drop, support for all modern browsers.", 6 | "main": "./fine-uploader/js/fineuploader.js", 7 | "maintainers": [ 8 | "Ray Nicholus ", 9 | "Mark Feltner " 10 | ], 11 | "directories": { 12 | "doc": "docs", 13 | "lib": "client", 14 | "test": "test" 15 | }, 16 | "scripts": { 17 | "build": "grunt package" 18 | }, 19 | "keywords": [ 20 | "jquery-plugin", 21 | "upload", 22 | "file", 23 | "chunking", 24 | "file-uploader", 25 | "input", 26 | "jquery", 27 | "file", 28 | "upload", 29 | "widget", 30 | "multiple", 31 | "selection", 32 | "drag", 33 | "drop", 34 | "progress", 35 | "preview", 36 | "cross-domain", 37 | "cross-site", 38 | "chunk", 39 | "resume" 40 | ], 41 | "repository": { 42 | "type": "git", 43 | "url": "git://github.com/Widen/fine-uploader.git" 44 | }, 45 | "author": "Widen Enterprises, Inc.", 46 | "licenses": [ 47 | { 48 | "type": "Widen Commerical License", 49 | "url": "https://raw.githubusercontent.com/FineUploader/fine-uploader/master/LICENSE" 50 | } 51 | ], 52 | "bugs": { 53 | "url": "https://github.com/Widen/fine-uploader/issues" 54 | }, 55 | "devDependencies": { 56 | "async": "0.2.9", 57 | "glob": "3.2.6", 58 | "grunt": "^0.4.5", 59 | "grunt-aws-s3": "^0.10.0", 60 | "grunt-banner": "0.2.0", 61 | "grunt-contrib-clean": "0.4.1", 62 | "grunt-contrib-compress": "0.5.2", 63 | "grunt-contrib-concat": "0.3.0", 64 | "grunt-contrib-copy": "0.4.1", 65 | "grunt-contrib-cssmin": "0.6.1", 66 | "grunt-contrib-jshint": "0.7.1", 67 | "grunt-contrib-uglify": "0.2.2", 68 | "grunt-contrib-watch": "0.4.4", 69 | "grunt-jscs": "^0.7.1", 70 | "grunt-karma": "0.6.2", 71 | "grunt-nodestatic": "0.1.2", 72 | "grunt-open": "0.2.2", 73 | "grunt-shell": "0.3.1", 74 | "grunt-strip-code": "0.1.2", 75 | "grunt-version": "0.2.2", 76 | "karma": "0.10.10", 77 | "karma-firefox-launcher": "0.1.2", 78 | "karma-ievms": "0.0.4", 79 | "karma-mocha": "0.1.0", 80 | "karma-opera-launcher": "0.1.0", 81 | "karma-safari-launcher": "0.1.1", 82 | "karma-spec-reporter": "0.0.13", 83 | "npm": "^2.1.17", 84 | "optimist": "0.6.0", 85 | "request": "2.21.0", 86 | "semver": "2.0.x", 87 | "time-grunt": "^1.0.0", 88 | "underscore": "1.5.2", 89 | "uuid": "1.4.1" 90 | }, 91 | "dependencies": {} 92 | } 93 | -------------------------------------------------------------------------------- /jsonData/moment.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "moment", 3 | "version": "2.9.0", 4 | "description": "Parse, validate, manipulate, and display dates", 5 | "homepage": "http://momentjs.com", 6 | "author": "Iskren Ivov Chernev (https://github.com/ichernev)", 7 | "contributors": [ 8 | "Tim Wood (http://timwoodcreates.com/)", 9 | "Rocky Meza (http://rockymeza.com)", 10 | "Matt Johnson (http://codeofmatt.com)", 11 | "Isaac Cambron (http://isaaccambron.com)", 12 | "Andre Polykanine (https://github.com/oire)" 13 | ], 14 | "keywords": [ 15 | "moment", 16 | "date", 17 | "time", 18 | "parse", 19 | "format", 20 | "validate", 21 | "i18n", 22 | "l10n", 23 | "ender" 24 | ], 25 | "main": "./moment.js", 26 | "engines": { 27 | "node": "*" 28 | }, 29 | "repository": { 30 | "type": "git", 31 | "url": "https://github.com/moment/moment.git" 32 | }, 33 | "bugs": { 34 | "url": "https://github.com/moment/moment/issues" 35 | }, 36 | "licenses": [ 37 | { 38 | "type": "MIT" 39 | } 40 | ], 41 | "devDependencies": { 42 | "uglify-js": "latest", 43 | "grunt": "latest", 44 | "nodeunit": "latest", 45 | "benchmark": "latest", 46 | "grunt-contrib-clean": "latest", 47 | "grunt-contrib-jshint": "latest", 48 | "grunt-contrib-nodeunit": "latest", 49 | "grunt-contrib-concat": "latest", 50 | "grunt-contrib-uglify": "latest", 51 | "grunt-contrib-watch": "latest", 52 | "grunt-env": "latest", 53 | "grunt-jscs": "latest", 54 | "grunt-karma": "latest", 55 | "grunt-nuget": "latest", 56 | "grunt-benchmark": "latest", 57 | "grunt-string-replace": "latest", 58 | "grunt-exec": "latest", 59 | "load-grunt-tasks": "latest", 60 | "karma": "latest", 61 | "karma-chrome-launcher": "latest", 62 | "karma-firefox-launcher": "latest", 63 | "karma-nodeunit": "latest", 64 | "karma-sauce-launcher": "latest", 65 | "spacejam": "latest" 66 | }, 67 | "scripts": { 68 | "test": "grunt test:node" 69 | }, 70 | "ender": "./ender.js", 71 | "dojoBuild": "package.js", 72 | "jspm": { 73 | "files": [ 74 | "moment.js", 75 | "locale" 76 | ], 77 | "map": { 78 | "moment": "./moment" 79 | }, 80 | "buildConfig": { 81 | "uglify": true 82 | } 83 | }, 84 | "spm": { 85 | "main": "moment.js", 86 | "output": [ 87 | "locale/*.js" 88 | ] 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /jsonData/jade.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jade", 3 | "description": "A clean, whitespace-sensitive template language for writing HTML", 4 | "version": "1.9.2", 5 | "author": "TJ Holowaychuk ", 6 | "maintainers": [ 7 | "Forbes Lindesay ", 8 | "Matthias Le Brun ", 9 | "Joshua Appelman ", 10 | "Jonathan Ong ", 11 | "Alex Kocharin ", 12 | "Hemanth ", 13 | "Timothy Gu " 14 | ], 15 | "license": "MIT", 16 | "repository": { 17 | "type": "git", 18 | "url": "git://github.com/jadejs/jade" 19 | }, 20 | "main": "lib", 21 | "bin": { 22 | "jade": "./bin/jade.js" 23 | }, 24 | "dependencies": { 25 | "character-parser": "1.2.1", 26 | "commander": "~2.6.0", 27 | "constantinople": "~3.0.1", 28 | "mkdirp": "~0.5.0", 29 | "transformers": "2.1.0", 30 | "void-elements": "~2.0.1", 31 | "with": "~4.0.0" 32 | }, 33 | "devDependencies": { 34 | "coffee-script": "*", 35 | "coveralls": "^2.11.2", 36 | "mocha": "*", 37 | "istanbul": "*", 38 | "stylus": "*", 39 | "should": "*", 40 | "less": "<2.0.0", 41 | "uglify-js": "*", 42 | "browserify": "*", 43 | "linify": "*", 44 | "less-file": "0.0.9", 45 | "express": "~4.10.4", 46 | "browserify-middleware": "~4.1.0", 47 | "twbs": "0.0.6", 48 | "highlight-codemirror": "~4.1.0", 49 | "inconsolata": "0.0.2", 50 | "jade-code-mirror": "~1.0.5", 51 | "code-mirror": "~3.22.0", 52 | "handle": "~1.0.0", 53 | "jade-highlighter": "~1.0.5", 54 | "marked": "~0.3.3", 55 | "stop": "^3.0.0-rc1", 56 | "opener": "^1.3.0", 57 | "github-basic": "^4.1.2", 58 | "pull-request": "^3.0.0", 59 | "lsr": "^1.0.0", 60 | "rimraf": "^2.2.8" 61 | }, 62 | "component": { 63 | "scripts": { 64 | "jade": "runtime.js" 65 | } 66 | }, 67 | "scripts": { 68 | "test": "mocha -R spec", 69 | "precoverage": "rimraf coverage && rimraf cov-pt*", 70 | "coverage": "istanbul cover --report none --dir cov-pt0 node_modules/mocha/bin/_mocha -- -R dot", 71 | "postcoverage": "istanbul report --include cov-pt\\*/coverage.json && rimraf cov-pt*", 72 | "coveralls": "npm run coverage && cat ./coverage/lcov.info | coveralls", 73 | "prepublish": "npm prune && linify transform bin && npm run build", 74 | "build": "npm run compile", 75 | "compile": "npm run compile-full && npm run compile-runtime", 76 | "compile-full": "browserify ./lib/index.js --standalone jade -x ./node_modules/transformers > jade.js", 77 | "compile-runtime": "browserify ./lib/runtime.js --standalone jade > runtime.js" 78 | }, 79 | "browser": { 80 | "fs": false, 81 | "./lib/filters.js": "./lib/filters-client.js" 82 | }, 83 | "homepage": "http://jade-lang.com" 84 | } 85 | -------------------------------------------------------------------------------- /jsonData/express.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "express", 3 | "description": "Fast, unopinionated, minimalist web framework", 4 | "version": "4.12.2", 5 | "author": "TJ Holowaychuk ", 6 | "contributors": [ 7 | "Aaron Heckmann ", 8 | "Ciaran Jessup ", 9 | "Douglas Christopher Wilson ", 10 | "Guillermo Rauch ", 11 | "Jonathan Ong ", 12 | "Roman Shtylman ", 13 | "Young Jae Sim " 14 | ], 15 | "license": "MIT", 16 | "repository": "strongloop/express", 17 | "homepage": "http://expressjs.com/", 18 | "keywords": [ 19 | "express", 20 | "framework", 21 | "sinatra", 22 | "web", 23 | "rest", 24 | "restful", 25 | "router", 26 | "app", 27 | "api" 28 | ], 29 | "dependencies": { 30 | "accepts": "~1.2.4", 31 | "content-disposition": "0.5.0", 32 | "content-type": "~1.0.1", 33 | "cookie-signature": "1.0.6", 34 | "debug": "~2.1.1", 35 | "depd": "~1.0.0", 36 | "escape-html": "1.0.1", 37 | "etag": "~1.5.1", 38 | "finalhandler": "0.3.3", 39 | "fresh": "0.2.4", 40 | "merge-descriptors": "1.0.0", 41 | "methods": "~1.1.1", 42 | "on-finished": "~2.2.0", 43 | "parseurl": "~1.3.0", 44 | "path-to-regexp": "0.1.3", 45 | "proxy-addr": "~1.0.6", 46 | "qs": "2.3.3", 47 | "range-parser": "~1.0.2", 48 | "send": "0.12.1", 49 | "serve-static": "~1.9.1", 50 | "type-is": "~1.6.0", 51 | "vary": "~1.0.0", 52 | "cookie": "0.1.2", 53 | "utils-merge": "1.0.0" 54 | }, 55 | "devDependencies": { 56 | "after": "0.8.1", 57 | "ejs": "2.3.1", 58 | "istanbul": "0.3.6", 59 | "marked": "0.3.3", 60 | "mocha": "~2.1.0", 61 | "should": "~5.0.1", 62 | "supertest": "~0.15.0", 63 | "body-parser": "~1.12.0", 64 | "connect-redis": "~2.2.0", 65 | "cookie-parser": "~1.3.4", 66 | "express-session": "~1.10.3", 67 | "jade": "~1.9.2", 68 | "method-override": "~2.3.1", 69 | "morgan": "~1.5.1", 70 | "multiparty": "~4.1.1", 71 | "vhost": "~3.0.0" 72 | }, 73 | "engines": { 74 | "node": ">= 0.10.0" 75 | }, 76 | "files": [ 77 | "LICENSE", 78 | "History.md", 79 | "Readme.md", 80 | "index.js", 81 | "lib/" 82 | ], 83 | "scripts": { 84 | "test": "mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/", 85 | "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/ test/acceptance/", 86 | "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/ test/acceptance/", 87 | "test-tap": "mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/" 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /jsonData/mean.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mean", 3 | "description": "MEAN.io: A fullstack JavaScript framework powered by MongoDB, ExpressJS, AngularJS, NodeJS.", 4 | "version": "0.4.3", 5 | "private": false, 6 | "author": "Linnovate ", 7 | "contributors": "https://github.com/linnovate/mean/graphs/contributors", 8 | "mean": "0.4.3", 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/linnovate/mean.git" 12 | }, 13 | "engines": { 14 | "node": "0.10.x", 15 | "npm": "1.3.x" 16 | }, 17 | "scripts": { 18 | "start": "node server", 19 | "mocha": "node node_modules/.bin/mocha packages/**/server/tests/**/*.js -R spec -r tools/test/mocha-req.js", 20 | "karma": "node node_modules/karma/bin/karma start", 21 | "test": "grunt test", 22 | "postinstall": "node node_modules/meanio/node_modules/mean-cli/bin/mean-postinstall" 23 | }, 24 | "dependencies": { 25 | "grunt-cli": "^0.1.13", 26 | "grunt-hook": "~0.3.0", 27 | "grunt-concurrent": "^1.0.0", 28 | "grunt-contrib-clean": "^0.6.0", 29 | "grunt-contrib-csslint": "^0.3.1", 30 | "grunt-contrib-cssmin": "^0.10.0", 31 | "grunt-contrib-jshint": "^0.10.0", 32 | "grunt-contrib-uglify": "^0.5.1", 33 | "grunt-contrib-watch": "^0.6.1", 34 | "grunt-env": "^0.4.1", 35 | "grunt-nodemon": "^0.3.0", 36 | "time-grunt": "^1.0.0", 37 | "assetmanager": "1.1.2", 38 | "async": "0.9.0", 39 | "body-parser": "1.10.0", 40 | "compression": "1.2.1", 41 | "connect-flash": "0.1.1", 42 | "consolidate": "0.10.0", 43 | "cookie-parser": "1.3.3", 44 | "errorhandler": "1.3.0", 45 | "express": "4.11.1", 46 | "forever": "0.11.1", 47 | "gridfs-stream": "0.5.3", 48 | "lodash": "2.4.1", 49 | "load-grunt-tasks": "^0.6.0", 50 | "meanio": "linnovate/meanio", 51 | "mongoose": "3.8.21", 52 | "morgan": "1.5.0", 53 | "ms": "0.6.2", 54 | "nodemailer": "1.2.2", 55 | "passport-facebook": "1.0.3", 56 | "passport-github": "0.1.5", 57 | "passport-google-oauth": "0.1.5", 58 | "passport-linkedin": "0.1.3", 59 | "passport-local": "1.0.0", 60 | "passport-twitter": "1.0.2", 61 | "serve-favicon": "2.2.0", 62 | "swig": "1.4.2", 63 | "view-helpers": "0.1.5" 64 | }, 65 | "devDependencies": { 66 | "expect.js": "0.3.1", 67 | "grunt-karma": "0.8.3", 68 | "grunt-mocha-test": "0.10.2", 69 | "karma": "0.12.28", 70 | "karma-chrome-launcher": "0.1.7", 71 | "karma-coffee-preprocessor": "0.2.1", 72 | "karma-coverage": "0.2.7", 73 | "karma-firefox-launcher": "0.1.3", 74 | "karma-html2js-preprocessor": "0.1.0", 75 | "karma-jasmine": "0.2.3", 76 | "karma-ng-html2js-preprocessor": "0.1.2", 77 | "karma-ng-scenario": "0.1.0", 78 | "karma-phantomjs-launcher": "0.1.4", 79 | "karma-requirejs": "0.2.2", 80 | "karma-script-launcher": "0.1.0", 81 | "mocha": "2.1.0", 82 | "requirejs": "2.1.15", 83 | "supertest": "0.11.0", 84 | "del": "^0.1.3", 85 | "gulp": "^3.8.8", 86 | "gulp-concat": "^2.4.1", 87 | "gulp-csslint": "^0.1.5", 88 | "gulp-cssmin": "^0.1.6", 89 | "gulp-jshint": "^1.8.5", 90 | "gulp-less": "^1.3.6", 91 | "gulp-livereload": "^2.1.1", 92 | "gulp-load-plugins": "^0.7.0", 93 | "gulp-mocha": "^1.1.0", 94 | "gulp-nodemon": "^1.0.4", 95 | "gulp-rimraf": "^0.1.1", 96 | "gulp-uglify": "^1.0.1", 97 | "gulp-util": "^3.0.1", 98 | "jshint-stylish": "^1.0.0", 99 | "through": "^2.3.6" 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /parser/testParser.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | var dir= __dirname +'/../jsonData'; 3 | var repos = {}; 4 | var deps = {}; 5 | var Repos = require('../server/Models/repoModel'); 6 | var Dependencies = require('../server/Models/dependencyModel'); 7 | 8 | 9 | var readFiles = function() { 10 | var files = fs.readdirSync(dir); 11 | for(var j = 0; j < files.length; j++){ 12 | var file = files[j]; 13 | var data = {}; 14 | data[file] = JSON.parse(JSON.stringify(fs.readFileSync(dir+ '/' + file, 'utf8'))); 15 | var keys = Object.keys(data); 16 | var dependencies = []; 17 | var devdependencies = []; 18 | var temp = keys[0].split('.'); 19 | var gitName = temp.slice(0, temp.length-3).join('.'); 20 | if(JSON.stringify(data[keys[0]]).indexOf('Not Found') >= 0) { 21 | dependencies.push('Not Found'); 22 | devdependencies.push('Not Found'); 23 | } 24 | else 25 | { 26 | data = JSON.parse(data[keys[0]]); 27 | if(data['dependencies'] === undefined){ 28 | dependencies.push('Not Found'); 29 | } 30 | else 31 | { 32 | for(var dep in data['dependencies']){ 33 | if(dependencies.indexOf(dep) === -1){ 34 | dependencies.push(dep); 35 | } 36 | if(deps[dep] === undefined){ 37 | deps[dep] = []; 38 | } 39 | if(deps[dep].indexOf(gitName) === -1){ 40 | deps[dep].push(gitName); 41 | } 42 | } 43 | } 44 | if(data['devDependencies'] === undefined) 45 | { 46 | devdependencies.push('Not Found'); 47 | } 48 | else 49 | { 50 | for (var devdep in data['devDependencies']) { 51 | if(dependencies.indexOf(devdep) === -1){ 52 | dependencies.push(devdep); 53 | } 54 | if(deps[devdep] === undefined){ 55 | deps[devdep] = []; 56 | } 57 | if(deps[devdep].indexOf(gitName) === -1){ 58 | deps[devdep].push(gitName); 59 | } 60 | } 61 | } 62 | } 63 | repos[gitName] = dependencies.concat(devdependencies); 64 | }; 65 | }; 66 | 67 | 68 | 69 | var mongoose = require('mongoose'); 70 | var mongoURI = 'mongodb://localhost/meangit'; 71 | 72 | mongoose.connect(mongoURI); 73 | 74 | var db = mongoose.connection; 75 | db.on('error', console.error.bind(console, 'connection error:')); 76 | db.once('open', function(callback) { 77 | console.log('MONGODB CONNECTION OPEN'); 78 | readFiles(); 79 | //console.log(repos['mean']); 80 | console.log(deps); 81 | //console.log(Dependencies.find()); 82 | 83 | //Dependencies.find().exec(function(error, found){ 84 | // 85 | //} 86 | // 87 | //for(var i in deps){ 88 | // Dependencies.findOne({name: i}).exec(function(error, found){ 89 | // if(error) console.log('error: ', error); 90 | // if(found){ 91 | // console.log('!!!!!!!!!!! Already there !!!!!!!!!!!'); 92 | // }else{ 93 | // console.log('create new'); 94 | // var newDependency = new Dependencies({ 95 | // name: i, 96 | // repos: deps[i] 97 | // }); 98 | // 99 | // newDependency.save(function(error, newDependency){ 100 | // if(error) return console.error('creating new Dependency:', error); 101 | // dependencyID = newDependency._id; 102 | // //console.log('save: ', i); 103 | // }); 104 | // } 105 | // }); 106 | //} 107 | }); 108 | 109 | module.exports = db; 110 | 111 | //readFiles(); 112 | -------------------------------------------------------------------------------- /_PRESS-RELEASE.md: -------------------------------------------------------------------------------- 1 | # Project Name # 2 | 3 | 18 | 19 | ## Heading ## 20 | > Name the product in a way the reader (i.e. your target customers) will understand. 21 | 22 | ## Sub-Heading ## 23 | > Describe who the market for the product is and what benefit they get. One sentence only underneath the title. 24 | 25 | ## Summary ## 26 | > Give a summary of the product and the benefit. Assume the reader will not read anything else so make this paragraph good. 27 | 28 | ## Problem ## 29 | > Describe the problem your product solves. 30 | 31 | ## Solution ## 32 | > Describe how your product elegantly solves the problem. 33 | 34 | ## Quote from You ## 35 | > A quote from a spokesperson in your company. 36 | 37 | ## How to Get Started ## 38 | > Describe how easy it is to get started. 39 | 40 | ## Customer Quote ## 41 | > Provide a quote from a hypothetical customer that describes how they experienced the benefit. 42 | 43 | ## Closing and Call to Action ## 44 | > Wrap it up and give pointers where the reader should go next. 45 | -------------------------------------------------------------------------------- /jsonData/Ghost.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "ghost", 3 | "version" : "0.5.10", 4 | "description" : "Just a blogging platform.", 5 | "author" : "Ghost Foundation", 6 | "homepage" : "http://ghost.org", 7 | "keywords" : [ 8 | "ghost", 9 | "blog", 10 | "cms" 11 | ], 12 | "repository" : { 13 | "type": "git", 14 | "url": "git://github.com/TryGhost/Ghost.git" 15 | }, 16 | "bugs" : "https://github.com/TryGhost/Ghost/issues", 17 | "contributors": "https://github.com/TryGhost/Ghost/graphs/contributors", 18 | "licenses" : [ 19 | { 20 | "type": "MIT", 21 | "url": "https://raw.github.com/TryGhost/Ghost/master/LICENSE" 22 | } 23 | ], 24 | "main": "./core/index", 25 | "scripts": { 26 | "start": "node index", 27 | "test": "./node_modules/.bin/grunt validate --verbose" 28 | }, 29 | "engines": { 30 | "node": "~0.10.0 || ~0.12.0", 31 | "iojs": "~1.2.0" 32 | }, 33 | "engineStrict": true, 34 | "dependencies": { 35 | "bcryptjs": "2.0.2", 36 | "bluebird": "2.4.2", 37 | "body-parser": "1.10.0", 38 | "bookshelf": "0.7.9", 39 | "busboy": "0.2.9", 40 | "cheerio": "0.18.0", 41 | "colors": "0.6.2", 42 | "compression": "1.2.2", 43 | "connect-slashes": "1.3.0", 44 | "downsize": "0.0.8", 45 | "express": "4.12.0", 46 | "express-hbs": "0.7.11", 47 | "extract-zip": "1.0.3", 48 | "fs-extra": "0.13.0", 49 | "glob": "4.3.2", 50 | "html-to-text": "1.2.0", 51 | "knex": "0.7.3", 52 | "lodash": "2.4.1", 53 | "moment": "2.8.3", 54 | "morgan": "1.5.0", 55 | "node-uuid": "1.4.2", 56 | "nodemailer": "0.7.1", 57 | "oauth2orize": "1.0.1", 58 | "passport": "0.2.1", 59 | "passport-http-bearer": "1.0.1", 60 | "passport-oauth2-client-password": "0.1.2", 61 | "path-match": "1.2.2", 62 | "request": "2.51.0", 63 | "rss": "1.0.0", 64 | "semver": "4.1.0", 65 | "showdown-ghost": "0.3.4", 66 | "sqlite3": "3.0.5", 67 | "unidecode": "0.1.3", 68 | "validator": "3.28.0", 69 | "xml": "0.0.12" 70 | }, 71 | "optionalDependencies": { 72 | "mysql": "2.1.1", 73 | "pg": "4.1.1" 74 | }, 75 | "devDependencies": { 76 | "blanket": "~1.1.6", 77 | "bower": "~1.3.10", 78 | "grunt": "~0.4.5", 79 | "grunt-cli": "~0.1.13", 80 | "grunt-autoprefixer": "1.0.1", 81 | "grunt-concat-sourcemap": "~0.4.3", 82 | "grunt-contrib-clean": "~0.6.0", 83 | "grunt-contrib-compress": "~0.11.0", 84 | "grunt-contrib-concat": "~0.5.0", 85 | "grunt-contrib-copy": "~0.5.0", 86 | "grunt-contrib-jshint": "~0.10.0", 87 | "grunt-contrib-uglify": "~0.6.0", 88 | "grunt-contrib-watch": "~0.6.1", 89 | "grunt-docker": "~0.0.8", 90 | "grunt-ember-templates": "dgeb/grunt-ember-templates#88594c6", 91 | "grunt-es6-module-transpiler": "~0.6.0", 92 | "grunt-express-server": "~0.4.19", 93 | "grunt-jscs": "~1.2.0", 94 | "grunt-mocha-cli": "~1.11.0", 95 | "grunt-sass": "~0.18.0", 96 | "grunt-shell": "~1.1.1", 97 | "grunt-update-submodules": "~0.4.1", 98 | "matchdep": "~0.3.0", 99 | "nock": "0.52.4", 100 | "require-dir": "~0.1.0", 101 | "rewire": "~2.1.0", 102 | "should": "~4.4.2", 103 | "sinon": "~1.12.2", 104 | "supertest": "~0.15.0", 105 | "testem": "^0.6.23", 106 | "top-gh-contribs": "^1.0.0" 107 | } 108 | } 109 | -------------------------------------------------------------------------------- /jsonData/appium.package.json.txt: -------------------------------------------------------------------------------- 1 | { 2 | "name": "appium", 3 | "description": "Automation for Apps.", 4 | "tags": [ 5 | "automation", 6 | "javascript", 7 | "selenium", 8 | "webdriver", 9 | "ios", 10 | "android", 11 | "firefoxos", 12 | "testing" 13 | ], 14 | "version": "1.3.6", 15 | "author": "https://github.com/appium", 16 | "licenses": [ 17 | { 18 | "type": "apache-2.0", 19 | "url": "https://raw.github.com/appium/appium/master/LICENSE" 20 | } 21 | ], 22 | "repository": { 23 | "type": "git", 24 | "url": "https://github.com/appium/appium.git" 25 | }, 26 | "bugs": { 27 | "url": "https://github.com/appium/appium/issues" 28 | }, 29 | "engines": [ 30 | "node" 31 | ], 32 | "main": "./lib/server/main.js", 33 | "bin": { 34 | "appium": "./bin/appium.js", 35 | "appium-doctor": "./bin/appium-doctor.js", 36 | "authorize_ios": "./bin/authorize-ios.js" 37 | }, 38 | "directories": { 39 | "lib": "./lib", 40 | "doc": "./docs" 41 | }, 42 | "dependencies": { 43 | "adm-zip": "~0.4.7", 44 | "appium-adb": "=1.7.4", 45 | "appium-atoms": "=0.0.5", 46 | "appium-instruments": "=1.5.4", 47 | "appium-support": "=0.1.1", 48 | "appium-uiauto": "=1.10.6", 49 | "argparse": "~1.0.1", 50 | "async": "~0.9.0", 51 | "binary-cookies": "~0.1.1", 52 | "body-parser": "~1.12.0", 53 | "bplist-creator": "~0.0.4", 54 | "bplist-parser": "~0.0.6", 55 | "bufferpack": "0.0.6", 56 | "bytes": "~1.0.0", 57 | "camel-back-promise": "^1.0.0", 58 | "colors": "~1.0.3", 59 | "date-utils": "~1.2.16", 60 | "difflib": "~0.2.4", 61 | "express": "~4.11.2", 62 | "glob": "~4.4.0", 63 | "grunt": "~0.4.5", 64 | "grunt-cli": "~0.1.13", 65 | "js2xmlparser2": "~0.2.0", 66 | "md5calculator": "~0.0.3", 67 | "method-override": "~2.3.1", 68 | "mkdirp": "^0.5.0", 69 | "morgan": "~1.5.1", 70 | "mv": "~2.0.3", 71 | "namp": "0.2.25", 72 | "ncp": "~1.0.1", 73 | "node-idevice": "~0.1.4", 74 | "node-simctl": "~1.0.9", 75 | "node-uuid": "~1.4.2", 76 | "npmlog": "~1.1.0", 77 | "path": "~0.11.14", 78 | "plist": "~1.1.0", 79 | "prompt": "~0.2.14", 80 | "q": "~1.1.2", 81 | "request": "~2.53.0", 82 | "rimraf": "~2.2.8", 83 | "sandboxed-module": "~2.0.0", 84 | "serve-favicon": "~2.2.0", 85 | "socket.io": "~1.3.4", 86 | "swig": "~1.4.2", 87 | "temp": "~0.8.1", 88 | "through": "~2.3.6", 89 | "touch": "0.0.3", 90 | "underscore": "~1.8.1", 91 | "underscore.string": "~3.0.3", 92 | "unzip": "~0.1.11", 93 | "utf7": "~1.0.0", 94 | "uuid-js": "~0.7.5", 95 | "vargs": "~0.1.0", 96 | "win-spawn": "~2.0.0", 97 | "winston": "~0.9.0", 98 | "ws": "~0.7.1", 99 | "xml2js": "~0.4.5", 100 | "xmldom": "~0.1.19", 101 | "xpath": "0.0.9" 102 | }, 103 | "scripts": { 104 | "test": "grunt travis" 105 | }, 106 | "devDependencies": { 107 | "assert": "~1.3.0", 108 | "bdd-with-opts": "^1.0.0", 109 | "chai": "~2.0.0", 110 | "chai-as-promised": "~4.2.0", 111 | "gps-demo-app": "https://github.com/appium/gps-demo-app/archive/master.tar.gz", 112 | "grunt-contrib-jshint": "~0.11.0", 113 | "grunt-exec": "^0.4.6", 114 | "grunt-mocha-test": "~0.12.7", 115 | "grunt-newer": "~1.1.0", 116 | "gulp": "^3.8.11", 117 | "gulp-jscs": "^1.4.0", 118 | "gulp-jshint": "^1.9.2", 119 | "gulp-util": "^3.0.3", 120 | "js-yaml": "~3.2.7", 121 | "jshint-stylish": "^1.0.0", 122 | "merge-stream": "^0.1.7", 123 | "mocha": "~2.1.0", 124 | "mocha-jenkins-reporter": "^0.1.4", 125 | "monocle-js": "~1.0.1", 126 | "node-static": "~0.7.6", 127 | "promisepipe": "^1.0.1", 128 | "run-sequence": "^1.0.2", 129 | "saucelabs": "~0.1.1", 130 | "sinon": "~1.12.2", 131 | "sinon-chai": "~2.7.0", 132 | "socket.io-client": "~1.3.4", 133 | "socks": "~0.0.1", 134 | "spawn-mocha-parallel": "~1.3.1", 135 | "split": "^0.3.3", 136 | "uncolor": "~0.3.0", 137 | "underscore-cli": "~0.2.18", 138 | "unorm": "~1.3.3", 139 | "wd": "~0.3.11", 140 | "wd-bridge": "~0.0.2", 141 | "yargs": "^3.0.4", 142 | "yiewd": "~0.6.0" 143 | } 144 | } 145 | -------------------------------------------------------------------------------- /parser/testParser1.js: -------------------------------------------------------------------------------- 1 | var _ = require('underscore'); 2 | var fs = require('fs'); 3 | var nodeDir = require('node-dir'); 4 | var dir= __dirname +'/../jsonData'; 5 | // var repos = {}; 6 | // var deps = {}; 7 | var Repos = require('../server/Models/repoModel1'); 8 | var Dependencies = require('../server/Models/dependencyModel1'); 9 | 10 | var mongoose = require('mongoose'); 11 | var mongoURI = 'mongodb://localhost/meangit2'; 12 | mongoose.connect(mongoURI); 13 | var db = mongoose.connection; 14 | 15 | db.on('error', console.error.bind(console, 'connection error:')); 16 | db.once('open', function(callback) { 17 | console.log('MONGODB CONNECTION OPEN'); 18 | 19 | nodeDir.readFiles(dir, {match: /\.package/}, 20 | function(err, content, next) { 21 | if (err) throw err; 22 | //console.log("content ",content) 23 | if(!content.match(/Not\sFound/)){ 24 | parseData(content, next); 25 | } else { 26 | next(); 27 | } 28 | }, 29 | function(err, files){ 30 | if (err) throw err; 31 | nodeDir.readFiles(dir, {match: /\.bower/}, 32 | function(err, content, next) { 33 | if (err) throw err; 34 | //console.log("content ",content) 35 | if(!content.match(/Not\sFound/)){ 36 | parseData(content,next); 37 | } else { 38 | next(); 39 | } 40 | }, 41 | function(err, files){ 42 | if (err) throw err; 43 | //console.log('finished reading files:', files); 44 | }); 45 | //console.log('finished reading files:', files); 46 | }); 47 | 48 | }); 49 | 50 | var parseData = function(toParse,next){ 51 | var parsed = JSON.parse(toParse); 52 | //console.log("to parse ",toParse) 53 | //var allDependencies = createDependencyTuple(parsed.dependencies,parsed.devDependencies); 54 | var repo = { 55 | 'name': parsed.name, 56 | 'dependencies': _.keys(parsed.dependencies), 57 | 'devDependencies': _.keys(parsed.devDependencies) 58 | }; 59 | updateRepo(repo,next); 60 | }; 61 | 62 | // var createDependencyTuple = function(dependencies,devDependencies){ 63 | // var depTuple = _.map(_.keys(dependencies),function(dep){ 64 | // return [false,dep]; 65 | // }); 66 | // var devDepTuple = _.map(_.keys(devDependencies),function(dep){ 67 | // return [true,dep]; 68 | // }); 69 | // return depTuple.concat(devDepTuple); 70 | // } 71 | 72 | var updateRepo = function(repo,next){ 73 | //console.log("Deps: ",repo.name,repo.dependencies); 74 | //console.log("#ofDevDeps: ",repo.devDependencies.length); 75 | Repos.findOneAndUpdate( 76 | {name: repo.name}, 77 | { 78 | $addToSet: {dependencies: {$each: repo.dependencies}, devDependencies: {$each: repo.devDependencies}} 79 | }, 80 | {safe: true, upsert: true}, 81 | function(err, model) { 82 | if(err) console.log(err); 83 | if(model.dependencies.length>1){ 84 | //console.log("MODEL: ",model); 85 | } 86 | // Here we need to: 87 | // findandupdate the first dependency in teh repo model dependency array 88 | // then, from the callback in findandupdate, do the above step on the next dependency 89 | // repeat the above step until we get to the last dependency in the array 90 | // at this point call next() 91 | console.log("model.dependencies ",model.dependencies); 92 | recursiveAsyncIteration(0, 93 | model.dependencies, 94 | function(currentDepName,nextIteration){ 95 | var dep = { 96 | name: currentDepName, 97 | devOrNot: false, 98 | // isBower: false, 99 | // isPackage: false 100 | }; 101 | //console.log("1 ",dep.name); 102 | updateDependency(dep,model.name,nextIteration); 103 | }, 104 | function(){ 105 | recursiveAsyncIteration(0, 106 | model.devDependencies, 107 | function(currentDepName,nextIteration){ 108 | var dep = { 109 | name: currentDepName, 110 | devOrNot: true, 111 | // isBower: isBower, 112 | // isPackage: isPackage 113 | }; 114 | //console.log("1 ",dep.name); 115 | updateDependency(dep,model.name,nextIteration); 116 | }, 117 | function(){ 118 | next(); 119 | }); 120 | }); 121 | //next(); 122 | } 123 | ); 124 | }; 125 | 126 | var recursiveAsyncIteration = function(i,array,iterateCallback,finishedCallback){ 127 | i = i || 0; 128 | //console.log("1 ",i,"2 ",array,"3 ",iterateCallback,"4 ",finishedCallback); 129 | if(i===array.length){ 130 | finishedCallback(); 131 | } else { 132 | //console.log("1 ",i,"2 ",array,"3 ",iterateCallback,"4 ",finishedCallback); 133 | var nextIteration = function(){ 134 | recursiveAsyncIteration(i+1,array,iterateCallback,finishedCallback); 135 | }; 136 | iterateCallback(array[i],nextIteration); 137 | } 138 | } 139 | 140 | var updateDependency = function(dependency,repoName,next){ 141 | //console.log("2 ",dependency.name) 142 | Dependencies.findOneAndUpdate( 143 | {name: dependency.name}, 144 | { 145 | $addToSet: {repos: repoName}, 146 | devOrNot: dependency.devOrNot 147 | }, 148 | {safe: true, upsert: true}, 149 | function(err, model) { 150 | if(err) console.log(err); 151 | //console.log("MODEL: ",model); 152 | next(); 153 | } 154 | ); 155 | } 156 | 157 | // var updateRepo = function(repo,next){ 158 | // Repos.findOneAndUpdate( 159 | // {name: repo.name}, 160 | // {$push: {dependencies: repo.allDependencies}}, 161 | // {safe: true, upsert: true}, 162 | // function(err, model) { 163 | // if(err) console.log(err); 164 | // console.log("MODEL: ",model); 165 | // next(); 166 | // } 167 | // ); 168 | // }; 169 | 170 | // var updateDependency = function(dependency,repoID,next){ 171 | 172 | // } 173 | 174 | 175 | module.exports = db; 176 | -------------------------------------------------------------------------------- /parser/parser.js: -------------------------------------------------------------------------------- 1 | //Used to parse .json files 2 | var fs = require('fs'); 3 | 4 | //folder with all the .json data scraped from git 5 | var dir= __dirname +'/../jsonData'; 6 | var data = {}; 7 | var object = []; 8 | var Repos = require('../server/Models/repoModel'); 9 | var Dependencies = require('../server/Models/dependencyModel'); 10 | 11 | 12 | // var insertDB = function(){ 13 | // console.log(JSON.stringify(object)); 14 | // } 15 | 16 | //loop through the data read in 17 | var parseData = function(callback){ 18 | var keys = Object.keys(data); 19 | var dependencies = []; 20 | var devdependencies = []; 21 | var gitName = ''; 22 | 23 | // console.log(keys[0]); 24 | 25 | //remove bower.json.txt or package.json.txt from file name to get git name 26 | var temp = keys[0].split('.'); 27 | gitName = temp.slice(0, temp.length-3).join('.'); 28 | 29 | 30 | //If no .json data was found 31 | if(JSON.stringify(data[keys[0]]).indexOf('Not Found') >= 0) { 32 | dependencies.push('Not Found'); 33 | devdependencies.push('Not Found'); 34 | } else { 35 | //else check for dependencies and if they are there read them in 36 | data = JSON.parse(data[keys[0]]); 37 | if(data['dependencies'] === undefined){ 38 | dependencies.push('Not Found'); 39 | } else { 40 | for(var dep in data['dependencies']){ 41 | dependencies.push(dep); 42 | } 43 | } 44 | if(data['devDependencies'] === undefined){ 45 | devdependencies.push('Not Found'); 46 | } else { 47 | for(var devdep in data['devDependencies']){ 48 | devdependencies.push(devdep); 49 | } 50 | } 51 | } 52 | // console.log('Git project:', gitName) 53 | // console.log("Dependencies:", dependencies.concat(devdependencies)); 54 | //console.log('Devdependencies:',devdependencies); 55 | //object[gitName] = dependencies.concat(devdependencies); 56 | //insertDB(object); 57 | //console.log(JSON.stringify(object)); 58 | var deps = dependencies.concat(devdependencies); 59 | var repoID; 60 | var dependencyID; 61 | callback(deps); 62 | // Repos.findOne({name: gitName}, function(error, repo){ 63 | // if (error) console.log('error: ', error); 64 | // if (!repo) { 65 | // var newRepo = new Repo({ 66 | // name: gitName, 67 | // dependencies: [] 68 | // }); 69 | // newRepo.save(function(error, newRepo){ 70 | // if (error) return console.error('Creating new Repo:',error); 71 | // repoID = newRepo._id; 72 | // }); 73 | // } 74 | // //else 75 | // }); 76 | //console.log(data); 77 | 78 | 79 | } 80 | 81 | //Inserting data into the database: 82 | //for each file, create a new repo instance 83 | // for each dependency in the file: 84 | // if the dependency is not in the database, create a new dependency instance 85 | // else 86 | // find the dependency 87 | // add the repo to the dependencies repo array 88 | // save the dependency 89 | // add the dependency to the repo dependencies array 90 | // save the repo 91 | 92 | //read in the files 93 | var readFiles = function(parseData) { 94 | 95 | //var files = fs.readdirSync(dir); 96 | fs.readdir(dir,function(err,files){ 97 | //if (err) throw err; 98 | 99 | //read in the data for each file 100 | files.forEach(function(file){ 101 | 102 | ////////////////////// 103 | data = {}; 104 | data[file] = JSON.parse(JSON.stringify(fs.readFileSync(dir+ '/' + file, 'utf8'))); 105 | parseData(function(deps) { 106 | for(var i = 0; i < deps.length;){ 107 | if(deps[i] == 'Not Found'){ 108 | deps.splice(i, 1); 109 | break; 110 | } 111 | // var currentDep = deps[i]; 112 | 113 | var findStore = function(cntr){ 114 | var currentDep = deps[cntr]; 115 | console.log('Before: ', cntr); 116 | Dependencies.findOne({name: currentDep}).exec(function(error, found){ 117 | console.log('current: ', currentDep); 118 | console.log('findOne: ', cntr); 119 | //console.log("FOUND ", found); 120 | if(error) console.log('error: ', error); 121 | if(found){ 122 | console.log('!!!!!!!!!!! Already there !!!!!!!!!!!'); 123 | console.log('found: ', cntr); 124 | i++; 125 | findStore(i) 126 | }else{ 127 | console.log('create new'); 128 | var newDependency = new Dependencies({ 129 | name: currentDep, 130 | repos: [] 131 | }); 132 | 133 | newDependency.save(function(error, newDependency){ 134 | if(error) return console.error('creating new Dependency:', error); 135 | dependencyID = newDependency._id; 136 | console.log('save: ', cntr); 137 | i++; 138 | findStore(i); 139 | }); 140 | } 141 | }); 142 | }; 143 | } 144 | }); 145 | ////////////////////// 146 | 147 | 148 | // fs.readFile(dir+ '/' + file, 'utf8', function(err,jsonData){ 149 | // if (err) throw err; 150 | // data = {}; 151 | // //In case file contains Not Found, stringify before parsing to avoid an error 152 | // data[file]=JSON.parse(JSON.stringify(jsonData)); 153 | // parseData(); 154 | // //console.log(object); 155 | // }); 156 | 157 | }); 158 | }); 159 | 160 | 161 | } 162 | 163 | /////////////////////////// 164 | 165 | var mongoose = require('mongoose'); 166 | var mongoURI = 'mongodb://localhost/meangit'; 167 | 168 | mongoose.connect(mongoURI); 169 | 170 | var db = mongoose.connection; 171 | db.on('error', console.error.bind(console, 'connection error:')); 172 | db.once('open', function(callback) { 173 | console.log('MONGODB CONNECTION OPEN'); 174 | readFiles(parseData); 175 | // var temp = {} 176 | // temp['ace.package.json.txt'] = JSON.parse(JSON.stringify(fs.readFileSync('/Users/jack829/greenfield/Git-what-we-MEAN/jsonData/ace.package.json.txt', 'utf8'))); 177 | //parseData(); 178 | }); 179 | 180 | module.exports = db; 181 | 182 | /////////////////////////// 183 | 184 | 185 | 186 | 187 | // exports.saveLink = function(req, res) { 188 | // var uri = req.body.url; 189 | 190 | // if (!util.isValidUrl(uri)) { 191 | // console.log('Not a valid url: ', uri); 192 | // return res.send(404); 193 | // } 194 | 195 | // Link.findOne({ url: uri}, function (err, link){ 196 | // if (err) return console.error('Signup database lookup:',err); 197 | // if (!link) { 198 | // } 199 | // var newLink = new Link({ 200 | // url: uri, 201 | // title: title, 202 | // base_url: req.headers.origin 203 | // }); 204 | // newLink.hashURL(); 205 | // newLink.save(function(err, newLink) { 206 | // if (err) return console.error('Creating new link::',err); 207 | // res.send(200, newLink); 208 | // }); 209 | // }); 210 | // } else { 211 | // res.send(200, link); 212 | // } 213 | // }); 214 | 215 | // }; 216 | -------------------------------------------------------------------------------- /_CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | ## General Workflow 4 | 5 | 1. Fork the repo 6 | 1. Cut a namespaced feature branch from master 7 | - bug/... 8 | - feat/... 9 | - test/... 10 | - doc/... 11 | - refactor/... 12 | 1. Make commits to your feature branch. Prefix each commit like so: 13 | - (feat) Added a new feature 14 | - (fix) Fixed inconsistent tests [Fixes #0] 15 | - (refactor) ... 16 | - (cleanup) ... 17 | - (test) ... 18 | - (doc) ... 19 | 1. When you've finished with your fix or feature, Rebase upstream changes into your branch. submit a [pull request][] 20 | directly to master. Include a description of your changes. 21 | 1. Your pull request will be reviewed by another maintainer. The point of code 22 | reviews is to help keep the codebase clean and of high quality and, equally 23 | as important, to help you grow as a programmer. If your code reviewer 24 | requests you make a change you don't understand, ask them why. 25 | 1. Fix any issues raised by your code reviwer, and push your fixes as a single 26 | new commit. 27 | 1. Once the pull request has been reviewed, it will be merged by another member of the team. Do not merge your own commits. 28 | 29 | ## Detailed Workflow 30 | 31 | ### Fork the repo 32 | 33 | Use github’s interface to make a fork of the repo, then add that repo as an upstream remote: 34 | 35 | ``` 36 | git remote add upstream https://github.com/Pond-and-Kraken/Git-what-we-MEAN.git 37 | ``` 38 | 39 | ### Cut a namespaced feature branch from master 40 | 41 | Your branch should follow this naming convention: 42 | - bug/... 43 | - feat/... 44 | - test/... 45 | - doc/... 46 | - refactor/... 47 | 48 | These commands will help you do this: 49 | 50 | ``` bash 51 | 52 | # Creates your branch and brings you there 53 | git checkout -b `your-branch-name` 54 | ``` 55 | 56 | ### Make commits to your feature branch. 57 | 58 | Prefix each commit like so 59 | - (feat) Added a new feature 60 | - (fix) Fixed inconsistent tests [Fixes #0] 61 | - (refactor) ... 62 | - (cleanup) ... 63 | - (test) ... 64 | - (doc) ... 65 | 66 | Make changes and commits on your branch, and make sure that you 67 | only make changes that are relevant to this branch. If you find 68 | yourself making unrelated changes, make a new branch for those 69 | changes. 70 | 71 | #### Commit Message Guidelines 72 | 73 | - Commit messages should be written in the present tense; e.g. "Fix continuous 74 | integration script". 75 | - The first line of your commit message should be a brief summary of what the 76 | commit changes. Aim for about 70 characters max. Remember: This is a summary, 77 | not a detailed description of everything that changed. 78 | - If you want to explain the commit in more depth, following the first line should 79 | be a blank line and then a more detailed description of the commit. This can be 80 | as detailed as you want, so dig into details here and keep the first line short. 81 | 82 | ### Rebase upstream changes into your branch 83 | 84 | Once you are done making changes, you can begin the process of getting 85 | your code merged into the main repo. Step 1 is to rebase upstream 86 | changes to the master branch into yours by running this command 87 | from your branch: 88 | 89 | ```bash 90 | git pull --rebase upstream master 91 | ``` 92 | 93 | This will start the rebase process. You must commit all of your changes 94 | before doing this. If there are no conflicts, this should just roll all 95 | of your changes back on top of the changes from upstream, leading to a 96 | nice, clean, linear commit history. 97 | 98 | If there are conflicting changes, git will start yelling at you part way 99 | through the rebasing process. Git will pause rebasing to allow you to sort 100 | out the conflicts. You do this the same way you solve merge conflicts, 101 | by checking all of the files git says have been changed in both histories 102 | and picking the versions you want. Be aware that these changes will show 103 | up in your pull request, so try and incorporate upstream changes as much 104 | as possible. 105 | 106 | You pick a file by `git add`ing it - you do not make commits during a 107 | rebase. 108 | 109 | Once you are done fixing conflicts for a specific commit, run: 110 | 111 | ```bash 112 | git rebase --continue 113 | ``` 114 | 115 | This will continue the rebasing process. Once you are done fixing all 116 | conflicts you should run the existing tests to make sure you didn’t break 117 | anything, then run your new tests (there are new tests, right?) and 118 | make sure they work also. 119 | 120 | If rebasing broke anything, fix it, then repeat the above process until 121 | you get here again and nothing is broken and all the tests pass. 122 | 123 | ### Make a pull request 124 | 125 | Make a clear pull request from your fork and branch to the upstream master 126 | branch, detailing exactly what changes you made and what feature this 127 | should add. The clearer your pull request is the faster you can get 128 | your changes incorporated into this repo. 129 | 130 | At least one other person MUST give your changes a code review, and once 131 | they are satisfied they will merge your changes into upstream. Alternatively, 132 | they may have some requested changes. You should make more commits to your 133 | branch to fix these, then follow this process again from rebasing onwards. 134 | 135 | Once you get back here, make a comment requesting further review and 136 | someone will look at your code again. If they like it, it will get merged, 137 | else, just repeat again. 138 | 139 | Thanks for contributing! 140 | 141 | ### Guidelines 142 | 143 | 1. Uphold the current code standard: 144 | - Keep your code [DRY][]. 145 | - Apply the [boy scout rule][]. 146 | - Follow [STYLE-GUIDE.md](STYLE-GUIDE.md) 147 | 1. Run the [tests][] before submitting a pull request. 148 | 1. Tests are very, very important. Submit tests if your pull request contains 149 | new, testable behavior. 150 | 1. Your pull request is comprised of a single ([squashed][]) commit. 151 | 152 | ## Checklist: 153 | 154 | This is just to help you organize your process 155 | 156 | - [ ] Did I cut my work branch off of master (don't cut new branches from existing feature brances)? 157 | - [ ] Did I follow the correct naming convention for my branch? 158 | - [ ] Is my branch focused on a single main change? 159 | - [ ] Do all of my changes directly relate to this change? 160 | - [ ] Did I rebase the upstream master branch after I finished all my 161 | work? 162 | - [ ] Did I write a clear pull request message detailing what changes I made? 163 | - [ ] Did I get a code review? 164 | - [ ] Did I make any requested changes from that code review? 165 | 166 | If you follow all of these guidelines and make good changes, you should have 167 | no problem getting your changes merged in. 168 | 169 | 170 | 171 | [style guide]: https://github.com/hackreactor-labs/style-guide 172 | [n-queens]: https://github.com/hackreactor-labs/n-queens 173 | [Underbar]: https://github.com/hackreactor-labs/underbar 174 | [curriculum workflow diagram]: http://i.imgur.com/p0e4tQK.png 175 | [cons of merge]: https://f.cloud.github.com/assets/1577682/1458274/1391ac28-435e-11e3-88b6-69c85029c978.png 176 | [Bookstrap]: https://github.com/hackreactor/bookstrap 177 | [Taser]: https://github.com/hackreactor/bookstrap 178 | [tools workflow diagram]: http://i.imgur.com/kzlrDj7.png 179 | [Git Flow]: http://nvie.com/posts/a-successful-git-branching-model/ 180 | [GitHub Flow]: http://scottchacon.com/2011/08/31/github-flow.html 181 | [Squash]: http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html 182 | -------------------------------------------------------------------------------- /_STYLE-GUIDE.md: -------------------------------------------------------------------------------- 1 | ### Indentation 2 | 3 | When writing any block of code that is logically subordinate to the line immediately before and after it, that block should be indented two spaces more than the surrounding lines 4 | 5 | * Do not put any tab characters anywhere in your code. You would do best to stop pressing the tab key entirely. 6 | * Increase the indent level for all blocks by two extra spaces 7 | * When a line opens a block, the next line starts 2 spaces further in than the line that opened 8 | 9 | ```javascript 10 | // good: 11 | if(condition){ 12 | action(); 13 | } 14 | 15 | // bad: 16 | if(condition){ 17 | action(); 18 | } 19 | ``` 20 | 21 | * When a line closes a block, that line starts at the same level as the line that opened the block 22 | ```javascript 23 | // good: 24 | if(condition){ 25 | action(); 26 | } 27 | 28 | // bad: 29 | if(condition){ 30 | action(); 31 | } 32 | ``` 33 | 34 | * No two lines should ever have more or less than 2 spaces difference in their indentation. Any number of mistakes in the above rules could lead to this, but one example would be: 35 | 36 | ```javascript 37 | // bad: 38 | transmogrify({ 39 | a: { 40 | b: function(){ 41 | } 42 | }}); 43 | ``` 44 | 45 | * use sublime's arrow collapsing as a guide. do the collapsing lines seem like they should be 'contained' by the line with an arrow on it? 46 | 47 | 48 | ### Variable names 49 | 50 | * A single descriptive word is best. 51 | 52 | ```javascript 53 | // good: 54 | var animals = ['cat', 'dog', 'fish']; 55 | 56 | // bad: 57 | var targetInputs = ['cat', 'dog', 'fish']; 58 | ``` 59 | 60 | * Collections such as arrays and maps should have plural noun variable names. 61 | 62 | ```javascript 63 | // good: 64 | var animals = ['cat', 'dog', 'fish']; 65 | 66 | // bad: 67 | var animalList = ['cat', 'dog', 'fish']; 68 | 69 | // bad: 70 | var animal = ['cat', 'dog', 'fish']; 71 | ``` 72 | 73 | * Name your variables after their purpose, not their structure 74 | 75 | ```javascript 76 | // good: 77 | var animals = ['cat', 'dog', 'fish']; 78 | 79 | // bad: 80 | var array = ['cat', 'dog', 'fish']; 81 | ``` 82 | 83 | 84 | ### Language constructs 85 | 86 | * Do not use `for...in` statements with the intent of iterating over a list of numeric keys. Use a for-with-semicolons statement in stead. 87 | 88 | ```javascript 89 | // good: 90 | var list = ['a', 'b', 'c'] 91 | for(var i = 0; i < list.length; i++){ 92 | alert(list[i]); 93 | } 94 | 95 | // bad: 96 | var list = ['a', 'b', 'c'] 97 | for(var i in list){ 98 | alert(list[i]); 99 | } 100 | ``` 101 | 102 | * Never omit braces for statement blocks (although they are technically optional). 103 | ```javascript 104 | // good: 105 | for(key in object){ 106 | alert(key); 107 | } 108 | 109 | // bad: 110 | for(key in object) 111 | alert(key); 112 | ``` 113 | 114 | * Always use `===` and `!==`, since `==` and `!=` will automatically convert types in ways you're unlikely to expect. 115 | 116 | ```javascript 117 | // good: 118 | 119 | // this comparison evaluates to false, because the number zero is not the same as the empty string. 120 | if(0 === ''){ 121 | alert('looks like they\'re equal'); 122 | } 123 | 124 | // bad: 125 | 126 | // This comparison evaluates to true, because after type coercion, zero and the empty string are equal. 127 | if(0 == ''){ 128 | alert('looks like they\'re equal'); 129 | } 130 | ``` 131 | 132 | * Don't use function statements for the entire first half of the course. They introduce a slew of subtle new rules to how the language behaves, and without a clear benefit. Once you and all your peers are expert level in the second half, you can start to use the more (needlessly) complicated option if you like. 133 | 134 | ```javascript 135 | // good: 136 | var go = function(){...}; 137 | 138 | // bad: 139 | function stop(){...}; 140 | ``` 141 | 142 | 143 | ### Semicolons 144 | 145 | * Don't forget semicolons at the end of lines 146 | 147 | ```javascript 148 | // good: 149 | alert('hi'); 150 | 151 | // bad: 152 | alert('hi') 153 | ``` 154 | 155 | * Semicolons are not required at the end of statements that include a block--i.e. `if`, `for`, `while`, etc. 156 | 157 | 158 | ```javascript 159 | // good: 160 | if(condition){ 161 | response(); 162 | } 163 | 164 | // bad: 165 | if(condition){ 166 | response(); 167 | }; 168 | ``` 169 | 170 | * Misleadingly, a function may be used at the end of a normal assignment statement, and would require a semicolon (even though it looks rather like the end of some statement block). 171 | 172 | ```javascript 173 | // good: 174 | var greet = function(){ 175 | alert('hi'); 176 | }; 177 | 178 | // bad: 179 | var greet = function(){ 180 | alert('hi'); 181 | } 182 | ``` 183 | 184 | # Supplemental reading 185 | 186 | ### Code density 187 | 188 | * Conserve line quantity by minimizing the number lines you write in. The more concisely your code is written, the more context can be seen in one screen. 189 | * Conserve line length by minimizing the amount of complexity you put on each line. Long lines are difficult to read. Rather than a character count limit, I recommend limiting the amount of complexity you put on a single line. Try to make it easily read in one glance. This goal is in conflict with the line quantity goal, so you must do your best to balance them. 190 | 191 | ### Comments 192 | 193 | * Provide comments any time you are confident it will make reading your code easier. 194 | * Be aware that comments come at some cost. They make a file longer and can drift out of sync with the code they annotate. 195 | * Comment on what code is attempting to do, not how it will achieve it. 196 | * A good comment is often less effective than a good variable name. 197 | 198 | 199 | ### Padding & additional whitespace 200 | 201 | * Generally, we don't care where you put extra spaces, provided they are not distracting. 202 | * You may use it as padding for visual clarity. If you do though, make sure it's balanced on both sides. 203 | 204 | ```javascript 205 | // optional: 206 | alert( "I chose to put visual padding around this string" ); 207 | 208 | // bad: 209 | alert( "I only put visual padding on one side of this string"); 210 | ``` 211 | 212 | * You may use it to align two similar lines, but it is not recommended. This pattern usually leads to unnecessary edits of many lines in your code every time you change a variable name. 213 | 214 | ```javascript 215 | // discouraged: 216 | var firstItem = getFirst (); 217 | var secondItem = getSecond(); 218 | ``` 219 | 220 | * Put `else` and `else if` statements on the same line as the ending curly brace for the preceding `if` block 221 | ```javascript 222 | // good: 223 | if(condition){ 224 | response(); 225 | }else{ 226 | otherResponse(); 227 | } 228 | 229 | // bad: 230 | if(condition){ 231 | response(); 232 | } 233 | else{ 234 | otherResponse(); 235 | } 236 | ``` 237 | 238 | 239 | 240 | ### Working with files 241 | 242 | * Do not end a file with any character other than a newline. 243 | * Don't use the -a or -m flags for `git commit` for the first half of the class, since they conceal what is actually happening (and do slightly different things than most people expect). 244 | 245 | ```shell 246 | # good: 247 | > git add . 248 | > git commit 249 | [save edits to the commit message file using the text editor that opens] 250 | 251 | # bad: 252 | > git commit -a 253 | [save edits to the commit message file using the text editor that opens] 254 | 255 | # bad: 256 | > git add . 257 | > git commit -m "updated algorithm" 258 | ``` 259 | 260 | 261 | ### Opening or closing too many blocks at once 262 | 263 | * The more blocks you open on a single line, the more your reader needs to remember about the context of what they are reading. Try to resolve your blocks early, and refactor. A good rule is to avoid closing more than two blocks on a single line--three in a pinch. 264 | 265 | ```javascript 266 | // avoid: 267 | _.ajax(url, {success: function(){ 268 | // ... 269 | }}); 270 | 271 | // prefer: 272 | _.ajax(url, { 273 | success: function(){ 274 | // ... 275 | } 276 | }); 277 | ``` 278 | 279 | 280 | ### Variable declaration 281 | 282 | * Use a new var statement for each line you declare a variable on. 283 | * Do not break variable declarations onto mutiple lines. 284 | * Use a new line for each variable declaration. 285 | * See http://benalman.com/news/2012/05/multiple-var-statements-javascript/ for more details 286 | 287 | ```javascript 288 | // good: 289 | var ape; 290 | var bat; 291 | 292 | // bad: 293 | var cat, 294 | dog 295 | 296 | // use sparingly: 297 | var eel, fly; 298 | ``` 299 | 300 | ### Capital letters in variable names 301 | 302 | * Some people choose to use capitalization of the first letter in their variable names to indicate that they contain a [class](http://en.wikipedia.org/wiki/Class_(computer_science\)). This capitalized variable might contain a function, a prototype, or some other construct that acts as a representative for the whole class. 303 | * Optionally, some people use a capital letter only on functions that are written to be run with the keyword `new`. 304 | * Do not use all-caps for any variables. Some people use this pattern to indicate an intended "constant" variable, but the language does not offer true constants, only mutable variables. 305 | 306 | 307 | ### Minutia 308 | 309 | * Don't rely on JavaScripts implicit global variables. If you are intending to write to the global scope, export things to `window.*` explicitly instead. 310 | 311 | ```javascript 312 | // good: 313 | var overwriteNumber = function(){ 314 | window.exported = Math.random(); 315 | }; 316 | 317 | // bad: 318 | var overwriteNumber = function(){ 319 | exported = Math.random(); 320 | }; 321 | ``` 322 | 323 | * For lists, put commas at the end of each newline, not at the beginning of each item in a list 324 | 325 | ```javascript 326 | // good: 327 | var animals = [ 328 | 'ape', 329 | 'bat', 330 | 'cat' 331 | ]; 332 | 333 | // bad: 334 | var animals = [ 335 | 'ape' 336 | , 'bat' 337 | , 'cat' 338 | ]; 339 | ``` 340 | 341 | * Avoid use of `switch` statements altogether. They are hard to outdent using the standard whitespace rules above, and are prone to error due to missing `break` statements. See [this article](http://ericleads.com/2012/12/switch-case-considered-harmful/) for more detail. 342 | 343 | * Prefer single quotes around JavaScript strings, rather than double quotes. Having a standard of any sort is preferable to a mix-and-match approach, and single quotes allow for easy embedding of HTML, which prefers double quotes around tag attributes. 344 | 345 | ```javascript 346 | // good: 347 | var dog = 'dog'; 348 | var cat = 'cat'; 349 | 350 | // acceptable: 351 | var dog = "dog"; 352 | var cat = "cat"; 353 | 354 | // bad: 355 | var dog = 'dog'; 356 | var cat = "cat"; 357 | ``` 358 | 359 | 360 | ### HTML 361 | 362 | * Do not use ids for html elements. Use a class instead. 363 | 364 | ```html 365 | 366 | 367 | 368 | 369 | 370 | ``` 371 | 372 | * Do not include a `type=text/javascript"` attribute on script tags 373 | 374 | ```html 375 | 376 | 377 | 378 | 379 | 380 | ``` 381 | --------------------------------------------------------------------------------