Skip to content

FormaJS v1.0.0

Choose a tag to compare

@MenesesEvandro MenesesEvandro released this 03 Nov 17:15
· 26 commits to main since this release

First public release of FormaJS — a lightweight, modular library for validation, parsing, sanitization, and formatting of inputs, with built-in i18n and zero external dependencies.

Highlights

  • ✅ Common validations: email, URL, IP, dates, UUID, credit card, license plate, ZIP/postal code, tax IDs, and more
  • 🌍 i18n: localized messages (en-US and pt-BR), with runtime locale switching
  • 🔧 Extensible: easily add validators, parsers, sanitizers, and formatters
  • 📦 Zero dependencies, small and tree-shakable modules
  • 🚀 Supports ESM, CJS, and UMD (for CDN)
  • 🎯 Deep imports for granular usage
  • ✅ Vitest tests and coverage configured

Installation

npm install @formajs/formajs
# or
pnpm add @formajs/formajs
# or
yarn add @formajs/formajs

Quick usage

ESM – preconfigured instance

// Default locale: en-US
import forma from '@formajs/formajs';

const res = forma.validateEmail('john@example.com');
if (!res.valid) {
  console.error(res.message);
}

// Switch locale at runtime
forma.setLocale('pt-BR');

Deep imports (tree-shakable)

import { validateEmail } from '@formajs/formajs/validators/validateEmail';

const r = validateEmail('bad@@example.com');
// { valid: false, error: 'validateEmail', context?: {...} }

CommonJS

const forma = require('@formajs/formajs').default;

const res = forma.validateEmail('user@example.com');

CDN (UMD)

<script src="https://unpkg.com/@formajs/formajs@1/dist/formajs.umd.min.js"></script>
<script>
  const result = forma.validateEmail('user@example.com');
  console.log(result);
</script>

Documentation

For full API documentation, including all available validators, parsers, sanitizers, and formatters, see:

  • Validators — Email, URL, IP, credit cards, tax IDs, and more
  • Parsers — Convert strings to typed values
  • Sanitizers — Clean and normalize input data
  • Formatters — Apply locale-aware formatting

Notes

Links