Preheat oven to 350 degrees. Line 12 muffin cups or a 9x9 pan with paper.
In a medium bowl, combine flour, baking powder, salt and lime zest. Stir together and set aside.
In the bowl of an electric mixer, combine butter and sugar. Beat on medium speed for 2-3 minutes until fluffy. Add the eggs, one at a time, beating for about 60 seconds between each addition. Add in the extracts, lime juice, and yogurt. Mix on medium low for 1-2 minutes until incorporated.
Turn the mixer to low and slowly add the dry ingredients. Mix until just combined, being careful not to over mix.
Pour into prepared pans. Bake for 23-25 minutes (9x9) or 16-18 minutes (cupcakes). The cake will be done when the top springs back when gently poked with your finger.
Remove from oven and cool in the pan for 10 minutes, then turn onto a cooling rack to cool completely.
To make the frosting
In the bowl of an electric mixer, beat the cream cheese on medium speed until smooth and soft. Cut the butter into cubes and add it to the mixer, continue beating until they are combined and smooth. Scrape down the bowl. Add the lime zest and begin adding the powdered sugar 1 C at a time. You will need to mix and then scrape the bowl before a new addition. Once all of the sugar has been incorporated, turn the mixer to high speed and beat for 4-5 minutes. It will get extremely light and fluffy.
Frost the cake and enjoy!
Refrigerate any leftovers in an airtight container.