A Yeoman generator that scaffolds Verdaccio plugins with TypeScript and a ready-to-use project structure — so you can focus on writing plugin logic instead of boilerplate.
npm install -g yo generator-verdaccio-pluginyo verdaccio-pluginThe generator walks you through a short set of prompts and creates a verdaccio-<name>/ directory with everything you need.
| Prompt | Description |
|---|---|
| Plugin type | auth, storage, middleware, or filter (see below) |
| Plugin name | Suffix after verdaccio- — e.g. my-plugin produces verdaccio-my-plugin |
| Description | Short description added to package.json |
| GitHub username / org | Populates the repository field in package.json |
| Author name & email | Stored locally and reused in future runs |
| Keywords | Comma-separated; verdaccio is always appended automatically |
Auth
auth:
verdaccio-my-plugin:
# your custom configStorage
store:
verdaccio-my-plugin:
# your custom configMiddleware
middlewares:
verdaccio-my-plugin:
enabled: trueFilter
filters:
verdaccio-my-plugin:
# your custom configverdaccio-<name>/
├── src/
│ ├── index.ts # Re-exports the plugin class
│ └── *-plugin.ts # Main plugin implementation
├── types/
│ └── index.d.ts # Custom configuration types
├── .editorconfig
├── .gitignore
├── .npmignore
├── .nvmrc
├── package.json
├── README.md
└── tsconfig.json
After scaffolding, build the plugin and link it for local testing:
cd verdaccio-<name>
npm install
npm run build
npm linkThen add the plugin name to your verdaccio.yaml and run Verdaccio.
# Install dependencies
pnpm install
# Build the generator
pnpm build
# Run tests
pnpm test
# Run tests with coverage
pnpm test:coverageSee the Verdaccio contributing guide for broader contribution guidelines.
