Precompile templates to speed up compile / new compiler pipeline #3605

Closed
tbosch opened this Issue Aug 12, 2015 · 1 comment

Projects

None yet

2 participants

@tbosch
Member
tbosch commented Aug 12, 2015

Design doc is here

Overview of the new compile pipeline is here

Proved 3x faster bootstrap times and 8x faster compilation times.

@tbosch tbosch self-assigned this Aug 12, 2015
@tbosch tbosch added this to the alpha-36 milestone Aug 12, 2015
@tbosch
Member
tbosch commented Aug 12, 2015
@tbosch tbosch added P1: urgent and removed P0: critical labels Aug 12, 2015
@tbosch tbosch changed the title from Precompile templates to speed up compile to Precompile templates to speed up compile / new compiler pipeline Aug 24, 2015
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Aug 25, 2015
@tbosch tbosch feat(compile): add DomParser, TemplateParser, TemplateLoader
First bits of new compile pipeline #3605
7ef3a1c
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Aug 26, 2015
@tbosch tbosch feat(compile): add HtmlParser, TemplateParser, ComponentMetadataLoader
First bits of new compile pipeline #3605
ebbb9f0
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Aug 26, 2015
@tbosch tbosch feat(compile): add HtmlParser, TemplateParser, ComponentMetadataLoader
First bits of new compile pipeline #3605
b4e5fda
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Aug 26, 2015
@tbosch tbosch feat(compile): add HtmlParser, TemplateParser, ComponentMetadataLoader
First bits of new compile pipeline #3605
727e2cf
@tbosch tbosch added a commit that referenced this issue Aug 27, 2015
@tbosch tbosch feat(compile): add HtmlParser, TemplateParser, ComponentMetadataLoader
First bits of new compile pipeline #3605
Closes #3839
9f576b0
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Aug 27, 2015
@tbosch tbosch feat(compiler): add full directive metadata and validation logic
With this, the new `TemplateParser` has feature/data parity with the `ProtoViewDto` of the `RenderCompiler`.

Part of #3605
3c10afb
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Aug 27, 2015
@tbosch tbosch feat(compiler): add full directive metadata and validation logic
With this, the new `TemplateParser` has feature/data parity with the `ProtoViewDto` of the `RenderCompiler`.

Part of #3605
8661b66
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Aug 28, 2015
@tbosch tbosch feat(tests): add helper to eval a module
Needed later for unit tests for code gen and runtime code
in #3605
ef79796
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Aug 28, 2015
@tbosch tbosch feat(compiler): add full directive metadata and validation logic
With this, the new `TemplateParser` has feature/data parity with the `ProtoViewDto` of the `RenderCompiler`.

Part of #3605
97d978f
@tbosch tbosch added a commit that referenced this issue Aug 28, 2015
@tbosch tbosch feat(compiler): add full directive metadata and validation logic
With this, the new `TemplateParser` has feature/data parity with the `ProtoViewDto` of the `RenderCompiler`.

Part of #3605

Closes #3880
f93cd9c
@mhevery mhevery modified the milestone: alpha-36, alpha-37 Sep 1, 2015
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 1, 2015
@tbosch tbosch feat(compiler): allow to create ChangeDetectors from parsed templates
Part of #3605
02a4a98
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 1, 2015
@tbosch tbosch feat(compiler): allow to create ChangeDetectors from parsed templates
Part of #3605
b6303e2
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 2, 2015
@tbosch tbosch feat(compiler): allow to create ChangeDetectors from parsed templates
Part of #3605
1e9d4da
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 2, 2015
@tbosch tbosch feat(compiler): allow to create ChangeDetectors from parsed templates
Part of #3605
af4865b
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 2, 2015
@tbosch tbosch feat(tests): add helper to eval a module
Needed later for unit tests for code gen and runtime code
in #3605
7ce863b
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 2, 2015
@tbosch tbosch feat(compiler): add codegen for stylesheets
Part of #3605
796a9be
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 2, 2015
@tbosch tbosch feat(compiler): allow to create ChangeDetectors from parsed templates
Part of #3605
6031f3d
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 2, 2015
@tbosch tbosch feat(compiler): add codegen for stylesheets
Part of #3605
1a0ba1d
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 2, 2015
@tbosch tbosch feat(compiler): allow to create ChangeDetectors from parsed templates
Part of #3605
9323979
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 4, 2015
@tbosch tbosch feat(tests): add helper to eval a module
Needed later for unit tests for code gen and runtime code
in #3605
728b6ac
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 4, 2015
@tbosch tbosch feat(compiler): add stylesheet compiler
Part of #3605
7a948c5
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 4, 2015
@tbosch tbosch feat(compiler): add stylesheet compiler
Part of #3605
174bbaf
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 4, 2015
@tbosch tbosch feat(compiler): add stylesheet compiler
Part of #3605
044d117
@tbosch tbosch added a commit that referenced this issue Sep 4, 2015
@tbosch tbosch feat(tests): add helper to eval a module
Needed later for unit tests for code gen and runtime code
in #3605
2a126f7
@tbosch tbosch added a commit that referenced this issue Sep 4, 2015
@tbosch tbosch feat(compiler): add stylesheet compiler
Part of #3605
Closes #3891
2384082
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 8, 2015
@tbosch tbosch feat(compiler): add change detector generation
Runtime and Codegen.

Part of #3605
f68bb54
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 8, 2015
@tbosch tbosch feat(compiler): add change detector generation
Runtime and Codegen.

Part of #3605
daaf7d0
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 9, 2015
@tbosch tbosch feat(compiler): add change detector generation
Runtime and Codegen.

Part of #3605
758e221
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 9, 2015
@tbosch tbosch feat(compiler): add change detector generation
Runtime and Codegen.

Part of #3605
6ab3b0d
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 9, 2015
@tbosch tbosch feat(compiler): add change detector generation
Runtime and Codegen.

Part of #3605
bef0ade
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 9, 2015
@tbosch tbosch feat(compiler): add change detector generation
Runtime and Codegen.

Part of #3605
59607fd
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 9, 2015
@tbosch tbosch feat(compiler): add change detector generation
Runtime and Codegen.

Part of #3605
a7833c2
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 9, 2015
@tbosch tbosch feat(compiler): add change detector generation
Runtime and Codegen.

Part of #3605
a864e83
@tbosch tbosch added a commit that referenced this issue Sep 10, 2015
@tbosch tbosch feat(compiler): add change detector generation
Runtime and Codegen.

Part of #3605
Closes #4057
12dd44f
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 16, 2015
@tbosch tbosch feat(compiler): add TemplateCompiler
TemplateCompiler is the entry point to the new compiler

Related to #3605
562096c
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 17, 2015
@tbosch tbosch feat(compiler): add TemplateCompiler
TemplateCompiler is the entry point to the new compiler

Related to #3605
0f93db2
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 17, 2015
@tbosch tbosch feat(compiler): add TemplateCompiler
TemplateCompiler is the entry point to the new compiler

Related to #3605
d5fa07c
@tbosch tbosch added a commit that referenced this issue Sep 17, 2015
@tbosch tbosch feat(compiler): add TemplateCompiler
TemplateCompiler is the entry point to the new compiler

Related to #3605
Closes #4220
457b689
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 21, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
Part of #3605
7609659
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 22, 2015
@tbosch tbosch refactor(compiler): cleanup and preparation for integration
- Rename `DirectiveMetadata` into `CompileDirectiveMetadata`, merge
  with `NormalizedDirectiveMetadata` and remove `ChangeDetectionMetadata`
- Store change detector factories not as array but
  directly at the `CompiledTemplate` or the embedded template
  to make instantiation easier later on
- Already analyze variable values and map them
  to `Directive.exportAs`
- Keep the directive sort order as specified in the
  `@View()` annotation
- Allow to clear the runtime cache in `StyleCompiler`
  and `TemplateCompiler`
- Ignore `script` elements to match the semantics of the
  current compiler
- Make all components dynamically loadable and remove
  the previously introduced property `@Component#dynamicLoadable`
  for now until we find a better option to configure this
- Don’t allow to specify bindings in `@View#directives` and `@View#pipes` as this was never supported by the transformer (see below for the breaking change)

BREAKING CHANGE:
- don't support DI bindings in `@View#directives` and `@View@pipes` any more in preparation of integrating the new compiler. Use `@Directive#bindings` to reexport directives under a different token instead.

Part of #3605
baf5737
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 22, 2015
@tbosch tbosch refactor(compiler): cleanup and preparation for integration
- Rename `DirectiveMetadata` into `CompileDirectiveMetadata`, merge
  with `NormalizedDirectiveMetadata` and remove `ChangeDetectionMetadata`
- Store change detector factories not as array but
  directly at the `CompiledTemplate` or the embedded template
  to make instantiation easier later on
- Already analyze variable values and map them
  to `Directive.exportAs`
- Keep the directive sort order as specified in the
  `@View()` annotation
- Allow to clear the runtime cache in `StyleCompiler`
  and `TemplateCompiler`
- Ignore `script` elements to match the semantics of the
  current compiler
- Make all components dynamically loadable and remove
  the previously introduced property `@Component#dynamicLoadable`
  for now until we find a better option to configure this
- Don’t allow to specify bindings in `@View#directives` and `@View#pipes` as this was never supported by the transformer (see below for the breaking change)

BREAKING CHANGE:
- don't support DI bindings in `@View#directives` and `@View@pipes` any more in preparation of integrating the new compiler. Use `@Directive#bindings` to reexport directives under a different token instead.

Part of #3605
f2e33da
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 22, 2015
@tbosch tbosch refactor(compiler): cleanup and preparation for integration
- Rename `DirectiveMetadata` into `CompileDirectiveMetadata`, merge
  with `NormalizedDirectiveMetadata` and remove `ChangeDetectionMetadata`
- Store change detector factories not as array but
  directly at the `CompiledTemplate` or the embedded template
  to make instantiation easier later on
- Already analyze variable values and map them
  to `Directive.exportAs`
- Keep the directive sort order as specified in the
  `@View()` annotation
- Allow to clear the runtime cache in `StyleCompiler`
  and `TemplateCompiler`
- Ignore `script` elements to match the semantics of the
  current compiler
- Make all components dynamically loadable and remove
  the previously introduced property `@Component#dynamicLoadable`
  for now until we find a better option to configure this
- Don’t allow to specify bindings in `@View#directives` and `@View#pipes` as this was never supported by the transformer (see below for the breaking change)

BREAKING CHANGE:
- don't support DI bindings in `@View#directives` and `@View@pipes` any more in preparation of integrating the new compiler. Use `@Directive#bindings` to reexport directives under a different token instead.

Part of #3605
ddcdaf3
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 22, 2015
@tbosch tbosch refactor(compiler): cleanup and preparation for integration
- Rename `DirectiveMetadata` into `CompileDirectiveMetadata`, merge
  with `NormalizedDirectiveMetadata` and remove `ChangeDetectionMetadata`
- Store change detector factories not as array but
  directly at the `CompiledTemplate` or the embedded template
  to make instantiation easier later on
- Already analyze variable values and map them
  to `Directive.exportAs`
- Keep the directive sort order as specified in the
  `@View()` annotation
- Allow to clear the runtime cache in `StyleCompiler`
  and `TemplateCompiler`
- Ignore `script` elements to match the semantics of the
  current compiler
- Make all components dynamically loadable and remove
  the previously introduced property `@Component#dynamicLoadable`
  for now until we find a better option to configure this
- Don’t allow to specify bindings in `@View#directives` and `@View#pipes` as this was never supported by the transformer (see below for the breaking change)

BREAKING CHANGE:
- don't support DI bindings in `@View#directives` and `@View@pipes` any more in preparation of integrating the new compiler. Use `@Directive#bindings` to reexport directives under a different token instead.

Part of #3605
a210e71
@tbosch tbosch added a commit that referenced this issue Sep 22, 2015
@tbosch tbosch refactor(compiler): cleanup and preparation for integration
- Rename `DirectiveMetadata` into `CompileDirectiveMetadata`, merge
  with `NormalizedDirectiveMetadata` and remove `ChangeDetectionMetadata`
- Store change detector factories not as array but
  directly at the `CompiledTemplate` or the embedded template
  to make instantiation easier later on
- Already analyze variable values and map them
  to `Directive.exportAs`
- Keep the directive sort order as specified in the
  `@View()` annotation
- Allow to clear the runtime cache in `StyleCompiler`
  and `TemplateCompiler`
- Ignore `script` elements to match the semantics of the
  current compiler
- Make all components dynamically loadable and remove
  the previously introduced property `@Component#dynamicLoadable`
  for now until we find a better option to configure this
- Don’t allow to specify bindings in `@View#directives` and `@View#pipes` as this was never supported by the transformer (see below for the breaking change)

BREAKING CHANGE:
- don't support DI bindings in `@View#directives` and `@View@pipes` any more in preparation of integrating the new compiler. Use `@Directive#bindings` to reexport directives under a different token instead.

Part of #3605
Closes #4314
cc0c304
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 23, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
Part of #3605

wip
e717e71
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 24, 2015
@tbosch tbosch refactor(compiler): various cleanups
- use `$implicit` variable value correctly
- handle `ng-non-bindable` correctly
- add some more assertions
- make `CompiledTemplate` const
- fix default values for `@Directive.moduleId` 
- 

BREAKING CHANGE:
- `Compiler.compileInHost` and all methods of `DynamicComponentLoader` don’t take `Binding` any more, only `Type`s. This is in preparation for the new compiler which does not support this.


Part of #3605
a6ef6c1
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 24, 2015
@tbosch tbosch refactor(compiler): various cleanups
- use `$implicit` variable value correctly
- handle `ng-non-bindable` correctly
- add some more assertions to `TemplateCompiler`
- make `CompiledTemplate` const
- fix default value for `@Directive.moduleId` 
- add new compiler to application bindings

BREAKING CHANGE:
- `Compiler.compileInHost` and all methods of `DynamicComponentLoader` don’t take `Binding` any more, only `Type`s. This is in preparation for the new compiler which does not support this.


Part of #3605
93614d6
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 24, 2015
@tbosch tbosch refactor(compiler): various cleanups
- use `$implicit` variable value correctly
- handle `ng-non-bindable` correctly
- add some more assertions to `TemplateCompiler`
- make `CompiledTemplate` const
- fix default value for `@Directive.moduleId` 
- add new compiler to application bindings

BREAKING CHANGE:
- `Compiler.compileInHost` and all methods of `DynamicComponentLoader` don’t take `Binding` any more, only `Type`s. This is in preparation for the new compiler which does not support this.


Part of #3605
7062ed7
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 24, 2015
@tbosch tbosch refactor(compiler): various cleanups
- use `$implicit` variable value correctly
- handle `ng-non-bindable` correctly
- add some more assertions to `TemplateCompiler`
- make `CompiledTemplate` const
- fix default value for `@Directive.moduleId` 
- add new compiler to application bindings

BREAKING CHANGE:
- `Compiler.compileInHost` and all methods of `DynamicComponentLoader` don’t take `Binding` any more, only `Type`s. This is in preparation for the new compiler which does not support this.


Part of #3605
5ccfd6e
@tbosch tbosch added a commit that referenced this issue Sep 24, 2015
@tbosch tbosch refactor(compiler): various cleanups
- use `$implicit` variable value correctly
- handle `ng-non-bindable` correctly
- add some more assertions to `TemplateCompiler`
- make `CompiledTemplate` const
- fix default value for `@Directive.moduleId`
- add new compiler to application bindings

BREAKING CHANGE:
- `Compiler.compileInHost` and all methods of `DynamicComponentLoader` don’t take `Binding` any more, only `Type`s. This is in preparation for the new compiler which does not support this.

Part of #3605

Closes #4346
7470ad1
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 24, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
Part of #3605

wip
a54a8f7
@robwormald robwormald added a commit to robwormald/angular that referenced this issue Sep 25, 2015
@tbosch @robwormald tbosch + robwormald refactor(compiler): cleanup and preparation for integration
- Rename `DirectiveMetadata` into `CompileDirectiveMetadata`, merge
  with `NormalizedDirectiveMetadata` and remove `ChangeDetectionMetadata`
- Store change detector factories not as array but
  directly at the `CompiledTemplate` or the embedded template
  to make instantiation easier later on
- Already analyze variable values and map them
  to `Directive.exportAs`
- Keep the directive sort order as specified in the
  `@View()` annotation
- Allow to clear the runtime cache in `StyleCompiler`
  and `TemplateCompiler`
- Ignore `script` elements to match the semantics of the
  current compiler
- Make all components dynamically loadable and remove
  the previously introduced property `@Component#dynamicLoadable`
  for now until we find a better option to configure this
- Don’t allow to specify bindings in `@View#directives` and `@View#pipes` as this was never supported by the transformer (see below for the breaking change)

BREAKING CHANGE:
- don't support DI bindings in `@View#directives` and `@View@pipes` any more in preparation of integrating the new compiler. Use `@Directive#bindings` to reexport directives under a different token instead.

Part of #3605
Closes #4314
a2eee84
@robwormald robwormald added a commit to robwormald/angular that referenced this issue Sep 25, 2015
@tbosch @robwormald tbosch + robwormald refactor(compiler): various cleanups
- use `$implicit` variable value correctly
- handle `ng-non-bindable` correctly
- add some more assertions to `TemplateCompiler`
- make `CompiledTemplate` const
- fix default value for `@Directive.moduleId`
- add new compiler to application bindings

BREAKING CHANGE:
- `Compiler.compileInHost` and all methods of `DynamicComponentLoader` don’t take `Binding` any more, only `Type`s. This is in preparation for the new compiler which does not support this.

Part of #3605

Closes #4346
2596b4e
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch fix(compiler): minor cleanups and fixes
Part of #3605
1a167c8
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch feat(render): add generic view factory based on the template commands
Part of #3605
153b943
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch fix(compiler): minor cleanups and fixes
Part of #3605
7521a11
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch feat(render): add generic view factory based on the template commands
Part of #3605
71b465a
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch fix(compiler): minor cleanups and fixes
Part of #3605
0ed6fc4
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch feat(render): add generic view factory based on the template commands
Part of #3605
b3c4caf
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
Part of #3605

wip
6e6170f
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
Part of #3605

wip
04c8bee
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
Part of #3605

ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!
b4fde28
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 25, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
9e72b03
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 26, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605

commit after review, all tests green.
6a9c7db
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 26, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
644c4b4
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 26, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
1a0d673
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 28, 2015
@tbosch tbosch refactor(compiler): don’t require `id` in metadata
The output of the compiler has to be the same
given the same input. Requiring a unique id for
every type already during compilation makes it
hard to parallelize compilation. 

Part of #3605
0b23bbc
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 28, 2015
@tbosch tbosch refactor(compiler): don’t require `id` in metadata and use `appId`
The output of the compiler has to be the same
given the same input. Requiring a unique id for
every type already during compilation makes it
hard to parallelize compilation. 

Part of #3605
1970900
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
@tbosch tbosch refactor(compiler): don’t require `id` in metadata and use `appId`
The output of the compiler has to be the same
given the same input. Requiring a unique id for
every type already during compilation makes it
hard to parallelize compilation.

Part of #3605
0011e4e
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
@tbosch tbosch refactor(compiler): don’t require `id` in metadata and use `appId`
The output of the compiler has to be the same
given the same input. Requiring a unique id for
every type already during compilation makes it
hard to parallelize compilation.

Part of #3605
42991a7
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
8bf6bf7
@tbosch tbosch added a commit that referenced this issue Sep 29, 2015
@tbosch tbosch refactor(compiler): don’t require `id` in metadata and use `appId`
The output of the compiler has to be the same
given the same input. Requiring a unique id for
every type already during compilation makes it
hard to parallelize compilation.

Part of #3605
Closes #4397
8ff65a3
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
ed7738b
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
2679854
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
ccfc2cd
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
3cdd308
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
04357f7
@tbosch tbosch added a commit that referenced this issue Sep 29, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
ac02f5c
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Sep 29, 2015
@tbosch tbosch feat(compiler): use new compiler pipeline
ATTENTION: This disables the change detector generation for benchmarks
to be able to run e2e tests. DO NOT MERGE!!

BREAKING CHANGES:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  --> important in using DebugElement and walking the hierarchy...
- ng-non-bindable is now builtin and not a directive any more
- Angular no more adds the `ng-binding` class to elements with bindings
- Directives are ordered as they are listed in the View.directives regarding change detection. Previously they had an undefined order. Only intermediate solution, link to open issue...
- Renderer interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.

Part of #3605
0e36c7f
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
@kegluneq @tbosch kegluneq + tbosch refactor(transformer): use the new compiler
Part of #3605
e14c47a
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
@yjbanov @tbosch yjbanov + tbosch refactor(transformer): precompile stylesheets
Part of #3605
16d304d
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
@tbosch tbosch refactor(compiler): use the new compiler everywhere
Closes #3605

BREAKING CHANGE:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  This changes the indices when using `DebugElement.componentViewChildren` / `DebugElement.children`.
- `@Directive.compileChildren` was removed,
  `ng-non-bindable` is now builtin and not a directive any more
- angular no more adds the `ng-binding` class to elements with bindings
- directives are now ordered as they are listed in the View.directives regarding change detection.
  Previously they had an undefined order.
- the `Renderer` interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.
- reprojection with `ng-content` is now all or nothing per `ng-content` element
- angular2 transformer can't be used in tests that modify directive metadata.
  Use `angular2/src/transform/inliner_for_test` transformer instead.
f646ae2
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
@kegluneq @tbosch kegluneq + tbosch refactor(transformer): use the new compiler
Part of #3605
43a3860
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
@yjbanov @tbosch yjbanov + tbosch refactor(transformer): precompile stylesheets
Part of #3605
e533a81
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Oct 1, 2015
@tbosch tbosch refactor(compiler): use the new compiler everywhere
Closes #3605

BREAKING CHANGE:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  This changes the indices when using `DebugElement.componentViewChildren` / `DebugElement.children`.
- `@Directive.compileChildren` was removed,
  `ng-non-bindable` is now builtin and not a directive any more
- angular no more adds the `ng-binding` class to elements with bindings
- directives are now ordered as they are listed in the View.directives regarding change detection.
  Previously they had an undefined order.
- the `Renderer` interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.
- reprojection with `ng-content` is now all or nothing per `ng-content` element
- angular2 transformer can't be used in tests that modify directive metadata.
  Use `angular2/src/transform/inliner_for_test` transformer instead.
fa60b5d
@tbosch tbosch added a commit to tbosch/angular that referenced this issue Oct 2, 2015
@tbosch tbosch refactor(compiler): use the new compiler everywhere
Closes #3605

BREAKING CHANGE:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  This changes the indices when using `DebugElement.componentViewChildren` / `DebugElement.children`.
- `@Directive.compileChildren` was removed,
  `ng-non-bindable` is now builtin and not a directive any more
- angular no more adds the `ng-binding` class to elements with bindings
- directives are now ordered as they are listed in the View.directives regarding change detection.
  Previously they had an undefined order.
- the `Renderer` interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.
- reprojection with `ng-content` is now all or nothing per `ng-content` element
- angular2 transformer can't be used in tests that modify directive metadata.
  Use `angular2/src/transform/inliner_for_test` transformer instead.
681f69c
@tbosch tbosch added a commit that closed this issue Oct 2, 2015
@tbosch tbosch refactor(compiler): use the new compiler everywhere
Closes #3605

BREAKING CHANGE:
- we don't mark an element as bound any more if it only contains text bindings
  E.g. <div>{{hello}}</div>
  This changes the indices when using `DebugElement.componentViewChildren` / `DebugElement.children`.
- `@Directive.compileChildren` was removed,
  `ng-non-bindable` is now builtin and not a directive any more
- angular no more adds the `ng-binding` class to elements with bindings
- directives are now ordered as they are listed in the View.directives regarding change detection.
  Previously they had an undefined order.
- the `Renderer` interface has new methods `createProtoView` and `registerComponentTemplate`. See `DomRenderer` for default implementations.
- reprojection with `ng-content` is now all or nothing per `ng-content` element
- angular2 transformer can't be used in tests that modify directive metadata.
  Use `angular2/src/transform/inliner_for_test` transformer instead.
76247b7
@tbosch tbosch closed this in 76247b7 Oct 2, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment