Rather than bumping up the allowed version of yarn on each release
we should instead just allow for anything within the major version
1 range.
PR Close#34236
Currently this repo allows Yarn between 1.17.3 and 1.18.0, whereas the components repo requires a minimum of 1.19.1 which makes it annoying to switch between repositories. These changes bump the maximum allowed Yarn version.
PR Close#33430
The `setup-local` scripts (and others that are based on it, such as
`setup-local-viewengine`), mainly does two things: Replace the Angular
packages with the locally built ones for `aio/` and the docs examples
(`aio/tools/examples/shared/`). It does this by calling two other npm
scripts: `aio-use-local` and `example-use-local` respectively.
For these scripts to work, the local Angular packages must be already
built (via `scripts/build-packages-dist.sh`). In order to make it easier
for people to test against local packages, the scripts support a
`--build-packages` option, that (if passed) will result in building the
local packages as well.
Given that the same local packages are used for both `aio/` and the
examples, we only need to build the packages once. Also, to speed up
execution on CI, we do not need to build the packages there, because the
packages would have been built already in a previous CI job.
However, the various setup npm scripts were not implemented correctly to
meet these requirements. Specifically, when running locally,
`aio-use-local` would build the packages, while `example-use-local`
would not (it was supposed to use the already built packages from
`aio-use-local`). The `example-use-local` script, though, was configured
to run before `aio-use-local`. As a result, the packages were not built,
by the time `example-use-local` needed them, which would cause an error.
This commit fixes it by ensuring that `aio-use-local` (which builds the
local Angular packages) runs before `example-use-local`, so that the
latter can use the same packages already built by the former.
PR Close#33206
The `setup-local` scripts (and others that are based on it, such as
`setup-local-viewengine`), mainly does two things: Replace the Angular
packages with the locally built ones for `aio/` and the docs examples
(`aio/tools/examples/shared/`). It does this by calling two other npm
scripts: `aio-use-local` and `example-use-local` respectively.
For these scripts to work, the local Angular packages must be already
built (via `scripts/build-packages-dist.sh`). In order to make it easier
for people to test against local packages, the scripts support a
`--build-packages` option, that (if passed) will result in building the
local packages as well.
Given that the same local packages are used for both `aio/` and the
examples, we only need to build the packages once. Also, to speed up
execution on CI, we do not need to build the packages there, because the
packages would have been built already in a previous CI job.
However, the various setup npm scripts were not implemented correctly to
meet these requirements. Specifically, when running locally,
`aio-use-local` would build the packages, while `example-use-local`
would not (it was supposed to use the already built packages from
`aio-use-local`). The `example-use-local` script, though, was configured
to run before `aio-use-local`. As a result, the packages were not built,
by the time `example-use-local` needed them, which would cause an error.
This commit fixes it by ensuring that `aio-use-local` (which builds the
local Angular packages) runs before `example-use-local`, so that the
latter can use the same packages already built by the former.
PR Close#33206
The latest terser version (4.3.8) includes a fix for the recent size
regression, so we can remove the pinning of transitive `terser`
dependencies to 4.3.2 (via `package.json > resolutions`).
PR Close#32980
The payload size increase in the ES5 bundles is (at least partially)
expected, due to fixing some down-leveling corner cases.
Related CLI issue: angular/angular-cli#15673
PR Close#32980
Upgrading to @angular/material 9.0.0-next.0 increases the bundle size
slightly (~1.3KB). This is a natural expectation of library
fixes/improvements.
PR Close#32980
This commit includes the following types of changes:
- Remove unused dependencies.
- Move dev dependencies from `devDependencies` to `dependencies` (and
vice versa for production dependencies).
- Update `@types/*`.
- Update dependencies to more closely match the dependencies installed
by the latest CLI for new apps.
Also, ensured that the latest version of `webdriver-manager` (v12.1.7)
was installed for `protractor`, which correctly installs a ChromeDriver
version that is compatible with the latest version of Chrome.
PR Close#32980
The angular.io project uses Angular and CLI v9, which by default turns
on Ivy mode. However, since ec4381dd4, we explicitly opt out of Ivy.
This commit removes the `enabledIvy: false` configuration, thus allowing
the default behavior of having Ivy on.
NOTE:
This commit only changes the angular.io projects. The docs examples need
to be updated separately (first to Angular and CLI v9 and then to Ivy).
PR Close#32923
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. #31699, 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 #31660
PR Close#31975
The `setup-local` npm script uses `NgPackagesInstaller` to replace the
Angular packages with the locally built ones. Previously, it would (a)
assume that the packages were built and (b) it would do anything if the
currently installed versions already correspond to locally built
packages (even if not the latest version).
This could lead to all sorts of errors, such as:
- Confusing error messages, `dist/packages-dist/` was missing.
- Using outdated build artifacts from `dist/packages-dist/` without a
warning.
- Not installing the latest locally built packages, because the ones
installed already corresponded to locally built (but older) ones.
This commit fixes these issues by ensuring that:
- The local packages are always built before being used by
`NgPackagesInstaller`.
- The local packages are installed, even if the ones install already
correspond to local packages.
NOTE: Special `*-ci` scripts are introduced (for use on CI) that skip
building the local packages, since that step would have been taken
care of (in a more efficient way) in a previous CI step.
PR Close#31985