feat(bootstrap): remove the need for explicit reflection setup in bootstrap code

BREAKING CHANGES:

Dart applications and TypeScript applications meant to transpile to Dart must now
import `package:angular2/bootstrap.dart` instead of `package:angular2/angular2.dart`
in their bootstrap code. `package:angular2/angular2.dart` no longer export the
bootstrap function. The transformer rewrites imports of `bootstrap.dart` and calls
to `bootstrap` to `bootstrap_static.dart` and `bootstrapStatic` respectively.
This commit is contained in:
yjbanov
2015-07-22 10:18:04 -07:00
parent 55e8dca8de
commit 3531bb7118
119 changed files with 896 additions and 827 deletions
@@ -1,7 +1,7 @@
library web_foo.ng_deps.dart;
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap_static.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
import 'bar.dart';
import 'bar.ng_deps.dart' as i0;
@@ -1,7 +1,7 @@
library web_foo.ng_deps.dart;
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap_static.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
import 'bar.dart';
@@ -1,7 +1,7 @@
library web_foo.ng_deps.dart;
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap_static.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
import 'bar.dart';
import 'bar.ng_deps.dart' as i0;
@@ -1,7 +1,7 @@
library web_foo.ng_deps.dart;
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap_static.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
import 'bar.dart';
@@ -3,7 +3,6 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show
bootstrap,
Component,
Directive,
View,
@@ -3,7 +3,6 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show
bootstrap,
Component,
Directive,
View,
@@ -3,7 +3,6 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show
bootstrap,
Component,
Directive,
View,
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -3,7 +3,6 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show
bootstrap,
Component,
Directive,
View,
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -4,7 +4,7 @@ import 'hello.dart';
export 'hello.dart';
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector() {
@@ -1,7 +1,7 @@
library examples.src.hello_world.absolute_url_expression_files;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
@Component(selector: 'hello-app')
@View(
@@ -116,8 +116,10 @@ void allTests() {
void _testNgDeps(String name, String inputPath,
{List<AnnotationDescriptor> customDescriptors: const [], AssetId assetId,
AssetReader reader, List<String> expectedLogs, bool inlineViews: true}) {
it(name, () async {
AssetReader reader, List<String> expectedLogs, bool inlineViews: true,
bool isolate: false}) {
var testFn = isolate ? iit : it;
testFn(name, () async {
if (expectedLogs != null) {
log.setLogger(new RecordingLogger());
}
@@ -4,7 +4,7 @@ import 'hello.dart';
export 'hello.dart';
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector() {
@@ -4,7 +4,7 @@ import 'hello.dart';
export 'hello.dart';
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector() {
@@ -1,7 +1,7 @@
library test.transform.directive_processor.invalid_url_files.hello;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
@Component(selector: 'hello-app')
@View(
@@ -4,7 +4,7 @@ import 'hello.dart';
export 'hello.dart';
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector() {
@@ -1,7 +1,7 @@
library examples.src.hello_world.multiple_style_urls_files;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
@Component(selector: 'hello-app')
@View(
@@ -4,7 +4,7 @@ import 'hello.dart';
export 'hello.dart';
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector() {
@@ -1,7 +1,7 @@
library examples.src.hello_world.multiple_style_urls_not_inlined_files;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
@Component(selector: 'hello-app')
@View(
@@ -4,7 +4,7 @@ import 'hello.dart';
export 'hello.dart';
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector() {
@@ -1,7 +1,7 @@
library examples.src.hello_world.split_url_expression_files;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
@Component(selector: 'hello-app')
@View(templateUrl: 'templ' 'ate.html')
@@ -4,7 +4,7 @@ import 'hello.dart';
export 'hello.dart';
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector() {
@@ -1,7 +1,7 @@
library examples.src.hello_world.url_expression_files;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
@Component(selector: 'hello-app')
@View(templateUrl: 'template.html')
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
import 'bar.dart';
@@ -3,9 +3,9 @@ library web_foo.ng_deps.dart;
import 'index.dart';
export 'index.dart';
import 'package:angular2/src/reflection/reflection.dart' as _ngRef;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/bootstrap_static.dart';
import 'index.ng_deps.dart' as ngStaticInit0;
import 'package:angular2/src/reflection/reflection.dart';
import 'bar.dart';
import 'bar.ng_deps.dart' as i0;
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
import 'bar.dart';
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
import 'bar.dart';
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
import 'bar.dart';
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
import 'bar.dart';
@@ -1,7 +1,5 @@
Tests that the reflection removal step:
1. Comments out the import of reflection_capabilities.dart
2. Comments out the instantiation of `ReflectionCapabilities`
3. Adds the appropriate import.
4. Adds the call to `initReflector`
5. Does not change line numbers in the source.
6. Makes minimal changes to source offsets.
* Adds the appropriate ng_deps import.
* Adds the call to `initReflector`
* Does not change line numbers in the source.
* Makes minimal changes to source offsets.
@@ -11,12 +11,12 @@ library angular2.test.transform.debug_reflection_remover_files;
var code = """
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';import 'index.ng_deps.dart' as ngStaticInit0;
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/reflection/debug_reflection_capabilities.dart';import 'index.ng_deps.dart' as ngStaticInit0;
import 'package:angular2/src/reflection/debug_reflection_capabilities.dart';
void main() {
reflector.reflectionCapabilities = new ReflectionCapabilities();ngStaticInit0.initReflector();
bootstrap(MyComponent);
reflector.reflectionCapabilities = new ReflectionCapabilities();
ngStaticInit0.initReflector();bootstrap(MyComponent);
}
""";
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
@@ -11,12 +11,12 @@ library angular2.test.transform.reflection_remover.debug_mirrors_files.expected;
var code = """
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap_static.dart';import 'index.ng_deps.dart' as ngStaticInit0;
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/reflection/debug_reflection_capabilities.dart';import 'index.ng_deps.dart' as ngStaticInit0;
import 'package:angular2/src/reflection/debug_reflection_capabilities.dart';
void main() {
reflector.reflectionCapabilities = new ReflectionCapabilities();ngStaticInit0.initReflector();
bootstrap(MyComponent);
ngStaticInit0.initReflector();reflector.reflectionCapabilities = new ReflectionCapabilities();
bootstrapStatic(MyComponent);
}
""";
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
@@ -11,7 +11,7 @@ library angular2.test.transform.log_mirrors_files.expected;
var code = """
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection.dart';
/*import 'package:angular2/src/reflection/reflection_capabilities.dart';*/
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
@@ -11,12 +11,12 @@ library angular2.test.transform.reflection_remover.reflection_remover_files;
var code = """
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap_static.dart';import 'index.ng_deps.dart' as ngStaticInit0;
import 'package:angular2/src/reflection/reflection.dart';
/*import 'package:angular2/src/reflection/reflection_capabilities.dart';*/import 'index.ng_deps.dart' as ngStaticInit0;
/*import 'package:angular2/src/reflection/reflection_capabilities.dart';*/
void main() {
/*reflector.reflectionCapabilities = new ReflectionCapabilities();*/ngStaticInit0.initReflector();
bootstrap(MyComponent);
ngStaticInit0.initReflector();/*reflector.reflectionCapabilities = new ReflectionCapabilities();*/
bootstrapStatic(MyComponent);
}
""";
@@ -1,6 +1,6 @@
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap.dart';
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/reflection/reflection_capabilities.dart';
@@ -11,12 +11,12 @@ library angular2.test.transform.reflection_remover.verbose_files.expected;
var code = """
library web_foo;
import 'package:angular2/src/core/application.dart';
import 'package:angular2/bootstrap_static.dart';import 'index.ng_deps.dart' as ngStaticInit0;
import 'package:angular2/src/reflection/reflection.dart';
import 'package:angular2/src/reflection/debug_reflection_capabilities.dart';import 'index.ng_deps.dart' as ngStaticInit0;
import 'package:angular2/src/reflection/debug_reflection_capabilities.dart';
void main() {
reflector.reflectionCapabilities = new ReflectionCapabilities(verbose: true);ngStaticInit0.initReflector();
bootstrap(MyComponent);
ngStaticInit0.initReflector();reflector.reflectionCapabilities = new ReflectionCapabilities(verbose: true);
bootstrapStatic(MyComponent);
}
""";
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library test.src.transform.template_compiler.ng_for_files.hello.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.src.hello_world.index_common_dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.src.hello_world.index_common_dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.src.hello_world.index_common_dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.src.hello_world.index_common_dart;
import 'hello.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'goodbye.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -4,7 +4,7 @@ import 'hello.dart';
import 'goodbye.dart' as prefix;
import 'goodbye.ng_deps.dart' as i0;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library angular2.test.transform.template_compiler.with_prefix_files.ng2_prefix.n
import 'ng2_prefix.dart';
import 'package:angular2/angular2.dart' as ng2
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library examples.hello_world.index_common_dart.ng_deps.dart;
import 'goodbye.dart';
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -4,7 +4,7 @@ import 'hello.dart';
import 'goodbye.dart' as prefix;
import 'goodbye.ng_deps.dart' as i0;
import 'package:angular2/angular2.dart'
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {
@@ -2,7 +2,7 @@ library angular2.test.transform.template_compiler.with_prefix_files.ng2_prefix.n
import 'ng2_prefix.dart';
import 'package:angular2/angular2.dart' as ng2
show bootstrap, Component, Directive, View, NgElement;
show Component, Directive, View, NgElement;
var _visited = false;
void initReflector(reflector) {