Don't load transformers that aren't going to be used for an executable.
A package's executables may not use all of that package's transformers. This is especially true for browser frameworks where there's a clear divide between client-side and server-side code. This uses pub's existing dependency-sniffing infrastructure to figure out which transformers can be omitted. This takes "pub run polymer:new_element --help" from 1.52s to 0.96s. R=rnystrom@google.com BUG=20859 Review URL: https://codereview.chromium.org//599993004 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@40659 260f80e4-7a28-3924-810f-c04153c831b5
Showing
- lib/src/barback/asset_environment.dart 52 additions, 47 deletionslib/src/barback/asset_environment.dart
- lib/src/barback/dependency_computer.dart 67 additions, 51 deletionslib/src/barback/dependency_computer.dart
- lib/src/barback/load_all_transformers.dart 26 additions, 4 deletionslib/src/barback/load_all_transformers.dart
- lib/src/entrypoint.dart 3 additions, 0 deletionslib/src/entrypoint.dart
- lib/src/executable.dart 20 additions, 19 deletionslib/src/executable.dart
- lib/src/global_packages.dart 5 additions, 2 deletionslib/src/global_packages.dart
- test/dependency_computer/conservative_dependencies_test.dart 0 additions, 0 deletionstest/dependency_computer/conservative_dependencies_test.dart
- test/dependency_computer/cycle_test.dart 0 additions, 0 deletionstest/dependency_computer/cycle_test.dart
- test/dependency_computer/dev_transformers_test.dart 0 additions, 0 deletionstest/dependency_computer/dev_transformers_test.dart
- test/dependency_computer/error_test.dart 0 additions, 0 deletionstest/dependency_computer/error_test.dart
- test/dependency_computer/import_dependencies_test.dart 0 additions, 0 deletionstest/dependency_computer/import_dependencies_test.dart
- test/dependency_computer/no_dependencies_test.dart 0 additions, 0 deletionstest/dependency_computer/no_dependencies_test.dart
- test/dependency_computer/transformers_needed_by_library_test.dart 115 additions, 0 deletions...endency_computer/transformers_needed_by_library_test.dart
- test/dependency_computer/utils.dart 25 additions, 7 deletionstest/dependency_computer/utils.dart
- test/run/doesnt_load_an_unnecessary_transformer_test.dart 55 additions, 0 deletionstest/run/doesnt_load_an_unnecessary_transformer_test.dart
Loading
Please register or sign in to comment