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

onestack-cli

v0.1.0

Published

OneStack — Next.js + NestJS + Auto-CRUD admin, unified. Scaffold, generate, and deploy full-stack apps with one tool. No ORM, zero config.

Downloads

150

Readme

OneStack

onestack-cli

One framework. Full stack. Zero config. No ORM.

Next.js + NestJS + Auto-CRUD admin — unified into a single developer experience.

npm license node

English · Azərbaycanca · Türkçe


English

What is OneStack?

OneStack is an opinionated full-stack meta-framework that combines:

  • Next.js 15 (App Router) — frontend + admin panel
  • NestJS 10 — backend API with auto-discovered resources
  • Native DB drivers (pg / mysql2 / better-sqlite3) — no ORM, no schema files
  • Zod — one schema validates both API and forms
  • Auto-CRUD admin — defines a resource once, every screen mounts itself
  • JWT + RBAC auth — login, register, refresh, role guards out of the box
  • Premium UI — Inter font, gradient brand panel, glassmorphism cards, smooth animations

Quickstart

# 1. Scaffold a new project
npx onestack-cli create my-app

# 2. Start every app
cd my-app
pnpm dev

# 3. Open
#   web    → http://localhost:3000
#   api    → http://localhost:4000/api
#   admin  → http://localhost:3001  ([email protected] / admin1234)

Generate a resource

onestack generate resource Product
# Auto-creates: NestJS controller + service, admin CRUD page,
# typed FE method `api.products.list()`, SQL migration, Zod validator.

CLI commands

| Command | Purpose | |---|---| | onestack create <name> | Scaffold a new monorepo | | onestack generate resource <Name> | New CRUD resource (backend + admin + FE) | | onestack generate module <Name> | Plain NestJS module, no CRUD | | onestack generate page <Name> | Next.js page in apps/web/app/ | | onestack add db | Re-configure database (sqlite/postgres/mysql) | | onestack deploy --target docker\|vercel\|railway\|vps | One-shot deploy |

Resource example

Define once:

// apps/api/src/resources/product.resource.ts
import { defineResource, resources, z } from "@onestack/shared";

const Product = defineResource({
  name: "Product",
  fields: {
    title:  z.string().min(2),
    price:  z.coerce.number().nonnegative(),
    image:  z.string().optional(),
    status: z.enum(["draft", "published"]).default("draft"),
  },
  permissions: { list: "public", create: "admin", update: "admin", delete: "admin" },
});

resources.register(Product);
export default Product;

Get for free:

// apps/web/app/products/page.tsx (Server Component)
import { api } from "@/lib/api";
const { data } = await api.products.list({ query: { page: 1, perPage: 24 } });

The admin panel auto-mounts a polished CRUD page at /products — no extra code.

Database — no ORM

OneStack uses native drivers and a thin query helper. The schema is derived from your Resource DSL, so there's no schema.prisma or schema.ts to keep in sync.

pnpm --filter @onestack/db migrate    # creates tables from *.resource.ts
pnpm --filter @onestack/db seed       # creates the admin user

Supported: PostgreSQL, MySQL, SQLite.

Requirements

  • Node.js ≥ 20
  • pnpm 9 (recommended), npm, or yarn

License

MIT


Azərbaycanca

OneStack nədir?

OneStack — full-stack meta-framework olub aşağıdakıları bir vahid təcrübədə birləşdirir:

  • Next.js 15 (App Router) — frontend və admin panel
  • NestJS 10 — avtomatik kəşf olunan resurslarla backend API
  • Native DB sürücüləri (pg / mysql2 / better-sqlite3) — ORM yoxdur, schema faylları yoxdur
  • Zod — bir sxema həm API-ni, həm form-ları validasiya edir
  • Avtomatik admin CRUD — resursu bir dəfə təyin edirsən, hər səhifə özü qoşulur
  • JWT + RBAC autentifikasiya — login, qeydiyyat, refresh, rol-guards hazır
  • Premium UI — Inter font, gradient brand paneli, glass kartlar, hamar animasiyalar

Sürətli başlangıç

# 1. Yeni layihə qur
npx onestack-cli create my-app

# 2. Bütün app-ları başlat
cd my-app
pnpm dev

# 3. Aç
#   web    → http://localhost:3000
#   api    → http://localhost:4000/api
#   admin  → http://localhost:3001  ([email protected] / admin1234)

Resurs yarat

onestack generate resource Product
# Avtomatik yaradır: NestJS controller + service, admin CRUD səhifəsi,
# tip-təhlükəsiz FE metodu `api.products.list()`, SQL migrasiyası, Zod validator.

CLI komandaları

| Komanda | Nə edir | |---|---| | onestack create <name> | Yeni monorepo qurur | | onestack generate resource <Name> | Yeni CRUD resursu (backend + admin + FE) | | onestack generate module <Name> | Sadə NestJS modulu (CRUD-suz) | | onestack generate page <Name> | Next.js səhifəsi (apps/web/app/-da) | | onestack add db | Verilənlər bazasını yenidən konfiqurasiya edir | | onestack deploy --target docker\|vercel\|railway\|vps | Bir komanda ilə deploy |

Resurs nümunəsi

Bir dəfə təyin et:

// apps/api/src/resources/product.resource.ts
import { defineResource, resources, z } from "@onestack/shared";

const Product = defineResource({
  name: "Product",
  fields: {
    title:  z.string().min(2),
    price:  z.coerce.number().nonnegative(),
    image:  z.string().optional(),
    status: z.enum(["draft", "published"]).default("draft"),
  },
  permissions: { list: "public", create: "admin", update: "admin", delete: "admin" },
});

resources.register(Product);
export default Product;

Pulsuz əldə et:

// apps/web/app/products/page.tsx (Server Component)
import { api } from "@/lib/api";
const { data } = await api.products.list({ query: { page: 1, perPage: 24 } });

Admin paneli /products-da mükəmməl CRUD səhifəsini avtomatik mount edir — əlavə kod yox.

Verilənlər bazası — ORM yoxdur

OneStack native sürücülər və yüngül query helper istifadə edir. SQL sxemi Resource DSL-dən törədilirschema.prisma və ya schema.ts saxlamaq lazım deyil.

pnpm --filter @onestack/db migrate    # *.resource.ts-dən cədvəlləri yaradır
pnpm --filter @onestack/db seed       # admin istifadəçi yaradır

Dəstəklənir: PostgreSQL, MySQL, SQLite.

Tələblər

  • Node.js ≥ 20
  • pnpm 9 (tövsiyə olunur), npm və ya yarn

Lisenziya

MIT


Türkçe

OneStack nedir?

OneStack, aşağıdakıları tek bir geliştirici deneyiminde birleştiren bir full-stack meta-framework'tür:

  • Next.js 15 (App Router) — frontend ve admin paneli
  • NestJS 10 — kaynakları otomatik keşfeden backend API
  • Yerel veritabanı sürücüleri (pg / mysql2 / better-sqlite3) — ORM yok, şema dosyası yok
  • Zod — tek bir şema hem API'yi hem formları doğrular
  • Otomatik CRUD admin — bir kez tanımla, her sayfa kendi kendine bağlanır
  • JWT + RBAC kimlik doğrulama — giriş, kayıt, refresh, rol-guard'lar hazır
  • Premium UI — Inter font, gradient marka paneli, cam efektli kartlar, akıcı animasyonlar

Hızlı başlangıç

# 1. Yeni proje oluştur
npx onestack-cli create my-app

# 2. Tüm uygulamaları başlat
cd my-app
pnpm dev

# 3. Aç
#   web    → http://localhost:3000
#   api    → http://localhost:4000/api
#   admin  → http://localhost:3001  ([email protected] / admin1234)

Kaynak oluştur

onestack generate resource Product
# Otomatik oluşturur: NestJS controller + service, admin CRUD sayfası,
# tip-güvenli FE metodu `api.products.list()`, SQL migration, Zod doğrulayıcı.

CLI komutları

| Komut | Amacı | |---|---| | onestack create <name> | Yeni monorepo iskeletini kurar | | onestack generate resource <Name> | Yeni CRUD kaynağı (backend + admin + FE) | | onestack generate module <Name> | Sade NestJS modülü, CRUD'suz | | onestack generate page <Name> | Next.js sayfası (apps/web/app/ içinde) | | onestack add db | Veritabanını yeniden yapılandırır | | onestack deploy --target docker\|vercel\|railway\|vps | Tek komutla deploy |

Kaynak örneği

Bir kez tanımla:

// apps/api/src/resources/product.resource.ts
import { defineResource, resources, z } from "@onestack/shared";

const Product = defineResource({
  name: "Product",
  fields: {
    title:  z.string().min(2),
    price:  z.coerce.number().nonnegative(),
    image:  z.string().optional(),
    status: z.enum(["draft", "published"]).default("draft"),
  },
  permissions: { list: "public", create: "admin", update: "admin", delete: "admin" },
});

resources.register(Product);
export default Product;

Bedava elde et:

// apps/web/app/products/page.tsx (Server Component)
import { api } from "@/lib/api";
const { data } = await api.products.list({ query: { page: 1, perPage: 24 } });

Admin paneli /products'ta cilalanmış bir CRUD sayfasını otomatik olarak mount eder — ekstra kod yok.

Veritabanı — ORM yok

OneStack yerel sürücüler ve ince bir sorgu yardımcısı kullanır. SQL şeması Resource DSL'den türetilirschema.prisma veya schema.ts senkronize tutmaya gerek yok.

pnpm --filter @onestack/db migrate    # *.resource.ts'den tabloları oluşturur
pnpm --filter @onestack/db seed       # admin kullanıcı oluşturur

Desteklenen: PostgreSQL, MySQL, SQLite.

Gereksinimler

  • Node.js ≥ 20
  • pnpm 9 (önerilen), npm veya yarn

Lisans

MIT


Built with ❤️ for developers who ship fast.