diff --git a/lib/messages/build_logger.dart b/lib/messages/build_logger.dart
index 39dfcf8..d493890 100644
--- a/lib/messages/build_logger.dart
+++ b/lib/messages/build_logger.dart
@@ -5,7 +5,7 @@
 library code_transformers.messages.messages_logger;
 
 import 'dart:async';
-import 'dart:convert' show JSON;
+import 'dart:convert' show json;
 
 import 'package:barback/barback.dart';
 import 'package:source_span/source_span.dart';
@@ -104,7 +104,7 @@
   /// Outputs the log data to a JSON serialized file.
   Future writeOutput() {
     return _getNextLogAssetId().then((id) {
-      _transform.addOutput(new Asset.fromString(id, JSON.encode(_logs)));
+      _transform.addOutput(new Asset.fromString(id, json.encode(_logs)));
     });
   }
 
@@ -126,7 +126,7 @@
       if (!exists) return null;
       return transform.readInputAsString(nextAssetPath).then((data) {
         entries.addAll(new LogEntryTable.fromJson(
-            JSON.decode(data) as Map<String, Iterable>));
+            json.decode(data) as Map<String, Iterable>));
         return _readLogFilesForAsset(id, transform, entries, ++nextNumber);
       });
     });
@@ -141,7 +141,7 @@
     return _readLogFilesForAsset(primaryId, transform, entries).then((_) {
       return transform.addOutput(new Asset.fromString(
           primaryId.addExtension(LOG_EXTENSION),
-          JSON.encode(entries.toJson())));
+          json.encode(entries.toJson())));
     });
   }
 
diff --git a/pubspec.yaml b/pubspec.yaml
index 38c98ee..a89defe 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -4,7 +4,7 @@
 description: Collection of utilities related to creating barback transformers.
 homepage: https://github.com/dart-lang/code-transformers
 environment:
-  sdk: '>=1.0.0 <2.0.0'
+  sdk: '>=2.0.0-dev.56.0 <2.0.0'
 dependencies:
   analyzer: '>=0.28.0 <0.33.0'
   barback: '>=0.14.2 <0.16.0'
diff --git a/test/messages_test.dart b/test/messages_test.dart
index 15bc4bb..57749d8 100644
--- a/test/messages_test.dart
+++ b/test/messages_test.dart
@@ -6,7 +6,7 @@
 @TestOn('vm')
 library polymer.test.build.messages_test;
 
-import 'dart:convert';
+import 'dart:convert' show json;
 import 'package:test/test.dart';
 import 'package:code_transformers/messages/messages.dart';
 import 'package:source_span/source_span.dart';
@@ -48,7 +48,7 @@
 
   for (var encode in [true, false]) {
     var toJson =
-        encode ? (o) => o.toJson() : (o) => JSON.decode(JSON.encode(o));
+        encode ? (o) => o.toJson() : (o) => json.decode(json.encode(o));
     group('serialize/deserialize ${encode ? "and stringify": ""}', () {
       test('message id', () {
         _eq(msg) {
