spec/git_trend/cli_spec.rb in git-trend-1.0.2 vs spec/git_trend/cli_spec.rb in git-trend-1.1.0

- old
+ new

@@ -1,470 +1,387 @@ +# rubocop:disable Style/TrailingWhitespace include GitTrend RSpec.describe GitTrend::CLI do - shared_examples 'since daily ranking' do |since| - it 'display daily ranking' do + shared_examples "since daily ranking" do |since| + it "display daily ranking" do expect { cli.invoke(:list, [], since: since, description: false) }.to output(dummy_result_without_description).to_stdout end end - shared_examples 'since weekly ranking' do |since| - it 'display weekly ranking' do + shared_examples "since weekly ranking" do |since| + it "display weekly ranking" do expect { cli.invoke(:list, [], since: since, description: false) }.to output(dummy_weekly_result).to_stdout end end - shared_examples 'since monthly ranking' do |since| - it 'display monthly ranking' do + shared_examples "since monthly ranking" do |since| + it "display monthly ranking" do expect { cli.invoke(:list, [], since: since, description: false) }.to output(dummy_monthly_result).to_stdout end end - describe '#list' do + describe "#list" do let(:cli) { CLI.new } - describe 'with -n option' do - context 'with 3' do - before { stub_request_get('trending') } + describe "with -n option" do + context "with 3" do + before { stub_request_get("trending") } let(:number) { 3 } - it 'display top 3 daily ranking' do + it "display top 3 daily ranking" do res = <<-'EOS'.unindent |No. Name Lang Star |--- ---------------------------------------- ---------- ------ - | 1 HunterLarco/voxel.css CSS 941 - | 2 fengyuanchen/viewerjs JavaScript 716 - | 3 FreeCodeCamp/FreeCodeCamp JavaScript 614 + | 1 Bilibili/flv.js JavaScript 3782 + | 2 drathier/stack-overflow-import Python 589 + | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191056 EOS expect { cli.invoke(:list, [], number: number, description: false) }.to output(res).to_stdout end end - context 'with over 25' do - before { stub_request_get('trending') } + context "with over 25" do + before { stub_request_get("trending") } let(:number) { 26 } - it 'display daily ranking' do + it "display daily ranking" do expect { cli.invoke(:list, [], number: number, description: false) }.to output(dummy_result_without_description).to_stdout end end end - describe 'with -l option' do - context 'with ruby' do - before { stub_request_get("trending?l=#{language}") } - let(:language) { 'ruby' } + describe "with -l option" do + context "with ruby" do + before { stub_request_get("trending/#{language}") } + let(:language) { "ruby" } - it 'display daily ranking by language' do + it "display daily ranking by language" do res = <<-'EOS'.unindent |No. Name Lang Star |--- ---------------------------------------- ---------- ------ - | 1 rails/rails Ruby 24 - | 2 thoughtbot/scenic Ruby 34 - | 3 Homebrew/homebrew Ruby 26 - | 4 jekyll/jekyll Ruby 23 - | 5 Thibaut/devdocs Ruby 19 - | 6 jondot/awesome-react-native Ruby 16 - | 7 fastlane/fastlane Ruby 15 - | 8 discourse/discourse Ruby 13 - | 9 mitchellh/vagrant Ruby 13 - | 10 caskroom/homebrew-cask Ruby 11 - | 11 shakacode/react_on_rails Ruby 14 - | 12 gitlabhq/gitlabhq Ruby 13 - | 13 samaaron/sonic-pi Ruby 12 - | 14 ruby/ruby Ruby 10 - | 15 twbs/bootstrap-sass Ruby 11 - | 16 rapid7/metasploit-framework Ruby 8 - | 17 tmuxinator/tmuxinator Ruby 10 - | 18 CocoaPods/CocoaPods Ruby 9 - | 19 plataformatec/devise Ruby 9 - | 20 saasbook/typo Ruby 0 - | 21 bbatsov/rubocop Ruby 7 - | 22 Shopify/liquid Ruby 8 - | 23 thoughtbot/administrate Ruby 7 - | 24 capistrano/capistrano Ruby 7 - | 25 brandonhilkert/sucker_punch Ruby 7 + | 1 webgradus/kms Ruby 115 + | 2 shakacode/react_on_rails Ruby 2111 + | 3 Homebrew/brew Ruby 4409 + | 4 rails/rails Ruby 33266 + | 5 jondot/awesome-react-native Ruby 8260 + | 6 fastlane/fastlane Ruby 12056 + | 7 mitchellh/vagrant Ruby 13443 + | 8 discourse/discourse Ruby 19670 + | 9 jekyll/jekyll Ruby 27457 + | 10 caskroom/homebrew-cask Ruby 9882 + | 11 Thibaut/devdocs Ruby 10699 + | 12 rapid7/metasploit-framework Ruby 6996 + | 13 CocoaPods/CocoaPods Ruby 8715 + | 14 rails-api/active_model_serializers Ruby 3837 + | 15 kilimchoi/engineering-blogs Ruby 8631 + | 16 plataformatec/devise Ruby 16116 + | 17 gettalong/hexapdf Ruby 300 + | 18 Gargron/mastodon Ruby 824 + | 19 mperham/sidekiq Ruby 6826 + | 20 bkeepers/dotenv Ruby 3691 + | 21 skywinder/github-changelog-generator Ruby 2655 + | 22 gitlabhq/gitlabhq Ruby 18633 + | 23 Tim9Liu9/TimLiu-iOS Ruby 4830 + | 24 elastic/logstash Ruby 6637 + | 25 shakacode/react-webpack-rails-tutorial Ruby 1118 EOS expect { cli.invoke(:list, [], language: language, description: false) }.to output(res).to_stdout end end - - context 'with objective-c++ (including + sign)' do - before { stub_request_get('trending?l=objective-c%2B%2B') } - let(:language) { 'objective-c++' } - - it 'display daily ranking by language' do - res = <<-'EOS'.unindent - |No. Name Lang Star - |--- ---------------------------------------- ------------- ------ - | 1 facebook/pop Objective-C++ 0 - | 2 facebook/componentkit Objective-C++ 0 - | 3 rsms/fb-mac-messenger Objective-C++ 0 - | 4 johnno1962/Xtrace Objective-C++ 0 - | 5 pivotal/cedar Objective-C++ 0 - | 6 rogual/neovim-dot-app Objective-C++ 0 - | 7 mousebird/WhirlyGlobe Objective-C++ 0 - | 8 deanm/plask Objective-C++ 0 - | 9 jerols/PopTut Objective-C++ 0 - | 10 fjolnir/Tranquil Objective-C++ 0 - | 11 otaviocc/OCBorghettiView Objective-C++ 0 - | 12 jxd001/POPdemo Objective-C++ 0 - | 13 foundry/OpenCVSwiftStitch Objective-C++ 0 - | 14 couchdeveloper/RXPromise Objective-C++ 0 - | 15 petegoodliffe/PGMidi Objective-C++ 0 - | 16 opensource-apple/objc4 Objective-C++ 0 - | 17 giladno/UICoreTextView Objective-C++ 0 - | 18 iolate/SimulateTouch Objective-C++ 0 - | 19 otaviocc/NHCalendarActivity Objective-C++ 0 - | 20 belkevich/nsdate-calendar Objective-C++ 0 - | 21 pivotal/PivotalCoreKit Objective-C++ 0 - | 22 openpeer/opios Objective-C++ 0 - | 23 swift2js/swift2js Objective-C++ 0 - | 24 Smartype/iOS_VPNPlugIn Objective-C++ 0 - | 25 ryanb93/Applefy Objective-C++ 0 - - EOS - expect { cli.invoke(:list, [], language: language, description: false) }.to output(res).to_stdout - end - end end - describe 'with -s option' do - context 'with no option' do - before { stub_request_get('trending?since=') } - include_examples 'since daily ranking', '' + describe "with -s option" do + context "with no option" do + before { stub_request_get("trending?since=") } + include_examples "since daily ranking", "" end - describe 'since daily' do - before { stub_request_get('trending?since=daily') } - context 'with d' do - include_examples 'since daily ranking', 'd' + describe "since daily" do + before { stub_request_get("trending?since=daily") } + context "with d" do + include_examples "since daily ranking", "d" end - context 'with day' do - include_examples 'since daily ranking', 'day' + context "with day" do + include_examples "since daily ranking", "day" end - context 'with daily' do - include_examples 'since daily ranking', 'daily' + context "with daily" do + include_examples "since daily ranking", "daily" end end - describe 'since weekly' do - before { stub_request_get('trending?since=weekly') } - context 'with w' do - include_examples 'since weekly ranking', 'w' + describe "since weekly" do + before { stub_request_get("trending?since=weekly") } + context "with w" do + include_examples "since weekly ranking", "w" end - context 'with week' do - include_examples 'since weekly ranking', 'week' + context "with week" do + include_examples "since weekly ranking", "week" end - context 'with weekly' do - include_examples 'since weekly ranking', 'weekly' + context "with weekly" do + include_examples "since weekly ranking", "weekly" end end - describe 'since monthly' do - before { stub_request_get('trending?since=monthly') } - context 'with m' do - include_examples 'since monthly ranking', 'm' + describe "since monthly" do + before { stub_request_get("trending?since=monthly") } + context "with m" do + include_examples "since monthly ranking", "m" end - context 'with month' do - include_examples 'since monthly ranking', 'month' + context "with month" do + include_examples "since monthly ranking", "month" end - context 'with monthly' do - include_examples 'since monthly ranking', 'monthly' + context "with monthly" do + include_examples "since monthly ranking", "monthly" end end end - describe 'with -d option (or with no option)' do + describe "with -d option (or with no option)" do after do - ENV['COLUMNS'] = nil - ENV['LINES'] = nil + ENV["COLUMNS"] = nil + ENV["LINES"] = nil end before do - stub_request_get('trending') - ENV['COLUMNS'] = '140' - ENV['LINES'] = '40' + stub_request_get("trending") + ENV["COLUMNS"] = "140" + ENV["LINES"] = "40" end - context 'with no option' do - it 'display daily ranking' do + context "with no option" do + it "display daily ranking" do expect { cli.invoke(:list, []) }.to output(dummy_result_no_options).to_stdout end end - context 'terminal width is enough' do - it 'display daily ranking with description' do + context "terminal width is enough" do + it "display daily ranking with description" do expect { cli.invoke(:list, [], description: true) }.to output(dummy_result_no_options).to_stdout end end - context 'terminal width is tiny' do + context "terminal width is tiny" do before do - ENV['COLUMNS'] = '84' # it is not enough for description. - ENV['LINES'] = '40' + ENV["COLUMNS"] = "83" # it is not enough for description. + ENV["LINES"] = "40" end - it 'display daily ranking about the same as no option' do + it "display daily ranking about the same as no option" do expect { cli.invoke(:list, [], description: true) }.to output(dummy_result_without_description).to_stdout end end end - describe 'with -l and -s option' do - context 'with ruby and weekly' do - before { stub_request_get("trending?l=#{language}&since=#{since}") } - let(:language) { 'ruby' } - let(:since) { 'weekly' } + describe "with -l and -s option" do + context "with ruby and weekly" do + before { stub_request_get("trending/#{language}?since=#{since}") } + let(:language) { "ruby" } + let(:since) { "weekly" } - it 'display weekly ranking by language' do + it "display weekly ranking by language" do res = <<-'EOS'.unindent |No. Name Lang Star |--- ---------------------------------------- ---------- ------ - | 1 Homebrew/homebrew Ruby 166 - | 2 shakacode/react_on_rails Ruby 197 - | 3 rails/rails Ruby 144 - | 4 jekyll/jekyll Ruby 136 - | 5 powerpak/tqdm-ruby Ruby 149 - | 6 fastlane/fastlane Ruby 117 - | 7 codekitchen/dinghy Ruby 116 - | 8 discourse/discourse Ruby 98 - | 9 jondot/awesome-react-native Ruby 97 - | 10 hanami/hanami Ruby 96 - | 11 kciter/simple-slack-bot Ruby 95 - | 12 zverok/worldize Ruby 95 - | 13 mitchellh/vagrant Ruby 80 - | 14 Thibaut/devdocs Ruby 82 - | 15 plataformatec/devise Ruby 69 - | 16 caskroom/homebrew-cask Ruby 54 - | 17 gitlabhq/gitlabhq Ruby 60 - | 18 ruby/ruby Ruby 58 - | 19 jeremyevans/sequel Ruby 67 - | 20 schneems/derailed_benchmarks Ruby 63 - | 21 thoughtbot/scenic Ruby 62 - | 22 cantino/huginn Ruby 57 - | 23 sass/sass Ruby 53 - | 24 kilimchoi/engineering-blogs Ruby 53 - | 25 thoughtbot/administrate Ruby 48 + | 1 Homebrew/brew Ruby 4410 + | 2 fastlane/fastlane Ruby 12057 + | 3 jondot/awesome-react-native Ruby 8262 + | 4 iberianpig/fusuma Ruby 129 + | 5 rails/rails Ruby 33266 + | 6 jekyll/jekyll Ruby 27459 + | 7 Gargron/mastodon Ruby 826 + | 8 gettalong/hexapdf Ruby 303 + | 9 Tim9Liu9/TimLiu-iOS Ruby 4830 + | 10 rapid7/metasploit-framework Ruby 6996 + | 11 mitchellh/vagrant Ruby 13443 + | 12 discourse/discourse Ruby 19671 + | 13 cookpad/kuroko2 Ruby 85 + | 14 shakacode/react_on_rails Ruby 2114 + | 15 caskroom/homebrew-cask Ruby 9883 + | 16 Thibaut/devdocs Ruby 10699 + | 17 plataformatec/devise Ruby 16116 + | 18 ruby/ruby Ruby 10880 + | 19 sass/sass Ruby 8825 + | 20 logstash-plugins/logstash-patterns-core Ruby 420 + | 21 webgradus/kms Ruby 117 + | 22 CocoaPods/CocoaPods Ruby 8715 + | 23 Homebrew/homebrew-core Ruby 979 + | 24 cantino/huginn Ruby 15035 + | 25 twbs/bootstrap-sass Ruby 11486 EOS expect { cli.invoke(:list, [], language: language, since: since, description: false) }.to output(res).to_stdout end end end - - describe 'without options' do - context 'with multibyte chracters' do - before do - ENV['COLUMNS'] = '140' - ENV['LINES'] = '40' - stub_request_get('trending', 'trending_including_multibyte_characters') - end - it 'display daily ranking' do - expect { cli.invoke(:list, []) }.to output(dummy_result_no_options_with_multibyte_characters).to_stdout - end - end - end end - describe '#languages' do - before { stub_request_get('trending') } + describe "#languages" do + before { stub_request_get("trending") } let(:cli) { CLI.new } - context 'with no option' do - it 'display languages' do + context "with no option" do + it "display languages" do expect { cli.languages }.to output(dummy_languages).to_stdout end end end private - def stub_request_get(stub_url, stub_file_name = nil) + def stub_request_get(stub_url_path, stub_file_name = nil) url = Scraper::BASE_HOST.dup - url << "/#{stub_url}" if stub_url + url << "/#{stub_url_path}" if stub_url_path uri = URI.parse(url) - stub_file = stub_file_name || stub_url + stub_file = stub_file_name || stub_url_path stub_request(:get, uri) .to_return( status: 200, - headers: { content_type: 'text/html' }, + headers: { content_type: "text/html" }, body: load_http_stub(stub_file)) end def dummy_result_without_description <<-'EOS'.unindent - |No. Name Lang Star - |--- ---------------------------------------- ------------ ------ - | 1 HunterLarco/voxel.css CSS 941 - | 2 fengyuanchen/viewerjs JavaScript 716 - | 3 FreeCodeCamp/FreeCodeCamp JavaScript 614 - | 4 Microsoft/CNTK C++ 378 - | 5 cht8687/You-Dont-Need-Lodash-Underscore JavaScript 333 - | 6 jgthms/bulma CSS 334 - | 7 developit/preact JavaScript 322 - | 8 twitterdev/furni-ios Swift 303 - | 9 DrkSephy/es6-cheatsheet JavaScript 278 - | 10 chinchang/hint.css CSS 242 - | 11 denysdovhan/bash-handbook JavaScript 201 - | 12 yabwe/medium-editor JavaScript 192 - | 13 nlf/dlite Go 187 - | 14 hollance/swift-algorithm-club Swift 173 - | 15 jiahaog/nativefier JavaScript 163 - | 16 mxstbr/login-flow JavaScript 159 - | 17 Soundnode/soundnode-app JavaScript 146 - | 18 hirak/prestissimo PHP 149 - | 19 txusballesteros/sliding-deck Java 140 - | 20 tensorflow/tensorflow C++ 86 - | 21 milligram/milligram CSS 113 - | 22 valentin012/conspeech OpenEdge ABL 108 - | 23 gophergala2016/goad CSS 108 - | 24 Yalantis/uCrop Java 103 - | 25 mpociot/whiteboard JavaScript 97 + |No. Name Lang Star + |--- ---------------------------------------- ----------- ------ + | 1 Bilibili/flv.js JavaScript 3782 + | 2 drathier/stack-overflow-import Python 589 + | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191056 + | 4 alexjc/neural-enhance Python 4380 + | 5 mzabriskie/axios JavaScript 7565 + | 6 airbnb/knowledge-repo Python 621 + | 7 skatejs/skatejs JavaScript 1482 + | 8 UFreedom/FloatingView Java 304 + | 9 verekia/js-stack-from-scratch JavaScript 7684 + | 10 portainer/portainer JavaScript 463 + | 11 CISOfy/lynis Shell 1480 + | 12 vuejs/vue JavaScript 32676 + | 13 th0r/webpack-bundle-analyzer JavaScript 1438 + | 14 thunderrise/android-TNRAnimationHelper Java 487 + | 15 Jasonette/JASONETTE-iOS Objective-C 164 + | 16 justjavac/awesome-wechat-weapp JavaScript 3859 + | 17 yarnpkg/yarn JavaScript 18470 + | 18 jwasham/google-interview-university 19524 + | 19 lengstrom/fast-style-transfer Python 1654 + | 20 FreeCodeCampChina/freecodecamp.cn CSS 3016 + | 21 minoca/os C 1616 + | 22 facebook/react JavaScript 53230 + | 23 sqreen/awesome-nodejs-projects 1454 + | 24 tensorflow/tensorflow C++ 36152 + | 25 andyxialm/TyperEditText Java 110 EOS end def dummy_result_no_options <<-'EOS'.unindent - |No. Name Lang Star Description - |--- ---------------------------------------- ------------ ------ --------------------------------------------------------------------------- - | 1 HunterLarco/voxel.css CSS 941 A lightweight 3D CSS voxel library. - | 2 fengyuanchen/viewerjs JavaScript 716 JavaScript image viewer. - | 3 FreeCodeCamp/FreeCodeCamp JavaScript 614 The http://FreeCodeCamp.com open source codebase and curriculum. Learn t... - | 4 Microsoft/CNTK C++ 378 Computational Network Toolkit (CNTK) - | 5 cht8687/You-Dont-Need-Lodash-Underscore JavaScript 333 Lists of Javascript methods which you can use natively - | 6 jgthms/bulma CSS 334 Modern CSS framework based on Flexbox - | 7 developit/preact JavaScript 322 Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM. - | 8 twitterdev/furni-ios Swift 303 Furni for iOS is a furniture store demo app presented at the Twitter Fli... - | 9 DrkSephy/es6-cheatsheet JavaScript 278 ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code... - | 10 chinchang/hint.css CSS 242 A CSS only tooltip library for your lovely websites. - | 11 denysdovhan/bash-handbook JavaScript 201 For those who wanna learn Bash - | 12 yabwe/medium-editor JavaScript 192 Medium.com WYSIWYG editor clone. Uses contenteditable API to implement a... - | 13 nlf/dlite Go 187 The simplest way to use Docker on OS X - | 14 hollance/swift-algorithm-club Swift 173 Algorithms and data structures in Swift, with explanations! - | 15 jiahaog/nativefier JavaScript 163 Wrap any web page natively without even thinking, across Windows, OSX an... - | 16 mxstbr/login-flow JavaScript 159 A login/register flow built with React&Redux - | 17 Soundnode/soundnode-app JavaScript 146 Soundnode App is the Soundcloud for desktop. Built with NW.js, Angular.j... - | 18 hirak/prestissimo PHP 149 composer parallel install plugin - | 19 txusballesteros/sliding-deck Java 140 SlidingDeck View for Android - | 20 tensorflow/tensorflow C++ 86 Computation using data flow graphs for scalable machine learning - | 21 milligram/milligram CSS 113 A minimalist CSS framework. - | 22 valentin012/conspeech OpenEdge ABL 108 Political Speech Generator - | 23 gophergala2016/goad CSS 108 Goad is an AWS Lambda powered, highly distributed, load testing tool - | 24 Yalantis/uCrop Java 103 Image Cropping Library for Android - | 25 mpociot/whiteboard JavaScript 97 Simply write beautiful API documentation. + |No. Name Lang Star Description + |--- ---------------------------------------- ----------- ------ ---------------------------------------------------------------------------- + | 1 Bilibili/flv.js JavaScript 3782 HTML5 FLV Player + | 2 drathier/stack-overflow-import Python 589 Import arbitrary code from Stack Overflow as Python modules. + | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191056 The https://FreeCodeCamp.com open source codebase and curriculum. Learn t... + | 4 alexjc/neural-enhance Python 4380 Super Resolution for images using deep learning. + | 5 mzabriskie/axios JavaScript 7565 Promise based HTTP client for the browser and node.js + | 6 airbnb/knowledge-repo Python 621 A next-generation curated knowledge sharing platform for data scientists ... + | 7 skatejs/skatejs JavaScript 1482 SkateJS is a web component library designed to give you an augmentation o... + | 8 UFreedom/FloatingView Java 304 FloatingView can make the target view floating above the anchor view with... + | 9 verekia/js-stack-from-scratch JavaScript 7684 Step-by-step tutorial to build a modern JavaScript stack from scratch + | 10 portainer/portainer JavaScript 463 Simple management UI for Docker + | 11 CISOfy/lynis Shell 1480 Lynis - Security auditing tool for Linux, macOS, and UNIX-based systems. ... + | 12 vuejs/vue JavaScript 32676 Simple yet powerful library for building modern web interfaces. + | 13 th0r/webpack-bundle-analyzer JavaScript 1438 Webpack plugin and CLI utility that represents bundle content as convenie... + | 14 thunderrise/android-TNRAnimationHelper Java 487 This is a library that contains practical animations: Rotation, Flip, Hor... + | 15 Jasonette/JASONETTE-iOS Objective-C 164 📡 Native App over HTTP + | 16 justjavac/awesome-wechat-weapp JavaScript 3859 微信小程序开发资源汇总 wechat weapp + | 17 yarnpkg/yarn JavaScript 18470 📦🐈 Fast, reliable, and secure dependency management. + | 18 jwasham/google-interview-university 19524 A complete daily plan for studying to become a Google software engineer. + | 19 lengstrom/fast-style-transfer Python 1654 Fast Style Transfer in TensorFlow + | 20 FreeCodeCampChina/freecodecamp.cn CSS 3016 看源码请到Code,提问请到Issues,提交代码请到Pull requests,看学习心得请到... + | 21 minoca/os C 1616 Minoca operating system + | 22 facebook/react JavaScript 53230 A declarative, efficient, and flexible JavaScript library for building us... + | 23 sqreen/awesome-nodejs-projects 1454 Curated list of awesome open-source applications made with Node.js + | 24 tensorflow/tensorflow C++ 36152 Computation using data flow graphs for scalable machine learning + | 25 andyxialm/TyperEditText Java 110 Typewriter EOS end - def dummy_result_no_options_with_multibyte_characters - <<-'EOS'.unindent - |No. Name Lang Star Description - |--- ---------------------------------------- ---------- ------ ----------------------------------------------------------------------------- - | 1 apple/swift C++ 1487 The Swift Programming Language - | 2 hashcat/hashcat C 383 Advanced CPU-based password recovery utility - | 3 airbnb/reagent JavaScript 416 JavaScript Testing utilities for React - | 4 FreeCodeCamp/FreeCodeCamp JavaScript 381 The http://FreeCodeCamp.com open source codebase and curriculum. Learn to ... - | 5 diafygi/acme-tiny Python 311 A tiny script to issue and renew TLS certs from Let's Encrypt - | 6 letsencrypt/letsencrypt Python 300 This Let's Encrypt repo is an ACME client that can obtain certs and extens... - | 7 twitter/labella.js JavaScript 248 Placing labels on a timeline without overlap. - | 8 LeaVerou/bliss HTML 228 Blissful JavaScript - | 9 nathancahill/Split.js JavaScript 217 Lightweight, unopinionated utility for adjustable split views - | 10 hashcat/oclHashcat C 194 World's fastest and most advanced GPGPU-based password recovery utility - | 11 apple/swift-package-manager Swift 190 The Package Manager for the Swift Programming Language - | 12 documentationjs/documentation JavaScript 177 beautiful, flexible, powerful js docs - | 13 HospitalRun/hospitalrun-frontend JavaScript 167 Ember front end for HospitalRun - | 14 NARKOZ/hacker-scripts JavaScript 139 Based on a true story - | 15 apple/swift-evolution 140 - | 16 MaximAbramchuck/awesome-interviews 139 A curated awesome list of lists of interview questions. Feel free to contr... - | 17 adleroliveira/dreamjs JavaScript 136 A lightweight json data generator. - | 18 huytd/swift-http Swift 125 HTTP Implementation for Swift on Linux and Mac OS X - | 19 diafygi/gethttpsforfree JavaScript 118 Source code for https://gethttpsforfree.com/ - | 20 apple/swift-corelibs-foundation C 93 The Foundation Project, providing core utilities, internationalization, an... - | 21 xenolf/lego Go 100 Let's Encrypt client and ACME library written in Go - | 22 fengyuanchen/cropperjs JavaScript 95 JavaScript image cropper. - | 23 proflin/CoolplaySpark 85 酷玩 Spark - | 24 incrediblesound/story-graph JavaScript 87 The Graph that Generates Stories - | 25 geeeeeeeeek/WeChatLuckyMoney Java 75 微信抢红包插件, an Android app that helps you snatch virtual red envelopes... - - EOS - end - def dummy_weekly_result <<-'EOS'.unindent - |No. Name Lang Star - |--- ---------------------------------------- ----------- ------ - | 1 DrkSephy/es6-cheatsheet JavaScript 5143 - | 2 FreeCodeCamp/FreeCodeCamp JavaScript 4555 - | 3 Microsoft/CNTK C++ 3548 - | 4 jiahaog/nativefier JavaScript 2593 - | 5 HunterLarco/voxel.css CSS 2054 - | 6 samshadwell/TrumpScript Python 1824 - | 7 Yalantis/uCrop Java 1731 - | 8 Soundnode/soundnode-app JavaScript 1230 - | 9 tensorflow/tensorflow C++ 953 - | 10 Jam3/devtool JavaScript 1170 - | 11 KnuffApp/Knuff Objective-C 1136 - | 12 brave/browser-laptop JavaScript 1030 - | 13 nlf/dlite Go 1051 - | 14 zquestz/s Go 971 - | 15 milligram/milligram CSS 959 - | 16 themattrix/bash-concurrent Shell 924 - | 17 kragniz/json-sempai Python 871 - | 18 loverajoel/jstips CSS 841 - | 19 chinchang/hint.css CSS 816 - | 20 hirak/prestissimo PHP 783 - | 21 rdpeng/ProgrammingAssignment2 R 8 - | 22 fengyuanchen/viewerjs JavaScript 729 - | 23 vhf/free-programming-books 620 - | 24 yamartino/pressure JavaScript 695 - | 25 cdmedia/cms.js JavaScript 677 + |No. Name Lang Star + |--- ---------------------------------------------- ---------- ------ + | 1 verekia/js-stack-from-scratch JavaScript 7704 + | 2 alexjc/neural-enhance Python 4401 + | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191088 + | 4 witheve/Eve JavaScript 4896 + | 5 Bilibili/flv.js JavaScript 3796 + | 6 lengstrom/fast-style-transfer Python 1663 + | 7 VoLuong/Begin-Latex-in-minutes 1652 + | 8 minoca/os C 1622 + | 9 sqreen/awesome-nodejs-projects 1455 + | 10 th0r/webpack-bundle-analyzer JavaScript 1446 + | 11 blue-yonder/tsfresh Python 1419 + | 12 zeit/next.js JavaScript 5191 + | 13 GoogleChrome/lighthouse JavaScript 3962 + | 14 jwasham/google-interview-university 19533 + | 15 mas-cli/mas Swift 2261 + | 16 mattrajca/sudo-touchid C 884 + | 17 songrotek/Deep-Learning-Papers-Reading-Roadmap Python 7241 + | 18 yarnpkg/yarn JavaScript 18477 + | 19 ImmortalZ/TransitionHelper Java 790 + | 20 the-control-group/voyager PHP 818 + | 21 vuejs/vue JavaScript 32693 + | 22 jobbole/awesome-programming-books 821 + | 23 tensorflow/tensorflow C++ 36159 + | 24 BelooS/ChipsLayoutManager Java 714 + | 25 krisk/Fuse JavaScript 3369 EOS end def dummy_monthly_result <<-'EOS'.unindent - |No. Name Lang Star - |--- ------------------------------------------ ----------- ------ - | 1 FreeCodeCamp/FreeCodeCamp JavaScript 15567 - | 2 loverajoel/jstips CSS 7710 - | 3 braydie/HowToBeAProgrammer 6786 - | 4 DrkSephy/es6-cheatsheet JavaScript 5127 - | 5 matryer/bitbar Objective-C 4946 - | 6 Microsoft/ChakraCore JavaScript 4689 - | 7 VerbalExpressions/JSVerbalExpressions JavaScript 4758 - | 8 tldr-pages/tldr Shell 4193 - | 9 jlevy/the-art-of-command-line 3966 - | 10 mhinz/vim-galore VimL 4062 - | 11 jiahaog/nativefier JavaScript 3932 - | 12 jlevy/og-equity-compensation 3797 - | 13 Microsoft/CNTK C++ 3537 - | 14 hacksalot/HackMyResume JavaScript 3252 - | 15 vhf/free-programming-books 2690 - | 16 milligram/milligram CSS 2876 - | 17 samshadwell/TrumpScript Python 2718 - | 18 sindresorhus/awesome 2640 - | 19 donnemartin/data-science-ipython-notebooks Python 2424 - | 20 tensorflow/tensorflow C++ 2033 - | 21 os-js/OS.js JavaScript 2357 - | 22 JakeLin/IBAnimatable Swift 2345 - | 23 viljamis/feature.js HTML 2239 - | 24 facebook/react-native Java 1962 - | 25 baidu-research/warp-ctc Cuda 1966 + |No. Name Lang Star + |--- ---------------------------------------------- ---------- ------ + | 1 verekia/js-stack-from-scratch JavaScript 7704 + | 2 alexjc/neural-enhance Python 4401 + | 3 FreeCodeCamp/FreeCodeCamp JavaScript 191088 + | 4 witheve/Eve JavaScript 4896 + | 5 Bilibili/flv.js JavaScript 3796 + | 6 lengstrom/fast-style-transfer Python 1663 + | 7 VoLuong/Begin-Latex-in-minutes 1652 + | 8 minoca/os C 1622 + | 9 sqreen/awesome-nodejs-projects 1455 + | 10 th0r/webpack-bundle-analyzer JavaScript 1446 + | 11 blue-yonder/tsfresh Python 1419 + | 12 zeit/next.js JavaScript 5191 + | 13 GoogleChrome/lighthouse JavaScript 3962 + | 14 jwasham/google-interview-university 19533 + | 15 mas-cli/mas Swift 2261 + | 16 mattrajca/sudo-touchid C 884 + | 17 songrotek/Deep-Learning-Papers-Reading-Roadmap Python 7241 + | 18 yarnpkg/yarn JavaScript 18477 + | 19 ImmortalZ/TransitionHelper Java 790 + | 20 the-control-group/voyager PHP 818 + | 21 vuejs/vue JavaScript 32693 + | 22 jobbole/awesome-programming-books 821 + | 23 tensorflow/tensorflow C++ 36159 + | 24 BelooS/ChipsLayoutManager Java 714 + | 25 krisk/Fuse JavaScript 3369 EOS end def dummy_languages <<-'EOS'.unindent + |1C Enterprise |ABAP |ActionScript |Ada |Agda |AGS Script @@ -519,10 +436,13 @@ |Common Lisp |Component Pascal |Cool |Coq |Crystal + |Csound + |Csound Document + |Csound Score |CSS |Cucumber |Cuda |Cycript |D @@ -541,23 +461,27 @@ |Eiffel |Elixir |Elm |Emacs Lisp |EmberScript + |EQ |Erlang |F# |Factor |Fancy |Fantom + |Filebench WML |FLUX |Forth |FORTRAN |FreeMarker |Frege |Game Maker Language |GAMS |GAP + |GCC Machine Description + |GDB |GDScript |Genshi |Gettext Catalog |GLSL |Glyph @@ -573,10 +497,11 @@ |Handlebars |Harbour |Haskell |Haxe |HCL + |HLSL |HTML |Hy |HyPhy |IDL |Idris @@ -613,10 +538,11 @@ |LookML |LoomScript |LSL |Lua |M + |M4 |Makefile |Mako |Markdown |Mask |Mathematica @@ -631,10 +557,12 @@ |Modula-2 |Module Management System |Monkey |Moocode |MoonScript + |MQL4 + |MQL5 |MTML |mupad |Myghty |NCL |Nemerle @@ -676,10 +604,12 @@ |PLpgSQL |PLSQL |PogoScript |Pony |PostScript + |POV-Ray SDL + |PowerBuilder |PowerShell |Processing |Prolog |Propeller Spin |Protocol Buffer @@ -697,14 +627,17 @@ |RDoc |REALbasic |Rebol |Red |Redcode + |Ren'Py |RenderScript + |REXX |RobotFramework |Rouge |Ruby + |RUNOFF |Rust |SaltStack |SAS |Scala |Scheme @@ -721,23 +654,28 @@ |SourcePawn |SQF |SQL |SQLPL |Squirrel + |SRecode Template |Stan |Standard ML |Stata |SuperCollider |Swift |SystemVerilog |Tcl |Tea + |Terra |TeX |Thrift + |TI Program + |TLA |Turing |TXL |TypeScript + |Uno |UnrealScript |UrWeb |Vala |VCL |Verilog @@ -762,10 +700,10 @@ |Xtend |Yacc |Zephir |Zimpl | - |300 languages + |322 languages |you can get only selected language list with '-l' option. |if languages is unknown, you can specify 'unkown'. | EOS end