Fix trailing slash logic when writing .packages (#55)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 048eedf..50f1ede 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,6 @@
 ## 1.2.0
  - Added support for writing default-package entries.
+ - Fixed bug when writing `Uri`s containing a fragment.
 
 ## 1.1.0
 
diff --git a/lib/packages_file.dart b/lib/packages_file.dart
index 1fa18e7..1c35d5b 100644
--- a/lib/packages_file.dart
+++ b/lib/packages_file.dart
@@ -162,10 +162,10 @@
     if (baseUri != null) {
       uri = _relativize(uri, baseUri);
     }
-    output.write(uri);
     if (!uri.path.endsWith('/')) {
-      output.write('/');
+      uri = uri.replace(path: uri.path + '/');
     }
+    output.write(uri);
     output.writeln();
   });
 }