@trivajs/ua-parser
v1.2.0
Published
Zero-dependency User-Agent parser for Node.js with bot, AI, and crawler detection
Maintainers
Readme
Triva UA-Parser
A lightweight, zero-dependency User-Agent parsing library for Node.js with built-in bot, AI, and crawler detection.
Triva UA-Parser is designed as a pragmatic alternative to heavy UA parsers. It focuses on:
- ⚡ Fast, synchronous parsing
- 🧠 Explicit bot / AI / crawler detection
- 🔍 Clear, auditable logic (no massive hidden regex tables)
- 📦 Zero dependencies
Ideal for analytics, middleware, dashboards, admin panels, and security tooling.
Installation
npm install @trivajs/ua-parserBasic Usage
Parse a User-Agent string
import { parseUA } from '@trivajs/ua-parser';
const result = parseUA(
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36"
);
console.log(result);Parse Node.js request headers
import { parseUA } from '@trivajs/ua-parser'
app.get("/", (req, res) => {
const parsed = parseUA(req.headers);
res.json(parsed);
});Express Middleware Example
import { parseUA } from '@trivajs/ua-parser'
module.exports = function uparsejsMiddleware(req, res, next) {
req.ua = parseUA(req.headers);
next();
};Usage:
const express = require("express");
const uparsejsMiddleware = require("./uparsejs-middleware");
const app = express();
app.use(uparsejsMiddleware);
app.get("/", (req, res) => {
res.json(req.ua);
});Fastify Plugin Example
import { parseUA } from '@trivajs/ua-parser'
async function uparsePlugin(fastify) {
fastify.addHook("onRequest", async (req) => {
req.ua = parseUA(req.headers);
});
}
module.exports = uparsePlugin;Example Output
{
"browser": { "name": "Chrome", "version": "143.0.0.0", "major": "143" },
"engine": { "name": "Blink" },
"os": { "name": "Windows", "version": "10.0" },
"device": { "type": "desktop" },
"cpu": { "architecture": "amd64" },
"bot": { "isBot": false, "isAI": false }
}License
MIT License
