mfance-shark-v1
v1.0.92
Published
Shared library for MFA microservices
Downloads
1,696
Readme
MasaFinance Shared Library
This is a shared library for MasaFinance microservices that provides common utilities, DTOs, interfaces, and services that can be used across all microservices.
Features
- Common DTOs: Shared data transfer objects for consistent API contracts
- Interfaces: Common interfaces for type safety across services
- Utilities: Helper functions and utilities
- Constants: Shared constants and enums
- Decorators: Custom decorators for validation and metadata
- Guards: Authentication and authorization guards
- Interceptors: Common interceptors for logging, error handling, etc.
- Filters: Exception filters for consistent error responses
Installation
# Install dependencies
npm install
# Build the library
npm run build
# Run tests
npm test
# Lint code
npm run lint
# Format code
npm run formatUsage
In other microservices
# Install the shared library
npm install @masa-finance/shared-lib
# Or use local path for development
npm install file:../libImport and use
import {
ApiResponse,
UserDto,
LoggerService,
JwtAuthGuard,
ValidationPipe
} from '@masa-finance/shared-lib';Project Structure
src/
├── common/ # Common utilities and helpers
│ ├── constants/ # Shared constants
│ ├── decorators/ # Custom decorators
│ ├── filters/ # Exception filters
│ ├── guards/ # Authentication guards
│ ├── interceptors/ # Request/response interceptors
│ └── utils/ # Utility functions
├── dto/ # Shared DTOs
│ ├── auth/ # Authentication DTOs
│ ├── user/ # User-related DTOs
│ ├── transaction/ # Transaction DTOs
│ └── balance/ # Balance DTOs
├── interfaces/ # Shared interfaces
├── services/ # Shared services
│ ├── logger/ # Logging service
│ ├── auth/ # Authentication service
│ └── validation/ # Validation service
└── index.ts # Main export fileDevelopment
Adding new shared components
- Create the component in the appropriate directory
- Export it from the main
index.tsfile - Update the README if necessary
- Add tests for the new component
- Build and test the library
Testing
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:covContributing
- Follow the existing code style and patterns
- Add tests for new functionality
- Update documentation as needed
- Ensure all tests pass before submitting
License
MIT
