Core framework Nova.js yang berjalan sebagai dependency di node_modules.
Berisi kernel, routing, modul, dan integrasi DB.
npm install @untrustnova/nova-frameworkimport { NovaKernel } from '@untrustnova/nova-framework/kernel';
import { defineConfig, react, tailwindcss } from '@untrustnova/nova-framework/config';
import { route } from '@untrustnova/nova-framework/routing';
import { storageModule, cacheModule, logsModule } from '@untrustnova/nova-framework/modules';
import { Controller } from '@untrustnova/nova-framework/controller';
import { app } from '@untrustnova/nova-framework/app';import config from './nova.config.js';
import { NovaKernel } from '@untrustnova/nova-framework/kernel';
import { storageModule, cacheModule, logsModule } from '@untrustnova/nova-framework/modules';
const app = new NovaKernel(config);
app.registerModule('storage', storageModule);
app.registerModule('cache', cacheModule);
app.registerModule('logs', logsModule);
app.start();Mendukung handler sederhana ala Laravel:
import { route } from '@untrustnova/nova-framework/routing';
export default () => {
const routes = route();
routes.get('/', 'HomeController@index');
return routes.toArray();
};Middleware dapat ditambahkan di level route:
routes.post('/posts', authMiddleware, 'PostsController@store');Handler juga bisa menggunakan Request/Response:
routes.get('/ping', (request, response) => {
response.json({ ok: true });
});const db = app.db;
const cache = app.cache();Drizzle digunakan untuk SQL:
- SQLite (
better-sqlite3) - MySQL (
mysql2) - PostgreSQL (
pg)
MongoDB dan Supabase diposisikan sebagai NoSQL dan memerlukan adapter khusus.
- Storage (local, S3, MinIO)
- Cache (memory, redis)
- Logs (paperlog)
Nova menyetel header keamanan dasar dan membatasi ukuran body request.
Atur melalui security di nova.config.js.
export default defineConfig({
security: {
bodyLimit: 1024 * 1024,
},
});MIT