@pearl-framework/core
v1.0.0
Published
Pearl.js core — IoC container, application kernel, service providers
Downloads
58
Maintainers
Readme
@pearl-framework/pearl
Batteries-included meta-package for Pearl.js — install once, get everything.
Installation
npm install @pearl-framework/pearl drizzle-orm zod dotenvUsage
Everything Pearl exports is available from a single import:
import {
// Application
Application,
ServiceProvider,
// HTTP
Router,
HttpKernel,
HttpContext,
// Auth
AuthManager,
JwtGuard,
Hash,
Authenticate,
// Validation
FormRequest,
ValidationPipe,
rules,
z,
// Database
DatabaseManager,
Model,
pgTable, serial, varchar, timestamp,
eq, and, or, desc, asc, sql,
// Events
Event,
Listener,
EventDispatcher,
// Queues
Job,
QueueManager,
// Mail
Mailable,
Mailer,
LogTransport,
} from '@pearl-framework/pearl'Minimal example
import 'dotenv/config'
import { Application, Router, HttpKernel } from '@pearl-framework/pearl'
import { AppServiceProvider } from './providers/AppServiceProvider.js'
const app = new Application({ root: import.meta.dirname })
app.register(AppServiceProvider)
await app.boot()
const router = new Router()
router.get('/', (ctx) => ctx.response.json({ message: 'Hello from Pearl 🦪' }))
await new HttpKernel().useRouter(router).listen(3000)Or scaffold a full project:
npx @pearl-framework/cli new my-app
cd my-app
npm run devWhat's included
| Export | Source |
|---|---|
| Application, ServiceProvider, Container, Config, env | @pearl-framework/core |
| Router, HttpKernel, HttpContext, Request, Response, Pipeline | @pearl-framework/http |
| FormRequest, ValidationPipe, validate, validateSync, rules, z | @pearl-framework/validate |
| AuthManager, JwtGuard, ApiTokenGuard, Hash, Authenticate, OptionalAuth | @pearl-framework/auth |
| Event, Listener, EventDispatcher | @pearl-framework/events |
| Job, QueueManager, QueueWorker | @pearl-framework/queue |
| Mailable, Mailer, SmtpTransport, SesTransport, LogTransport, ArrayTransport | @pearl-framework/mail |
| DatabaseManager, Model, Migrator, pgTable, eq, and, sql, desc, ... | @pearl-framework/database |
Using packages individually
If you only need specific features, install the packages directly:
npm install @pearl-framework/core @pearl-framework/httpSee the Pearl.js monorepo for each package's documentation.
