Commit graph

1232 commits

Author SHA1 Message Date
Renovate Bot
4c9f35b2fb build: update dependency tsec to v0.1.10 (#43899)
PR Close #43899
2021-10-20 20:11:45 +00:00
Joey Perrott
a365a1f0ff build: rename "no-ivy-aot" tag to "view-engine-only" (#43862)
Using the tag "view-engine-only" better describes the expected usage of bazel targets with the test. They can
only be run with view engine.

PR Close #43862
2021-10-19 10:06:55 -07:00
Joey Perrott
6212a60dcb build: remove test-ivy-aot yarn script (#43862)
Since building with ViewEngine is not longer desired on CI, removing the ivy vs non-ivy testing yarn scripts
is done, informing developers to instead use `yarn test` as all tests should be run using the Ivy complier.

PR Close #43862
2021-10-19 10:06:55 -07:00
Joey Perrott
9f40d2a0ea ci: remove browserstack configuration (#43881)
Remove browserstack configuration from the repo as it is not used for our CI.

PR Close #43881
2021-10-18 15:00:22 -07:00
Renovate Bot
ba4e18b096 build: update all non-major dependencies (#43838)
PR Close #43838
2021-10-15 10:45:02 -07:00
Alan Agius
607f14db74 build: update rollup dependencies (#43737)
With this change we update `rollup` and remove the usage of no longer maintained `rollup-plugin-commonjs` and `rollup-plugin-node-resolve` plugins.

PR Close #43737
2021-10-13 16:56:42 +00:00
Joey Perrott
b5da715d9f build: update to cldr@39 (#43820)
Update repository to use cldr version 39 as it is the latest available.

PR Close #43820
2021-10-13 16:49:24 +00:00
Renovate Bot
49a0b60dc7 build: update dependency @rollup/plugin-commonjs to v21 (#43675)
PR Close #43675
2021-10-13 16:48:46 +00:00
Paul Gschwendtner
116877b4ed build: update karma-sauce-launcher to latest version with heartbeat to prevent idle timeout (#43659)
Updates the `karma-sauce-launcher` to the latest version that comes with
the heartbeat implemented. Whenever we create an instance of a browser
in Saucelabs, we need to send a Selenium command every X seconds as otherwise
Saucelabs will terminate the session due to it thinking the session is already
unused. This is especially a problem for Karma unit tests as there is no
selenium command at all, except for the initial one loading the Karma site.

The latest version of the launcher has implemented an interval that
dispatches a noop selenium command every X seconds to notify Saucelabs
that the instance is still active.

The current version of the launcher does not do that. This is likely
the source of some disconnects because after 10-13min, the SL browser
is terminated but Karma still waits some minute after realizing the
browser is actually disconnected.

We (the Angular team), contributed to that version in the past since
the heartbeat was very flaky.. and we removed it. With the new version
a lot has changed, the underlying Selenium client has changed so it's
worth trying again with the heartbeat re-implemented; it worked pretty
well so far in the COMP repo).

PR Close #43659
2021-10-11 16:41:28 +00:00
Renovate Bot
4c00e92023 build: update dependency @microsoft/api-extractor to v7.18.15 (#43771)
PR Close #43771
2021-10-08 20:42:42 +00:00
Joey Perrott
bbb91aae91 build: update to latest @angular/dev-infra-private (#43785)
Update to the latest version of the dev infra packages to allow for merging deprecations during the feature
freeze period.

PR Close #43785
2021-10-08 20:15:36 +00:00
Renovate Bot
35a1705595 build: update all non-major dependencies (#43760)
PR Close #43760
2021-10-07 20:56:11 +00:00
Renovate Bot
5b1b2fd2f9 build: update dependency google-closure-compiler to v20211006 (#43754)
PR Close #43754
2021-10-07 20:55:49 +00:00
Joey Perrott
e1c2fbd2af release: bump the next branch to v13.1.0-next.0 (#43752)
PR Close #43752
2021-10-06 18:26:29 -07:00
Dylan Hunn
0a0cc67c39 release: cut the v13.0.0-next.14 release (#43751)
PR Close #43751
2021-10-06 16:21:44 -07:00
Dylan Hunn
5d7229e6b6 release: cut the v13.0.0-next.13 release (#43741)
PR Close #43741
2021-10-06 11:50:36 -07:00
Paul Gschwendtner
e0a0d05d45 feat(core): update node version support range to support v16 (#43740)
This commit updates the `node` engines range for all Angular
framework packages to:

* No longer support NodeJS v12 `< 12.20`. This is done because APF v13
  uses package export patterns which are only supported as of v12.20.
  https://nodejs.org/api/packages.html#packages_subpath_patterns.

* Allows for the latest v16 NodeJS versions. This matches with the CLI
  which added NodeJS v16 support with https://github.com/angular/angular-cli/pull/21854.

  We already limit this to `>= v16.10.0` in preparation to only
  supporting the LTS minors of Node v16.

BREAKING CHANGE: NodeJS versions older than `v12.20.0` are no longer
supported due to the Angular packages using the NodeJS package exports
feature with subpath patterns.

PR Close #43740
2021-10-06 10:55:44 -07:00
Dylan Hunn
7acf3bece4 release: cut the v13.0.0-next.12 release (#43726)
PR Close #43726
2021-10-05 18:09:34 -07:00
Alan Agius
e7b647fc06 refactor(dev-infra): remove dependency on minimist (#43644)
Refactor scripts to use `yargs`. The main motivation for this is to align and use a single parser.

PR Close #43644
2021-10-04 17:31:03 -07:00
Dylan Hunn
dd0722fd1f release: cut the v13.0.0-next.11 release (#43707)
PR Close #43707
2021-10-04 17:23:50 -07:00
Renovate Bot
3d4432874c build: update dependency google-closure-compiler to v20210907 (#43398)
PR Close #43398
2021-10-04 16:33:13 -07:00
Joey Perrott
0d43148f58 build: update to the latest version of @angular/dev-infra-private (#43541)
Updates to the latest dev-infra version and updates the config as required.

PR Close #43541
2021-10-04 10:51:01 -07:00
Dylan Hunn
c721135e37 release: cut the v13.0.0-next.10 release (#43672)
PR Close #43672
2021-10-01 16:19:49 -04:00
Paul Gschwendtner
cebcfbe1d9 refactor: update yargs to new API for ESM compatibility (#43431)
Given that we ship all of compiler-cli and localize in ESM
mode now, we need to use a ESM compatible version of Yargs.
The latest version seems ESM compatible but with some small
API changes. This commit updates Yargs and updates the command
line option code to use the new API.

PR Close #43431
2021-10-01 18:28:45 +00:00
Paul Gschwendtner
8d7f1098d8 refactor: make all imports compatible with ESM/CJS output. (#43431)
As outlined in the previous commit which enabled the `esModuleInterop`
TypeScript compiler option, we need to update all namespace imports
for `typescript` to default imports. This is needed to allow for
TypeScript to be imported at runtime from an ES module.

Similar changes are needed for modules like `semver` where the types incorrectly
suggest named exports that will not exist at runtime when imported from ESM.

This commit refactors all imports to match with the lint rule we have
configured in the previous commit. See the previous commit for more
details on why certain imports have been changed.

A special case are the imports to `@babel/core` and `@babel/types`. For
these a special interop is needed as both default imports, or named
imports break the other module format. e.g default imports would work
well for ESM, but it breaks for CJS. For CJS, the named imports would
only work, but in ESM, only the default export exist. We work around
this for now until the devmode is using ESM as well (which would be
consistent with prodmode and gives us more valuable test results). More
details on the interop can be found in the `babel_core.ts` files (two
interops are needed for both localize/or the compiler-cli).

PR Close #43431
2021-10-01 18:28:45 +00:00
Paul Gschwendtner
090861b020 build: update to latest version Angular CLI supporting ESM package output (#43431)
The CLI has been updated with various changes to support for ESM package
output of the framework. This commit updates to a next version of the
CLI v13 that contains these necessary changes, allowing us to test/validate
our package changes through integration tests or AIO examples.

This update also contains a fix for the adjust enum babel optimization
that broke with the latest rollup version.

PR Close #43431
2021-10-01 18:28:44 +00:00
Paul Gschwendtner
ab390e49ac test: update i18n integration test to use Ivy (#43431)
Updates the i18n integration test to use Ivy in order to
work with the new Angular v13 package format.

PR Close #43431
2021-10-01 18:28:44 +00:00
Paul Gschwendtner
a47794272b test: update basic integration tests to work with new package output (#43431)
Basic integration tests are those which do not require significant
changes as others. The larger ones will have individual commits.

For v13, the NPM package output will always be using partial compilation
output. This makes the ngcc integration test fail because the actual
Angular framework packages are no longer processable. We fix this, and
keep the ngcc test coverage by relying on the v12.x framework packages
in the integration test.

The terser integration test needs to point to the new Flat ESM module
file location. We now output FESM2020 instead of FESM2015. This also
requires us to use the latest version of terser.

The `side-effects` test currently is not maintained by us and relies
on View Engine build output. In the partial compilation output the
partial declarations are not marked with `@PURE` and are not removed
therefore. We would need to update the side-effect test to use the
linker Babel plugin instead. This is currently out-of-scope though
so we disable the test for now.

PR Close #43431
2021-10-01 18:28:43 +00:00
Paul Gschwendtner
297237f981 test(compiler): use v12 view engine packages for compiler AOT test (#43431)
In preparation for the v13 Angular Package Format, where partial
declarations are emitted only, the AOT compiler test is updated
to rely on package artifacts from v12 instead. This allows us
to switch to the new package format without breaking the tests
which require metadata files to exist in the NPM packages.

PR Close #43431
2021-10-01 18:28:43 +00:00
Paul Gschwendtner
f87b7c1e65 build: install @bazel/esbuild used for ESM bundling of tools (#43431)
Installs `@bazel/esbuild` so that we can use it for bundling
of the `@angular/compiler-cli`.

PR Close #43431
2021-10-01 18:28:41 +00:00
Paul Gschwendtner
831ede8bf4 build: update bazel setup to latest dev-infra package and rules_nodejs v4.2.0 (#43431)
Updates the Bazel setup to the latest shared dev-infra package. Also the
rules_nodejs version is updated to v4.2.0. We have landed various
changes that prepare us for the APF v13 implementation. e.g.

* Ability to control the linker mappings for the `ng_package` rule. This
will become important for using a transition that could accidentally
cause linker mappings that would otheriwse conflict.
* Use of latest version of rollup & terser in the Bazel rules the
  dev-infra package exposes. This is necessary for ES2020 support.

PR Close #43431
2021-10-01 18:28:41 +00:00
Renovate Bot
d9b76e4b3d build: update all non-major dependencies (#43411)
PR Close #43411
2021-10-01 12:27:25 -04:00
Alex Rickabaugh
9d9d05911d release: cut the v13.0.0-next.9 release (#43656)
PR Close #43656
2021-09-30 13:23:26 -07:00
Kristiyan Kostadinov
f055a886f3 build: remove api-extractor workaround (#43563)
In #43281 I had to add a `resolutions`for `typescript` due to the `api-extractor` being locked down to an older version. Now that it has been updated, we don't need the workaround anymore.

PR Close #43563
2021-09-27 10:57:04 -07:00
Renovate Bot
6cac36acaf build: update dependency typescript to v4.4.3 (#43557)
PR Close #43557
2021-09-27 10:47:08 -07:00
Alex Rickabaugh
22eebbafbc release: cut the v13.0.0-next.8 release (#43613)
PR Close #43613
2021-09-27 10:27:54 -07:00
Alan Agius
880f021d96 build: update Angular tooling packages to 13.0.0-next.6 (#43417)
This is a followup on #43343

PR Close #43417
2021-09-24 10:49:39 -07:00
Kristiyan Kostadinov
ea61ec2562 feat(core): support TypeScript 4.4 (#43281)
Adds support for TypeScript 4.4. High-level overview of the changes made in this PR:

* Bumps the various packages to `typescript@4.4.2` and `tslib@2.3.0`.
* The `useUnknownInCatchVariables` compiler option has been disabled so that we don't have to cast error objects explicitly everywhere.
* TS now passes in a third argument to the `__spreadArray` call inside child class constructors. I had to update a couple of places in the runtime and ngcc to be able to pick up the calls correctly.
* TS now generates code like `(0, foo)(arg1, arg2)` for imported function calls. I had to update a few of our tests to account for it. See https://github.com/microsoft/TypeScript/pull/44624.
* Our `ngtsc` test setup calls the private `matchFiles` function from TS. I had to update our usage, because a new parameter was added.
* There was one place where we were setting the readonly `hasTrailingComma` property. I updated the usage to pass in the value when constructing the object instead.
* Some browser types were updated which meant that I had to resolve some trivial type errors.
* The downlevel decorators tranform was running into an issue where the Closure synthetic comments were being emitted twice. I've worked around it by recreating the class declaration node instead of cloning it.

PR Close #43281
2021-09-23 14:49:19 -07:00
Jessica Janiuk
49d29e1337
release: cut the v13.0.0-next.7 release (#43539) 2021-09-22 12:09:40 -07:00
Andrew Kushnir
5e9eb7abbd
release: cut the v13.0.0-next.6 release (#43464) 2021-09-15 10:37:18 -07:00
Pei Wang
006bf654b9 build: Upgrade tsec to 0.1.9 (#43108)
Upgrade tsec version form 0.1.8 to 0.1.9. The new version has a minor
bug fix.

PR Close #43108
2021-09-13 14:45:57 -07:00
Pei Wang
d12d068c37 build: Turn tsec checks into bazel tests. (#43108)
Introduce two new bazel rules: tsec_test and tsec_config, for
describing the tsec checks and the tsconfig file needed for such
checks, respectively. Currently, tsec_test only checks the srcs
of a ts_library or ng_module. It does not check direct or transitive
dependencies. Also, tsconfig files need to be manually maintained
to make sure tsec can read all necessary input (including global
symbols).

PR Close #43108
2021-09-13 14:45:57 -07:00
Pei Wang
509031c734 build: Enable tsec checks for critical packages. (#43108)
tsec is a static analyzer that discovers Trusted Types violations.
Deploy tsec to make sure there will be no TT regression in several
critical packages, including core, platform-browser, platform-server
and their dependencies. Existing violations have been reviewed and
exempted in packages/tsec-exemption.json. Future changes to the
exemption list requires security review.

PR Close #43108
2021-09-13 14:45:57 -07:00
Renovate Bot
75a3c778b1 build: update dependency karma to v6 (#43413)
PR Close #43413
2021-09-10 10:56:47 -07:00
Renovate Bot
4c307ad8d7 build: update dependency source-map-support to v0.5.20 (#43401)
PR Close #43401
2021-09-09 09:20:30 -07:00
Renovate Bot
66f13dade5 build: update all non-major dependencies (#43274)
PR Close #43274
2021-09-09 09:18:43 -07:00
Andrew Scott
93c9932d17
release: cut the v13.0.0-next.5 release (#43394) 2021-09-08 09:45:42 -07:00
Alan Agius
2e11be8c91 build: remove unused @types/node-fetch package (#43345)
This package is no longer needed.

PR Close #43345
2021-09-07 21:24:41 +00:00
Renovate Bot
2be0505334 build: update dependency @types/inquirer to v8 (#43371)
PR Close #43371
2021-09-07 18:44:20 +00:00
Paul Gschwendtner
5472c28fa1 build: check .ng-dev tool configuration in CI (#43322)
Checks the `.ng-dev` tool configuration in CI, compared
to doing it locally when the caretaker intends to perform
a merge and then realizes the config is broken.

PR Close #43322
2021-09-02 21:18:36 +00:00