OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | |
2 // for details. All rights reserved. Use of this source code is governed by a | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 | |
5 /// Transformer that removes any sourcemap comments from javascript files. | |
6 library web_components.src.remove_sourcemap_comment; | |
7 | |
8 import 'dart:async'; | |
9 import 'package:barback/barback.dart'; | |
10 | |
11 /// Transformer that removes any sourcemap comments from javascript files. | |
12 /// Comments should be on their own line in the form: //# sourceMappingURL=*.map | |
13 class RemoveSourcemapComment extends Transformer { | |
14 BarbackSettings settings; | |
15 | |
16 RemoveSourcemapComment.asPlugin(this.settings); | |
17 | |
18 /// Only apply to files that you want to be deleted in release mode. | |
19 Future<bool> isPrimary(_) { | |
20 return new Future.value(settings.mode == BarbackMode.RELEASE); | |
Siggi Cherem (dart-lang)
2014/09/03 16:56:02
same here
jakemac
2014/09/03 17:45:42
Done.
| |
21 } | |
22 | |
23 Future apply(Transform transform) { | |
24 transform.consumePrimary(); | |
Siggi Cherem (dart-lang)
2014/09/03 16:56:02
I think this works also if you don't consume it, i
jakemac
2014/09/03 17:45:42
Done.
| |
25 var id = transform.primaryInput.id; | |
26 return transform.readInputAsString(id).then((file) { | |
27 if (!file.contains(_SOURCE_MAP_COMMENT)) { | |
28 // Don't create a new asset if there are no changes. | |
29 transform.addOutput(transform.primaryInput); | |
30 return; | |
31 } | |
32 transform.addOutput(new Asset.fromString( | |
33 id, file.replaceAll(_SOURCE_MAP_COMMENT, ''))); | |
34 }); | |
35 } | |
36 } | |
37 | |
38 final RegExp _SOURCE_MAP_COMMENT = new RegExp(r'\n\s*\/\/# sourceMappingURL.*'); | |
OLD | NEW |