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

pyrajs-cli

v0.18.4

Published

πŸ”₯ @Pyra/cli - A cli tool for using core cli commands

Downloads

859

Readme

pyrajs-cli

πŸ”₯ Pyra.js - Next-gen build tool for blazing-fast web development

A modern, TypeScript-first build tool with zero-config defaults, instant dev server, and lightning-fast builds.

✨ Features

  • πŸš€ Blazing Fast - Powered by esbuild for instant builds and dev server startup
  • πŸ”₯ Hot Module Replacement - See changes instantly without losing state
  • πŸ“¦ Zero Config - Sensible defaults, works out of the box
  • 🎯 TypeScript First - Full TypeScript support with type checking
  • πŸ”Œ Plugin System - Extend functionality with a powerful plugin API
  • 🎨 Framework Agnostic - Works with React, Vue, Svelte, or vanilla JS/TS
  • πŸ“± Modern Bundling - ESM-first with automatic code splitting
  • πŸ› οΈ Smart Package Manager Detection - Auto-detects npm, pnpm, yarn, or bun

πŸ“¦ Installation

# npm
npm install -D pyrajs-cli

# pnpm
pnpm add -D pyrajs-cli

# yarn
yarn add -D pyrajs-cli

# bun
bun add -D pyrajs-cli

πŸš€ Quick Start

Create a New Project

# Auto-detects your package manager
npx pyrajs-cli create my-app

# Or specify package manager
npx pyrajs-cli create my-app --pm pnpm

# Or use a template
npx pyrajs-cli init my-app --template react

Use in Existing Project

# Install
npm install -D pyrajs-cli

# Add scripts to package.json
{
  "scripts": {
    "dev": "pyra dev",
    "build": "pyra build"
  }
}

# Start developing
npm run dev

πŸ“– Usage

Development Server

# Start dev server (default: http://localhost:3000)
pyra dev

# Custom port
pyra dev --port 8080

# Open browser automatically
pyra dev --open

Production Build

# Build for production
pyra build

# Custom output directory
pyra build --out-dir build

# With sourcemaps
pyra build --sourcemap

Create Projects

# Simple setup (recommended for quick start)
pyra create my-app

# Template-based setup (for frameworks)
pyra init my-react-app --template react --language typescript

# Skip dependency installation
pyra create my-app --skip-install

# Force specific package manager
pyra create my-app --pm yarn

βš™οΈ Configuration

Create a pyra.config.js or pyra.config.ts in your project root:

import { defineConfig } from 'pyrajs-cli';

export default defineConfig({
  // Entry point (default: 'src/index.ts')
  entry: 'src/main.ts',

  // Output directory (default: 'dist')
  outDir: 'build',

  // Dev server configuration
  server: {
    port: 3000,
    open: true,
    hmr: true,
  },

  // Build configuration
  build: {
    sourcemap: true,
    minify: true,
    target: 'es2020',
  },

  // Path aliases
  resolve: {
    alias: {
      '@': './src',
      '@components': './src/components',
    },
  },
});

🎯 Zero Config

Pyra works out of the box with sensible defaults:

  • Entry: src/index.ts or src/index.js
  • Output: dist/
  • Port: 3000
  • HMR: Enabled
  • TypeScript: Auto-detected and supported

πŸ”Œ Package Manager Detection

Pyra automatically detects your preferred package manager:

  1. Lockfiles - Checks for pnpm-lock.yaml, yarn.lock, bun.lockb, package-lock.json
  2. Environment - Reads npm_config_user_agent
  3. PATH - Detects available package managers
  4. Override - Use --pm <npm|pnpm|yarn|bun> to force a specific manager

πŸ—οΈ Project Structure

A typical Pyra project:

my-app/
β”œβ”€β”€ src/
β”‚   └── index.ts          # Your application entry
β”œβ”€β”€ index.html            # HTML entry point
β”œβ”€β”€ pyra.config.js        # Configuration (optional)
β”œβ”€β”€ package.json
└── tsconfig.json         # TypeScript config (optional)

πŸ“š Examples

React Project

// pyra.config.ts
import { defineConfig } from 'pyrajs-cli';

export default defineConfig({
  entry: 'src/main.tsx',
  framework: {
    name: 'react',
    options: {
      refresh: true, // Fast Refresh
    },
  },
  resolve: {
    alias: {
      '@': './src',
    },
  },
});

Multi-Page Application

export default defineConfig({
  entry: {
    main: 'src/main.ts',
    admin: 'src/admin.ts',
  },
  build: {
    splitting: true,
  },
});

Library/Package

export default defineConfig({
  entry: 'src/index.ts',
  build: {
    external: ['react', 'react-dom'],
    splitting: false,
    sourcemap: 'external',
  },
});

🎨 Framework Support

Pyra supports all major frameworks:

  • βœ… React - With Fast Refresh
  • βœ… Vue - Full SFC support
  • βœ… Svelte - With HMR
  • βœ… Preact - Optimized builds
  • βœ… Solid - Modern reactive UI
  • βœ… Vanilla - No framework needed

πŸ“¦ API

defineConfig(config)

Type-safe configuration helper:

import { defineConfig } from 'pyrajs-cli';

export default defineConfig({
  // Your config with full TypeScript autocomplete
});

Available Types

import type {
  PyraConfig,
  PyraPlugin,
  DevServerConfig,
  BuildConfig,
} from 'pyrajs-cli';

🀝 Contributing

Contributions are welcome! Please check out our GitHub repository.

πŸ“„ License

MIT Β© Nathaniel Paz

πŸ”— Links

⚑ Philosophy

"Speed creates flow, and flow creates creativity."

Pyra is built on the principle that developer tools should be fast, simple, and get out of your way. We believe that instant feedback and zero configuration enable developers to focus on what matters: building great products.


Made with πŸ”₯ by the Pyra team