Melt the butter in a pan over medium-low heat, add the onions and water and cook until completely tender, caramelized and golden, about 20 minutes, stirring regularly, adding more water as needed.
(I just melt the butter & caramelize the onions without water…takes about 5 minutes)
Stir in cream cheese until melted, then stir in mayonnaise.
Stir in Parmesan & Swiss cheese until all melted together.
Place mixture in a baking dish.
Bake in a preheated 350F/180C oven until the sides are bubbling and the top is nice and golden brown, about 20-30 minutes.
Serve warm with toasted baguette rounds or Fritos.
