pen 0.1.9

pen pub package Build Status

A pubspec authoring tool. (forked from den)

Install #

pub global activate pen

Usage #

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

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

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

# Install dependencies (defaults to '>={latest stable} <{next breaking}')
pen install polymer browser
pen install unittest --dev
pen install polymer#any
pen install git:// -sgit
pen install git:// -sgit
pen install path/to/foo -spath

# Uninstall dependencies
pen uninstall junk kludge

# Keep dependencies up-to-date

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

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

# Install comprehensive TAB-completion for pen
pen completion install

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

Package Authors #

Add the following package installation instructions to your README:

pub global activate pen
pen install <your package name>

^ Constraints #

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

  • Your sdk constraint disallows pre-1.8.0 SDKs when ^ was introduced.
  • You pass the --caret flag, which updates your sdk constraint for you.

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 pen_api package, which this package is merely a command-line interface for.

Inspiration #

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

0.1.9 #

  • fixed pubspec typo
  • modifications for strong-type matters

0.1.8 #

  • fixed pubspec typo

0.1.7 #

  • Forked

Use this package as an executable

1. Install it

You can install the package from the command line:

$ pub global activate pen

2. Use it

The package has the following executables:

$ pen
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Analysis issues and suggestions

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see

Maintenance issues and suggestions

Make sure dartdoc successfully runs on your package's source files. (-10 points)

Dependencies were not resolved.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.8.0 <2.0.0