I'm one of the ones that preferred to be told by text. This allowed me to be upset, process it & then contact the lucky person in my own time & congratulate them without crying. I get that it might seem impersonal, but for me it worked. I would have been uncomfortable if my sister took me out to lunch & sprung it on me there (luckily she didn't...). Like myturn said, everyone's different & you will be the best person to gauge what might work best with your friend.

Also, don't wait. Even though she might be upset (not bc you're pregnant, just bc she's not...) it would be worse if she found out from someone else. Ttc is isolating enough without being made to feel like you aren't included in regular things/events (preg/birth announcements, bday parties etc) bc people are trying to spare your feelings. It hurts, but hurts more being left out.