I guess routes should not overlap but it's sometimes convenient to add a .* default route at the end of the routes. Maybe that's not something you want to enable. Either way, since there's no check that routes don't overlap, using a LinkedHashMap would improve determinism.
Because https://github.com/dart-lang/route/blob/master/lib/client.dart#L35 uses a HashMap and not a LinkedHashMap, handle(url) can behave differently depending on the browser the code obtained via dart2js runs on.
I guess routes should not overlap but it's sometimes convenient to add a .* default route at the end of the routes. Maybe that's not something you want to enable. Either way, since there's no check that routes don't overlap, using a LinkedHashMap would improve determinism.