Skip to content

Latest commit

 

History

History
112 lines (83 loc) · 3.43 KB

readme.md

File metadata and controls

112 lines (83 loc) · 3.43 KB

repos-using-electron Build Status

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.

Installation

npm install repos-using-electron --save

Usage

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))

Development

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

Tests

npm install
npm test

Dependencies

Dev Dependencies

  • 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™

License

MIT