prismalux v0.1.3
Prismalux š - A Zero-Dependency Prisma Schema Highlighter
⨠Prismalux is a lightweight, zero-dependency CLI tool & library for highlighting Prisma schema files in the terminal.
š You can also highlight a specific model or enum using the --filter= option.
Just run it with npx:
npx prismaluxš Features
ā Zero dependencies - No extra packages required
ā Syntax highlighting for Prisma schema files
ā Works as CLI & library (use as prismalux [path] or import in code)
ā Filter a specific model or enum using --filter=User
ā ESM & CommonJS support
šø Preview

š¦ Get Started
If you just want to run Prismalux without installing it, simply use:
npx prismaluxThis will automatically find the Prisma schema in the current directory (e.g., prisma/schema.prisma).
If your schema is located elsewhere, specify the path manually:
npx prismalux --path=./path/to/schema.prismaš Highlight a Specific Model or Enum
If you only want to highlight a specific model or enum, use the --filter= option:
prismalux --filter=UserOr multiple models/enums:
Use "," or "|" to separate multiple models/enums:
prismalux --filter="User|Role"prismalux --filter=User,RoleThis will only display:
model User {
id String @id @default(cuid())
email String @unique
role Role
createdAt DateTime @default(now())
}You can also combine it with a custom schema path:
prismalux --path=./custom/schema.prisma --filter=Postš¦ Installation
Global Installation (CLI)
If you want to use Prismalux as a command-line tool:
npm install -g prismaluxNow you can run:
prismaluxOr specify a custom path:
prismalux --path=./path/to/schema.prismaš® Usage
1ļøā£ CLI Mode
# Display help
prismalux --help
# Show version
prismalux --version
# Highlight Prisma schema (auto-detects "prisma/schema.prisma")
prismalux
# Highlight a specific file
prismalux --path=./custom/schema.prisma
# Highlight a specific model or enum
prismalux --filter=User2ļøā£ Import in Code
š¦ ESM (ES Modules)
import { PrismaHighlighter } from "prismalux";
const highlighter = new PrismaHighlighter();
const schema = `
model User {
id String @id @default(cuid())
email String @unique
role Role
createdAt DateTime @default(now())
}
`;
console.log(highlighter.highlight(schema));š¦ CommonJS (CJS)
Similar to ESM
import { PrismaHighlighter } from "prismalux"; // or require("prismalux")
const highlighter = new PrismaHighlighter();š§ Configuration
Prismalux allows you to customize colors and disable highlighting if needed.
const highlighter = new PrismaHighlighter({
enableColors: true,
colors: {
yellow: "\x1b[38;5;220m", // Custom yellow
orange: "\x1b[38;5;214m", // Custom orange
},
});
console.log(highlighter.highlight(schema));To disable colors (useful for logs):
const plainHighlighter = new PrismaHighlighter({ enableColors: false });
console.log(plainHighlighter.highlight(schema));š License
MIT License Ā© Artyom Gorlovetskiy