Matias Niemelä
f628797d91
Revert "refactor(ivy): assertion ( #22189 )"
...
This reverts commit 0b683123d2
.
2018-02-14 22:56:11 -05:00
Victor Berchet
0b683123d2
refactor(ivy): assertion ( #22189 )
...
Encourage the use of message to explain the assertion
PR Close #22189
2018-02-14 18:42:04 -05:00
Kara Erickson
a589ca0adb
test(ivy): clean up canonical spec ( #22188 )
...
PR Close #22188
2018-02-13 13:04:43 -08:00
Miško Hevery
20a900b648
test: Add bundle symbol extractor tool ( #22002 )
...
This tool will be used for extracting symbols out of bundles so that
we can assert that only whitelisted symbols are allowed.
PR Close #22002
2018-02-13 11:28:54 -08:00
guillaumebarranco
16d1700a8e
fix(core): add stacktrace in log when error during cleanup component in TestBed ( #22162 )
...
PR Close #22162
2018-02-13 11:28:08 -08:00
Kara
5e4af7c550
fix(ivy): o2+ should work with multiple template instances ( #22075 )
...
Closes #22075
2018-02-13 10:24:41 -08:00
Alex Rickabaugh
235a235fab
feat: change @Injectable() to support tree-shakeable tokens ( #22005 )
...
This commit bundles 3 important changes, with the goal of enabling tree-shaking
of services which are never injected. Ordinarily, this tree-shaking is prevented
by the existence of a hard dependency on the service by the module in which it
is declared.
Firstly, @Injectable() is modified to accept a 'scope' parameter, which points
to an @NgModule(). This reverses the dependency edge, permitting the module to
not depend on the service which it "provides".
Secondly, the runtime is modified to understand the new relationship created
above. When a module receives a request to inject a token, and cannot find that
token in its list of providers, it will then look at the token for a special
ngInjectableDef field which indicates which module the token is scoped to. If
that module happens to be in the injector, it will behave as if the token
itself was in the injector to begin with.
Thirdly, the compiler is modified to read the @Injectable() metadata and to
generate the special ngInjectableDef field as part of TS compilation, using the
PartialModules system.
Additionally, this commit adds several unit and integration tests of various
flavors to test this change.
PR Close #22005
2018-02-12 14:34:59 -08:00
Alex Rickabaugh
2d5e7d1b52
feat(compiler): mark @NgModules in provider lists for identification at runtime ( #22005 )
...
All of the providers in a module get compiled into a module definition in the
factory file. Some of these providers are for the actual module types, as those
are available for injection in Angular. For tree-shakeable tokens, the runtime
needs to be able to distinguish which modules are present in an injector.
This change adds a NodeFlag which tags those module providers for later
identification.
PR Close #22005
2018-02-12 14:34:59 -08:00
Victor Berchet
62e7b9da1e
refactor(ivy): code simplification ( #22082 )
...
PR Close #22082
2018-02-12 10:00:56 -08:00
Victor Berchet
61341b2791
refactor(ivy): generatePropertyAliases ( #22082 )
...
PR Close #22082
2018-02-12 10:00:56 -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
Victor Berchet
3f5a3d6ea1
refactor(ivy): add internal `isProceduralRenderer()` ( #22055 )
...
PR Close #22055
2018-02-07 17:03:25 -08:00
Victor Berchet
10a014d89e
refactor(ivy): prefix viewStart & viewEnd with embedded ( #22055 )
...
PR Close #22055
2018-02-07 17:03:25 -08:00
Victor Berchet
8feb8e5408
refactor(ivy): use long instruction format in tests ( #22055 )
...
PR Close #22055
2018-02-07 17:03:25 -08:00
Victor Berchet
16dada28f5
docs(ivy): Simplify & dedup API docs for canInsertNativeNode ( #22055 )
...
PR Close #22055
2018-02-07 17:03:25 -08:00
Alex Eagle
16e5b866d2
test(ivy): also track the size of the compressed hello world bundle ( #22056 )
...
PR Close #22056
2018-02-07 16:10:00 -08:00
Kara Erickson
b58c3527e9
test(ivy): add canonical spec for object literals ( #22045 )
...
PR Close #22045
2018-02-07 12:10:16 -08:00
Miško Hevery
efc67ee5ef
fix(ivy): make pipe invocation locality neutral ( #22030 )
...
PR Close #22030
2018-02-07 12:09:56 -08:00
Emilio
e56de1025a
fix(core): ensure initial value of QueryList length ( #21980 ) ( #21982 )
...
Set initial value of `length` to `0`.
Fixes regression introduced by e544742156 (diff-a85dbe0991a7577ea24b49374e9ae90b)
where the `length` property ceased to have initial value.
Closes #21980
PR Close #21982
2018-02-07 12:08:44 -08:00
Alex Eagle
370ab66c4f
build(ivy): create hello world rollup ( #22004 )
...
This is a customization of the rollup_bundle rule from rules_nodejs
which adds the build-optimizer as a plugin.
Add a functional test with fast round-trip that asserts the minified app
still works.
Publish the min.js artifact on circleCI so we can track its size.
PR Close #22004
2018-02-06 08:25:22 -08:00
Kara Erickson
4d62be69c5
feat(ivy): memoize array literals in render3 ( #21973 )
...
PR Close #21973
2018-02-06 08:01:52 -08:00
Martin Sikora
e81606c97a
fix(core): fix proper propagation of subscriptions in EventEmitter ( #22016 )
...
Closes #21999
PR Close #22016
2018-02-06 07:56:33 -08:00
Victor Berchet
0846784b98
fix(ivy): improve `bindV` perf and memory usage ( #21881 )
...
- Fix the case when first dynamic values are NO_CHANGE
- Do not store the static texts (even indexes) as bindings,
- Do not diff static texts (they do not change),
- Do not stringify static texts,
- Remove superfluous values walking.
PR Close #21881
2018-02-05 13:01:37 -08:00
Victor Berchet
0d10b9002e
refactor(ivy): simplify bind code ( #21881 )
...
PR Close #21881
2018-02-05 13:01:37 -08:00
Victor Berchet
5df626bbe1
refactor(ivy): misc refactoring ( #22001 )
...
PR Close #22001
2018-02-05 12:59:34 -08:00
JiaLi.Passion
3a86940ca5
fix(core): should check Zone existance when scheduleMicroTask ( #20656 )
...
PR Close #20656
2018-02-02 07:53:55 -08:00
Misko Hevery
743d8bc845
feat(ivy): add canonical example of a pipe. ( #21834 )
...
PR Close #21834
2018-02-02 07:51:23 -08:00
Chuck Jazdzewski
65cf1add97
fix(ivy): remove unnecessary parameter of NgOnChangesFeature ( #21879 )
...
PR Close #21879
2018-02-01 08:33:36 -08:00
Pawel Kozlowski
1aa2947f70
feat(ivy): add support for attributes on ng-content nodes ( #21935 )
...
By adding attributes on the <ng-content> element template authors
can decide how content should be re-projected (or, in other words:
which selectors should match re-projected content).
PR Close #21935
2018-02-01 08:30:26 -08:00
Kara Erickson
9dca5f2743
refactor(ivy): save check methods separately ( #21795 ) ( #21905 )
...
PR Close #21795
PR Close #21905
2018-01-31 10:19:34 -08:00
Kara Erickson
81306c1f61
feat(ivy): add support for content query ( #21912 )
...
PR Close #21912
2018-01-31 10:19:15 -08:00
Kara Erickson
0365592119
test(ivy): add canonical view query example ( #21912 )
...
PR Close #21912
2018-01-31 10:19:15 -08:00
Pawel Kozlowski
407b5cf408
refactor(ivy): re-introduce QueryPredicate with more focused role ( #21857 ) ( #21857 )
...
PR Close #21857
PR Close #21857
2018-01-30 11:52:35 -08:00
Pawel Kozlowski
4c1743cce3
refactor(ivy): rename QueryPredicate to LQuery ( #21857 )
...
PR Close #21857
2018-01-30 11:52:35 -08:00
Pawel Kozlowski
7305e8b45e
refactor(ivy): rename LQuery to LQueries and associated renames ( #21857 )
...
PR Close #21857
2018-01-30 11:52:32 -08:00
Pawel Kozlowski
285dd6be34
feat(ivy): observable QueryList ( #21859 )
...
PR Close #21859
2018-01-30 11:43:38 -08:00
Jason Aden
02483a01ad
Revert: "refactor(ivy): save check methods separately"
...
This reverts commit 278889c7b420e530834c457f82a54e33a846a828.
2018-01-29 21:42:37 -08:00
Kara Erickson
8dff9d84ed
refactor(ivy): save check methods separately ( #21795 )
...
PR Close #21795
2018-01-29 16:12:02 -08:00
Chuck Jazdzewski
d364117aa8
fix(ivy): correct errors in template variable specification ( #21759 )
...
PR Close #21759
2018-01-27 10:49:30 -08:00
Pawel Kozlowski
6245637e81
fix(ivy): correct query read logic after merges ( #21749 )
...
PR Close #21749
2018-01-27 10:49:09 -08:00
David-Emmanuel Divernois
ab69f12e2c
refactor(ivy): code review changes ( #21638 )
...
PR Close #21638
2018-01-27 10:48:39 -08:00
David-Emmanuel Divernois
1278cca883
perf(ivy): removes generation of comments ( #21638 )
...
PR Close #21638
2018-01-27 10:48:39 -08:00
Victor Berchet
2af19c96f2
fix(core): fix retrieving the binding name when an expression changes ( #21814 )
...
fixes #21735
fixes #21788
PR Close #21814
2018-01-26 15:34:47 -08:00
Kara Erickson
dcca799dbb
fix(ivy): call onChanges before onInit ( #21793 )
...
PR Close #21793
2018-01-26 14:57:03 -08:00
Kara Erickson
d3d3f7191a
test(ivy): add canonical lifecycle example ( #21793 )
...
PR Close #21793
2018-01-26 14:57:03 -08:00
Pawel Kozlowski
f9381e42de
feat(ivy): implement QueryList array-related methods ( #21778 )
...
PR Close #21778
2018-01-25 22:19:43 -08:00
Pawel Kozlowski
5269ce287e
feat(ivy): support deep queries through view boundaries ( #21700 )
...
PR Close #21700
2018-01-24 22:18:38 -08:00
Kara Erickson
3e03dbe576
refactor(ivy): flatten hooks and collapse LView hook properties ( #21650 )
...
PR Close #21650
2018-01-24 22:14:33 -08:00
Kara Erickson
33b338120c
refactor(ivy): move onDestroys out of cleanup ( #21650 )
...
PR Close #21650
2018-01-24 22:14:33 -08:00
Kara Erickson
811679a583
refactor(ivy): remove unnecessary Comp.r function ( #21650 )
...
PR Close #21650
2018-01-24 22:14:33 -08:00