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

@vendure-platform/create

v0.5.0

Published

CLI tool to scaffold a Vendure demo project with Vendure Platform plugins

Readme

@vendure-platform/create

Scaffold a Vendure Platform project with selected plugins, Docker infrastructure, demo data, and an optional Next.js storefront.

Usage

npx @vendure-platform/create my-project

This starts an interactive setup. For non-interactive usage, provide both --plugins and --company:

npx @vendure-platform/create my-project \
  --company "Acme Corp" \
  --plugins approval-workflows,price-rules \
  --no-storefront

CLI Flags

| Flag | Description | Default | |------|-------------|---------| | --plugins <list> | Comma-separated optional plugin keys | (interactive prompt) | | --company <name> | Company name for branding | (derived from project name) | | --registry-token <token> | Vendure private-registry npm auth token (baked into .npmrc) | (interactive prompt) | | --license-token <token> | Vendure Platform server-side license token (written to .env) | (interactive prompt) | | --no-storefront | Skip the Next.js storefront | included | | --github | Create a private GitHub repo via gh CLI | no | | --github-org <org> | GitHub organization for the repo (only used with --github) | vendurehq | | --no-install | Skip npm install after scaffolding | runs install | | --no-git | Skip git init | inits git | | --dry-run | Print what would be created without writing files | off |

When --plugins and --company are both provided, the CLI runs in non-interactive mode.

Tokens: registry vs license

The Vendure Enterprise Portal issues two distinct tokens with different purposes - keep them straight:

  • Registry token: npm auth token for the private registry. Lets ${pm} install download @vendure-platform/* packages. The CLI writes it into the project .npmrc as _authToken. .npmrc is gitignored.
  • License token: checked at server boot by the License Guard plugin. The CLI writes it into .env as VENDURE_PLATFORM_LICENSE_TOKEN.

They are not interchangeable. Pass each via its dedicated flag (--registry-token, --license-token) or paste each at its own interactive prompt. Either can be skipped (blank input) if you want to add it later.

Plugin Tiers

Plugins fall into three tiers (mirroring @vendure-platform/plugin-meta):

  • Core: always active, can't be disabled. Hidden from the interactive prompt.
  • Optional: active by default. Pre-ticked in the prompt; deselect to emit <key>: false in the generated vendure-config.ts.
  • Requires config: inactive by default. Pick from the prompt to enable; the generated config carries the env-var-driven options block.

| Key | Plugin | Category | Tier | |-----|--------|----------|------| | license-guard | License Guard | platform | core-requires-config | | org-hierarchy | Org Hierarchy | b2b | core | | advanced-search | Advanced Search | search | core | | workflow-engine | Workflow Engine | platform | core | | approval-workflows | Approval Workflows | b2b | optional | | global-search | Global Search | search | optional | | entity-access-control | Entity Access Control | b2b | optional | | tax-id-management | Tax ID Management | b2b | optional | | shopping-list | Shopping List | commerce | optional | | quick-order | Quick Order | commerce | optional | | reorder-from-history | Reorder from History | commerce | optional | | store-credit | Store Credit / Gift Cards | commerce | optional | | quote-management | Quote Management | b2b | optional | | price-rules | Price Rules | commerce | optional | | packaging-units | Packaging Units | commerce | optional | | content-versioning | Content Versioning | platform | optional | | configurator | Configurator | commerce | optional | | sso | SSO | platform | requires-config | | audit-trail | Audit Trail | platform | requires-config |

The canonical list lives in libs/plugin-meta/src/index.ts; this table mirrors it.

Dependencies

Inter-plugin dependencies are resolved by VendurePlatform.init() at runtime - not by the scaffolder. Selecting approval-workflows will activate org-hierarchy and workflow-engine automatically (they're core anyway). Selecting global-search will activate advanced-search (also core). Integration sub-plugins between active pairs are wired automatically.

After Scaffolding

cd my-project
docker compose up -d
npm run populate
npm run dev

See the Quick Start guide for the full walkthrough.