215 Commits

Author SHA1 Message Date
Charles Lyding
e588e84160 test: remove node-fetch package usage
Native fetch support is now available in Node.js and the `node-fetch` package can now be removed.
2023-10-31 08:57:42 +01:00
Alan Agius
6b2b5191ca ci: add node.js 20 setup
Run tests on Node.js 20
2023-10-30 12:28:00 +01:00
Charles Lyding
f7130ef639 build: disable inline sourcemap generation
The built packages that will be published on npm previously contained inlined
sourcemaps for every JavaScript file. This caused a significant increase in the
overall package size of over two times larger. This has a negative effect on
developer experience especially the new project experience due to the increase
time to download and setup a new project. The sourcemaps are also rarely used
as debugging the CLI code itself is typically done with development builds.
The generated code is also very close to the original source due to it being
emitted as ES2022 code and with the eventual switch to ESM output this will
become even closer.
As an example of the size difference, the `@angular/cli` compressed package size
was reduced from ~352Kb to ~115Kb with this change.
2023-10-25 12:52:14 +02:00
Charles Lyding
0811f641b3 build: update package output to use ES2022
The JavaScript generated for the published packages is now using ES2022.
This removes additional downleveling of code that was previously necessary
to use newer features.
The minimum Node.js version of 18.13 provides support for the needed features.
While this change does require a patch to `@bazel/concatjs` to allow the target
to be set to `ES2022`, this patch is now already required by the migration of
the universal repository into the CLI repository.
2023-09-08 10:19:37 -07:00
Angular Robot
e8240d7197 build: update dependency jasmine to v5 2023-08-30 17:02:00 +02:00
Charles Lyding
a00b21afdf build: use bazel ts_library rule to build @angular/ssr
The `@angular/ssr` package does not require the Angular compiler and can instead use the
`ts_library` to compile the TypeScript code.  The `@angular/bazel` package has also been
update and a more limited patch is now used due to only needing the `ng_package` rule.
The continued use of the `ng_package` rule maintains the existing output structure for the
`@angular/ssr` package.
2023-08-30 09:08:18 +02:00
Alan Agius
3fe432c71b refactor: update code to integrate universal repo
This commit updates the moved universal code into the cli pipeline
2023-08-22 20:44:53 +00:00
Alan Agius
8fe8cdf05a refactor: move universal code into CLI repo
Merge remote-tracking branch 'universal/move-to-cli' into universal-merge
2023-08-16 11:34:47 +00:00
Alan Agius
e6ce7f8414 refactor: prepare code for CLI move 2023-08-16 09:55:58 +00:00
Charles Lyding
5bf7022c47 fix(@angular-devkit/build-angular): remove support for Node.js v16
BREAKING CHANGE: Node.js v16 support has been removed

Node.js v16 is planned to be End-of-Life on 2023-09-11. Angular will stop supporting Node.js v16 in Angular v17.
For Node.js release schedule details, please see: https://github.com/nodejs/release#release-schedule
2023-08-14 10:57:54 +02:00
alkavats1
fff6a4144d docs: removed the duplicate words 2023-06-09 15:02:34 +02:00
Alan Agius
82e643defb build: build packages in APF version 16 format
This commit update tooling to generate APF version 16 distributables.
2023-04-12 14:12:51 +02:00
Alan Agius
4eaf107305 build: update minimum supported Node version from 16.13.0 -> 16.14.0
This commit updates the minimum supported Node version across packages from 16.13.0 -> 16.14.0 to ensure compatibility with dependencies.
2023-04-11 16:46:10 +00:00
Charles Lyding
2a902691f5 build: update output target to ES2020
The minimum supported Node.js version is now v16.13. This version provides
full support for ES2020 allowing the output code target to be increased.
While Node.js v16.13 supports higher ECMAScript versions, a limitation of
the bazel `ts_library` rule currently prevents increasing further at this time.
2023-02-16 18:03:43 +00:00
Charles Lyding
c29c8e18d8 refactor(@angular/cli): remove Node.js v14 support
BREAKING CHANGE: Node.js v14 support has been removed

Node.js v14 is planned to be End-of-Life on 2023-04-30. Angular will stop supporting Node.js v14 in Angular v16.
Angular v16 will continue to officially support Node.js versions v16 and v18.
2023-02-16 14:08:24 +00:00
Alan Agius
150e530239 ci: enable E2E tests on multiple node versions
This commit sets ups Node 18 tool chain and also configures E2E tests to use multiple tools chains to retain the same behaviour prior to switching the e2e tests to Bazel.
2023-02-13 14:14:13 +00:00
Jason Bedard
fac1e58b73
run e2e tests under bazel (#24338)
* test: run legacy-cli e2e tests via bazel

* fixup! test: run legacy-cli e2e tests via bazel

* fixup! test: run legacy-cli e2e tests via bazel

* fixup! test: run legacy-cli e2e tests via bazel
2023-02-03 07:52:28 +00:00
Alan Agius
4e5d39e88a build: update dev-infra packages
This is to address `error Couldn't find match for "6cdf0f2153298b828934373cc068b6a0f9dcf098" in "refs/heads/main" for "https://github.com/angular/dev-infra-private-build-tooling-builds.git".` and `error Couldn't find match for "301673f54ebe816bbcf13fe503de105c5e5a6a9c" in "refs/heads/main" for "https://github.com/angular/dev-infra-private-ng-dev-builds.git"`

We also update the the stamping keys to match the changes in dev-infra.
2023-01-13 14:34:57 +01:00
Alan Agius
89b9d9492a build: update dev-infra packages
This is to address `error Couldn't find match for "6cdf0f2153298b828934373cc068b6a0f9dcf098" in "refs/heads/main" for "https://github.com/angular/dev-infra-private-build-tooling-builds.git".` and `error Couldn't find match for "301673f54ebe816bbcf13fe503de105c5e5a6a9c" in "refs/heads/main" for "https://github.com/angular/dev-infra-private-ng-dev-builds.git"`

We also update the the stamping keys to match the changes in dev-infra.
2023-01-13 12:56:06 +00:00
Alan Agius
6ce48e445d build: remove defaults.bzl version in favor of version in package.json
This is so that version updates are managed by renovate bot.
2023-01-12 10:29:41 +01:00
Jason Bedard
14a95d8eb9 build: update bazel pkg tars to .tgz file extension 2022-11-29 13:31:39 +00:00
Alan Agius
b6f4b54ace Revert "build: update bazel pkg tars to .tgz file extension"
This reverts commit f3fd1e4ed86a940bd10cea8e386c86dbc117037d.
2022-11-28 15:25:48 +00:00
Alan Agius
2589df0be1 Revert "test: run legacy-cli e2e tests via bazel"
This reverts commit 794e33ae72c15a628f308260020bc4da608c4996.
2022-11-28 15:25:48 +00:00
Jason Bedard
794e33ae72 test: run legacy-cli e2e tests via bazel 2022-11-28 13:39:15 +00:00
Jason Bedard
f3fd1e4ed8 build: update bazel pkg tars to .tgz file extension 2022-11-28 13:39:15 +00:00
Alan Agius
47b42e6d0f build: remove "--bazel_patch_module_resolver" from jasmine_node_test
This is needed as otherwise `@angular/platform-server` is not resolved correctly.
2022-10-12 15:47:59 +02:00
Alan Agius
58a6b96f7d build: update to Angular 15 2022-10-11 16:33:27 +02:00
Alan Agius
4827d1b23e feat(@angular/cli): add support for Node.js version 18
Pacote version 14 does requires `14.17.x` or `16.13.x`.

BREAKING CHANGE: The Angular CLI  no longer supports `16.10.x`, `16.11.x` and `16.12.x`. Current supported versions of Node.js are `14.20.x`, `16.13.x` and `18.10.x`.
2022-10-07 11:34:43 -04:00
Alan Agius
4b623461a4 feat(@angular/cli): drop support for Node.js versions older than 14.20
Node.js 14.20 and newer support generating UUID using the crypto module. See: https://nodejs.org/docs/latest-v14.x/api/crypto.html#crypto_crypto_randomuuid_options

BREAKING CHANGE: Node.js versions older than 14.20 are no longer supported.
2022-10-04 11:28:43 -04:00
Paul Gschwendtner
d829d73f18 build: use shared circleci dev-infra for common circleci code
This allows us to remove the `rebase-pr.js` script
so that we can maintain this script in a single place.
2022-09-21 12:30:56 -04:00
Jason Bedard
4de9045de8 test: unit test multiple node versions in separate jobs 2022-09-14 10:43:17 -07:00
Alan Agius
898a0c7933 build: update Angular to version 14.2 and TypeScript to 4.8 2022-09-01 20:45:57 +02:00
Charles Lyding
e402c2358c build: adjust BUILD file external comment markers
Improvements to the syncing process allow for reduced usage of the comment markers.
2022-08-31 08:37:19 -04:00
Alan Agius
167887d5f1 build: disable UT testing multiple node versions
With this change we disable running UTs on multiple node.js versions. This is mainly an interim solution until we find the root cause of the memory increase and OOM errors during bazel test.

During this change I also noticed that the toolchain was configured incorrectly. Setting the toolchain to use Node.js 16 causes the App-shell tests to fail when used under Bazel. See: https://app.circleci.com/pipelines/github/angular/angular-cli/25009/workflows/4ea86ec8-d1f7-4c91-8810-76f10f8e878c/jobs/325982
2022-08-09 13:01:08 -04:00
Jason Bedard
db5c1fc13c test: run tests on multiple node versions 2022-08-03 10:33:46 -07:00
Alan Agius
c417802808 build: update aspect_bazel_lib to 1.8.1 2022-07-29 11:00:45 +02:00
Paul Gschwendtner
96d39f8f3a build: use rbe platform with network from shared dev-infra build tooling
This avoids having to manually declare the `platform`. We specifically
added support for the network platform due to the CLI needs.

The CLI repository should long-term set
`--sandbox_default_allow_network=false` in the `bazelrc` so that
internet access is only granted targets explicitly. We should discourage
reliance on internet as much as possible to help with hermetic tests.
2022-07-27 12:35:15 +02:00
Paul Gschwendtner
087ab46ca9 build: update dev-infra packages and account for build-tooling split from ng-dev
The dev-infra build tooling is now decoupled from `ng-dev`. This will
make it easier to update `ng-dev` without necessarily needing to upgrade
the whole build system, Bazel etc. This is useful when e.g. new release
tool features have been added and should also be ported to active LTS
branches.
2022-07-27 12:35:15 +02:00
Derek Cormier
58612663b2 build: fix snapshot build package.json substitution
This was relying on undocumented behaviour in copy_to_directory which
now needs to be enabled with a flag.
2022-07-18 15:30:04 -04:00
Alan Agius
93ba050b0c fix(@angular/cli): show deprecated workspace config options in IDE
With this change deprecated options in angular.json will be visible in the IDE.
2022-06-30 10:03:44 -04:00
Alan Agius
697fe6d64e build: update angular packages to 14.1.0-next 2022-06-15 09:11:54 +02:00
Jason Bedard
9efa38106d build: add legaci-cli e2e bazel build 2022-06-06 15:38:01 -04:00
Renovate Bot
e4ad8a43c1 build: update angular 2022-05-03 08:56:05 +02:00
Alan Agius
4b4e346646 build: update bazel 2022-04-14 17:14:21 +02:00
Charles Lyding
f13db1da47 build: update bazel rules_nodejs to v5.3.0
The `check_bazel_version` and `check_rules_nodejs_version` calls have also been removed from the WORKSPACE file as they are no longer supported or recommended by `rules_nodejs`.
2022-03-24 07:04:50 +01:00
Alan Agius
f4bbd5ac3c build: update to TypeScript 4.6 2022-03-17 20:33:10 +01:00
Alan Agius
2a84fe03cf refactor: remove deprecated engines
BREAKING CHANGE:

Deprecated `@nguniversal/aspnetcore-engine`, `@nguniversal/hapi-engine` and `@nguniversal/socket-engine` has been removed in favor of `@nguniversal/common`.

Closes #1232, closes #750 and closes #1454
2022-03-07 14:50:29 +01:00
Alan Agius
4ebfe03415 feat(@angular/cli): drop support for Node.js 12
Node.js v12 will become EOL on 2022-04-30. As a result, Angular CLI v14 will no longer support Node.js v12.

BREAKING CHANGE:

Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later.
2022-03-04 22:38:45 +01:00
Derek Cormier
82971c786f build: use bazel for snapshot builds 2022-02-01 17:17:42 -08:00
Derek Cormier
043fbf0054 build: substitute snapshot repo dependencies in snapshot builds 2022-01-21 12:50:53 +01:00