Place a rack in the center of the oven and preheat to 350 degrees F. Grease and flour a 10- or 12-cup Bundt pan or two 9-inch round pans and set aside.
In a large bowl, whisk together flour, baking powder, baking soda, salt, and cinnamon. Set aside.
In a medium bowl, whisk together eggs, yolk, and sugars. Blend with a whisk until well incorporated and slightly thickened. Add the oil and carefully incorporate. This part could get a little splashy. Add the crushed pineapple and vanilla, and stir until incorporated.
Add the pineapple mixture, all at once, to the flour mixture. Fold together with a spatula. When almost incorporated, fold in the carrots, coconut, and (if desired) raisins or cranberries and nuts. Fold until evenly blended. Pour cake batter into prepared pan(s) and bake for 35 to 45 minutes, or until a skewer inserted into the center comes out clean. Let cake cool in pan for 15 minutes before inverting on a wire rack to cool completely before frosting with Cream Cheese Frosting. Bake cake layers for 28 to 35 minutes or until a skewer inserted in the center comes out clean. Bake Bundt for 45 to 55 minutes or until a skewer inserted in the center comes out clean.
Place cream cheese in the bowl of an electric stand mixer fitted with a paddle attachment. Beat the cream cheese for about 1 minute, ensuring that it is soft and pliable. Stop the mixer and use a spatula to scrape down the sides of the bowl. Add the butter to the bowl. Beat the butter and cream cheese on medium speed for 1 minute, until thoroughly combined.
If adding any extra ingredients like a scraped vanilla bean, chocolate hazelnut spread, or lemon, do so after the cream cheese and butter have been mixed.
Turn the mixer on low and add the salt and powdered sugar followed by the vanilla extract. Beat until almost incorporated.
Stop the mixer and scrape down the sides and the bottom of the bowl. Beat on medium speed until all of the powdered sugar has disappeared and mixture is velvety soft.
Use immediately by spreading on a layer cake or cupcakes. If not using immediately, store in an airtight container in the refrigerator and bring to room temperature before spreading on cakes. Frosting will last, in an airtight container, in the refrigerator for up to 7 days.
Variations: 1 vanilla bean 1/2 cup chocolate hazelnut spread 1 tablespoon lemon juice plus 2 teaspoons lemon zest
From JOY THE BAKER by Joy Wilson. Copyright (c) 2012 Joy Wilson. Published by Hyperion. All Rights Reserved.