forked from angular/angular
-
Notifications
You must be signed in to change notification settings - Fork 1
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
xv #1
Open
usernamealreadyis
wants to merge
10,000
commits into
DzmitryShylovich:master
Choose a base branch
from
angular:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
xv #1
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
mhevery
force-pushed
the
master
branch
2 times, most recently
from
January 26, 2018 05:47
f8504f4
to
23596b3
Compare
It is totally fine, and expected to use Git Bash for running Bazel on Windows. In fact this is the most common setup for Bazel on Windows and it's unrealistic to run without it. This allows us to remove the old/legacy Powershell setup from CI which is also quite flaky sometimes and does not reproduce how Bazel is used on windows-users dev machines. PR Close #45431
Recent changes in `rules_nodejs` caused the test case copy file actions to be transitioned into the `exec` configuration, resulting in much larger file paths. These paths break on Windows with the shell argument limit, and with the path limit, causing errors like: ``` ERROR: C:/users/circleci/ng/packages/compiler-cli/test/compliance/test_cases/BUILD.bazel:9:12: Copying file packages/compiler-cli/test/compliance/test_cases/r3_compiler_compliance/components_and_directives/value_composition/structural_directives_if_directive_def.js failed: (Exit 1): cmd.exe failed: error executing command cd /d C:/users/circleci/_bazel_circleci/u4uoan2j/execroot/angular SET PATH=C:\Program Files\Git\usr\bin;C:\Program Files\Git\bin;C:\Windows;C:\Windows\System32;C:\Windows\System32\WindowsPowerShell\v1.0 SET RUNFILES_MANIFEST_ONLY=1 cmd.exe /C bazel-out\x64_windows-opt-exec-2B5CBBC6\bin\packages\compiler-cli\test\compliance\test_cases\test_cases--1973427149-cmd.bat The system cannot find the path specified ``` https://app.circleci.com/pipelines/github/angular/angular/44038/workflows/4b530cb2-f232-4e1d-b35a-e6e085151d08/jobs/1140017 PR Close #45431
Dedupes the Yarn run steps, avoiding the need to manually keep this step in sync (e.g. with the timeout -- which is currently missing for the windows job) PR Close #45431
Improves stability of the Windows Bazel CI job by installing Bazelisk globally. Also makes the environment helpers more convenient by evaluating the variable assignments directly, simplifying some Bash logic. PR Close #45431
…#45431) Shortens the partial compilation test case target names as the paths/ manifest paths in Bazel became too large, exceeding some Windows path length limits. Relevant context/resources: * https://angular-team.slack.com/archives/C02PARQNMC1/p1648137933069659 (internal) * https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd * https://github.com/bazelbuild/rules_nodejs/pull/3215/files#r782271592 PR Close #45431
…mitation (#45444) For quite some time now, since we started to use Bazel for integration tests, we relied on some size tracking logic that did not actually fully work under Bazel. It was thought that all the necessary CI push/PR information is available to the Bazel test, but that was not the case. This was now fixed with the recent Rules NodeJS v5 update where I made sure the `env.sh` variables are actually available before we write them to the temporary file for the Bazel-access. This now will unveil an issue because payload size goldens would start being based on their branch name. e.g. the golden key in `13.3.x` should not be `master` but `13.3.x`. This makes more sense than `master` as key, but makes things more cumbersome and ideally we would not store the branch name at all (this is a larger change though -- not worth now since we might refactor this anyway). For now we will update the size tracking logic to always use `master` as golden key (like it worked in the past year(s)) With the environment fix we now (again) start uploading payload size results to Firebase. This did not work by accident either. The uploading logic is reliant on the CircleCI commit range which is not working/reliable in upstream branches. This commit removes this reliance on `COMMIT_RANGE` since it's not strictly necessary and currently breaking renovate PRs. We can re-enable this when we have a solution with CircleCI, or a workaround/resolution logic provided in e.g. `ng-dev ci determine-commit-range`. PR Close #45444
…hable (#45400) The `patchCallbacks` is used for patching the `document.registerElement` and `customElements.define`. We explicitly wrap the patching code into try-catch since callbacks may be already patched by other web components frameworks (e.g. LWC), and they make those properties non-writable. This means that patching callback will throw an error `cannot assign to read-only property`. See this code as an example: https://github.com/salesforce/lwc/blob/master/packages/@lwc/engine-core/src/framework/base-bridge-element.ts#L180-L186 We don't want to stop the application rendering if we couldn't patch some callback, e.g. `attributeChangedCallback`. PR Close #42546 PR Close #45400
Uploading payload size is unreliable from within Bazel. This is because tests might not run for every commit, tests might have been cached from a pull request RBE-build (causing payload uploading to be skipped most of the time as every change comes from a PR) We should disable the uploading as this is a fundamental problem (good thing to note now) that we can solve with better payload size tracking that we want to establish as part of dev-infra. PR Close #45446
The `relativeLinkResolution` option was added as an option to opt-in to corrected behavior when generating links relative to a route that has an empty path parent. This was needed to avoid a breaking change. Since then, we have switched the default to be the corrected behavior. It's time to close the turn the lights off on this option so we no longer have to maintain and document buggy behavior. PR Close #45308
Close #44913 The following case is not handled correctly by `zone.js`. ``` const delayedPromise = new Promise((resolve) => { setTimeout(resolve, 1, 'timeout'); }); new Promise((resolve) => { resolve(delayedPromise); resolve('second call'); }).then(console.log); ``` It should output `timeout`, since the promise is resolved by the 1st resolve, the `second call` should be ignored. So this is a bug that the original implementation not ensure the `resolve` is only called once. PR Close #45283
…5210) JSONP does not support headers being set on requests. This enables JSONP to throw an error when headers are supplied in the request to prevent attempts to set them. BREAKING CHANGE: JSONP will throw an error when headers are set on a reques JSONP does not support headers being set on requests. Before when a request was sent to a JSONP backend that had headers set the headers were ignored. The JSONP backend will now throw an error if it receives a request that has any headers set. Any uses of JSONP on requests with headers set will need to remove the headers to avoid the error. Closes #9141 PR Close #45210
…2608) Ensure that keyframes rules, defined within components with emulated view encapsulation, are scoped to avoid collisions with keyframes in other components. This is achieved by renaming these keyframes to add a prefix that makes them unique across the application. In order to enable the handling of keyframes names defined as strings the previous strategy of replacing quoted css content with `%QUOTED%` (introduced in commit 7f689a2) has been removed and in its place now only specific characters inside quotes are being replaced with placeholder text (those are `;`, `:` and `,`, more can be added in the future if the need arises). Closes #33885 BREAKING CHANGE: Keyframes names are now prefixed with the component's "scope name". For example, the following keyframes rule in a component definition, whose "scope name" is host-my-cmp: @Keyframes foo { ... } will become: @Keyframes host-my-cmp_foo { ... } Any TypeScript/JavaScript code which relied on the names of keyframes rules will no longer match. The recommended solutions in this case are to either: - change the component's view encapsulation to the `None` or `ShadowDom` - define keyframes rules in global stylesheets (e.g styles.css) - define keyframes rules programmatically in code. PR Close #42608
Updates tsec and drops the corresponding postinstall patch that we added when we updated to Bazel v5. See: google/tsec#25 PR Close #45767
…45735) Using `setTimeout` in the Router navigation pipeline creates fragile and unpredictable behavior. Additionally, it creates a new macrotask, which would trigger an unnecessary change detection in the application. This `setTimeout` was added in 15e3978. Both tests added in that commit still pass. Additionally, the comment for _why_ the `setTimeout` was added doesn't really explain how the described bug would occur. There has been a lot of work in the Router since then to stabalize edge case scenarios so it's possible it existed before but doesn't anymore. Removing this `setTimeout` revealed tests that relied on the navigation not completing. For example, the test suite did not have a route which matched the redirect, but the test passed because it ended before the redirect was flushed, so the `Router` never threw an error. Similar situations exist for the other use of `setTimeout` in the Route (the one in the location change listener). There were no other failures in TGP other than incorrectly written tests. BREAKING CHANGE: When a guard returns a `UrlTree`, the router would previously schedule the redirect navigation within a `setTimeout`. This timeout is now removed, which can result in test failures due to incorrectly written tests. Tests which perform navigations should ensure that all timeouts are flushed before making assertions. Tests should ensure they are capable of handling all redirects from the original navigation. PR Close #45735
…rap (#45766) This commit changes the injectors hiearchy created during applicationBootstrap. From now on a standalone injector (holding all the ambient providers of a standalone component) is create as a child of the application injector. This change alligns injectors hierarchy for bootstrapped and dynamically created standalone components. PR Close #45766
replace the generic `*` selector used in the alert styling with `p` (which is what gets generated from the markdown) as the styling adds margins which are not always wanted PR Close #45761
Add more tests verifying the following conditions: - discovery of DI providers from exported NgModules - forwardRef in standalone component imports PR Close #45709
This commit moves the ModuleWithProviders type from `metadata` to `di`, avoiding the need for `di` to reference `metadata` (in this particular case). PR Close #45722
…idersFrom` (#45722) There were two problems with the `importProvidersFrom` function related to `ModuleWithProviders` values: * The public type did not accept `ModuleWithProviders` values directly. * The implementation of `walkProviderTree` delegates collection of MWP providers to its caller, in order for the ordering of such providers to be correct. However, `importProvidersFrom` was not performing that collection, causing MWP providers passed in at the top level to be dropped. PR Close #45722
currently the aio home page presents a single h1 which is ignored by assistive technologies since it has its display set none, so replace it with a new h1 containing the main text of the page instead PR Close #45740
convert the `div` groups in the aio home page to proper `section`s with a valid heading/title PR Close #45740
in the aio home page the sections' decorative images provide an alt texts, which shouldn't actually be present (see: https://www.w3.org/WAI/tutorials/images/decorative/), empty such alt text for a better user experience PR Close #45740
* inlined loading animation svg instead of using absolute url * removing unused assets folder from the build PR Close #45762
) This commit adds support for `@Component.schemas` in both JIT and AOT. PR Close #45752
…2608) Ensure that keyframes rules, defined within components with emulated view encapsulation, are scoped to avoid collisions with keyframes in other components. This is achieved by renaming these keyframes to add a prefix that makes them unique across the application. In order to enable the handling of keyframes names defined as strings the previous strategy of replacing quoted css content with `%QUOTED%` (introduced in commit 7f689a2) has been removed and in its place now only specific characters inside quotes are being replaced with placeholder text (those are `;`, `:` and `,`, more can be added in the future if the need arises). Closes #33885 BREAKING CHANGE: Keyframes names are now prefixed with the component's "scope name". For example, the following keyframes rule in a component definition, whose "scope name" is host-my-cmp: @Keyframes foo { ... } will become: @Keyframes host-my-cmp_foo { ... } Any TypeScript/JavaScript code which relied on the names of keyframes rules will no longer match. The recommended solutions in this case are to either: - change the component's view encapsulation to the `None` or `ShadowDom` - define keyframes rules in global stylesheets (e.g styles.css) - define keyframes rules programmatically in code. PR Close #42608
…inification (#45783) In order to survive closure minification correctly, static properties need to be annotated with @nocollapse. For more history, see #28050 PR Close #45783
This commits adds verifications assuring that items imported into standalone components are one of: - standalone component / directive / pipe; - NgModule; - forwardRef resolving to one of the above. It explicitly disallows modules with providers. PR Close #45777
) Updating [angular#master](https://github.com/angular/angular/tree/master) from [cli-builds#master](https://github.com/angular/cli-builds/tree/master). ## Relevant changes in [commit range](angular/cli-builds@5bd17a2...f258be5): **Modified** - help/generate.json PR Close #45795
This test verifies that nested arrays are supported in the standalone's component import field. PR Close #45794
Updates dev-infra to the latest snapshot, supporting for the new migrate to main helper command. PR Close #45800
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.
Please check if the PR fulfills these requirements
What kind of change does this PR introduce? (check one with "x")
What is the current behavior? (You can also link to an open issue here)
What is the new behavior?
Does this PR introduce a breaking change? (check one with "x")
If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information: