53 Commits

Author SHA1 Message Date
Igor Minar
ea37e82e69 build: consolidate @angular-devkit/build-angular to the root package.json ()
This allows us to update the version of the package in a single place for all tests.

Notable exemption of this is aio which currently doesn't depend on anything installed in the root.

PR Close 
2019-12-02 10:49:12 -08:00
George Kalpakas
4ece0eb27c build: use exact versions for integration project dependencies ()
Since we cannot run `yarn install` with the `--frozen-lockfile` option
(because we want to be able to install the locally built Angular
packages), integration project lockfiles are susceptible to getting
out-of-sync with the corresponding `package.json`. When this happens,
yarn will install the latest available version that satisfies the
version range specified in `package.json`.

This commit adds another line of defense, by specifying exact versions
for the dependencies in `package.json` files (i.e. `1.33.7` instead of
`^1.33.0`). While transitive dependencies will be unpinned, this still
ensures that the same version of direct dependencies will be installed
in case of an out-of-sync lockfile, thus reducing the probability of
random failures.

PR Close 
2019-11-26 16:08:32 -08:00
George Kalpakas
7f0d7f4d12 build: update lockfiles for integration projects ()
In the `integration_test` CircleCI job, we run `yarn install` on all
projects in the `integration/` directory. If a project has no lockfile
or if the lockfile is out-of-sync with the corresponding `package.json`
file, then the installed dependency versions are no longer pinned, which
can result in different versions being installed between different runs
of the same job (if, for example, a new version is released for a
package) and breaks hermeticity.

This could be prevented by using the `--frozen-lockfile` option with
`yarn install`, but this is not possible with the current setup, because
yarn needs to be able to install the locally built Angular packages,
whose checksums will be different from the ones in the lockfile.
Therefore, we have to manually ensure that the lockfiles remain in-sync
with the corresponding `package.json` files for the rest of the
dependencies.

For example, previously, [cli-hello-world-lazy/yarn.lock][1] had an
entry for `@angular-devkit/build-angular@0.900.0-next.9` (pinned to
`0.900.0-next.9`), but [cli-hello-world-lazy/package.json][2] specified
the `@angular-devkit/build-angular` version as `^0.900.0-rc.0` (note the
leading caret). As a result, since the version in the lock file does not
much the one in `package.json`, the lockfile is ignored and the latest
available version that matches `^0.900.0-rc.0` is installed.

This, for example, started causing unrelated CI failures ([example][3]),
when `@angular-devkit/build-angular@9.0.0-rc.3` was released with a size
improvement.

This commit ensures that all integration projects have a lockfile and
that lockfiles are up-to-date (with the current `package.json` files).

[1]: https://github.com/angular/angular/blob/fc2f6b845/integration/cli-hello-world-lazy/yarn.lock#L13
[2]: https://github.com/angular/angular/blob/fc2f6b845/integration/cli-hello-world-lazy/package.json#L26
[3]: https://circleci.com/gh/angular/angular/535959#tests/containers/2

PR Close 
2019-11-26 16:08:32 -08:00
Filipe Silva
891708cfc9 build: update to Angular CLI 9.0.0-rc.3 ()
Followup to https://github.com/angular/angular/pull/33337

PR Close 
2019-11-21 09:17:18 -08:00
George Kalpakas
74b7d1ace1 test(ngcc): build zone.js from source in scripts/build-packages-dist.sh ()
In , internal uses of `zone.js` were switched to reference it
directly from source (built with Bazel) instead of npm. As a result, the
necessary scripts were updated to build `zone.js` as necessary. However,
some `integration/**/debug-test.sh` scripts were missed (apparently
because they are not used on CI, but only locally as helpers for
debugging the integration projects).

This commit updates the `scripts/build-packages-dist.sh` script to also
build `zone.js`, so that other scripts (such as the various
`debug-test.sh` scripts) can use it.

PR Close 
2019-11-12 09:55:16 -08:00
JiaLiPassion
8c6fb17d29 build: reference zone.js from source directly instead of npm. ()
Close 

PR Close 
2019-11-06 00:48:34 +00:00
Filipe Silva
02308c4f71 test: update CLI to rc version ()
PR Close 
2019-11-01 17:50:56 +00:00
Pete Bacon Darwin
d883007cc6 build: update CLI and related dependencies ()
This commit also ensures that the integration tests
are all using the top level dependencies.

Resolves https://github.com/angular/angular/pull/33314#discussion_r338381134

PR Close 
2019-10-24 14:12:30 -07:00
Filipe Silva
9de4b1c441 test: fix typo in cli e2e descriptions ()
PR Close 
2019-10-21 15:54:06 -04:00
Filipe Silva
fbf6ec8813 test: update integration/cli-hello-world project structure ()
PR Close 
2019-10-21 15:54:06 -04:00
Filipe Silva
abd2a58c67 test: update Angular CLI deps for integration tests ()
PR Close 
2019-10-21 11:27:42 -04:00
Filipe Silva
a0d16dcfea test: use @types/node compatible with TS 3.6 ()
PR Close 
2019-10-18 13:15:17 -04:00
Igor Minar
86e1e6c082 feat: typescript 3.6 support ()
BREAKING CHANGE: typescript 3.4 and 3.5 are no longer supported, please update to typescript 3.6

Fixes 

PR Close 
2019-10-18 13:15:16 -04:00
JiaLiPassion
53d13c3fc6 refactor: rename unpatched event flag in Zone from BLACK_LISTED_EVENTS to UNPATCHED_EVENTS ()
Closes 

PR Close 
2019-10-04 08:44:58 -07:00
Alex Rickabaugh
ec4381dd40 feat: make the Ivy compiler the default for ngc ()
This commit switches the default value of the enableIvy flag to true.
Applications that run ngc will now by default receive an Ivy build!

This does not affect the way Bazel builds in the Angular repo work, since
those are still switched based on the value of the --define=compile flag.
Additionally, projects using @angular/bazel still use View Engine builds
by default.

Since most of the Angular repo tests are still written against View Engine
(particularly because we still publish VE packages to NPM), this switch
also requires lots of `enableIvy: false` flags in tsconfigs throughout the
repo.

Congrats to the team for reaching this milestone!

PR Close 
2019-08-20 16:41:08 -07:00
JiaLiPassion
ee486233e9 build(zone.js): update zone.js to 0.10.2 ()
Bundle size changed in both zone.js(legacy) and zone-evergreen.js

- zone.js(legacy) package increased a little because the following feature and fixes.
1. , handle MSPointer events PR
2. https://github.com/angular/zone.js/pull/1219 to add __zone_symbol__ customization support

- zone-evergreen.js package decreased because
1. the MSPointer PR only for legacy
2. the Object.defineProperty patch is moved to legacy 

PR Close 
2019-08-16 09:56:41 -07:00
Renovate Bot
7533338362 build: update tslint to version ~5.18.0 ()
PR Close 
2019-08-09 10:47:43 -07:00
Adrien Crivelli
0386c964b5 build: secure yarn lock files ()
See https://yarnpkg.com/blog/2019/07/12/recommended-security-update/

PR Close 
2019-07-29 16:10:23 -07:00
Paul Gschwendtner
e0969b2480 ci: update nodejs version to v10.16.0 ()
Updates the NodeJS version to the latest stable version at the time of
writing (v10.16.0). We need to update our image to use a minimum NodeJS
version of v10.15.0 because new CLI apps automatically install a non-locked
version of selenium-webdriver that now requires NodeJS >= 10.15.0 since the
latest release of 17th June 2019 (4.0.0-alpha.3).

See CI failures: https://circleci.com/gh/angular/angular/359077

PR Close 
2019-06-17 13:07:27 -07:00
Kara Erickson
bf031fc56b test(ivy): update devkit in hello world tests to rc.2 ()
PR Close 
2019-05-09 11:24:52 -07:00
arjunyel
4f055d4257 refactor: remove tslint no-use-before-declare rule ()
PR Close 
2019-05-07 10:25:36 -07:00
Kara Erickson
b945bc3a9e test(ivy): pin deps on hello world size tests ()
We recently had an unexpected size regression in the hello world
tests because the CLI devkit released an RC that regressed us and
the dependencies were not pinned. This change ensures that we only
update dependencies like devkit deliberately, so we do not have
mysterious breakages caused by other packages.

PR Close 
2019-04-26 12:34:10 -07:00
Alan Agius
902a53a4f6 feat(bazel): update the build to use the new architect api ()
With this change the builder has been updated to use the latest architect API and make it compatable with the latest CLI

Fixes https://github.com/angular/angular-cli/issues/14082

PR Close 
2019-04-08 09:47:34 -07:00
Alex Eagle
03d914a6c2 build: hide @angular/http for Angular v8 ()
Currently our plan is to skip the publish, docgen, and update steps for this package.
During RC, we'll determine if the breaking change is too difficult for users, in which case we might restore the package for another major.

PR Close 
2019-04-02 10:55:31 -07:00
Renovate Bot
146256a4e0 build: update @angular-devkit/build-angular to version 0.13.5 ()
PR Close 
2019-03-11 14:19:35 -07:00
Renovate Bot
c5f1d08a43 build: update tslint to version ~5.13.0 ()
PR Close 
2019-03-04 10:33:49 -08:00
Renovate Bot
3403027698 build: update @angular-devkit/build-angular to version 0.13.4 ()
PR Close 
2019-03-04 10:33:18 -08:00
Filipe Silva
ce83231ce9 build: update version of Angular CLI and Build Optimizer used for tests ()
PR Close 
2019-02-07 12:36:51 -08:00
George Kalpakas
72c36956de ci: pin ChromeDriver to a version compatible with docker image's Chrome ()
By default, `webdriver-manager update` will download the latest
ChromeDriver version, which might not be compatible with the Chrome
version included in the [docker image used on CI], causing CI failures.
Previously, we used to pin the ChromeDriver version on CI in
[ngcontainer's Dockerfile][2]. This was accidentally broken in ,
while moving from ngcontainer to default CircleCI docker images.

This commit fixes the issue by pinning ChromeDriver to a known
compatible version.

[1]: bfd48d156d/.circleci/config.yml (L16)
[2]: bfd48d156d/tools/ngcontainer/Dockerfile (L63)

PR Close 
2019-02-01 20:22:03 -05:00
George Kalpakas
6e16338302 test: log cli version in cli-hello-world[-ivy] integration projects ()
This helps debug issues on CI.

PR Close 
2019-01-28 14:01:13 -08:00
George Kalpakas
94e305f48e build: upgrade cli-hello-world[-ivy] integration projects to @angular/cli@7.2.1 ()
PR Close 
2019-01-22 12:02:10 -08:00
Keen Yee Liau
80967ce82c build(bazel): Use @angular/cli from root package.json ()
A few integration tests now depend on @angular/cli.

This commit changes the affected tests to use the dependency
on @angular/cli defined at root package.json.

PR Close 
2019-01-16 17:37:22 -08:00
George Kalpakas
804fb99d66 ci: make integration_test job logs less verbose ()
The build progress logs accounted for ~80% of the total log size, which
makes it harder to get to the interesting lines, such as error messages.

Used suggestion from [here][1].

[1]: https://github.com/angular/angular-cli/issues/11412#issuecomment-412021539

PR Close 
2018-11-02 10:37:35 -07:00
George Kalpakas
387db75003 build: upgrade @angular/cli in cli-hello-world integration test ()
PR Close 
2018-11-02 10:37:35 -07:00
George Kalpakas
9e32dc7c95 build: upgrade @types/jasminewd2 to 2.0.4 ()
This commit also removes the extra jasminewd2 typings, since the changes
have been merged in the official typings with
DefinitelyTyped/DefinitelyTyped#28957.

PR Close 
2018-10-12 14:11:11 -07:00
Matias Niemelä
0c344715e5 feat(ivy): expose a series of helpful application inspection tools ()
PR Close 
2018-09-25 09:46:12 -07:00
Alex Eagle
34ec9244a6 build: update to Node 10 ()
PR Close 
2018-09-06 14:58:30 -07:00
Alex Eagle
c2b5ebfa24 build: update buildifier to latest ()
this matches the version in ngcontainer:0.3.1

PR Close 
2018-06-12 11:42:35 -07:00
Olivier Combe
8062f7de9e test: add i18n to cli-hello-world integration test ()
PR Close 
2018-04-27 07:24:35 -07:00
Alex Eagle
b26ac1c22f ci: publish build snapshots from Bazel/CircleCI ()
This uses a new script and CircleCI job called "build-packages-dist"
which shims the new Bazel build to produce outputs matching the legacy
build. We'll use this to get AIO testing onto CircleCI as well.

We move the integration tests to a new circleCI job that depends on this
one, as well as the build publishing job.

Note that every PR will have a trivial green publishing status, because
we always create this job even for PRs. We'd rather not - see
https://discuss.circleci.com/t/workflows-pull-request-filter/14396/4

PR Close 
2018-04-23 15:45:56 -07:00
Igor Minar
acbfb9eb4d build: fix angular.json that was missing keys due to cli bugs ()
https://github.com/angular/angular-cli/issues/10225
https://github.com/angular/angular-cli/issues/10226

PR Close 
2018-04-17 14:09:02 -07:00
Igor Minar
08fc4f3ad8 build: update to rxjs@6.0.0-tactical-rc.1 ()
PR Close 
2018-04-17 14:09:02 -07:00
Igor Minar
c6c79ab5dc test: simplify config for cli-hello-world ()
PR Close 
2018-04-17 14:09:02 -07:00
Igor Minar
6837491f08 test: update cli-hello-world to cli@6.0.0-rc.2 ()
PR Close 
2018-04-17 14:09:02 -07:00
Igor Minar
dae4689b1c test: upgrade cli-hello-world to cli 6.0.0-rc.0 ()
PR Close 
2018-04-04 17:47:47 -07:00
Igor Minar
bf88c5c9f8 build: configure angular-cli projects to use yarn by default ()
PR Close 
2018-04-04 17:47:47 -07:00
Igor Minar
1aebee42eb test: update cli-hello-world to @angular/cli@1.7.x ()
PR Close 
2018-04-04 17:47:47 -07:00
Igor Minar
b43f8bc7d3 feat(core): upgrade rxjs to 6.0.0-alpha.4 ()
PR Close 
2018-03-19 21:51:51 -07:00
Igor Minar
ce63dc6f95 feat: update the package output of build.sh to APF v6 ()
PR Close 
2018-03-18 09:33:51 -07:00
Igor Minar
912fe08756 test: improve ng build flags for cli-hello-world ()
Remove unnecessary --build-optimizer flag and add --sourcemaps flag to
generate source maps for better debugging.

PR Close 
2018-03-18 09:33:51 -07:00