A collection of all public GitHub repositories that depend on electron
or electron-prebuilt
.
Uses the libraries.io to find dependent repos,
and the GitHub API to fetch latest
package.json
for each repo.
npm install repos-using-electron --save
When you require this module, you get an array of repository objects.
const repos = require('repos-using-electron')
To find a specific repo:
const hyperterm = repos.find(repo => repo.fullName === 'zeit/hyperterm')
Each repo has a pkg
property that is a nice package.
This gives you some convenience functions:
hyperterm.pkg.dependsOn('object-values') // true
hyperterm.pkg.devDependsOn('webpack') // true
hyperterm.pkg.somehowDependsOn('hoarders') // false
Find the top 30 repos that depend on electron-builder
(repos are sorted by
forksCount
by default):
repos
.filter(repo => repo.pkg.somehowDependsOn('electron-builder'))
.slice(0, 30)
.map(repo => repo.fullName)
Open those top 30 repos in your browser:
const open = require('open')
repos
.filter(repo => repo.pkg.somehowDependsOn('electron-builder'))
.slice(0, 30)
.map(repo => open(repo.htmlUrl))
To hack on this thing you'll need a
Libraries.io API key and a
GitHub Personal Access Token with repo
access. Put your keys in a .env
file; they'll be loaded into the environment
at runtime:
touch .env
echo LIBRARIES_IO_API_KEY=foo >> .env
echo GITHUB_ACCESS_TOKEN=bar >> .env
Then list the scripts you can run:
npm run
npm install
npm test
- lodash.uniqby: The lodash method
_.uniqBy
exported as a module. - nice-package: Clean up messy package metadata from the npm registry
- object-values: Get the values of an object
- require-dir: Helper to require() directories.
- chai: BDD/TDD assertion library for node.js and the browser. Test framework agnostic.
- dotenv: Loads environment variables from .env file
- get-repo-package-json: Fetch a GitHub repository's package.json file using the GitHub API
- limiter: A generic rate limiter for node.js. Useful for API clients, web crawling, or other tasks that need to be throttled
- lodash.uniq: The lodash method
_.uniq
exported as a module. - mocha: simple, flexible, fun test framework
- npm-run-all: A CLI tool to run multiple npm-scripts in parallel or sequential.
- octokat: Javascript GitHub client for NodeJS or a browser using promises or callbacks
- path-exists: Check if a path exists
- pify: Promisify a callback-style function
- request: Simplified HTTP request client.
- standard: JavaScript Standard Style
- standard-markdown: Test your Markdown files for Standard JavaScript Style™
MIT