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

nonrest

v1.0.0

Published

Create a non-RESTful monorepo with WebSocket and HTTP backends

Readme

nonrest

🚀 Create a non-RESTful monorepo in seconds - WebSocket & HTTP backends, React web app, and React Native mobile app, all in one command.

Why nonrest?

Stop wasting time configuring monorepos. nonrest scaffolds a complete full-stack application with:

  • Real-time first: WebSocket backend for instant communication
  • HTTP backend: Traditional REST API when you need it
  • Modern web: React + Vite with hot module replacement
  • Native mobile: Expo-powered React Native app
  • Shared packages: Reusable UI components and business logic
  • pnpm workspace: Optimized monorepo structure out of the box

Perfect for chat apps, real-time dashboards, collaborative tools, multiplayer games, and any project where WebSocket communication matters.

Quick Start

# Install globally
npm install -g nonrest

# Create your project
nonrest my-awesome-app

# Start developing
cd my-awesome-app
pnpm dev

That's it! Your full-stack monorepo is ready to go.

What Gets Created?

my-awesome-app/
├── apps/
│   ├── ws-backend/       # WebSocket server
│   ├── http-backend/     # REST API server
│   ├── web/              # React web app (Vite)
│   └── native/           # React Native app (Expo)
├── packages/
│   ├── ui/               # Shared UI components
│   └── lib/              # Shared business logic
├── pnpm-workspace.yaml
└── package.json

Features

  • Lightning fast setup - Complete monorepo in under 2 minutes
  • 🔄 WebSocket ready - Real-time communication out of the box
  • 📱 Cross-platform - Web and native mobile from day one
  • 🎨 Shared components - Write once, use everywhere
  • 🛠️ Modern tooling - Vite, pnpm, Expo, and more
  • 🔥 Hot reload - Instant feedback across all apps

Commands

# Create a new project
nonrest <project-name>

# Show help
nonrest --help

# Show version
nonrest --version

Requirements

  • Node.js 16+
  • pnpm (will be configured automatically)

Project Structure Details

WebSocket Backend (apps/ws-backend)

Your real-time server. Perfect for:

  • Live chat and messaging
  • Real-time notifications
  • Collaborative editing
  • Live data feeds
  • Multiplayer game state

HTTP Backend (apps/http-backend)

Traditional REST API for:

  • User authentication
  • Database operations
  • File uploads
  • Third-party integrations

Web App (apps/web)

Modern React application with:

  • Vite for blazing fast HMR
  • ESLint configured
  • Ready to deploy

Native App (apps/native)

React Native with Expo for:

  • iOS and Android from one codebase
  • Instant updates with Expo
  • Easy debugging and testing

Shared Packages

  • packages/ui: Reusable React components
  • packages/lib: Business logic, utilities, and types

Development Workflow

# Start all apps in parallel
pnpm dev

# Run specific app
cd apps/web
pnpm dev

# Add dependencies to workspace root
pnpm add -w <package-name>

# Add dependencies to specific app
pnpm add <package-name> --filter web

Tech Stack

  • Package Manager: pnpm
  • Web Framework: React 19 + Vite
  • Mobile Framework: React Native + Expo
  • WebSocket: ws library
  • HTTP Server: Express
  • Monorepo: pnpm workspaces

Example Use Cases

  • 💬 Chat applications - Real-time messaging with mobile support
  • 📊 Live dashboards - Real-time data visualization
  • 🎮 Multiplayer games - Synchronized game state
  • ✏️ Collaborative tools - Google Docs-style editing
  • 📱 Social apps - Web + mobile with shared logic
  • 🔔 Notification systems - Push and real-time alerts

Coming Soon

  • [ ] TypeScript template option
  • [ ] Database integration templates (Prisma, Drizzle)
  • [ ] Authentication setup
  • [ ] Docker configuration
  • [ ] CI/CD templates

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT

Author

Created with ❤️ for developers who want to move fast and build real-time apps.


Made something cool with nonrest? Share it with us! We'd love to see what you build.