seaneagan / den

A pubspec authoring tool.
BSD 2-Clause "Simplified" License
27 stars 6 forks source link

den pub package Build Status

A pubspec authoring tool.

Install

pub global activate den

Usage

# `den ...` requires Dart >=1.7, on 1.6 use `pub global run den ...`

# Create a pubspec.  Field value prompts default to your local git info.
den spec
# Bypass prompts, accept defaults.
den spec --force

# Bump your pubspec version (and do a tagged version commit if in a git repo)
den bump patch               # 1.2.3 -> 1.2.4
den bump minor               # 1.2.3 -> 1.3.0
den bump major --pre-id beta # 1.2.3 -> 2.0.0-beta.0
den bump release --pre       # 1.0.0-dev.2 -> 1.0.0-dev.3
den bump release             # 1.0.0-dev.2 -> 1.0.0
den bump build               # 1.0.2+1 -> 1.0.2+2
den bump breaking            # 0.5.1 -> 0.6.0 / 1.2.3 -> 2.0.0
den bump 1.2.3-dev           # 1.2.2 -> 1.2.3-dev
den bump minor -m "ver{v}"   # Custom commit message.

# Install dependencies (defaults to '>={latest stable} <{next breaking}')
den install polymer browser
den install unittest --dev
den install polymer#any
den install git://github.com/owner/repo.git -sgit
den install git://github.com/owner/repo#ref -sgit
den install path/to/foo -spath

# Uninstall dependencies
den uninstall junk kludge

# Keep dependencies up-to-date

# Show outdated (all by deafult)
den fetch
den fetch polymer

# Update outdated to '>={latest stable} <{next breaking}' (all by default)
den pull
den pull polymer

# Install comprehensive TAB-completion for den
den completion install

# Complete commands, options, package names, etc.
den i[TAB] -> install
den install unit[TAB] -> unittest
den uninstall j[TAB] -> junk
den fetch p[TAB] -> polymer
den pull p[TAB] -> polymer

Package Authors

Add the following package installation instructions to your README:

pub global activate den
den install <your package name>

^ Constraints

den install and den pull will take advantage of ^ constraints e.g. ^1.2.3 if either of:

Otherwise, they will use range syntax e.g. >=1.2.3 <2.0.0

Programmatic Usage

The underlying functionality is available as a Dart API through the den_api package, which this package is merely a command-line interface for.

Inspiration

den install was inspired by npm install --save and bower install --save den fetch and den pull were inspired by david and david update.