A collection of production-ready TypeScript libraries built with Bun, covering domains from financial calculations to content processing.
| Library | Description | Version |
|---|---|---|
@f-o-t/condition-evaluator |
Flexible, typesafe condition evaluator for building rule engines | |
@f-o-t/rules-engine |
Business rules engine with condition evaluation | |
@f-o-t/money |
Type-safe money handling with BigInt precision and ISO 4217 currency support | |
@f-o-t/digital-certificate |
Brazilian A1 digital certificate handling with .pfx/.p12 parsing, XML-DSig signing, and mTLS | |
@f-o-t/ofx |
OFX (Open Financial Exchange) parser and generator | |
@f-o-t/content-analysis |
Content analysis and processing utilities | |
@f-o-t/markdown |
Markdown parsing and processing | |
@f-o-t/xml |
XML parsing and manipulation | |
@f-o-t/csv |
CSV parsing and generation | |
@f-o-t/spelling |
Spelling correction and validation |
- Bun v1.0 or higher
- Node.js v20 or higher (for compatibility)
Clone the repository and install dependencies:
git clone https://github.com/F-O-T/contentta-nx.git fot-libraries
cd fot-libraries
bun install# Build all libraries
bun run build
# Run type checking
bun run typecheck
# Format code with Biome
bun run format
# Run tests
bun run test
# Clean build artifacts
bun run clean
# Release a library
bun run release:librariesEach library is independently versioned and published. To work on a specific library:
cd libraries/<library-name>
# Development mode with watch
bun run dev
# Build the library
bun run build
# Run tests
bun run test
# Type check
bun run typecheckThis is an Nx monorepo using Bun workspaces:
fot-libraries/
├── libraries/ # Published libraries
│ ├── condition-evaluator/
│ ├── rules-engine/
│ ├── money/
│ └── ...
├── scripts/ # Build and release automation
├── biome.json # Code formatting config
├── nx.json # Nx configuration
└── package.json # Workspace config
- Formatting: Biome with 3 spaces, 80 char line width, double quotes
- TypeScript: Strict mode, explicit types, camelCase variables
- Commits: Conventional format:
type(scope): description - Testing: Bun test framework
- Versioning: Independent library versioning with semantic versioning
We welcome contributions! See CONTRIBUTING.md for guidelines.
Licensed under the MIT License. Individual libraries may have their own licenses (typically MIT) - check each library's package.json.
- Issues: Report bugs and feature requests at GitHub Issues
- Documentation: Each library contains its own README with detailed usage examples