feathers-mailer icon indicating copy to clipboard operation
feathers-mailer copied to clipboard

I created typings for this package - where to put them?

Open Artaud opened this issue 3 years ago • 2 comments

Hi, I created types definition for this package. Should I upload them to @types or create a PR for the types to be put inside the lib?

For reference, I copy the typings here:

declare module 'feathers-mailer' {
  import SMTPTransport from 'nodemailer/lib/smtp-transport'
  import {SendMailOptions, SentMessageInfo} from 'nodemailer'
  import JSONTransport from 'nodemailer/lib/json-transport'
  import SMTPPool from 'nodemailer/lib/smtp-pool'
  import SESTransport from 'nodemailer/lib/ses-transport'
  import StreamTransport from 'nodemailer/lib/stream-transport'
  import SendmailTransport from 'nodemailer/lib/sendmail-transport'

  export class Service {
    constructor(transport?: SMTPTransport | SMTPTransport.Options | string, defaults?: SMTPTransport.Options)
    constructor(transport?: SMTPPool | SMTPPool.Options, defaults?: SMTPPool.Options)
    constructor(transport?: SendmailTransport | SendmailTransport.Options, defaults?: SendmailTransport.Options)
    constructor(transport?: StreamTransport | StreamTransport.Options, defaults?: StreamTransport.Options)
    constructor(transport?: JSONTransport | JSONTransport.Options, defaults?: JSONTransport.Options)
    constructor(transport?: SESTransport | SESTransport.Options, defaults?: SESTransport.Options)

    extend(obj: Record<string, unknown>): Record<string, unknown>

    create(body: SendMailOptions, params?: never): Promise<SentMessageInfo>
  }

  export default function init(transport?: SMTPTransport | SMTPTransport.Options | string, defaults?: SMTPTransport.Options): Service
  export default function init(transport?: SMTPPool | SMTPPool.Options, defaults?: SMTPPool.Options): Service
  export default function init(transport?: SendmailTransport | SendmailTransport.Options, defaults?: SendmailTransport.Options): Service
  export default function init(transport?: StreamTransport | StreamTransport.Options, defaults?: StreamTransport.Options): Service
  export default function init(transport?: JSONTransport | JSONTransport.Options, defaults?: JSONTransport.Options): Service
  export default function init(transport?: SESTransport | SESTransport.Options, defaults?: SESTransport.Options): Service
}

Artaud avatar Nov 19 '21 10:11 Artaud

Great, thank you. They can go in this package. A modern reference for how to add typings (including tests) would be https://github.com/feathersjs-ecosystem/feathers-batch

daffl avatar Nov 23 '21 22:11 daffl

Thanks @Artaud

asasvirtuais avatar Jan 10 '22 17:01 asasvirtuais