npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@reldens/cms

v0.57.0

Published

Reldens - CMS

Readme

Reldens - GitHub - Release

Reldens CMS

A powerful, flexible Content Management System built with Node.js, featuring an admin panel, multi-domain frontend support, enhanced templating with reusable content blocks, system variables, internationalization, template reloading, dynamic forms, and automated installation with subprocess handling.

Features

- Quick Setup

  • Web-based installer with guided setup process and subprocess management
  • Subprocess installation handling for complex operations with progress tracking
  • Automatic database schema creation and seeding
  • Intelligent dependency management with npm integration
  • Environment configuration generation with template validation
  • Directory structure initialization with asset copying

- Frontend Engine

  • Multi-domain support with domain-specific templates and partials
  • Dynamic routing from database-driven routes
  • Entity-based URLs (e.g., /articles/123)
  • Template fallback system (domain → default → base)
  • Layout system with body content layouts and page wrappers
  • Reusable content blocks with <entity> template functions
  • Collection rendering with filtering, sorting, pagination, and loop support
  • Custom partial tags with HTML-style syntax for complex partials
  • Entity access control for public/private content
  • Static asset serving with Express integration as default
  • Template engine with Mustache integration as default
  • System variables for request, route, and domain context
  • Enhanced context passing with currentEntity data in child blocks
  • Template functions for URLs, assets, dates, and translations
  • Event-driven rendering with hooks for customization
  • Custom 404 handling
  • Advanced search functionality with template data support
  • Dynamic forms system with template transformers and security features
  • Template reloading for development with configurable reload strategies

- Admin Panel

  • Full CRUD operations for all entities including content blocks
  • File upload handling with multiple storage buckets
  • Role-based authentication and access control
  • Advanced filtering and search across entity properties
  • Bulk operations (delete multiple records)
  • Relationship management with foreign key support
  • Template-driven UI with customizable admin themes

-️ Database & Entities

  • Multiple database drivers (Prisma by default, others via DriversMap)
  • Automatic entity generation from a database schema
  • Relationship mapping and foreign key handling
  • Custom entity configuration with validation rules
  • Translation support for entity labels and properties
  • Content blocks management via cms_blocks table
  • Entity access control via entities_access table
  • Dynamic forms storage via cms_forms and cms_forms_submitted tables

- Configuration & Architecture

  • Environment-based configuration (.env file)
  • Modular service architecture with specialized classes for better maintainability
  • Event-driven system with hooks for customization
  • Extensible authentication (database users or custom callbacks)
  • Password encryption with PBKDF2 (100k iterations, SHA-512) - automatic on save
  • File security with path validation and dangerous key filtering
  • Internationalization support with translation files

Architecture

Core Classes

The CMS uses a modular architecture with specialized classes:

Installation & Management:

  • Installer - Installation orchestrator with subprocess management and progress tracking
  • Manager - Main CMS orchestrator with service initialization and configuration management
  • MySQLInstaller - Database-specific installation with schema migration support

Frontend Orchestrator:

  • Frontend - Main orchestrator class that coordinates all frontend operations

Template Management:

  • TemplateResolver - Template discovery and domain resolution
  • TemplateCache - Template and partial caching management
  • TemplateReloader - Template reloading with file change detection

Request Processing:

  • RequestProcessor - HTTP request routing and path handling
  • SearchRequestHandler - Dedicated search request processing
  • DynamicFormRequestHandler - Form submission processing

Content Management:

  • ContentRenderer - Content generation and template processing
  • EntityAccessManager - Entity access control and loading

Response Handling:

  • ResponseManager - HTTP response handling and caching logic

Template Processing:

  • TemplateEngine - Core template rendering with enhanced context
  • SystemVariablesProvider - System variables for templates
  • FormsTransformer - Dynamic forms template transformer

Forms System:

  • DynamicForm - Form validation and data processing
  • DynamicFormRenderer - Template-based form rendering

This architecture follows SOLID principles, providing better:

  • Testability - Individual components can be tested in isolation
  • Maintainability - Changes to one area don't affect others
  • Reusability - Components can be reused in different contexts
  • Readability - Smaller, focused classes are easier to understand

Installation

Install the CMS package and its dependencies:

npm install @reldens/cms

Then use the web installer or create the files manually.

Method 1: Automated Web Installer with Subprocess Handling

npx reldens-cms

Navigate to http://localhost:8080 and follow the installation wizard with:

  • Automatic dependency checking and installation
  • Subprocess progress tracking for complex operations
  • Database connection validation with real-time feedback
  • SSL certificate configuration for production
  • Post-installation callbacks for custom initialization

Method 2: Manual Setup

const { Manager } = require('@reldens/cms');

const cms = new Manager({
    projectRoot: process.cwd(),
    entityAccess: {
        cmsPages: { public: true, operations: ['read'] },
        articles: { public: true, operations: ['read'] },
        users: { public: false }
    },
    // Enhanced manager configuration
    authenticationMethod: 'db-users', // or 'custom'
    adminRoleId: 99,
    cache: true,
    reloadTime: 0 // Disable template reloading for production
});

cms.start();

Configuration

Environment variables: Database, server, admin, multi-domain settings Template reloading: Configure for development (-1) or production (0) Entity configuration: Custom entity properties, validation, and relationships Manager options: Authentication, caching, domain mapping

Full documentation: See .claude/configuration-guide.md

CLI Commands

Start CMS

npx reldens-cms

Runs the installer if not installed, otherwise starts the CMS server.

Generate Entities

npx reldens-cms-generate-entities
npx reldens-cms-generate-entities --override

Generate entity classes from database schema.

Update User Password

npx reldens-cms-update-password [email protected]
npx reldens-cms-update-password --username=admin

Securely update user passwords via CLI. Password will be prompted if not provided.

Password Management

Automatic encryption: PBKDF2 with 100k iterations, SHA-512 CLI password update: npx reldens-cms-update-password [email protected] Event-driven: Encrypts passwords automatically on save via admin panel Storage format: salt:hash (192 characters total) Enabled by default: Set enablePasswordEncryption: false to disable

Full documentation: See .claude/password-management-guide.md

Advanced Installation Features

Subprocess handling for complex operations with progress tracking Enhanced Manager with service validation and automatic initialization Development mode detection with configurable patterns Security configuration with CSP, Helmet headers, and external domain support

Full documentation: See .claude/installation-guide.md

Dynamic Forms System

Create database-driven forms with <cmsForm key="contactForm"/> tags in templates. Features:

  • Schema-based validation with multiple field types (text, email, select, etc.)
  • Security: Honeypot protection, rate limiting, XSS protection
  • Domain-aware template customization
  • Event hooks for custom processing
  • Database storage in cms_forms and cms_forms_submitted tables

Full documentation: See .claude/forms-system-guide.md

Search Functionality

Multi-entity search with pagination and template data support.

Usage: /search?search=technology&limit=20&templateData[columnsClass]=col-md-4

Full documentation: See .claude/search-guide.md

Enhanced Templating System

Powerful template engine with Mustache integration, system variables, and dynamic content rendering.

Core Features:

  • System variables: {{currentRequest.host}}, {{currentRoute.title}}, {{systemInfo.environment}}
  • Template functions: [url(/path)], [asset(/img.png)], [date(now, Y-m-d)], [translate(key)]
  • Entity rendering: <entity name="cmsBlocks" field="name" value="header"/>
  • Collections with pagination: <collection name="articles" filters="{}" data="{limit: 10}">
  • Custom partials: <partial name="hero" title="Welcome"/> or {{>hero -{data}-}}

Full documentation: See .claude/templating-system-guide.md

Internationalization & Multi-Domain

Translation files: JSON-based i18n with [translate(key)] and [t(key, fallback)] functions Multi-domain support: Domain-specific templates, partials, and configurations Layout system: Two-tier layout (page.html + layouts/) with multiple layout options Content blocks: Reusable content via cms_blocks table Entity access control: Configure public/private entities and operations

Full documentation: See .claude/multi-domain-i18n-guide.md

Advanced Usage

Template Reloading: Set reloadTime: -1 for development, 0 for production Event System: Hook into CMS events for customization Custom Authentication: Implement custom auth callbacks File Upload Config: Configure MIME types and allowed extensions

Full documentation: See .claude/advanced-usage-guide.md

Database Schema

Core tables: routes, cms_pages, cms_blocks, entities_access, entities_meta Forms tables: cms_forms, cms_forms_submitted Optional: users, roles

Full documentation: See .claude/database-schema.md

API Reference

Complete class and method reference for all CMS components.

Full documentation: See .claude/api-reference.md

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Follow the coding standards in the JavaScript rules
  4. Submit a pull request

Need something specific?

Request a feature here: https://www.reldens.com/features-request

Documentation

https://www.reldens.com/documentation/cms


License

MIT License - see LICENSE file for details.


Reldens

By DwDeveloper