34225 Commits

Author SHA1 Message Date
Kristiyan Kostadinov a6b7b9b8c5 perf(compiler): reduce allocations for let declarations only used in the same view (#60512)
We have some code that avoids `storeLet` calls for declarations only used in the same view, however we didn't previously remove the corresponding `declareLet` calls, because of the following case:

```
@let foo = something$ | async; <!-- First in the template -->
{{foo}}
```

Here we need a `TNode` (created by `declareLet`) in order for DI to work correctly. Since this is only required when using pipes, we can optimize away expressions that do not have pipes.

PR Close #60512
2025-05-13 16:31:38 -07:00
Paul Gschwendtner 810b0a7e5c refactor: add explicit types for exports relying on inferred call return type (#61312)
As part of the Bazel toolchain migration we noticed that implicit types
generated by the TypeScript compiler sometimes end up referencing types
from other packages (i.e. cross-package imports).

These imports currently work just because the Bazel `ts_library` and
`ng_module` rules automatically inserted a `<amd-module
name="@angular/x" />` into `.d.ts` of packages. This helped TS figure
out how to import a given file. Notably this is custom logic that is not
occuring in vanilla TS or Angular compilations—so we will drop this
magic as part of the toolchain cleanup!

To improve code quality and keep the existing behavior working, we are
doing the following:

- adding a lint rule that reduces the risk of such imports breaking. The
  failure scenario without the rule is that API goldens show unexpected
  diffs, and types might be duplicated in a different package!

- keeping the `<amd-module` headers, but we manually insert them into
  the package entry-points. This should ensure we don't regress
  anywhere; while we also improved general safety around this above.

Long-term, isolated declarations or a lint rule from eslint-typescript
can make this even more robust.

PR Close #61312
2025-05-13 22:45:18 +00:00
Matthieu Riegler dd25f3d20f refactor(core): remove USE_RUNTIME_DEPS_TRACKER_FOR_JIT flag. (#61265)
The code has been migrated in G3, this flag is no longer necessary.

PR Close #61265
2025-05-13 15:22:18 -07:00
Alan Agius b4c383b274 build: do not auto install peer dependencies (#61294)
Avoid pnpm auto-installing peer dependencies. We want to be explicit about our versions used for peer dependencies, avoiding potential mismatches. In addition, it ensures we can continue to rely on peer dependency placeholders substituted via Bazel.

PR Close #61294
2025-05-13 08:55:42 +00:00
Alan Agius 9085134474 ci: disable updates for @angular/build-tooling (#61294)
This package requires some work to be updated.

PR Close #61294
2025-05-13 08:55:42 +00:00
Alan Agius cda963600f ci: refactor renovate config to use dev-infra preset (#61268)
This change uses the dev-infra preset.

PR Close #61268
2025-05-12 15:36:32 -07:00
Kristiyan Kostadinov 4dc7136c49 refactor(migrations): remove unused code (#61260)
The `waitForAsync` rule has been disabled internally which allows us to delete its code, as well as some unused adjacent code.

PR Close #61260
2025-05-12 15:34:07 -07:00
Andrew Scott 1755e09d0a refactor(docs-infra): Clean up embedded editor code (#61242)
This commit cleans up the embedded editor code quite a bit by making
better use of current signal APIs

PR Close #61242
2025-05-12 15:32:25 -07:00
Kristiyan Kostadinov fa27b76339 refactor(language-service): initial reference and rename implementation for selectorless (#61240)
Adds an initial implementation for finding references and renaming to selectorless components/directives.

Finding references should work everywhere, whereas renaming only currently works when initiated from the template.

PR Close #61240
2025-05-12 15:31:45 -07:00
Kristiyan Kostadinov f074c30616 refactor(language-service): support quick info selectorless symbols (#61240)
Updates the language service to produce quick info for selectorless components and directives.

PR Close #61240
2025-05-12 15:31:45 -07:00
Kristiyan Kostadinov cec512fdfd refactor(language-service): support definitions for selectorless (#61240)
Updates the language service to handle producing definition information for selectorless components and directives.

PR Close #61240
2025-05-12 15:31:45 -07:00
Kristiyan Kostadinov c69dda61c2 refactor(language-service): set up template targets for selectorless (#61240)
Adds the logic to resolve the template targets for the selectorless component and directive nodes. This is a prerequisite for other functionality.

PR Close #61240
2025-05-12 15:31:45 -07:00
Kristiyan Kostadinov 109e49c31e refactor(compiler-cli): produce template symbols for selectorless nodes (#61240)
Updates the template type checker to produce symbols for selectorless nodes. This is necessary for integration into the language service.

PR Close #61240
2025-05-12 15:31:45 -07:00
Kristiyan Kostadinov c439d6938d fix(compiler-cli): symbol builder duplicating host directives (#61240)
The template symbol builder works by finding the variables referring to template AST nodes with specific offsets and resolving them to directives. Afterwards it goes through the directives and resolves their host directives.

The problem is that host directives are added with the exact same offsets as their host which means they get added once initially and again when resolving host directives.

These changes resolve the issue by de-duplicating them.

PR Close #61240
2025-05-12 15:31:44 -07:00
Angular Robot 8f9a21ae6f build: update cross-repo angular dependencies (#61234)
See associated pull request for more information.

PR Close #61234
2025-05-12 15:30:57 -07:00
Joey Perrott 70f2031527 build: migrate service-worker package to use ts_project (#61226)
Migrate the package to using rules_js

PR Close #61226
2025-05-12 15:29:28 -07:00
Charles Lyding f03ff5acf9 fix(compiler-cli): avoid fatal diagnostics for invalid module schemas (#61220)
In the event of an invalid `schemas` field for an Angular module, an
empty schema array will now be used instead of a fatal error occurring.
A build will still fail in this case with the error reported as a
diagnostic. However, for the language service, this allows the module
to exist in the compiler registry and prevents cascading diagnostics
within an IDE due to "missing" modules/components. The originating
schema related errors will still be reported in the IDE.

PR Close #61220
2025-05-12 15:28:45 -07:00
Matthieu Riegler ba38e1c301 docs(docs-infra): preselect search text on re-open (#61129)
PR Close #61129
2025-05-12 15:25:50 -07:00
Andrew Scott 3c9b8d9de5 refactor(docs-infra): Remove rethrowing error handler (#61243)
This is no longer necessary since the work in the FW to rethrow in the
TestBed error handler.

PR Close #61243
2025-05-09 10:40:14 -07:00
Jens Kuehlers 9fb0fc84dc docs: change supported versions when v20 releases (#61238)
PR Close #61238
2025-05-09 10:33:35 -07:00
Alan Agius a5f016541b refactor: remove redundant renovate setting (#61232)
Remove `pinDigests` as we do update docker images.

PR Close #61232
2025-05-09 10:32:56 -07:00
Matthieu Riegler fd5a92d3e0 build: force resolution of @angular/core to recent version (#61128)
This intends to fix the Angular Language service issues for devtools/adev because it pulls the version from the node_modules and it currently is 14.3.0.

PR Close #61128
2025-05-09 10:30:16 -07:00
Matthieu Riegler 3eeea56ba0 refactor(core): remove compileComponents invocations (#61032)
Those weren't necessary.

PR Close #61032
2025-05-09 10:27:14 -07:00
Hakeem 108043fa76 docs(docs-infra): limit the flexible width of the main content for better UX (#58831)
PR Close #58831
2025-05-09 10:24:13 -07:00
ahmadhakeem18 20fdeab612 docs(docs-infra): fix the global layout of the site (#58831)
take the full width of the page for all the pages that use docs-viewer, also reserve an area for table of contents on-demand

Resolves: #52648

PR Close #58831
2025-05-09 10:24:13 -07:00
Miles Malerba c0e9fc103f docs: rename @nodoc to @docs-private (#61194)
This aligns with how angular/components marks their hidden APIs.
`@nodoc` has been broken since the switch to adev, this change should
properly hide the APIs again.

PR Close #61194
2025-05-09 10:23:00 -07:00
Joey Perrott 12a5b7bb86 build: migrate upgrade package to use ts_project (#61245)
Migrate the package to using rules_js

PR Close #61245
2025-05-09 16:43:04 +00:00
Joey Perrott 5f1c08d75f build: migrate adev shared-docs package to use ts_project (#61193)
Migrate the build rules for shared docs to use ts_project

PR Close #61193
2025-05-09 16:30:05 +00:00
Paul Gschwendtner d02165d639 build: remove unused debugging leftover from RBE investigation (#61181)
This log output doesn't provide any benefit anymore, so we can remove
it.

PR Close #61181
2025-05-09 15:59:46 +00:00
Paul Gschwendtner 10bc80a788 build: migrate compiler-cli/src/ngtsc to ts_project (#61181)
Migrates all of `compiler-cli/src/ngtsc` to `ts_project`. This change
was generated using Gemini.

PR Close #61181
2025-05-09 15:59:46 +00:00
Paul Gschwendtner 81566ec1dc build: migrate manual_api_docs to rules_js (#61181)
Migrates `manual_api_docs` to `rules_js`. Since compiler CLI is ESM
compiled but doesn't have extensions, we can either bundle or simply use
the dependency as type only. This is easier and sufficient for this
use-case.

PR Close #61181
2025-05-09 15:59:46 +00:00
Paul Gschwendtner 32c4792667 build: migrate compiler-cli/src/ngtsc/docs to ts_project (#61181)
Migrates `compiler-cli/src/ngtsc/docs` to `ts_project`.

PR Close #61181
2025-05-09 15:59:46 +00:00
Paul Gschwendtner 54e785683a build: prepare for compiler-cli to be using ts_project (#61181)
Prepare the compiler-cli package for being ready for migration
to `ts_project`.

PR Close #61181
2025-05-09 15:59:46 +00:00
Alan Agius 83c22ec904 ci: restore .npmrc before executing postUpgradeTasks (#61239)
Renovate temporarily modifies the `.npmrc` file during its operations and reverts these changes afterward. However, during `postUpgradeTasks`, the non reverted `.npmrc` will lead to errors when running `yarn bazel sync --only=repo`

See: https://github.com/renovatebot/renovate/discussions/14897

PR Close #61239
2025-05-09 14:25:49 +00:00
Paul Gschwendtner c8dfe6da34 ci: ensure pnpm-lock file and aspect lock files are up-to-date (#61224)
Ensures that the pnpm lock file and Aspect lock files are up-to-date
in PRs.

PR Close #61224
2025-05-09 11:54:38 +02:00
Paul Gschwendtner 838ad545af build: update pnpm-lock file and aspect lock files (#61224)
These files apparently need an update. Likely `main` is not properly
updated.

PR Close #61224
2025-05-09 11:54:38 +02:00
Alan Agius db06708e5e ci: update workflow to clone repo with history (#61223)
Tentative fix for:
```
Adding upstream remote: ***github.com/angular-robot/angular.git
origin	https://github.com/angular/angular (fetch)
origin	https://github.com/angular/angular (push)
upstream	***github.com/angular-robot/angular.git (fetch)
upstream	***github.com/angular-robot/angular.git (push)
Pushing 19.2.x from origin to angular-robot upstream...
To https://github.com/angular-robot/angular.git
 ! [rejected]        19.2.x -> 19.2.x (stale info)
error: failed to push some refs to 'https://github.com/angular-robot/angular.git'
```

PR Close #61223
2025-05-08 11:56:57 -07:00
Alan Agius adffb2ec82 ci: use --force-with-lease when pushing to remote branch (#61222)
Tentative fix for:
```
! [rejected]        20.0.x -> 20.0.x (fetch first)
error: failed to push some refs to 'https://github.com/angular-robot/angular.git'
```

PR Close #61222
2025-05-08 11:33:44 -07:00
Tom Adler 11727ddff4 docs: update the description of example (#61205)
PR Close #61205
2025-05-08 09:56:59 -07:00
Angular Robot f7e4541b8f build: update cross-repo angular dependencies (#61164)
See associated pull request for more information.

PR Close #61164
2025-05-08 09:54:57 -07:00
Vlad Boisa b3bb2a16f2 docs: swap the anchor to the correct one (#61200)
The anchor on the link - is not working, swap the anchor to the correct one
PR Close #61200
2025-05-08 09:43:30 -07:00
Miles Malerba c49d206dd6 ci: fix typo in update-cdk-apis job and mark it for megre (#61195)
Updates the name which accidentally remained unchanged from when I
copied it from the CLI help script

Also marks the PR for merge immediately. The caretaker can sanity check
it, approve it, and merge it.

PR Close #61195
2025-05-08 09:42:51 -07:00
Tom Adler a8062edcfa docs: update descriptions of examples (#61207)
PR Close #61207
2025-05-08 09:40:19 -07:00
Joey Perrott e2c763a12c build: migrate adev devtools package to use ts_project (#61210)
Migrate usages to ts_project

PR Close #61210
2025-05-08 09:38:30 -07:00
Alan Agius 0f99d63060 ci: fix step name (#61213)
This fixes the name of the step which was previously incorrect

PR Close #61213
2025-05-08 09:27:02 -07:00
Alan Agius 0f0eec581c ci: restrict cross-repo updates to follow only the next tag on main (#61215)
Limits automated cross-repo updates to only follow the 'next' tag when operating on the main branch. This helps avoid unintended updates from other tags and ensures a controlled release process.

PR Close #61215
2025-05-08 09:25:34 -07:00
Alan Agius 66753dcdc0 ci: use bash syntax for CURRENT_BRANCH in GitHub Actions (#61212)
Replaces incorrect use of GitHub Actions expression syntax `${{CURRENT_BRANCH }}` inside a run block with proper bash variablesyntax `$CURRENT_BRANCH`, preventing 'Unrecognized named-value' errors.

PR Close #61212
2025-05-08 16:32:42 +02:00
Alan Agius 6f4307faf3 ci: remove redundant dash in workflow file (#61206)
This appears to the reason why the workflow is erroring out that each step is required to have `uses` or `run`
PR Close #61206
2025-05-08 14:41:31 +02:00
Alan Agius 50993be218 ci: add workflow to sync non-default branches (#61201)
This workflow addresses a limitation with Renovate's behavior in fork mode.  Renovate does not automatically sync non-default branches in forked repositories.

This workflow automates syncing forked non-default branches with their upstream counterparts.  This ensures Renovate can detect and apply updates to these branches, maintaining up-to-date dependencies across all relevant branches.

PR Close #61201
2025-05-08 13:29:53 +02:00
Kristiyan Kostadinov 0558575d0a refactor(compiler-cli): do not resolve selectorless references from variables (#61158)
Based on some recent discussions, these changes remove the logic that resolves selectorless references from variables. It also updates the wording so it's clearer where selectorless references are supported.

PR Close #61158
2025-05-08 07:11:37 +02:00