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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@reactslides/cli

v0.0.8

Published

CLI tools for creating and managing ReactSlides presentations

Readme

@reactslides/cli

Command-line interface for ReactSlides - scaffolding and development tools.

Installation

npm install -g @reactslides/cli
# or
npx @reactslides/cli

Commands

Create a new presentation

# Interactive mode
npx create-reactslides

# With project name
npx create-reactslides my-presentation

# With template
npx create-reactslides my-presentation --template corporate

Available templates:

  • minimal - Simple starter template
  • corporate - Professional business presentations
  • developer - Code-heavy technical presentations
  • creative - Bold, visually rich presentations

Generate template from screenshots (AI-Powered)

Create custom templates automatically from presentation screenshots:

# Interactive mode
npx reactslides create-template-from-screenshots

# With screenshots
npx reactslides create-template-from-screenshots my-template \
  --screenshots slide1.png slide2.png slide3.png

# Using Claude instead of OpenAI
npx reactslides create-template-from-screenshots my-template \
  --screenshots slide.png \
  --provider claude

Requirements:

  • API key: OPENAI_API_KEY or ANTHROPIC_API_KEY
  • Screenshot images (PNG/JPG, 1920x1080+ recommended)

The command will analyze your screenshots and generate:

  • Color palette extraction
  • Typography sizing (Tailwind classes)
  • Layout structure detection
  • SVG placeholder assets
  • Complete template package

See Template Generator README for detailed usage.

Development server

reactslides dev              # Start dev server on port 3000
reactslides dev --port 5000  # Custom port
reactslides dev --host       # Expose to network
reactslides dev --open       # Open browser on startup

Build for production

reactslides build              # Build to ./dist
reactslides build --outDir out # Custom output directory
reactslides build --base /app/ # Custom base path for deployment

Import presentations

Import from PowerPoint or Google Slides:

# Import from PowerPoint
reactslides import --from pptx presentation.pptx

# Import with custom output directory
reactslides import --from pptx presentation.pptx --output-dir my-presentation

# Import from Google Slides (requires Google API credentials)
reactslides import --from google-slides <presentation-id>
reactslides import --from google-slides https://docs.google.com/presentation/d/...

# With style preservation
reactslides import --from pptx presentation.pptx --preserve-styles

The import command will:

  1. Parse the presentation file
  2. Extract slides, content, and media
  3. Generate a ReactSlides project with exact dependencies
  4. Create positioned elements matching the original layout

Export presentation

reactslides export         # Export to static HTML
reactslides export --pdf   # Export to PDF (requires Playwright)
reactslides export --png   # Export slides as PNG (requires Playwright)

Preview built presentation

reactslides preview              # Preview on port 4173
reactslides preview --port 5000  # Custom port
reactslides preview --host       # Expose to network

Testing Unpublished Packages

When testing changes from a PR without publishing to npm:

Option 1: Using pnpm link (Recommended for monorepo)

# In the monorepo root (after building)
cd /path/to/reactslides-monorepo
pnpm build

# Link the packages globally
cd packages/reactslides
pnpm link --global

cd ../shared-ui
pnpm link --global

cd ../../apps/cli
pnpm link --global

# In your test project
cd /path/to/test-project
pnpm link --global @reactslides/core
pnpm link --global @reactslides/shared-ui
pnpm link --global @reactslides/cli

Option 2: Using local file dependencies

# In your test project's package.json
{
  "dependencies": {
    "@reactslides/core": "file:../monorepo/packages/reactslides",
    "@reactslides/shared-ui": "file:../monorepo/packages/shared-ui"
  }
}

Option 3: Testing CLI directly

# In the monorepo root
cd /path/to/reactslides-monorepo
pnpm build

# Run CLI commands directly
node apps/cli/dist/index.js import --from pptx presentation.pptx

# Or make it executable
chmod +x apps/cli/dist/index.js
./apps/cli/dist/index.js import --from pptx presentation.pptx

Option 4: Using the import generated project

After importing a presentation:

# The generated project will have exact version dependencies
cd imported-presentation

# Update package.json to use local packages
# Replace version numbers with file paths:
# "@reactslides/core": "file:../monorepo/packages/reactslides"

# Then install and run
pnpm install
pnpm dev

Template Structure

Each template includes:

my-presentation/
├── src/
│   ├── App.tsx        # Main presentation component
│   ├── main.tsx       # Entry point
│   └── index.css      # Styles with Tailwind
├── public/            # Static assets
├── index.html         # HTML entry
├── package.json
├── tsconfig.json
└── vite.config.ts

License

MIT