Alex Rickabaugh
6ef9f2278f
feat(ivy): @NgModule -> ngInjectorDef compilation ( #22458 )
...
This adds compilation of @NgModule providers and imports into
ngInjectorDef statements in generated code. All @NgModule annotations
will be compiled and the @NgModule decorators removed from the
resultant js output.
All @Injectables will also be compiled in Ivy mode, and the decorator
removed.
PR Close #22458
2018-03-16 12:57:11 -07:00
Kara Erickson
bafdad9083
fix(ivy): cache local names and support multiple locals with same value ( #22807 )
...
PR Close #22807
2018-03-16 11:26:38 -07:00
Kara Erickson
9220521149
test(ivy): correct export tests and add query test ( #22807 )
...
PR Close #22807
2018-03-16 11:26:38 -07:00
Alex Eagle
f9247e4b2e
build: enable importHelpers in tsconfig ( #22812 )
...
This is the primary tsconfig file used for Bazel builds.
Previously, we enabled this option only for releases.
PR Close #22812
2018-03-15 21:16:03 -07:00
Kara Erickson
4e6ac185e5
refactor(ivy): double size of DI bloom filter ( #22775 )
...
PR Close #22775
2018-03-15 14:49:39 -07:00
Miško Hevery
112431db69
test(ivy): add canonical compiler spec for class/style ( #22719 )
...
Adds a stub for `elementStyle` and `elementClass` instruction
with a canonical spec for the compiler. The spec shows the the
compiler should be using `elementStyle` and `elementClass` instruction
in place of `[class]` and `[style]` bindings respectively.
PR Close #22719
2018-03-14 12:59:52 -07:00
Miško Hevery
a0a01f1e1e
refactor(ivy): rename class/style to make space for new instruction ( #22719 )
...
Rename:
- `elementClass` (short: `k`) => `elementClassNamed` (short: `kn`)
- `elementStyle` (short: `s`) => `elementStyleNamed` (short: `sn`)
Currently `[class.name]` is `elementClass(0, ‘name’, value)`. We would
like to introduce new binding `[class]` which needs a new instruction
ideally `elementClass(0, value)`. Doing the rename creates space
to create such an instruction in subsequent change.
PR Close #22719
2018-03-14 12:59:52 -07:00
Miško Hevery
ae19d071bb
test(ivy): add ComponentFixture for cleaner tests. ( #22719 )
...
PR Close #22719
2018-03-14 12:59:52 -07:00
Pawel Kozlowski
c09bd67aee
fix(ivy): fix views manipulation logic ( #22656 )
...
This commit fixes a bug that would result in views insert / remove
even if a view needed only refresh operation.
The crux of the bug was that we were looking for a view to update
only in the LContainer.nextIndex position. This is incorrect as a
view with a given block id could be present later in the views
array (this happens if we about to remove a view in the middle of
the views array).
The code in this fix searches for a view to update in the views array and
can remove views in the middle of the views collection. Previously we
would remove views at the end of the collection only.
PR Close #22656
2018-03-14 12:07:15 -07:00
Kara Erickson
b1365d1fa8
refactor(ivy): remove directiveRefresh instruction ( #22745 )
...
PR Close #22745
2018-03-13 23:29:21 -07:00
Kara Erickson
bd9d4df735
refactor(ivy): remove inputsPropertyName ( #22716 )
...
Closes #22591
PR Close #22716
2018-03-13 13:26:15 -07:00
Alex Rickabaugh
db56836425
feat: tree-shakeable providers API updates ( #22655 )
...
Rename @Injectable({scope -> providedIn}).
Instead of {providedIn: APP_ROOT_SCOPE}, accept {providedIn: 'root'}.
Also, {providedIn: null} implies the injectable should not be added
to any scope.
PR Close #22655
2018-03-13 09:28:05 -07:00
Marc Laval
f95730b8e2
fix(ivy): elements properties should not be stringified ( #22683 )
...
PR Close #22683
2018-03-12 13:16:05 -07:00
Kara Erickson
aa7dba244b
feat(ivy): support checkNoChanges ( #22710 )
...
PR Close #22710
2018-03-11 22:16:38 -07:00
Kara Erickson
fa451bcd19
feat(ivy): support markForCheck ( #22690 )
...
PR Close #22690
2018-03-09 20:29:05 -08:00
Kara Erickson
b26a90567c
feat(ivy): support attaching and detaching views from change detection ( #22670 )
...
PR Close #22670
2018-03-08 23:44:33 -08:00
Misko Hevery
2fee5cc095
test(ivy): add injection canonical specs ( #22595 )
...
PR Close #22595
2018-03-08 12:09:39 -08:00
Kara Erickson
4c089c1d93
feat(ivy): support ChangeDetectorRef.detectChanges ( #22614 )
...
PR Close #22614
2018-03-07 21:08:25 -08:00
Kara Erickson
d485346d3c
fix(ivy): lifecycle hooks should be queued for root component ( #22614 )
...
PR Close #22614
2018-03-07 21:08:25 -08:00
Marc Laval
f64ee15487
feat(ivy): implement pipes ( #22254 )
...
PR Close #22254
2018-03-07 20:58:48 -08:00
Marc Laval
5d4fa7f0c8
test(ivy): add canonical examples of bindings on elements ( #22403 )
...
PR Close #22403
2018-03-07 20:55:49 -08:00
Miško Hevery
6d1367d297
feat(ivy): provide sanitization methods which can be tree shaken ( #22540 )
...
By providing a top level sanitization methods (rather than service) the
compiler can generate calls into the methods only when needed. This makes
the methods tree shakable.
PR Close #22540
2018-03-07 18:24:07 -08:00
Miško Hevery
363dfa5437
test(ivy): Back patch example ( #22235 )
...
PR Close #22235
2018-03-06 15:02:02 -08:00
Pawel Kozlowski
2c75acc5b3
feat(ivy): add support for the ngProjectAs attribute ( #22498 )
...
PR Close #22498
2018-03-06 06:55:51 -08:00
Kara Erickson
2c2b62f45f
fix(ivy): preventDefault when listener returns false ( #22529 )
...
Closes #22495
PR Close #22529
2018-03-05 12:15:17 -08:00
Misko Hevery
51ca643c27
test(ivy): add injectAttribute spec ( #22510 )
...
PR Close #22510
2018-03-05 10:10:32 -08:00
Misko Hevery
69d359bb51
refactor(ivy): break compiler canonical test into smaller files ( #22510 )
...
PR Close #22510
2018-03-05 10:10:32 -08:00
Kara Erickson
9eaf1bbe67
feat(ivy): support injecting ChangeDetectorRef ( #22469 )
...
PR Close #22469
2018-02-28 13:35:48 -08:00
Kara Erickson
8c358844dd
feat(ivy): support OnPush change detection ( #22417 )
...
PR Close #22417
2018-02-28 10:42:11 -08:00
Marc Laval
aad431642a
refactor(ivy): rename componentRefresh to directiveRefresh ( #22395 )
...
PR Close #22395
2018-02-23 09:42:08 -08:00
Marc Laval
7effb0016c
fix(ivy): ngOnChanges to receive SimpleChanges with non minified property names as keys ( #22352 )
...
PR Close #22352
2018-02-22 17:48:52 -08:00
Marc Laval
b3ffeaa22b
fix(ivy): OnDestroy hook should not be called twice for a directive on an element ( #22350 )
...
PR Close #22350
2018-02-22 13:35:17 -08:00
Marc Laval
894b098eb3
test(ivy): add missing tests on directive lifecycle hooks ( #22368 )
...
PR Close #22368
2018-02-22 11:21:15 -08:00
Marc Laval
ee60bb5b36
fix(ivy): pureFunction8 should update the right bindings ( #22313 )
...
PR Close #22313
2018-02-20 11:36:50 -08:00
Victor Berchet
a8b5465e24
fix(ivy): update master with renamings ( #22268 )
...
PR Close #22268
2018-02-18 18:48:41 -08:00
Victor Berchet
c9ebd60435
refactor(ivy): interpolatiom instructions do not support NO_CHANGE at input. ( #22268 )
...
PR Close #22268
2018-02-18 18:48:41 -08:00
Victor Berchet
5a14e2238f
refactor(ivy): split the `memory` instruction into `store` and `load` ( #22268 )
...
PR Close #22268
2018-02-18 18:48:41 -08:00
Victor Berchet
c30d329faa
fix(ivy): fix merge errors (master is broken) ( #22291 )
...
PR Close #22291
2018-02-18 15:03:39 -08:00
Kara Erickson
49082d7ab2
feat(ivy): support host attributes ( #22213 )
...
PR Close #22213
2018-02-18 13:22:38 -08:00
Kara Erickson
6b627f67db
test(ivy): add missing host listener and host attribute binding tests ( #22213 )
...
PR Close #22213
2018-02-18 13:22:38 -08:00
Kara Erickson
5c320b4c2a
test(ivy): add missing host binding and query tests ( #22213 )
...
PR Close #22213
2018-02-18 13:22:34 -08:00
Misko Hevery
ac2b04a5ab
test(ivy): Add small_app spec for sprint #3 ( #22018 )
...
PR Close #22018
2018-02-18 13:18:54 -08:00
Misko Hevery
a63b764b54
test(ivy): move compiler canonical specs into a single directory ( #22018 )
...
PR Close #22018
2018-02-18 13:18:54 -08:00
Kara Erickson
f693be3996
feat(ivy): add pureFunction0 instruction ( #22214 )
...
PR Close #22214
2018-02-16 18:03:55 -08:00
Kara Erickson
a73d5308e0
refactor(ivy): rename objectLiteral to pureFn to prep for pipes ( #22214 )
...
PR Close #22214
2018-02-16 18:03:55 -08:00
Marc Laval
dfa2fb95d5
test(ivy): clean the imported renderer2 ( #22255 )
...
PR Close #22255
2018-02-16 15:11:23 -08:00
Victor Berchet
5dd2b5135d
refactor(ivy): rename `bindX()` functions to `interpolationX()` ( #22229 )
...
rationale: remove the confusion with `bind()` and `bind0()`
PR Close #22229
2018-02-15 14:20:53 -08:00
Kara Erickson
a589ca0adb
test(ivy): clean up canonical spec ( #22188 )
...
PR Close #22188
2018-02-13 13:04:43 -08:00
Kara
5e4af7c550
fix(ivy): o2+ should work with multiple template instances ( #22075 )
...
Closes #22075
2018-02-13 10:24:41 -08:00
Kara Erickson
d9ae70c699
test(ivy): normalize template names in canonical spec ( #21815 )
...
PR Close #21815
2018-02-08 08:55:40 -08:00