1.0.4 • Published 6 months ago

cmn-uts v1.0.4

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago

Common Utils

A collection of generalized utility functions and classes designed for use in Node.js microservices, written in TypeScript. This package aims to provide a modular and reusable set of tools to streamline the development of microservices.

Features

  • Authentication: Utilities for token generation and validation.
  • Configuration: Centralized configuration management using environment variables.
  • Database Connections: Simplified connection management for PostgreSQL, MongoDB, and DynamoDB.
  • Encryption: Basic encryption and decryption utilities.
  • Error Handling: Custom error classes for consistent error management.
  • Logging: Configurable logging using Winston.
  • Metrics: Prometheus metrics integration for monitoring.
  • Validation: Data validation using Zod schemas.

Directory Structure

  • src/
    • auth/: Authentication utilities.
    • config/: Configuration management.
    • db/: Database connection utilities.
    • encryption/: Encryption and decryption utilities.
    • errors/: Custom error classes.
    • logger/: Logging utilities.
    • metrics/: Metrics collection and reporting.
    • validation/: Data validation utilities.

Installation

To install this package, use npm or yarn:

bash npm install common-utils

or yarn add common-utils

Usage

Import the utilities you need from the package:

typescript

import { generateToken, validateToken } from 'cmn-uts';
import { config } from 'cmn-uts';
import { PostgresConnection } from 'cmn-uts';
import { encrypt, decrypt } from 'cmn-uts';
import { AppError } from 'cmn-uts';
import { logger } from 'cmn-uts';
import { httpRequestDuration } from 'cmn-uts';
import { validateSchema } from 'cmn-uts';

Configuration

Ensure you have a .env file in your project root with the necessary environment variables:

NODE_ENV=development
POSTGRES_URL=your_postgres_url
MONGO_URL=your_mongo_url
DYNAMO_REGION=your_dynamo_region
JWT_SECRET=your_jwt_secret
DB_USER=your_db_user
DB_HOST=your_db_host
DB_NAME=your_db_name
DB_PASSWORD=your_db_password
DB_PORT=your_db_port
API_BASE_URL=your_api_base_url
LOG_LEVEL=info

Contributing

Contributions are welcome! Please submit a pull request or open an issue to discuss any changes.

License

This project is licensed under the MIT License.

1.0.4

6 months ago

1.0.3

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago