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:
- Current directory
- Environment variable
DEV_CONFIG
- User home directory
/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
git
Commands: pull [options] Pull configured repos status|st [options] Get the status
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/srcdefaultRepo: git@github.comdefaultBranch: mastersetupCommands: [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
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.