# node-plop

> programmatic plopping for fun and profit

Latest version **0.32.3** (published 2025-09-26) · MIT license · 0 weekly downloads

## Install

```sh
npm install node-plop
pnpm add node-plop
yarn add node-plop
bun add node-plop
```

## Health

**Score 65/100 (B)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.32.3 |
| Published | 2025-09-26 |
| First published | 2016-10-06 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=18 |
| Dependencies | 10 |
| Unpacked size | 84.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 7672 |
| Author | Andrew Worcester |
| Maintainers | amwmedia, crutchcorn |
| Keywords | plop, generator, scaffolding, node, programmatic, automation |

## Links

- npm: https://www.npmjs.com/package/node-plop
- Repository: https://github.com/plopjs/plop
- Homepage: https://github.com/plopjs/plop#readme
- Issues: https://github.com/plopjs/plop/issues
- npm.io page: https://npm.io/package/node-plop

## Dependencies (10)

- [dlv](https://npm.io/package/dlv.md) ^1.1.3
- [resolve](https://npm.io/package/resolve.md) ^1.22.10
- [inquirer](https://npm.io/package/inquirer.md) ^9.3.8
- [handlebars](https://npm.io/package/handlebars.md) ^4.7.8
- [tinyglobby](https://npm.io/package/tinyglobby.md) ^0.2.15
- [title-case](https://npm.io/package/title-case.md) ^4.3.2
- [change-case](https://npm.io/package/change-case.md) ^5.4.4
- [isbinaryfile](https://npm.io/package/isbinaryfile.md) ^5.0.6
- [@types/inquirer](https://npm.io/package/@types/inquirer.md) ^9.0.9
- [@types/picomatch](https://npm.io/package/@types/picomatch.md) ^4.0.2

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 0.32.3 (latest) — 2025-09-26
- 0.32.2 — 2025-09-20
- 0.32.1 — 2025-09-04
- 0.32.0 — 2023-09-05
- 0.31.1 — 2023-02-08
- 0.31.0 — 2022-04-27
- 0.30.1 — 2022-04-25
- 0.30.0 — 2021-11-27
- 0.30.0-alpha.1 — 2021-11-24
- 0.26.3 — 2021-10-18
- 0.26.2 — 2020-07-31
- 0.26.1 — 2020-07-19
- 0.26.0 — 2020-05-21
- 0.25.0 — 2020-03-03
- 0.24.0 — 2020-02-17
- … 32 more at https://npm.io/package/node-plop/versions

## README

# Node-Plop

[![npm](https://img.shields.io/npm/v/node-plop.svg)](https://www.npmjs.com/package/node-plop)
[![GitHub actions](https://img.shields.io/github/workflow/status/plopjs/node-plop/test)](https://github.com/plopjs/node-plop/actions/workflows/test.yml)

This is an early publication of the plop core logic being removed from the CLI tool. Main purpose for this is to make it easier for others to automate code generation through processes and tools OTHER than the command line. This also makes it easier to test the code functionality of PLOP without needing to test via the CLI interface.

This is the backend code that drives the plop CLI tool using node-plop.

```javascript
import nodePlop from "node-plop";
// 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
});
```

---
_Source: https://npm.io/package/node-plop · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
