https://github.com/crowdlinker/nestjs-commons
NestJS Commons used in many projects.
https://github.com/crowdlinker/nestjs-commons
constants dayjs functions helpers middlewares nestjs nodejs typescript
Last synced: 11 months ago
JSON representation
NestJS Commons used in many projects.
- Host: GitHub
- URL: https://github.com/crowdlinker/nestjs-commons
- Owner: CrowdLinker
- License: mit
- Created: 2021-06-17T21:26:38.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2025-05-14T16:22:26.000Z (about 1 year ago)
- Last Synced: 2025-07-18T03:57:21.097Z (11 months ago)
- Topics: constants, dayjs, functions, helpers, middlewares, nestjs, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 160 KB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# NestJS Commons
Commons for NestJS
## Packages
- [Lodash](https://www.npmjs.com/package/lodash/v/4.17.21) - lodash (v4.17.21)
## Installation
```bash
npm install --save @crowdlinker/nestjs-commons
// or
// yarn add @crowdlinker/nestjs-commons
```
## Usage
### Constants
#### Example
```ts
import dayjs from 'dayjs';
import { DATE_FORMAT } from '@crowdlinker/nestjs-commons/constants/date';
new days().format(DATE_FORMAT); // 2021-05-21
```
### Helpers
Helpers are common functions used throughout the codebase for performing some basic operations.
#### Example
```ts
import { isLeapYear } from '@crowdlinker/nestjs-commons/helpers/date';
if (isLeapYear()) {
// const noOfDays = 366;
} else {
// const noOfDays = 365;
}
```
### HttpExceptionFilter
To know about what an HttpExceptionFilter is, please read the [NestJS documentation](https://docs.nestjs.com/exception-filters#binding-filters).
```ts
import { Module } from '@nestjs/common';
import { APP_FILTER } from '@nestjs/core';
import { AppService } from './app.service';
import { AppController } from './app.controller';
import { AppConfigService } from './config/app/config.service';
import { HttpExceptionFilter } from '@crowdlinker/nestjs-commons/exceptions/filters/http-exception';
@Module({
imports: [
// ...
],
controllers: [AppController],
providers: [
AppService,
{
provide: APP_FILTER,
useFactory: async (appConfigService: AppConfigService) => {
return new HttpExceptionFilter(appConfigService);
},
},
],
})
export class AppModule {}
```
**Note:** AppConfigService should implement AppConfigServiceInterface provided in `@crowdlinker/nestjs-commons/interfaces/config.interface. See example below:
```ts
import { Injectable } from '@nestjs/common';
import { AppConfig } from './config.interface';
import { ConfigService } from '@nestjs/config';
import { AppConfigServiceInterface } from '@crowdlinker/nestjs-commons/interfaces/config';
@Injectable()
export class AppConfigService implements AppConfigServiceInterface {
// ....
}
```
## Important Points To Note
- Code is written in Typescript (v5.4.3)
## Contributors
- Team @Crowdlinker ([Github](https://github.com/CrowdLinker) | [Bitbucket](https://bitbucket.org/crowdlinker/))