Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »


0.1.2 • Public • Published


npm version CircleCI AppVeyor Build Status codecov dependencies Status devDependencies Status GuardRails badge Greenkeeper badge Conventional Commits

Basic Node.js utility functions. Complements the standard library, no dependencies.


Basic utility functions which complement the standard library. Mostly used in my own projects.


Install with:

npm install -g @dwmkerr/node-utils

Then important use functions as needed.

import { deleteIfExists } = require('@dwmkerr/node-utils');

Developer Guide

The only dependencies are Node LTS (or above).

Useful commands for development are:

Command Usage
npm test Runs the unit tests.
npm run test:debug Runs the tests in a debugger. Combine with .only and debugger for ease of debugging.
npm run cov Runs the tests, writing coverage reports to ./artifacts/coverage.

Currently the linting style is based on airbnb. Run npm run lint to lint the code.

Initial Setup

Install the dependencies (I recommend Node Version Manager):

nvm install --lts
nvm use --lts
git clone git@github.com:dwmkerr/node-utils.git
cd node-utils
npm install && npm test

Running Tests

Run the tests with:

npm test

Tests are executed with Mocha and coverage is handled by Istanbul. Coverage reports are written to an ./artifacts folder.

Note that best practices are to pass Mocha a quoted string with a glob pattern for cross-platform execution of tests (see Mocha Docs). However for some reason on AppVeyor this doesn't seem to work. Leaving the pattern unquoted works for cmd as well as the shell in builds for now. So please be careful if changing the quotes and test on both platforms.

Commit Messages

Conventional Commits should be used. This allows the CHANGELOG to be kept up to date automatically, and ensures that semantic versioning can be expected from the library.

Creating a Release

To create a release.

  • Merge your work to master.
  • Use npm run release.
  • Push and deploy git push --tags && git push && npm publish

Note that semantic-version is used, meaning a changelog is automatically kept up to date, and versioning is handled semantically based on the commit message.


Builds are run on CircleCI. You can run the CircleCI build locally with the following command:

make circleci



npm i @dwmkerr/node-utils

DownloadsWeekly Downloads






Unpacked Size

98.8 kB

Total Files


Last publish


  • avatar