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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@candlelib/dev-tools

v0.7.28

Published

Development Tools for Candle Library

Downloads

12

Readme

Candle Library Development Tools

This repo servers as the launch pad for developing Candle Library products. It can be used to create project workspaces, maintain consistent versions amongst the various projects, and publish working packages to repositories.

A vscode plugin for working with candle repositories is also maintained in this repo.

Installation

NPM

$ npm install -g @candlelib/dev-tools

Usage

install-workspace
$ candle.lib install-workspace [--vscode] <path-to-workspace-directory>
version
$ candle.lib version [--dryrun] [...<candle-library-repo-name>]

Commands

install-workspace

The candle.dev install-workspace command can be used to create a workspace directory for all Candle Library repositories on the local system. Once the workspace directory is created all Candle Library repositories are cloned into the workspace, and appropriate links are created to resolve module imports.

Other sub-commands target the repositories within this directory

version

The candle.dev version command is able to create new version commits for any Candle Library repo (including @candlelib/dev-tools). This is achieved by explicitly versioning any @candlelib/.. package the target repo is using and recursively testing and versioning each @candlelib dependency until all @candlelib dependencies have a latest version.

Should any dependency fail testing, the whole process is aborted and all actions are undone, leaving all repositories unchanged.

Changelog

A change log may be created to track changes made since the last version commit for any repo. This is based on the repo log messages, and may be skipped if this is not required. To opt into change log message, a commit message must have the label #changelog on a single line. For example, should a commit be made with the following message:

Feat: Demonstrate a commit with a change log entry

#changelog

Demonstrated a commit with a change log entry.  

the following section will be prepended to the CHANGLOG.md file when the repo is versioned:

[v##.##.##]

  • [Mon Jan ## ####]

    Demonstrated a commit with a change log entry.

Version Signals

As candle.dev version scans commit messages to determine the state of the repo, it looks for certain keywords that indicate major and minor changes that can effect the how the next version number is calculated. These keywords are case independent, and can be present anywhere within the commit message.

  • Breaking | Breaks | Break | Deprecate : This will cause a major version increase over the current major version. However, if the the major version value is 0, then the minor version number will instead be increased.

    example:

    Break: Change method X interface to ...
    ---
    Breaking: Change module name to  ...
    
  • Feat | Feature : This will cause, at minimum, a minor version increase

    example:

    Feat: Reduced method complexity and decreased processing time
    ---
    Feature: A
  • Fix | Correct | Change | Modify : This will cause, at minimum, a patch version increase

    Fix: Replace erroneous `==` expression with `=`
  • Refactor | Chore | Misc : These changes should not break anything, and will only cause a patch version increase.