Skip to content
Merged

Docs #13

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
37ea951
update deps
noxify Jul 23, 2025
9e0fac9
update docs landing page
noxify Jul 24, 2025
a16ec45
fix path to `globals.css`
noxify Jul 24, 2025
948c45f
fix format / lint / type issues
noxify Jul 24, 2025
8f765e3
add changeset based on deps update
noxify Jul 24, 2025
b581019
add intentui as alternative to radix
noxify Jul 24, 2025
37104b3
use debounced search
noxify Jul 24, 2025
71c1202
update docs
noxify Jul 28, 2025
9376ad5
update docs
noxify Jul 28, 2025
deca015
update lock file
noxify Jul 28, 2025
f065c8e
fix format issues
noxify Jul 28, 2025
c43796c
fix lint issues
noxify Jul 28, 2025
edfc559
update prisma/adapter build command
noxify Jul 28, 2025
7ce5532
fix url issue
noxify Jul 28, 2025
491a733
WIP: api reference
noxify Jul 29, 2025
f0c0e7e
updates
noxify Jul 29, 2025
64c7ab5
disable "remove backtick from inline code block"
noxify Jul 29, 2025
f420239
WIP: render api docs
noxify Jul 29, 2025
90cb2b6
updates
noxify Jul 29, 2025
1b97834
update docs
noxify Jul 30, 2025
79bd325
update
noxify Jul 30, 2025
7b86eac
update docs rendering
noxify Jul 30, 2025
a4bc0a2
fix lint issues
noxify Jul 30, 2025
6dc3db2
update JSDOC descriptions
noxify Jul 30, 2025
4716031
update deps
noxify Jul 30, 2025
ae015f7
update docs
noxify Jul 30, 2025
634621a
update mobile view
noxify Jul 30, 2025
8e9a7fc
test opengraph image
noxify Jul 31, 2025
aebbe5d
add contentType
noxify Jul 31, 2025
8b3221d
use static image
noxify Jul 31, 2025
ea7e7f6
enable toc
noxify Jul 31, 2025
276dcaa
add loading state
noxify Jul 31, 2025
e97bee0
update search dialog
noxify Jul 31, 2025
7f4bc7b
add missing button description
noxify Jul 31, 2025
c68b224
generate robots.txt and sitemap.xml
noxify Jul 31, 2025
7e9344c
add missing export to robots.ts
noxify Jul 31, 2025
ac3bb22
add manifest
noxify Jul 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .changeset/cold-trams-see.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"create-vorsteh-queue": patch
"@vorsteh-queue/adapter-drizzle": patch
"@vorsteh-queue/adapter-prisma": patch
"@vorsteh-queue/core": patch
---

update JSDOC descriptions
8 changes: 8 additions & 0 deletions .changeset/loose-bikes-clap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
"create-vorsteh-queue": patch
"@vorsteh-queue/adapter-drizzle": patch
"@vorsteh-queue/adapter-prisma": patch
"@vorsteh-queue/core": patch
---

Updated dependencies
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,4 @@ yarn-error.log*

# turbo
.turbo
apps/docs/public/pagefind/
4 changes: 3 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
turbo/generators/scaffold/templates/**/*.hbs
**/.cache
**/.cache
CHANGELOG.md
**/CHANGELOG.md
29 changes: 25 additions & 4 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,33 @@
"version": "0.2.0",
"configurations": [
{
"name": "Next.js",
"name": "Next.js: debug server-side",
"type": "node-terminal",
"request": "launch",
"command": "pnpm dev",
"cwd": "${workspaceFolder}/apps/nextjs/",
"skipFiles": ["<node_internals>/**"]
"command": "pnpm dev:docs",
"cwd": "${workspaceFolder}/apps/docs"
},
{
"name": "Next.js: debug client-side",
"type": "chrome",
"request": "launch",
"url": "http://localhost:3000"
},
{
"name": "Next.js: debug full stack",
"type": "node",
"request": "launch",
"cwd": "${workspaceFolder}/apps/docs",
"program": "${workspaceFolder}/node_modules/next/dist/bin/next",
"runtimeArgs": ["--inspect"],
"skipFiles": ["<node_internals>/**"],
"serverReadyAction": {
"action": "debugWithChrome",
"killOnServerStop": true,
"pattern": "- Local:.+(https?://.+)",
"uriFormat": "%s",
"webRoot": "${workspaceFolder}"
}
}
]
}
3 changes: 1 addition & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
{ "pattern": "tooling/*/" }
],
"tailwindCSS.experimental.configFile": {
"apps/frontend/src/app/globals.css": ["apps/frontend/**"],
"packages/ui/src/styles/globals.css": ["packages/**", "apps/frontend/**"]
"apps/docs/src/app/globals.css": ["apps/docs/**"]
},
"tailwindCSS.emmetCompletions": true,
"tailwindCSS.files.exclude": [
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/components.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"tsx": true,
"tailwind": {
"config": "",
"css": "app/globals.css",
"css": "src/app/globals.css",
"baseColor": "neutral",
"cssVariables": true,
"prefix": ""
Expand Down
33 changes: 33 additions & 0 deletions apps/docs/content/docs/01.getting-started/01.introduction.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: Introduction
description: Get started with Vorsteh Queue, a powerful TypeScript-first job queue for PostgreSQL.
---

Vorsteh Queue is a powerful, type-safe queue engine designed for PostgreSQL 12+. It provides a robust solution for handling background jobs, scheduled tasks, and recurring processes in your Node.js applications.

## Key Features

- **Type-safe**: Full TypeScript support with generic job payloads
- **Multiple adapters**: Drizzle ORM (PostgreSQL), Prisma ORM (PostgreSQL), and in-memory implementations
- **Priority queues**: Numeric priority system (lower = higher priority)
- **Delayed jobs**: Schedule jobs for future execution
- **Recurring jobs**: Cron expressions and interval-based repetition
- **UTC-first timezone support**: Reliable timezone handling with UTC storage
- **Progress tracking**: Real-time job progress updates
- **Event system**: Listen to job lifecycle events
- **Graceful shutdown**: Clean job processing termination

## Requirements

- **Node.js 20+**
- **ESM only** - This package is ESM-only
- **PostgreSQL 12+** for production use

## Architecture

Vorsteh Queue follows a modular architecture with:

- **Core package** - Contains the main queue logic and interfaces
- **Adapter packages** - ORM-specific implementations
- **UTC-first design** - All timestamps stored as UTC for consistency
- **Event-driven** - Comprehensive event system for monitoring and debugging
76 changes: 76 additions & 0 deletions apps/docs/content/docs/01.getting-started/02.installation.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
title: Installation
description: Learn how to install Vorsteh Queue packages for your preferred ORM adapter.
---

## Prerequisites

Before installing Vorsteh Queue, ensure you have:

- **Node.js 20+**
- **PostgreSQL 12+** database
- **ESM project** - Add `"type": "module"` to your `package.json` or use `.mjs` file extensions

## Quick Start with CLI (Recommended)

The fastest way to get started is using the `create-vorsteh-queue` CLI tool:

```bash
# Interactive setup
npx create-vorsteh-queue my-queue-app

# Or with specific options
npx create-vorsteh-queue worker-service \
--template=drizzle-postgres \
--package-manager=pnpm \
--quiet
```

### Available Templates

- **drizzle-pg** - Basic Drizzle ORM with node-postgres
- **drizzle-pglite** - Zero-setup with embedded PostgreSQL
- **drizzle-postgres** - Advanced with recurring jobs
- **event-system** - Comprehensive event monitoring
- **progress-tracking** - Real-time progress updates
- **pm2-workers** - Multi-process workers with PM2

## Manual Installation

If you prefer to add Vorsteh Queue to an existing project:

### Drizzle ORM (PostgreSQL)

<PackageInstall
packages={["@vorsteh-queue/core", "@vorsteh-queue/adapter-drizzle"]}
className={{ container: "not-prose", code: "not-prose" }}
/>

### Prisma ORM (PostgreSQL)

<PackageInstall
packages={["@vorsteh-queue/core", "@vorsteh-queue/adapter-prisma"]}
className={{ container: "not-prose", code: "not-prose" }}
/>

## Database Setup

After installation, you'll need to set up the required database tables. Each adapter provides migration scripts or schema definitions:

- **Drizzle**: Use the provided schema and run migrations
- **Prisma**: Add the schema to your `schema.prisma` and run `prisma migrate`

Refer to the specific adapter documentation for detailed setup instructions.

## Verify Installation

Create a simple test file to verify your installation:

```typescript
import { Queue } from "@vorsteh-queue/core"

// Your adapter import will vary based on your choice
console.log("Vorsteh Queue installed successfully!")
```

Run the file with Node.js to confirm everything is working correctly.
Loading