14354 Commits

Author SHA1 Message Date
Pete Bacon Darwin
b48d6e1b13 fix(ivy): ngcc - empower Esm5ReflectionHost to analyze ModuleWithProviders functions (#29092)
In ESM5 code, static methods appear as property assignments onto the constructor
function. For example:

```
var MyClass = (function() {
  function MyClass () {}
  MyClass.staticMethod = function() {};
  return MyClass;
})();
```

This commit teaches ngcc how to process these forms when searching
for `ModuleWithProviders` functions that need to be updated in the typings
files.

PR Close #29092
2019-03-20 14:45:55 -04:00
Pete Bacon Darwin
68f9d705f8 build(ivy): ngcc - only test under no-ivy-aot mode (#29092)
We want ngcc to test non-AOT builds of the Angular packages,
so we filter the tests in using the `no-ivy-aot` tag.

PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
229f035969 feat(ivy): ngcc - support only compiling the first format property to match (#29092)
By default ngcc will compile all the format properties specified. With this
change you can configure ngcc so that it will stop compiling an entry-point
after the first property that matches the `propertiesToConsider`.

PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
c9f7cdaafd refactor(ivy): ngcc - simplify Transformer.transform API (#29092)
By ensuring that EntryPointBundle contains everything that `Transformer.transform()`
needs to do its work, we can simplify its signature.

PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
7b55ba58b9 refactor(ivy): ngcc - remove flat-format and use AbsoluteFsPath (#29092)
Now that we are using package.json properties to indicate which
entry-point format to compile, it turns out that we don't really
need to distinguish between flat and non-flat formats, unless we
are compiling `@angular/core`.

PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
cd449021c1 feat(ivy): ngcc - compile only specified package.json format properties (#29092)
You can now specify a list of properties in the package.json that
should be considered (in order) to find the path to the format to compile.

The build marker system has been updated to store the markers in
the package.json rather than an additional external file.
Also instead of tracking the underlying bundle format that was compiled,
it now tracks the package.json property.

BREAKING CHANGE:

The `proertiesToConsider` option replaces the previous `formats` option,
which specified the final bundle format, rather than the property in the
package.json.
If you were using this option to compile only specific bundle formats,
you must now modify your usage to pass in the properties in the package.json
that map to the format that you wish to compile.

In the CLI, the `--formats` is no longer available. Instead use the
`--properties` option.

FW-1120

PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
4bb0259bc0 feat(ivy): ngcc - support targeting a start entry-point (#29092)
You can now, programmatically, specify an entry-point where
the ngcc compilation will occur.
Only this entry-point and its dependencies will be compiled.

FW-1119

PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
66239b9d09 refactor(ivy): expose ngcc programmatically (#29092)
The `mainNgcc()` function has been refactored to make it easier to call
ngcc from JavaScript, rather than via the command line.

For example, the `yargs` argument parsing and the exception
handling/logging have moved to the `main-ngcc.ts`
file so that it is only used for the command line version.

FW-1118

PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
a770aa231d refactor(ivy): move ngcc into a higher level folder (#29092)
PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
cf4718c366 feat(ivy): ngcc - support dts compilation via ES5 bundles (#29092)
Previously we only compiled the typings files, in ngcc, if there was
an ES2015 formatted bundle avaiable. This turns out to be an artificial
constraint and we can also support typings compilation via ES5 formats
too.

This commit changes the ngcc compiler to attempt typings compilation
via ES5 if necessary. The order of the formats to consider is now:
FESM2015, FESM5, ESM2015, ESM5.

FW-1122

PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
07aeafa75c style(ivy): ngcc - fix typo in comment (#29092)
PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
7a67f8935d build: allow build-packages-dist.sh to be run from anywhere (#29092)
PR Close #29092
2019-03-20 14:45:54 -04:00
Pete Bacon Darwin
bc88816c10 test: ignore the generated demo folder in the bazel integration test (#29092)
PR Close #29092
2019-03-20 14:45:54 -04:00
George Kalpakas
0d0445063a ci: add devversion to fw-dev-infra (#29418)
PR Close #29418
2019-03-20 13:44:30 -04:00
Alex Eagle
ddfdf3cd26 docs: add alexeagle to @angular/fw-global-approvers (#29287)
This is for large-scale refactorings

PR Close #29287
2019-03-20 13:43:23 -04:00
Keen Yee Liau
d6d081e120 feat(bazel): Upgrade rules_nodejs and rules_sass (#29388)
PR Close #29388
2019-03-20 13:42:03 -04:00
Brandon
38c778e371 docs: add docs team to Angular Team section on collaborators page (#29396)
PR Close #29396
2019-03-20 13:40:18 -04:00
Marc Laval
3249020466 test(ivy): update root cause of failures in MatBadge (#29422)
PR Close #29422
2019-03-20 13:37:53 -04:00
Kristiyan Kostadinov
d6e27a41ed test(ivy): remove passing snack bar test from blocklist (#29423)
Removes the test that was fixed by https://github.com/angular/material2/pull/15551 from the blocklist.

PR Close #29423
2019-03-20 13:35:15 -04:00
meriturva
1a4d4a0e13 docs: fix typo (culd -> could) (#29412)
PR Close #29412
2019-03-20 13:34:21 -04:00
Alex Eagle
3121409957 Revert "build: add a nice Angular-themed color for the vscode status bar (#29407)" (#29419)
This reverts commit efcd6af17d360d26accca7a3af5233d1696dcd7b.
Engineers on the team thought that the red color means something is
broken.
See slack discussion in #general

PR Close #29419
2019-03-20 13:31:27 -04:00
George Kalpakas
fd122b0739 ci: cache Material node_modules based on the lockfile checksum (#29417)
This will increase the cache hit rate for the `material-unit-tests` job.
Related to https://github.com/angular/angular/pull/29416#discussion_r267321140.

PR Close #29417
2019-03-20 13:13:27 -04:00
Justin Schwartzenberger
9a364a82fb docs: add Justin Schwartzenberger to GDE page (#29401)
PR Close #29401
2019-03-20 13:11:31 -04:00
Paul Gschwendtner
a530ed11e8 ci: do not cache modified "node_modules" in "material-unit-tests" job (#29416)
Currently we cache the Material `node_modules` after
the `run_angular_material_unit_tests.sh` completed. This
means that the cache will incorrectly contain the Ivy NPM
package output which might be incompatible with the
other Material dependencies. e.g. the Material postinstall
command now uses a different NGC version that does not
work with the `typescript` version that has been specified in
the Material project.

PR Close #29416
2019-03-20 06:58:23 -07:00
Greg Magolan
2d7435daae build(bazel): fix router test failure (#29375)
PR Close #29375
2019-03-19 23:39:37 -04:00
Greg Magolan
b460b26308 build(bazel): update to nodejs rules 0.27.7 (#29375)
PR Close #29375
2019-03-19 23:39:37 -04:00
Greg Magolan
ea90435a6b build(bazel): fix jasmine_node_test defaults (#29375)
PR Close #29375
2019-03-19 23:39:37 -04:00
Greg Magolan
ea0e832e5f build(bazel): update to nodejs rules 0.27.6 (#29375)
PR Close #29375
2019-03-19 23:39:36 -04:00
Greg Magolan
7c4afb0da7 build: enable shard_count for some jasmine tests that have many specs (#29375)
PR Close #29375
2019-03-19 23:39:36 -04:00
Greg Magolan
603df13b14 build(bazel): update to @bazel/jasmine 0.27.4 (#29375)
PR Close #29375
2019-03-19 23:39:36 -04:00
Kara Erickson
f9b7b6d2f1 test(ivy): add new material tests to blocklist (#29409)
After rebasing Material on master, we found new tests that were
added and are still failing. This commit adds them to the blocklist
so we can fix them.

PR Close #29409
2019-03-19 23:28:38 -04:00
Pawel Kozlowski
dafbbf8b64 fix(core): parse incorrect ML open tag as text (#29328)
This PR alligns markup language lexer with the previous behaviour in version 7.x:
https://stackblitz.com/edit/angular-iancj2

While this behaviour is not perfect (we should be giving users an error message
here about invalid HTML instead of assuming text node) this is probably best we
can do without more substential re-write of lexing / parsing infrastructure.

This PR just fixes #29231 and restores VE behaviour - a more elaborate fix will
be done in a separate PR as it requries non-trivial rewrites.

PR Close #29328
2019-03-19 23:23:31 -04:00
Matias Niemelä
d59f02d902 docs: release notes for the v7.2.10 release 2019-03-19 20:19:14 -07:00
Matias Niemelä
20bf4ca382 release: cut the v8.0.0-beta.9 release 2019-03-19 17:22:41 -07:00
Hans Larsen
aae6f7b40b docs: add usage analytics gathering guide to aio (#29382)
This guide is to help third party administrators to collect usage analytics
gathering for their own users with their own Google Analytics dashboard. It
is not meant for a generic audience.

PR Close #29382
2019-03-19 20:12:26 -04:00
Hans Larsen
5f50562be5 docs: add usage notice for CLI analytics (#29382)
This is going to be linked to users who want to know more about
analytics.

PR Close #29382
2019-03-19 20:12:26 -04:00
Matias Niemelä
efcd6af17d build: add a nice Angular-themed color for the vscode status bar (#29407)
PR Close #29407
2019-03-19 18:09:34 -04:00
Matias Niemelä
56c345baec docs(ivy): add description for instructions directory structure (#29406)
PR Close #29406
2019-03-19 17:18:33 -04:00
Paul Gschwendtner
19ff32036e ci: enable parallelism for material-unit tests job (#29378)
PR Close #29378
2019-03-19 17:14:53 -04:00
Paul Gschwendtner
37cc514f0f ci: add yarn cache for material-unit tests job (#29378)
PR Close #29378
2019-03-19 17:14:53 -04:00
Kara Erickson
067657c1e9 fix(ivy): prevent templateOverrides from causing infinite loop (#29402)
Previously, the transitive scope calculation could lead into re-compiling
the same module multiple times. This fix ensures we cannot get into this loop.
It should be fixed more completely (e.g. more cases) once FW-1178 is resolved.

PR Close #29402
2019-03-19 17:14:32 -04:00
Matias Niemelä
8714daf276 fix(ivy): introduce host-specific styling instructions (#29292)
This patch is the first of a few patches which separates the
styling logic between template bindings (e.g. <div [style])
from host bindings (e.g. @HostBinding('style')). This patch
in particular introduces a series of host-specific styling
instructions and changes the existing set of template styling
instructions not to accept directives. The underyling code (which
communicates with the styling algorithm) still works as it did
before.

This PR also separates the styling instruction code into a separate
file and moves over all other instructions into an dedicated
instructions directory.

PR Close #29292
2019-03-19 16:33:39 -04:00
Matias Niemelä
d5e3f2c64b refactor(ivy): move instructions into separate directory (#29292)
PR Close #29292
2019-03-19 16:33:39 -04:00
Judy Bogart
bc99b774ba docs: add schematics guide (#28343)
PR Close #28343
2019-03-19 15:47:14 -04:00
Matias Niemelä
a3ec058f6b revert: fix(core): parse incorrect ML open tag as text (#29328) 2019-03-19 11:12:32 -07:00
Pawel Kozlowski
4605df83e1 fix(core): parse incorrect ML open tag as text (#29328)
This PR alligns markup language lexer with the previous behaviour in version 7.x:
https://stackblitz.com/edit/angular-iancj2

While this behaviour is not perfect (we should be giving users an error message
here about invalid HTML instead of assuming text node) this is probably best we
can do without more substential re-write of lexing / parsing infrastructure.

This PR just fixes #29231 and restores VE behaviour - a more elaborate fix will
be done in a separate PR as it requries non-trivial rewrites.

PR Close #29328
2019-03-19 13:30:20 -04:00
Kapunahele Wong
c0ad9e104d docs: edit $any() section and add example in Template Syntax (#28157)
PR Close #28157
2019-03-19 13:19:17 -04:00
Rob Gregorius
a9020a028f docs(core): fix typo in NgModule imports example description (#29272)
PR Close #29272
2019-03-19 13:11:34 -04:00
John Reese
e769f9cfe4 docs(forms): fix small typo in forms documentation (#29370)
PR Close #29370
2019-03-19 13:11:11 -04:00
Robert Tyree
4a665ca50b docs: fix typo in section introduction (#29394)
PR Close #29394
2019-03-19 13:09:07 -04:00