In a medium sized bowl, mix flour, sugar, baking soda, cinnamon, and salt.
Stir in pureed carrots(yes, baby food carrots), vegetable oil, eggs, and vanilla.
Place pineapple in a blender or food processor and blend thoroughly. Pour pineapple into a fine mesh strainer and press the pineapple against the mesh to get as much juice out as possible. You want very little juice in the pineapple because it will add too much moisture to the cake.
Gentle fold pineapple(and coconut and pecans if using) into the batter.
Line cupcake pan with lines and scoop a scant 1/4 cup scoop into each cupcake liner.
Bake for 13-18 minutes or until the top of the cupcakes bounces back when you touch them. If your finger leaves a slight dent on top of a cupcake, then they still needs to cook a 1-3 minutes longer.
Turn cupcakes out of pan as soon as they come out of the oven and cool on a wire rack. Wait to frost until cupcakes have fully cooled so the icing doesn’t melt.
Cream Cheese Icing
Make sure the cream cheese and butter are SOFT before mixing. If they are not soft, the icing will be difficult to spread. Cream butter and cream cheese with a hand mixer or stand mixer until smooth. Add vanilla and mix.
Add 2 cups of powdered sugar and mix on low speed so a sugar cloud doesn’t form in the air! Gradually increase speed to mix powdered sugar in all the way. Add remaining 2 – 2 1/2 cups of powdered sugar and mix until icing is super smooth and creamy.
Spread cream cheese frosting on the cupcakes and refrigerate. Cupcakes will stay good up to 1 week in the fridge.