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 🙏

© 2026 – Pkg Stats / Ryan Hefner

node-plop-cjs

v0.32.0

Published

programmatic plopping for fun and profit (CommonJS version)

Readme

Node-Plop CJS

npm

CommonJS version of node-plop - programmatic plop for fun and profit

This is a CommonJS (require/module.exports) version of node-plop, kept in sync with the main ESM version. This package provides the same functionality as node-plop but uses CommonJS module syntax for compatibility with older Node.js projects and environments that don't support ES modules.

What is this?

This is the backend code that drives the plop CLI tool. It allows you to automate code generation through processes and tools OTHER than the command line, making it easier to integrate plop functionality into your Node.js applications.

Usage

const nodePlop = require('node-plop-cjs');

// Load an instance of plop from a plopfile
const plop = await nodePlop('./path/to/plopfile.js');

// Get a generator by name
const basicAdd = plop.getGenerator('basic-add');

// Run all the generator actions using the data specified
basicAdd.runActions({name: 'this is a test'}).then(function (results) {
  // Do something after the actions have run
});

Version Sync

This package is kept in sync with the main node-plop package (currently v0.32.0). All features and bug fixes are ported to maintain compatibility.

Key Differences from ESM version

  • Module System: Uses CommonJS (require/module.exports) instead of ES modules (import/export)
  • Helper Functions: Uses older helper function names for compatibility:
    • kebabCase instead of kebab-case
    • camelCase instead of camel-case
    • pascalCase instead of pascal-case
    • etc.

Installation

npm install node-plop-cjs

Why CommonJS?

While the JavaScript ecosystem is moving toward ES modules, many existing projects and tools still rely on CommonJS. This package ensures that you can use plop's powerful code generation capabilities in:

  • Legacy Node.js applications
  • Build tools that require CommonJS
  • Environments with strict CommonJS requirements
  • Projects that cannot easily migrate to ES modules

Documentation

For full documentation on how to use node-plop, please refer to the main plop documentation and node-plop documentation. The API is identical except for the module system differences noted above.