npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

de-cli

v0.2.0

Published

DevEnv helper CLI

Downloads

5

Readme

de-cli

DevEnv helper CLI

Getting Started

Install the module with: npm install -g de-cli and create a config file named de-config

de-config

de will look for the de-config in:

  1. Current directory
  2. Environment variable DEV_CONFIG
  3. User home directory
  4. /etc/de-cli/

Documentation

Available Commands

Most commands can take a --all option, instead of a project which will perform the command against all repos in all projects, except for projects that have excludeFromAll specified.

  Usage: de [options] [command]


  Commands:

    git               Perform git based commands
    npm               Perform npm based commands
    app               Perform app based commands
    test              Perform grunt based commands
    clean             Perform clean up based commands
    setup [options]   Git pull, npm link & install
    help [cmd]        display help for [cmd]

  Options:

    -h, --help     output usage information
    -V, --version  output the version number

git

  Commands:

    pull [options]            Pull configured repos
    status|st [options]       Get the status for all repos
    stash-list|sl [options]   Show stashes for repos
    checkout|co [options]     Checkout [branch] branch for repos

npm

  Commands:

    clean               Clean node_modules
    link [options]      Link configured modules
    install [options]   Install configured repos
    status [options]    Perform npm-check-updates and depcheck on configured repos

app

Note that this command currently requires forever to start and stop the applications.

  Commands:

    start [options]   Start configured projects
    stop [options]    Stop configured projects

test

  Commands:

    grunt [options]   Run grunt on the configured projects

Configuration

Configuration can be in either JSON or YAML format. Options available in the config:

npmInstalls

This specifies npm packages to globally install.

folder

This is the folder which all project and module repositories will be checked out to.

defaultRepo

The default base for clone urls. This allows short repo names like guzzlerio/deride instead of the full ssh repo url.

defaultBranch

The default branch to checkout. This can be overridden by specifying @<branch-name> at the end of the repo url.

setupCommands

This lists the commands that will be executed when de setup is invoked.

depcheck

Command line args to pass to depcheck

projects

The list of projects. Projects also have options that can be changed. defaultBranch and defaultRepo are available and behave as above.

depends

Array of projects to depend upon. This ensures projects can be checked out and setup in order to ensure a successful setup.

excludeFromAll

Exclude this project from any --all commands.

repos

Array of repos. These can be full ssh or https git clone urls, or short user/repo names which will use the defaultRepo to build the clone url.

Example config

An example de-config file:

Yaml

---
npmInstalls: [bower, nesh, mversion]
folder: ~/dev/src
defaultRepo: [email protected]
defaultBranch: master
setupCommands: [git pull, npm link, npm install]
depcheck:
  ignores: grunt*

projects:
  - name: project1
    description: Node.JS project
    depends: [github]
    defaultBranch: develop
    excludeFromAll: false
    repos:
      - jamlen/repo1
      - jamlen/repo2
    modules:
      - jamlen/module

  - name: github
    description: public github projects
    defaultBranch: develop
    excludeFromAll: true
    repos:
      - depcheck/depcheck
      - https://github.com/tjunnone/npm-check-updates.git
  - name: newrelic
    description: Repos for newrelic agents and modules
    excludeFromAll: true
    npm:
      user: newrelic
    repos:
      - newrelic/node-native-metrics


modules:
  - guzzlerio/deride@develop

Json

{
    "npmInstalls": ["bower", "nesh", "mversion"],
    "folder": "~/dev/src",
    "defaultRepo": "[email protected]",
    "defaultBranch": "master",
    "setupCommands": ["git pull", "npm link", "npm install"],
    "depcheck": {
      "ignores": "grunt*"
    },
    "projects": [{
        "name": "project1",
        "description": "Node.JS project",
        "depends": ["github"],
        "defaultBranch": "develop",
        "excludeFromAll": false,
        "repos": [
            "jamlen/repo1",
            "jamlen/repo2"
        ],
        "modules": [
            "jamlen/module"
        ]
    }, {
        "name": "github",
        "description": "public github projects",
        "defaultBranch": "develop",
        "excludeFromAll": true,
        "repos": [
            "depcheck/depcheck",
            "https://github.com/tjunnone/npm-check-updates.git"
        ]
    }, {
        "name": "newrelic",
        "description": "Repos for newrelic agents and modules",
        "excludeFromAll": true,
        "npm": {
          "user": "newrelic"
        },
        "repos": [
            "newrelic/node-native-metrics"
        ]
    }],
    "modules": [
        "guzzlerio/deride@develop"
    ]
}

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style.

Release History

(Nothing yet)

License

Copyright ©2015 James Allen Licensed under the MIT license.