seeq

Search or detect name on some resource (GitHub, NPM, Component, Bower, Jam, ...)

npm install seeq
19 downloads in the last week
36 downloads in the last month

seeq

Detect whether a name is registered or present on some resource (GitHub, NPM, Component, Bower, Jam, ...).

Also allows searching for string on specified resources.

NPM version Build Status Built with Grunt

Available resources

The following resources are available:

You can see information about all available resources by running seeq -l (see below).

Installation

To install and use seeq Node.js should be installed in your system. Run the following command to install seeq:

npm install -g seeq

Usage

Run seeq to show usage information.

> seeq

Usage: seeq [name]... [options]

name     Name/string that should be searched for or checked for presence on a resource

Options:
   -h, --help             Show usage information and exit
   -l, --list-resource    Show information about all available resources
   -r, --at               Filter for available resources by name: comma-separated list of names (case-insensitive) of resources that should be checked/searched
   -t, --tag              Filter for available resources by tag: comma-separated list of tags (case-insensitive); -tag means that resource should not have the tag
   --all-tag              Whether all specified tags should be checked for a resource
   -p, --partial-match    Allow partial matching when checking name: 0 - disallow (by default), 1 - allow at the beginning of matching strings, 2 - allow substring matching
   -c, --case-sensitive   Use case-sensitive check/search when possible
   -s, --search           Make search instead of check
   -m, --limit            Limit of quantity of results per resource
   -V, --verbose          Enable verbose output
   -v, --version          Show program version
   --github-lang          Search GitHub repositories that are written in the specified language
   --github-limit         Limit of quantity of GitHub results; default and maximum value is 100
   --github-user          GitHub username that should be used for authentication
   --github-password      GitHub account password
   --github-token         GitHub OAuth2 token that should be used for authentication instead of username and password


Available resources (10):

    * GitHub (https://github.com) - GitHub repositories
    * NPM (https://npmjs.org) - Node packaged modules registry
    * Component (https://github.com/component/component) - Component client package manager registry
    * Bower (http://bower.io) - Bower package manager registry
    * Jam (http://jamjs.org) - Jam package manager repository
    * Grunt (http://gruntjs.com/plugins) - Registry of Grunt plugins
    * JSter (http://jster.net) - Catalog of JavaScript libraries and tools for web development
    * MicroJS (http://microjs.com) - List of micro-frameworks and micro-libraries
    * CDNJS (http://cdnjs.com) - Content Distribution Network for popular web development frameworks, libraries, CSS and other web assets
    * jsDelivr (http://www.jsdelivr.com) - Content Delivery Network where any web developer can host their files, including CSS, fonts, JavaScript, jQuery plugins, etc.

Examples

Check numgen, three and some-strange-name at resources having package tag and limit results per resource up to 5.

> seeq numgen three some-strange-name --tag package --limit 5
Checking GitHub, NPM, Component, Bower, Jam...
Progress: 15/15 (100%)

Results:

1. numgen

    GitHub - 3
        numgen
        url: https://github.com/grancier/numgen

        numgen - Creates objects that generate number sequences
        url: https://github.com/gamtiq/numgen

        NumGen - A number generating mobile app to use for awarding prizes at user groups
        url: https://github.com/scryan7371/NumGen

    NPM - 1
        numgen - Creates objects that generate number sequences
        url: https://github.com/gamtiq/numgen
        keywords: number sequence generator

    Component - 1
        numgen - Creates objects that generate number sequences
        url: https://github.com/gamtiq/numgen
        keywords: number sequence generator

    Bower - 1
        numgen - Creates objects that generate number sequences
        url: https://github.com/gamtiq/numgen
        keywords: number sequence generator

    Jam - 1
        numgen - Creates objects that generate number sequences
        url: https://github.com/gamtiq/numgen
        keywords: number sequence generator

2. three

    GitHub - 5
        three - An easy-to-use Python wrapper for the Open311 API.
        url: three.codeforamerica.org

        three
        url: https://github.com/liaoxiaojia/three

        three - f
        url: https://github.com/bjliliang4/three

        three
        url: https://github.com/kaouadi/three

        three - phot
        url: https://github.com/rajivkumar/three

    NPM - 1
        three - JavaScript 3D library
        url: http://threejs.org/
        keywords: 3D WebGL Three ThreeJS CSS engine rendering geometry math

    Component - 1
        three - Three.js component
        url: https://github.com/cvdlab/three
        keywords: webgl three.js 3d

    Bower
        three is not found.

    Jam - 1
        three - JavaScript 3D library
        url: http://threejs.org

3. some-strange-name

    GitHub
        some-strange-name is not found.

    NPM
        some-strange-name is not found.

    Component
        some-strange-name is not found.

    Bower
        some-strange-name is not found.

    Jam
        some-strange-name is not found.

Check mixing and flight at GitHub and Bower, allow partial matching at the beginning, use case-sensitive search, limit Bower results up to 3 and GitHub results up to 5, include only GitHub projects that are written in JavaScript, show additional information about found items.

> seeq mixing flight -r github,bower --partial-match 1 -c --bower-limit 3 --github-limit 5 --github-lang js --verbose
Checking GitHub, Bower...
Progress: 4/4 (100%)

Results:

1. mixing

    GitHub - 3
        mixing - Functions to mix objects
        url: https://github.com/gamtiq/mixing
        repository: https://github.com/gamtiq/mixing.git
        language: JavaScript
        stars: 2

        mixingpanel
        url: https://github.com/gguerrero/mixingpanel
        repository: https://github.com/gguerrero/mixingpanel.git
        language: JavaScript
        stars: 1

        mixingloom-profiler-example - an example of profiling by mixingloom-profiler
        url: https://github.com/wighawag/mixingloom-profiler-example
        repository: https://github.com/wighawag/mixingloom-profiler-example.git
        language: JavaScript
        stars: 2

    Bower - 1
        mixing - Functions to mix objects
        url: https://github.com/gamtiq/mixing
        keywords: mixin mix merge object filter
        version: 0.0.3
        repository: git://github.com/gamtiq/mixing.git
        license: MIT

2. flight

    GitHub - 5
        flight - A component-based, event-driven JavaScript framework from Twitter
        url: http://flightjs.github.io/
        repository: https://github.com/flightjs/flight.git
        language: JavaScript
        stars: 5131

        flightplan - Node.js library for streamlining application deployment or systems administration tasks.
        url: https://npmjs.org/package/flightplan
        repository: https://github.com/pstadler/flightplan.git
        language: JavaScript
        stars: 346

        flight-stream - Real Time Flight Updates w/ Node.js, Redis and WebSockets
        url: https://github.com/waratuman/flight-stream
        repository: https://github.com/waratuman/flight-stream.git
        language: JavaScript
        stars: 32

        flight627 - prototype work towards cloud-based developer tooling
        url: https://github.com/spring-projects/flight627
        repository: https://github.com/spring-projects/flight627.git
        language: JavaScript
        stars: 29

        flight - flight-framework is a jsfl script framework with a CommonJS-like module mechanism.
        url: https://github.com/uzzu/flight
        repository: https://github.com/uzzu/flight.git
        language: JavaScript
        stars: 3

    Bower - 3
        flight - Clientside component infrastructure
        url: http://github.com/flightjs/flight
        version: 1.1.3
        repository: git://github.com/flightjs/flight.git

        flight-jasmine - Extensions to the Jasmine test framework for use with Flight
        url: http://github.com/twitter/flight-jasmine
        keywords: flight jasmine test
        version: 2.2.0
        repository: git://github.com/twitter/flight-jasmine.git

        flight-mocha - Extensions to the Mocha test framework for use with Flight
        url: http://github.com/naoina/flight-mocha
        keywords: flight mocha test
        version: 0.1.0
        repository: git://github.com/naoina/flight-mocha.git

Search for unicorn at resources that have tag library and do not have tags node and cdn, and limit results per resource up to 5.

> seeq unicorn -s -m 5 --tag library,-node,-cdn --all-tag
Checking GitHub, Bower, JSter, MicroJS...
Progress: 4/4 (100%)

Results:

1. unicorn

    GitHub - 5
        unicorn - Unofficial Unicorn Mirror.
        url: http://unicorn.bogomips.org/

        capistrano-unicorn - Capistrano integration for Unicorn!
        url: https://github.com/sosedoff/capistrano-unicorn

        unicorn - Development repository for Opscode Cookbook unicorn
        url: http://community.opscode.com/cookbooks/unicorn

        lolcat - Rainbows and unicorns!
        url: https://github.com/busyloop/lolcat

        unicorn-worker-killer - Automatically restart Unicorn workers based on 1) max number of requests and 2) max memory
        url: https://rubygems.org/gems/unicorn-worker-killer

    Bower - 1
        angular-unicorn-directive
        url: http://github.com/btford/angular-unicorn-directive

    JSter
        unicorn is not found.

    MicroJS
        unicorn is not found.

API

In your program you can use API provided by seeq in the following way:

var seeq = require("seeq");
...
function onProgress(data) {
    console.log([data.number, "/", data.total, ": checked ", data.name, " at ", data.resource, 
                    ", results - ", data.result.result.length].join(""));
}

seeq.search(["chronoman", "knockout", "joy"], 
            callback, 
            {
                resource: ["NPM", "Component", "Github"], 
                settings: {
                    _general: {
                        limit: 5,
                        partialMatch: 2,
                        caseSensitive: true
                    },
                    github: {
                        limit: 10,
                        language: "js"
                    }
                },
                progressCallback: onProgress
            });
...
seeq.searchName("duratiform",
                callback,
                {resource: ["Bower", "Jam"]});
...
seeq.searchName("cheerio",
                callback,
                {
                    search: true,
                    resourceTag: ["library", "-cdn"]
                });

See JSDoc-generated documentation in doc folder.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

License

Copyright (c) 2014 Denis Sikuler
Licensed under the MIT license.

npm loves you