https://github.com/angular/angular

sort by:
Revision Author Date Message Commit Date
edc45d5 release: cut the v17.2.3 release 28 February 2024, 00:23:40 UTC
79a3281 fix(core): fix typo in injectors.svg file (#54596) this commit fixes the unnecessary single quote in injectors.svg file Closes #54592 PR Close #54596 27 February 2024, 23:21:17 UTC
11a0a5d build: update io_bazel_rules_sass digest to 888dd9c (#54615) See associated pull request for more information. PR Close #54615 27 February 2024, 22:06:34 UTC
89db586 release: bump Angular DevTools version to 1.0.11 (#54631) PR Close #54631 27 February 2024, 22:02:20 UTC
624767c Revert "refactor(devtools): implement iframe support for Angular DevTools' browser code (#53934)" (#54629) This reverts commit dd3dac9cc99ac7988e6bff5a3df30786ad0f1155. PR Close #54629 27 February 2024, 22:00:17 UTC
7b30a86 Revert "refactor(devtools): implement multiframe support in devtools page (#53934)" (#54629) This reverts commit ebcdc8dc96e971f68e30cfe4acda5eba87417d77. PR Close #54629 27 February 2024, 22:00:17 UTC
986b9c3 refactor: add `--spawn_strategy local` to `--config debug` (#54167) This seems to be necessary to debug Node tests. PR Close #54167 27 February 2024, 02:36:42 UTC
69598c0 refactor(core): Internal render hooks trigger view refresh before executing user hooks (#54224) This commit ensures that any internal render hooks that cause views to become dirty again first refresh those dirty views before running user render hooks. This ensures that user render hooks have the most complete render state possible and stops them from needlessly executing multiple times. This is important to maintain the goal of the public render hooks, which is to provide the safest place to place code that depends on DOM state, especially in ways that may force a browser paint. PR Close #54224 27 February 2024, 02:31:16 UTC
ffe3aa1 refactor(core): Add helper function for queuing state updates (#54224) This adds a helper function to defer application state updates to the first possible "safe" moment. If application-wide change detection (ApplicationRef.tick) is currently executing when this function is used, the callback will execute as soon as all views attached to the `ApplicationRef` have been refreshed. Refreshing the application views will happen again before `checkNoChanges` executes. When a change detection is _not_ running, this state update will execute in the microtask queue. This function is necessary as a replacement for current `Promise.resolve().then(() => stateUpdate())` to be zoneless compatible while ensuring those state updates are synchronized to the DOM before the browser repaint. Without this, updates done in `Promise.resolve(...)` would queue another round of change detection in zoneless applications, and this change detection could happen in the next browser frame, and cause noticeable flicker for the user. Additionally, this function provides a way to perform state updates that will run on the server as well as in the browser. Last, current applications using `ngZone: 'noop'` may not be calling `ApplicationRef.tick` at all so this function provides a mechanism to ensure the state update still happens by racing a microtask with `afterNextRender` (which might never execute). PR Close #54224 27 February 2024, 02:31:15 UTC
2aefed8 fix(compiler-cli): catch function instance properties in interpolated signal diagnostic (#54325) Currently, the following template compiles without error, even if the signal is not properly called: ``` <div>{{ mySignal.name }}</div> ``` This is because `name` is one of the instance properties of Function (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function#instance_properties). The interpolated signal diagnostic is now extended to catch such issues. PR Close #54325 27 February 2024, 02:30:06 UTC
377442d build: update scorecard action dependencies (#54407) See associated pull request for more information. PR Close #54407 27 February 2024, 02:29:39 UTC
20a549f docs: use components in model inputs guide (#54606) The code example showcases a `@Directive` with a template instead of a `@Component`. PR Close #54606 27 February 2024, 02:28:15 UTC
daf7c61 fix(compiler-cli): identify aliased initializer functions (#54609) Fixes that initializer functions weren't being recognized if they are aliased (e.g. `import {model as alias} from '@angular/core';`). To do this efficiently, I had to introduce the `ImportedSymbolsTracker` which scans the top-level imports of a file and allows them to be checked quickly, without having to go through the type checker. It will be useful in the future when verifying that that initializer APIs aren't used in unexpected places. I've also introduced tests specifically for the `tryParseInitializerApiMember` function so that we can test it in isolation instead of going through the various functions that call into it. PR Close #54609 27 February 2024, 02:27:19 UTC
c116353 Revert "fix(compiler-cli): identify aliased initializer functions (#54480)" (#54595) This reverts commit f04ecc0cdaeb3a292a748b1ccc94ce70a573fc79. PR Close #54595 26 February 2024, 16:36:50 UTC
5712352 fix(core): collect providers from NgModules while rendering `@defer` block (#52881) Currently, when a `@defer` block contains standalone components that import NgModules with providers, those providers are not available to components declared within the same NgModule. The problem is that the standalone injector is not created for the host component (that hosts this `@defer` block), since dependencies become defer-loaded, thus no information is available at host component creation time. This commit updates the logic to collect all providers from all NgModules used as a dependency for standalone components used within a `@defer` block. When an instance of a defer block is created, a new environment injector instance with those providers is created. Resolves #52876. PR Close #52881 23 February 2024, 20:30:06 UTC
dcd6c8c refactor(core): use performance API for signals (#54521) This commit adds a standard performance marker that can be viewed in Chrome dev tools and other tooling. See more info at https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark PR Close #54521 23 February 2024, 20:18:31 UTC
fbb0398 docs: add a guide for model inputs (#54514) Adds a guide for `model()` inputs for angular.io. Will port this over to angular.dev once it's finalized. PR Close #54514 23 February 2024, 19:47:04 UTC
56ad65a docs: syntax error in signal input transform example (#54567) PR Close #54567 23 February 2024, 19:46:14 UTC
b1b7bbf docs: Update wildcard route component to PageNotFoundComponent (#54570) This PR enhances the Angular documentation by replacing the placeholder `<component-name>` with the actual `PageNotFoundComponent` in the wildcard route configuration. This update ensures that the documentation accurately reflects the recommended practice for handling page-not-found scenarios. Additionally, it addresses the issue where HTML entities like `&lt;` were being displayed instead of the desired `<` symbol, resulting in clearer and more readable documentation for users. PR Close #54570 23 February 2024, 19:45:39 UTC
48aec63 fix(compiler-cli): identify aliased initializer functions (#54480) Fixes that initializer functions weren't being recognized if they are aliased (e.g. `import {model as alias} from '@angular/core';`). To do this efficiently, I had to introduce the `ImportedSymbolsTracker` which scans the top-level imports of a file and allows them to be checked quickly, without having to go through the type checker. It will be useful in the future when verifying that that initializer APIs aren't used in unexpected places. I've also introduced tests specifically for the `tryParseInitializerApiMember` function so that we can test it in isolation instead of going through the various functions that call into it. PR Close #54480 23 February 2024, 19:44:40 UTC
d68cf17 docs: remove mutate function mention (#54569) PR Close #54569 23 February 2024, 19:43:25 UTC
89f8331 ci: adding Matthieu as approver for ADEV (#54575) This is to help the team approve changes on the new doc site. PR Close #54575 23 February 2024, 19:42:46 UTC
84ade02 refactor(compiler-cli): changes to get signal diagnostic working internally (#54585) The diagnostic for signals that haven't been invoked wasn't working internally, because the path to `@angular/core` is different. These changes resolve the issue and do some general cleanup. PR Close #54585 23 February 2024, 19:42:07 UTC
dbe673b fix(migrations): resolve infinite loop for a single line element with a long tag name and angle bracket on a new line (#54588) Fixes an edge case where a single-line elemnt with a long tag name a closing bracket on a new line was putting the control flow migration into an infinite loop. Fixes #54587. PR Close #54588 23 February 2024, 19:40:31 UTC
1a526f2 perf(common): `AsyncPipe` should not call `markForCheck` on subscription (#54554) This commit prevents `AsyncPipe` from calling `markForCheck` when values are synchronously emit during subscription to an observable. This prevents subscriptions to `Replay` observables from needlessly walking up to the root of the view tree during template execution for each new replay observable in the template. PR Close #54554 23 February 2024, 17:20:05 UTC
600a8cd release: cut the v17.2.2 release 22 February 2024, 01:54:30 UTC
bb57d34 fix(migrations): Fix cf migration regular expression to include underscores (#54533) In rare cases people may use an underscore in their component names, which was not accounted for in the formatting portion of the migration. fixes: #54532 PR Close #54533 21 February 2024, 23:25:07 UTC
ef94bb6 docs(devtools): expand release docs (#54525) This provides some more information on how to release and notably includes commands for zipping extension code and source code, which can otherwise be tricky to get exactly right. PR Close #54525 21 February 2024, 23:24:27 UTC
e627c6e release: bump Angular DevTools version to 1.0.10 (#54523) PR Close #54523 21 February 2024, 23:23:37 UTC
65c9148 refactor(compiler-cli): move defer block tests into separate file (#54499) Splits the tests for `@defer` blocks out into a separate file since the `ngtsc_spec.ts` is getting quite large. PR Close #54499 21 February 2024, 23:22:37 UTC
0a3edfb fix(compiler-cli): correctly detect deferred dependencies across scoped nodes (#54499) This is based on an internal issue report. An earlier change introduced a diagnostic to report cases where a symbol is in the `deferredImports` array, but is used eagerly. The check worked by looking through the deferred blocks in a scope, resolving the scope for each and checking if the element is within the scope. The problem is that resolving the scope won't work across scoped node boundaries. For example, if there's a control flow statement around the block or within the block but around the deferred dependency, it won't be able to resolve the scope since it isn't a direct child, e.g. ``` @if (true) { @defer { <deferred-dep/> } } ``` To fix this the case where the deferred block is inside a scoped node, I've changed the `R3BoundTarget.deferBlocks` to be a `Map` holding both the deferred block and its corresponding scope. Then to resolve the case where the dependency is within a scoped node inside the deferred block, I've added a depth-first traversal through the scopes within the deferred block. PR Close #54499 21 February 2024, 23:22:37 UTC
f00336c refactor(compiler-cli): add the ability to treat object literals as enums in docs (#54487) We have a couple of cases now (#53753 and #54414) where we're forced to redefine enums as object literals. These literals aren't rendered in the best way in the docs so these changes introduce a new `object-literal-as-enum` tag that we can use to mark them so they're treated for documentation purposes. PR Close #54487 21 February 2024, 23:21:59 UTC
8997260 docs: add closing tags to code examples (#54485) There were two minor issues in the code examples that this addresses. PR Close #54485 21 February 2024, 23:20:17 UTC
033608e docs: fix typos (#54475) PR Close #54475 21 February 2024, 23:19:40 UTC
926063e docs(docs-infra): fix tab shrinking (#54380) Fix a behavior when block shrinks on Usage notes tab Fixes #52818 PR Close #54380 21 February 2024, 23:19:14 UTC
187b46a docs: view child static query differences formatting (#54370) The docs were broken as the first line is the only one to be displayed in the table. PR Close #54370 21 February 2024, 23:18:48 UTC
6447c0e fix(compiler): adding the inert property to the "SCHEMA" array (#53148) This change allows template binding "inert" attribute with the following syntax: [inert]="isInert" Fixes #51879 fixup! fix(compiler): adding the inert property to the "SCHEMA" array revert: "fixup! fix(compiler): adding the inert property to the "SCHEMA" array" This reverts commit b637b7ce646e8bab2f585339028a84018e8ea982. This commit is being reverted because the inert property is safe as a boolean attribute PR Close #53148 21 February 2024, 23:13:56 UTC
ed8857e refactor(platform-browser): use performance API for async animations (#53963) This commit adds a standard performance marker PR Close #53963 21 February 2024, 23:12:05 UTC
3e31f1a fix(router): Clear internal transition when navigation finalizes (#54261) This commit fixes a small memory issue in the router where a destroyed component instance would be retained. fixes #54241 PR Close #54261 21 February 2024, 22:09:58 UTC
d411ee7 docs: typos in signal queries guide (#54540) PR Close #54540 21 February 2024, 15:59:01 UTC
d34e329 fix(common): image placeholder not removed in OnPush component (#54515) Fixes that the placeholder wasn't being removed when an optimized image is placed in an `OnPush` component. Fixes #54478. PR Close #54515 20 February 2024, 17:50:00 UTC
db35266 test(core): more tests for queries as signals (#54508) A couple of tests that illustrate combination of signal and decorator queries in once component. PR Close #54508 20 February 2024, 17:49:20 UTC
790f4f7 fix(compiler-cli): use correct symbol name for default imported symbols in defer blocks (#54495) This commit addresses a problem with PR #53695 that introduced support for default imports, where the actual dynamic import used in the defer loading function continued to use the symbol name, instead of `.default` for the dynamic import. This issue went unnoticed in the testcase because a proper instance was being generated for the `ɵsetClassMetadataAsync` function, but not the generated dependency loader function. Fixes #54491 PR Close #54495 20 February 2024, 17:45:33 UTC
5e80e6d docs: fix developer preview link in signal queries (#54492) PR Close #54492 20 February 2024, 17:44:43 UTC
5597e5d docs(common): add new faq entry to NgOptimizedImage docs (#54469) add new FAQ entry explaining that we're not adding new loaders to the angular repo PR Close #54469 20 February 2024, 17:43:47 UTC
f8a5b40 docs: enhance Dependency injection description (#54464) PR Close #54464 20 February 2024, 17:29:54 UTC
3bd5860 fix(core): properly execute content queries for root components (#54457) Prior to this fix an incorrect view instance (a dynamically created component one instead of the root view) was passed to the content query function. Having incorrect view instance meant that a component instance could not be found. This is a pre-existing bug, introduction of signal-based queries just surfaced it. Fixes #54450 PR Close #54457 15 February 2024, 20:21:29 UTC
b975ff1 docs: add guide for signal queries (#54395) Adding new guide for the signal-based queries. PR Close #54395 15 February 2024, 20:17:01 UTC
ba686cc docs: correct default application builder for new apps (#54386) The documentation on angular.dev mentions build-angular:browser as default application builder. This is not correct. Recent applications are setup with build-angular:application by default. PR Close #54386 15 February 2024, 18:54:18 UTC
a7e4b99 refactor(devtools): implement multiframe support in devtools page (#53934) In the Angular DevTools Chrome DevTools page: - Angular DevTools is able to ask the background script to list each frame that has been registered on a page. - Angular Devtools is able to ask the background script to "enable" the connection on a particular frame. This enables the messaging between the content script <-> background script <-> devtools page - Implements detection of non unique urls on the inspected page Limitations: - The `inspectedWindow.eval` API is only able to target frames by frameURL. This means some features that integrate with Chrome DevTools like inspect element and open source will not be available when inspecting frames that do not have a unique url on the page. PR Close #53934 15 February 2024, 01:15:26 UTC
02fcd92 refactor(devtools): implement iframe support for Angular DevTools' browser code (#53934) Modifies the messaging layer of devtools to allow for switching communication between frames on a page. When served as a browser extension. Design: - When a page renders, DevTools installs a content script onto it through it's manifest file. The all_frames option is used here to install this script onto every frame in a page. - When Angular is detected, the content script will install a backend script into it's frame. - Each content script / backend script pairing is kept track of in the background script. This pairing represents an angular devtools context in a particular frame. - Angular DevTools is able to ask the background script to list each frame that has been registered on a page. - Angular Devtools is able to ask the background script to "enable" the connection on a particular frame. This enables the messaging between the content script <-> background script <-> devtools page Limitations: - The `inspectedWindow.eval` API is only able to target frames by frameURL. This means some features that integrate with Chrome DevTools like inspect element and open source will not be available when inspecting frames that do not have a unique url on the page. PR Close #53934 15 February 2024, 01:15:26 UTC
fba7fe1 build: update all non-major dependencies (#54406) See associated pull request for more information. PR Close #54406 14 February 2024, 23:39:37 UTC
e5e8be4 ci: remove feature-request bot (#54442) Remove feature request bot from usage. PR Close #54442 14 February 2024, 23:33:54 UTC
8521188 docs: fix typo (#54427) PR Close #54427 14 February 2024, 23:29:21 UTC
44a0ea4 docs: add guide for signal inputs (#54316) Adds a guide for signal inputs. We will port that to `angular.dev` once we finalized this version. PR Close #54316 14 February 2024, 23:22:49 UTC
3eda005 release: cut the v17.2.1 release 14 February 2024, 22:55:28 UTC
7234824 fix(compiler-cli): fix broken version detection condition (#54443) The version detection condition for signal two-way bindings used an OR instead of an AND, resulting in every `.0` patch version being considered as supporting two-way bindings to signals. This commit fixes the logic and adds additional parentheses to ensure the meaning of the condition is more clear. Long term, we should switch to semver version parsing instead. PR Close #54443 14 February 2024, 20:47:03 UTC
0b95d14 release: cut the v17.2.0 release 14 February 2024, 18:55:44 UTC
78b48cc refactor(compiler-cli): do not emit signal unwrap calls in versions older than 17.2 (#54423) In order to allow both signals and non-signals in two-way bindings, we have to pass the expression through `ɵunwrapWritableSignal`. The problem is that the language service uses a bundled compiler that is fairly new, but it may be compiling an older version of Angular that doesn't expose `ɵunwrapWritableSignal` (see https://github.com/angular/vscode-ng-language-service/issues/2001). These changes add a `_angularCoreVersion` flag to the compiler which the language service can use to pass the parsed Angular version to the compiler which can then decide whether to emit the function. PR Close #54423 13 February 2024, 23:53:42 UTC
1c53625 fix(http): Use string body to generate transfer cache key. (#54379) This is particularly usefull for GraphQL queries where the string body might be the only discriminator. Fixes #54377 PR Close #54379 13 February 2024, 19:53:22 UTC
674b6c3 fix(docs-infra): don't include prerender flag based on fast/full build in adev (#54400) The serve command for architect does not support the `--prerender` flag PR Close #54400 13 February 2024, 19:52:40 UTC
3592526 docs: fix typo (#54403) PR Close #54403 13 February 2024, 19:51:56 UTC
501c159 build: update node (#54399) Updates the repo to a newer version of Node to fix errors in the integration tests. PR Close #54399 12 February 2024, 23:36:19 UTC
277540c build: reuse fake core in type checking tests (#54344) (#54398) Currently we have two fake copies of `@angular/core` in the compiler tests which can be out of sync and cause inconsistent tests. These changes reuse a single copy instead. PR Close #54344 PR Close #54398 12 February 2024, 22:31:26 UTC
6d00115 fix(core): show placeholder block on the server with immediate trigger (#54394) Currently all triggers are set up to show the placeholder block on the server, except for `on immediate` which is basically a noop. These changes update `on immediate` to match the rest of the triggers. Fixes #54385. PR Close #54394 12 February 2024, 19:02:41 UTC
ef965ac test(language-service): add tests for model inputs (#54387) Updates the language service tests to cover `model()` inputs. PR Close #54387 12 February 2024, 19:01:54 UTC
369e96c refactor(compiler-cli): split input and model tests (#54387) Splits up the tests for `input()` and `model()` into separate files. PR Close #54387 12 February 2024, 19:01:54 UTC
2363e77 refactor(compiler-cli): add diagnostic tests for models (#54387) Sets up type checking diagnostic tests for model() inputs. PR Close #54387 12 February 2024, 19:01:54 UTC
1581988 test(core): add type tests for ɵunwrapWritableSignal (#54387) Getting the typing for `ɵunwrapWritableSignal` just right was tricky so these changes add some tests to ensure that we don't regress. Also reworks the type tester a bit to make it easier to find where to add new test files. PR Close #54387 12 February 2024, 19:01:54 UTC
0ecc2d1 refactor(core): reuse input signal node for models (#54387) Reworks the model so that it reuses `INPUT_SIGNAL_NODE` instead of implementing its own. PR Close #54387 12 February 2024, 19:01:53 UTC
453e00c refactor(core): avoid wrapper around subscribe return value (#54387) Reworks `ModelSignal.subscribe` so it doesn't have to wrap its value to look like a subscription. PR Close #54387 12 February 2024, 19:01:53 UTC
4d722a2 fix(zone.js): patch form-associated custom element callbacks (#50686) This commit updates the implementation of the `customElements` patch and also patches FACE callbacks (`formAssociatedCallback`, `formDisabledCallback`, `formResetCallback` and `formStateRestoreCallback`). This now allows invoking those callbacks in the same zone where the custom element has been defined. PR Close #50686 12 February 2024, 16:50:57 UTC
744cb1e fix(core): return the same children query results if there are no changes (#54392) Assure that the same readonly array corresponding to the children query results is returned for cases where a query is marked as dirty but there were no actual changes to the content of the results array (this can happen if a view is added and removed thus marking queries as dirty but not influencing final results). Fixes #54376 PR Close #54392 12 February 2024, 16:48:29 UTC
deb9ea0 refactor(docs-infra): create fast mode (#54364) Creates a "fast mode" for building the adev site, currently only disabling prerender during fast build. This is intended to be used for local development. PR Close #54364 09 February 2024, 18:59:08 UTC
62b87b4 fix(core): do not crash for signal query that does not have any matches (#54353) The newly introduced signal queries would error if no match exists, due to an invalid read within the query internals. This commit addresses the crash by allowing there to be no matches. PR Close #54353 09 February 2024, 14:59:51 UTC
6c278a9 docs(docs-infra): change deprecated modules' headers' style in the hover state (#54337) PR Close #54337 09 February 2024, 14:58:56 UTC
5de985a fix(docs-infra): include manually defined api reference docs in adev (#54356) Include the manual defined api reference docs in adev PR Close #54356 09 February 2024, 14:58:29 UTC
85c0551 build: update cross-repo angular dependencies (#54186) See associated pull request for more information. PR Close #54186 09 February 2024, 14:57:46 UTC
7aa92fa release: cut the v17.2.0-rc.1 release 09 February 2024, 10:54:07 UTC
4b96f37 fix(core): expose model signal subcribe for type checking purposes (#54357) The `@internal` in the comment above `ModelSignal.subscribe` ended up marking the method as internal even though it wasn't meant to be. PR Close #54357 09 February 2024, 09:58:56 UTC
9e2c140 refactor(devtools): show tooltip for hydration icon on directive forest (#54326) The MatTooltip was missing after migrating to standalone PR Close #54326 08 February 2024, 19:18:37 UTC
9f05732 refactor: migrate router to prettier formatting (#54318) Migrate formatting to prettier for router from clang-format PR Close #54318 08 February 2024, 19:17:14 UTC
ed41bfc release: cut the v17.2.0-rc.0 release 08 February 2024, 18:38:52 UTC
c47bf63 docs: release notes for the v17.1.3 release 08 February 2024, 18:20:12 UTC
8dea3b5 test: tidy up signal signal input/query/model signature tests (#54334) This updates some tests to use the public imports from `@angular/core` now that they are available, and cleans up useless imports and inaccurate names. PR Close #54334 08 February 2024, 16:49:15 UTC
898a532 fix(core): Fix possible infinite loop with `markForCheck` by partially reverting #54074 (#54329) In some situations, calling `markForCheck` can result in an infinite loop in seemingly valid scenarios. When a transplanted view is inserted before its declaration, it gets refreshed in the retry loop of `detectChanges`. At this point, the `Dirty` flag has been cleared from all parents. Calling `markForCheck` marks the insertion tree up to the root `Dirty`. If the declaration is checked again as a result (i.e. because it has default change detection) and is reachable because its parent was marked `Dirty`, this can cause an infinite loop. The declaration is refreshed again, so the insertion is marked for refresh (again). We enter an infinite loop if the insertion tree always calls `markForCheck` for some reason (i.e. `{{createReplayObservable() | async}}`). While the case above does fall into an infinite loop, it also truly is a problem in the application. While it's not an infinite synchronous loop, the declaration and insertion are infinitely dirty and will be refreshed on every change detection round. Usually `markForCheck` does not have this problem because the `Dirty` flag is not cleared until the very end of change detection. However, if the view did not already have the `Dirty` flag set, it is never cleared because we never entered view refresh. One solution to this problem could be to clear the `Dirty` flag even after skipping view refresh but traversing to children. PR Close #54329 08 February 2024, 16:45:20 UTC
adfc3f0 refactor(core): temporarily mark subscribe methods as deprecated (#54342) The `subscribe` methods on `ModelSignal` and `OutputEmitter` were marked as `@internal` which will break when the TCB needs to reference them. These changes make them `@deprecated` temporarily so we can address the properly later. PR Close #54342 08 February 2024, 16:33:41 UTC
38b01a3 fix(compiler-cli): interpolatedSignalNotInvoked diagnostic for model signals (#54338) The new `model()` signal introduces a `ModelSignal` type that needs to be handled by the interpolatedSignalNotInvoked diagnostic to catch issues like: ``` <div>{{ myModel }}</div> ``` PR Close #54338 08 February 2024, 16:28:20 UTC
03c3b3e feat(common): add Netlify image loader (#54311) Add an image loader for Netlify Image CDN. It is slightly different in implementation from existing loaders, because it allows absolute URLs Fixes #54303 PR Close #54311 08 February 2024, 16:17:57 UTC
9c2bad9 refactor(compiler-cli): avoid naming conflict with built-in global variable (#54333) The import of `module` can conflict with the native global variable called `module` and can break some internal tests. These switch to only importing the function we need. PR Close #54333 08 February 2024, 14:59:54 UTC
44f65f2 refactor(compiler-cli): work around internal test failure (#54327) Fixes an internal test failure due to `FatalDiagnosticError` extending the native `Error`. PR Close #54327 08 February 2024, 14:59:24 UTC
ca239e8 refactor(core): share refresh logic for cd and signal queries (#54322) Introducing a tiny utility method to remove some code duplication between the change change detection and signal based queries. PR Close #54322 07 February 2024, 22:22:06 UTC
a3e51d9 docs: enable version picker (#54161) PR Close #54161 07 February 2024, 22:21:05 UTC
38c0084 test: verify signal-based queries in CLI integration test (#54314) Adds usages of signal-based queries into the signal integration test to verify queries can be used in production, and testing environments as expected (i.e. the transform works as expected). PR Close #54314 07 February 2024, 18:56:04 UTC
a08863e refactor(compiler-cli): ensure `FatalDiagnosticError` extends `Error` (#54309) This helps with the Angular CLI currently swallowing fatal diagnostic errors in ways that are extremely difficult to debug due to workers executing Angular compiler logic. The worker logic, via piscina, is currently not forwarding such Angular errors because those don't extend `Error.` https://github.com/piscinajs/piscina/blob/a7042ea27d129f3cad75c422f5aa92f0663854ee/src/worker.ts#L175 Even with access to these errors by manually forwarding errors, via patching of the Angular CLI, there is no stack trace due to us not using `Error` as base class for fatal diagnostic errors. This commit improves this for future debugging and also better reporting of such errors to our users- if we would accidentally leak one. PR Close #54309 07 February 2024, 16:39:21 UTC
8e237a0 fix(compiler-cli): properly catch fatal diagnostics in type checking (#54309) An identical addition to: 760b1f3d0b857288980f2d9929147f331d657f7d. This commit expands the `try/catch`-es: - to properly NOT throw and just convert the diagnostic. - to be in place for all top-level instances. Notably, this logic cannot reside in the template type checker directly as otherwise we would risk multiple duplicate diagnostics. PR Close #54309 07 February 2024, 16:39:20 UTC
e921e10 refactor(core): correctly distinguish getter functions from writable signals (#54252) Fixes that `ɵunwrapWritableSignal` inferring getter functions as not matching the interface of `WritableSignal` instead of preserving them. PR Close #54252 07 February 2024, 16:36:15 UTC
a4a76c3 refactor(core): throw if required model is changed via update too early (#54252) Adds an assertion that will throw if `ModelSignal.update` is accessed before an initial value is set. PR Close #54252 07 February 2024, 16:36:14 UTC
ac9c544 refactor(core): assert writable signal in two-way property instruction (#54252) Asserts that the value is a `WritableSignal`, rather than a `Signal`, in the `twoWayProperty` instruction. PR Close #54252 07 February 2024, 16:36:14 UTC
243b94c refactor(compiler-cli): fix regression in two-way bindings to inputs with different getter/setter types (#54252) In a previous commit the TCB was changed to cast the assignment to an input in order to widen its type to allow `WritableSignal`. This ended up breaking existing inputs whose setter has a wider type than its getter. These changes switch to unwrapping the value on the binding side. PR Close #54252 07 February 2024, 16:36:13 UTC
back to top