Skip to content

Commit 34af040

Browse files
authored
Merge pull request #13 from noxify/docs
Docs
2 parents 1cede27 + ac3bb22 commit 34af040

File tree

154 files changed

+8532
-2323
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

154 files changed

+8532
-2323
lines changed

.changeset/cold-trams-see.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
"create-vorsteh-queue": patch
3+
"@vorsteh-queue/adapter-drizzle": patch
4+
"@vorsteh-queue/adapter-prisma": patch
5+
"@vorsteh-queue/core": patch
6+
---
7+
8+
update JSDOC descriptions

.changeset/loose-bikes-clap.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
"create-vorsteh-queue": patch
3+
"@vorsteh-queue/adapter-drizzle": patch
4+
"@vorsteh-queue/adapter-prisma": patch
5+
"@vorsteh-queue/core": patch
6+
---
7+
8+
Updated dependencies

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,4 @@ yarn-error.log*
4949

5050
# turbo
5151
.turbo
52+
apps/docs/public/pagefind/

.prettierignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
turbo/generators/scaffold/templates/**/*.hbs
2-
**/.cache
2+
**/.cache
3+
CHANGELOG.md
4+
**/CHANGELOG.md

.vscode/launch.json

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,33 @@
22
"version": "0.2.0",
33
"configurations": [
44
{
5-
"name": "Next.js",
5+
"name": "Next.js: debug server-side",
66
"type": "node-terminal",
77
"request": "launch",
8-
"command": "pnpm dev",
9-
"cwd": "${workspaceFolder}/apps/nextjs/",
10-
"skipFiles": ["<node_internals>/**"]
8+
"command": "pnpm dev:docs",
9+
"cwd": "${workspaceFolder}/apps/docs"
10+
},
11+
{
12+
"name": "Next.js: debug client-side",
13+
"type": "chrome",
14+
"request": "launch",
15+
"url": "http://localhost:3000"
16+
},
17+
{
18+
"name": "Next.js: debug full stack",
19+
"type": "node",
20+
"request": "launch",
21+
"cwd": "${workspaceFolder}/apps/docs",
22+
"program": "${workspaceFolder}/node_modules/next/dist/bin/next",
23+
"runtimeArgs": ["--inspect"],
24+
"skipFiles": ["<node_internals>/**"],
25+
"serverReadyAction": {
26+
"action": "debugWithChrome",
27+
"killOnServerStop": true,
28+
"pattern": "- Local:.+(https?://.+)",
29+
"uriFormat": "%s",
30+
"webRoot": "${workspaceFolder}"
31+
}
1132
}
1233
]
1334
}

.vscode/settings.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111
{ "pattern": "tooling/*/" }
1212
],
1313
"tailwindCSS.experimental.configFile": {
14-
"apps/frontend/src/app/globals.css": ["apps/frontend/**"],
15-
"packages/ui/src/styles/globals.css": ["packages/**", "apps/frontend/**"]
14+
"apps/docs/src/app/globals.css": ["apps/docs/**"]
1615
},
1716
"tailwindCSS.emmetCompletions": true,
1817
"tailwindCSS.files.exclude": [

apps/docs/components.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"tsx": true,
66
"tailwind": {
77
"config": "",
8-
"css": "app/globals.css",
8+
"css": "src/app/globals.css",
99
"baseColor": "neutral",
1010
"cssVariables": true,
1111
"prefix": ""
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
title: Introduction
3+
description: Get started with Vorsteh Queue, a powerful TypeScript-first job queue for PostgreSQL.
4+
---
5+
6+
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.
7+
8+
## Key Features
9+
10+
- **Type-safe**: Full TypeScript support with generic job payloads
11+
- **Multiple adapters**: Drizzle ORM (PostgreSQL), Prisma ORM (PostgreSQL), and in-memory implementations
12+
- **Priority queues**: Numeric priority system (lower = higher priority)
13+
- **Delayed jobs**: Schedule jobs for future execution
14+
- **Recurring jobs**: Cron expressions and interval-based repetition
15+
- **UTC-first timezone support**: Reliable timezone handling with UTC storage
16+
- **Progress tracking**: Real-time job progress updates
17+
- **Event system**: Listen to job lifecycle events
18+
- **Graceful shutdown**: Clean job processing termination
19+
20+
## Requirements
21+
22+
- **Node.js 20+**
23+
- **ESM only** - This package is ESM-only
24+
- **PostgreSQL 12+** for production use
25+
26+
## Architecture
27+
28+
Vorsteh Queue follows a modular architecture with:
29+
30+
- **Core package** - Contains the main queue logic and interfaces
31+
- **Adapter packages** - ORM-specific implementations
32+
- **UTC-first design** - All timestamps stored as UTC for consistency
33+
- **Event-driven** - Comprehensive event system for monitoring and debugging
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
title: Installation
3+
description: Learn how to install Vorsteh Queue packages for your preferred ORM adapter.
4+
---
5+
6+
## Prerequisites
7+
8+
Before installing Vorsteh Queue, ensure you have:
9+
10+
- **Node.js 20+**
11+
- **PostgreSQL 12+** database
12+
- **ESM project** - Add `"type": "module"` to your `package.json` or use `.mjs` file extensions
13+
14+
## Quick Start with CLI (Recommended)
15+
16+
The fastest way to get started is using the `create-vorsteh-queue` CLI tool:
17+
18+
```bash
19+
# Interactive setup
20+
npx create-vorsteh-queue my-queue-app
21+
22+
# Or with specific options
23+
npx create-vorsteh-queue worker-service \
24+
--template=drizzle-postgres \
25+
--package-manager=pnpm \
26+
--quiet
27+
```
28+
29+
### Available Templates
30+
31+
- **drizzle-pg** - Basic Drizzle ORM with node-postgres
32+
- **drizzle-pglite** - Zero-setup with embedded PostgreSQL
33+
- **drizzle-postgres** - Advanced with recurring jobs
34+
- **event-system** - Comprehensive event monitoring
35+
- **progress-tracking** - Real-time progress updates
36+
- **pm2-workers** - Multi-process workers with PM2
37+
38+
## Manual Installation
39+
40+
If you prefer to add Vorsteh Queue to an existing project:
41+
42+
### Drizzle ORM (PostgreSQL)
43+
44+
<PackageInstall
45+
packages={["@vorsteh-queue/core", "@vorsteh-queue/adapter-drizzle"]}
46+
className={{ container: "not-prose", code: "not-prose" }}
47+
/>
48+
49+
### Prisma ORM (PostgreSQL)
50+
51+
<PackageInstall
52+
packages={["@vorsteh-queue/core", "@vorsteh-queue/adapter-prisma"]}
53+
className={{ container: "not-prose", code: "not-prose" }}
54+
/>
55+
56+
## Database Setup
57+
58+
After installation, you'll need to set up the required database tables. Each adapter provides migration scripts or schema definitions:
59+
60+
- **Drizzle**: Use the provided schema and run migrations
61+
- **Prisma**: Add the schema to your `schema.prisma` and run `prisma migrate`
62+
63+
Refer to the specific adapter documentation for detailed setup instructions.
64+
65+
## Verify Installation
66+
67+
Create a simple test file to verify your installation:
68+
69+
```typescript
70+
import { Queue } from "@vorsteh-queue/core"
71+
72+
// Your adapter import will vary based on your choice
73+
console.log("Vorsteh Queue installed successfully!")
74+
```
75+
76+
Run the file with Node.js to confirm everything is working correctly.

0 commit comments

Comments
 (0)