forked from angular/angular
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a new pull request by comparing changes across two branches #216
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
`EventContract` usages in Angular now use `false` for `useActionResolver`. Tests have been updated, with functionality that depends on `ActionResolver` moving to dispatcher_test.ts. PR Close #56369
This updates to the latest git hash for the github action for commit messages. PR Close #56435
Align setup of this benchmark with https://github.com/krausest/js-framework-benchmark/tree/master/frameworks/keyed/angular-cf-nozone by running without zone.js using noop zone. PR Close #56362
) Add the row selection scenario to the existing benchmark so we can automate perf measurements during experiments. PR Close #56362
Add planned approximate v18 minor and v19 major release dates. PR Close #56429
- Made the links more specific - Removed the AIO notation PR Close #56416
This commit starts exposing `isSignal` for inputs in the `ComponentMirror`. We initially had this as a draft when rolling out signal inputs, but there were no good use-cases, so we skipped it. Now, inside G3, for the testing infrastructure and rolling out advancements for signal inputs, having this information is necessary and allows identifying signal inputs without "accessing fields" on the class that may cause side-effects (like triggering setters). PR Close #56402
#56405) Whenever we parse object property assignment shorthands in expression ASTs, the AST will have no information about whether the property read for the `LiteralMap` is built based on the shorthand or not. Exposing this information in the AST is useful for migrations as those might need to decompose the shorthand into its longer form to e.g. invoke a signal read. PR Close #56405
…ferent files (#56406) The import manager ensures generation of unique identifiers when inserting imports. This is done by inspecting existing identifiers within the original source file, while also checking if a similar identifier was generated at an earlier time. This is correct behavior. We can improve the detection so that the same identifier can be generated in different files. This is beneficial for schematic/migration use-cases where we wouldn't want to generate import aliases in multiple files just because we generated an import to e.g. `input` previously. E.g. it's fine to generate ```ts // a.ts import {input} from '@angular/core'; // b.ts import {input} from `@angular/core'; // instead of `input as input_1`. ``` PR Close #56406
…f imports (#56431) The linker inserts the constant statements that are needed to support compiled templates after the import statements of an ESM file, but it failed to account for import statements that are not at the top of the file. This is typically seen in FESM files where multiple individual ESMs have been concatenated into a single ESM file, with imports in various places. The linker would then find the very last import statement to insert the constant statements after, but this may result in TDZ errors for component templates that have been emitted earlier in the file. This commit updates the Babel linker plugin to insert constant statements after the last import of the first import group, therefore avoiding the TDZ error. Fixes #56403 PR Close #56431
…hing (#53318) This feature adds a property to the `NavigationBehaviorOptions` that allows developers to define a different path for the browser's address bar than the one used to match routes. This is useful for redirects where you want to keep the browser bar the same as the original attempted navigation but redirect to a different page, such as a 404 or error page. fixes #17004 PR Close #53318
The saucelabs connect tunnel utility is now downloaded via bazel as needed. For the directly invoked case the utility is downloaded via the local shell script. Previously it was part of the root `package.json` and downloaded whenever a package install was executed. The utility archive was also not an actual package which incidentally worked with npm but does not work with newer versions of yarn. PR Close #56456
See associated pull request for more information. PR Close #56438
* Create custom scroller to manage scroll behavior more directly. There are two many special and weird behaviors in the site to use the built-in scrolling. * Update scrolling to wait for application stability. This waits a bit longer than the current `Scroll` event, which happens in `afterNextRender` after the `NavigationEnd`. fixes #56446 * Disable scrolling on the API references page. It just never worked well with all the custom scroll locations * Update card clicks on API references page to change the fragment of the URL (this allows docs viewers to link directly to an item). Also update API reference page to listen to fragment changes and use that as the scroll trigger rather than the click. This takes care of the initial scroll when the page loads as well. fixes #56446 PR Close #56464
`toSignal` predates the decision to allow a more flexible equality check in signals, and thus doesn't support a custom equality function. This commit adds the ability to pass a custom value equality function. As a side effect, it now adds the default equality check where it wasn't used before. Fixes #55573 PR Close #56447
This allows for helpers like the following to work intuitively for all types of "input fields". It also establishes the intended mental philosophy that a model is both an input and an output. ```ts /** Unwraps all signal input properties. */ export type UnwrapSignalInputs<T> = { [K in keyof T]: T[K] extends InputSignalWithTransform<any, infer WriteT> ? WriteT : T[K]; }; ``` PR Close #56452
Many developers find these interfaces useful for various reasons. Beyond that, the deprecation of the interfaces has incorrectly implied that existing class-based guard implementations need to be migrated to functions. Class injectables are _not_ deprecated and choosing to implement a guard's state and logic as a class that is injectable in the functions run inside the injection context is valid. resolves #50234 PR Close #56408
…n path (#56394) Router's `OutletInjector` required a special handling in cases when `@defer` is used, see #55374 for additional info. As a result, the `ChainedInjector` that represents an `OutletInjector` instance is currently exposed via `getInjectorResolutionPath` function. This creates a problem, because other debug APIs used by DevTools can not interact with `ChainedInjector`s. This commit updates the logic around `getInjectorResolutionPath` utility to avoid exposing `OutletInjector`in the resolution path. Resolves #56331. PR Close #56394
… in tests (#56422) `DOCUMENT` instances retrieved from DI may not contain a necessary function to complete the cleanup. In tests that don't interact with DOM, the `DOCUMENT` might be mocked and some functions might be missing. For such tests, DOM cleanup is not required and we can skip DOM cleanup logic if there are missing functions. For tests that use DOM, TestBed would behave the same as before and rely on more complete `DOCUMENT` instances. PR Close #56422
As there is no longer a page for the localize API the URL pointing to this page is removed PR Close #56480
#56432) When importing a component exported by default, the `default` can't be used as the component name. For example: This is the export declarations: ```ts export default class TestComponent {} ``` Previously, the output generated by LS looked like this: ```ts import { default } from "./test.component"; ``` Now the output looks like this: ```ts import TestComponent from "./test.component"; ``` Fixes #48689 PR Close #56432
…when no anchor (#56478) This contains follow-up fixes to 2a24397. This commit updates scrolling on references page to scroll to the top when there is no anchor in the URL. The behavior after the above commit would be that the position doesn't change from whatever the previous page was (potentially scrolled to the bottom). In addition, this restores the previous scroll position when traversing through browser history rather than always scrolling to the fragment. PR Close #56478
See associated pull request for more information. PR Close #56483
See associated pull request for more information. PR Close #56484
See associated pull request for more information. PR Close #56485
…55720) This commit makes the host bindings of `NgControlStatus[Group]` compatible with `OnPush` components. Note that this intentionally _does not_ expose any new APIs in the forms module. The goal is only to remove unpreventable `ExpressionChangedAfterItHasBeenCheckedError` in the forms code that developers do not have control over. PR Close #55720
Move windows-chromium-path help from aio to adev PR Close #56496
Remove usage of aio example macro in adev PR Close #56496
Finish removal of aio directory as it is no longer used or relied upon. PR Close #56496
…line (#56299) These changes integrate let declarations into the template pipeline. This involves a few operations: * Producing a `declareLet` instruction call at creation time to initialize the declaration. * Producing a `storeLet` instruction call in the place of the let declaration, including the necessary `advance` calls beforehand. * For let declarations used within their declaration view, moving the `const` to be placed right after the `storeLet` call to ensure the their value has been computed. * For let declarations that are _only_ used in their declaration view, removing the `storeLet` call and inlining the expression into the constant statement. PR Close #56299
There's currently a missing space in the zoneless warning, showing words together. PR Close #56491
…#56524) Before this commit, the migration was removing the `AfterRenderPhase` enum from the imports but not the comma, resulting in invalid code: ts ``` import { , Directive, afterRender } from '@angular/core'; ``` This commit fixes this by using `updateNamedImports` and `replaceNode` instead of `removeNode`. After: ts ``` import { Directive, afterRender } from '@angular/core'; ``` PR Close #56524
This commit fixes a typo in the `AfterRenderPhase` deprecation warning and improves the documentation of the options parameter of the afterRender hooks (which are now all named `options` instead of being called `opts` in some functions and `options` in others). PR Close #56522
…#56509) This commit adds extra checks to handle a situation when an application has no events configured, but the Event Replay feature was enabled. This situation can happen when some routes in an application are mostly static, when other routes are more interactive. Resolves #56423. PR Close #56509
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 #56509
With the removal of AIO, several dependencies are now unused and can be removed. PR Close #56499
…s complete (#56494) This commit delays makes two changes: * Use the `read` phase for `afterNextRender` hook. We really want to wait for any write hooks to complete before starting the animation * In addition, wait a macrotask before resolve (really, this makes the above change unnecessary but it's still conceptually the right thing). This ensures any follow-up rendering in the microtask queue is flushed before the animation starts. Important note: This only affects the timing of the animation start, delaying it longer to allow additional rendering/change detections to flush. This promise already resolves in an `afterNextRender` hook and is only used directly by the browser's view transition machinery. PR Close #56494
Ordered correctly some words PR Close #56534
…56192) When collecting nodes from the DOM for hydration, we need to treat nodes with paths (e.g. content projection) as the new root for all subsequent elements, not just the next one. Additionally, when using content projection it's possible for translated content to become disconnected, e.g. when it doesn't match a selector and there isn't a default. We need to handle such cases by manipulating the disconnected node data associated with hydration as usual. PR Close #56192
The files are needed/generated to run aio on the 17.3. PR Close #56538
GulajavaMinistudio
merged commit Jun 25, 2024
749cb6c
into
angular-indonesia:main
4 of 11 checks passed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Checklist
Please check if your PR fulfills the following requirements:
PR Type
What kind of change does this PR introduce?
What is the current behavior?
Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
Other information