You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@valencets/valence

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@valencets/valence - npm Package Compare versions

Comparing version
0.16.0
to
0.17.0
+1
-1
dist/action.d.ts

@@ -1,2 +0,2 @@

import { ResultAsync } from 'neverthrow';
import { ResultAsync } from '@valencets/resultkit';
import type { ActionContext, ActionResult } from './define-config.js';

@@ -3,0 +3,0 @@ export interface ActionError {

@@ -1,1 +0,1 @@

{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAErE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,EACrD,GAAG,EAAE,aAAa,GACjB,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAUxC;AAED,wBAAgB,eAAe,CAAE,GAAG,EAAE,OAAO,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAO1F"}
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAErE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,EACrD,GAAG,EAAE,aAAa,GACjB,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAUxC;AAED,wBAAgB,eAAe,CAAE,GAAG,EAAE,OAAO,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAO1F"}

@@ -1,2 +0,2 @@

import { ResultAsync } from 'neverthrow';
import { ResultAsync } from '@valencets/resultkit';
export function executeAction(action, ctx) {

@@ -3,0 +3,0 @@ return ResultAsync.fromPromise(action(ctx), (reason) => {

@@ -1,1 +0,1 @@

{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQxC,MAAM,UAAU,aAAa,CAC3B,MAAqD,EACrD,GAAkB;IAElB,OAAO,WAAW,CAAC,WAAW,CAC5B,MAAM,CAAC,GAAG,CAAC,EACX,CAAC,MAAM,EAAe,EAAE;QACtB,MAAM,OAAO,GAAG,MAAM,YAAY,KAAK;YACrC,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,yBAAyB,CAAA;QAC7B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;IAC3C,CAAC,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAE,GAAwC;IACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACzD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACzE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC"}
{"version":3,"file":"action.js","sourceRoot":"","sources":["../src/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAQlD,MAAM,UAAU,aAAa,CAC3B,MAAqD,EACrD,GAAkB;IAElB,OAAO,WAAW,CAAC,WAAW,CAC5B,MAAM,CAAC,GAAG,CAAC,EACX,CAAC,MAAM,EAAe,EAAE;QACtB,MAAM,OAAO,GAAG,MAAM,YAAY,KAAK;YACrC,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,yBAAyB,CAAA;QAC7B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;IAC3C,CAAC,CACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAE,GAAwC;IACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAa,EAAE,CAAA;QAC3B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACzD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QACzE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC"}

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAY,MAAM,EAAE,MAAM,eAAe,CAAA;AA2CrD,wBAAsB,GAAG,CAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASrE;AA0rBD,wBAAsB,QAAQ,IAAK,OAAO,CAAC,IAAI,CAAC,CA2L/C;AAiQD,wBAAsB,YAAY,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D"}
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAY,MAAM,EAAE,MAAM,eAAe,CAAA;AA2CrD,wBAAsB,GAAG,CAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASrE;AA0uBD,wBAAsB,QAAQ,IAAK,OAAO,CAAC,IAAI,CAAC,CAgO/C;AAqQD,wBAAsB,YAAY,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM/D"}
import { writeFile, mkdir } from 'node:fs/promises';
import { join } from 'node:path';
import { join, dirname } from 'node:path';
import { fileURLToPath } from 'node:url';
import { createInterface } from 'node:readline/promises';

@@ -7,3 +8,3 @@ import { stdin, stdout } from 'node:process';

import { createServer } from 'node:http';
import { ResultAsync, fromThrowable } from 'neverthrow';
import { ResultAsync, fromThrowable } from '@valencets/resultkit';
import { createPool, closePool, loadMigrations, runMigrations } from '@valencets/db';

@@ -18,3 +19,3 @@ import { buildCms } from '@valencets/cms';

import { generateCollectionRoutes, buildGeneratedRouteMap, buildUserRouteMap } from './route-generator.js';
import { resolveStaticPath, resolveMimeType, sendHtml, serveStaticFile, stripTrailingSlash } from '@valencets/core/server';
import { resolveStaticPath, resolveMimeType, sendHtml, serveStaticFile, stripTrailingSlash, setSecurityHeaders } from '@valencets/core/server';
import { resolvePageRoute } from './page-router.js';

@@ -90,3 +91,3 @@ import { regenerateFromConfig } from './codegen/regenerate.js';

const dbUser = useDefaults ? 'postgres' : await ask(rl, 'Database user', 'postgres');
const dbPassword = useDefaults ? '' : await ask(rl, 'Database password', '');
const dbPassword = useDefaults ? 'postgres' : await ask(rl, 'Database password', 'postgres');
const serverPort = useDefaults ? '3000' : await ask(rl, 'Server port', '3000');

@@ -122,2 +123,5 @@ if (!useDefaults) {

}
const cliDir = dirname(fileURLToPath(import.meta.url));
const cliPkg = JSON.parse(readFileSync(join(cliDir, '..', 'package.json'), 'utf-8'));
const cliVersion = `^${cliPkg.version}`;
await writeFile(join(dir, 'package.json'), JSON.stringify({

@@ -135,5 +139,5 @@ name: projectName,

dependencies: {
'@valencets/valence': '^0.7.1',
'@valencets/cms': '^0.2.1',
'@valencets/db': '^0.1.2',
'@valencets/valence': cliVersion,
'@valencets/cms': 'latest',
'@valencets/db': 'latest',
tsx: '^4.21.0',

@@ -174,3 +178,11 @@ ...extraDeps

await writeFile(join(dir, '.env'), envContent);
await writeFile(join(dir, '.env.example'), envContent.replace(dbPassword, '').replace(/CMS_SECRET=.*/, 'CMS_SECRET=change-me'));
const envExampleContent = `DB_HOST=localhost
DB_PORT=5432
DB_NAME=${dbName}
DB_USER=${dbUser}
DB_PASSWORD=
PORT=${serverPort}
CMS_SECRET=change-me
`;
await writeFile(join(dir, '.env.example'), envExampleContent);
const gitignoreLines = ['node_modules/', 'dist/', '.env', 'uploads/', '*.log'];

@@ -474,2 +486,7 @@ if (learnMode)

const cms = cmsResult.value;
// Fire plugin onInit hooks
for (const hooks of cms.pluginHooks) {
if (hooks.onInit)
await hooks.onInit(cms);
}
// Learn mode setup

@@ -531,2 +548,25 @@ const learnProgress = await readLearnProgress(projectDir);

const method = (req.method ?? 'GET');
// Global security headers — baseline for all responses
// Admin routes will override CSP with nonce-based policy via sendHtml()
setSecurityHeaders(res);
// Health check — before all other processing
if (url.pathname === '/health' && (method === 'GET' || method === 'HEAD')) {
res.setHeader('Cache-Control', 'no-store');
const body = JSON.stringify({ status: 'ok', uptime: process.uptime() });
res.writeHead(200, { 'Content-Type': 'application/json', 'Content-Length': String(Buffer.byteLength(body)) });
res.end(method === 'HEAD' ? undefined : body);
return;
}
// Body-limit check for requests with Content-Length header
if (method === 'POST' || method === 'PATCH') {
const contentLength = req.headers['content-length'];
if (contentLength !== undefined) {
const length = parseInt(contentLength, 10);
if (!Number.isNaN(length) && length > 10_485_760) {
res.writeHead(413, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ error: 'Request entity too large' }));
return;
}
}
}
// Trailing-slash redirect (301) — before any route matching

@@ -664,3 +704,8 @@ const redirectTarget = stripTrailingSlash(req.url ?? '/');

const userRouteMap = buildUserRouteMap(loadedConfig.routes, projectDir, pool, cms);
server.listen(port, () => {
server.listen(port, async () => {
// Fire plugin onReady hooks
for (const hooks of cms.pluginHooks) {
if (hooks.onReady)
await hooks.onReady(cms);
}
console.log(`

@@ -734,5 +779,34 @@ Valence dev server running.

const cms = cmsResult.value;
// Fire plugin onInit hooks
for (const hooks of cms.pluginHooks) {
if (hooks.onInit)
await hooks.onInit(cms);
}
// eslint-disable-next-line complexity
const server = createServer(async (req, res) => {
const url = new URL(req.url ?? '/', `http://${req.headers.host}`);
const method = (req.method ?? 'GET');
// Global security headers — baseline for all responses
// Admin routes will override CSP with nonce-based policy via sendHtml()
setSecurityHeaders(res);
// Health check — before all other processing
if (url.pathname === '/health' && (method === 'GET' || method === 'HEAD')) {
res.setHeader('Cache-Control', 'no-store');
const body = JSON.stringify({ status: 'ok', uptime: process.uptime() });
res.writeHead(200, { 'Content-Type': 'application/json', 'Content-Length': String(Buffer.byteLength(body)) });
res.end(method === 'HEAD' ? undefined : body);
return;
}
// Body-limit check for requests with Content-Length header
if (method === 'POST' || method === 'PATCH') {
const contentLength = req.headers['content-length'];
if (contentLength !== undefined) {
const length = parseInt(contentLength, 10);
if (!Number.isNaN(length) && length > 10_485_760) {
res.writeHead(413, { 'Content-Type': 'application/json' });
res.end(JSON.stringify({ error: 'Request entity too large' }));
return;
}
}
}
// Trailing-slash redirect (301) — before any route matching

@@ -827,3 +901,8 @@ const redirectTarget = stripTrailingSlash(req.url ?? '/');

const userRouteMap = buildUserRouteMap(loadedConfig.routes, projectDir, pool, cms);
server.listen(port, () => {
server.listen(port, async () => {
// Fire plugin onReady hooks
for (const hooks of cms.pluginHooks) {
if (hooks.onReady)
await hooks.onReady(cms);
}
console.log(`

@@ -901,3 +980,7 @@ Valence server running.

const pm = detectPackageManager();
exec(`${pm} exec tsc`, process.cwd());
const ok = exec(`${pm} exec tsc`, process.cwd());
if (!ok) {
console.error('Build failed — TypeScript compilation errors above.');
process.exit(1);
}
log('Build complete.');

@@ -904,0 +987,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}

@@ -1,2 +0,2 @@

import { ResultAsync } from 'neverthrow';
import { ResultAsync } from '@valencets/resultkit';
import type { CollectionConfig } from '@valencets/cms';

@@ -3,0 +3,0 @@ interface RegenResult {

@@ -1,1 +0,1 @@

{"version":3,"file":"regenerate.d.ts","sourceRoot":"","sources":["../../src/codegen/regenerate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKtD,UAAU,WAAW;IACnB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AA6BD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,gBAAgB,EAAE,GACvC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAiCzC"}
{"version":3,"file":"regenerate.d.ts","sourceRoot":"","sources":["../../src/codegen/regenerate.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAKtD,UAAU,WAAW;IACnB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,UAAU,aAAa;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AA6BD,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,SAAS,gBAAgB,EAAE,GACvC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAiCzC"}
import { writeFile, mkdir, readFile } from 'node:fs/promises';
import { join } from 'node:path';
import { existsSync } from 'node:fs';
import { ResultAsync } from 'neverthrow';
import { ResultAsync } from '@valencets/resultkit';
import { generateEntityInterface } from './type-generator.js';

@@ -6,0 +6,0 @@ import { generateApiClient } from './api-client-generator.js';

@@ -1,1 +0,1 @@

{"version":3,"file":"regenerate.js","sourceRoot":"","sources":["../../src/codegen/regenerate.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"regenerate.js","sourceRoot":"","sources":["../../src/codegen/regenerate.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKtE;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAK,OAAO,CAAC,IAAI,CAAC,CAKxD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC3C,GAAG,SAAS,CAAA;IACb,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC9C,GAAG,SAAS,CAAA;IAEb,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IAGhF,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAA;CACrD;AAED,wBAAgB,aAAa,IAAK,QAAQ,GAAG,IAAI,CAqChD;AAED,wBAAsB,cAAc,IAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAgClE"}
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKtE;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAK,OAAO,CAAC,IAAI,CAAC,CAKxD;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAA;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC3C,GAAG,SAAS,CAAA;IACb,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;QACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;QACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACxC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC9C,GAAG,SAAS,CAAA;IAEb,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IAGhF,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAA;CACrD;AAED,wBAAgB,aAAa,IAAK,QAAQ,GAAG,IAAI,CA2ChD;AAeD,wBAAsB,cAAc,IAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAgClE"}
import { join } from 'node:path';
import { ResultAsync, fromThrowable } from 'neverthrow';
import { ResultAsync, fromThrowable } from '@valencets/resultkit';
import { existsSync, readFileSync } from 'node:fs';

@@ -45,4 +45,9 @@ import { execFileSync } from 'node:child_process';

const username = process.env.DB_USER;
if (!host || !database || !username)
const password = process.env.DB_PASSWORD;
const sslmode = process.env.DB_SSLMODE;
const sslrootcert = readSslRootCert();
if (!host || !database || !username || !password)
return null;
if (sslmode !== undefined && !isDbSslMode(sslmode))
return null;
return {

@@ -53,8 +58,20 @@ host,

username,
password: process.env.DB_PASSWORD ?? '',
password,
max: 5,
idle_timeout: 10,
connect_timeout: 10
connect_timeout: 10,
sslmode,
sslrootcert
};
}
function isDbSslMode(value) {
return value === 'disable' || value === 'require' || value === 'verify-ca' || value === 'verify-full';
}
function readSslRootCert() {
const certFile = process.env.DB_SSLROOTCERT_FILE;
if (certFile) {
return readFileSync(certFile, 'utf-8');
}
return process.env.DB_SSLROOTCERT;
}
export async function loadUserConfig() {

@@ -61,0 +78,0 @@ const configPath = join(process.cwd(), 'valence.config.ts');

@@ -1,1 +0,1 @@

{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../src/config-loader.ts"],"names":[],"mappings":"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"}

@@ -1,1 +0,1 @@

{"version":3,"file":"config-template.d.ts","sourceRoot":"","sources":["../src/config-template.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,qBAAqB,GAAG,MAAM,CA2E3E;AAED,wBAAgB,cAAc,IAAK,MAAM,CAOxC"}
{"version":3,"file":"config-template.d.ts","sourceRoot":"","sources":["../src/config-template.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,sBAAsB,CAAE,IAAI,EAAE,qBAAqB,GAAG,MAAM,CAmF3E;AAED,wBAAgB,cAAc,IAAK,MAAM,CAOxC"}
export function generateConfigTemplate(opts) {
const { dbName, dbUser, dbPassword, serverPort, learnMode } = opts;
const learnComment = (text) => learnMode ? `// ${text}\n ` : '';
const dbSslModeExpression = `process.env.DB_SSLMODE === 'disable' ||
process.env.DB_SSLMODE === 'require' ||
process.env.DB_SSLMODE === 'verify-ca' ||
process.env.DB_SSLMODE === 'verify-full'
? process.env.DB_SSLMODE
: undefined`;
const tagsCollection = learnMode

@@ -28,3 +34,5 @@ ? `,

username: process.env.DB_USER ?? '${dbUser}',
password: process.env.DB_PASSWORD ?? '${dbPassword}'
password: process.env.DB_PASSWORD ?? '${dbPassword}',
sslmode: ${dbSslModeExpression},
sslrootcert: process.env.DB_SSLROOTCERT
},

@@ -31,0 +39,0 @@ server: {

@@ -1,1 +0,1 @@

{"version":3,"file":"config-template.js","sourceRoot":"","sources":["../src/config-template.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,sBAAsB,CAAE,IAA2B;IACjE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IAElE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAE1E,MAAM,cAAc,GAAG,SAAS;QAC9B,CAAC,CAAC;;;;;;;;;;;;;UAaI;QACN,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO;EACP,SAAS,CAAC,CAAC,CAAC,4MAA4M,CAAC,CAAC,CAAC,EAAE;;;;;wCAKvL,MAAM;wCACN,MAAM;4CACF,UAAU;;;uCAGf,UAAU;;;MAG3C,YAAY,CAAC,4EAA4E,CAAC;;;;;;;;;;;;MAY1F,YAAY,CAAC,oEAAoE,CAAC;;;;;;;;;;;;;;QAchF,cAAc;;;;;;;;;sCASgB,MAAM;;;CAG3C,CAAA;AACD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,KAAK,GAAG,sCAAsC,CAAA;IACpD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
{"version":3,"file":"config-template.js","sourceRoot":"","sources":["../src/config-template.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,sBAAsB,CAAE,IAA2B;IACjE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAA;IAElE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAA;IAC1E,MAAM,mBAAmB,GAAG;;;;;kBAKZ,CAAA;IAEhB,MAAM,cAAc,GAAG,SAAS;QAC9B,CAAC,CAAC;;;;;;;;;;;;;UAaI;QACN,CAAC,CAAC,EAAE,CAAA;IAEN,OAAO;EACP,SAAS,CAAC,CAAC,CAAC,4MAA4M,CAAC,CAAC,CAAC,EAAE;;;;;wCAKvL,MAAM;wCACN,MAAM;4CACF,UAAU;eACvC,mBAAmB;;;;uCAIK,UAAU;;;MAG3C,YAAY,CAAC,4EAA4E,CAAC;;;;;;;;;;;;MAY1F,YAAY,CAAC,oEAAoE,CAAC;;;;;;;;;;;;;;QAchF,cAAc;;;;;;;;;sCASgB,MAAM;;;CAG3C,CAAA;AACD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,KAAK,GAAG,sCAAsC,CAAA;IACpD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}

@@ -1,2 +0,2 @@

import type { Result } from 'neverthrow';
import type { Result } from '@valencets/resultkit';
import type { IncomingMessage, Server, ServerResponse } from 'node:http';

@@ -66,2 +66,4 @@ import type { DbPool } from '@valencets/db';

readonly query_timeout?: number | undefined;
readonly sslmode?: 'disable' | 'require' | 'verify-ca' | 'verify-full' | undefined;
readonly sslrootcert?: string | undefined;
};

@@ -103,2 +105,4 @@ readonly server: {

readonly query_timeout?: number | undefined;
readonly sslmode: 'disable' | 'require' | 'verify-ca' | 'verify-full';
readonly sslrootcert?: string | undefined;
};

@@ -105,0 +109,0 @@ readonly server: {

@@ -1,1 +0,1 @@

{"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../src/define-config.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"define-config.d.ts","sourceRoot":"","sources":["../src/define-config.ts"],"names":[],"mappings":"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"}

@@ -1,2 +0,2 @@

import { ok, err } from 'neverthrow';
import { ok, err } from '@valencets/resultkit';
import { z } from 'zod';

@@ -9,14 +9,25 @@ import { validateCollections } from './validate-collections.js';

}).passthrough();
const dbSchema = z.object({
host: z.string().min(1),
port: z.number().int().min(1).max(65535),
database: z.string().min(1),
username: z.string().min(1),
password: z.string().min(1),
max: z.number().int().min(1).max(100).optional(),
idle_timeout: z.number().min(0).optional(),
connect_timeout: z.number().min(0).optional(),
query_timeout: z.number().min(0).optional(),
sslmode: z.enum(['disable', 'require', 'verify-ca', 'verify-full']).optional(),
sslrootcert: z.string().min(1).optional()
}).superRefine((db, ctx) => {
if ((db.sslmode === 'verify-ca' || db.sslmode === 'verify-full') && db.sslrootcert === undefined) {
ctx.addIssue({
code: z.ZodIssueCode.custom,
path: ['sslrootcert'],
message: `sslrootcert is required when sslmode is ${db.sslmode}`
});
}
});
const configSchema = z.object({
db: z.object({
host: z.string().min(1),
port: z.number().int().min(1).max(65535),
database: z.string().min(1),
username: z.string().min(1),
password: z.string(),
max: z.number().int().min(1).max(100).optional(),
idle_timeout: z.number().min(0).optional(),
connect_timeout: z.number().min(0).optional(),
query_timeout: z.number().min(0).optional()
}),
db: dbSchema,
server: z.object({

@@ -80,3 +91,5 @@ port: z.number().int().min(1).max(65535),

connect_timeout: data.db.connect_timeout ?? 10,
query_timeout: data.db.query_timeout
query_timeout: data.db.query_timeout,
sslmode: data.db.sslmode ?? 'disable',
sslrootcert: data.db.sslrootcert
},

@@ -100,3 +113,3 @@ server: {

pathPrefix: data.admin.pathPrefix ?? '/admin',
requireAuth: data.admin.requireAuth ?? false
requireAuth: data.admin.requireAuth ?? true
}

@@ -103,0 +116,0 @@ : undefined,

@@ -1,1 +0,1 @@

{"version":3,"file":"define-config.js","sourceRoot":"","sources":["../src/define-config.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"define-config.js","sourceRoot":"","sources":["../src/define-config.ts"],"names":[],"mappings":"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"}
import type { DbConfig, DbError, DbPool } from '@valencets/db';
import type { ResultAsync } from 'neverthrow';
import type { ResultAsync } from '@valencets/resultkit';
interface PoolFactory {

@@ -4,0 +4,0 @@ readonly createPool: (config: DbConfig) => DbPool;

@@ -1,1 +0,1 @@

{"version":3,"file":"dev-database.d.ts","sourceRoot":"","sources":["../src/dev-database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAG7C,UAAU,WAAW;IACnB,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,CAAA;IACjD,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;CACjE;AAED,wBAAgB,aAAa,CAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAMzD;AAED,wBAAsB,iBAAiB,CAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3F"}
{"version":3,"file":"dev-database.d.ts","sourceRoot":"","sources":["../src/dev-database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGvD,UAAU,WAAW;IACnB,QAAQ,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,CAAA;IACjD,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;CACjE;AAED,wBAAgB,aAAa,CAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAMzD;AAED,wBAAsB,iBAAiB,CAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAa3F"}

@@ -1,1 +0,1 @@

{"version":3,"file":"landing-page.d.ts","sourceRoot":"","sources":["../src/landing-page.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CA+CjD"}
{"version":3,"file":"landing-page.d.ts","sourceRoot":"","sources":["../src/landing-page.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CA4cjD"}

@@ -8,41 +8,454 @@ import { PAGE_TOKEN_CSS } from './page-tokens.js';

<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Valence</title>
<title>Valence — Schema-driven CMS for TypeScript</title>
<meta name="description" content="One config generates your database, admin UI, REST API, and typed frontend. Schema-driven CMS framework for TypeScript.">
<style>
${PAGE_TOKEN_CSS}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: var(--val-font-sans); background: var(--val-color-bg); color: var(--val-color-text); display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.container { text-align: center; max-width: 480px; }
h1 { font-size: var(--val-text-5xl); font-weight: 300; letter-spacing: 0.1em; margin-bottom: var(--val-space-4); }
h1 span { font-weight: 600; color: var(--val-color-primary); }
p { color: var(--val-color-text-muted); line-height: 1.6; margin-bottom: var(--val-space-8); }
.links { display: flex; gap: var(--val-space-4); justify-content: center; }
a { color: var(--val-color-primary); text-decoration: none; padding: var(--val-space-2) var(--val-space-4); border: 1px solid var(--val-color-primary); border-radius: var(--val-radius-md); transition: all var(--val-duration-fast); }
a:hover { background: var(--val-color-primary); color: var(--val-color-bg); }
code { background: var(--val-color-bg-elevated); padding: var(--val-space-1) var(--val-space-2); border-radius: var(--val-radius-sm); font-size: var(--val-text-sm); }
/* --- Reset --- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
font-family: var(--val-font-sans);
background: var(--val-color-bg);
color: var(--val-color-text);
line-height: var(--val-leading-normal);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* --- Layout --- */
.page { max-width: 64rem; margin: 0 auto; padding: 0 var(--val-space-6); }
/* --- Nav --- */
.nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--val-space-5) 0;
border-bottom: 1px solid var(--val-color-border);
}
.nav-brand {
font-size: var(--val-text-lg);
font-weight: var(--val-weight-semibold);
color: var(--val-color-text);
text-decoration: none;
letter-spacing: 0.04em;
}
.nav-brand span { color: var(--val-green-400); }
.nav-links { display: flex; gap: var(--val-space-4); align-items: center; }
.nav-link {
color: var(--val-color-text-muted);
text-decoration: none;
font-size: var(--val-text-sm);
font-weight: var(--val-weight-medium);
transition: color var(--val-duration-fast) var(--val-ease-out);
}
.nav-link:hover { color: var(--val-color-text); }
/* --- Hero --- */
.hero {
padding: var(--val-space-24) 0 var(--val-space-16);
text-align: center;
}
.hero-badge {
display: inline-block;
font-size: var(--val-text-xs);
font-weight: var(--val-weight-semibold);
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--val-green-400);
border: 1px solid var(--val-green-600);
border-radius: var(--val-radius-full);
padding: var(--val-space-1) var(--val-space-4);
margin-bottom: var(--val-space-6);
}
.hero h1 {
font-size: clamp(2.5rem, 6vw, var(--val-text-5xl));
font-weight: var(--val-weight-bold);
line-height: var(--val-leading-tight);
letter-spacing: -0.02em;
margin-bottom: var(--val-space-6);
}
.hero h1 .accent {
background: linear-gradient(135deg, var(--val-green-400), var(--val-green-500));
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.hero .tagline {
font-size: var(--val-text-xl);
color: var(--val-color-text-muted);
max-width: 36rem;
margin: 0 auto var(--val-space-10);
line-height: var(--val-leading-relaxed);
}
.hero-actions {
display: flex;
gap: var(--val-space-4);
justify-content: center;
flex-wrap: wrap;
}
/* --- Buttons --- */
.btn {
display: inline-flex;
align-items: center;
gap: var(--val-space-2);
padding: var(--val-space-3) var(--val-space-6);
border-radius: var(--val-radius-md);
font-size: var(--val-text-base);
font-weight: var(--val-weight-medium);
text-decoration: none;
transition: all var(--val-duration-normal) var(--val-ease-out);
cursor: pointer;
border: none;
}
.btn-primary {
background: linear-gradient(135deg, var(--val-green-500), var(--val-green-400));
color: var(--val-gray-950);
}
.btn-primary:hover {
box-shadow: 0 0 20px oklch(0.7227 0.1920 149.58 / 0.3);
transform: translateY(-1px);
}
.btn-secondary {
background: var(--val-color-bg-elevated);
color: var(--val-color-text);
border: 1px solid var(--val-color-border);
}
.btn-secondary:hover {
border-color: var(--val-gray-600);
background: var(--val-color-bg-muted);
}
/* --- Port indicator --- */
.port-indicator {
text-align: center;
padding: var(--val-space-4) 0;
color: var(--val-color-text-muted);
font-size: var(--val-text-sm);
}
.port-indicator code {
background: var(--val-color-bg-elevated);
padding: var(--val-space-1) var(--val-space-2);
border-radius: var(--val-radius-sm);
font-family: var(--val-font-mono);
font-size: var(--val-text-xs);
color: var(--val-green-400);
border: 1px solid var(--val-color-border);
}
/* --- Feature cards --- */
.features {
padding: var(--val-space-16) 0;
border-top: 1px solid var(--val-color-border);
}
.features-header {
text-align: center;
margin-bottom: var(--val-space-12);
}
.features-header h2 {
font-size: var(--val-text-3xl);
font-weight: var(--val-weight-bold);
letter-spacing: -0.02em;
margin-bottom: var(--val-space-4);
}
.features-header p {
color: var(--val-color-text-muted);
font-size: var(--val-text-lg);
max-width: 32rem;
margin: 0 auto;
}
.features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
gap: var(--val-space-6);
}
.feature-card {
background: var(--val-color-bg-elevated);
border: 1px solid var(--val-color-border);
border-radius: var(--val-radius-lg);
padding: var(--val-space-6);
transition: border-color var(--val-duration-normal) var(--val-ease-out),
transform var(--val-duration-normal) var(--val-ease-out);
}
.feature-card:hover {
border-color: var(--val-gray-600);
transform: translateY(-2px);
}
.feature-icon {
width: 2.5rem;
height: 2.5rem;
border-radius: var(--val-radius-md);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: var(--val-space-4);
font-size: var(--val-text-xl);
background: var(--val-color-bg-muted);
}
.feature-card h3 {
font-size: var(--val-text-base);
font-weight: var(--val-weight-semibold);
margin-bottom: var(--val-space-2);
}
.feature-card p {
font-size: var(--val-text-sm);
color: var(--val-color-text-muted);
line-height: var(--val-leading-relaxed);
}
/* --- Code preview --- */
.code-section {
padding: var(--val-space-16) 0;
border-top: 1px solid var(--val-color-border);
}
.code-section-header {
text-align: center;
margin-bottom: var(--val-space-10);
}
.code-section-header h2 {
font-size: var(--val-text-3xl);
font-weight: var(--val-weight-bold);
letter-spacing: -0.02em;
margin-bottom: var(--val-space-4);
}
.code-section-header p {
color: var(--val-color-text-muted);
font-size: var(--val-text-lg);
max-width: 32rem;
margin: 0 auto;
}
.code-block {
background: var(--val-gray-900);
border: 1px solid var(--val-color-border);
border-radius: var(--val-radius-lg);
overflow: hidden;
max-width: 42rem;
margin: 0 auto;
}
.code-titlebar {
display: flex;
align-items: center;
gap: var(--val-space-2);
padding: var(--val-space-3) var(--val-space-4);
background: var(--val-gray-800);
border-bottom: 1px solid var(--val-color-border);
}
.code-dot {
width: 0.75rem;
height: 0.75rem;
border-radius: var(--val-radius-full);
background: var(--val-gray-600);
}
.code-filename {
font-family: var(--val-font-mono);
font-size: var(--val-text-xs);
color: var(--val-color-text-muted);
margin-left: var(--val-space-2);
}
.code-content {
padding: var(--val-space-5) var(--val-space-6);
overflow-x: auto;
}
.code-content pre {
font-family: var(--val-font-mono);
font-size: var(--val-text-sm);
line-height: 1.7;
white-space: pre;
color: var(--val-gray-300);
}
/* Syntax highlight classes */
.hl-kw { color: oklch(0.75 0.15 300); } /* keywords — purple */
.hl-fn { color: var(--val-blue-400); } /* functions */
.hl-str { color: var(--val-green-400); } /* strings */
.hl-cm { color: var(--val-gray-500); } /* comments */
.hl-type { color: oklch(0.80 0.12 70); } /* types/interfaces — warm */
.hl-prop { color: var(--val-gray-200); } /* properties */
.hl-punct { color: var(--val-gray-500); } /* punctuation */
/* --- Footer --- */
.footer {
padding: var(--val-space-8) 0;
border-top: 1px solid var(--val-color-border);
text-align: center;
}
.footer p {
font-size: var(--val-text-sm);
color: var(--val-color-text-muted);
}
.footer a {
color: var(--val-color-text-muted);
text-decoration: none;
transition: color var(--val-duration-fast);
}
.footer a:hover { color: var(--val-color-text); }
/* --- Responsive --- */
@media (max-width: 640px) {
.hero { padding: var(--val-space-16) 0 var(--val-space-10); }
.hero h1 { font-size: 2rem; }
.hero .tagline { font-size: var(--val-text-base); }
.hero-actions { flex-direction: column; align-items: center; }
.btn { width: 100%; max-width: 20rem; justify-content: center; }
.features-grid { grid-template-columns: 1fr; }
.code-content { padding: var(--val-space-4); }
.code-content pre { font-size: var(--val-text-xs); }
.nav-links { gap: var(--val-space-3); }
}
/* --- Scroll animation --- */
.fade-in {
opacity: 0;
transform: translateY(1.5rem);
transition: opacity var(--val-duration-slow) var(--val-ease-out),
transform var(--val-duration-slow) var(--val-ease-out);
}
.fade-in.visible {
opacity: 1;
transform: translateY(0);
}
/* --- Focus visible for keyboard nav --- */
a:focus-visible, .btn:focus-visible {
outline: 2px solid var(--val-blue-400);
outline-offset: 2px;
}
</style>
</head>
<body>
<div class="container">
<svg viewBox="0 0 360 80" fill="none" xmlns="http://www.w3.org/2000/svg" width="280" style="margin-bottom: var(--val-space-4);">
<defs>
<linearGradient id="orbital" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color: var(--val-color-primary-hover); stop-opacity: 0"/>
<stop offset="40%" style="stop-color: var(--val-color-primary-hover); stop-opacity: 0.25"/>
<stop offset="100%" style="stop-color: var(--val-color-primary-hover); stop-opacity: 0.7"/>
</linearGradient>
</defs>
<ellipse cx="180" cy="40" rx="172" ry="32" stroke="url(#orbital)" stroke-width="1.5" fill="none" transform="rotate(-5, 180, 40)"/>
<circle cx="350" cy="28" r="4" style="fill: var(--val-color-primary-hover)">
<animateMotion dur="4s" repeatCount="indefinite" path="M0,0 A172,32 -5 1 1 -340,24 A172,32 -5 1 1 0,0" />
</circle>
<text x="180" y="44" text-anchor="middle" font-family="system-ui, sans-serif" font-size="46" letter-spacing="0.1em" style="fill: var(--val-color-text)">
<tspan font-weight="600" style="fill: var(--val-color-primary-hover)">v</tspan><tspan font-weight="300">alence</tspan>
</text>
</svg>
<p>Your site is running on port ${port}. Edit <code>valence.config.ts</code> to add collections, then visit the admin panel to create content.</p>
<div class="links">
<a href="/admin">Admin Panel</a>
<a href="https://github.com/valencets/valence/wiki">Documentation</a>
<div class="page">
<!-- Nav -->
<nav class="nav" aria-label="Main navigation">
<a href="/" class="nav-brand"><span>v</span>alence</a>
<div class="nav-links">
<a href="/admin" class="nav-link">Admin</a>
<a href="/_learn" class="nav-link">Learn</a>
<a href="https://github.com/valencets/valence" class="nav-link" target="_blank" rel="noopener noreferrer">GitHub</a>
</div>
</nav>
<!-- Hero -->
<section class="hero">
<div class="hero-badge">Running on port ${port}</div>
<h1>One config.<br><span class="accent">Everything generated.</span></h1>
<p class="tagline">
Define your schema in TypeScript. Valence generates your database tables,
admin UI, REST API, and typed frontend scaffold.
</p>
<div class="hero-actions">
<a href="/admin" class="btn btn-primary">Open Admin Panel</a>
<a href="/_learn" class="btn btn-secondary">Learn Valence</a>
</div>
</section>
<!-- Port status -->
<div class="port-indicator">
Dev server ready at <code>http://localhost:${port}</code>
</div>
<!-- Features -->
<section class="features fade-in" aria-label="Key features">
<div class="features-header">
<h2>Built for developers</h2>
<p>Everything you need to build content-driven applications, without the boilerplate.</p>
</div>
<div class="features-grid">
<div class="feature-card">
<div class="feature-icon" aria-hidden="true">{}</div>
<h3>Schema-driven</h3>
<p>One <code>valence.config.ts</code> generates database tables, admin views, REST endpoints, and Zod validators automatically.</p>
</div>
<div class="feature-card">
<div class="feature-icon" aria-hidden="true">TS</div>
<h3>Type-safe end-to-end</h3>
<p>TypeScript from config to frontend. Strict null checks, exact optional properties, and generated types for every collection.</p>
</div>
<div class="feature-card">
<div class="feature-icon" aria-hidden="true">&lt;/&gt;</div>
<h3>Server-rendered admin</h3>
<p>No React, no client framework. The admin panel is plain HTML with minimal JavaScript. Fast to load, easy to customize.</p>
</div>
<div class="feature-card">
<div class="feature-icon" aria-hidden="true">PG</div>
<h3>Real PostgreSQL</h3>
<p>Not SQLite. Full-text search with tsvector, advisory locks for migrations, and proper transaction support out of the box.</p>
</div>
<div class="feature-card">
<div class="feature-icon" aria-hidden="true">+</div>
<h3>Plugin system</h3>
<p>Extend with first-party plugins for SEO metadata, nested documents, S3 cloud storage, and GraphQL schema generation.</p>
</div>
<div class="feature-card">
<div class="feature-icon" aria-hidden="true">/</div>
<h3>REST API</h3>
<p>Every collection gets paginated REST endpoints with authentication, filtering, search, and field-level access control.</p>
</div>
</div>
</section>
<!-- Code preview -->
<section class="code-section fade-in" aria-label="Code example">
<div class="code-section-header">
<h2>Minimal config, maximum output</h2>
<p>This is all you need to get a fully functional CMS with typed API endpoints.</p>
</div>
<div class="code-block">
<div class="code-titlebar">
<div class="code-dot"></div>
<div class="code-dot"></div>
<div class="code-dot"></div>
<span class="code-filename">valence.config.ts</span>
</div>
<div class="code-content">
<pre><span class="hl-kw">import</span> <span class="hl-punct">{</span> <span class="hl-fn">defineConfig</span><span class="hl-punct">,</span> <span class="hl-fn">collection</span><span class="hl-punct">,</span> <span class="hl-prop">field</span> <span class="hl-punct">}</span> <span class="hl-kw">from</span> <span class="hl-str">'valence'</span>
<span class="hl-kw">export default</span> <span class="hl-fn">defineConfig</span><span class="hl-punct">({</span>
<span class="hl-prop">collections</span><span class="hl-punct">:</span> <span class="hl-punct">[</span>
<span class="hl-fn">collection</span><span class="hl-punct">({</span>
<span class="hl-prop">slug</span><span class="hl-punct">:</span> <span class="hl-str">'posts'</span><span class="hl-punct">,</span>
<span class="hl-prop">fields</span><span class="hl-punct">:</span> <span class="hl-punct">[</span>
<span class="hl-prop">field</span><span class="hl-punct">.</span><span class="hl-fn">text</span><span class="hl-punct">({</span> <span class="hl-prop">name</span><span class="hl-punct">:</span> <span class="hl-str">'title'</span><span class="hl-punct">,</span> <span class="hl-prop">required</span><span class="hl-punct">:</span> <span class="hl-kw">true</span> <span class="hl-punct">}),</span>
<span class="hl-prop">field</span><span class="hl-punct">.</span><span class="hl-fn">richText</span><span class="hl-punct">({</span> <span class="hl-prop">name</span><span class="hl-punct">:</span> <span class="hl-str">'content'</span> <span class="hl-punct">}),</span>
<span class="hl-prop">field</span><span class="hl-punct">.</span><span class="hl-fn">select</span><span class="hl-punct">({</span>
<span class="hl-prop">name</span><span class="hl-punct">:</span> <span class="hl-str">'status'</span><span class="hl-punct">,</span>
<span class="hl-prop">options</span><span class="hl-punct">:</span> <span class="hl-punct">[</span><span class="hl-str">'draft'</span><span class="hl-punct">,</span> <span class="hl-str">'published'</span><span class="hl-punct">]</span>
<span class="hl-punct">})</span>
<span class="hl-punct">]</span>
<span class="hl-punct">})</span>
<span class="hl-punct">]</span>
<span class="hl-punct">})</span></pre>
</div>
</div>
</section>
<!-- Footer -->
<footer class="footer">
<p>
Valence &middot; Schema-driven CMS framework &middot;
<a href="https://github.com/valencets/valence" target="_blank" rel="noopener noreferrer">Source</a>
</p>
</footer>
</div>
<script>
// Scroll-triggered fade-in for feature and code sections
(function () {
var targets = document.querySelectorAll('.fade-in')
if (!('IntersectionObserver' in window)) {
for (var i = 0; i < targets.length; i++) targets[i].classList.add('visible')
return
}
var observer = new IntersectionObserver(function (entries) {
for (var j = 0; j < entries.length; j++) {
if (entries[j].isIntersecting) {
entries[j].target.classList.add('visible')
observer.unobserve(entries[j].target)
}
}
}, { threshold: 0.15 })
for (var k = 0; k < targets.length; k++) observer.observe(targets[k])
})()
</script>
</body>

@@ -49,0 +462,0 @@ </html>`;

@@ -1,1 +0,1 @@

{"version":3,"file":"landing-page.js","sourceRoot":"","sources":["../src/landing-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,UAAU,WAAW,CAAE,IAAY;IACvC,OAAO;;;;;;;MAOH,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCA+BkB,IAAI;;;;;;;QAOlC,CAAA;AACR,CAAC"}
{"version":3,"file":"landing-page.js","sourceRoot":"","sources":["../src/landing-page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,MAAM,UAAU,WAAW,CAAE,IAAY;IACvC,OAAO;;;;;;;;MAQH,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAyU4B,IAAI;;;;;;;;;;;;;;mDAcD,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA2G/C,CAAA;AACR,CAAC"}
import { readdirSync } from 'node:fs';
import { fromThrowable, ResultAsync } from 'neverthrow';
import { fromThrowable, ResultAsync } from '@valencets/resultkit';
const DEFAULT_SLUGS = new Set(['categories', 'posts', 'pages', 'users']);

@@ -4,0 +4,0 @@ const IGNORED_ROOT_FILES = new Set(['valence.config.ts', 'tsconfig.json']);

@@ -1,1 +0,1 @@

{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../src/learn/checks.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../../src/learn/checks.ts"],"names":[],"mappings":"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"}
import { readFile, writeFile, mkdir } from 'node:fs/promises';
import { ResultAsync, fromThrowable } from 'neverthrow';
import { ResultAsync, fromThrowable } from '@valencets/resultkit';
import { join } from 'node:path';

@@ -4,0 +4,0 @@ const LEARN_DIR = '.valence';

@@ -1,1 +0,1 @@

{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/learn/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,UAAU,GAAG,YAAY,CAAA;AAE/B,MAAM,YAAY,GAA+B;IAC/C,aAAa;IACb,aAAa;IACb,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,aAAa;CACd,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,UAAkB;IACtD,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAE,aAAiE;IACtG,MAAM,KAAK,GAAG,EAAoE,CAAA;IAClF,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;IACrD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;QACL,aAAa;KACd,CAAA;AACH,CAAC;AAED,MAAM,qBAAqB,GAAG,aAAa,CACzC,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,EACjD,GAAG,EAAE,CAAC,IAAI,CACX,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAE,UAAkB;IACzD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAC1C,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,EAC1D,GAAG,EAAE,CAAC,IAAI,CACX,CAAA;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvD,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAE,UAAkB,EAAE,QAAuB;IACnF,MAAM,SAAS,CACb,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CACzC,CAAA;AACH,CAAC"}
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/learn/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,MAAM,SAAS,GAAG,UAAU,CAAA;AAC5B,MAAM,UAAU,GAAG,YAAY,CAAA;AAE/B,MAAM,YAAY,GAA+B;IAC/C,aAAa;IACb,aAAa;IACb,SAAS;IACT,gBAAgB;IAChB,aAAa;IACb,aAAa;CACd,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAE,UAAkB;IACtD,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAE,aAAiE;IACtG,MAAM,KAAK,GAAG,EAAoE,CAAA;IAClF,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;IACrD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK;QACL,aAAa;KACd,CAAA;AACH,CAAC;AAED,MAAM,qBAAqB,GAAG,aAAa,CACzC,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,EACjD,GAAG,EAAE,CAAC,IAAI,CACX,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAE,UAAkB;IACzD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAC1C,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,EAC1D,GAAG,EAAE,CAAC,IAAI,CACX,CAAA;IACD,IAAI,MAAM,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAA;IAC/B,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACvD,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAE,UAAkB,EAAE,QAAuB;IACnF,MAAM,SAAS,CACb,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CACzC,CAAA;AACH,CAAC"}

@@ -1,2 +0,2 @@

import { ResultAsync } from 'neverthrow';
import { ResultAsync } from '@valencets/resultkit';
import type { LoaderContext, LoaderResult, JsonValue } from './define-config.js';

@@ -3,0 +3,0 @@ export interface LoaderError {

@@ -1,1 +0,1 @@

{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEhF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,EACrD,GAAG,EAAE,aAAa,GACjB,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAUxC;AAOD,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,GAAG,MAAM,CAIxF;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMtE"}
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAEhF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,YAAY,CAAC,EACrD,GAAG,EAAE,aAAa,GACjB,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,CAUxC;AAOD,wBAAgB,mBAAmB,CAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,GAAG,MAAM,CAIxF;AAED,wBAAgB,gBAAgB,CAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMtE"}

@@ -1,2 +0,2 @@

import { ResultAsync } from 'neverthrow';
import { ResultAsync } from '@valencets/resultkit';
export function executeLoader(loader, ctx) {

@@ -3,0 +3,0 @@ return ResultAsync.fromPromise(loader(ctx), (reason) => {

@@ -1,1 +0,1 @@

{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAQxC,MAAM,UAAU,aAAa,CAC3B,MAAqD,EACrD,GAAkB;IAElB,OAAO,WAAW,CAAC,WAAW,CAC5B,MAAM,CAAC,GAAG,CAAC,EACX,CAAC,MAAM,EAAe,EAAE;QACtB,MAAM,OAAO,GAAG,MAAM,YAAY,KAAK;YACrC,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,yBAAyB,CAAA;QAC7B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;IAC3C,CAAC,CACF,CAAA;AACH,CAAC;AAED,iDAAiD;AACjD,SAAS,YAAY,CAAE,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAE,IAA2C;IAC9E,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAClD,OAAO,mDAAmD,IAAI,WAAW,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAE,IAAY,EAAE,MAAc;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACzC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,IAAI,GAAG,MAAM,CAAA;AACtB,CAAC"}
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAQlD,MAAM,UAAU,aAAa,CAC3B,MAAqD,EACrD,GAAkB;IAElB,OAAO,WAAW,CAAC,WAAW,CAC5B,MAAM,CAAC,GAAG,CAAC,EACX,CAAC,MAAM,EAAe,EAAE;QACtB,MAAM,OAAO,GAAG,MAAM,YAAY,KAAK;YACrC,CAAC,CAAC,MAAM,CAAC,OAAO;YAChB,CAAC,CAAC,yBAAyB,CAAA;QAC7B,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAA;IAC3C,CAAC,CACF,CAAA;AACH,CAAC;AAED,iDAAiD;AACjD,SAAS,YAAY,CAAE,IAAY;IACjC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAE,IAA2C;IAC9E,MAAM,OAAO,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAClD,OAAO,mDAAmD,IAAI,WAAW,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAE,IAAY,EAAE,MAAc;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACzC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,IAAI,GAAG,MAAM,CAAA;AACtB,CAAC"}
import { join, normalize, resolve } from 'node:path';
import { fromThrowable } from 'neverthrow';
import { fromThrowable } from '@valencets/resultkit';
const safeDecodeURIComponent = fromThrowable(decodeURIComponent, () => null);

@@ -4,0 +4,0 @@ const SLUG_PATTERN = /^[a-z0-9]([a-z0-9-]*[a-z0-9])?$/;

@@ -1,1 +0,1 @@

{"version":3,"file":"page-router.js","sourceRoot":"","sources":["../src/page-router.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"page-router.js","sourceRoot":"","sources":["../src/page-router.ts"],"names":[],"mappings":"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"}

@@ -8,3 +8,3 @@ /**

*/
export declare const PAGE_TOKEN_CSS = "\n :root {\n --val-gray-200: oklch(0.9276 0.0058 264.53);\n --val-gray-400: oklch(0.7137 0.0192 261.32);\n --val-gray-500: oklch(0.5510 0.0234 264.36);\n --val-gray-600: oklch(0.4461 0.0263 256.80);\n --val-gray-700: oklch(0.3729 0.0306 259.73);\n --val-gray-800: oklch(0.2781 0.0296 256.85);\n --val-gray-900: oklch(0.2101 0.0318 264.66);\n --val-gray-950: oklch(0.1296 0.0274 261.69);\n --val-blue-400: oklch(0.7137 0.1434 254.62);\n --val-blue-500: oklch(0.6231 0.1880 259.81);\n --val-green-500: oklch(0.7227 0.1920 149.58);\n --val-font-sans: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n --val-font-mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace;\n --val-text-xs: 0.75rem;\n --val-text-sm: 0.875rem;\n --val-text-base: 1rem;\n --val-text-lg: 1.125rem;\n --val-text-xl: 1.25rem;\n --val-text-2xl: 1.5rem;\n --val-text-3xl: 1.875rem;\n --val-text-5xl: 3rem;\n --val-space-1: 0.25rem;\n --val-space-2: 0.5rem;\n --val-space-3: 0.75rem;\n --val-space-4: 1rem;\n --val-space-5: 1.25rem;\n --val-space-6: 1.5rem;\n --val-space-8: 2rem;\n --val-space-10: 2.5rem;\n --val-radius-sm: 0.25rem;\n --val-radius-md: 0.375rem;\n --val-radius-lg: 0.5rem;\n --val-duration-fast: 100ms;\n --val-duration-normal: 200ms;\n --val-color-bg: var(--val-gray-950);\n --val-color-bg-elevated: var(--val-gray-800);\n --val-color-text: var(--val-gray-200);\n --val-color-text-muted: var(--val-gray-400);\n --val-color-primary: var(--val-blue-500);\n --val-color-primary-hover: var(--val-blue-400);\n --val-color-success: var(--val-green-500);\n --val-color-border: var(--val-gray-700);\n }\n";
export declare const PAGE_TOKEN_CSS = "\n :root {\n /* --- Gray scale (from @valencets/ui primitives.css) --- */\n --val-gray-50: oklch(0.9846 0.0017 247.84);\n --val-gray-100: oklch(0.9670 0.0029 264.54);\n --val-gray-200: oklch(0.9276 0.0058 264.53);\n --val-gray-300: oklch(0.8717 0.0093 258.34);\n --val-gray-400: oklch(0.7137 0.0192 261.32);\n --val-gray-500: oklch(0.5510 0.0234 264.36);\n --val-gray-600: oklch(0.4461 0.0263 256.80);\n --val-gray-700: oklch(0.3729 0.0306 259.73);\n --val-gray-800: oklch(0.2781 0.0296 256.85);\n --val-gray-900: oklch(0.2101 0.0318 264.66);\n --val-gray-950: oklch(0.1296 0.0274 261.69);\n\n /* --- Blue scale (from @valencets/ui primitives.css) --- */\n --val-blue-400: oklch(0.7137 0.1434 254.62);\n --val-blue-500: oklch(0.6231 0.1880 259.81);\n --val-blue-600: oklch(0.5461 0.2152 262.88);\n --val-blue-700: oklch(0.4882 0.2172 264.38);\n\n /* --- Green scale (from @valencets/ui primitives.css) --- */\n --val-green-400: oklch(0.8003 0.1821 151.71);\n --val-green-500: oklch(0.7227 0.1920 149.58);\n --val-green-600: oklch(0.6271 0.1699 149.21);\n\n /* --- Typography (from @valencets/ui primitives.css) --- */\n --val-font-sans: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n --val-font-mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace;\n\n --val-text-xs: 0.75rem;\n --val-text-sm: 0.875rem;\n --val-text-base: 1rem;\n --val-text-lg: 1.125rem;\n --val-text-xl: 1.25rem;\n --val-text-2xl: 1.5rem;\n --val-text-3xl: 1.875rem;\n --val-text-4xl: 2.25rem;\n --val-text-5xl: 3rem;\n\n --val-leading-tight: 1.25;\n --val-leading-normal: 1.5;\n --val-leading-relaxed: 1.75;\n\n --val-weight-normal: 400;\n --val-weight-medium: 500;\n --val-weight-semibold: 600;\n --val-weight-bold: 700;\n\n /* --- Spacing (from @valencets/ui primitives.css) --- */\n --val-space-0: 0;\n --val-space-1: 0.25rem;\n --val-space-2: 0.5rem;\n --val-space-3: 0.75rem;\n --val-space-4: 1rem;\n --val-space-5: 1.25rem;\n --val-space-6: 1.5rem;\n --val-space-8: 2rem;\n --val-space-10: 2.5rem;\n --val-space-12: 3rem;\n --val-space-16: 4rem;\n --val-space-20: 5rem;\n --val-space-24: 6rem;\n\n /* --- Border radius (from @valencets/ui primitives.css) --- */\n --val-radius-sm: 0.25rem;\n --val-radius-md: 0.375rem;\n --val-radius-lg: 0.5rem;\n --val-radius-full: 9999px;\n\n /* --- Shadows (from @valencets/ui primitives.css) --- */\n --val-shadow-sm: 0 1px 2px 0 oklch(0 0 0 / 0.05);\n --val-shadow-md: 0 4px 6px -1px oklch(0 0 0 / 0.1), 0 2px 4px -2px oklch(0 0 0 / 0.1);\n --val-shadow-lg: 0 10px 15px -3px oklch(0 0 0 / 0.1), 0 4px 6px -4px oklch(0 0 0 / 0.1);\n\n /* --- Duration (from @valencets/ui primitives.css) --- */\n --val-duration-fast: 100ms;\n --val-duration-normal: 200ms;\n --val-duration-slow: 300ms;\n\n /* --- Easing (from @valencets/ui primitives.css) --- */\n --val-ease-in: cubic-bezier(0.4, 0, 1, 1);\n --val-ease-out: cubic-bezier(0, 0, 0.2, 1);\n --val-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);\n\n /* --- Semantic tokens: dark mode (from @valencets/ui semantic.css) --- */\n --val-color-bg: var(--val-gray-950);\n --val-color-bg-elevated: var(--val-gray-900);\n --val-color-bg-muted: var(--val-gray-800);\n --val-color-text: var(--val-gray-50);\n --val-color-text-muted: var(--val-gray-400);\n --val-color-text-inverted: oklch(1 0 0);\n --val-color-primary: var(--val-blue-600);\n --val-color-primary-hover: var(--val-blue-700);\n --val-color-primary-text: oklch(1 0 0);\n --val-color-success: var(--val-green-500);\n --val-color-border: var(--val-gray-700);\n --val-color-border-focus: var(--val-blue-500);\n --val-focus-ring: 0 0 0 2px var(--val-color-bg), 0 0 0 4px var(--val-color-border-focus);\n }\n";
//# sourceMappingURL=page-tokens.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"page-tokens.d.ts","sourceRoot":"","sources":["../src/page-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,+uDA6C1B,CAAA"}
{"version":3,"file":"page-tokens.d.ts","sourceRoot":"","sources":["../src/page-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,q2HAoG1B,CAAA"}

@@ -10,3 +10,7 @@ /**

:root {
/* --- Gray scale (from @valencets/ui primitives.css) --- */
--val-gray-50: oklch(0.9846 0.0017 247.84);
--val-gray-100: oklch(0.9670 0.0029 264.54);
--val-gray-200: oklch(0.9276 0.0058 264.53);
--val-gray-300: oklch(0.8717 0.0093 258.34);
--val-gray-400: oklch(0.7137 0.0192 261.32);

@@ -19,7 +23,18 @@ --val-gray-500: oklch(0.5510 0.0234 264.36);

--val-gray-950: oklch(0.1296 0.0274 261.69);
/* --- Blue scale (from @valencets/ui primitives.css) --- */
--val-blue-400: oklch(0.7137 0.1434 254.62);
--val-blue-500: oklch(0.6231 0.1880 259.81);
--val-blue-600: oklch(0.5461 0.2152 262.88);
--val-blue-700: oklch(0.4882 0.2172 264.38);
/* --- Green scale (from @valencets/ui primitives.css) --- */
--val-green-400: oklch(0.8003 0.1821 151.71);
--val-green-500: oklch(0.7227 0.1920 149.58);
--val-green-600: oklch(0.6271 0.1699 149.21);
/* --- Typography (from @valencets/ui primitives.css) --- */
--val-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
--val-font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
--val-text-xs: 0.75rem;

@@ -32,3 +47,16 @@ --val-text-sm: 0.875rem;

--val-text-3xl: 1.875rem;
--val-text-4xl: 2.25rem;
--val-text-5xl: 3rem;
--val-leading-tight: 1.25;
--val-leading-normal: 1.5;
--val-leading-relaxed: 1.75;
--val-weight-normal: 400;
--val-weight-medium: 500;
--val-weight-semibold: 600;
--val-weight-bold: 700;
/* --- Spacing (from @valencets/ui primitives.css) --- */
--val-space-0: 0;
--val-space-1: 0.25rem;

@@ -42,17 +70,44 @@ --val-space-2: 0.5rem;

--val-space-10: 2.5rem;
--val-space-12: 3rem;
--val-space-16: 4rem;
--val-space-20: 5rem;
--val-space-24: 6rem;
/* --- Border radius (from @valencets/ui primitives.css) --- */
--val-radius-sm: 0.25rem;
--val-radius-md: 0.375rem;
--val-radius-lg: 0.5rem;
--val-radius-full: 9999px;
/* --- Shadows (from @valencets/ui primitives.css) --- */
--val-shadow-sm: 0 1px 2px 0 oklch(0 0 0 / 0.05);
--val-shadow-md: 0 4px 6px -1px oklch(0 0 0 / 0.1), 0 2px 4px -2px oklch(0 0 0 / 0.1);
--val-shadow-lg: 0 10px 15px -3px oklch(0 0 0 / 0.1), 0 4px 6px -4px oklch(0 0 0 / 0.1);
/* --- Duration (from @valencets/ui primitives.css) --- */
--val-duration-fast: 100ms;
--val-duration-normal: 200ms;
--val-duration-slow: 300ms;
/* --- Easing (from @valencets/ui primitives.css) --- */
--val-ease-in: cubic-bezier(0.4, 0, 1, 1);
--val-ease-out: cubic-bezier(0, 0, 0.2, 1);
--val-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
/* --- Semantic tokens: dark mode (from @valencets/ui semantic.css) --- */
--val-color-bg: var(--val-gray-950);
--val-color-bg-elevated: var(--val-gray-800);
--val-color-text: var(--val-gray-200);
--val-color-bg-elevated: var(--val-gray-900);
--val-color-bg-muted: var(--val-gray-800);
--val-color-text: var(--val-gray-50);
--val-color-text-muted: var(--val-gray-400);
--val-color-primary: var(--val-blue-500);
--val-color-primary-hover: var(--val-blue-400);
--val-color-text-inverted: oklch(1 0 0);
--val-color-primary: var(--val-blue-600);
--val-color-primary-hover: var(--val-blue-700);
--val-color-primary-text: oklch(1 0 0);
--val-color-success: var(--val-green-500);
--val-color-border: var(--val-gray-700);
--val-color-border-focus: var(--val-blue-500);
--val-focus-ring: 0 0 0 2px var(--val-color-bg), 0 0 0 4px var(--val-color-border-focus);
}
`;
//# sourceMappingURL=page-tokens.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"page-tokens.js","sourceRoot":"","sources":["../src/page-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C7B,CAAA"}
{"version":3,"file":"page-tokens.js","sourceRoot":"","sources":["../src/page-tokens.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoG7B,CAAA"}

@@ -1,2 +0,2 @@

import type { Result } from 'neverthrow';
import type { Result } from '@valencets/resultkit';
import type { CollectionConfig } from '@valencets/cms';

@@ -3,0 +3,0 @@ export declare const CollectionValidationCode: {

@@ -1,1 +0,1 @@

{"version":3,"file":"validate-collections.d.ts","sourceRoot":"","sources":["../src/validate-collections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,gBAAgB,CAAA;AAEnE,eAAO,MAAM,wBAAwB;;;;;;;CAO3B,CAAA;AAEV,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAA;AAE7G,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AA4FD,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS,gBAAgB,EAAE,GACvC,MAAM,CAAC,IAAI,EAAE,yBAAyB,EAAE,CAAC,CA0B3C"}
{"version":3,"file":"validate-collections.d.ts","sourceRoot":"","sources":["../src/validate-collections.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,gBAAgB,CAAA;AAEnE,eAAO,MAAM,wBAAwB;;;;;;;CAO3B,CAAA;AAEV,MAAM,MAAM,wBAAwB,GAAG,OAAO,wBAAwB,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAA;AAE7G,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AA4FD,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,SAAS,gBAAgB,EAAE,GACvC,MAAM,CAAC,IAAI,EAAE,yBAAyB,EAAE,CAAC,CA0B3C"}

@@ -1,2 +0,2 @@

import { ok, err } from 'neverthrow';
import { ok, err } from '@valencets/resultkit';
export const CollectionValidationCode = {

@@ -3,0 +3,0 @@ INVALID_COLLECTION_SLUG: 'INVALID_COLLECTION_SLUG',

@@ -1,1 +0,1 @@

{"version":3,"file":"validate-collections.js","sourceRoot":"","sources":["../src/validate-collections.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"validate-collections.js","sourceRoot":"","sources":["../src/validate-collections.ts"],"names":[],"mappings":"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"}
{
"name": "@valencets/valence",
"version": "0.16.0",
"version": "0.17.0",
"type": "module",

@@ -21,9 +21,9 @@ "main": "dist/index.js",

"dependencies": {
"neverthrow": "^8.2.0",
"@valencets/resultkit": "^0.2.0",
"tsx": "^4.21.0",
"zod": "^4.3.6",
"@valencets/cms": "0.11.0",
"@valencets/db": "0.1.4",
"@valencets/core": "0.4.3",
"@valencets/telemetry": "0.2.1"
"@valencets/cms": "0.12.0",
"@valencets/db": "0.2.0",
"@valencets/core": "0.5.0",
"@valencets/telemetry": "0.3.0"
},

@@ -30,0 +30,0 @@ "devDependencies": {

+134
-27
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="./assets/logo-dark-animated.png">
<source media="(prefers-color-scheme: light)" srcset="./assets/logo-light-animated.png">
<img alt="Valence" src="./assets/logo-light-animated.png" width="280">
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/valencets/valence/master/assets/logo-dark-animated.png">
<source media="(prefers-color-scheme: light)" srcset="https://raw.githubusercontent.com/valencets/valence/master/assets/logo-light-animated.png">
<img alt="Valence" src="https://raw.githubusercontent.com/valencets/valence/master/assets/logo-light-animated.png" width="280">
</picture>

@@ -23,3 +23,3 @@ </p>

Define collections and fields in one TypeScript config. Valence derives the database tables, admin UI, REST API, typed frontend scaffold, entity codegen, page routing, first-party analytics, validators, and migrations from that single schema. No plugins. No vendor scripts. Minimal, audited dependencies.
Define collections and fields in one TypeScript config. Valence derives the database tables, admin UI, REST API, GraphQL endpoint, typed frontend scaffold, entity codegen, page routing, first-party analytics, validators, and migrations from that single schema. No plugins required. No vendor scripts. Minimal, audited dependencies.

@@ -43,2 +43,6 @@ ```ts

labels: { singular: 'Post', plural: 'Posts' },
versions: { drafts: true },
hooks: {
afterChange: [({ doc }) => console.log('saved', doc.id)]
},
fields: [

@@ -48,4 +52,20 @@ field.text({ name: 'title', required: true }),

field.richtext({ name: 'body' }),
field.boolean({ name: 'published' }),
field.date({ name: 'publishedAt' })
field.tabs({
tabs: [
{
label: 'Details',
fields: [
field.boolean({ name: 'published' }),
field.date({ name: 'publishedAt', condition: (data) => data.published === 'true' })
]
},
{
label: 'SEO',
fields: [
field.text({ name: 'metaTitle' }),
field.textarea({ name: 'metaDescription' })
]
}
]
})
]

@@ -58,10 +78,40 @@ }),

field.text({ name: 'name', required: true }),
field.select({ name: 'role', defaultValue: 'editor', options: [
{ label: 'Admin', value: 'admin' },
{ label: 'Editor', value: 'editor' }
]})
field.select({
name: 'role',
defaultValue: 'editor',
access: { update: ({ user }) => user.role === 'admin' },
options: [
{ label: 'Admin', value: 'admin' },
{ label: 'Editor', value: 'editor' }
]
})
]
})
],
routes: [
{
path: '/blog/:slug',
collection: 'posts',
type: 'detail',
loader: async ({ params, pool }) => {
const post = await pool`SELECT * FROM posts WHERE slug = ${params.slug}`
return { data: { post: post[0] } }
}
},
{
path: '/contact',
method: 'POST',
action: async ({ body }) => {
// handle form submission
return { redirect: '/thank-you' }
}
}
],
onServer ({ server, pool, cms, registerRoute }) {
registerRoute('GET', '/api/health', (_req, res) => {
res.writeHead(200).end('ok')
})
},
admin: { pathPrefix: '/admin', requireAuth: true },
graphql: true,
telemetry: {

@@ -75,3 +125,3 @@ enabled: true,

That config gives you: `posts` and `users` tables in Postgres, a server-rendered admin panel with form validation and session auth (Argon2id), a REST API at `/api/posts` and `/api/users`, a typed `src/` scaffold with entity interfaces and API clients, Zod validators, database migrations, and a first-party analytics pipeline that tracks user intent without any third-party scripts on your public pages. Change the schema, everything follows.
That config gives you: `posts` and `users` tables in Postgres, a server-rendered admin panel with form validation and session auth (Argon2id), a REST API at `/api/posts` and `/api/users`, a GraphQL endpoint at `/graphql`, typed routes with loaders and actions, an `onServer` hook for custom routes and WebSocket handlers, a typed `src/` scaffold with entity interfaces and API clients, Zod validators, database migrations, draft versioning with revision history, and a first-party analytics pipeline that tracks user intent without any third-party scripts on your public pages. Change the schema, everything follows.

@@ -100,14 +150,67 @@ ## Quick Start

### Schema Engine
- **Database tables** derived from your field definitions. UUID primary keys, timestamps, soft deletes.
- **Admin panel** at `/admin`. Server-rendered HTML forms, CSRF protection, session auth with Argon2id. Login page with proper error handling.
- **REST API** at `/api/:collection`. CRUD with Zod validation, parameterized queries, `Result<T, E>` error handling.
- **22 field types**. text, textarea, richtext, number, boolean, select, date, slug, media, relation, group, email, url, password, json, color, multiselect, array, blocks, tabs, row, collapsible.
- **Layout fields**. Tabs, rows, and collapsible sections for organizing complex admin forms without affecting the database schema.
- **Conditional fields**. Show or hide fields based on other field values using the `condition` function. Re-renders via htmx partials.
- **Field access control**. Per-field `create`, `read`, and `update` access control functions that receive the current user context.
- **Field hooks**. `beforeValidate`, `beforeChange`, `afterChange`, `afterRead` hooks on individual fields for data transformation and side effects.
- **Collection hooks**. 11 lifecycle hooks: `beforeValidate`, `beforeChange`, `afterChange`, `beforeRead`, `afterRead`, `beforeDelete`, `afterDelete`, `beforePublish`, `afterPublish`, `beforeUnpublish`, `afterUnpublish`.
- **Globals**. Single-document configs (site settings, navigation, footer) via `global()` with the same field system.
- **Migrations** generated from schema diffs. Deterministic SQL, idempotent, version-tracked.
- **18 field types**. text, textarea, richtext, number, boolean, select, date, slug, media, relation, group, email, url, password, json, color, multiselect, array.
- **Rich text editor**. Lexical-powered editor in the admin panel with heading, list, blockquote, link, and code formatting.
### Admin Panel
- **Server-rendered admin** at `/admin`. HTML forms, CSRF protection, session auth with Argon2id. Login page with proper error handling.
- **Rich text editor**. Tiptap-powered editor (ProseMirror) with heading, list, blockquote, link, code, divider, and code block formatting. Slash command menu for block insertion.
- **Draft versioning**. Enable `versions: { drafts: true }` on a collection for publish/unpublish workflow with revision history and diff view.
- **Autosave**. Automatic draft saving with visual indicator via the `<val-autosave>` component.
- **Live preview**. Split-pane editor with real-time preview iframe, communicating via postMessage protocol.
- **Bulk operations**. Select multiple documents in list view for bulk delete, publish, or unpublish.
- **Image processing**. Automatic image resizing and optimization via Sharp on media upload.
- **Admin headTags**. Inject custom `<link>`, `<meta>`, `<script>` tags into the admin `<head>` via config.
### API Layer
- **REST API** at `/api/:collection`. CRUD with Zod validation, parameterized queries, `Result<T, E>` error handling. Bulk endpoint at `/api/:slug/bulk`.
- **GraphQL API**. Auto-generated schema from your collections with resolvers wired to the Local API. Enable with `graphql: true` in config.
- **Local API**. Programmatic access to all CRUD operations with the same validation, hooks, and access control as the REST layer.
- **Full-text search**. PostgreSQL `tsvector`/`tsquery` with relevance ranking, configurable per collection.
### Routing
- **Page routing**. `src/pages/` maps to URL paths. List + detail page templates scaffold per collection.
- **Routes with loaders**. Define typed routes in config with `loader` functions that fetch data server-side and inject it into the page.
- **Routes with actions**. Handle form submissions with `action` functions that return redirects or field-level errors.
- **onServer hook**. Access the raw Node.js `http.Server`, database pool, CMS instance, and `registerRoute` for custom endpoints, WebSocket upgrade handlers, or middleware.
- **Typed route helpers**. Auto-generated route types with `extractParams` for type-safe URL building.
- **View transitions**. Built-in view transition presets for smooth page navigation.
### Frontend
- **23 Web Components**. ARIA-compliant, i18n-ready, telemetry hooks, hydration directives. OKLCH design tokens. Zero dependencies.
- **Component registration separation**. Component classes are defined separately from `customElements.define()` calls for tree-shaking -- import only what you use.
- **FSD scaffold**. `valence init` generates `src/` with Feature-Sliced Design: `app/`, `pages/`, `entities/`, `features/`, `shared/`.
- **Entity codegen**. Typed interfaces + API clients generated from your schema. `// @generated` files regenerate on config change; user-edited files are never overwritten.
- **Static file serving**. `public/` served with MIME types and path traversal protection.
- **Page routing**. `src/pages/` maps to URL paths. List + detail page templates scaffold per collection.
- **Config watcher**. Edit `valence.config.ts` during dev and entity types and API clients regenerate automatically.
- **Admin headTags**. Inject custom `<link>`, `<meta>`, `<script>` tags into the admin `<head>` via config.
### Security
- **Argon2id password hashing** for admin authentication.
- **CSRF protection** on all admin forms.
- **Session auth** with `httpOnly`, `secure` cookie flags and configurable session max age.
- **Path traversal protection** on static file serving, media uploads, and cloud storage.
- **URL redirect validation** to prevent open redirect attacks.
- **Parameterized SQL** everywhere -- no string concatenation in queries.
- **CodeQL and Socket auditing** in CI.
### Plugin System
- **First-party plugins**. `@valencets/plugin-seo` (auto-title, meta field injection), `@valencets/plugin-nested-docs` (tree structures with breadcrumb computation), `@valencets/plugin-cloud-storage` (S3-compatible object storage).
- **Plugin API**. Plugins are config transformers -- a function that receives a `CmsConfig` and returns a modified `CmsConfig`. Compose with the `plugins` array.
### Analytics
- **First-party analytics**. Built-in telemetry that runs entirely in your Postgres -- no vendor scripts, no third-party dashboards, no data leaving your infrastructure.

@@ -143,12 +246,16 @@ - **Learn mode**. Interactive 6-step tutorial embedded in `valence dev` that teaches core concepts through real actions. Run `valence init --learn` to try it.

|---------|-------------|---------------|
| **@valencets/ui** | 18 Web Components. ARIA, i18n, telemetry hooks, hydration directives. OKLCH design tokens. | none |
| **@valencets/core** | Router + server. `pushState` nav, fragment swaps, prefetch, view transitions, server islands. | [neverthrow](https://github.com/supermacro/neverthrow) |
| **@valencets/db** | PostgreSQL query layer. Tagged template SQL, parameterized queries, `Result<T,E>`, migration runner. | [postgres](https://github.com/porsager/postgres), [neverthrow](https://github.com/supermacro/neverthrow), [zod](https://github.com/colinhacks/zod) |
| **@valencets/cms** | Schema engine. `collection()` + `field.*` produces tables, validators, REST API, admin UI, auth, media. Rich text via Lexical. | [lexical](https://github.com/facebook/lexical), [argon2](https://github.com/ranisalt/node-argon2), [zod](https://github.com/colinhacks/zod), [neverthrow](https://github.com/supermacro/neverthrow) |
| **@valencets/telemetry** | Beacon ingestion, event storage, daily summaries, fleet aggregation. | [postgres](https://github.com/porsager/postgres), [neverthrow](https://github.com/supermacro/neverthrow) |
| **@valencets/valence** | CLI + FSD scaffold + entity codegen. `valence init`, `valence dev`, `valence migrate`, `valence build`. | [tsx](https://github.com/privatenumber/tsx), [zod](https://github.com/colinhacks/zod), [neverthrow](https://github.com/supermacro/neverthrow) |
| **@valencets/ui** | 23 Web Components. ARIA, i18n, telemetry hooks, hydration directives. OKLCH design tokens. | none |
| **@valencets/core** | Router + server. `pushState` nav, fragment swaps, prefetch, view transitions, server islands. | [@valencets/resultkit](https://www.npmjs.com/package/@valencets/resultkit) |
| **@valencets/db** | PostgreSQL query layer. Tagged template SQL, parameterized queries, `Result<T,E>`, migration runner. | [postgres](https://github.com/porsager/postgres), [@valencets/resultkit](https://www.npmjs.com/package/@valencets/resultkit), [zod](https://github.com/colinhacks/zod) |
| **@valencets/cms** | Schema engine. `collection()` + `field.*` produces tables, validators, REST API, admin UI, auth, media, image processing. Rich text via Tiptap (ProseMirror). | [tiptap](https://tiptap.dev), [argon2](https://github.com/ranisalt/node-argon2), [sharp](https://github.com/lovell/sharp), [zod](https://github.com/colinhacks/zod), [@valencets/resultkit](https://www.npmjs.com/package/@valencets/resultkit) |
| **@valencets/graphql** | Auto-generated GraphQL schema + resolvers from CMS collections. | [graphql](https://github.com/graphql/graphql-js), [@valencets/resultkit](https://www.npmjs.com/package/@valencets/resultkit) |
| **@valencets/telemetry** | Beacon ingestion, event storage, daily summaries, fleet aggregation. | [postgres](https://github.com/porsager/postgres), [@valencets/resultkit](https://www.npmjs.com/package/@valencets/resultkit) |
| **@valencets/valence** | CLI + FSD scaffold + entity codegen + route types. `valence init`, `valence dev`, `valence migrate`, `valence build`. | [tsx](https://github.com/privatenumber/tsx), [zod](https://github.com/colinhacks/zod), [@valencets/resultkit](https://www.npmjs.com/package/@valencets/resultkit) |
| **@valencets/plugin-seo** | SEO field injection and auto-title hook. | none (peer dep on cms) |
| **@valencets/plugin-nested-docs** | Tree structures with breadcrumb computation. | none (peer dep on cms) |
| **@valencets/plugin-cloud-storage** | S3-compatible media storage adapter. | [@aws-sdk/client-s3](https://github.com/aws/aws-sdk-js-v3), [@valencets/resultkit](https://www.npmjs.com/package/@valencets/resultkit) |
**Total external runtime deps:** 6 — postgres, neverthrow, zod, lexical, argon2, tsx. All MIT-licensed, all audited via [Socket](https://socket.dev/npm/package/@valencets/valence).
**Core external runtime deps:** 8 -- postgres, @valencets/resultkit, zod, tiptap, argon2, sharp, graphql, tsx. All MIT-licensed, all audited via [Socket](https://socket.dev/npm/package/@valencets/valence).
**Browser JS:** Public-facing pages ship zero third-party JavaScript. The admin panel uses [Lexical](https://lexical.dev/) (Meta, MIT, ~40kB gzipped) for rich text editing only.
**Browser JS:** Public-facing pages ship zero third-party JavaScript. The admin panel uses [Tiptap](https://tiptap.dev/) (ProseMirror, MIT) for rich text editing only.

@@ -163,4 +270,4 @@ ## Non-Negotiable

| Pre-allocated ring buffer | Zero allocation in the telemetry hot path. |
| Zero third-party JS on public pages | Your site ships your code. Lexical is admin-only. Nothing phones home. |
| 1,547 tests | Strict TypeScript, neostandard, CI on every push. |
| Zero third-party JS on public pages | Your site ships your code. Tiptap is admin-only. Nothing phones home. |
| 3,022 tests | Strict TypeScript, neostandard, CI on every push. |

@@ -167,0 +274,0 @@ ## Documentation