Skip to content

Commit

Permalink
4.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
wisekaa03 committed Jun 15, 2023
1 parent bf08d66 commit 0a65ba4
Show file tree
Hide file tree
Showing 6 changed files with 1,502 additions and 1,197 deletions.
46 changes: 23 additions & 23 deletions package.json
@@ -1,6 +1,6 @@
{
"name": "nestjs-mailgun",
"version": "3.1.5",
"version": "4.0.0",
"description": "NestJS provider for sending emails with mailgun",
"author": "Stanislav V Vyaliy <wisekaa03@gmail.com>, Nuno Carvalhão <nuno.carvalhao@gmail.com>",
"license": "MIT",
Expand Down Expand Up @@ -38,42 +38,42 @@
"url": "https://github.com/wisekaa03/nestjs-mailgun"
},
"peerDependencies": {
"@nestjs/common": "^8.4.7 || ^9.0.11"
"@nestjs/common": "^8 || ^9 || ^10"
},
"resolutions": {
"**/**/multer": ">=1.4.5-lts.1"
},
"dependencies": {
"@nestjs/common": "^9.0.11",
"@nestjs/common": "^10.0.0",
"form-data": "^4.0.0",
"mailgun.js": "^8.0.1"
"mailgun.js": "^9.0.1"
},
"devDependencies": {
"@nestjs/config": "^2.2.0",
"@nestjs/core": "^9.0.11",
"@nestjs/platform-express": "^9.0.11",
"@nestjs/testing": "^9.0.11",
"@types/express": "4.17.14",
"@types/jest": "29.0.2",
"@types/node": "18.7.18",
"@nestjs/config": "^3.0.0",
"@nestjs/core": "^10.0.0",
"@nestjs/platform-express": "^10.0.0",
"@nestjs/testing": "^10.0.0",
"@types/express": "4.17.17",
"@types/jest": "29.5.2",
"@types/node": "20.3.1",
"@types/supertest": "2.0.12",
"@typescript-eslint/eslint-plugin": "^5.37.0",
"@typescript-eslint/parser": "^5.37.0",
"eslint": "^8.23.1",
"@typescript-eslint/eslint-plugin": "^5.59.11",
"@typescript-eslint/parser": "^5.59.11",
"eslint": "^8.42.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"eslint-config-prettier": "^8.8.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-prettier": "^4.2.1",
"form-data": "^4.0.0",
"jest": "29.0.3",
"prettier": "2.7.1",
"jest": "29.5.0",
"prettier": "2.8.8",
"reflect-metadata": "^0.1.13",
"rimraf": "^3.0.2",
"rxjs": "^7.5.6",
"supertest": "6.2.4",
"ts-jest": "29.0.1",
"typescript": "^4.8.3"
"rimraf": "^5.0.1",
"rxjs": "^7.8.1",
"supertest": "6.3.3",
"ts-jest": "29.1.0",
"typescript": "^5.1.3"
},
"jest": {
"moduleFileExtensions": [
Expand Down
9 changes: 3 additions & 6 deletions src/index.ts
@@ -1,9 +1,6 @@
export { MailgunModule } from './mailgun.module';
export { OptionsAsync } from './interfaces';
export { MailgunService, MailgunError } from './mailgun.service';
export {
MailgunMessageData,
MessagesSendResult,
} from 'mailgun.js/interfaces/Messages';
export { default as APIResponse } from 'mailgun.js/interfaces/ApiResponse';
export { default as APIErrorOptions } from 'mailgun.js/interfaces/APIErrorOptions';
export { MailgunMessageData, MessagesSendResult } from 'mailgun.js';
export { default as APIResponse } from 'mailgun.js';
export { default as APIErrorOptions } from 'mailgun.js';
6 changes: 4 additions & 2 deletions src/interfaces.ts
@@ -1,7 +1,9 @@
import { ModuleMetadata } from '@nestjs/common/interfaces';
import Options from 'mailgun.js/interfaces/Options';
import { MailgunClientOptions } from 'mailgun.js';

export interface OptionsAsync extends Pick<ModuleMetadata, 'imports'> {
useFactory: (...args: any[]) => Options | Promise<Options>;
useFactory: (
...args: any[]
) => MailgunClientOptions | Promise<MailgunClientOptions>;
inject?: any[];
}
4 changes: 2 additions & 2 deletions src/mailgun.module.ts
@@ -1,13 +1,13 @@
import { Module, Provider } from '@nestjs/common';
import type Options from 'mailgun.js/interfaces/Options';
import { MailgunClientOptions } from 'mailgun.js';

import type { OptionsAsync } from './interfaces';
import { MAILGUN_CONFIGURATION } from './constants';
import { MailgunService } from './mailgun.service';

@Module({})
export class MailgunModule {
public static forRoot(config: Options) {
public static forRoot(config: MailgunClientOptions) {
return {
module: MailgunModule,
// controllers: [
Expand Down
24 changes: 10 additions & 14 deletions src/mailgun.service.ts
@@ -1,38 +1,34 @@
import FormData from 'form-data';
import { Injectable, Inject } from '@nestjs/common';
import Mailgun from 'mailgun.js';
import Client from 'mailgun.js/client';
import Options from 'mailgun.js/interfaces/Options';
import type { ValidationResult } from 'mailgun.js/interfaces/Validate';
import {
import Mailgun, {
Interfaces,
MailgunClientOptions,
CreateUpdateList,
DestroyedList,
MailingList,
} from 'mailgun.js/interfaces/lists';
import {
MailgunMessageData,
MessagesSendResult,
} from 'mailgun.js/interfaces/Messages';
import {
CreateUpdateMailListMembers,
DeletedMember,
MailListMember,
MailListMembersQuery,
MailListMembersResult,
MultipleMembersData,
NewMultipleMembersResponse,
} from 'mailgun.js/interfaces/mailListMembers';
import type APIError from 'mailgun.js/error';
ValidationResult,
APIErrorType,
} from 'mailgun.js';
import { MAILGUN_CONFIGURATION } from './constants';

export type MailgunError = APIError;
export type MailgunError = APIErrorType;

@Injectable()
export class MailgunService {
private readonly mailgun: Client;
private readonly mailgun: Interfaces.IMailgunClient;

constructor(
@Inject(MAILGUN_CONFIGURATION) private readonly configuration: Options,
@Inject(MAILGUN_CONFIGURATION)
private readonly configuration: MailgunClientOptions,
) {
this.mailgun = new Mailgun(FormData).client(configuration);
}
Expand Down

0 comments on commit 0a65ba4

Please sign in to comment.