Victor Berchet
d4ddb6004e
refactor: format & lint
2016-12-14 13:05:04 -08:00
Eudes Petonnet-Vincent
d91a86aac6
fix(upgrade): fix downgrade content projection and injector inheritance
...
- Full support for content projection in downgraded Angular 2
components. In particular, this enables multi-slot projection and
other features on <ng-content>.
- Correctly wire up hierarchical injectors for downgraded Angular 2
components: downgraded components inherit the injector of the first
other downgraded Angular 2 component they find up the DOM tree.
Closes #6629 , #7727 , #8729 , #9643 , #9649 , #12675
2016-12-14 13:02:27 -08:00
Peter Bacon Darwin
3e90605db9
refactor(compiler/template_parser): export `createElementCssSelector`
...
This is needed in `ngUpgrade`.
2016-12-14 13:02:27 -08:00
Miško Hevery
a659259962
fix(core): detectChanges() doesn't work on detached instance
...
Closes #13426
Closes #13472
2016-12-14 13:01:06 -08:00
Matias Niemelä
b56474d067
fix(animations): throw errors and normalize offset beyond the range of [0,1]
...
Closes #13348
Closes #13440
2016-12-14 12:59:47 -08:00
Matias Niemelä
8395f0e138
perf(animations): always run the animation queue outside of zones
...
Related #12732
Closes #13440
2016-12-14 12:59:36 -08:00
Chuck Jazdzewski
dd0519abad
fix(compiler): emit quoted object literal keys if the source is quoted
...
feat(tsc-wrapped): recored when to quote a object literal key
Collecting quoted literals is off by default as it introduces
a breaking change in the .metadata.json file. A follow-up commit
will address this.
Fixes #13249
Closes #13356
2016-12-14 12:58:41 -08:00
Victor Berchet
f238c8ac7a
Revert "fix(compiler): xmb `<ph>` tags should not self close ( #13413 )"
...
This reverts commit 4b3d135193
.
closes #13463
2016-12-14 12:54:58 -08:00
Victor Berchet
8c27c62fab
Revert "test(i18n): fix a typo in the reference xmb ( #13441 )"
...
This reverts commit a8d237581d
.
2016-12-14 12:54:50 -08:00
Victor Berchet
a0a05041ac
refactor: format & lint
2016-12-13 17:44:52 -08:00
Hans
d62d89319e
fix(compiler): generated CSS files suffixed with ngstyle. ( #13353 )
...
Mirrors factories which ends in `ngfactory`.
Closes #13141 .
2016-12-13 17:34:46 -08:00
Victor Berchet
a8d237581d
test(i18n): fix a typo in the reference xmb ( #13441 )
2016-12-13 12:35:09 -08:00
Chuck Jazdzewski
2b90cd532f
fix(compiler): narrow the span reported for invalid pipes
...
fixes #13326
closes #13411
2016-12-13 11:23:47 -08:00
Victor Berchet
4b3d135193
fix(compiler): xmb `<ph>` tags should not self close ( #13413 )
2016-12-12 19:10:20 -08:00
Victor Berchet
3bee521aa4
fix(compiler): support dotted property binding
...
fixes angular/flex-layout#34
2016-12-09 15:37:41 -08:00
Victor Berchet
95f48292b1
test(Selector): add a test for dotted attribute names
2016-12-09 15:37:41 -08:00
Victor Berchet
04cfa1ebdf
refactor(Compiler): cleanup
2016-12-09 15:37:41 -08:00
Victor Berchet
4022173d1e
fix(compiler): fix PR 13322 ( #13331 )
2016-12-09 11:22:44 -08:00
Victor Berchet
c8baf51f4f
style: clang-format the code
2016-12-09 11:19:55 -08:00
Misko Hevery
213c713409
fix: Better error when directive not listed in NgModule.declarations
2016-12-09 11:16:28 -08:00
Dzmitry Shylovich
9a8423da36
fix(selector): SelectorMatcher match elements with :not selector ( #12977 )
2016-12-09 10:45:48 -08:00
Matias Niemelä
f0b0762f4a
fix(animations): always cleanup players after they have finished internally ( #13334 )
...
Closes #13333
Closes #13334
2016-12-09 10:45:10 -08:00
maxime-allex
56c361ff6a
test(compiler): test i18n explicit id
...
closes #13272
2016-12-09 10:43:57 -08:00
maxime-allex
562f7a2f8b
feat(compiler): digest methods return i18nMessage id if sets
2016-12-09 10:43:47 -08:00
maxime-allex
6dd5201765
feat(compiler): add id property to i18nMessage
2016-12-09 10:43:47 -08:00
Victor Berchet
4e3d58a792
Revert "fix(compiler): fix transpiled ES5 code ( #13322 )"
...
This reverts commit 4398056146
.
2016-12-08 17:53:58 -08:00
Victor Berchet
4398056146
fix(compiler): fix transpiled ES5 code ( #13322 )
...
fixes #13301
The inner class would transpile to a nested function declaration which is not
allowed in ES5.
See http://eslint.org/docs/rules/no-inner-declarations
2016-12-08 15:02:59 -08:00
Chuck Jazdzewski
4a09c81724
fix(language-service): do not throw for invalid metadata ( #13261 )
...
Fixes #13255
2016-12-06 17:11:09 -08:00
Miško Hevery
16efb13dd1
fix: display framework version on bootstrapped component ( #13252 )
2016-12-06 16:21:07 -08:00
Chuck Jazdzewski
f31c9470fa
fix(compiler): short-circut expressions with an index ( #13263 )
...
Fixes #13254
2016-12-06 10:40:15 -08:00
Tobias Bosch
5614c4ff0f
fix(compiler): serialize any `StaticSymbol` correctly, not matter in which context.
2016-12-05 14:20:01 -08:00
Tobias Bosch
c3065aac7a
refactor(compiler): replace `isStaticSymbol` with `instanceof StaticSymbol`
2016-12-05 14:20:01 -08:00
Chuck Jazdzewski
3ff6554cbc
fix(language-service): update to use `CompilerHost` from compiler-cli ( #13189 )
2016-12-02 14:34:16 -08:00
Tobias Bosch
75d1617b63
fix(compiler): include the summaries of reexported modules / directives / pipes ( #13196 )
...
Only if these are not part of the sources.
2016-12-02 10:08:46 -08:00
Tobias Bosch
614a35d539
feat(compiler): read and write `.ngsummary.json` files
...
When compiling libraries, this feature extracts the minimal information
from the directives/pipes/modules of the library into `.ngsummary.json` files,
so that applications that use this library only need to be recompiled
if one of the summary files change, but not on every change
of the libraries (e.g. one of the templates).
Only works if individual codegen for libraries is enabled,
see the `generateCodeForLibraries: false` option.
Closes #12787
2016-12-01 14:49:52 -08:00
Tobias Bosch
9ab401f4d3
refactor(compiler): simplify `NgModuleSymmaryMetadata`
...
- merge `NgModuleInjectorSummary` and `NgModuleDirectiveSummary`
- remove `directiveLoaders` from the summary
2016-12-01 14:49:52 -08:00
Chuck Jazdzewski
43c0e9a6bb
fix(compiler): fix performance regression caused by 5b0f9e2
...
Fixes #13146
2016-11-30 14:55:56 -08:00
Victor Savkin
e628b66cca
feat(build): record angular version in the dom ( #13164 )
2016-11-30 13:52:08 -08:00
Tobias Bosch
3e73bea3e7
refactor(compiler): convert metadata classes used in summaries into interfaces ( #13123 )
...
Part of #12787
2016-11-30 10:52:51 -08:00
Tobias Bosch
627282d2c8
fix(compiler): correctly evaluate references to static functions ( #13133 )
2016-11-29 12:02:50 -08:00
Tobias Bosch
2f7492c986
refactor(compiler): remove unneeded fields from metadata
...
Removes `CompileIdentifierMetadata.name` / `.moduleUrl`,
as well as `CompileTypeMetadata.name / moduleUrl` and
`CompileFactoryMetadata.name / moduleUrl`.
2016-11-28 15:19:23 -08:00
Tobias Bosch
2452cd14e0
refactor(compiler): drop old codegen tests that run inside of `test.sh`
...
These tests were hard to maintain and only yielded little value,
now that we have the full integration with TypeScript.
2016-11-28 15:19:23 -08:00
Tobias Bosch
f5c8e0989d
feat(core): properly support inheritance
...
## Inheritance Semantics:
Decorators:
1) list the decorators of the class and its parents in the ancestor first order
2) only use the last decorator of each kind (e.g. @Component / ...)
Constructor parameters:
If a class inherits from a parent class and does not declare
a constructor, it inherits the parent class constructor,
and with it the parameter metadata of that parent class.
Lifecycle hooks:
Follow the normal class inheritance model,
i.e. lifecycle hooks of parent classes will be called
even if the method is not overwritten in the child class.
## Example
E.g. the following is a valid use of inheritance and it will
also inherit all metadata:
```
@Directive({selector: 'someDir'})
class ParentDirective {
constructor(someDep: SomeDep) {}
ngOnInit() {}
}
class ChildDirective extends ParentDirective {}
```
Closes #11606
Closes #12892
2016-11-28 14:12:12 -08:00
Bowen Ni
2c02d34c05
refactor(lint): Don't allow console.log
...
Enable tslint check for `console.log` as a follow-up to
https://github.com/angular/angular/issues/13018
2016-11-23 15:47:01 -08:00
Chuck Jazdzewski
491d5a22a9
refactor(compiler): allow control of StaticSymbol lifetime ( #12986 )
2016-11-18 16:58:14 -08:00
Tobias Bosch
59d2b4c831
refactor(compiler): further minor fixes
2016-11-18 10:04:14 -08:00
Tobias Bosch
2a5bd2f345
refactor(compiler): Reintroduce `ReflectorHost` and move `Extractor` into `@angular/compiler`
2016-11-18 10:04:14 -08:00
Tobias Bosch
3c06a5dc25
refactor(comiler): various cleanups
2016-11-18 10:04:14 -08:00
Tobias Bosch
adeea5d86a
refactor(compiler): renames
...
- `NgHost` to `CompilerHost`
- `AotCompilerHost.resolveFileToImport` to `AotCompilerHost.fileNameToModuleName`
- `AotCompilerHoset.resolveImportToFile` to `AotCompilerHost.moduleNameToFileName`
2016-11-18 10:04:14 -08:00
Tobias Bosch
dddbb1c1cb
refactor(tsc-wrapped): collect all exported functions and classes and bump metadata version from 1 to 2
...
This is needed to resolve symbols without `.d.ts` files.
This bumps the version of the metadata from 1 to 2.
This adds logic into `ng_host.ts` to automatically upgrade
version 1 to version 2 metadata by adding the exported symbols
from the `.d.ts` file.
2016-11-18 10:04:14 -08:00
Tobias Bosch
b15039d228
refactor(compiler): move symbol extraction to `AotCompiler`
2016-11-18 10:04:14 -08:00
Tobias Bosch
2235048432
refactor(compiler): add `createAotCompiler` factory
...
Also adds 2 more methods to the `AotCompilerHost`:
- `loadResource`
- `resolveFileToImport`
2016-11-18 10:04:14 -08:00
Tobias Bosch
484119e59f
refactor(compiler): remove `asset:` urls
...
These urls were just relicts from Dart.
2016-11-18 10:04:14 -08:00
Tobias Bosch
24099bdbd2
refactor(compiler): move `findDeclaration` into the `StaticReflector`
...
Previously, this was part of the `AotCompilerHost`.
The `AotCompilerHost` is now also greatly simplified.
2016-11-18 10:04:14 -08:00
Tobias Bosch
912ca44979
refactor(compiler): move `static_reflector` into `@angular/compiler` and rename files
...
- `src/runtime_compiler.ts` -> `src/jit/compiler.ts`
- `src/compiler.ts` -> `src/jit/compiler_factory.ts`
- `src/offline_compiler` -> `src/aot/compiler.ts`
Part of #12867
2016-11-18 10:04:14 -08:00
Alex Eagle
664a6273e1
feature(tsc-wrapped): add option for closure compiler JSDoc annotations
2016-11-18 09:37:40 -08:00
Chuck Jazdzewski
481c9b3258
refactor(compiler): allows synchronous retrieving of metadata ( #12908 )
...
Allows non-normalized metadata to be retrieved synchronously.
Related to #7482
2016-11-16 10:22:11 -08:00
Matias Niemelä
9de76ebfa5
fix(animations): retain styling when transition destinations are changed ( #12208 )
...
Closes #9661
Closes #12208
2016-11-14 16:59:06 -08:00
Victor Berchet
7908679c4b
fix(compiler): assert xliff messages have translations
...
fixes #12815
closes #12604
2016-11-14 12:55:56 -08:00
Victor Berchet
9ed9ff40b3
test(compiler): improve xliff tests
2016-11-14 12:55:48 -08:00
Victor Berchet
2f14415836
fix(compiler): updates hash algo for xmb/xtb files
2016-11-14 12:55:48 -08:00
Victor Berchet
76e4911e8b
fix(core): fix placeholders handling in i18n.
...
Prior to this commit, translations were built in the serializers. This
could not work as a single translation can be used for different source
messages having different placeholder content.
Serializers do not try to replace the placeholders any more.
Placeholders are replaced by the translation bundle and the source
message is given as parameter so that the content of the placeholders is
taken into account.
Also XMB ids are now independent of the expression which is replaced by
a placeholder in the extracted file.
fixes #12512
2016-11-14 12:55:48 -08:00
Victor Berchet
ed5e98d0df
fix(core): misc i18n fixes
2016-11-14 12:55:48 -08:00
Victor Berchet
146af1fed9
refactor(core): simplify i18n serializers code
2016-11-14 12:55:48 -08:00
Victor Berchet
c60ba7a72f
refactor(core): remove ListWrapper from i18n
2016-11-14 12:55:48 -08:00
Victor Berchet
05beffe0d0
test(core): fix a typo in the i18n integration spec
2016-11-14 12:55:48 -08:00
Victor Berchet
08c038ebd9
fix(core): xmb serializer uses decimal messaged IDs
...
fixes #12511
2016-11-14 12:55:48 -08:00
Victor Berchet
582550a90d
feat(core): implements a decimal fingerprint for i18n
2016-11-14 12:55:48 -08:00
Joao Dias
77ee27c59e
refactor(): use const and let instead of var
2016-11-12 16:40:17 -08:00
Chuck Jazdzewski
a965d11cce
fix(compiler): generate safe access strictNullChecks compatible code ( #12800 )
...
fixes #12795
2016-11-11 17:12:17 -08:00
Tobias Bosch
fcb4e66493
refactor(compiler): introduce summaries for metadata ( #12799 )
...
This does not yet introduce loading / serialization of summaries.
Part of #12787
2016-11-10 16:27:53 -08:00
Tobias Bosch
79383ce150
refactor(compiler): never create CompileDirectiveMetadata with not loaded resources ( #12788 )
...
Part of #12787
2016-11-10 14:07:30 -08:00
Chuck Jazdzewski
c3c0e2e2a2
refactor(compiler): add `span` to `TemplateBinding` ( #12792 )
...
fix(compiler): corrected error location for implicit templates expressions
2016-11-10 13:15:09 -08:00
Victor Berchet
2ced2a8a5a
refactor(compiler): misc updates ( #12773 )
2016-11-09 16:23:41 -08:00
Pawel Kozlowski
634b3bb88b
feat(core): map 'for' attribute to 'htmlFor' property ( #10546 )
...
This improves ergonomics a bit by allowing people to write:
`<label [for]="ctxProp"></label>`.
This is similar to the existing class -> className mapping.
Closes #7516
2016-11-09 15:21:27 -08:00
Matias Niemelä
fe35bc34f6
fix(animations): allow animations to be destroyed manually ( #12719 )
...
Closes #12456
Closes #12719
2016-11-08 16:21:28 -08:00
Matias Niemelä
a0e9fde653
fix(animations): always normalize style properties and values during compilation ( #12755 )
...
Closes #11582
Closes #12481
Closes #12755
2016-11-08 15:45:30 -08:00
Victor Berchet
778e6ad3b4
refactor: cleanup ICU message syntax
2016-11-08 15:44:18 -08:00
Victor Berchet
55dc0e4a5f
fix(compiler): use the other case by default in ICU messages
2016-11-08 15:44:18 -08:00
Victor Berchet
7694f974af
refactor: remove some facades ( #12731 )
2016-11-08 15:43:24 -08:00
Victor Berchet
acbf1d859c
fix(core): fix pseudo-selector shimming ( #12754 )
...
fixes #12730
fixes #12354
2016-11-07 13:56:04 -08:00
Pawel Kozlowski
22c021c57f
fix(compiler): support more than 9 interpolations ( #12710 )
...
Fixes #10253
2016-11-07 12:23:03 -08:00
Victor Berchet
ec92f4b198
refactor: remove `keys()` and `values()` from MapWrapper
2016-11-04 13:27:38 -07:00
Pawel Kozlowski
f0cdb428f5
fix(compiler): don't convert undefined to null literals ( #11503 )
...
Fixes #11493
2016-11-04 10:55:21 -07:00
Tobias Bosch
051d74802a
fix(core): ensure that component views that have no bindings recurse into nested components / view containers.
2016-11-04 10:50:27 -07:00
Tobias Bosch
f2bbef3e33
fix(core): allow to query content of templates that are stamped out at a different place
...
Previously, if a `TemplateRef` was created in a `ViewContainerRef`
at a different place, the content was not query able at all.
With this change, the content of the template can be queried
as if it was stamped out at the declaration place of the template.
E.g. in the following example, the `QueryList<ChildCmp>` will
be filled once the button is clicked.
```
@Component({
selector: ‘my-comp’,
template: ‘<button #vc (click)=“createView()”></button>’
})
class MyComp {
@ContentChildren(ChildCmp)
children: QueryList<ChildCmp>;
@ContentChildren(TemplateRef)
template: TemplateRef;
@ViewChild(‘vc’, {read: ViewContainerRef})
vc: ViewContainerRef;
createView() {
this.vc.createEmbeddedView(this.template);
}
}
@Component({
template: `
<my-comp>
<template><child-cmp></child-cmp></template>
</my-comp>
`
})
class App {}
```
Closes #12283
Closes #12094
2016-11-04 10:50:27 -07:00
Tobias Bosch
e3687706c7
refactor(compiler): minor cleanup
2016-11-03 16:29:51 -07:00
Tobias Bosch
9c23884da4
perf(compiler): introduce direct rendering
...
This allows to attach / detach embedded views and projected nodes
in a faster way.
2016-11-03 16:29:51 -07:00
Tobias Bosch
0e3d655220
refactor(compiler): remove view factories, use view classes directly
2016-11-02 20:58:48 -07:00
Tobias Bosch
7c5cc9bc41
refactor(compiler): initialize `RenderComponentType` eagerly
...
This moves the usage of `APP_ID` into the `DomRenderer`.
2016-11-02 20:58:48 -07:00
Tobias Bosch
5f1dddc5d0
refactor(compiler): cleanups
2016-11-02 17:06:27 -07:00
Tobias Bosch
20a4f9923f
refactor(compiler): remove `view.parentInjector`
2016-11-02 17:06:27 -07:00
Tobias Bosch
e7c00be19d
refactor(compiler): rename `AppElement` into `ViewContainer`
2016-11-02 17:06:27 -07:00
Tobias Bosch
74ede9aa9b
refactor(core): don’t store view factory in `TemplateRef`
...
Instead, generate `createEmbeddedView`.
2016-11-02 17:06:27 -07:00
Tobias Bosch
d1035da85c
refactor(compiler): don’t use `AppElement`s for creating component views
2016-11-02 17:06:27 -07:00
Tobias Bosch
13533d2a30
refactor(compiler): remove `AppElement.initComponent`
2016-11-02 17:06:27 -07:00
Tobias Bosch
6fda97287e
fix(compiler): support multiple components in a view container
2016-11-01 14:21:40 -07:00
Tobias Bosch
234c5599f1
refactor(compiler): remove unused constructor query support
2016-11-01 11:29:15 -07:00
Tobias Bosch
f6710fefeb
refactor(compiler): make `view.disposable` array null if empty
2016-11-01 11:29:15 -07:00
Tobias Bosch
bda1909ede
refactor(compiler): remove `view.rootNodes` and `view.projectableNodes`
...
They are replaced by generated visitor functions `view.visitRootNodes` / `view.visitProjectableNodes`.
2016-11-01 11:29:15 -07:00