feat(dart/transform): Add a .ng_deps.dart file parser.

Create a common, reusable `.ng_deps.dart` file parser. All future transformer
phases build on the information in `.ng_deps.dart` files.
This commit is contained in:
Tim Blasi
2015-03-12 13:31:32 -07:00
parent 95c9eca64c
commit 92b22d24d0
4 changed files with 212 additions and 0 deletions

View File

@ -1,7 +1,11 @@
library angular2.test.transform.common.read_file;
import 'dart:async';
import 'dart:io';
import 'package:angular2/src/transform/common/asset_reader.dart';
import 'package:barback/barback.dart';
/// Smooths over differences in CWD between IDEs and running tests in Travis.
String readFile(String path) {
for (var myPath in [path, 'test/transform/${path}']) {
@ -12,3 +16,17 @@ String readFile(String path) {
}
return null;
}
class TestAssetReader implements AssetReader {
Future<String> readAsString(AssetId id, {Encoding encoding}) =>
new Future.value(readFile(id.path));
Future<bool> hasInput(AssetId id) {
var exists = false;
for (var myPath in [id.path, 'test/transform/${id.path}']) {
var file = new File(myPath);
exists = exists || file.existsSync();
}
return new Future.value(exists);
}
}