NodeJs Buffer is not attached to Nodemailer file

Currently on my project I am dealing with a situation and I feel it is a problem of syntax but I am not getting the right answer and kinda feeling stressed and tilt over it for the last three days.

I am using three libraries NodeJs, Html-pdf(phantomJS) and Nodemailer.

this is the block of code in question (everything is inside a major async function that is a resolver of graphQl)

 await pdf.create(html, options).toBuffer(async (err, buffer) => {
          //i = new ;
          //console.log(typeof(buffer))
          await buffer;
          await transporter.sendMail({
            from: '"Example" example@example.com', // sender address
            to: `${a1.dataValues.email}`, // list of receivers
            subject: `${text2}`, // Subject line
            text: `${text}`, // plain text body
            html: `<p> ${text} </p>`, // html body
            attachments: [
              {
                filename: `${a1.dataValues.kitID}.pdf`,
                content: buffer,
                contentType: "application/pdf",
              },
            ],
          });
        });

The email is sent but I get this in the browser

result

The attachment is sent but I guess it is "undefined" and I have been struggling with finding a way to fix this. Can someone please help me?

I tried as well to do

 attachments: [
              {
                filename: `${a1.dataValues.kitID}.pdf`,
                content: new buffer.from(buffer),
                contentType: "application/pdf",
              },
            ],

 attachments: [
              {
                filename: `${a1.dataValues.kitID}.pdf`,
                content: new buffer(buffer),
                contentType: "application/pdf",
              },
            ],

 attachments: [
              {
                filename: `${a1.dataValues.kitID}.pdf`,
                content: new buffer.from(buffer,'base64'),
                contentType: "application/pdf",
              },
            ],

but all of those crash the app in Azure. The all thing works perfectly locally, but not when deployed.