# This expectation file is generated by loader_test.dart

a
  is package? yes
  dependencies: b, c
  a.dart

b
  is package? no
  dependencies: d
  b.dart

c
  is package? yes
  (no dependencies)
  c.dart

d
  is package? no
  (no dependencies)
  d/d.dart
  d/e.dart

main
  **main module**
  is package? no
  dependencies: a, b
  main.dart
