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 in release mode. | |
19 isPrimary(_) => settings.mode == BarbackMode.RELEASE; | |
20 | |
21 apply(Transform transform) { | |
22 var id = transform.primaryInput.id; | |
23 return transform.readInputAsString(id).then((file) { | |
24 if (file.contains(_SOURCE_MAP_COMMENT)) { | |
25 transform.addOutput(new Asset.fromString( | |
26 id, file.replaceAll(_SOURCE_MAP_COMMENT, ''))); | |
27 } | |
28 }); | |
29 } | |
30 } | |
31 | |
32 final RegExp _SOURCE_MAP_COMMENT = new RegExp(r'\n\s*\/\/# sourceMappingURL.*'); | |
OLD | NEW |