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

@gerhobbelt/changelog

v1.4.2-13

Published

Command line tool (and Node module) that generates a changelog in color output, markdown, or json for modules in npmjs.org's registry as well as any public github.com repo.

Downloads

52

Readme

changelog NPM version Build Status

Command line tool (and Node module) that generates a changelog in color output, markdown, or json for modules in npmjs.org's registry as well as any public github.com repo.

changelog

Command-line Usage

Node Modules in NPM

Modules do not need to be installed to generate changelog but they must define their repository url in their package.json.

Example using Express

$ changelog {npm module name} [release] [options]

npm module: The module name, such as express, npm, grunt, etc.

Any Public Github.com Repository

Changelog also works on any public Github repo.

$ changelog {Github.com repo} [options]

Github.com repo url: Urls can be any format, such as https://github.com/dylang/changelog or [email protected]:dylang/changelog.git or even just dylang/changelog.

Help

changelog --help

Usage:
  changelog <npm module name> [versions] [options]
  changelog <github repo url> [versions] [options]

Module name:
   $ changelog npm

Github repo:
   $ changelog github.com/isaacs/npm
   $ changelog isaacs/npm

Versions:
   latest   Default: Show only the latest versions. ex: $ changelog npm latest
   all      Show all versions.                      ex: $ changelog npm all
   number   Show that many recent versions.         ex: $ changelog npm 3
   n.n.n    Show changes for a specific version.    ex: $ changelog npm 1.3.11

Options:
  -c, --color            Output as Color (terminal default)
  -m, --markdown         Output as Github-flavored Markdown (file default)
  -j, --json             Output as JSON
  -d, --debug            Enable debugging
  -h, --help             Display help and usage details

Note: on Windows and other platforms, -c MAY not detect a color-supporting terminal. Use --color instead to force changelog (which uses chalk) to output terminal color escape codes. See also https://github.com/chalk/supports-color.

More Examples

Changelog API

Changelog can be easily integrated into other tools.

`changelog.generate(name, versions)

  • name string, required NPM module name from registry.
  • versions integer or semver, optional Number of versions, or the semver version to show.
var changelog = require('changelog');

changelog.generate(NpmPackageName, countOrVersions)
    .then(changelog.markdown);
var changelog = require('changelog');

changelog.generate('grunt')
    .then(showChanges);

function showChanges(data) {

    //With npm each "version" corresponds to all changes for that build pushed on npm
    //With github each "version" is one GMT day of changes
    data.versions.forEach(function(version) {
        console.log(version.version); //currently npm projects only
        console.log(version.date);    //JS Date

        //version.changes is an array of commit messages for that version
        version.changes.forEach(function(change) {
            console.log(' * ' + change);
        });
    });

    //Information about the project
    console.log(data.project);
}

How it works

  • Changelog uses npmjs.org API to get the list of versions and the publish dates.
  • It cross-references the versions in npm with the commit history from the Github's API.

Inspiration

Dylan Greene built this because he was always curious what was changed when doing npm update. This module's name is inspired by listening to TheChangelog Podcast on the way to work.

About the Author

Hello fellow developer! My name is Dylan Greene. When not overwhelmed with my two kids I enjoy contributing to the open source community. I'm a tech lead at Opower. I lead a team using Grunt and Angular to build software that successfully helps people like us use less power. Not too long ago I co-created Doodle or Die, a hilarious web game with millions of doodles that won us Node Knockout for the "most fun" category. I'm dylang on Twitter and other places.

Some of my other Node projects:

| Name | Description | Github Stars | Npm Installs | |---|---|--:|--:| | grunt-notify | Automatic desktop notifications for Grunt errors and warnings using Growl for OS X or Windows, Mountain Lion and Mavericks Notification Center, and Notify-Send. | 798 | 36,294 | | grunt-prompt | Interactive prompt for your Grunt config using console checkboxes, text input with filtering, password fields. | 244 | 5,804 | | shortid | Amazingly short non-sequential url-friendly unique id generator. | 262 | 8,357 | | rss | RSS feed generator. A really simple API to add RSS feeds to any project. | 243 | 15,147 | | npm-check | Check for outdated, incorrect, and unused dependencies. | New! | 1,164 | | xml | Fast and simple xml generator. Supports attributes, CDATA, etc. Includes tests and examples. | 56 | 21,139 | | logging | Super sexy color console logging with cluster support. | 24 | 541 | | grunt-attention | Display attention-grabbing messages in the terminal | New! | 6,253 | | observatory | Beautiful UI for showing tasks running on the command line. | 31 | 3,516 | | flowdock-refined | Flowdock desktop app custom UI | New! | 59 | | anthology | Module information and stats for any @npmjs user | New! | 216 | | grunt-cat | Echo a file to the terminal. Works with text, figlets, ascii art, and full-color ansi. | New! | 102 |

This list was generated using anthology.

License

Copyright (c) 2014 undefined, contributors.

Released under the MIT license.

Screenshots are CC BY-SA (Attribution-ShareAlike).


Generated using grunt-readme with grunt-templates-dylang on Monday, October 6, 2014. Bitdeli Badge Google Analytics