Commit Graph

27506 Commits

Author SHA1 Message Date
Virginia Dooley 18c7fac63b docs: new doc extract from original HTTP doc to be retired. (#48911)
PR Close #48911
2023-02-17 11:04:21 -08:00
Virginia Dooley e58f814c20 docs: new doc extract from original HTTP doc which is to be retired. (#48905)
PR Close #48905
2023-02-17 11:03:48 -08:00
Virginia Dooley 4adc790a81 docs: New document extracted from the original Communicating with backend services using HTTP document, which is to be retired. (#47965)
PR Close #47965
2023-02-17 11:03:05 -08:00
Andrew Scott 1f055b90b6 fix(router): Ensure anchor scrolling happens on ignored same URL navigations (#48025)
The Router scroller only listens for NavigationEnd events. However, the
default behavior of the Router is to ignore navigations to the same URL.
This breaks the anchor scrolling when clicking on an anchor whose
fragment is already in the URL.

fixes #29099

BREAKING CHANGE: The `Scroll` event's `routerEvent` property may also be
a `NavigationSkipped` event. Previously, it was only a `NavigationEnd`
event.

PR Close #48025
2023-02-17 11:00:27 -08:00
Alan Agius 48aa96ea13 refactor: remove Angular Compatibility Compiler (ngcc) (#49101)
This commit removes the NGCC code and all the related infra setup required to support it.

BREAKING CHANGE: Angular Compatibility Compiler (ngcc) has been removed and as a result Angular View Engine libraries will no longer work

PR Close #49101
2023-02-16 16:01:17 -08:00
Andrew Kushnir 9105c41f44 fix(platform-server): avoid duplicate TransferState info after renderApplication call (#49094)
This commit updates the `renderApplication` function to avoid duplicate serialization of the data from the `TransferState` class. The `renderApplication` function imports providers from the `ServerModule`, which already include the `TransferState` serialization providers, but the same providers were also included inside the `renderApplication` as well, which led to the duplication.

PR Close #49094
2023-02-16 16:00:29 -08:00
Matthieu Riegler 07db67b4d7 refactor: restore tree shaking for a warning message (#49064)
`getInheritedInjectableDef` logs a depreciation warning that can be tree shaked in prod. Let's do it.

PR Close #49064
2023-02-16 15:55:44 -08:00
Matthieu Riegler dcd82ba719 docs: fixing typo in angular compiler options (#49085)
The strictness flags that this "option" instead of "open".

Fixes #49078

PR Close #49085
2023-02-16 15:54:14 -08:00
Andrew Scott bf7de25e8a refactor(router): Remove warning for an invalid ActivatedRoute (#49117)
This warning was put in place to surface an error when developers use an ActivatedRoute
with an invalid structure in tests. However, there isn't a clear path to fixing it and
the tests continue to pass (ideally - that's what the recovery code is there for).
Rather than surfacing an error that developers would be confused by and likely ignore,
it would be better to not warn at all unless there is a clearer action to take to
resolve the issue.

resolves #49116

PR Close #49117
2023-02-16 15:53:29 -08:00
John Manners 320f36f217 docs: fix typo in toh-pt5.md (#49108)
Line 254 - change 'liberate' to 'liberates'.
PR Close #49108
2023-02-16 15:52:33 -08:00
John Manners d2a7245ea7 docs: improve sentence in toh-pt5.md (#49109)
Line 302 - improve clarity.
PR Close #49109
2023-02-16 15:51:27 -08:00
Ikko Eltociear Ashimine 918e6f09b9 docs: fix typo in router-tutorial-toh.md (#49095)
non-existant -> non-existent
PR Close #49095
2023-02-16 15:50:55 -08:00
Ilyass 6b8636fff8 docs(core): typo adding missing comma (#49088)
PR Close #49088
2023-02-16 15:49:09 -08:00
Kristiyan Kostadinov 06605cc760 docs: add guide for standalone migration (#49044)
Adds a guide describing how to use the standalone migration schematic. The new guide is grouped together with the existing standalone guide.

PR Close #49044
2023-02-16 15:33:18 -08:00
mgechev 0c7b9aab34 docs: close the developer survey (#49092)
PR Close #49092
2023-02-16 15:32:45 -08:00
Paul Gschwendtner 2a4d9879db build: avoid unnecessary re-evaluation of starlark code (#49106)
The experimental allow tags propagation flag is a `BuildLanguage` option
and causes all Starlark code to be re-invoked. This causes a slow-down
when switching between bazel query/ bazel build because the option is not set for `bazel query`.

We fix it by applying the option to all commands, using `common`.

PR Close #49106
2023-02-16 15:31:55 -08:00
Alan Agius 02d5e8d79d fix(platform-browser): remove styles from DOM of destroyed components (#48298)
Currently style of components using `encapsulation`, `None` or `Emulated` will not be removed from the DOM once the component get destroyed.

This change addresses this by keeping track of the number of times a component is rendered, when the component is destroyed the counter is decreased and once this reaches zero the style element is removed from the DOM.

Currently, this new behaviour is on opt-in bases, but it will be changed in the next major version.

To opt-in, set the `REMOVE_STYLES_ON_COMPONENT_DESTROY` DI token to `true`.

Example
```ts
@NgModule({
 declarations: [
   AppComponent,
 ],
 imports: [
   BrowserModule
 ],
 providers: [
   { provide: REMOVE_STYLES_ON_COMPONENT_DESTROY, useValue: true }
 ],
 bootstrap: [AppComponent]
})
export class AppModule { }
```

Closes #16670

PR Close #48298
2023-02-16 15:31:24 -08:00
Kristiyan Kostadinov f3f139942c refactor(compiler): remove remaining usage of getMutableClone (#49070)
Uses an alternate approach of preserving default imports that doesn't involve the `getMutableClone` function that is being removed in TypeScript 5.0.

The alternate approach was already used in the downlevel transform and it works by patching the EmitResolver of the current transformation context to tell TypeScript to preserve the import.

PR Close #49070
2023-02-16 15:30:52 -08:00
Joey Perrott 3a6aebf349 fix(bazel): stop publishing @angular/bazel package to npm (#49093)
We are no longer publishing the @angular/bazel package in prepeartion for its removal from the angular/angular repo.
The piece that we still rely on for our own infrastructure will be moved to angular/dev-infra.

PR Close #49093
2023-02-16 11:04:00 -08:00
Joey Perrott 6977403a9b release: bump version to 16.0.0-next.0 (#49084)
PR Close #49084
2023-02-16 10:51:33 -08:00
Pawel Kozlowski be21eaa618 docs: release notes for the v15.2.0-rc.0 release 2023-02-15 18:48:45 +01:00
Pawel Kozlowski c3609eca9d release: bump the next branch to v15.3.0-next.0 2023-02-15 18:48:45 +01:00
Pawel Kozlowski 44f13e2f2b docs: release notes for the v15.1.5 release 2023-02-15 18:38:17 +01:00
AleksanderBodurri 2ca49726ca refactor(devtools): consolidate devtools global styles into 1 file (#49001)
Previously the DevTools demo app and browser app had duplicated styles in their respective styles.scss files.

This commit creates a global styles.scss that is imported with sass @use into the demo and browser app styles.scss files. This will prevent any issues where css changes to one are missed in the other. Also reduces duplication of material css theme definitions by consolidating it inone place. The respective styles.scss files for the demo app and browser app continue to exist incase those need environment specific css. For example the browser app requires that height: 100% is set on a document in order to render properly in a browsers devtools tab.

PR Close #49001
2023-02-14 20:25:23 +01:00
Joey Perrott 73211543b3 docs: remove former team members from bios (#48999)
PR Close #48999
2023-02-14 18:46:20 +01:00
Joey Perrott 6529ade6ba ci: clean up pull approve file from former team members (#48999)
Cleanup pullapprove file

PR Close #48999
2023-02-14 18:46:20 +01:00
Angular Robot 1f1a312e2e build: update dependency json5 to v2.2.2 [security] (#48989)
See associated pull request for more information.

PR Close #48989
2023-02-14 18:04:01 +01:00
Angular Robot a4fdc8f408 build: update eslint dependencies to v5.52.0 (#49056)
See associated pull request for more information.

PR Close #49056
2023-02-14 16:28:01 +01:00
Alvaro Junqueira 7e4c5543aa docs: fix the broke URL to w3c Trusted Types spec (#49047)
PR Close #49047
2023-02-14 16:25:54 +01:00
Angular Robot f874d6e226 build: update dependency google-closure-compiler to v20230206 (#49028)
See associated pull request for more information.

PR Close #49028
2023-02-14 16:24:22 +01:00
Angular Robot b98b2b3a88 build: update cross-repo angular dependencies (#49058)
See associated pull request for more information.

PR Close #49058
2023-02-14 16:18:46 +01:00
Angular Robot 62453bfe7a build: update github/codeql-action action to v2.2.4 (#49055)
See associated pull request for more information.

PR Close #49055
2023-02-14 15:02:33 +01:00
Matthieu Riegler 1c5ae63811 refactor(docs-infra): Drop deprecated rxjs multicasting operators (#48969)
RxJS has deprecated the `publishReplay` & `publishLast` operators which will be removed in RxJS 8. `connectable()` should be used instead.

PR Close #48969
2023-02-14 14:48:29 +01:00
Angular Robot 31a2e21d09 build: update cross-repo angular dependencies (#48929)
See associated pull request for more information.

PR Close #48929
2023-02-14 14:46:07 +01:00
Angular Robot 64f3684f8a build: update io_bazel_rules_sass digest to b603e6f (#49053)
See associated pull request for more information.

PR Close #49053
2023-02-14 14:40:22 +01:00
Paul Gschwendtner 3ec2e2da0c build: never cache monitoring bazel test target (#49039)
We recently switched some of the monitoring e2e tests to Bazel. These
tests should never be cached because they rely on an external URL and
on network access. The URL itself might stay the same for quite a while,
but the underlying site might change based on new deployments. Bazel
only sees the URL and caches the test then. We want to avoid this.

PR Close #49039
2023-02-13 20:04:47 +01:00
Kristiyan Kostadinov ebae506d89 fix(migrations): use import remapper in root component (#49046)
Fixes that in #49022 the component import remapping function was being passed into the standalone migration.

PR Close #49046
2023-02-13 16:08:18 +01:00
Angular Robot 0b725a89db build: update dependency eslint-plugin-jsdoc to v40 (#49037)
See associated pull request for more information.

PR Close #49037
2023-02-13 16:07:26 +01:00
Kristiyan Kostadinov 816e76a578 fix(migrations): automatically prune root module after bootstrap step (#49030)
Currently as a part of the bootstrapping API migration we comment out the metadata of the root module and instruct users to re-run the module pruning step which can be cumbersome. These changes run the module pruning automatically.

Note that initially I tried to reuse the module pruning logic and to run it against the existing program, but it was problematic, because it was common to have conflicting changes for the same AST nodes.

PR Close #49030
2023-02-13 09:52:07 +01:00
Paul Gschwendtner b97d591ff4 build: improve debugging of symbol extractor tests (#49000)
Always print the path to the JS input file so that its easy to jump to
it.

PR Close #49000
2023-02-13 09:12:50 +01:00
Paul Gschwendtner 3c91d7eb2d test: update symbol extractor test goldens to reflect terser updates (#49000)
The terser update included various changes, including changes to the
inline optimizations. Constants like for the bloom filter are no longer
inlined multiple times, but instead the constant is preserved and used
with a shortened/mangled name.

Note this also applies to other symbols like `SimpleChanges` too.

This means that such new variables now show up in the symbols goldens.

Concrete examples of inlined & no-longer inlined constants can be
seen in the PR description: https://github.com/angular/angular/pull/49000#issue-1576416106

PR Close #49000
2023-02-13 09:12:50 +01:00
Angular Robot 3b74be9bf9 build: update dependency terser to 5.16.3 [security] (#49000)
See associated pull request for more information.

PR Close #49000
2023-02-13 09:12:50 +01:00
Paul Gschwendtner 42619bd670 build: remove puppeteer, remaining usages of webdriver-manager and migrate AIO production test to Bazel (#49025)
This commit does three things that all related and required to get
rid of `webdriver-manager`:

* Our puppeteer protractor setup in AIO relies on webdriver-manager
because we install a corresponding chromedriver based on the puppeteer
chromium version. We would like to get rid of this brittle setup.

* We don't use `puppeteer` in many places because we manage chromium and
the driver through Bazel. This commit removes the remaining puppeteer
usage and replaces it with the Bazel-managed canonical browser

* We need to migrate the AIO production URL tests to Bazel. These
weren't part of Aspect's migration. This is needed so that we can drop
puppeteer and use the Bazel browser setup.

* Migrates some at-runtime TS `ts-node` test setup to proper idiomatic
Bazel code. Needed because it depends on code that also had to be
migrated to Bazel given the production e2e test Bazel migration (above
points).

Note: The xregexp dependency had to be added to the root project because
`ts_library` does not support compilation deps from `@aio_npm`. This is
something we will fix anyway when we have a more modern toolchain!

PR Close #49025
2023-02-10 19:22:18 +00:00
Paul Gschwendtner 993a43f87c test: update size goldens to reflect devkit update and terser (#48996)
The Angular devkit updated Terser. Terser landed various changes
related to variable inlining. Most constants are no longer inlined,
but instead the variables are re-used.

This led to a bundle size increase of around ~600B in AIO and most
integration tests.

Here is an example diff:
https://screenshot.googleplex.com/4M8owBYDAqU982T

PR Close #48996
2023-02-10 17:28:36 +01:00
Angular Robot cb0feed496 build: update cross-repo angular dependencies (#48996)
See associated pull request for more information.

PR Close #48996
2023-02-10 17:28:36 +01:00
Angular Robot 7af4ea62e6 build: update actions/cache digest to 6998d13 (#49020)
See associated pull request for more information.

PR Close #49020
2023-02-10 17:24:47 +01:00
Kristiyan Kostadinov 40c976c909 fix(migrations): use NgForOf instead of NgFor (#49022)
Adds a function that allows for the import resolution for files to be customized in the standalone migration. Externally it's only use is to change `NgForOf` to `NgFor`, but we'll need it internally to deduplicate some Material modules.

Fixes #49006.

PR Close #49022
2023-02-10 17:19:49 +01:00
Dylan Hunn 59685614f8 fix(forms): Make radio buttons respect [attr.disabled] (#48864)
`setDisabledState` is supposed to be called whenever the disabled state of a control changes, including upon control creation. However, a longstanding bug caused the method to not fire when an *enabled* control was attached. This bug was fixed in v15.

This had a side effect: previously, it was possible to instantiate a reactive form control with `[attr.disabled]=true`, even though the the corresponding control was enabled in the model. (Note that the similar-looking property binding version `[disabled]=true` was always rejected, though.) This resulted in a mismatch between the model and the DOM. Now, because `setDisabledState` is always called, the value in the DOM will be immediately overwritten with the "correct" enabled value.

Users should instead disable the control directly in their model. (There are many ways to do this, such as using the `{value: 'foo', disabled: true}` constructor format, or immediately calling `FooControl.disable()` in `ngOnInit`.)

If this incompatibility is too breaking, you may also opt out using `FormsModule.withConfig` or `ReactiveFormsModule.withConfig` at the time you import it, via the `callSetDisabledState` option.

However, there is an exceptional case: radio buttons. Because Reactive Forms models the entire group of radio buttons as a single `FormControl`, there is no way to control the disabled state for individual radios, so they can no longer be configured as disabled.

In this PR, we have special cased radio buttons to ignore their first call to `setDisabledState` when in `callSetDisabledState: 'always'` mode. This preserves the old behavior.

PR Close #48864
2023-02-10 11:25:11 +01:00
cexbrayat c19486702a test: typos in standalone test names (#49014)
Fixes a recurring typo in test names containing `bootstrap`

PR Close #49014
2023-02-10 10:22:21 +01:00
PaloMiklo 0331473e3a docs(platform-browser): Sanitize method has more explicit documentation (#48765)
PR Close #48765
2023-02-10 09:28:19 +01:00