Index: sdk/lib/_internal/pub/lib/src/barback/dart_forwarding_transformer.dart |
diff --git a/sdk/lib/_internal/pub/lib/src/barback/dart_forwarding_transformer.dart b/sdk/lib/_internal/pub/lib/src/barback/dart_forwarding_transformer.dart |
index 8c25a385b8f413fce1af16d3bd7f54b60b87f559..ed99c84c8f233a6818f6046ebb4b33efc0ec4757 100644 |
--- a/sdk/lib/_internal/pub/lib/src/barback/dart_forwarding_transformer.dart |
+++ b/sdk/lib/_internal/pub/lib/src/barback/dart_forwarding_transformer.dart |
@@ -10,17 +10,27 @@ import 'package:barback/barback.dart'; |
import '../utils.dart'; |
-/// A single transformer that just forwards any ".dart" file as an output. |
+/// A single transformer that just forwards any ".dart" file as an output when |
+/// not in release mode. |
/// |
/// Since the [Dart2JSTransformer] consumes its inputs, this is used in |
/// parallel to make sure the original Dart file is still available for use by |
-/// Dartium. |
+/// Dartium. In release mode, it's used to the do the exact opposite: it |
+/// ensures that no Dart files are emitted, since all that is deployed is the |
+/// compiled JavaScript. |
class DartForwardingTransformer extends Transformer { |
+ /// The mode that the transformer is running in. |
+ final BarbackMode _mode; |
+ |
+ DartForwardingTransformer(this._mode); |
+ |
String get allowedExtensions => ".dart"; |
Future apply(Transform transform) { |
return newFuture(() { |
- transform.addOutput(transform.primaryInput); |
+ if (_mode != BarbackMode.RELEASE) { |
+ transform.addOutput(transform.primaryInput); |
+ } |
}); |
} |
} |