fix(dart/transform): Gracefully handle empty .ng_meta.json files
Fix the `template_compiler` step to gracefully handle null & empty .ng_meta.json files.
This commit is contained in:
parent
7d83959be5
commit
a87c5d989c
|
@ -22,8 +22,8 @@ import 'package:barback/barback.dart';
|
|||
Future<CompileDataResults> createCompileData(
|
||||
AssetReader reader, AssetId assetId) async {
|
||||
return logElapsedAsync(() async {
|
||||
return (await _CompileDataCreator.create(reader, assetId))
|
||||
.createCompileData();
|
||||
final creator = await _CompileDataCreator.create(reader, assetId);
|
||||
return creator != null ? creator.createCompileData() : null;
|
||||
}, operationName: 'createCompileData', assetId: assetId);
|
||||
}
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@ import 'compile_data_creator.dart';
|
|||
Future<Outputs> processTemplates(AssetReader reader, AssetId assetId,
|
||||
{bool reflectPropertiesAsAttributes: false}) async {
|
||||
var viewDefResults = await createCompileData(reader, assetId);
|
||||
if (viewDefResults == null) return null;
|
||||
final directiveMetadatas = viewDefResults.ngMeta.types.values;
|
||||
if (directiveMetadatas.isNotEmpty) {
|
||||
var processor = new reg.Processor();
|
||||
|
|
|
@ -318,6 +318,34 @@ void allTests() {
|
|||
expect(ngDeps.setters).toContain('text');
|
||||
expect(ngDeps.setters.length).toEqual(1);
|
||||
});
|
||||
|
||||
it('should gracefully handle null .ng_meta.json files', () async {
|
||||
final dne =
|
||||
new AssetId('package', 'lib/file_that_does_not_exist.ng_meta.json');
|
||||
|
||||
var didThrow = false;
|
||||
await process(dne).then((out) {
|
||||
expect(out).toBeNull();
|
||||
}).catchError((_) {
|
||||
didThrow = true;
|
||||
});
|
||||
|
||||
expect(didThrow).toBeFalse();
|
||||
});
|
||||
|
||||
it('should gracefully handle empty .ng_meta.json files', () async {
|
||||
final emptyId = new AssetId('package', 'lib/empty.ng_meta.json');
|
||||
reader.addAsset(emptyId, '');
|
||||
|
||||
var didThrow = false;
|
||||
await process(emptyId).then((out) {
|
||||
expect(out).toBeNull();
|
||||
}).catchError((_) {
|
||||
didThrow = true;
|
||||
});
|
||||
|
||||
expect(didThrow).toBeFalse();
|
||||
});
|
||||
}
|
||||
|
||||
void _formatThenExpectEquals(String actual, String expected) {
|
||||
|
|
Loading…
Reference in New Issue