Miško Hevery
4d164b6ca4
fix(ivy): make defineComponent tree shakable by Closure Compiler ( #26425 )
...
PR Close #26425
2018-10-16 20:37:35 -07:00
Matias Niemelä
9e5d440a0b
refactor(ivy): handle animation metadata normalization in the compiler ( #26481 )
...
PR Close #26481
2018-10-16 20:31:04 -07:00
Miško Hevery
7d82053117
docs(ivy): i18n design ( #26091 )
...
PR Close #26091
2018-10-16 14:08:01 -07:00
Kara Erickson
e76a570908
refactor(ivy): remove LNode ( #26426 )
...
PR Close #26426
2018-10-15 11:20:32 -07:00
Kara Erickson
931e603f80
refactor(ivy): revert LNode.data into LViewData[HOST] ( #26424 )
...
PR Close #26424
2018-10-15 10:17:12 -07:00
Pawel Kozlowski
45732e5b91
fix(ivy): fix reference to pipeBind instruction with 2 args ( #26451 )
...
PR Close #26451
2018-10-15 10:14:25 -07:00
Manduro
ff15043e48
fix(core): allow null value for renderer setElement(…) ( #17065 )
...
Using Renderer’s setElementAttribute or setElementStyle with a null or undefined value removes the
corresponding attribute or style. The argument type should allow this when using strictNullChecks.
Closes #13686
PR Close #17065
2018-10-12 09:17:59 -07:00
Miško Hevery
9ebb4c02a2
docs(ivy): update status.md ( #26382 )
...
PR Close #26382
2018-10-12 09:01:41 -07:00
Kara Erickson
735dfd3b1a
refactor(ivy): replace LNode.dynamicLContainerNode with flat LContainers ( #26407 )
...
PR Close #26407
2018-10-11 21:07:21 -07:00
Kara Erickson
70cd112872
refactor(ivy): remove TNode.dynamicContainerNode ( #26407 )
...
PR Close #26407
2018-10-11 21:07:21 -07:00
Pawel Kozlowski
6a64ac4151
fix(ivy): Renderer2 should not use a special injection fn ( #26369 )
...
PR Close #26369
2018-10-11 14:12:03 -07:00
Pawel Kozlowski
4b494f23f5
fix(ivy): fix generated code for style bindings with units ( #26397 )
...
PR Close #26397
2018-10-11 14:11:15 -07:00
Pete Bacon Darwin
1e69d601fb
fix(ivy): ensure that `ɵNgModuleDefWithMeta` is exported ( #26082 )
...
This is needed to build an app with `ngtsc` once `ngcc` has compiled
`@angular/core`.
PR Close #26082
2018-10-11 14:08:39 -07:00
Pawel Kozlowski
053bf27fb3
refactor(ivy): use context discovery in TestBed implementation ( #26211 )
...
PR Close #26211
2018-10-11 13:01:28 -07:00
Andrew Kushnir
39f42bad1c
feat(ivy): i18n compiler support for element attributes ( #26280 )
...
PR Close #26280
2018-10-11 13:00:19 -07:00
Pawel Kozlowski
3f8ac238f1
refactor(ivy): remove unused directives field from TView ( #26364 )
...
It was removed in #26316
PR Close #26364
2018-10-11 12:59:02 -07:00
Andrew Kushnir
be4edf15ee
fix(core): resolving merge conflicts in query.ts ( #26324 )
...
PR Close #26324
2018-10-09 17:34:08 -07:00
Andrew Kushnir
e5644204dc
fix(ivy): removing unnecessary assert in getOrCreateNodeInjector function ( #26305 )
...
PR Close #26305
2018-10-09 16:52:00 -07:00
Andrew Kushnir
69b9758ab8
fix(ivy): removing no longer needed QueryReadType ( #26314 ) ( #26314 )
...
PR Close #26314
PR Close #26314
2018-10-09 16:50:34 -07:00
Kara Erickson
7ea5161d4d
refactor(ivy): merge directives into LViewData ( #26316 )
...
PR Close #26316
2018-10-09 16:46:00 -07:00
Kara Erickson
b0879046b7
test(ivy): add testing utility to replace loadDirective ( #26316 )
...
PR Close #26316
2018-10-09 16:46:00 -07:00
Alex Rickabaugh
456f23f76a
fix(ivy): reflect animations field directly into the output definition ( #26322 )
...
The 'animations' field of @Component metadata should be copied directly
into the ngComponentDef for that component and should not pass through
static resolution.
Previously the animations array was statically resolved and then the
values were translated back when generating ngComponentDef.
PR Close #26322
2018-10-09 16:45:31 -07:00
Judy Bogart
f543d71cc3
docs: add package doc files ( #26047 )
...
PR Close #26047
2018-10-05 15:42:14 -07:00
JoostK
9953fe7c00
fix(ivy): reexport compileNgModuleFactory__POST_NGCC__ to prevent DCE in FESM ( #26071 )
...
While creating FESM files, rollup usually drops all unused symbols.
All *__POST_NGCC__ are unused unless ngcc rewires stuff. To prevent this DCE
we reexport them as private symbols. If ngcc is not used, these symbols will
be dropped when we optimize an application bundle.
PR Close #26071
2018-10-05 13:45:55 -07:00
Kara Erickson
8f25321787
refactor(ivy): update context discovery to prep for dir merge ( #26262 )
...
PR Close #26262
2018-10-05 13:39:30 -07:00
Kara Erickson
51dfdd5dd1
fix(ivy): sync view with blueprint when necessary ( #26263 )
...
PR Close #26263
2018-10-05 13:39:03 -07:00
Pawel Kozlowski
fdaf573073
feat(ivy): expose node injector as part of debug context ( #26210 )
...
PR Close #26210
2018-10-04 10:12:02 -07:00
Alex Rickabaugh
36d6e6076e
feat(ivy): support template type check narrowing for *ngFor and *ngIf ( #26203 )
...
This commit adds an ngTemplateGuard_ngIf static method to the NgIf
directive and an ngTemplateContextGuard static method to NgFor. The
function of these two static methods is to enable type narrowing
within generated type checking code for consumers of the directives.
PR Close #26203
2018-10-04 10:11:17 -07:00
Alex Rickabaugh
79466baef8
fix(ivy): remove metadata from *Def and introduce *DefWithMeta types ( #26203 )
...
Previously in Ivy, metadata for directives/components/modules/etc was
carried in .d.ts files inside type information encoded on the
DirectiveDef, ComponentDef, NgModuleDef, etc types of Ivy definition
fields. This works well, but has the side effect of complicating Ivy's
runtime code as these extra generic type parameters had to be specified
as <any> throughout the codebase. *DefInternal types were introduced
previously to mitigate this issue, but that's the wrong way to solve
the problem.
This commit returns *Def types to their original form, with no metadata
attached. Instead, new *DefWithMeta types are introduced that alias the
plain definition types and add extra generic parameters. This way the
only code that needs to deal with the extra metadata parameters is the
compiler code that reads and writes them - the existence of this metadata
is transparent to the runtime, as it should be.
PR Close #26203
2018-10-04 10:11:17 -07:00
Kara Erickson
730679964f
refactor(ivy): flatten LInjector into LViewData ( #26220 )
...
PR Close #26220
2018-10-03 15:27:57 -07:00
Andrew Kushnir
cb59d87489
feat(ivy): compiler support to generate QUERY_READ_FROM_NODE calls ( #26171 )
...
PR Close #26171
2018-10-03 12:28:23 -07:00
Matias Niemelä
ab379ab72a
refactor(ivy): always use styling helper methods when comparing values ( #26149 )
...
PR Close #26149
2018-10-01 09:35:22 -07:00
Matias Niemelä
32e479ffec
refactor(ivy): reorganize styling and player files ( #26149 )
...
PR Close #26149
2018-10-01 09:35:22 -07:00
Matias Niemelä
391c708d7e
fix(ivy): ensure [style]/[class] bindings identity check the previous value ( #26149 )
...
PR Close #26149
2018-10-01 09:35:22 -07:00
Matias Niemelä
c51331689f
refactor(ivy): rename stylingProp => styleProp ( #26149 )
...
PR Close #26149
2018-10-01 09:35:22 -07:00
Kara Erickson
68fadd9b97
refactor(ivy): replace LNode.nodeInjector with TNode.injectorIndex ( #26177 )
...
PR Close #26177
2018-10-01 09:34:52 -07:00
Igor Minar
9993c72335
feat: add support for TypeScript 3.1 ( #26151 )
...
PR Close #26151
2018-09-28 09:34:51 -07:00
Matias Niemelä
63b795ae4a
refactor(ivy): make sure that test bed symbols are imported from ivy_switch ( #26121 )
...
PR Close #26121
2018-09-27 12:06:34 -07:00
Pawel Kozlowski
5f6900ecc0
feat(ivy): add ability to inspect local refs through context discovery ( #26117 )
...
PR Close #26117
2018-09-27 12:00:53 -07:00
Misko Hevery
325e8010e9
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Misko Hevery
632b19d5c2
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
add1198b88
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
0ed2df2a36
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
bc1f2d6411
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
d7326d81ba
fixup! feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Andrew Kushnir
b286abeabe
feat(ivy): adding support for ngNonBindable attribute
2018-09-27 11:52:07 -07:00
Ben Lesh
ffc6e199bf
build: RxJS updated to 6.3 ( #26087 )
...
PR Close #26087
2018-09-26 17:01:15 -07:00
Kara Erickson
15a2b8f622
fix(ivy): wrapper fns arent necessary anymore ( #26108 )
...
PR Close #26108
2018-09-26 00:03:16 -07:00
Kara Erickson
6a62ed2245
fix(ivy): objects like ElementRef should not use a special injection fn ( #26064 )
...
PR Close #26064
2018-09-25 12:51:29 -07:00
Matias Niemelä
0c344715e5
feat(ivy): expose a series of helpful application inspection tools ( #25919 )
...
PR Close #25919
2018-09-25 09:46:12 -07:00
Pete Bacon Darwin
206ae7a233
docs(core): remove usage notes from ReflexiveInjector.parent property ( #26039 )
...
Properties are not allowed usage notes, and in this case the example
is so simple it didn't warrant moving it to the overall class documentation.
PR Close #26039
2018-09-24 09:11:02 -07:00
Pete Bacon Darwin
79b6256789
docs(core): move headings to `@usageNotes` ( #26039 )
...
PR Close #26039
2018-09-24 09:11:02 -07:00
Matias Niemelä
82a14dc107
feat(ivy): provide groundwork for animations in core ( #25234 )
...
PR Close #25234
2018-09-21 14:51:24 -07:00
Kara Erickson
d5f47d6b71
refactor(ivy): special injection tokens should not be cached ( #26048 )
...
PR Close #26048
2018-09-20 18:02:08 -07:00
Alan Agius
549de1e21a
fix(core): add missing `peerDependency ` to `@angular/compiler` ( #26033 )
...
In 919f42fea1 (diff-58563046c4439699f2e6a89187099a54)
a dependency to the compiler was added. However the peerDependency was not added.
PR Close #26033
2018-09-20 10:53:25 -07:00
Adam Plumer
3fb0da2de5
feat(platform-server): update domino to v2.1.0 ( #25564 )
...
PR Close #25564
2018-09-19 16:07:36 -07:00
Judy Bogart
d0e710d472
docs: copy edit ( #25582 )
...
PR Close #25582
2018-09-19 10:43:06 -07:00
Judy Bogart
bc7f962039
docs: clean up formats, add detail ( #25582 )
...
PR Close #25582
2018-09-19 10:43:06 -07:00
Judy Bogart
78d42a9503
docs: update view-related api doc ( #25582 )
...
PR Close #25582
2018-09-19 10:43:06 -07:00
Judy Bogart
dd5e35ee67
docs: add ngmodule api doc ( #25618 )
...
PR Close #25618
2018-09-19 10:40:58 -07:00
Alex Eagle
cbbad1b791
refactor(ivy): pre-factor: set explicit type parameters for ModuleWithProviders ( #25970 )
...
Ivy depends on having the generic type token later when reading the ModuleWithProviders from a .d.ts file.
PR Close #25970
2018-09-18 13:28:44 -07:00
Greg Magolan
b99d7ed5bf
build(bazel): update to rules_typescript 0.17.0 & rules_nodejs 0.13.4 ( #25920 )
...
PR Close #25920
2018-09-18 13:05:38 -07:00
Kara Erickson
f47f2628e1
refactor(ivy): remove LNode.view ( #25988 )
...
PR Close #25988
2018-09-18 13:04:23 -07:00
Kara Erickson
5653874683
fix(ivy): events should not mark views dirty by default ( #25969 )
...
PR Close #25969
2018-09-17 13:02:39 -07:00
Kara Erickson
aedebaf025
refactor(ivy): remove LNode.tNode ( #25958 )
...
PR Close #25958
2018-09-14 16:16:28 -07:00
Kara Erickson
47f4412650
refactor(ivy): LContainers should store views not nodes ( #25933 )
...
PR Close #25933
2018-09-13 15:56:04 -07:00
Matias Niemelä
10a656fc38
refactor(ivy): ensure hello world doesn't pull in context discovery creation code ( #25895 )
...
PR Close #25895
2018-09-12 13:25:12 -04:00
cexbrayat
21009b06a1
fix(ivy): use proper sanitizer names ( #25817 )
...
Fixes #25816
PR Close #25817
2018-09-11 16:22:38 -07:00
Misko Hevery
86a3be8610
docs(ivy): add explanation of LViewData ( #25779 )
...
PR Close #25779
2018-09-11 07:10:15 -07:00
Miško Hevery
d5bd86ae5d
fix(ivy): don't accidently read the inherited definition ( #25736 )
...
Create getter methods `getXXXDef` for each definition which
uses `hasOwnProperty` to verify that we don't accidently read form the
parent class.
Fixes : #24011
Fixes : #25026
PR Close #25736
2018-09-11 07:09:38 -07:00
Alex Rickabaugh
a9099e8f70
fix(ivy): ensure Ivy *Ref classes derive from view engine equivalents ( #25775 )
...
Various user code uses 'instanceof' to check whether a particular instance
is a TemplateRef, ElementRef, etc. Ivy needs to work with these checks.
PR Close #25775
2018-09-11 06:53:22 -07:00
Alex Rickabaugh
13ccdfd89d
feat(ivy): support bootstrap in ngModuleDef ( #25775 )
...
The bootstrap property of @NgModule was not previously compiled by
the compiler in AOT or JIT modes (in Ivy). This commit adds support
for bootstrap.
PR Close #25775
2018-09-11 06:53:21 -07:00
Ben Lesh
7ba0cb7c93
refactor(ivy): remove superfluous Array check ( #25894 )
...
related #25755
PR Close #25894
2018-09-10 14:00:58 -07:00
Matias Niemelä
e3633888ed
feat(ivy): support animation @triggers in templates ( #25849 )
...
PR Close #25849
2018-09-10 13:59:27 -07:00
Kara Erickson
91d79939be
refactor(ivy): traverse tNode tree directly ( #25872 )
...
PR Close #25872
2018-09-10 09:59:17 -07:00
Kara Erickson
83a1334876
refactor(ivy): migrate previousOrParentNode to use TNodes ( #25829 )
...
PR Close #25829
2018-09-07 16:06:17 -07:00
Matias Niemelä
62be8c2e2f
feat(ivy): allow combined context discovery for components, directives and elements ( #25754 )
...
PR Close #25754
2018-09-07 14:14:56 -07:00
Matias Niemelä
d2dfd48be0
feat(ivy): patch animations into metadata ( #25828 )
...
PR Close #25828
2018-09-07 13:46:06 -07:00
Trotyl
010e35d995
feat(router): warn if navigation triggered outside Angular zone ( #24959 )
...
closes #15770 , closes #15946 , closes #24728
PR Close #24959
2018-09-05 09:35:14 -07:00
Alex Rickabaugh
a417b2b419
fix(ivy): detect frozen flyweight objects in definitions and unfreeze ( #25755 )
...
defineComponent() and friends can return a flyweight EMPTY object for
specific fields when they contain no data. InheritDefinitionFeature
was attempting to write into these flyweight objects, which have been
protected with Object.freeze().
This commit adds detection to InheritDefinitionFeature to identify the
frozen objects.
PR Close #25755
2018-09-05 09:27:41 -07:00
Igor Minar
51c0d9cae9
style(ivy): remove unused ivy code ( #25780 )
...
PR Close #25780
2018-09-04 12:12:04 -07:00
Igor Minar
08dfbc5475
fix(ivy): reexport __POST_NGCC__ symbols as private to prevent DCE in FESM ( #25780 )
...
While creating FESM files, rollup usually drops all unused symbols.
All *__POST_NGCC__ are unused unless ngcc rewires stuff. To prevent this DCE
we reexport them as private symbols. If ngcc is not used, these symbols will
be dropped when we optimize an application bundle.
We don't have an infrastructure to test this fix, so I just manually inspected
the bundles before and after to verify that the fix works.
PR Close #25780
2018-09-04 12:12:04 -07:00
Alex Rickabaugh
cc29b9cf93
fix(ivy): use globally unique names for i18n constants ( #25689 )
...
Closure compiler requires that the i18n message constants of the form
const MSG_XYZ = goog.getMessage('...');
have names that are unique across an entire compilation, even if the
variables themselves are local to a given module. This means that in
practice these names must be unique in a codebase.
The best way to guarantee this requirement is met is to encode the
relative file name of the file into which the constant is being written
into the constant name itself. This commit implements that solution.
PR Close #25689
2018-09-04 12:09:29 -07:00
Pawel Kozlowski
6def18a95e
fix(ivy): support directive outputs on ng-template ( #25717 )
...
Compiler part of #25698
Fixes #25697
PR Close #25717
2018-08-31 13:37:16 -07:00
Pawel Kozlowski
34be51898d
fix(ivy): support host bindings on dynamically created components ( #25765 )
...
PR Close #25765
2018-08-31 13:36:53 -07:00
Pawel Kozlowski
1e3460be0b
refactor(ivy): remove obsolete types ( #25767 )
...
In the past factories could return an array with content queries
but we no longer manage queries in factory functions.
PR Close #25767
2018-08-31 13:36:22 -07:00
Marc Laval
00f13110be
feat(ivy): support injecting Renderer2 ( #25523 )
...
PR Close #25523
2018-08-31 09:42:36 -07:00
Rob Wormald
c9844a2f01
feat(elements): enable Shadow DOM v1 and slots ( #24861 )
...
When using ViewEncapsulation.ShadowDom, Angular will not remove the child nodes of the DOM node a root Component is bootstrapped into. This enables developers building Angular Elements to use the `<slot>` element to do native content projection.
PR Close #24861
2018-08-30 21:33:14 -07:00
Rob Wormald
6e828bba88
fix(core): do not clear element content when using shadow dom ( #24861 )
...
PR Close #24861
2018-08-30 21:33:13 -07:00
Miško Hevery
1f59f2f04d
fix(core): size regression with closure compiler ( #25531 )
...
By pulling in `compiler` into `core` the `compiler` was not
100% tree-shakable and about 8KB of code was retained
when tree-shaken with closure.
PR Close #25531
2018-08-30 21:22:40 -07:00
Pawel Kozlowski
371df35624
fix(ivy): register to directive outputs on ng-template / ng-container ( #25698 )
...
Runtime part of #25697
PR Close #25698
2018-08-30 21:22:01 -07:00
Kara Erickson
b06f1c0087
refactor(ivy): remove duplicate global ( #25756 )
...
PR Close #25756
2018-08-30 21:20:15 -07:00
Pawel Kozlowski
0386c44acc
fix(ivy): inject attributes for directives on ng-template / ng-container ( #25697 )
...
PR Close #25697
2018-08-28 14:34:59 -04:00
Matias Niemelä
0024d68add
feat(ivy): add support for resolving view data from a DOM node ( #25627 )
...
PR Close #25627
2018-08-27 21:15:29 -04:00
Alan Agius
5653fada32
feat: add TypeScript 3 support ( #25275 )
...
PR Close #25275
2018-08-27 21:07:53 -04:00
Pawel Kozlowski
6a0f78fabf
fix(ivy): match directives on bindings and element outputs ( #25614 )
...
Closes #23560
PR Close #25614
2018-08-27 18:17:25 -04:00
Pawel Kozlowski
8fa099158e
fix(ivy): allow queries for ng-container without read option ( #25617 )
...
PR Close #25617
2018-08-24 11:52:50 -04:00
Pawel Kozlowski
b00038c847
fix(ivy): inject ViewContainerRef for directives on ng-container ( #25617 )
...
PR Close #25617
2018-08-24 11:52:50 -04:00
George Kalpakas
18f129f536
build: upgrade Chromium and ChromeDriver to latest versions ( #25602 )
...
PR Close #25602
2018-08-24 11:48:40 -04:00
Matias Niemelä
a37bcc3bfe
feat(ivy): bridge component styles into the component renderer ( #25255 )
...
PR Close #25255
2018-08-23 16:51:15 -04:00