Commit graph

33606 commits

Author SHA1 Message Date
Kristiyan Kostadinov
a40abf09f1 build: fix failing test (#62214)
Fixes a test that's failing, because a few PRs landed at the same time.

PR Close #62214
2025-06-23 15:38:18 +02:00
Kristiyan Kostadinov
d25a6a0120 fix(compiler-cli): handle initializer APIs wrapped in type casts (#62203)
Fixes that the logic recognizing initializer APIs didn't account for the expression being wrapped in an `as` expresion or in a parenthesized expression. This was already accounted for in the diagnostic so these changes align the behavior between them.

Fixes #62197.

PR Close #62203
2025-06-23 14:26:05 +02:00
Kristiyan Kostadinov
223279eaf5 refactor(compiler): remove TranslationParseError (#62160)
Replaces the `TranslationParseError` with `ParseError` since it wasn't adding much on top of `ParseError`.

PR Close #62160
2025-06-23 14:25:28 +02:00
Kristiyan Kostadinov
d1cb44d60a refactor(compiler): remove I18nError (#62160)
Removes the `I18nError` class since it wasn't being used for anything aside from a wrapper.

PR Close #62160
2025-06-23 14:25:28 +02:00
Kristiyan Kostadinov
982f90ff35 refactor(compiler): remove TokenError (#62160)
Replaces the `TokenError` class with `ParseError` to reduce the number of error classes we need to maintain.

PR Close #62160
2025-06-23 14:25:28 +02:00
Kristiyan Kostadinov
bcde744e0a refactor(compiler): remove _ControlFlowError (#62160)
Removes the `_ControlFlowError`, because its name is confusing and it's just a wrapper around `TokenError`.

PR Close #62160
2025-06-23 14:25:28 +02:00
Kristiyan Kostadinov
5e9707dc84 refactor(compiler): consolidate error classes (#62160)
Currently we have a `ParserError` that is used for the expression parser and a `ParseError` that is used everywhere else. These changes consolidate them into the `ParseError` to avoid confusion and make it easier to add more context in the future.

PR Close #62160
2025-06-23 14:25:28 +02:00
Kristiyan Kostadinov
3eee19d892 fix(core): unable to retrieve defer blocks in tests when component injects ViewContainerRef (#62156)
Fixes that `getDeferBlocks` wasn't accounting for the case where a component might be injecting `ViewContainerRef`. When that happens, an additional wrapper is introduced that needs to be accounted for when traversing the tree.

Fixes #62047.

PR Close #62156
2025-06-23 14:24:46 +02:00
Kristiyan Kostadinov
6b5e6b7ff7 refactor(compiler): always generate DOM-only templates for blocks (#62096)
Block templates can't have directives so we can always generate them as DOM-only.

PR Close #62096
2025-06-23 14:24:09 +02:00
Kristiyan Kostadinov
2b4b98ded6 refactor(compiler): produce DOM-only instructions (#62096)
Reworks the compiler so that it produces DOM-only instructions and updates the relevant tests.

PR Close #62096
2025-06-23 14:24:09 +02:00
Kristiyan Kostadinov
3afd3046d7 refactor(compiler): track whether component has directive dependencies (#62096)
Adds a field to the directive's metadata tracking whether it has directive dependencies. Knowing this will allow the pipeline to decide whether to produce DOM-only or full instructions.

PR Close #62096
2025-06-23 14:24:09 +02:00
Kristiyan Kostadinov
8e5b70f80b refactor(core): expose DOM-only instructions to the compiler (#62096)
Makes it possible for the compiler to reference DOM-only instructions.

PR Close #62096
2025-06-23 14:24:09 +02:00
Kristiyan Kostadinov
96b0295f12 refactor(core): properly handle local references in DOM-only instructions (#62096)
Fixes that local references weren't working correctly in DOM-only instructions.

PR Close #62096
2025-06-23 14:24:09 +02:00
Kristiyan Kostadinov
f5180b6532 build: switch benchmarks to standalone (#62096)
Updates the `js-web-frameworks` and `largetable` benchmarks to use standalone which helps us benchmark the DOM-only instructions.

PR Close #62096
2025-06-23 14:24:09 +02:00
Kristiyan Kostadinov
9974af56ec docs: update expression syntax table (#62064)
Updates the table showing expression syntax to include the new binary operators. Also updates the table of unsupported syntax.

PR Close #62064
2025-06-23 14:23:29 +02:00
Kristiyan Kostadinov
0dcf230d52 feat(compiler): add support for new binary assignment operators (#62064)
Updates the remainder of the compiler to handle the new assignment operators and sets up more tests, including for the runtime.

PR Close #62064
2025-06-23 14:23:29 +02:00
Kristiyan Kostadinov
998b00e62f refactor(compiler): implement new binary operators in output AST (#62064)
Updates the output AST to support the new set of binary operators.

PR Close #62064
2025-06-23 14:23:29 +02:00
Kristiyan Kostadinov
0213cd23ff refactor(compiler): support new assignment operators in expression parser (#62064)
Updates the expression parser to account for the new assignment operators that were added to the lexer.

PR Close #62064
2025-06-23 14:23:29 +02:00
Kristiyan Kostadinov
cf3b583b43 refactor(compiler): support more assignment operators in lexer (#62064)
Adds support for the `+=`, `-=`, `*=`, `/=`, `%=`, `**=`, `&&=`, `||=` and `??=` assignment operators to the lexer.

PR Close #62064
2025-06-23 14:23:28 +02:00
Matthieu Riegler
c1dc2a1a67 docs(docs-infra): remove greek site. (#62201)
The site was not up-to-date and often wasn't accessible due to quota limits

PR Close #62201
2025-06-23 14:20:10 +02:00
Matthieu Riegler
44782beea7 docs(docs-infra): fix & simplify scrolling for code blocks (#62179)
PR Close #62179
2025-06-23 14:19:34 +02:00
Matthieu Riegler
5f31bbac65 docs: add css to the supported language for highligting in docs-code (#62178)
css usage was introduced by #60984

PR Close #62178
2025-06-23 14:18:53 +02:00
Andrew Scott
c5fcb9d7f4 test(router): Add test for empty path redirect and no match (#62176)
this was discovered during some other work in the router that unintentionally changed this behavior

PR Close #62176
2025-06-23 14:18:12 +02:00
Ankita Sood
a7d7f8f1a4 docs(router): consitent usage of self-closing tags (#62165)
PR Close #62165
2025-06-23 14:17:44 +02:00
ivanwonder
ac1d400306 refactor(language-service): resolve module specifier for a directive exported by multiple different files (#62100)
When providing the code action for the directive that is exported by multiple modules
in different files, the directive must save all the TS completion entry data
for every module to compute the module specifier.

When providing a completion item, because the LS only supports displaying one directive
at a time, the first one will be picked.

PR Close #62100
2025-06-23 14:16:30 +02:00
Kristiyan Kostadinov
f364d5020d build: remove unused dependency (#62206)
Removes the `google-closure-compiler` dependency that keeps getting updated by the bot, even though we don't actually use it.

PR Close #62206
2025-06-23 13:14:57 +02:00
Andrew Kushnir
4c14503efb Revert "docs: embeded best practices in page (#62173)" (#62193)
This reverts commit 286f9f573e.

PR Close #62193
2025-06-22 09:14:11 -07:00
Matthieu Riegler
152ff0cd8e docs: fix link to http-resource guide (#62180)
fixes #62177

PR Close #62180
2025-06-20 18:25:42 -07:00
Matthieu Riegler
286f9f573e docs: embeded best practices in page (#62173)
PR Close #62173
2025-06-20 15:29:24 -07:00
Angular Robot
fec2ee1796 build: update cross-repo angular dependencies (#62162)
See associated pull request for more information.

PR Close #62162
2025-06-20 14:42:48 -07:00
Ben Hong
4a27886170 docs: add dedicated route guards guide (#62104)
docs: fix reference

Co-authored-by: Matthieu Riegler <kyro38@gmail.com>

docs: grammar fix

Co-authored-by: Jeremy Elbourn

docs: update docs reference

Co-authored-by: Andrew Scott <atscott01@gmail.com>

docs: update docs reference

Co-authored-by: Andrew Scott <atscott01@gmail.com>

docs: update docs reference

Co-authored-by: Andrew Scott <atscott01@gmail.com>

docs: update docs reference

Co-authored-by: Andrew Scott <atscott01@gmail.com>

docs: update route guard title

docs: update route guard types to table

docs: improve phrasing on activated route snapshot description

docs: improve comments to explain how route guard child works

docs: enhance route guards with more explainers and examples

PR Close #62104
2025-06-20 14:42:11 -07:00
Andrew Scott
9cc7c5f38e test(router): Update timeouts to reduce firefox flakiness (#62141)
This updates the timeouts in a couple flakey router tests. Ideally we can use the jasmine
auto ticking as soon as tests are migrated to web test runner and we are on the latest
version of jasmine

PR Close #62141
2025-06-20 14:39:35 -07:00
Angular Robot
f11b3f9d2e docs: update Angular CLI help (#62166)
Updated Angular CLI help contents.

PR Close #62166
2025-06-20 13:05:03 -07:00
Angular Robot
f8a90c9eaa build: update dependency rollup to v4.44.0 (#62144)
See associated pull request for more information.

PR Close #62144
2025-06-20 12:08:17 -07:00
Ben Hong
9267ff0070 docs: update phrasing and fix code snippet (#62031)
docs: improve phrasing on required

Co-authored-by: Matthieu Riegler <kyro38@gmail.com>

refactor: remove standalone flag

docs: remove unnecessary standalone in tutorial code

PR Close #62031
2025-06-20 12:06:16 -07:00
Matthieu Riegler
fdeb1936e0 docs: rename prompt guide to "LLM prompts and IDE setup" (#62171)
PR Close #62171
2025-06-20 12:00:04 -07:00
Jan-Niklas Wortmann
3ecfa9c2bf docs: add JetBrains Junie guidelines (#62161)
PR Close #62161
2025-06-20 11:05:52 -07:00
Kristiyan Kostadinov
ed5062a91c fix(compiler-cli): add suggestion when pipe is missing (#62146)
Adds some suggestions for potential pipes to be imported when raising the missing pipe diagnostic.

Fixes #62136.

PR Close #62146
2025-06-20 10:30:04 +02:00
Shuaib Hasan Akib
02da44c4c6 docs(docs-infra): fix spelling mistake (#62154)
PR Close #62154
2025-06-20 10:29:18 +02:00
Andrew Scott
fa5ae9228d refactor(core): update FakeNavigation to the latest spec (#62017)
Spec updates are in https://github.com/whatwg/html/pull/10919

For the most part, the updates revolve around the deferred commit
handling (with precommitHandler). Updates to redirect allow more
options. A committed promise now exists on the transition since commits
can be delayed. Tests were made zoneless for easier debugging and
timeouts were reduced.

PR Close #62017
2025-06-19 15:10:41 +02:00
Andrew Scott
900cd37f68 fix(upgrade): Make zoneless work with hybrid apps (#61660)
Hybrid applications trigger a digest when `onMicrotaskEmpty` emits so
that the AngularJS app can run its lifecycle when the Angular app does. For
ZoneJS applications, this is effectively after every render/app tick. This change
updates the code to use `afterEveryRender` instead.

fixes #61640

PR Close #61660
2025-06-19 14:25:48 +02:00
Islam Benkhelifa
acfedcef51 docs: Update define-routes.md (#62069)
Nested routes example missing curly braces

PR Close #62069
2025-06-19 13:10:46 +02:00
Matthieu Riegler
a7e4b3e09a docs(docs-infra): fix code-editor flakiness (#62143)
PR Close #62143
2025-06-19 12:37:40 +02:00
AleksanderBodurri
f30bd26b0a fix(devtools): implement signal read error handling in DevTools (#61911)
Fixes: #61900

Previously in DevTools we would read signal values to display preview values in the UI without safely catching any errors thrown in their evaluations.

Now those signal functions are run in a safe context, their errors are caught and handled in the UI as well as replayed in the console.

PR Close #61911
2025-06-19 10:15:39 +02:00
ivanwonder
5d2e85920e feat(language-service): support to fix missing required inputs diagnostic (#50911)
Support to add the missing required inputs into the element and append
after the last attribute of the element.

But it skips the structural directive shorthand attribute. For example,
`<a *ngFor=""></a>`, its shorthand is `<ng-template ngFor>`, the `valueSpan`
of the `ngFor` is empty, and the info is lost, so it can't use to insert
the missing attribute after it.

PR Close #50911
2025-06-19 10:13:26 +02:00
Angular Robot
0cd6f363ca build: update cross-repo angular dependencies (#62079)
See associated pull request for more information.

PR Close #62079
2025-06-19 10:12:19 +02:00
Milo
24d299ea97 refactor(devtools): connect signal graph into directive explorer (#62108)
add an open signal graph button that can be enabled from
devtools-tabs, display the signal graph in a split pane

PR Close #62108
2025-06-19 10:09:21 +02:00
Shuaib Hasan Akib
bbd253b391 docs(docs-infra): fix spelling mistake (#62126)
PR Close #62126
2025-06-19 10:07:41 +02:00
Joey Perrott
557ac51c32 build: migrate to using new jasmine_test (#62131)
Migrate additional targets to jasmine_test

PR Close #62131
2025-06-19 10:06:27 +02:00
Matthieu Riegler
c0aa1301b3 docs: add homepage link to AI (#62130)
PR Close #62130
2025-06-19 10:05:32 +02:00