Preheat the oven to 350°F. Spray a 13x9-inch pan with cooking spray.
In a large bowl, whisk together the flour, baking powder, baking soda, cinnamon, nutmeg, ginger and salt.
Shred the carrots in a food processor (or by hand). Add the carrots to the flour mixture.
In a large bowl, combine the white and brown sugars and eggs and use electric hand mixer to blend them together. Add the oil and extracts and mix until well blended and emulsified, about 30 seconds. Scrape into the bowl with the carrots and flour mixture. Stir by hand until well mixed. Fold in the chips and nuts, if using. Scrape into the prepared baking pan.
Bake 35 to 40 minutes, until a toothpick inserted in the center of the cake comes out clean. Cool in the pan on a rack.
PREPARE THE FROSTING:
In a large bowl, use an electric mixer to combine the cream cheese, butter and vanilla until blended. Scrape down the sides of the bowl, add the powdered sugar, and keep mixing until smooth. Spread onto the cooled cake.
Notes
NOTE: Optional nuts are not included in the nutritional information.
Instead of mixing nuts into the batter, you may opt to sprinkle the nuts on top of the frosting.
To toast the nuts: Preheat oven to 350°F. Arrange walnuts on a cookie sheet in a single layer. Bake 8 to 10 minutes, checking frequently.