Commit Graph

6546 Commits

Author SHA1 Message Date
Paul Gschwendtner 316c91b1a4 fix(core): deprecate moduleId @Component property (#49496)
The `moduleId` directive field does not have any effect as of Ivy. In
View Engine it was used for resolving template and styles relative
to the component source location- but ultimately this is not needed
as the Angular compiler knows the source file location at build time,
and at runtime never even consulted `moduleId`. An XHR is always issue
using the extact specified URL.

For Angular CLI users, relative URLs in JIT are still possible because
the CLI has a TS transform that will replace the references with actual
Webpack imports.

`moduleId` does not seem worth keeping in the future, as it's not used
currently, and even if we would consider supporting relative JIT resource
URLs through it, it would be deeply coupled to CommonJS `module.id`.

DEPRECATED: The `@Directive`/`@Component` `moduleId` property is now
deprecated. It did not have any effect for multiple major versions and
will be removed in v17.

PR Close #49496
2023-03-24 10:27:10 -07:00
Matthieu Riegler 03d1d00ad9 feat(compiler-cli): Add an extended diagnostic for nSkipHydration (#49512)
This diagnostic ensures that the special attribute `ngSkipHydration` is not a binding and has no other value than `"true"` or an empty value.

Fixes #49501

PR Close #49512
2023-03-23 13:54:03 -07:00
Sid d43367b0a2 docs: add missing word (#49565)
I have added a word to make the sentence more meaningful.
PR Close #49565
2023-03-23 11:44:04 -07:00
Kristiyan Kostadinov 585e34bf6c feat(core): remove entryComponents (#49484)
`entryComponents` have been deprecated since version 9, because with Ivy they weren't necessary. These changes remove any remaining references.

BREAKING CHANGE:
* `entryComponents` has been deleted from the `@NgModule` and `@Component` public APIs. Any usages can be removed since they weren't doing anyting.
* `ANALYZE_FOR_ENTRY_COMPONENTS` injection token has been deleted. Any references can be removed.

PR Close #49484
2023-03-23 10:38:03 -07:00
Alan Agius 83f6872ae0 ci: disable system js tests (#49559)
These are currently broken due to the APF v16 changes which dropped support for ES2015.

PR Close #49559
2023-03-23 08:18:45 -07:00
Alan Agius 6e26af52fa feat(bazel): (APF) Angular Package Format updates (#49559)
Several updates to Angular Package Format.

BREAKING CHANGE:

Several changes to the Angular Package Format (APF)
- Removal of FESM2015
- Replacing ES2020 with ES2022
- Replacing FESM2020 with FESM2022

PR Close #49559
2023-03-23 08:18:45 -07:00
Andrew Scott 07cbaa3e28 Revert "feat(bazel): (APF) Angular Package Format updates (#49332)" (#49555)
This reverts commit 842d569a94.

PR Close #49555
2023-03-22 16:01:20 -07:00
Andrew Scott e5ca9a0b00 Revert "ci: disable system js tests (#49332)" (#49554)
This reverts commit 9c3f8d52d8.

PR Close #49554
2023-03-22 14:34:25 -07:00
Alan Agius 9c3f8d52d8 ci: disable system js tests (#49332)
These are currently broken due to the APF v16 changes which dropped support for ES2015.

PR Close #49332
2023-03-22 14:00:20 -07:00
Alan Agius 842d569a94 feat(bazel): (APF) Angular Package Format updates (#49332)
Several updates to Angular Package Format.

BREAKING CHANGE:

Several changes to the Angular Package Format (APF)
- Removal of FESM2015
- Replacing ES2020 with ES2022
- Replacing FESM2020 with FESM2022

PR Close #49332
2023-03-22 14:00:19 -07:00
Angular Robot 60d71484fd build: update eslint dependencies to v5.56.0 (#49507)
See associated pull request for more information.

PR Close #49507
2023-03-22 16:23:56 +01:00
Peter Götz ab0b3622a5 docs: remove ticks in code sample to generate components (#49525)
These ticks appear in the actual documentation and when copied verbatim while following the tutorial, running this command in the terminal simply does nothing.
PR Close #49525
2023-03-22 16:02:47 +01:00
Angular Robot 62871537d5 docs: update Angular CLI help [main] (#49523)
Updated Angular CLI help contents.

PR Close #49523
2023-03-21 20:34:13 +01:00
Angular Robot 1acf3ec84b build: update cross-repo angular dependencies (#49514)
See associated pull request for more information.

PR Close #49514
2023-03-21 15:18:13 +01:00
Thomas Pischke 6ad4b914cc docs: remove pipe in exponential backoff (#49494)
PR Close #49494
2023-03-21 07:58:05 +01:00
Thomas Pischke 191f3bf172 docs: update deprecated exponential backoff example (#49494)
PR Close #49494
2023-03-21 07:58:05 +01:00
Aditya Srinivasan 4b4e8619b7 docs: fix link ngFor documentation link (#49479)
Fix the `ngFor` API link under the "Structural directive shorthand" section
PR Close #49479
2023-03-21 07:56:38 +01:00
avmaxim d5946bdc97 docs(docs-infra): improve docs for @angular/localize package. (#49393)
This PR adds missing documentation for `@angular/localize` package and fixes a tiny one-word typo in the `README.md` file for `@angular/localize schematic`.

Fixes #49219.

PR Close #49393
2023-03-20 13:12:19 +01:00
Virginia Dooley 686499aa95 docs: Send data to server - insert updated links. (#49447)
PR Close #49447
2023-03-20 08:49:20 +01:00
Matthieu Riegler b4e1bfb9b0 docs: remove bazel builder section (#49423)
PR Close #49423
2023-03-20 08:48:42 +01:00
Kristiyan Kostadinov 20f718782c build: update to TypeScript 5 final (#49458)
Updates the Framework and AIO to the final version of TypeScript 5.

PR Close #49458
2023-03-17 14:50:05 +01:00
Virginia Dooley ab3f8a3a7a docs: Optimize server interaction - insert updated link. (#49438)
PR Close #49438
2023-03-17 08:36:57 +01:00
Virginia Dooley 66fe827635 docs: Track and show request progress - insert updated link. (#49439)
PR Close #49439
2023-03-17 08:35:44 +01:00
Virginia Dooley 82102c1852 docs: Intercept requests - insert updated link. (#49446)
PR Close #49446
2023-03-17 08:34:15 +01:00
Virginia Dooley 250f60227f docs: Understanding communicating with http - insert updated links. (#49429)
PR Close #49429
2023-03-15 17:18:53 -07:00
Alan Agius cf98777153 test: update tests to remove deprecated withServerTransition (#49422)
This commit removes the usages of `withServerTransition` form tests.

PR Close #49422
2023-03-15 17:08:18 -07:00
Alan Agius 630af63fae feat(platform-browser): deprecate withServerTransition call (#49422)
This commit deprecated ` BrowserModule.withServerTransition` instead `APP_ID` should be used instead to configure the app id.

DEPRECATED: `BrowserModule.withServerTransition` has been deprecated. `APP_ID` should be used instead to set the application ID.
NB: Unless, you render multiple Angular applications on the same page, setting an application ID is not necessary.

Before:
```ts
imports: [
  BrowserModule.withServerTransition({ appId: 'serverApp' }),
  ...
]
```

After:
```ts
imports: [
  BrowserModule,
  { provide: APP_ID, useValue: 'serverApp' },
  ...
],
```

PR Close #49422
2023-03-15 17:08:17 -07:00
Angular Robot 64067a1df6 build: update eslint dependencies to v5.55.0 (#49421)
See associated pull request for more information.

PR Close #49421
2023-03-15 17:03:49 -07:00
Andrew Scott ed110a05f0 docs: remove deprecation notes for removed APIs (#49239)
This commit removes the deprecation notes from the deprecations guide for APIs that have been removed.

PR Close #49239
2023-03-14 10:58:13 -07:00
Alex Rickabaugh 0814f20594 feat(core): introduce runInInjectionContext and deprecate prior version (#49396)
With the introduction of `EnvironmentInjector`, we added an operation to run
a function with access to `inject` tokens from that injector. This operation
only worked for `EnvironmentInjector`s and not for element/node injectors.

This commit deprecates `EnvironmentInjector.runInContext` in favor of a
standalone API `runInInjectionContext`, which supports any type of injector.

DEPRECATED: `EnvironmentInjector.runInContext` is now deprecated, with
`runInInjectionContext` functioning as a direct replacement:

```typescript
// Previous method version (deprecated):
envInjector.runInContext(fn);
// New standalone function:
runInInjectionContext(envInjector, fn);
```

PR Close #49396
2023-03-14 09:25:57 -07:00
Angular Robot c10962b713 build: update cross-repo angular dependencies (#49388)
See associated pull request for more information.

PR Close #49388
2023-03-13 09:24:13 +00:00
Alan Agius a50ff60bff build: update cross-repo angular dependencies (#49376)
See associated pull request for more information.

(cherry picked from commit ba630a3c65)

PR Close #49376
2023-03-09 11:32:03 -08:00
Virginia Dooley 0b71b0a9de docs: New doc: Understanding communicating with backend services using HTTP (#49294)
PR Close #49294
2023-03-09 09:21:13 -08:00
Virginia Dooley 7bde9db4d4 docs: New doc extract from original HTTP doc to be retired. (#48914)
PR Close #48914
2023-03-09 09:19:04 -08:00
Virginia Dooley 0a3ac9d6ea docs: delete outdated link. (#48909)
PR Close #48909
2023-03-09 09:17:01 -08:00
Virginia Dooley 4f86e7ae90 docs: delete or revise outdated links. (#48909)
PR Close #48909
2023-03-09 09:17:01 -08:00
Virginia Dooley ee060c5377 docs: New doc extract from original HTTP doc to be retired. (#48909)
PR Close #48909
2023-03-09 09:17:01 -08:00
Matthieu Riegler a9904c2d2e docs: Remove RenderComponentType from the depreciation list. (#49363)
`RenderComponentType` was removed by #33019

PR Close #49363
2023-03-08 15:39:02 -08:00
Angular Robot 0e070dc223 docs: update events (#49366)
Generated `events.json` with the latest events retrieved from the Firebase DB.

Closes #49355

PR Close #49366
2023-03-08 21:54:24 +00:00
Angular Robot 3f210d8720 build: update eslint dependencies to v5.54.1 (#49348)
See associated pull request for more information.

PR Close #49348
2023-03-08 13:08:34 -08:00
Angular Robot 8e76107b94 build: update cross-repo angular dependencies (#49367)
See associated pull request for more information.

PR Close #49367
2023-03-08 18:00:27 +00:00
Angular Robot 984d0f49b5 build: update cross-repo angular dependencies (#49188)
See associated pull request for more information.

PR Close #49188
2023-03-08 01:54:00 +00:00
Matthieu Riegler 436050fcaa docs(docs-infra): Split Error by categories & sort by code. (#49343)
* 2 categories : Runtime errors and Compiler Errors.
* Numeric sort on error code.

PR Close #49343
2023-03-07 19:18:01 +00:00
Sai Kartheek Bommisetty 7749b19e90 docs: update toh-pt5.md (#49307)
PR Close #49307
2023-03-07 19:17:24 +00:00
Vinit Neogi 50a1f80a4d docs(docs-infra): missing "is" in glossary (#49356)
documentation glossary for view hierarchy is missing a "is" to be grammatically correct

Fixes #49352

PR Close #49356
2023-03-07 19:16:41 +00:00
Matthieu Riegler 8551631a5a docs(forms): change error code in filename to match enum value. (#49344)
Error code for bad AsyncValidatorFn is 1101 not 1003.

PR Close #49344
2023-03-07 17:38:01 +00:00
Paul Gschwendtner 47dda6e1da test: fix router testing example breaking due to non-existent stub (#49293)
We recently migrated the testing example to use the router testing
harness. There was one instance of the previous non-`TestBed` examples
left that still relies on a stub that has already been removed.

This example is not used anywhere and we should rather encourage
a single pattern of testing. i.e. the harness as per recent changes.

This commit removes the broken file.

PR Close #49293
2023-03-03 19:41:35 +00:00
Paul Gschwendtner c7588683d1 build: always preserve symlinks when executing e2e test commands (#49293)
Currently, examples with test commands like `ng build` are *never*
using the local version of `//packages/compiler-cli`. This is because
the CLI is invoked accidentally from within `external/aio_example_deps`.

Since the CLI relies on importing the compiler-cli, it will always
resolve the dependency from that directory- causing it to be always
the version installed via `aio/examples/tools/shared/package.json`.

We should never resolve symlinks and escape the e2e sandbox. That way
the compiler-cli would be resolved properly and could also become the
locally built one, depending on the test mode (i.e. npm or "local").

PR Close #49293
2023-03-03 19:41:35 +00:00
Paul Gschwendtner adb337c179 build: ensure chromium is not using sandbox within Bazel sandbox for AIO example e2e tests (#49293)
Chromium is launched via Karma from within the Bazel AIO example e2e
tests. This breaks depending on the platform and sandbox mechanism used.

We should never use Chromium's sandbox on top of Bazel's sandbox
invocation. The Angular CLI exposes a browser exactly for this use-case.

PR Close #49293
2023-03-03 19:41:35 +00:00
Paul Gschwendtner da1504fec4 build: fix AIO local e2e examples picking up incorrect dependencies (#49293)
Whenever we run example tests using the local framework packages, the
e2e tests will have the local framework packages symlinked in the
`node_modules`.

This works well in general, but due to NodeJS by default resolving
symlinks to the target location, NodeJS will end up looking for
transitive dependencies in the `bazel-bin` instead of in the example
`node_modules` folder. This means that we end up incorrectly resolving
older versions of `@angular/core` that end up existing in the main
project dependencies. This causes errors like:

```
Error: ../../home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular/bazel-out/k8-fastbuild/bin/packages/common/npm_package/http/testing/index.d.ts:12:21 - error TS2307: Cannot find module '@angular/common/http' or its corresponding type declarations.

12 import * as i1 from '@angular/common/http';
                       ~~~~~~~~~~~~~~~~~~~~~~

Error: ../../home/circleci/.cache/bazel/_bazel_circleci/9ce5c2144ecf75d11717c0aa41e45a8d/execroot/angular/bazel-out/k8-fastbuild/bin/packages/common/npm_package/index.d.ts:1630:18 - error TS2707: Generic type 'ɵɵDirectiveDeclaration' requires between 6 and 8 type arguments.

1630     static ɵdir: i0.ɵɵDirectiveDeclaration<NgClass, "[ngClass]", never, { "klass": "class"; "ngClass": "ngClass"; }, {}, never, never, true, never>;
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

We can fix this by properly ensuring that NodeJS does not resolve
symlinks, but rather preserves them.

In the error above, the e2e tests end up accidentally resolving
`@angular/core` v14 that comes from `@angular/benchpress`. Angular
Benchpress is installed via `@angular/build-tooling` in the project
root.

PR Close #49293
2023-03-03 19:41:35 +00:00