AleksanderBodurri
75d246e03c
test(devtools): revive cypress tests ( #61972 )
...
Previously these tests would run automatically when Angular DevTools lived in another repo. These files have continued to live here but have not been running automatically on each PR.
Now, these test files have been revived to run properly with our changes since the repo merge. This is a first step to reviving our e2e testing.
Next steps include writing cypress tests for new features like Injector Graph, Router tree, signals visualizations, etc.
PR Close #61972
2025-06-24 14:22:21 +00:00
arturovt
c4dd258658
fix(core): avoid injecting ErrorHandler from a destroyed injector ( #61886 )
...
This commit prevents lazy injection of the internal `ErrorHandler` from a destroyed injector, as it would result in another "destroyed injector" error.
PR Close #61886
2025-06-24 14:13:34 +00:00
Gerome Grignon
d3b069334f
docs(core): migrate @Input examples to Signal inputs ( #62070 )
...
PR Close #62070
2025-06-24 14:11:55 +00:00
Andrew Scott
737b35b684
feat(core): Add destroyed property to EnvironmentInjector ( #61951 )
...
Similar to `DestroyRef`, this adds the `destroyed` property to
`EnvironmentInjector`. It also has the ability to register callbacks with
`onDestroy`, which throws if `destroyed` is already `true`.
This also omits the bit about whether those callbacks have executed
since I realized the property is set to `true` before executing the
callbacks.
PR Close #61951
2025-06-24 14:09:10 +00:00
hawkgs
bd4e089018
refactor(devtools): use Material Symbols without fill ( #62028 )
...
Substitute the local `woff2` file with a `FILL 0` version of Material Symbols.
PR Close #62028
2025-06-24 14:07:00 +00:00
hawkgs
1b97c60835
build(devtools): fix ng-devtools source maps ( #62042 )
...
Inline the sources contents in the `js.map` files. This fixes the source maps for the dev app.
PR Close #62042
2025-06-24 14:06:25 +00:00
guimasi1
ea71a1e8cd
docs: remove incorrectly listed operators in "Supported operators" table (Expression Syntax Guide) ( #62092 )
...
PR Close #62092
2025-06-24 14:04:44 +00:00
hawkgs
29223931da
fix(devtools): zone.js not being loaded for dev and prod builds ( #62239 )
...
Fixes a regression from #62083 by updating the remaining script imports.
PR Close #62239
2025-06-24 14:04:04 +00:00
arturovt
7600bec71d
fix(router): handle scrollRestoration error in restricted environments ( #62186 )
...
In this commit, setting `window.history.scrollRestoration` is wrapped in a try-catch block to prevent `SecurityError` exceptions in restricted contexts such as:
- sandboxed iframes
- partially navigated or inactive windows
- test runners, extensions, or content previews
If an error occurs, a runtime warning with error code [2400] is logged to the console. This avoids breaking app initialization and improves cross-browser safety.
Unfortunately, it's not possible to perform any end-to-end testing of this fix.
PR Close #62186
2025-06-24 12:24:43 +00:00
arturovt
21dfbf3ada
refactor(core): drop injection context assertion in production ( #62038 )
...
Drops `assertInInjectionContext` call in production in `afterNextRender`.
PR Close #62038
2025-06-24 12:24:09 +00:00
Alan Agius
8d049f533a
build: update jest monorepo to v30 ( #62234 )
...
See associated pull request for more information.
Closes #61980 as a pr takeover
PR Close #62234
2025-06-24 10:49:30 +00:00
hawkgs
e3e9e37c42
refactor(devtools): improve profiler visualizations ( #62215 )
...
Improve the profiler's visualization modes visually.
PR Close #62215
2025-06-24 10:48:44 +00:00
hawkgs
505da620ff
refactor(devtools): refine and improve the new profiler layout ( #62215 )
...
Improve the styles and the components' layout in general.
PR Close #62215
2025-06-24 10:48:44 +00:00
hawkgs
2788544c6a
refactor(devtools): introduce input styles ( #62215 )
...
Add global styles for input elements.
PR Close #62215
2025-06-24 10:48:44 +00:00
hawkgs
2fc176d7fe
refactor(devtools): restructure profiler UI ( #62215 )
...
Reposition the components in order to optimize the space and improve logical structure.
PR Close #62215
2025-06-24 10:48:44 +00:00
Joey Perrott
78ec6ef896
build: move dependencies on npm package of dev-infra to workspace dependency ( #62083 )
...
Move from relying on the @npm// dependencies to aspect node modules where possible
PR Close #62083
2025-06-24 10:46:13 +00:00
Walter Breakell
16ed7f50de
docs: update link to cache options ( #62187 )
...
PR Close #62187
2025-06-24 10:42:20 +00:00
Shuaib Hasan Akib
07df4e14a1
docs(docs-infra): replace StarWars API endpoint ( #62223 )
...
PR Close #62223
2025-06-24 09:54:02 +00:00
Edison Augusthy
a1d078b461
docs: updated angular cli link to point to new website ( #62059 )
...
PR Close #62059
2025-06-24 09:53:27 +00:00
Angular Robot
15b37a4e06
build: update rules_angular digest to 88ddcf8 ( #62230 )
...
See associated pull request for more information.
PR Close #62230
2025-06-24 09:51:50 +00:00
Milo
c4df77f4e5
feat(devtools): add an experimental signals toggle ( #62218 )
...
create an experimental toggle to allow opening the signals graph view
PR Close #62218
2025-06-24 09:41:10 +00:00
Andrew Scott
9833d9ea47
feat(router): Run loadComponent and loadChildren functions in the route's injection context ( #62133 )
...
This updates the loader code to run the `loadComponent` and
`loadChildren` functions in the appropriate injection context for the
route.
A primary motiviation for this feature is to bring `loadChildren` with
standalone components and the routes array to
feature-parity with what was possible when using `loadChildren` and a
module that provided routes via the `ROUTES` token and a factory
function (which would have injection context).
fixes #51532
PR Close #62133
2025-06-24 09:39:48 +00:00
soongxian
9c2a96d125
docs: fixed grammar and spelling errors in contributing-docs folder ( #62196 )
...
PR Close #62196
2025-06-24 09:39:07 +00:00
Angular Robot
7d2e942653
build: lock file maintenance ( #62202 )
...
See associated pull request for more information.
PR Close #62202
2025-06-24 09:37:35 +00:00
Angular Robot
1cff7cf5e3
build: update cross-repo angular dependencies to db18d71 ( #62199 )
...
See associated pull request for more information.
PR Close #62199
2025-06-24 08:52:57 +00:00
Saujan Ghimire
d4b96f8c20
docs: embeded best practices in page ( #62173 ) ( #62198 )
...
PR Close #62198
2025-06-24 08:52:24 +00:00
Matthieu Riegler
b60889accf
docs: add link to ai best practices in instalation guide ( #62138 )
...
PR Close #62138
2025-06-24 08:49:52 +00:00
Jens Kuehlers
3eca8b1d2f
docs: add v21 dates ( #62216 )
...
PR Close #62216
2025-06-24 08:49:11 +00:00
Joey Perrott
36d5048429
build: migrate final non-zone.js jasmine tests ( #62169 )
...
Migrate the final remaining non-zone.js package jasmine tests to the new toolchain
PR Close #62169
2025-06-24 08:46:39 +00:00
Matthieu Riegler
585bf9c054
docs: improve docs for withComponentInputBinding ( #61689 )
...
Add mention about inputs potentially becoming `undefined`.
PR Close #61689
2025-06-24 08:46:07 +00:00
Kristiyan Kostadinov
8ce6ca90be
build: update ng-dev ( #62227 )
...
Updates `ng-dev` in order to get the latest features.
PR Close #62227
2025-06-24 09:15:52 +02:00
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