OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 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. | 3 // BSD-style license that can be found in the LICENSE file. |
4 library web_components.build.script_compactor; | 4 library web_components.build.script_compactor; |
5 | 5 |
6 import 'dart:async'; | 6 import 'dart:async'; |
7 import 'package:analyzer/analyzer.dart'; | 7 import 'package:analyzer/analyzer.dart'; |
8 import 'package:barback/barback.dart'; | 8 import 'package:barback/barback.dart'; |
9 import 'package:code_transformers/assets.dart'; | 9 import 'package:code_transformers/assets.dart'; |
10 import 'package:code_transformers/messages/build_logger.dart'; | 10 import 'package:code_transformers/messages/build_logger.dart'; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 | 97 |
98 // Create the new bootstrap file and return its AssetId. | 98 // Create the new bootstrap file and return its AssetId. |
99 return _buildBootstrapFile(mainScript, importScripts); | 99 return _buildBootstrapFile(mainScript, importScripts); |
100 }); | 100 }); |
101 }); | 101 }); |
102 } | 102 } |
103 | 103 |
104 /// Builds the bootstrap file and returns the path to it relative to | 104 /// Builds the bootstrap file and returns the path to it relative to |
105 /// [primaryInput]. | 105 /// [primaryInput]. |
106 Asset _buildBootstrapFile(AssetId mainScript, Set<AssetId> importScripts) { | 106 Asset _buildBootstrapFile(AssetId mainScript, Set<AssetId> importScripts) { |
107 var bootstrapId = new AssetId(mainScript.package, | 107 var bootstrapId = new AssetId(primaryInput.package, |
108 mainScript.path.replaceFirst('.dart', '.bootstrap.dart')); | 108 primaryInput.path.replaceFirst('.html', '.bootstrap.dart')); |
109 | 109 |
110 var buffer = new StringBuffer(); | 110 var buffer = new StringBuffer(); |
111 buffer.writeln('library ${_libraryNameFor(bootstrapId)};'); | 111 buffer.writeln('library ${_libraryNameFor(bootstrapId)};'); |
112 buffer.writeln(); | 112 buffer.writeln(); |
113 var i = 0; | 113 var i = 0; |
114 for (var script in importScripts) { | 114 for (var script in importScripts) { |
115 var path = _importPath(script, primaryInput); | 115 var path = _importPath(script, primaryInput); |
116 buffer.writeln("import '$path' as i$i;"); | 116 buffer.writeln("import '$path' as i$i;"); |
117 i++; | 117 i++; |
118 } | 118 } |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 if (parts[0] == 'lib') { | 252 if (parts[0] == 'lib') { |
253 parts[0] = id.package; | 253 parts[0] = id.package; |
254 return 'package:${path.url.joinAll(parts)}'; | 254 return 'package:${path.url.joinAll(parts)}'; |
255 } | 255 } |
256 return path.url.relative(id.path, from: path.url.dirname(primaryInput.path)); | 256 return path.url.relative(id.path, from: path.url.dirname(primaryInput.path)); |
257 } | 257 } |
258 | 258 |
259 // Constant and final variables | 259 // Constant and final variables |
260 final _invalidLibCharsRegex = new RegExp('[^a-z0-9_]'); | 260 final _invalidLibCharsRegex = new RegExp('[^a-z0-9_]'); |
261 final _numRegex = new RegExp('[0-9]'); | 261 final _numRegex = new RegExp('[0-9]'); |
OLD | NEW |